/* ══ HEADER v8 — Logo 2x + Brand Identity System ══ */

/* TOPBAR: 46px — navy gradient, bordo verde primary */
.topbar{height:var(--topbar-h,46px);background:linear-gradient(90deg,var(--primary,#0F8060) 0%,var(--navy,#1D3D6B) 100%);position:sticky;top:0;z-index:1001;border-bottom:1px solid var(--primary-dark,#0A5C45)}
.topbar__in{display:flex;align-items:center;justify-content:space-between;height:100%}
/* Testi piccoli topbar → su sfondo scuro = bianco */
.topbar__tag{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:rgba(255,255,255,.9)}
.topbar__tag svg{color:#fff}
.topbar__right{display:flex;align-items:center;gap:22px}
.topbar__link{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:rgba(255,255,255,.85);text-decoration:none;transition:color var(--tr,.2s)}
.topbar__link svg{flex-shrink:0;color:#fff}
.topbar__link:hover{color:#fff}

/* MAIN HEADER: 104px (aumentato per logo 2x) — bianco, bordo verde */
.main-header{height:var(--hdr-h,104px);background:#fff;border-bottom:1px solid var(--fog-dark,#D4D9E0);box-shadow:0 1px 4px rgba(15,23,33,.06);position:sticky;top:var(--topbar-h,46px);z-index:1000;transition:box-shadow var(--tr,.2s)}
.main-header.scrolled{box-shadow:0 2px 12px rgba(15,23,33,.08)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4,32px);height:100%}

.main-header .hdr-logo .site-logo{background:transparent;padding:0;border-radius:0;box-shadow:none}
.main-header .hdr-logo .site-logo img{filter:none}

/* LOGO: 80px (raddoppiato rispetto al precedente 58px, coerente con b4b-theme) */
.site-logo{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}
.site-logo img{height:80px;width:auto;max-width:320px;display:block;object-fit:contain;transition:transform var(--tr,.2s)}
.site-logo:hover img{transform:scale(1.02)}

/* NAV desktop */
.main-nav{display:flex;align-items:center;justify-content:center;flex:1}
.nav-list{display:flex;align-items:center;gap:2px;list-style:none;padding:0;margin:0}
.nav-item{position:relative}
/* Link nav: navy su sfondo bianco, hover soft-primary */
.nav-link{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 14px;font-size:14px;font-weight:500;color:var(--navy,#1D3D6B);text-decoration:none;border-radius:var(--r-md,8px);white-space:normal;text-align:center;min-width:80px;max-width:140px;line-height:1.3;transition:background var(--tr,.2s),color var(--tr,.2s)}
.nav-link:hover{background:var(--primary-soft,#E6F4EE);color:var(--primary-dark,#0A5C45)}
.nav-link.active{background:var(--primary-soft,#E6F4EE);color:var(--primary-dark,#0A5C45);font-weight:600}
.nav-link.active::after{content:'';position:absolute;bottom:-3px;left:14px;right:14px;height:2px;background:var(--primary,#0F8060);border-radius:2px}
.nav-item.current-menu-item>.nav-link,
.nav-item.current-menu-parent>.nav-link,
.nav-item.current-menu-ancestor>.nav-link,
.nav-item.current_page_item>.nav-link,
.nav-item.current_page_parent>.nav-link{background:var(--primary-soft,#E6F4EE);color:var(--primary-dark,#0A5C45);font-weight:600}
.nav-item.current-menu-item>.nav-link::after,
.nav-item.current-menu-parent>.nav-link::after,
.nav-item.current-menu-ancestor>.nav-link::after,
.nav-item.current_page_item>.nav-link::after,
.nav-item.current_page_parent>.nav-link::after{content:'';position:absolute;bottom:-3px;left:14px;right:14px;height:2px;background:var(--primary,#0F8060);border-radius:2px}
.nav-arrow{color:var(--navy-mid,#6B86AA);transition:transform var(--tr,.2s),color var(--tr,.2s);flex-shrink:0}
.nav-item.open .nav-arrow,.nav-item:hover .nav-arrow{transform:rotate(180deg);color:var(--primary-dark,#0A5C45)}

/* Header actions */
.hdr-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}
.hdr-cta{white-space:nowrap}

/* Bottone CTA header "Prenota Call" → arancio pieno (accent) */
.hdr-cta.btn-prenota{background:var(--accent,#F39422);border-color:var(--accent,#F39422);color:#fff}
.hdr-cta.btn-prenota:hover{background:var(--accent-dark,#D47817);color:#fff;border-color:var(--accent-dark,#D47817)}

/* Bottone "Scopri stadi" header → verde outline */
.hdr-cta.btn-green{border-color:var(--primary,#0F8060);color:var(--primary,#0F8060);background:transparent}
.hdr-cta.btn-green:hover{background:var(--primary-soft,#E6F4EE);color:var(--primary-dark,#0A5C45);border-color:var(--primary-dark,#0A5C45)}

/* HAMBURGER */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;background:#fff;border:1.5px solid var(--fog-dark,#D4D9E0);border-radius:var(--r-md,8px);cursor:pointer;padding:0;box-shadow:var(--sh-xs);transition:all var(--tr,.2s)}
.hamburger:hover{border-color:var(--primary,#0F8060);background:var(--primary-soft,#E6F4EE)}
.hb-line{display:block;width:22px;height:2px;background:var(--navy,#1D3D6B);border-radius:2px;transition:transform .22s,opacity .22s}
.hamburger.open .hb-line:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.open .hb-line:nth-child(2){opacity:0}
.hamburger.open .hb-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ══ DROPDOWN — Bianco, accent verde primary ══ */
.dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-10px);min-width:620px;background:#fff;border:1px solid var(--fog-dark,#D4D9E0);border-top:2px solid var(--primary,#0F8060);border-radius:var(--r-lg,12px);box-shadow:0 12px 48px rgba(15,23,33,.10),0 4px 16px rgba(15,23,33,.06);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--tr,.2s),visibility var(--tr,.2s),transform var(--tr,.2s);z-index:900}
.nav-item.open .dropdown,.nav-item:hover .dropdown{opacity:1;visibility:visible;pointer-events:all;transform:translateX(-50%) translateY(0)}
.dropdown::before{content:'';position:absolute;top:-9px;left:50%;transform:translateX(-50%);width:16px;height:16px;background:#fff;border-left:1px solid var(--fog-dark,#D4D9E0);border-top:1px solid var(--fog-dark,#D4D9E0);rotate:45deg}
.dropdown__in{display:grid;grid-template-columns:1fr 220px;padding:8px;gap:0}
.dd-col{padding:18px 16px}
/* Heading dropdown → navy (piccolo, su bianco) */
.dd-heading{font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--navy,#1D3D6B);padding:0 12px 14px;margin:0;display:block}
.dd-list{list-style:none;padding:0;margin:0}
.dd-list li+li{margin-top:3px}
.dd-link{display:flex;align-items:center;gap:14px;padding:11px 12px;border-radius:var(--r-md,8px);text-decoration:none;color:var(--navy,#1D3D6B);font-weight:500;transition:background var(--tr,.2s),color var(--tr,.2s)}
.dd-link:hover{background:var(--primary-soft,#E6F4EE);color:var(--primary-dark,#0A5C45)}
/* Cerchio numero stadio — verde soft */
.dd-link__n{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--primary-soft,#E6F4EE);border:1px solid var(--primary-mid,#7FC0A8);font-size:12px;font-weight:600;color:var(--primary,#0F8060);display:flex;align-items:center;justify-content:center;transition:all var(--tr,.2s);font-family:var(--font,'Inter')}
.dd-link:hover .dd-link__n{background:var(--primary,#0F8060);border-color:var(--primary,#0F8060);color:#fff}
.dd-link strong{display:block;font-size:14px;font-weight:600;line-height:1.3;color:var(--navy,#1D3D6B);letter-spacing:-.01em}
/* Testo piccolo sotto → muted */
.dd-link em{display:block;font-size:12px;font-style:normal;color:var(--text-secondary,#3D4754);margin-top:2px;font-weight:400}
.dd-link:hover strong{color:var(--primary-dark,#0A5C45)}
/* Card promo nel dropdown — sfondo verde, testo bianco */
.dd-promo{border-left:1px solid var(--fog,#EDEFF2);padding:8px}
.dd-promo__card{background:linear-gradient(145deg,var(--primary,#0F8060) 0%,var(--primary-dark,#0A5C45) 100%);border-radius:var(--r-md,8px);padding:var(--s3,24px);height:100%;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 16px rgba(15,128,96,.22)}
/* Su sfondo verde → bianco */
.dd-promo__micro{font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.72);margin:0}
.dd-promo__title{font-size:15px;font-weight:600;color:#fff;margin:0;line-height:1.3}
.dd-promo__text{font-size:12px;color:rgba(255,255,255,.90);margin:0;flex:1;font-weight:400;line-height:1.55}

/* ══ MOBILE MENU — Navy dark, testo bianco ══ */
.mob-overlay{position:fixed;inset:0;background:rgba(15,23,33,.5);z-index:1098;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(4px)}
.mob-overlay.open{opacity:1;pointer-events:all}
.mob-menu{position:fixed;top:0;right:-100%;width:min(340px,92vw);height:100dvh;background:linear-gradient(180deg,var(--navy,#1D3D6B) 0%,var(--navy-dark,#0F2647) 100%);z-index:1099;overflow-y:auto;overscroll-behavior:contain;transition:right .32s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-8px 0 48px rgba(15,23,33,.4)}
.mob-menu.open{right:0}
.mob-hdr{display:flex;align-items:center;justify-content:space-between;padding:22px var(--s3,24px);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}
/* Logo su sfondo scuro — mantiene piena opacità */
.mob-hdr .site-logo img{opacity:1}
.mob-close{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.92);cursor:pointer;padding:8px;border-radius:var(--r-md,8px);transition:all var(--tr,.2s);min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.mob-close:hover{background:rgba(255,255,255,.16);color:#fff}
.mob-list{list-style:none;padding:12px 0;margin:0;flex:1}
/* Testi menu mobile → su sfondo navy = bianco */
.mob-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px var(--s3,24px);font-size:15px;font-weight:500;color:rgba(255,255,255,.94);text-decoration:none;background:transparent;border:none;font-family:var(--font,'Inter');cursor:pointer;letter-spacing:0;transition:background var(--tr,.2s),color var(--tr,.2s),padding-left var(--tr,.2s)}
.mob-link:hover{background:rgba(15,128,96,.18);color:#fff;padding-left:calc(var(--s3,24px) + 6px)}
.mob-link.active{color:#7FC0A8;font-weight:600}
.mob-list .current-menu-item>.mob-link,
.mob-list .current-menu-parent>.mob-link,
.mob-list .current-menu-ancestor>.mob-link,
.mob-list .current_page_item>.mob-link,
.mob-list .current_page_parent>.mob-link{color:#7FC0A8;font-weight:600}

.mob-sub{list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;transition:max-height .28s cubic-bezier(.4,0,.2,1);background:rgba(0,0,0,.2);border-left:2px solid var(--primary,#0F8060);margin-left:16px}
.mob-sub.open{max-height:500px}
/* Sottovoci → bianco soft su sfondo scuro */
.mob-sub-link{display:block;padding:10px 20px 10px 24px;font-size:13px;font-weight:400;color:rgba(255,255,255,.78);text-decoration:none;transition:color var(--tr,.2s),padding-left var(--tr,.2s)}
.mob-sub-link:hover{color:#fff;padding-left:28px}

.mob-footer{padding:var(--s3,24px);border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.15);flex-shrink:0}
/* Divider colorato: verde → arancio */
.mob-divider{height:2px;background:linear-gradient(90deg,var(--primary,#0F8060),var(--accent,#F39422));margin:8px var(--s3,24px) 4px;border-radius:2px;opacity:.6}

/* RESPONSIVE HEADER */
@media(max-width:1024px){.main-nav{display:none}.hamburger{display:flex}.hdr-cta{display:none}}
@media(max-width:768px){.main-header{height:var(--hdr-h-mob,88px)}.site-logo img{height:72px;max-width:288px}}
@media(max-width:480px){:root{--topbar-h:38px}.topbar__tag{display:none}.topbar__right{gap:14px}.topbar__link{font-size:11px}.site-logo img{height:64px;max-width:256px}}
