:root{--header-bg:#fff;--header-text:#202b25;--menu-accent:#20493c;--menu-line:#dce2dc}
#main-header,#menu-overlay{--menu-accent:var(--menu-light,#20493c)}
#main-header{position:fixed;inset:0 0 auto;width:100%;background:var(--header-bg);color:var(--header-text);z-index:1000;box-shadow:0 1px 4px #00000008}
.header-inner{display:flex;justify-content:space-between;align-items:center;padding:12px 32px;min-height:78px;transition:min-height .2s,padding .2s}
.logo-link{display:inline-flex;align-items:center;flex:none}.logo{display:block;width:auto;height:50px;object-fit:contain;transition:height .2s}
#main-header.shrink .header-inner{padding-block:8px;min-height:56px}#main-header.shrink .logo{height:36px;width:auto}
.menu-toggle{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0 8px 15px;background:none;border:0;color:var(--header-text);font:600 .86rem/1.5 'Montserrat',sans-serif;text-transform:uppercase;cursor:pointer}
.menu-toggle:hover,.menu-toggle.active{color:var(--menu-accent)}.hamburger{position:relative;width:24px;height:18px;display:inline-block}
.hamburger::before,.hamburger::after,.hamburger>span{content:'';position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .2s,top .2s,opacity .2s}
.hamburger::before{top:0}.hamburger>span{top:8px}.hamburger::after{top:16px}
.menu-toggle.active .hamburger>span{opacity:0}.menu-toggle.active .hamburger::before{top:8px;transform:rotate(45deg)}.menu-toggle.active .hamburger::after{top:8px;transform:rotate(-45deg)}
.header-divider{height:3px;background:var(--menu-color,var(--menu-accent));transition:background-color .5s}
#menu-overlay{position:fixed;inset:0;z-index:999;overflow-y:auto;overscroll-behavior:contain;background:var(--header-bg);color:var(--header-text);padding:108px 24px 32px;flex-direction:column;align-items:center;text-align:center;text-transform:none;letter-spacing:0}
#menu-overlay[hidden]{display:none!important}#menu-overlay.open{display:flex;animation:menu-enter .22s ease both}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.menu-season{font:500 .72rem/1.5 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--header-text);opacity:.8}
.menu-links{list-style:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 0;margin:0;width:min(620px,100%)}
.menu-links>li{width:100%}.menu-links a,.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--header-text);text-decoration:none;font:600 1.08rem/1.5 'Montserrat',sans-serif;background:none;border:0;cursor:pointer;text-transform:uppercase;padding:6px 10px;transition:color .2s}
.menu-links a:hover,.menu-links a[aria-current=page],.submenu-toggle:hover,.submenu-toggle[aria-expanded=true]{color:var(--menu-accent)}
.has-submenu{display:flex;flex-direction:column;align-items:center}.submenu-toggle{gap:10px}.submenu-toggle::after{content:'+';font-size:1.2rem;font-weight:400}.submenu-toggle[aria-expanded=true]::after{content:'−'}
.submenu{display:flex;flex-direction:column;align-items:center;gap:2px;margin:8px 0 14px;padding:12px 20px;border-block:1px solid var(--menu-line);width:100%}.submenu[hidden]{display:none!important}
.submenu a{font-size:.95rem;text-transform:uppercase;font-weight:500;line-height:1.5}
.menu-language{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;font:500 .76rem/1.5 'Montserrat',sans-serif;color:var(--header-text);margin:4px 0 0;max-width:100%}
.menu-language-label{margin-right:2px}.menu-language-current,.menu-language button{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;border-radius:7px;padding:7px 10px;font:600 .8rem/1 'Montserrat',sans-serif;letter-spacing:.03em}
.menu-language-current{border:1px solid var(--menu-accent);color:var(--menu-accent)}.menu-language button{border:1px solid var(--menu-line);background:transparent;color:var(--header-text);opacity:.5;cursor:not-allowed}
#menu-language-note{width:100%;font-size:.7rem;color:var(--header-text);opacity:.72;margin-top:0}
.menu-footer{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:25px;width:min(432px,100%)}.menu-footer a{display:inline-flex;flex:1 1 0;min-width:0;align-items:center;justify-content:center;height:112px;border-radius:8px;background:#fff;padding:8px}.menu-footer img{width:100%;height:100%;object-fit:cover;object-position:center}
#main-header a:focus-visible,#main-header button:focus-visible,#menu-overlay a:focus-visible,#menu-overlay button:focus-visible{outline:3px solid var(--site-focus,#096a84);outline-offset:4px}
@media(max-width:620px){.header-inner{padding-inline:20px;min-height:76px}#main-header.shrink .header-inner{padding-inline:20px}.logo{height:44px}.menu-links a,.submenu-toggle{font-size:1rem}.submenu a{font-size:.9rem}#menu-overlay{padding-top:98px}.menu-footer{margin-top:18px;gap:20px}.menu-footer a{height:100px}}
@media(prefers-color-scheme:dark){:root:where(:not([data-theme])){--header-bg:#111a16;--header-text:#eef3ec;--menu-accent:#b6decb;--menu-line:#34463a}:where(:root:not([data-theme])) #main-header,:where(:root:not([data-theme])) #menu-overlay{--menu-accent:var(--menu-dark,#b6decb)}:where(:root:not([data-theme])) #main-header .logo-link{padding:4px 8px;border-radius:6px;background:#fff}:where(:root:not([data-theme])) .header-inner{min-height:82px}:where(:root:not([data-theme])) #main-header.shrink .header-inner{min-height:60px}}
/* Tema scuro scelto dal visitatore; il sistema resta il fallback senza JavaScript. */
:root:where([data-theme="dark"]){--header-bg:#111a16;--header-text:#eef3ec;--menu-accent:#b6decb;--menu-line:#34463a}:where(:root[data-theme="dark"]) #main-header,:where(:root[data-theme="dark"]) #menu-overlay{--menu-accent:var(--menu-dark,#b6decb)}:where(:root[data-theme="dark"]) #main-header .logo-link{padding:4px 8px;border-radius:6px;background:#fff}:where(:root[data-theme="dark"]) .header-inner{min-height:82px}:where(:root[data-theme="dark"]) #main-header.shrink .header-inner{min-height:60px}
@media(prefers-reduced-motion:reduce){#main-header *,#menu-overlay,#menu-overlay *{transition:none!important;animation:none!important}}
