/* Native disclosure works with touch, keyboard and without JavaScript. */
.festival-menu{position:relative;color:inherit;font-size:14px;font-weight:650}
.festival-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}
.festival-menu summary::-webkit-details-marker{display:none}
.festival-menu summary::after{content:'▾'}
.festival-menu[open] summary::after{content:'▴'}
.festival-submenu{position:absolute;top:100%;left:0;z-index:100;min-width:190px;padding:8px;background:#0f2a4a;color:white;border:1px solid #71849a;border-radius:8px;box-shadow:0 6px 18px #0003}
.festival-submenu a{display:flex!important;align-items:center;min-height:44px;padding:8px 12px;color:white!important;white-space:nowrap}
.festival-menu summary:focus-visible,.festival-submenu a:focus-visible{outline:2px solid #f9b8ba;outline-offset:2px}
footer .festival-submenu,.love-footer .festival-submenu{top:auto;bottom:100%}
@media(max-width:850px){
 .festival-menu{flex-basis:100%;text-align:center}
 .festival-menu summary{justify-content:center}
 .festival-submenu,footer .festival-submenu,.love-footer .festival-submenu{position:static;box-shadow:none;min-width:0;margin:4px 0}
 .festival-submenu a{justify-content:center}
}

/* Compact header: CSS-only "Menu" toggle on phones/tablets (works on pages without JS). */
.nav-toggle{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.nav-toggle-label{display:none}
header nav a[aria-current=page],.love-header nav a[aria-current=page],.festival-menu summary[data-current]{text-decoration:underline;text-decoration-color:#f4767b;text-decoration-thickness:3px;text-underline-offset:8px}
header nav a:hover,.love-header nav a:hover{color:#f9b8ba!important}
@media(max-width:1000px){
 header,.love-header{flex-direction:row!important;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0!important;padding:10px 18px!important}
 header .brand img,.love-brand img{width:112px!important;height:38px!important}
 .nav-toggle-label{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1.5px solid #ffffff59;border-radius:99px;color:#fff;font-weight:750;font-size:15px;cursor:pointer;user-select:none;font-family:inherit}
 .nav-toggle-icon,.nav-toggle-icon::before,.nav-toggle-icon::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .2s}
 .nav-toggle-icon::before,.nav-toggle-icon::after{content:'';position:absolute;left:0}
 .nav-toggle-icon::before{top:-6px}.nav-toggle-icon::after{top:6px}
 .nav-toggle:checked+.nav-toggle-label .nav-toggle-icon{background:transparent}
 .nav-toggle:checked+.nav-toggle-label .nav-toggle-icon::before{transform:translateY(6px) rotate(45deg)}
 .nav-toggle:checked+.nav-toggle-label .nav-toggle-icon::after{transform:translateY(-6px) rotate(-45deg)}
 .nav-toggle:focus-visible+.nav-toggle-label{outline:3px solid #f9b8ba;outline-offset:2px}
 header>nav,.love-header>nav{display:none!important;flex-basis:100%;flex-direction:column;align-items:stretch!important;gap:0!important;padding:8px 0 6px;margin-top:10px;border-top:1px solid #ffffff2e}
 .nav-toggle:checked~nav{display:flex!important}
 header>nav>a,.love-header>nav>a{display:flex!important;align-items:center;min-height:48px;padding:0 6px!important;font-size:17px!important;border-bottom:1px solid #ffffff1a}
 header>nav .festival-menu,.love-header>nav .festival-menu{flex-basis:auto;text-align:left;border-bottom:1px solid #ffffff1a;font-size:17px}
 header>nav .festival-menu summary,.love-header>nav .festival-menu summary{justify-content:space-between;min-height:48px;padding:0 6px}
 header>nav .festival-submenu,.love-header>nav .festival-submenu{background:#ffffff12;border:0;border-radius:10px;padding:4px}
 header>nav .festival-submenu a,.love-header>nav .festival-submenu a{justify-content:flex-start}
 header nav a[aria-current=page],.love-header>nav a[aria-current=page]{text-decoration:none;box-shadow:inset 4px 0 0 #f4767b;padding-left:14px!important}
}
@media(min-width:1001px){header,.love-header{padding-top:10px!important;padding-bottom:10px!important}header .brand img,.love-brand img{width:auto!important;height:72px!important}}
