/* nav.css — menu mobile (hamburger) condiviso di autostrade.cornelcaba.com
   Creato 2026-08-19. Usa i token CSS gia' definiti dalle pagine
   (--bg,--surface,--surface-2,--ink,--ink-2,--ink-3,--line,--brand,--brand-soft,--on-brand).
   Nessuna dipendenza esterna. Coppia: /assets/nav.js */

/* --- bottone hamburger --- */
.ccnav-btn{
  display:none;
  width:44px;height:44px;flex:none;
  align-items:center;justify-content:center;
  border:1px solid var(--line,#e2e5dd);
  border-radius:12px;
  background:var(--surface,#fff);
  color:var(--ink,#141a16);
  cursor:pointer;
  padding:0;
  transition:background .18s ease,transform .18s ease;
}
.ccnav-btn:hover{background:var(--surface-2,#f7f8f4)}
.ccnav-btn:active{transform:scale(.96)}
.ccnav-btn svg{width:22px;height:22px;display:block}
.ccnav-btn .x{display:none}
.ccnav-btn[aria-expanded="true"] .x{display:block}
.ccnav-btn[aria-expanded="true"] .b{display:none}

/* visibile solo su mobile; sopra i 768px comanda la nav desktop */
@media (max-width:767.98px){
  .ccnav-btn{display:inline-flex}
  /* i link testuali della nav lasciano il posto al menu */
  header.top .nav a.lnk{display:none !important}
  header.top .topnav{display:none !important}
  header.top .wrap{flex-wrap:nowrap}
}

/* --- overlay --- */
.ccnav-ovl{
  position:fixed;inset:0;
  background:rgba(8,14,11,.45);
  opacity:0;pointer-events:none;
  transition:opacity .2s ease;
  z-index:1200;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
.ccnav-ovl.on{opacity:1;pointer-events:auto}

/* --- pannello --- */
.ccnav-panel{
  position:fixed;
  top:var(--ccnav-top,64px);
  right:12px;
  width:min(330px,calc(100vw - 24px));
  max-height:calc(100dvh - var(--ccnav-top,64px) - 16px);
  overflow:auto;-webkit-overflow-scrolling:touch;
  background:var(--surface,#fff);
  border:1px solid var(--line,#e2e5dd);
  border-radius:18px;
  box-shadow:0 18px 40px rgba(8,14,11,.22),0 2px 8px rgba(8,14,11,.10);
  padding:10px;
  z-index:1300;
  opacity:0;transform:translateY(-10px) scale(.98);
  transition:opacity .18s ease,transform .18s cubic-bezier(.2,.7,.3,1);
  pointer-events:none;
}
.ccnav-panel.on{opacity:1;transform:none;pointer-events:auto}
.ccnav-panel[hidden]{display:none}

.ccnav-panel a.ccnav-lnk{
  display:flex;align-items:center;gap:12px;
  min-height:50px;padding:8px 12px;
  text-decoration:none;
  color:var(--ink,#141a16);
  font-weight:600;font-size:16px;
  border-radius:12px;
}
.ccnav-panel a.ccnav-lnk small{
  display:block;font-weight:500;font-size:12.5px;
  color:var(--ink-3,#77817a);margin-top:1px;
}
.ccnav-panel a.ccnav-lnk .ic{
  flex:none;width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;
  background:var(--surface-2,#f7f8f4);
  color:var(--ink-2,#465049);
}
.ccnav-panel a.ccnav-lnk .ic svg{width:19px;height:19px}
.ccnav-panel a.ccnav-lnk:hover{background:var(--surface-2,#f7f8f4)}
.ccnav-panel a.ccnav-lnk[aria-current="page"]{
  color:var(--brand,#0f7a4a);
  background:var(--brand-soft,#e3f3ea);
}
.ccnav-panel a.ccnav-lnk[aria-current="page"] .ic{
  background:var(--brand,#0f7a4a);color:var(--on-brand,#fff);
}
.ccnav-panel a.ccnav-lnk[aria-current="page"] small{color:inherit;opacity:.75}

.ccnav-sep{height:1px;background:var(--line,#e2e5dd);margin:8px 6px}
.ccnav-ttl{
  font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink-3,#77817a);padding:4px 12px 8px;margin:0;
}
.ccnav-hw{display:flex;flex-wrap:wrap;gap:6px;padding:0 8px 8px}
.ccnav-hw a{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;min-height:34px;padding:0 8px;
  border:1px solid var(--line,#e2e5dd);border-radius:999px;
  text-decoration:none;color:var(--ink-2,#465049);
  font-weight:600;font-size:13px;
}
.ccnav-hw a:hover{border-color:var(--brand,#0f7a4a);color:var(--brand,#0f7a4a)}

.ccnav-foot{padding:2px 12px 6px;font-size:12px;color:var(--ink-3,#77817a)}
.ccnav-foot a{color:inherit}

body.ccnav-open{overflow:hidden}
