/* =========================================================================
   Savorita Header Glass
   Specifica: docs/header-widget.md · Mockup: mockups/header-liquid-glass/

   Regole di scrittura (le stesse di savorita-onboarding-full):
   - ogni selettore parte da .sv-hdr.sv-hdr: tre classi battono il kit di
     Elementor (.elementor-kit-N a) senza !important
   - responsive a container, soglie 700 e 1000, nessuna media query legata
     alla finestra
   - le variabili che cambiano con il contenitore si ridefiniscono sui
     discendenti (.svh, .sv-hdr-space), mai sulla radice
   - niente !important su display
   - i link si vestono dalla posizione (.svh-group > a) o da data-svh, mai
     dalla classe: altri plugin la riscrivono (Broken Link Checker la
     sostituisce sui link con reindirizzamento)
   ========================================================================= */

/* ---------- contenitori ---------- */
.sv-hdr.sv-hdr-slot,
.sv-hdr.sv-hdr-fix{
  container-type:inline-size;
  container-name:svhdr;
}
.sv-hdr.sv-hdr .sv-hdr-space,
.sv-hdr.sv-hdr .svh{
  --bh:76px;                                  /* altezza della barra */
  --st:env(safe-area-inset-top, 0px);         /* tacca del telefono */
  --gx:32px;                                  /* margine laterale */
}
@container svhdr (max-width:699px){
  .sv-hdr.sv-hdr .sv-hdr-space,
  .sv-hdr.sv-hdr .svh{ --bh:64px; --gx:14px; }
}

/* spazio riservato nel flusso: i contenuti non finiscono sotto la barra */
.sv-hdr.sv-hdr .sv-hdr-space{ height:calc(var(--bh) + var(--st)); }

/* la parte fissa */
.sv-hdr.sv-hdr-fix{
  position:fixed;
  top:var(--wp-admin--admin-bar--height, 0px);
  left:0; right:0;
  height:0;
  z-index:99990;
  pointer-events:none;
  font-family:"Nunito Sans", system-ui, sans-serif;
  color:var(--sv-ink);
  text-align:left;
}
body:not(.admin-bar) .sv-hdr.sv-hdr-fix{ top:0; }

/* tutto schermo: l'header si toglie di mezzo finché dura */
html.sv-fs .sv-hdr.sv-hdr-fix{ visibility:hidden; opacity:0; }

/* =========================================================================
   Il widget
   ========================================================================= */
.sv-hdr.sv-hdr .svh{
  --g-bg:linear-gradient(145deg,rgba(255,255,255,.58),rgba(255,255,255,.28));
  --g-border:rgba(255,255,255,.7);
  --g-ink:#1c2a21;
  --g-hover:rgba(8,127,35,.10);
  --g-shadow:0 12px 32px -10px rgba(12,40,20,.35),0 2px 8px rgba(0,0,0,.06);
  --g-inner:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 1px rgba(255,255,255,.35),inset 0 0 0 .5px rgba(255,255,255,.5);
  --spring:cubic-bezier(.22,1.35,.36,1);
  --ease:cubic-bezier(.32,.72,0,1);
  position:absolute; left:0; right:0; top:var(--st);
  height:var(--bh);
  pointer-events:none;
  box-sizing:border-box;
}
.sv-hdr.sv-hdr .svh *,
.sv-hdr.sv-hdr .svh *::before,
.sv-hdr.sv-hdr .svh *::after{ box-sizing:border-box; }

.sv-hdr.sv-hdr .svh.is-dark{
  --g-bg:linear-gradient(145deg,rgba(40,52,46,.55),rgba(20,28,24,.35));
  --g-border:rgba(255,255,255,.22);
  --g-ink:#fff;
  --g-hover:rgba(255,255,255,.12);
  --g-shadow:0 12px 32px -10px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.2);
  --g-inner:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 1px rgba(255,255,255,.08),inset 0 0 0 .5px rgba(255,255,255,.12);
}

/* sfumatura sfocata sotto la barra di stato (scroll edge di iOS) */
.sv-hdr.sv-hdr .svh-edge{
  position:absolute; left:0; right:0;
  top:calc(-1 * var(--st)); height:calc(var(--st) + var(--bh) * .85);
  pointer-events:none; opacity:0;
  transition:opacity .45s var(--ease), background .4s;
  background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0));
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  -webkit-mask-image:linear-gradient(180deg,#000 35%,transparent); mask-image:linear-gradient(180deg,#000 35%,transparent);
}
.sv-hdr.sv-hdr .svh.is-scrolled .svh-edge{ opacity:1; }
.sv-hdr.sv-hdr .svh.is-dark .svh-edge{ background:linear-gradient(180deg,rgba(18,28,22,.55),rgba(18,28,22,0)); }

/* barra bianca piena, stato "in cima" */
.sv-hdr.sv-hdr .svh-bar{
  position:absolute; left:0; right:0;
  top:calc(-1 * var(--st)); height:calc(var(--st) + var(--bh));
  background:#fff; border-bottom:1px solid rgba(0,0,0,.06);
  transition:opacity .45s var(--ease), transform .45s var(--ease);
}
.sv-hdr.sv-hdr .svh.is-scrolled .svh-bar{ opacity:0; transform:translateY(-8px); }

.sv-hdr.sv-hdr .svh-row{
  position:relative; height:100%; max-width:1320px; margin:0 auto; padding:0 var(--gx);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}

/* ---------- vetro ---------- */
.sv-hdr.sv-hdr .svh-glass{
  position:relative; isolation:isolate;
  background:var(--g-bg);
  -webkit-backdrop-filter:blur(22px) saturate(190%) brightness(1.04);
  backdrop-filter:blur(22px) saturate(190%) brightness(1.04);
  border:1px solid var(--g-border);
  box-shadow:var(--g-shadow), var(--g-inner);
  color:var(--g-ink);
  transition:background .4s, border-color .4s, box-shadow .4s, color .3s;
}
.sv-hdr.sv-hdr .svh-glass::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:-1;
  background:
    radial-gradient(120% 70% at 20% -10%,rgba(255,255,255,.55),transparent 55%),
    radial-gradient(90% 60% at 100% 120%,rgba(255,255,255,.18),transparent 60%);
  mix-blend-mode:soft-light;
}
.sv-hdr.sv-hdr .svh.is-dark .svh-glass::before{
  background:radial-gradient(120% 70% at 20% -10%,rgba(255,255,255,.22),transparent 55%);
  mix-blend-mode:normal;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .sv-hdr.sv-hdr .svh-glass{ background:rgba(255,255,255,.94); }
  .sv-hdr.sv-hdr .svh.is-dark .svh-glass{ background:rgba(26,34,30,.94); }
}

/* ---------- logo ---------- */
.sv-hdr.sv-hdr .svh-logo{
  position:relative; display:block; flex:0 0 auto;
  height:52px; width:190px; pointer-events:auto;
}
.sv-hdr.sv-hdr .svh-logo > a{ position:absolute; inset:0; display:block; text-decoration:none; }
.sv-hdr.sv-hdr .svh-logo-long{
  position:absolute; left:0; top:50%; height:48px; width:auto; max-width:none;
  transform:translateY(-50%); transform-origin:left center;
  transition:opacity .35s var(--ease), transform .5s var(--ease);
}
.sv-hdr.sv-hdr .svh-logo-orb{
  position:absolute; left:0; top:50%; width:52px; height:52px; border-radius:50%;
  display:grid; place-items:center;
  opacity:0; transform:translateY(-50%) scale(.55);
  transition:opacity .3s var(--ease), transform .55s var(--spring);
}
.sv-hdr.sv-hdr .svh-logo-orb img{ width:36px; height:36px; max-width:none; }
.sv-hdr.sv-hdr .svh.is-scrolled .svh-logo-long{ opacity:0; transform:translateY(-50%) scale(.82); }
.sv-hdr.sv-hdr .svh.is-scrolled .svh-logo-orb{ opacity:1; transform:translateY(-50%) scale(1); }
.sv-hdr.sv-hdr .svh:not(.is-scrolled) .svh-logo-orb{ pointer-events:none; }

/* modalità catalogo: al posto dell'icona c'è la ricerca del catalogo, anche su desktop */
.sv-hdr.sv-hdr .svh.is-catalog .svh-logo{ visibility:hidden; pointer-events:none; }
/* e niente sfumatura in cima: passerebbe sopra la ricerca del catalogo agganciata lì, sbiadendola */
.sv-hdr.sv-hdr .svh.is-catalog .svh-edge{ opacity:0; }

@container svhdr (max-width:699px){
  .sv-hdr.sv-hdr .svh-logo{ width:150px; height:46px; }
  .sv-hdr.sv-hdr .svh-logo-long{ height:40px; }
  /* telefono: dopo lo scorrimento niente icona, e il logo nascosto non resta cliccabile */
  .sv-hdr.sv-hdr .svh-logo-orb{ visibility:hidden; }
  .sv-hdr.sv-hdr .svh.is-scrolled .svh-logo{ pointer-events:none; }
}

/* ---------- titolo di sezione (solo telefono, dopo lo scorrimento) ---------- */
.sv-hdr.sv-hdr .svh-title{
  position:absolute; left:var(--gx); right:calc(var(--gx) + 110px); top:50%;
  transform:translateY(-50%);
  font:900 20px/1.1 Nunito, "Nunito Sans", sans-serif; letter-spacing:-.02em;
  color:var(--g-ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s var(--ease), color .3s;
}
@container svhdr (max-width:699px){
  .sv-hdr.sv-hdr .svh.is-scrolled.has-title .svh-title{ opacity:1; visibility:visible; }
  /* con il titolo in riga, velo bianco più deciso sotto l'header (mockup della home) */
  .sv-hdr.sv-hdr .svh.is-scrolled.has-title .svh-edge{
    opacity:1; height:calc(var(--st) + var(--bh) + 14px);
    background:linear-gradient(180deg,rgba(255,255,255,.97) 0,rgba(255,255,255,.94) 72%,rgba(255,255,255,0));
    -webkit-mask-image:none; mask-image:none;
  }
}

/* ---------- link rapidi: solo desktop, solo in cima ---------- */
.sv-hdr.sv-hdr .svh-inline{
  display:none; align-items:center; gap:4px; margin-left:auto; margin-right:10px; pointer-events:auto;
  transition:opacity .3s var(--ease), transform .45s var(--ease);
}
@container svhdr (min-width:1000px){
  .sv-hdr.sv-hdr .svh-inline{ display:flex; }
}
.sv-hdr.sv-hdr .svh-inline a{
  padding:8px 13px; border-radius:999px; color:#24312a; text-decoration:none;
  font:700 15px/1.2 "Nunito Sans", sans-serif; letter-spacing:.3px;
  transition:background .2s, color .2s;
}
.sv-hdr.sv-hdr .svh-inline a:hover{ background:rgba(8,127,35,.08); color:var(--sv-green); }
.sv-hdr.sv-hdr .svh-inline a[data-svh="getaccess"]{
  margin-left:6px; background:var(--sv-mint); border:1px solid var(--sv-green-2); color:var(--sv-green);
  font:800 14px/1.4 Nunito, "Nunito Sans", sans-serif; padding:7px 16px; border-radius:10px;
}
.sv-hdr.sv-hdr .svh.is-scrolled .svh-inline{ opacity:0; transform:translateY(-6px); pointer-events:none; }

/* ---------- capsula [account | menu] ---------- */
.sv-hdr.sv-hdr .svh-caps{
  pointer-events:auto; display:flex; align-items:center; flex:0 0 auto; margin-left:auto;
  height:52px; padding:4px; gap:2px; border-radius:999px;
  transition:transform .5s var(--spring), background .4s, box-shadow .4s, border-color .4s;
}
.sv-hdr.sv-hdr .svh-inline + .svh-caps{ margin-left:0; }
.sv-hdr.sv-hdr .svh:not(.is-scrolled):not(.is-open) .svh-caps{
  background:#F2F5F3; border-color:#E5EAE7; box-shadow:none;
  -webkit-backdrop-filter:none; backdrop-filter:none; color:#1c2a21;
}
.sv-hdr.sv-hdr .svh:not(.is-scrolled):not(.is-open) .svh-caps::before{ opacity:0; }

.sv-hdr.sv-hdr .svh-ib{
  -webkit-appearance:none; appearance:none; margin:0; padding:0; border:0; border-radius:50%;
  background:transparent; box-shadow:none; cursor:pointer;
  width:44px; height:44px; min-height:0; display:grid; place-items:center;
  color:inherit; font:inherit; line-height:1; position:relative;
  transition:transform .45s var(--spring), background .2s;
  -webkit-tap-highlight-color:transparent;
}
.sv-hdr.sv-hdr .svh-ib:hover,
.sv-hdr.sv-hdr .svh-ib:focus{ background:var(--g-hover); color:inherit; }
.sv-hdr.sv-hdr .svh-ib:active{ transform:scale(.86); }
.sv-hdr.sv-hdr .svh-ib:focus-visible{ outline:2px solid var(--sv-green-2); outline-offset:1px; }
.sv-hdr.sv-hdr .svh-ib[aria-expanded="true"]{ background:var(--g-hover); }
.sv-hdr.sv-hdr .svh-sep{ width:1px; height:22px; background:currentColor; opacity:.14; }
.sv-hdr.sv-hdr .svh-ib svg{ width:24px; height:24px; }

@container svhdr (max-width:699px){
  .sv-hdr.sv-hdr .svh-caps{ height:46px; padding:3px; }
  .sv-hdr.sv-hdr .svh-ib{ width:40px; height:40px; }
  .sv-hdr.sv-hdr .svh-ib svg{ width:22px; height:22px; }
}

/* landing produttori: "Candidati" sempre fuori dalla capsula, anche da telefono */
.sv-hdr.sv-hdr .svh-row > a[data-svh="apply"]{
  pointer-events:auto; flex:0 0 auto; margin-left:auto;
  display:inline-flex; align-items:center; height:44px; padding:0 20px; border-radius:999px;
  background:var(--sv-green); color:#fff; white-space:nowrap;
  font:800 15px/1 Nunito, "Nunito Sans", sans-serif; letter-spacing:.2px;
  box-shadow:0 8px 18px -8px rgba(8,127,35,.75), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .45s var(--spring), filter .2s, box-shadow .4s;
  -webkit-tap-highlight-color:transparent;
}
.sv-hdr.sv-hdr .svh-row > a[data-svh="apply"]:hover,
.sv-hdr.sv-hdr .svh-row > a[data-svh="apply"]:focus{ color:#fff; filter:brightness(1.08); }
.sv-hdr.sv-hdr .svh-row > a[data-svh="apply"]:active{ transform:scale(.95); }
.sv-hdr.sv-hdr .svh-row > a[data-svh="apply"]:focus-visible{ outline:2px solid var(--sv-green-2); outline-offset:2px; }
.sv-hdr.sv-hdr .svh.is-dark .svh-row > a[data-svh="apply"]{ box-shadow:0 8px 20px -8px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.35); }
.sv-hdr.sv-hdr .svh-row > a[data-svh="apply"] + .svh-caps{ margin-left:-6px; }
.sv-hdr.sv-hdr .svh-land{ margin-bottom:14px; }
.sv-hdr.sv-hdr .svh-land .svh-acc-note{ margin-top:10px; }
@container svhdr (max-width:699px){
  .sv-hdr.sv-hdr .svh-row > a[data-svh="apply"]{ height:40px; padding:0 15px; font-size:14.5px; }
}

/* avatar del loggato */
.sv-hdr.sv-hdr .svh-avatar{
  display:block; width:30px; height:30px; border-radius:50%;
  background:linear-gradient(135deg,var(--sv-green),#0FAC17); color:#fff;
  font:800 12px/30px Nunito, sans-serif; text-align:center; letter-spacing:.5px;
}
.sv-hdr.sv-hdr .svh-avatar.is-big{ width:44px; height:44px; line-height:44px; font-size:15px; flex:0 0 auto; }

/* contatore dei salvati sull'icona utente: il numero lo dice il catalogo */
.sv-hdr.sv-hdr .svh-count{
  position:absolute; top:1px; right:-1px; z-index:1;
  min-width:18px; height:18px; padding:0 5px; box-sizing:border-box; border-radius:999px;
  background:#F0081F; color:#fff;
  font:800 11px/18px Nunito, "Nunito Sans", sans-serif; text-align:center; letter-spacing:0;
  box-shadow:0 2px 6px -2px rgba(240,8,31,.7);
  pointer-events:none; transform-origin:50% 60%;
}
.sv-hdr.sv-hdr .svh-count.is-bump{ animation:svh-count-bump .5s var(--spring); }
@keyframes svh-count-bump{
  0%{ transform:scale(1); }
  35%{ transform:scale(1.45); }
  100%{ transform:scale(1); }
}
@container svhdr (max-width:699px){
  .sv-hdr.sv-hdr .svh-count{ top:0; right:-2px; }
}

/* hamburger → X */
.sv-hdr.sv-hdr .svh-burger{ width:22px; height:14px; position:relative; display:block; }
.sv-hdr.sv-hdr .svh-burger i{
  position:absolute; left:0; right:0; height:2px; border-radius:2px; background:currentColor;
  transition:transform .45s var(--spring), opacity .2s, top .45s var(--spring);
}
.sv-hdr.sv-hdr .svh-burger i:nth-child(1){ top:0; }
.sv-hdr.sv-hdr .svh-burger i:nth-child(2){ top:6px; }
.sv-hdr.sv-hdr .svh-burger i:nth-child(3){ top:12px; }
.sv-hdr.sv-hdr .svh-ib[aria-expanded="true"] .svh-burger i:nth-child(1){ top:6px; transform:rotate(45deg); }
.sv-hdr.sv-hdr .svh-ib[aria-expanded="true"] .svh-burger i:nth-child(2){ opacity:0; transform:scaleX(.2); }
.sv-hdr.sv-hdr .svh-ib[aria-expanded="true"] .svh-burger i:nth-child(3){ top:6px; transform:rotate(-45deg); }

/* ---------- velo ---------- */
.sv-hdr.sv-hdr .svh-scrim{
  position:fixed; inset:0;
  background:rgba(15,25,20,.16); opacity:0; pointer-events:none;
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  transition:opacity .35s var(--ease);
}
.sv-hdr.sv-hdr .svh.is-open .svh-scrim{ opacity:1; pointer-events:auto; }

/* =========================================================================
   Pannelli (menu e account). Sempre vetro chiaro, per la leggibilità.
   ========================================================================= */
.sv-hdr.sv-hdr .svh-panel{
  --p-ink:#1c2a21; --p-soft:#5a6b61; --p-group:rgba(255,255,255,.58); --p-line:rgba(20,40,30,.08);
  position:absolute; top:calc(var(--bh) - 6px); right:var(--gx);
  border-radius:30px; pointer-events:none;
  transform-origin:calc(100% - 26px) -30px;
  opacity:0; transform:scale(.22,.12); filter:blur(8px);
  transition:transform .32s var(--ease), opacity .22s var(--ease), filter .3s var(--ease);
  max-height:calc(100vh - var(--st) - var(--bh) - 20px);
  overflow:auto; overscroll-behavior:contain; scrollbar-width:thin;
  color:var(--p-ink);
  background:linear-gradient(160deg,rgba(255,255,255,.80),rgba(250,252,250,.62));
  border-color:rgba(255,255,255,.8);
  box-shadow:0 30px 70px -20px rgba(10,40,20,.45),0 4px 14px rgba(0,0,0,.08),inset 0 1px 0 #fff,inset 0 0 0 .5px rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(34px) saturate(200%); backdrop-filter:blur(34px) saturate(200%);
}
@supports (height:100dvh){
  .sv-hdr.sv-hdr .svh-panel{ max-height:calc(100dvh - var(--st) - var(--bh) - 20px); }
}
.sv-hdr.sv-hdr .svh-panel.is-open{
  opacity:1; transform:none; filter:none; pointer-events:auto;
  transition:transform .6s var(--spring), opacity .2s var(--ease), filter .3s var(--ease);
}
.sv-hdr.sv-hdr .svh-panel .svh-stagger{ opacity:0; transform:translateY(8px) scale(.98); transition:opacity .2s, transform .3s var(--ease); }
.sv-hdr.sv-hdr .svh-panel.is-open .svh-stagger{
  opacity:1; transform:none;
  transition:opacity .35s var(--ease), transform .55s var(--spring);
  transition-delay:calc(60ms + var(--i, 0) * 35ms);
}

.sv-hdr.sv-hdr .svh-menu{ width:min(820px, calc(100cqw - 2 * var(--gx))); padding:18px; }
.sv-hdr.sv-hdr .svh-acc{ width:340px; padding:18px; transform-origin:calc(100% - 76px) -30px; }
/* menu del produttore: poche voci, una colonna (da telefono vale la larghezza piena qui sotto) */
@container svhdr (min-width:700px){
  .sv-hdr.sv-hdr .svh-menu.is-narrow{ width:min(400px, calc(100cqw - 2 * var(--gx))); }
}
@container svhdr (max-width:699px){
  .sv-hdr.sv-hdr .svh-panel{
    left:10px; right:10px; width:auto; border-radius:28px;
    top:calc(var(--bh) - 4px); transform-origin:calc(100% - 30px) -26px;
  }
  .sv-hdr.sv-hdr .svh-menu{ padding:14px; }
  .sv-hdr.sv-hdr .svh-acc{ transform-origin:calc(100% - 70px) -26px; }
}

/* ricerca */
.sv-hdr.sv-hdr .svh-search{
  display:flex; align-items:center; gap:8px; height:44px; margin:0 0 14px; padding:0 14px;
  border-radius:14px; background:rgba(118,128,122,.14); color:var(--p-soft);
}
.sv-hdr.sv-hdr .svh-search input[type="search"]{
  flex:1; min-width:0; height:100%; margin:0; padding:0;
  border:0; border-radius:0; background:transparent; box-shadow:none; outline:none;
  font:600 15.5px/1.2 "Nunito Sans", sans-serif; color:var(--p-ink);
  -webkit-appearance:none; appearance:none;
}
.sv-hdr.sv-hdr .svh-search input[type="search"]::placeholder{ color:#7d8c83; opacity:1; }

/* chi servi */
.sv-hdr.sv-hdr .svh-who{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px; }
.sv-hdr.sv-hdr .svh-who a{
  position:relative; overflow:hidden; border-radius:20px; padding:14px; min-height:96px;
  text-decoration:none; color:#fff; display:flex; flex-direction:column; justify-content:flex-end;
  background:#3a4a40; isolation:isolate;
  transition:transform .4s var(--spring);
}
.sv-hdr.sv-hdr .svh-who a:active{ transform:scale(.97); }
.sv-hdr.sv-hdr .svh-who a::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.55)); z-index:-1; }
.sv-hdr.sv-hdr .svh-who img{ position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; z-index:-2; }
.sv-hdr.sv-hdr .svh-who span{ font:800 16.5px/1.15 Nunito, sans-serif; color:#fff; }
.sv-hdr.sv-hdr .svh-who small{ font-size:12.5px; line-height:1.3; opacity:.9; margin-top:2px; color:#fff; }

/* colonne */
.sv-hdr.sv-hdr .svh-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
@container svhdr (max-width:699px){
  .sv-hdr.sv-hdr .svh-cols{ grid-template-columns:1fr; }
  .sv-hdr.sv-hdr .svh-who a{ min-height:88px; }
}

.sv-hdr.sv-hdr .svh-gt{
  font:800 11.5px/1.3 "Nunito Sans", sans-serif; letter-spacing:1.2px; text-transform:uppercase;
  color:var(--p-soft); margin:2px 10px 6px;
}
.sv-hdr.sv-hdr .svh-group{ background:var(--p-group); border-radius:18px; overflow:hidden; border:.5px solid rgba(255,255,255,.7); }
.sv-hdr.sv-hdr .svh-group > a{
  display:flex; align-items:center; gap:11px; padding:10px 12px;
  text-decoration:none; color:var(--p-ink); position:relative; transition:background .15s;
}
.sv-hdr.sv-hdr .svh-group > a + a::before{ content:""; position:absolute; top:0; left:52px; right:0; height:.5px; background:var(--p-line); }
.sv-hdr.sv-hdr .svh-group > a:hover,
.sv-hdr.sv-hdr .svh-group > a:focus-visible{ background:rgba(8,127,35,.07); color:var(--p-ink); outline:none; }
.sv-hdr.sv-hdr .svh-group > a:active{ background:rgba(8,127,35,.13); }
.sv-hdr.sv-hdr .svh-ic{ flex:0 0 30px; width:30px; height:30px; border-radius:9px; display:grid; place-items:center; color:#fff; }
.sv-hdr.sv-hdr .svh-ic.is-tricolore{ background:linear-gradient(90deg,#089247 0 33%,#f4f4f4 33% 66%,#CE2B37 66%); }
.sv-hdr.sv-hdr .svh-ic svg{ width:17px; height:17px; }
.sv-hdr.sv-hdr .svh-txt{ flex:1; min-width:0; line-height:1.2; }
.sv-hdr.sv-hdr .svh-txt b{ display:block; font:700 14.5px/1.25 "Nunito Sans", sans-serif; color:inherit; }
.sv-hdr.sv-hdr .svh-txt small{ display:block; font-size:12px; line-height:1.3; color:var(--p-soft); margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sv-hdr.sv-hdr .svh-chev{ width:14px; height:14px; color:#9aa6a0; flex:0 0 auto; }
.sv-hdr.sv-hdr .svh-badge{
  font:800 10.5px/1.4 "Nunito Sans", sans-serif; letter-spacing:.5px; text-transform:uppercase;
  padding:2px 7px; border-radius:999px; background:#FFF2C9; color:#8a6500; margin-left:6px; vertical-align:1px;
}

/* pillole di categorie, regioni, tag */
.sv-hdr.sv-hdr .svh-cats{ display:flex; flex-wrap:wrap; gap:6px; padding:4px 12px 12px 52px; }
.sv-hdr.sv-hdr .svh-cats a{
  font:700 12.5px/1.3 "Nunito Sans", sans-serif; padding:5px 10px; border-radius:999px;
  background:rgba(255,255,255,.8); border:.5px solid rgba(20,40,30,.1); color:var(--sv-navy);
  text-decoration:none; transition:background .15s, color .15s;
}
.sv-hdr.sv-hdr .svh-cats a:hover{ background:var(--sv-green); color:#fff; }
.sv-hdr.sv-hdr .svh-cats.is-alone{ padding:12px; }
.sv-hdr.sv-hdr .svh-cats a[data-svh="all"]{ background:transparent; border-color:transparent; color:var(--sv-green); }

/* buyer: riga My Savorita in cima al menu */
.sv-hdr.sv-hdr .svh-mine{ margin-bottom:14px; }
.sv-hdr.sv-hdr .svh-mine > a{ padding:12px 14px; }
.sv-hdr.sv-hdr .svh-mine .svh-txt b{ font-size:15.5px; }

/* fondo del menu */
.sv-hdr.sv-hdr .svh-foot{ display:flex; gap:10px; margin-top:14px; align-items:stretch; }
.sv-hdr.sv-hdr .svh-foot a{
  flex:1; display:flex; align-items:center; justify-content:center; gap:8px; height:48px; border-radius:15px;
  text-decoration:none; font:800 15px/1.2 "Nunito Sans", sans-serif; transition:transform .4s var(--spring);
}
.sv-hdr.sv-hdr .svh-foot a:active{ transform:scale(.97); }
.sv-hdr.sv-hdr .svh-foot a[data-svh="wa"]{ flex:0 0 auto; padding:0 16px; background:#25D366; color:#fff; }
.sv-hdr.sv-hdr .svh-foot a[data-svh="wa"] svg{ width:20px; height:20px; }
@container svhdr (max-width:699px){
  .sv-hdr.sv-hdr .svh-foot a[data-svh="wa"] span{ display:none; }
  .sv-hdr.sv-hdr .svh-foot a[data-svh="wa"]{ width:48px; padding:0; }
}
/* WhatsApp da solo (menu del produttore): largo, con la scritta anche da telefono */
.sv-hdr.sv-hdr .svh-foot a[data-svh="wa"][data-wide]{ flex:1; }
@container svhdr (max-width:699px){
  .sv-hdr.sv-hdr .svh-foot a[data-svh="wa"][data-wide] span{ display:inline; }
  .sv-hdr.sv-hdr .svh-foot a[data-svh="wa"][data-wide]{ width:auto; padding:0 16px; }
}

/* bottone menta ("Get access", "Register for free"): Nunito, non Gloria */
.sv-hdr.sv-hdr .svh-panel a[data-svh="mint"]{
  background:var(--sv-mint); color:var(--sv-green); border:1px solid var(--sv-green-2);
  font:800 15.5px/1.2 Nunito, "Nunito Sans", sans-serif;
}

/* pannello account */
.sv-hdr.sv-hdr .svh-acc-h{ display:flex; gap:12px; align-items:center; margin:2px 4px 14px; }
.sv-hdr.sv-hdr .svh-acc-h img{ width:44px; height:44px; max-width:none; }
.sv-hdr.sv-hdr .svh-acc-h b{ display:block; font:800 17px/1.2 Nunito, sans-serif; color:var(--p-ink); }
.sv-hdr.sv-hdr .svh-acc-h small{ display:block; color:var(--p-soft); font-size:13px; line-height:1.3; margin-top:2px; }
.sv-hdr.sv-hdr .svh-btns > a{
  display:flex; align-items:center; justify-content:center; height:48px; border-radius:15px;
  font:800 15.5px/1.2 "Nunito Sans", sans-serif; text-decoration:none;
  transition:transform .4s var(--spring), filter .2s;
}
.sv-hdr.sv-hdr .svh-btns > a:active{ transform:scale(.97); }
.sv-hdr.sv-hdr .svh-btns > a + a{ margin-top:8px; }
.sv-hdr.sv-hdr .svh-btns > a[data-svh="green"]{ background:var(--sv-green); color:#fff; box-shadow:0 8px 18px -8px rgba(8,127,35,.7); }
.sv-hdr.sv-hdr .svh-btns > a[data-svh="green"]:hover{ filter:brightness(1.08); color:#fff; }
.sv-hdr.sv-hdr .svh-perks{ display:flex; flex-direction:column; gap:6px; margin:14px 6px; font-size:13.5px; line-height:1.35; color:var(--p-soft); }
.sv-hdr.sv-hdr .svh-perks span{ display:flex; gap:8px; align-items:center; }
.sv-hdr.sv-hdr .svh-perks svg{ width:16px; height:16px; color:var(--sv-green); flex:0 0 auto; }
.sv-hdr.sv-hdr .svh-acc .svh-group{ margin-top:12px; }
.sv-hdr.sv-hdr .svh-acc-note{ margin:10px 6px 0; font:400 13px/1.4 "Nunito Sans", sans-serif; color:var(--p-soft); }
.sv-hdr.sv-hdr a[data-svh~="danger"] b{ color:var(--sv-red); }

/* =========================================================================
   Editor e ?sv_preview=1: tutto fermo e nel flusso, pannelli sotto la barra.
   Le voci senza link si vedono tratteggiate.
   ========================================================================= */
.sv-hdr.sv-hdr-slot.is-design .sv-hdr-space{ height:0; }
.sv-hdr.sv-hdr-slot.is-design .sv-hdr-fix{ position:relative; top:0; height:auto; z-index:auto; }
.sv-hdr.sv-hdr-slot.is-design .svh{ position:relative; top:0; height:auto; }
.sv-hdr.sv-hdr-slot.is-design .svh-row{ height:var(--bh); }
.sv-hdr.sv-hdr-slot.is-design .svh-bar{ top:0; height:var(--bh); }
.sv-hdr.sv-hdr-slot.is-design .svh.is-scrolled .svh-bar{ opacity:.35; transform:none; }
.sv-hdr.sv-hdr-slot.is-design .svh-panel{ position:relative; top:auto; right:auto; left:auto; margin:6px var(--gx) 12px auto; }
.sv-hdr.sv-hdr .is-missing{ outline:1.5px dashed var(--sv-red); outline-offset:-2px; opacity:.7; cursor:help; }

/* =========================================================================
   Corazza: le proprietà che i temi toccano sempre sui link e sui bottoni.
   ========================================================================= */
.sv-hdr.sv-hdr .svh a,
.sv-hdr.sv-hdr .svh button{ text-decoration:none!important; text-transform:none!important; }

/* movimento ridotto: solo dissolvenze */
@media (prefers-reduced-motion:reduce){
  .sv-hdr.sv-hdr .svh *,
  .sv-hdr.sv-hdr .svh *::before,
  .sv-hdr.sv-hdr .svh *::after{ transition-duration:.01ms!important; animation:none!important; }
}

/* chiuso vuol dire spento, anche contro regole d'autore che dicono display */
.sv-hdr.sv-hdr [hidden]{ display:none!important; }
