/* Shared navigation icons; Font Awesome Free 6.7.2, see docs/licenses. */
.fc-icon { display: inline-block; flex: 0 0 auto; width: 1.4em; height: 1.4em; object-fit: contain; vertical-align: middle; }
.fc-icon--arrow { width: 1em; height: 1em; margin-left: .35em; }
.site-menu__intro { justify-content: flex-start; border: 0; padding: 0; }
.site-menu .site-header__notice { display: flex; width: 100%; gap: .75rem; align-items: center; padding: .85rem 1rem; margin: 0; background: var(--color-highlight); color: var(--color-ink); font-size: var(--text-sm); border-radius: var(--radius-sm); }
.site-menu .site-header__notice-text { white-space: normal; text-overflow: clip; }

.page-tournament { --font-display: var(--font-profile); --welcome-font-heading: var(--font-display); background: var(--color-paper); }
.page-tournament :is(h1,h2,h3) { font-family: var(--font-display); letter-spacing: 0; }
.page-tournament .hero.hero--compact h1 { font-weight: 900; letter-spacing: 0; color: var(--color-paper); }
.page-tournament h2:not(.font-profile) { font-weight: 700; }
.page-tournament .guide-eyebrow { color: var(--color-brand); }
.page-tournament .hero .guide-eyebrow { color: var(--color-highlight); }
.page-info .hero { --hero-image: image-set(url('/assets/images/praktisk-drone-1600.avif') type('image/avif'), url('/assets/images/praktisk-drone-1600.webp') type('image/webp')); }
.page-reglement .hero { --hero-image: image-set(url('/assets/images/reglement-1600.avif') type('image/avif'), url('/assets/images/reglement-1600.webp') type('image/webp')); }
.page-pris .hero { --hero-image: image-set(url('/assets/images/cupband-1600.avif') type('image/avif'), url('/assets/images/cupband-1600.webp') type('image/webp')); }
.page-frister .hero { --hero-image: image-set(url('/assets/images/frister-1600.avif') type('image/avif'), url('/assets/images/frister-1600.webp') type('image/webp')); }
.page-dato .hero { --hero-image: url('/assets/images/fredrikstad-cup-lag-1200.webp'); }
.page-pamelding .hero { --hero-image: url('/assets/images/fredrikstad-cup-stemning-poster.webp'); }
.tournament-hero-video { z-index: -2; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.registration-info-hero .welcome-video-toggle { z-index: 3; }
.page-tournament .guide-notice { position: relative; max-width: none; width: 100%; margin: 0 0 var(--space-6); 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; }
.page-tournament .guide-notice::before { content: ''; position: absolute; left: 1.4rem; top: 1.6rem; width: 1.5rem; height: 1.5rem; background: url('/assets/icons/fontawesome/circle-exclamation.svg') center / contain no-repeat; }
.page-info .guide-notice { background: none; border-left: 3px solid var(--color-highlight); padding: .25rem 0 .25rem 1.25rem; border-radius: 0; }
.page-info .guide-notice::before { content: none; }
.page-frister .guide { max-width: 68rem; }
.page-frister .guide-schedule > h2 { margin-bottom: var(--space-3); font-size: clamp(1.9rem, 3vw, 2.6rem); }
.page-frister .guide-schedule > h2 + p { color: var(--color-ink-soft); }
.page-frister .guide-deadlines { display: grid; gap: var(--space-3); margin-top: var(--space-7); }
.page-frister .guide-deadline { grid-template-columns: minmax(10rem, .32fr) minmax(0, 1fr); gap: 0; padding: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: white; }
.page-frister .guide-deadline--next { border: 2px solid var(--color-teal); }
.page-frister .guide-deadline-date { display: flex; flex-direction: column; justify-content: center; padding: var(--space-5); background: #e3f3ef; color: var(--color-ink); }
.page-frister .guide-deadline:nth-child(4n + 2) .guide-deadline-date { background: #e5f2f5; }
.page-frister .guide-deadline:nth-child(4n + 3) .guide-deadline-date { background: #fff2bd; }
.page-frister .guide-deadline:nth-child(4n + 4) .guide-deadline-date { background: #fde5e9; }
.page-frister .guide-deadline-date time { display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 0 .65rem; }
.page-frister .guide-deadline-day { grid-row: 1 / 3; font: 900 clamp(3rem, 6vw, 4.75rem)/.8 var(--font-profile); letter-spacing: -.04em; }
.page-frister .guide-deadline-month { align-self: end; font-size: 1rem; font-weight: 800; line-height: 1.1; text-transform: uppercase; }
.page-frister .guide-deadline-year { align-self: start; color: var(--color-ink-soft); font-size: var(--text-sm); font-weight: 600; line-height: 1.2; }
.page-frister .guide-deadline-content { padding: var(--space-5); }
.page-frister .guide-deadline-content h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); }
.page-frister .guide-section { padding-block: var(--space-7); border-bottom: 1px solid var(--color-border); }
.page-frister .guide-schedule,
.page-frister .guide-main > .guide-section:last-child { border-bottom: 0; }
.page-tournament.page-frister .guide-next { padding: clamp(1.5rem, 4vw, 3rem); border: 0; border-radius: var(--radius-sm); background: var(--color-ink); color: white; }
.page-tournament.page-frister .guide-next h2 { color: white; }
.page-tournament.page-frister .guide-next .button { border-color: var(--color-highlight); background: var(--color-highlight); color: var(--color-ink); }
/* Information pages keep a continuous, quiet reading column. */
.page-tournament .content-page { max-width: var(--content-reading); }
.page-tournament .content-page > section { padding: 0; background: none; border: 0; }
.page-tournament .content-page > section + section { margin-top: 2.5rem; }
.page-tournament .content-page h2 { font-size: clamp(1.65rem, 2.6vw, 2.1rem); }
.page-tournament :is(.guide-next,.pricing-before-ordering) { background: none; color: var(--color-ink); border-top: 1px solid var(--color-border); padding-inline: 0; }
.page-tournament :is(.guide-next,.pricing-before-ordering) h2 { color: var(--color-ink); }
.page-tournament .guide-next .guide-eyebrow { color: var(--color-brand); }
.regulations .page-choices a { display: flex; align-items: center; gap: 1rem; min-height: 5.5rem; padding: 1.25rem 1.5rem; border: 0; border-bottom: 4px solid var(--color-border); background: none; color: var(--color-ink); font-size: var(--text-lg); }
.regulations .page-choices a:hover, .regulations .page-choices a[aria-current] { border-color: var(--color-brand); background: none; color: var(--color-brand); }
.page-tournament :is(.guide-question,.pricing-faq details) { border: 0; border-bottom: 1px solid var(--color-border); background: transparent; }
.page-tournament :is(.guide-question,.pricing-faq details) summary { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; min-height: 4.5rem; padding: 1rem 0; list-style: none; font-weight: 700; }
.page-tournament summary::-webkit-details-marker { display: none; }
.page-tournament :is(.guide-question,.pricing-faq details) summary::before { content: none; }
.page-tournament :is(.guide-question,.pricing-faq details) summary::after { content: ''; flex: 0 0 1rem; width: 1rem; height: 1rem; margin-left: auto; background: url('/assets/icons/fontawesome/chevron-down.svg') center / contain no-repeat; }
.page-tournament :is(.guide-question,.pricing-faq details)[open] summary::after { transform: rotate(180deg); }
.regulations .guide-question[open] { border-bottom-color: var(--color-brand); }
.page-tournament .pricing-faq { max-width: none; }
.page-tournament .pricing-faq details p { max-width: 70ch; }
.page-pris .price-card__feature::before { content: ''; background: url('/assets/icons/fontawesome/check.svg') center / 1rem no-repeat; }
.page-pris .price-card__feature--excluded::before { background-image: url('/assets/icons/fontawesome/xmark.svg'); }
.page-pris .price-card--super .price-card__header { background: var(--color-coral); color: var(--color-ink); }
.page-pris .price-card--basic .price-card__header { background: var(--color-cyan); color: var(--color-ink); }
.page-pris .price-card__header h2,
.page-pris .price-card__header p:last-child { color: var(--color-ink); }
.page-pris .price-card__label { background: var(--color-ink); color: white; }
.page-tournament.page-pris .pricing-before-ordering { padding: clamp(1.5rem, 4vw, 3rem); border: 0; border-radius: var(--radius-sm); background: var(--color-highlight); color: var(--color-ink); }
.page-tournament.page-pris .pricing-before-ordering .button { border-color: var(--color-ink); background: var(--color-ink); color: white; }
.page-tournament.page-pris .pricing-before-ordering .button:hover { border-color: var(--color-brand); background: var(--color-brand); }
.registration-info { padding-block: var(--space-7) var(--space-8); }
.registration-info .pricing-faq h2 { font-size: clamp(1.75rem,3vw,2.25rem); line-height: 1.1; font-weight: 900; }
.registration-info .pricing-faq summary { font-weight: 800; }
.registration-info .pricing-faq details p { font-weight: 600; }
.registration-info .welcome-final { position: relative; overflow: hidden; isolation: isolate; }
.registration-info .welcome-final::before { content: ''; position: absolute; z-index: -1; width: 13rem; height: 13rem; border: 2.5rem solid var(--color-accent); border-radius: 50%; left: -9rem; top: 3rem; transform: rotate(-15deg); }
.registration-info .welcome-final::after { content: ''; position: absolute; z-index: -1; right: -4rem; bottom: -4rem; width: 10rem; height: 10rem; border: 1.5rem solid var(--color-teal); border-radius: 50%; }
.registration-inline-reminder { max-width: 38rem; margin: 2rem auto 0; text-align: left; }
.registration-inline-reminder .form-privacy { color: var(--color-ink); }
#pameldingsvarsel { scroll-margin-top: 7rem; }
@media (max-width: 48rem) {
    .page-frister .guide-deadline { grid-template-columns: minmax(0, 1fr); }
    .page-frister .guide-deadline-date { border-bottom: 1px solid var(--color-border); }
    .registration-info .welcome-final::before { width: 8rem; height: 8rem; border-width: 1.25rem; left: -5rem; top: -5rem; }
    .registration-info .welcome-final::after { width: 8rem; height: 8rem; border-width: 1.25rem; right: -5rem; bottom: -5rem; }
    .page-info .hero { --hero-image: url('/assets/images/praktisk-drone-720.webp'); }
    .page-reglement .hero { --hero-image: url('/assets/images/reglement-720.webp'); }
    .page-pris .hero { --hero-image: url('/assets/images/cupband-720.webp'); }
    .page-frister .hero { --hero-image: url('/assets/images/frister-720.webp'); }
}
