/* Northern Tales — poem page (stanza-by-stanza layout with margin commentary) */

.poem-page {
    grid-column: 1 / -1;
    max-width: none;
}

.poem-hero,
.poem-section {
    max-width: calc(var(--measure) + 3.4rem);
}

.poem-section[aria-labelledby="sec-story"] {
    max-width: none;
}

.poem-hero {
    margin: 0 0 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--rule);
}
.poem-title-non {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.1rem;
    color: var(--fg-muted);
    letter-spacing: 0.04em;
    margin: 0 0 0.25rem;
}
.poem-title { margin: 0 0 0.3rem; }
.poem-title-other { color: var(--fg-muted); font-style: italic; margin: 0 0 0.6rem; }
.poem-subtitle { color: var(--fg-muted); font-size: 1.05rem; font-style: italic; margin: 0; }

.poem-section { margin-top: 2.5rem; padding-top: 1rem; }
.poem-section + .poem-section { padding-top: 0.5rem; }
.poem-section > * + * { margin-top: 1.1rem; }

/* --- Stanza grid: number | text | margin commentary --- */

.stanza {
    margin: 1.8rem 0;
    padding: 1rem 0;
    display: grid;
    grid-template-columns: 2.4rem minmax(0, var(--measure));
    gap: 0.6rem 1rem;
}
.stanza + .stanza { border-top: 1px dashed var(--rule); }

.stanza-head { grid-column: 1; grid-row: 1 / 3; }
.stanza-num {
    display: inline-block;
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: var(--bronze);
    font-variant: small-caps;
    letter-spacing: 0.06em;
    line-height: 1.4;
    padding-top: 0.2rem;
}
.stanza-crossref {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.78rem;
    color: var(--fg-muted);
    text-decoration: none;
    font-variant: small-caps;
    letter-spacing: 0.08em;
    line-height: 1.3;
}
.stanza-crossref:hover { color: var(--accent); }

.stanza-body { grid-column: 2; grid-row: 1; display: grid; gap: 0.8rem; }

.stanza-margin {
    grid-column: 2;
    grid-row: 2;
}

.stanza-non {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.05rem;
    line-height: 1.55;
    padding: 0.65rem 1rem;
    margin: 0;
    border-left: 3px solid var(--bronze);
    background: var(--bg-raised);
    display: block;
    box-shadow: var(--shadow-soft);
    border-radius: 3px;
}
.stanza-line { display: block; }

.stanza-trans {
    font-size: 0.98rem;
    line-height: 1.55;
    padding-left: 0.5rem;
    border-left: 1px solid var(--rule);
}
.stanza-source {
    color: var(--fg-muted);
    font-size: 0.82rem;
    font-style: italic;
    margin: 0.3rem 0 0 !important;
}

.stanza-commentary {
    font-size: 0.88rem;
    color: var(--fg-muted);
    line-height: 1.5;
    padding: 0.5rem 0.8rem;
    border-left: 2px solid var(--rule-strong);
}

/* --- Wide screens: commentary moves to right margin --- */

@media (min-width: 1100px) {
    .stanza {
        grid-template-columns: 2.4rem minmax(0, var(--measure)) minmax(14rem, 22rem);
        gap: 0.6rem 2rem;
    }
    .stanza-margin {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: start;
        padding-top: 0.2rem;
    }
    .stanza-commentary {
        border-left: 1px solid var(--rule-strong);
        padding: 0 0 0 0.8rem;
    }
}

/* --- Narrow screens --- */

@media (max-width: 600px) {
    .stanza {
        grid-template-columns: 1fr;
        gap: 0.4rem;
    }
    .stanza-head { grid-row: auto; }
    .stanza-body { grid-column: 1; }
    .stanza-margin { grid-column: 1; grid-row: auto; }
    .stanza-crossref { display: inline-block; margin-top: 0; }
}

/* --- Concept list --- */

.concept-list {
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    display: grid;
    gap: 0.5rem;
}
.concept-list li { padding-left: 0.8rem; border-left: 1px solid var(--rule); }
