/* Shared information layout: Bosted, Mat and Sikkerhet. */
.editorial-guide h1,
.editorial-guide .cup-story h2 {
    font-family: var(--font-profile);
    font-size: clamp(2.25rem, 1.5rem + 3vw, 4.5rem);
    line-height: 1.04;
    margin: 0 0 1rem;
    text-wrap: balance;
}
.editorial-guide .guide-eyebrow { color: var(--color-brand); }
.editorial-guide .cup-photo img { height: auto; object-fit: contain; }
.editorial-guide .cup-story {
    align-items: start;
    gap: clamp(2rem, 4vw, 4rem);
    padding-block: clamp(2.5rem, 4vw, 3.5rem) clamp(2.5rem, 4vw, 3.5rem);
}
.editorial-guide .cup-story .guide-eyebrow {
    margin: 0 0 var(--space-4);
    font-size: var(--text-xs);
    line-height: 1.5;
}
.editorial-guide .cup-story :is(h1, h2) {
    max-width: 16ch;
    font-weight: 800;
    letter-spacing: -0.01em;
}
.editorial-guide .cup-story p:not(.guide-eyebrow) {
    max-width: 44ch;
    margin-block: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.65;
}
.editorial-guide .guide-sidebar .guide-eyebrow { color: var(--color-ink); }
.editorial-guide .guide-main > .guide-section:last-of-type { border-bottom: 0; }
.editorial-guide .guide-list li { margin-block: .25rem; }
.hero.hero--bus {
    --hero-image: url('/assets/images/fredrikstad-cup-buss-1200.webp');
    --hero-position: center 42%;
}
.hero.hero--food {
    --hero-image: url('/assets/images/fredrikstad-cup-mat-1200.webp');
    --hero-position: center 42%;
}
.hero.hero--housing {
    --hero-image: url('/assets/images/bosted-hero.jpg');
    --hero-position: center 55%;
}
.editorial-guide .cup-story--housing { padding-top: 0; }
.editorial-guide .cup-story--housing h2 { font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.08; }
.editorial-guide .cup-story--housing p:not(.guide-eyebrow) { margin-bottom: var(--space-3); }
.editorial-guide .cup-story--housing .button { border-color: var(--color-brand-strong); background: var(--color-brand-strong); color: var(--color-paper); }
.editorial-guide .cup-story--housing .button:hover { border-color: var(--color-accent-strong); background: var(--color-accent-strong); }
.editorial-guide .cup-story--housing .cup-photo { overflow: visible; padding: 0; background: transparent; color: var(--color-ink); transform: none; }
.editorial-guide .cup-story--housing .cup-photo img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 1.8rem .3rem 1.8rem .3rem; }
.page-theme--practical .hero.hero--first-aid {
    --hero-image: image-set(url('/assets/images/sport-sanitet-1600.avif') type('image/avif'), url('/assets/images/sport-sanitet-1600.webp') type('image/webp'));
    --hero-position: center;
}
.editorial-guide .guide-note--important {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0 0 var(--space-7);
    padding: 1.4rem 1.5rem 1.4rem 4.25rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: var(--color-highlight);
    color: var(--color-ink);
    font-size: 1rem;
    line-height: 1.65;
}
.hero--housing + .editorial-guide .cup-story--housing + .guide-note--important { margin-top: var(--space-6); margin-bottom: var(--space-8); }
.editorial-guide .guide-note--important::before {
    position: absolute;
    top: 1.6rem;
    left: 1.4rem;
    width: 1.5rem;
    height: 1.5rem;
    background: url('/assets/icons/fontawesome/circle-exclamation.svg') center / contain no-repeat;
    content: '';
}
.editorial-guide .guide-section .guide-note--important {
    margin-top: 1.5rem;
    margin-bottom: 0;
}
.editorial-guide .guide-next {
    background: var(--color-brand);
    color: var(--color-paper);
    border: 0;
    padding: clamp(1.5rem, 4vw, 3rem);
}
.editorial-guide .guide-next .guide-eyebrow,
.editorial-guide .guide-next h2,
.editorial-guide .guide-next p { color: var(--color-paper); }
@media (max-width: 47.99rem) {
    .hero.hero--bus { --hero-image: url('/assets/images/fredrikstad-cup-buss-720.webp'); }
    .hero.hero--food { --hero-image: url('/assets/images/fredrikstad-cup-mat-720.webp'); }
    .page-theme--practical .hero.hero--first-aid { --hero-image: url('/assets/images/sport-sanitet-720.webp'); }
    .editorial-guide .cup-story { gap: 1.75rem; padding-block: 2rem; }
    .editorial-guide .cup-story p:not(.section-heading__kicker):not(.guide-eyebrow) {
        margin-block: 1rem;
        font-size: 1rem;
        line-height: 1.6;
    }
    .editorial-guide .cup-story { padding-block: 2.5rem; }
    .editorial-guide .cup-photo { transform: rotate(1deg); }
    .editorial-guide .cup-story--housing .cup-photo { margin-inline: 0; transform: none; }
}

@media (min-width: 64rem) {
    .editorial-guide .guide-main > .guide-section:first-of-type { padding-top: 0; }
    .editorial-guide .guide-sidebar .guide-eyebrow {
        display: flex;
        align-items: center;
        min-height: calc(var(--text-xl) * 1.2);
    }
}

.editorial-guide .cup-story--text { grid-template-columns: minmax(0, 1fr); }
.editorial-guide .cup-story--text p:not(.guide-eyebrow) { max-width: 60ch; }

/* Verified regulation text keeps its renderer and legacy anchors. */
.editorial-rules .cup-story h1 { max-width: 24ch; }
.editorial-rules .regulation-contents { margin: 0; }
.editorial-rules .guide-sidebar .guide-eyebrow { margin-top: 0; }
.editorial-rules .regulation-contents ul { margin: 0; }
.editorial-rules .regulation-contents li { margin: 0; }
.editorial-rules .regulation-section { margin-bottom: 0; }
.editorial-rules .regulation-body li + li { margin-top: .25rem; }
.editorial-rules .regulation-body .uthevet { font-weight: 700; }
.editorial-rules .cup-story h1 + #regulation-source-intro { padding-top: .75rem; }
.editorial-rules #regulation-source-intro > p:first-child { font-weight: 700; }
.editorial-rules .regulation-updated {
    display: inline-block;
    margin: 1.5rem 0 0;
    padding: .75rem 1rem;
    border-radius: var(--radius-sm);
    background: var(--color-highlight);
    color: var(--color-ink);
    font-size: var(--text-sm);
    font-weight: 800;
}
@media (min-width: 64rem) {
    .editorial-rules .guide-sidebar { max-height: calc(100dvh - 9rem); overflow-y: auto; }
}
