/* Exact client CSS is derived by scripts/import-fanfest-visual-assets.py. */
@import url('/fanfest-2026/client.css?v=12566836d404e645');
.ffl { min-height:100vh; overflow-x:clip; font-size:16px; }
.ffl button { width:auto;min-height:0;display:inline-block;padding:0;gap:normal;border:0;border-radius:0;background:none;color:inherit;font:inherit;letter-spacing:normal;text-transform:none; }
.ffl button:not(.secondary):not(.link):not([disabled]):hover { background:none; }
.ffl * { min-width:0; overflow-wrap:anywhere; }
.ffl img { height:auto; }
.ffl [hidden] { display:none !important; }
.ffl .ffl-hero-inner { position:relative; z-index:2; text-align:center; }
.ffl .hero-infobar>span:last-child { color:var(--yellow);font-weight:700; }
.ffl .ffl-lang { display:flex;align-items:center;gap:8px;margin-right:20px;font-size:12px;font-weight:700; }
.ffl .ffl-lang a { padding:8px 2px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center; }
.ffl .ffl-lang [aria-current='true'] { color:var(--yellow); }
.ffl .ffl-cta { display:inline-flex;justify-content:center;align-items:center;min-height:44px;max-width:100%;padding:10px 20px;border-radius:999px;background:var(--gradient);color:#000;font:700 14px/1.55 'FanFest MGP Text',Arial,sans-serif;text-transform:uppercase;letter-spacing:.02em; }
.ffl .ffl-hero .hero-actions { gap:14px;margin-top:22px; }
.ffl .nav-cta { max-width:100%;white-space:normal;text-align:center; }
.ffl .ffl-organisers { display:flex;align-items:center;justify-content:center;gap:10px;margin-top:28px; }
.ffl .ffl-organisers span { font:600 12px/1.55 'FanFest MGP Text',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-dim); }
.ffl .ffl-organisers img { height:28px;width:auto;max-width:130px;object-fit:contain; }
.ffl .ffl-hint,.ffl .ffl-status { font-size:13px;max-width:640px;margin:10px auto 0; }
.ffl .ffl-daily { margin-top:40px; }
.ffl .ffl-daily-title { margin:0 0 1em;font:700 1.17em/1.55 'FanFest MGP Text',sans-serif;letter-spacing:normal; }
.ffl [data-tablist] { overflow-x:auto;flex-wrap:nowrap; }
.ffl [data-tab] { min-height:44px;flex-shrink:0; }
.ffl .tab,.ffl .ttab { line-height:1.55; }
.ffl [data-enhanced]>.ffl-tab-fallback,.ffl [data-enhanced]>[data-tabpanel]>.ffl-tab-fallback { display:none; }
.ffl .ffl-tab-fallback { font:600 18px/1.5 'FanFest MGP Text',sans-serif;color:#fff;margin-top:28px; }
.ffl .ffl-transport { padding:40px 0;border-bottom:1px solid transparent;border-image:var(--gradient) 1; }
.ffl .ffl-transport [data-tabpanel] { max-width:640px; }
.ffl .ffl-arrive .cl-text { max-width:640px; }
.ffl .ffl-arrive .cl-text h3 { font-family:'FanFest MGP Text';font-weight:700;text-transform:none;font-size:20px;white-space:normal; }
.ffl .ffl-venue { width:100%;max-height:480px;border-radius:16px;object-fit:cover; }
.ffl .ffl-arrive .ffl-venue { margin-top:26px; }
.ffl .ffl-map { width:100%;border-radius:16px; }
.ffl .ffl-location-pin { width:20px;height:20px;flex-shrink:0;filter:brightness(0) invert(1); }
.ffl .ttab-icon img { width:100%;height:100%;filter:brightness(0) invert(.72); }
.ffl .ttab.active .ttab-icon img { filter:brightness(0) invert(1); }
.ffl .ffl-map-media { position:relative;border-radius:16px;overflow:hidden; }
.ffl .ffl-map-mark { position:absolute;top:4%;right:4%;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center; }
.ffl .ffl-map-mark img { width:20px;height:20px; }
.ffl .ffl-map-row { border-bottom:0; }
.ffl .ffl-map-row .cl-text h3 { font-size:28px; }
.ffl .ffl-map-row .btn-outline { margin-top:20px; }
.ffl .ffl-faq>summary { list-style:none; }
.ffl .faq-q { line-height:normal; }
.ffl .ffl-faq>summary::-webkit-details-marker { display:none; }
.ffl .ffl-faq[open]>.faq-a { display:block; }
.ffl .ffl-faq[open] .plus { transform:rotate(45deg); }
.ffl .ffl-more>summary { display:table;margin-top:20px;list-style:none;cursor:pointer; }
.ffl .ffl-more>summary::-webkit-details-marker { display:none; }
.ffl .ffl-more[open]>summary { display:none; }
.ffl .ffl-official-band { background:#f1f1f1;padding:26px 24px;margin:18px calc(50% - 50vw) 0;width:100vw; }
.ffl .ffl-sponsor-logos img { height:34px;width:auto;max-width:140px;object-fit:contain; }
.ffl .ffl-sponsor-logos img[alt='DHL'] { height:20px; }
.ffl .ffl-sponsor-logos img[alt='Tissot'] { height:28px; }
.ffl .ffl-sponsor-logos img[alt='Qatar Airways'] { height:40px; }
.ffl .ffl-sponsor-logos img[alt='DAZN'] { height:44px; }
.ffl .ffl-footer-logo { height:66px;width:auto;max-width:100%;object-fit:contain; }
.ffl .ffl-newsletter-wrap { margin-top:40px;margin-bottom:40px; }
.ffl .ffl-footer-cta { display:flex;justify-content:center;margin:28px 0; }
.ffl a:focus-visible,.ffl button:focus-visible,.ffl summary:focus-visible { outline:3px solid var(--yellow);outline-offset:3px; }
.ffl .ffl-menu { display:none; }
@media(max-width:760px){.ffl .subnav-inner{flex-wrap:wrap;white-space:normal;gap:8px 20px;overflow:visible}.ffl .topbar-inner,.ffl .nav-actions{flex-wrap:wrap}.ffl .topbar,.ffl .subnav{position:relative;top:auto}}
@media(max-width:760px){.ffl .topbar .nav-actions{flex-shrink:1;max-width:100%;flex-wrap:wrap}}
@media(max-width:620px){.ffl .nav-actions{gap:6px}.ffl .topbar .ffl-cta{font-size:11.5px;padding:8px 13px}.ffl .ffl-official-band{padding:20px 16px}.ffl .ffl-sponsor-logos img{height:26px}.ffl .ffl-sponsor-logos img[alt='DHL']{height:15px}.ffl .ffl-sponsor-logos img[alt='Tissot']{height:21px}.ffl .ffl-sponsor-logos img[alt='Qatar Airways']{height:30px}.ffl .ffl-sponsor-logos img[alt='DAZN']{height:32px}.ffl .t-item{column-gap:30px;grid-template-columns:70px 1fr}.ffl .timeline-rail{left:86px}.ffl .t-item::before{left:81px}.ffl .schedule-card{padding-left:20px;padding-right:20px}.ffl .topbar-logo{max-width:34vw}.ffl .ffl-lang{margin-right:8px}}
@media(prefers-reduced-motion:reduce){.ffl *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:420px){.ffl .topbar .ffl-cta{font-size:10px;padding:7px 10px}}
