/* Limes Transalutanus: stilurile comune paginilor numerelor și articolelor.
   Urmează aspectul paginii principale (index.php): aceleași culori, fonturi și același grid. */

:root {
    --stone: #E2E3DC;
    --stone-deep: #D2D4CB;
    --crimson: #A50E16;
    --crimson-deep: #7C0A10;
    --ink: #1F2E2C;
    --ink-soft: #4C5A57;

    --display: 'Marcellus', 'Trajan Pro', Georgia, serif;
    --text: 'Alegreya Sans', 'Segoe UI', sans-serif;

    --gutter: clamp(1rem, 4vw, 3.5rem);
    --page: 76rem;
    /* Coloana lată pentru imagine, titluri și textul articolului; coloana îngustă pentru restul */
    --cols: minmax(0, 7fr) minmax(0, 5fr);
    --col-gap: clamp(2.5rem, 6vw, 5rem);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
    background: var(--stone);
    color: var(--ink);
    font-family: var(--text);
    font-size: 1.125rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
ul, ol { list-style: none; }

:focus-visible {
    outline: 3px solid var(--crimson);
    outline-offset: 4px;
}

.visually-hidden {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

h1, h2, h3, h4 { font-family: var(--display); font-weight: 400; }

h2 {
    font-size: clamp(2rem, 3.6vw, 2.75rem);
    line-height: 1.1;
}

.wrap {
    width: 100%;
    max-width: var(--page);
    margin: 0 auto;
}

.split {
    display: grid;
    grid-template-columns: var(--cols);
    column-gap: var(--col-gap);
}

/* Linia limesului: un val gros și o palisadă subțire */
.limes-rule {
    height: 8px;
    border-top: 3px solid currentColor;
    border-bottom: 1px solid currentColor;
}

.section { padding: clamp(4.5rem, 9vw, 7rem) var(--gutter); }
.section-deep { background: var(--stone-deep); }

.prose p { color: var(--ink-soft); }
.prose p + p { margin-top: 1rem; }

/* ---------- Butoane ---------- */

.button {
    display: inline-block;
    padding: .75rem 1.5rem;
    font-family: var(--text);
    font-weight: 700;
    font-size: 1.05rem;
    text-decoration: none;
    border: 2px solid currentColor;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}

.button-light { background: #fff; color: var(--crimson); border-color: #fff; }
.button-light:hover { background: transparent; color: #fff; }
.button-ghost { background: transparent; color: #fff; }
.button-ghost:hover { background: #fff; color: var(--crimson); }
.button-outline { color: var(--crimson); }
.button-outline:hover { background: var(--crimson); color: #fff; }

/* ---------- Antetul: coperta (sau imaginea articolului) sub roșul revistei ---------- */

.page-head {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 1.75rem var(--gutter) clamp(4rem, 8vw, 6rem);
    background: var(--crimson-deep);
    color: #fff;
}

.page-head-cover {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: var(--cover) center 30% / cover no-repeat;
}

/* Pe paginile numerelor arătăm partea de jos a copertei, ca titlul ei să nu stea în spatele celui al paginii */
.issue-head .page-head-cover { background-position: center 85%; }

.page-head-veil {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(0deg, rgba(124, 10, 16, .55), transparent 35%),
        rgba(165, 14, 22, .86);
}

.page-head :focus-visible { outline-color: #fff; }

.site-nav {
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
}

.site-nav img {
    width: 40px;
    height: 40px;
    border: 2px solid #fff;
}

.site-nav a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    font-size: 1rem;
    border-bottom: 1px solid transparent;
}

.site-nav a:hover { border-bottom-color: #fff; }
.site-nav .home-link { margin-right: auto; border: 0; }

/* ---------- Pagina numărului: revista în relief, ca pe pagina principală ---------- */

.issue-stage {
    margin-top: clamp(3rem, 6vw, 4.5rem);
    align-items: center;
}

.hero-book-wrap {
    position: relative;
    display: flex;
    justify-content: flex-end;
    padding: 1rem 0;
}

/* Numărul imens, gravat în spatele revistei */
.hero-numeral {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-56%);
    font-family: var(--display);
    font-size: clamp(14rem, 30vw, 28rem);
    line-height: 1;
    letter-spacing: -.02em;
    color: transparent;
    -webkit-text-stroke: 2px rgba(255, 255, 255, .4);
    pointer-events: none;
    user-select: none;
}

.hero-book {
    position: relative;
    display: block;
    width: min(62%, 330px);
    transform: perspective(1600px) rotateY(-22deg) rotateX(5deg);
    transform-origin: 30% 50%;
    transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}

.hero-book:hover,
.hero-book:focus-visible { transform: perspective(1600px) rotateY(-6deg) rotateX(2deg); }

/* Muchiile paginilor și umbra revistei */
/* Toate copertele în același format de revistă (A4), chiar dacă unele imagini sunt aproape pătrate (15, 19) */
.hero-book img {
    width: 100%;
    aspect-ratio: 1 / 1.414;
    object-fit: cover;
    box-shadow:
        1px 0 0 #F4F3EE, 2px 1px 0 #CFCFC6, 3px 1px 0 #F4F3EE, 4px 2px 0 #CFCFC6,
        5px 2px 0 #F4F3EE, 6px 3px 0 #C3C4BA, 7px 3px 0 #F4F3EE, 8px 4px 0 #B9BAB0,
        40px 50px 70px -20px rgba(0, 0, 0, .65);
}

/* Cotorul: o lumină și o umbră subțire pe marginea din stânga */
.hero-book::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 18px;
    background: linear-gradient(90deg, rgba(0, 0, 0, .35), rgba(255, 255, 255, .28) 30%, rgba(0, 0, 0, .18) 60%, transparent);
}

/* Paralaxă la derulare, pe paginile numerelor și ale articolelor: imaginea din fundal rămâne în urmă,
   numărul gravat un pic mai puțin, iar revista urcă ușor mai repede. Pe articole, titlul coboară ușor
   în urma paginii. --scroll vine din scriptul din paginaSfarsit() (includes/layout.php).
   Folosim „translate”, separat de „transform”, ca să nu stricăm rotirea revistei și tranziția ei. */
.issue-head .page-head-cover,
.article-head .page-head-cover { translate: 0 calc(var(--scroll, 0) * .7px); will-change: translate; }
.article-head .wrap:not(.site-nav) { translate: 0 calc(var(--scroll, 0) * .25px); }
.issue-head .hero-numeral { translate: 0 calc(var(--scroll, 0) * .45px); }
.issue-head .hero-book { translate: 0 calc(var(--scroll, 0) * -.2px); }

.issue-intro h1 {
    font-size: clamp(2.6rem, 5vw, 4rem);
    line-height: 1;
}

.issue-meta {
    margin-top: .75rem;
    font-size: 1.15rem;
    color: rgba(255, 255, 255, .88);
}

.issue-credit {
    margin-top: .25rem;
    font-size: 1rem;
    font-style: italic;
    color: rgba(255, 255, 255, .72);
}

/* Căutarea: o singură bară rotunjită, cu lupa în stânga și butonul în interior */
.search {
    position: relative;
    display: flex;
    align-items: center;
    gap: .5rem;
    max-width: 34rem;
    margin-top: 2rem;
    padding: .35rem .35rem .35rem 3rem;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 999px;
    transition: background-color .2s, border-color .2s;
}

.search:hover { border-color: rgba(255, 255, 255, .7); }

.search:focus-within {
    background: rgba(255, 255, 255, .2);
    border-color: #fff;
}

.search-icon {
    position: absolute;
    left: 1.15rem;
    top: 50%;
    width: 1.15rem;
    height: 1.15rem;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, .85);
    pointer-events: none;
}

.search input {
    flex: 1;
    min-width: 0;
    padding: .55rem 0;
    font: inherit;
    font-size: 1.1rem;
    color: #fff;
    background: transparent;
    border: 0;
}

.search input::placeholder { color: rgba(255, 255, 255, .72); }
.search input:focus { outline: none; }
.search input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    width: .9rem;
    height: .9rem;
    margin-right: .5rem;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' stroke='white' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M1 1l8 8M9 1l-8 8'/%3E%3C/svg%3E") center / contain no-repeat;
    opacity: .75;
    cursor: pointer;
}

.search input::-webkit-search-cancel-button:hover { opacity: 1; }

.search button {
    flex: 0 0 auto;
    padding: .6rem 1.35rem;
    font: inherit;
    font-weight: 700;
    font-size: 1rem;
    color: var(--crimson);
    background: #fff;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}

.search button:hover { background: var(--stone); color: var(--crimson-deep); }
.search button:focus-visible { outline-color: #fff; outline-offset: 3px; }

.issue-start { margin-top: 2.25rem; }

/* ---------- Revista: cuprinsul fix în stânga, capitolele în dreapta ---------- */

.issue-body {
    display: grid;
    grid-template-columns: 15rem minmax(0, 1fr);
    column-gap: clamp(2.5rem, 5vw, 4.5rem);
    align-items: start;
    max-width: calc(var(--page) + 2 * var(--gutter));
    padding: clamp(4rem, 8vw, 6rem) var(--gutter);
}

.rail {
    position: sticky;
    top: 0;
    max-height: 100vh;
    overflow-y: auto;
    margin-top: -2rem;
    padding: 2rem 0;
}

.rail-title {
    padding-bottom: 1rem;
    font-family: var(--display);
    font-size: 1.5rem;
    line-height: 1;
    border-bottom: 8px double var(--crimson);
}

.rail ol { margin-top: .5rem; }

.rail a {
    display: grid;
    grid-template-columns: 1.6rem minmax(0, 1fr);
    gap: .5rem;
    margin-left: -.75rem;
    padding: .55rem 0 .55rem .75rem;
    font-size: 1.02rem;
    line-height: 1.3;
    color: var(--ink-soft);
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: color .2s, border-color .2s;
}

.rail-num {
    font-family: var(--display);
    color: var(--crimson);
}

.rail a:hover { color: var(--ink); }

.rail a[aria-current] {
    font-weight: 700;
    color: var(--ink);
    border-left-color: var(--crimson);
}

.rail-more {
    margin-top: .75rem;
    padding-top: .75rem;
    border-top: 1px solid var(--stone-deep);
}

/* Fiecare epocă se deschide ca un capitol de revistă: numărul mare, gravat, și numele epocii */
.chapter { scroll-margin-top: 1.5rem; }
.chapter + .chapter { margin-top: clamp(5rem, 9vw, 7.5rem); }

.chapter-head {
    display: flex;
    align-items: flex-end;
    gap: 1.25rem;
    padding-bottom: 1.25rem;
    border-bottom: 8px double var(--crimson);
}

.chapter-num {
    flex: 0 0 auto;
    font-family: var(--display);
    font-size: clamp(5rem, 9vw, 7.5rem);
    line-height: .78;
    color: transparent;
    -webkit-text-stroke: 2px var(--crimson);
}

.chapter-head h2 {
    font-size: clamp(2.2rem, 4.4vw, 3.6rem);
    line-height: 1.05;
}

/* Articolul de deschidere al capitolului: imagine mare, titlu mare și primele rânduri */
.feature {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
    margin-top: 2.5rem;
    text-decoration: none;
}

.feature.no-thumb { grid-template-columns: minmax(0, 1fr); }

.feature img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--stone-deep);
    outline: 3px solid transparent;
    outline-offset: 3px;
}

.feature:hover img { outline-color: var(--crimson); }

.feature-title {
    display: block;
    font-family: var(--display);
    font-size: clamp(1.6rem, 2.6vw, 2.15rem);
    line-height: 1.15;
    color: var(--ink);
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
    transition: text-decoration-color .2s;
}

.feature:hover .feature-title { text-decoration-color: var(--crimson); }

.byline {
    display: block;
    margin-top: .5rem;
    font-size: 1rem;
    font-style: italic;
    color: var(--crimson);
}

.dek {
    display: block;
    margin-top: 1.1rem;
    padding-top: 1.1rem;
    border-top: 1px solid var(--stone-deep);
    font-size: 1.08rem;
    line-height: 1.6;
    color: var(--ink-soft);
}

/* Restul capitolului: un cuprins pe două coloane */
.entries {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(1.5rem, 3vw, 2.5rem);
    margin-top: 2.5rem;
    border-top: 1px solid var(--stone-deep);
}

.entries li { border-bottom: 1px solid var(--stone-deep); }

.entries a {
    display: grid;
    grid-template-columns: clamp(7rem, 11vw, 9.5rem) minmax(0, 1fr);
    gap: 1.4rem;
    align-items: start;
    padding: 1.5rem 0;
    text-decoration: none;
}

.entries a.no-thumb { grid-template-columns: minmax(0, 1fr); }

.entries img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--stone-deep);
    outline: 3px solid transparent;
    outline-offset: 3px;
}

.entries a:hover img { outline-color: var(--crimson); }

.entry-title {
    display: block;
    margin-top: -.2em;
    font-family: var(--display);
    font-size: 1.3rem;
    line-height: 1.28;
    color: var(--ink);
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    transition: text-decoration-color .2s;
}

.entries a:hover .entry-title { text-decoration-color: var(--crimson); }
.entries .byline { margin-top: .4rem; font-size: 1rem; }

/* ---------- Eseul de deschidere: textul începe lângă titlu și continuă pe toată lățimea, sub el ---------- */

.essay { display: flow-root; }

.essay-head {
    float: left;
    width: 46%;
    margin: 0 clamp(2rem, 4vw, 3.5rem) 2rem 0;
}

.essay h2 {
    font-size: clamp(2.35rem, 3.5vw, 3rem);
    line-height: 1.15;
}

.essay-author {
    margin-top: 1rem;
    font-size: 1.1rem;
    color: var(--crimson);
}

.essay-body .lead {
    font-size: 1.3rem;
    line-height: 1.6;
}

/* ---------- Textul de citit: articolul și eseul ---------- */

.reading {
    font-size: 1.2rem;
    line-height: 1.7;
    color: var(--ink);
}

.reading p + p { margin-top: 1.1em; }

.reading h2,
.reading h3 {
    margin: 2.5rem 0 .75rem;
    font-size: 1.7rem;
    line-height: 1.2;
}

.reading h4 {
    margin: 1.75rem 0 .5rem;
    font-size: 1.3rem;
}

.reading a {
    color: var(--crimson);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.reading a:hover { text-decoration-thickness: 2px; }

.reading sup {
    font-size: .7em;
    line-height: 0;
    color: var(--crimson);
}

/* ---------- Secțiunile pe epoci și grila de articole ---------- */

.category-head {
    color: var(--crimson);
}

.category-head h2 {
    margin-top: 1.25rem;
    color: var(--ink);
}

.cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem clamp(1.5rem, 3vw, 2.5rem);
    margin-top: clamp(2rem, 4vw, 3rem);
}

.card a {
    display: block;
    text-decoration: none;
}

.card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    background: var(--stone-deep);
    outline: 3px solid transparent;
    outline-offset: 3px;
}

.card a:hover img { outline-color: var(--crimson); }

.card-title {
    display: block;
    margin-top: 1rem;
    font-family: var(--display);
    font-size: 1.25rem;
    line-height: 1.3;
    color: var(--ink);
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    transition: text-decoration-color .2s;
}

.card .no-thumb .card-title { margin-top: 0; }
.card a:hover .card-title { text-decoration-color: var(--crimson); }

.card-author {
    display: block;
    margin-top: .4rem;
    font-size: 1rem;
    color: var(--ink-soft);
}

/* ---------- Celelalte numere ---------- */

.other-issue {
    display: flex;
    gap: 1.75rem;
    align-items: center;
    text-decoration: none;
}

.other-issue img {
    width: 6.5rem;
    aspect-ratio: 1 / 1.41;
    object-fit: cover;
    box-shadow:
        1px 0 0 #F4F3EE, 2px 1px 0 #CFCFC6, 3px 1px 0 #F4F3EE, 4px 2px 0 #C3C4BA,
        18px 22px 30px -14px rgba(31, 46, 44, .55);
    outline: 3px solid transparent;
    outline-offset: 3px;
}

.other-issue:hover img { outline-color: var(--crimson); }

.other-issue .numeral-small {
    display: block;
    font-family: var(--display);
    font-size: 2.6rem;
    line-height: 1;
    color: var(--crimson);
}

.other-issue .other-label {
    display: block;
    margin-top: .4rem;
    font-size: 1.05rem;
    color: var(--ink);
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}

.other-issue:hover .other-label { text-decoration-color: var(--crimson); }

/* Titlul deasupra, numerele vecine unul lângă altul pe un rând; pe ecrane înguste trec unul sub altul */
.other-issues h2 { margin-bottom: clamp(2rem, 4vw, 3rem); }

.other-issues-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2rem clamp(2.5rem, 6vw, 5rem);
}

.other-issues-list > p { margin: 0 0 0 auto; }

@media (max-width: 560px) {
    .other-issues-list > p { margin-left: 0; }
}

/* ---------- Pagina articolului ---------- */

.article-head .wrap + .wrap { margin-top: clamp(3rem, 7vw, 5.5rem); }

.article-kicker {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, .85);
}

.article-kicker a {
    color: #fff;
    font-weight: 500;
    text-decoration-color: rgba(255, 255, 255, .5);
    text-underline-offset: 4px;
}

.article-kicker a:hover { text-decoration-color: #fff; }

.article-head h1 {
    max-width: 52rem;
    margin-top: 1rem;
    font-size: clamp(2.2rem, 4.6vw, 3.8rem);
    line-height: 1.1;
}

.article-author {
    margin-top: 1.25rem;
    font-size: 1.2rem;
    color: rgba(255, 255, 255, .9);
}

.article-layout { align-items: start; }

.article-figure img {
    width: 100%;
    max-height: 34rem;
    object-fit: cover;
    box-shadow: 0 1px 2px rgba(31, 46, 44, .25), 0 22px 40px -24px rgba(31, 46, 44, .6);
}

.article-figure + .reading { margin-top: 2.75rem; }

/* Coloana din dreapta: numărul din care face parte și alte articole; rămâne la vedere în timpul citirii */
.aside {
    position: sticky;
    top: 2rem;
}

.aside > * + * { margin-top: 3rem; }

.aside h2 {
    font-size: 1.5rem;
    line-height: 1.2;
    margin-bottom: 1.25rem;
}

.related li + li {
    margin-top: 1.1rem;
    padding-top: 1.1rem;
    border-top: 1px solid var(--stone-deep);
}

.related a {
    display: grid;
    grid-template-columns: clamp(5.5rem, 8vw, 7rem) minmax(0, 1fr);
    column-gap: 1.25rem;
    align-items: start;
    text-decoration: none;
}

.related a.no-thumb { grid-template-columns: minmax(0, 1fr); }

.related img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--stone-deep);
    outline: 3px solid transparent;
    outline-offset: 3px;
}

.related a:hover img { outline-color: var(--crimson); }

.related .era {
    display: block;
    margin-bottom: .2rem;
    font-size: .9rem;
    font-style: italic;
    color: var(--crimson);
}

.related .title {
    font-family: var(--display);
    font-size: 1.12rem;
    line-height: 1.3;
    color: var(--ink);
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    transition: text-decoration-color .2s;
}

.related a:hover .title { text-decoration-color: var(--crimson); }

/* ---------- Căutarea ---------- */

.search-head h1 {
    margin-top: clamp(2.5rem, 6vw, 4rem);
    font-size: clamp(2.2rem, 4.4vw, 3.4rem);
    line-height: 1.1;
}

.search-head .search { max-width: 40rem; margin-top: 1.75rem; }

.search-empty p + p { margin-top: 1rem; }

/* ---------- Subsol: roșu și piatră, ca pe pagina principală ---------- */

.footer-main {
    background: var(--crimson);
    color: #fff;
    padding: clamp(4rem, 8vw, 6rem) var(--gutter);
}

.footer-invite h2 { margin-bottom: 1rem; }

.footer-invite p {
    max-width: 30rem;
    color: rgba(255, 255, 255, .86);
}

.footer-mail {
    display: inline-block;
    margin-top: 1.5rem;
    font-family: var(--display);
    font-size: clamp(1.2rem, 2.3vw, 1.75rem);
    color: #fff;
    text-decoration: none;
    overflow-wrap: anywhere;
    padding-bottom: .2rem;
    border-bottom: 2px solid rgba(255, 255, 255, .5);
    transition: border-color .2s;
}

.footer-mail:hover { border-bottom-color: #fff; }

.footer-about {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, .86);
}

.footer-mark {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin-bottom: 1.25rem;
    font-family: var(--display);
    font-size: 1.35rem;
    line-height: 1.1;
    color: #fff;
}

.footer-mark img {
    width: 40px;
    height: 40px;
    border: 2px solid #fff;
}

.footer-about p + p { margin-top: .75rem; }
.footer-about .footer-note { font-size: .95rem; color: rgba(255, 255, 255, .72); }

.footer-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.5rem;
    margin-top: 1.75rem;
}

.footer-main a:not(.footer-mail) {
    color: #fff;
    text-decoration-color: rgba(255, 255, 255, .45);
    text-underline-offset: 4px;
}

.footer-main a:not(.footer-mail):hover { text-decoration-color: #fff; }
.footer-main :focus-visible { outline-color: #fff; }

.footer-base {
    background: var(--stone-deep);
    color: var(--ink-soft);
    padding: 1.25rem var(--gutter);
    font-size: .95rem;
}

.footer-base p:last-child {
    font-family: var(--display);
    color: var(--crimson);
}

/* ---------- Ecrane medii și mici ---------- */

@media (max-width: 900px) {
    .split { grid-template-columns: 1fr; row-gap: 1.5rem; }
    .issue-stage { row-gap: 3rem; }
    .hero-book-wrap { justify-content: center; }
    .hero-book { width: min(64%, 300px); transform: perspective(1600px) rotateY(-14deg) rotateX(3deg); }
    .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    /* Pe ecrane mici, cuprinsul se deschide peste ecran, din butonul „Cuprins” (css/mobile-nav.css) */
    .issue-body { display: block; }
    .rail { display: none; }
    .chapter { scroll-margin-top: 4.5rem; }
    .feature { grid-template-columns: 1fr; }
    .essay-head { float: none; width: auto; margin-right: 0; }
    .article-layout { row-gap: 4rem; }
    .aside { position: static; }
    .footer-main .split { row-gap: 2.5rem; }
    .footer-base .split { row-gap: .25rem; }
}

@media (max-width: 560px) {
    .cards { grid-template-columns: 1fr; row-gap: 2.5rem; }
    .entries { grid-template-columns: 1fr; }
    .chapter-head { gap: .9rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Legăturile din antetul căutării și din mesajul fără rezultate */
.search-head h1 a {
    text-decoration-thickness: 2px;
    text-decoration-color: rgba(255, 255, 255, .5);
    text-underline-offset: 6px;
}

.search-head h1 a:hover { text-decoration-color: #fff; }
.search-empty a { color: var(--crimson); text-underline-offset: 3px; }
.search-empty + .cards { margin-top: 2rem; }

/* ---------- Notele bibliografice: o carte după alta, fiecare cu titlul ei ---------- */

.notes-body { max-width: 46rem; margin-top: 2.5rem; }

.notes-body h3 {
    margin: 3rem 0 1rem;
    padding-top: 2.5rem;
    font-size: clamp(1.4rem, 2.2vw, 1.75rem);
    line-height: 1.25;
    border-top: 1px solid var(--stone-deep);
}

.notes-body h3:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.notes-body strong { color: var(--ink); }
.notes-body img { margin-top: 2rem; }

/* ---------- Conținutul vechilor articole: note, figuri, imagini în text ---------- */

.reading .bio {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 8px double var(--crimson);
}

.reading .bio h3 { margin-top: 0; font-size: 1.5rem; }

.reading .bio li {
    padding: .6rem 0;
    font-size: 1.02rem;
    line-height: 1.55;
    color: var(--ink-soft);
    border-bottom: 1px solid var(--stone-deep);
}

.reading ul:not(.bio ul) { margin: 1rem 0 0 1.25rem; list-style: disc; }
.reading ul:not(.bio ul) li + li { margin-top: .5rem; }

.reading img { margin-top: 1.5rem; }
.reading .article-show-img { width: 100%; }

.reading .inline-img {
    float: left;
    max-width: 45%;
    margin: .4rem 1.5rem 1rem 0;
}

.reading figure { margin: 2rem 0; }
.reading figure img { width: 100%; margin-top: 0; }

.reading figcaption,
.reading dd {
    margin-top: .5rem;
    font-size: .95rem;
    font-style: italic;
    color: var(--ink-soft);
}

.reading dt { margin-top: 1.25rem; font-weight: 700; }
.reading .focused-text,
.reading .decorated-text { color: var(--crimson); }
.reading .focused-text { font-style: italic; }
