@import url('lance-theme.css');
/* ═══════════════════════════════════════════════════════════
   Lance Header — navbar sticky (logo + menu inline + CTA + drawer mobile).
   Sfondo trasparente: eredita dal colore sezione impostato in Gantry Styles.
   Da usare in coppia con lancetopbar nella sezione Top.
   ═══════════════════════════════════════════════════════════ */

/* z-index: la sezione navigation deve stare sopra le sezioni sottostanti */
#g-navigation { z-index:100; }
.lhead { position:relative; }

/* Masthead — sfondo trasparente, lo controlla la sezione Gantry */
.lhead__masthead{ background:transparent; border-bottom:1px solid var(--line,rgba(0,0,0,.08)); transition:padding .2s ease; }
.lhead__masthead-in{ max-width:var(--lhead-max,1400px); margin-inline:auto;
  padding:14px clamp(16px,4vw,40px);
  display:flex; align-items:center; gap:clamp(8px,2vw,24px); transition:padding .2s ease; }
.lhead.is-scrolled .lhead__masthead-in{ padding-block:10px; }
.lhead__end{ display:flex; align-items:center; gap:12px; flex-shrink:0; margin-left:auto; }

/* Brand */
.lhead__brand{ display:flex; align-items:center; gap:13px; flex-shrink:0; text-decoration:none; }
.lhead__mark{ display:inline-block; width:46px; height:46px; flex-shrink:0; }
.lhead__mark svg{ width:100%; height:100%; }
.lhead__mark .bmk-bg{ fill:var(--red,#E2001A); }
.lhead__mark .bmk-ring{ fill:none; stroke:#fff; stroke-width:5; opacity:.9; }
.lhead__mark .bmk-dot{ fill:#fff; }
.lhead__logo{ max-height:46px; width:auto; display:block; }
.lhead__wm{ display:flex; flex-direction:column; line-height:1; }
.lhead__name{ font-family:var(--f-display,'Archivo',sans-serif); font-weight:800; font-size:1.5rem; letter-spacing:-.02em; color:var(--ink,#16120E); display:flex; gap:.28em; }
.lhead__name span{ color:var(--red,#E2001A); }
.lhead__claim{ font-family:var(--f-mono,'JetBrains Mono',ui-monospace,monospace); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted,#6B6258); margin-top:3px; }

/* Main nav — inline */
.lhead__nav{ display:flex; align-items:center; gap:2px; flex:1; }
/* Override eventuali regole colore del tema sul <a> dentro la sezione navigation */
.lhead__nav a.lhead__item{ color:var(--ink,#16202c) !important; text-decoration:none; }
.lhead__nav a.lhead__item:hover,.lhead__nav a.lhead__item.is-active{ color:var(--red,#669900) !important; }

.lhead__item{ position:relative; font-size:.92rem; font-weight:600; color:var(--ink,#16120E); padding:10px 14px; cursor:pointer; white-space:nowrap; transition:color .15s; text-decoration:none; }
.lhead__item.is-active{ color:var(--red,#E2001A); }
.lhead__item::before{ content:""; position:absolute; left:14px; right:14px; bottom:0; height:3px; background:var(--red,#E2001A); transform:scaleX(0); transform-origin:left; transition:transform .18s ease; }
.lhead__item:hover::before,.lhead__item.is-active::before{ transform:scaleX(1); }
.lhead__item:hover{ color:var(--red,#E2001A); }
.lhead__item--sub::after{ content:"\203A"; margin-left:3px; opacity:.5; display:inline-block; transform:rotate(90deg); font-size:.8em; }

/* Submenu dropdown — sfondo esplicito bianco */
.lhead__submenu{ position:absolute; top:100%; left:0; min-width:220px; background:#fff; border:1px solid var(--line,#E6DED4); box-shadow:0 16px 40px rgba(0,0,0,.13); padding:8px; display:none; flex-direction:column; gap:1px; z-index:50; }
.lhead__item--sub:hover .lhead__submenu,
.lhead__item--sub:focus-within .lhead__submenu{ display:flex; } /* apertura anche da tastiera */
.lhead__submenu a{ font-size:.85rem; font-weight:500; padding:8px 11px; color:var(--ink,#16120E) !important; text-decoration:none; background:transparent; }
.lhead__submenu a:hover{ background:var(--surface-2,#F4EFE9); color:var(--red,#E2001A) !important; }

/* CTA + burger */
.lhead__cta{ flex-shrink:0; display:inline-flex; align-items:center; gap:.5em; font-family:var(--f-body,inherit); font-weight:600; font-size:.95rem; line-height:1; padding:.85em 1.3em; background:var(--red,#E2001A); color:#fff !important; border:0; text-decoration:none; white-space:nowrap; transition:transform .15s ease,background .2s ease; }
.lhead__cta:hover{ transform:translateY(-2px); background:var(--red-deep,#A60011); color:#fff !important; }
.lhead__burger{ display:none; background:transparent; border:0; color:var(--ink,#16120E); cursor:pointer; padding:6px; }
.lhead__burger i,.lhead__burger svg{ width:28px; height:28px; }

/* Drawer mobile */
.lhead__drawer{ position:fixed; inset:0; z-index:200; background:rgba(0,0,0,.5); display:flex; justify-content:flex-end; }
.lhead__drawer[hidden]{ display:none; }
.lhead__drawer-panel{ width:min(330px,82vw); background:#fff; height:100%; padding:24px; overflow-y:auto; }
.lhead__drawer-close{ background:transparent; border:0; color:var(--ink,#16120E); margin-left:auto; display:block; cursor:pointer; }
.lhead__drawer-close i,.lhead__drawer-close svg{ width:26px; height:26px; }
.lhead__drawer-nav{ display:flex; flex-direction:column; gap:2px; margin-top:14px; }
.lhead__drawer-nav a{ font-weight:600; font-size:1.05rem; padding:13px 10px; border-bottom:1px solid var(--line,#E6DED4); color:var(--ink,#16120E) !important; text-decoration:none; }

@media(max-width:1080px){
  .lhead__nav,.lhead__cta{ display:none; }
  .lhead__burger{ display:block; }
}

/* Accessibilità: focus visibile per la navigazione da tastiera */
.lhead a:focus-visible, .lhead button:focus-visible, .lhead [tabindex]:focus-visible,
.lhead__drawer a:focus-visible, .lhead__drawer button:focus-visible{
  outline:2px solid var(--red,#E2001A); outline-offset:2px;
}
