/* ==========================================================================
   VINATICO.IT — DESIGN TOKENS
   Estratti da https://vinaticodd.ddproject.net/ (tema vinatico-custom)
   e normalizzati in un set unico e non ambiguo.
   Versione 1.0 — 25 settembre 2026
   ========================================================================== */

:root{

  /* --- 1. COLORE / VINO (primario) --------------------------------------- */
  --vin-vino:            #5A1110;  /* brand primario: logo, footer, hero, titoli */
  --vin-vino-scuro:      #470A09;  /* hover, profondità */
  --vin-vino-profondo:   #2A0605;  /* overlay, gradienti su foto */
  --vin-vino-tenue:      #7A403F;  /* testo secondario su crema */
  --vin-vino-polvere:    #AC806E;  /* tacche, divisori, stati disabilitati */
  --vin-vino-velo:       #F7EFF0;  /* fondo tint leggerissimo */

  /* --- 2. COLORE / CREMA (superfici) ------------------------------------- */
  --vin-crema:           #FEEFCD;  /* superficie primaria: header, sezioni */
  --vin-crema-calda:     #FEEBC6;  /* superficie alternata, testo su vino */
  --vin-crema-chiara:    #FFF8E8;  /* fondo più chiaro, input */
  --vin-champagne:       #F5EEDC;  /* CTA piena su fondo vino */
  --vin-champagne-2:     #F3E9CC;  /* legacy plugin "special" */
  --vin-beige:           #FBF9F4;  /* fondo neutro caldo */
  --vin-bianco:          #FFFFFF;  /* card, sezioni prodotto */

  /* --- 3. COLORE / ORO (accento) ----------------------------------------- */
  --vin-oro:             #B38F4D;  /* accento canonico: filetti, micro-testi */
  --vin-oro-hover:       #9C7B3D;
  --vin-oro-caldo:       #DCA844;  /* accento su fondo vino */
  --vin-oro-eyebrow:     #D4AF37;  /* occhiello "99 SPECIAL" */
  --vin-oro-chiaro:      #FAEFB0;
  --vin-oro-bordo:       #EADEC7;  /* bordo su fondo crema */
  --vin-oro-testo:       #836938;  /* NUOVO: unico oro leggibile come TESTO su crema/bianco (4.56:1) */

  /* --- 4. COLORE / NEUTRI ------------------------------------------------ */
  /* NORMALIZZATO. Il sito usa sette near-black quasi indistinguibili
     (#000000 #1F1918 #2B2524 #2A2A2A #2D2422 #4A3A38 #4A4A4A) e sei grigi.
     Qui ne restano due: un inchiostro e un grigio. */
  --vin-inchiostro:      #1F1918;  /* testo corpo — 17,35:1 su bianco.
                                      ERA #000000: il nero puro e' duro accanto al
                                      bordeaux; questo e' caldo e resta AAA */
  --vin-grigio:          #5E524F;  /* testo secondario, meta, placeholder.
                                      7,51:1 su bianco - 6,60:1 su crema.
                                      ERA #736968 / #767676 / #5F5F5F / #4A4A4A */
  --vin-bordo:           #E5DFD9;  /* bordo DECORATIVO — mai sui controlli */
  --vin-bordo-interattivo: #AC806E; /* bordo di input, checkbox, stepper:
                                      3,46:1 su bianco, unico che soddisfa
                                      WCAG 1.4.11 per i componenti */
  --vin-grigio-foto:     #F5F5F5;  /* placeholder immagine */
  --vin-off-white:       #F8F5F2;  /* fondo tag "RARO" */

  /* --- 5. COLORE / SEMANTICI --------------------------------------------- */
  --vin-successo:        #2E6F40;
  --vin-errore:          #C71610;
  --vin-promo:           #FAF0E6;  /* fondo tag PROMO — misurato su /promo/. ERA #F4D8DA: variabile
                                      --tag-special-bg del tema, dichiarata ma non usata sui tag */
  --vin-risparmio:       #FAF3E3;  /* fondo badge «Risparmi» sulla card (bordo e testo --vin-vino) */
  --vin-rosa:            #FBE3E0;
  --vin-whatsapp:        #25D366;

  /* --- 6. COLORE / ALPHA ------------------------------------------------- */
  --vin-vino-90:  rgba(90,17,16,.90);
  --vin-vino-45:  rgba(42,10,9,.45);
  --vin-vino-30:  rgba(90,17,16,.30);
  --vin-vino-15:  rgba(90,17,16,.15);
  --vin-vino-06:  rgba(90,17,16,.06);

  /* --- 7. TIPOGRAFIA / FAMIGLIE ------------------------------------------ */
  --vin-serif: 'Instrument Serif','Instrument Serif Fallback',Georgia,'Times New Roman',serif;
  --vin-sans:  'Inter','Inter Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  /* Instrument Serif esiste SOLO in 400 (regular + italic).
     Non usare mai 500/600/700 su --vin-serif: il browser sintetizza il grassetto. */
  --vin-serif-peso: 400;

  /* --- 8. TIPOGRAFIA / SCALA (mobile-first, fluida) ---------------------- */
  --vin-fs-display: clamp(2.25rem, 1.60rem + 2.8vw, 3.50rem); /* 36 → 56 */
  --vin-fs-h1:      clamp(2.00rem, 1.55rem + 1.9vw, 2.88rem); /* 32 → 46 */
  --vin-fs-h2:      clamp(1.75rem, 1.40rem + 1.6vw, 2.69rem); /* 28 → 43 */
  --vin-fs-h3:      clamp(1.25rem, 1.15rem + 0.4vw, 1.50rem); /* 20 → 24 */
  /* Titoli delle PAGINE INTERNE. Il sito ne aveva tre (32/34/38px) con due
     colori diversi: qui restano due livelli, sempre in --vin-vino. */
  --vin-fs-h1-pagina: clamp(1.75rem, 1.45rem + 1.1vw, 2.25rem); /* 28 → 36 */
  --vin-fs-h2-pagina: clamp(1.50rem, 1.35rem + 0.6vw, 1.75rem); /* 24 → 28 */
  --vin-fs-h4:      1.3125rem;  /* 21px — titolo prodotto */
  --vin-fs-body-lg: 1.125rem;   /* 18px */
  --vin-fs-body:    1rem;       /* 16px */
  --vin-fs-small:   0.875rem;   /* 14px */
  --vin-fs-meta:    0.8125rem;  /* 13px */
  --vin-fs-eyebrow: 0.75rem;    /* 12px */
  --vin-fs-tag:     0.594rem;   /* 9.5px */

  --vin-lh-stretta: 1.10;  /* display */
  --vin-lh-titolo:  1.15;  /* h1–h3 */
  --vin-lh-media:   1.22;  /* titoli prodotto */
  --vin-lh-corpo:   1.60;  /* paragrafi */

  --vin-ls-eyebrow: 0.125em;  /* 2px @12px */
  --vin-ls-tag:     0.052em;  /* 0.5px @9.5px */
  --vin-ls-cta:     0.015em;  /* 0.3px @20px */

  /* --- 9. SPAZIATURA (base 4) -------------------------------------------- */
  --vin-sp-1: 4px;   --vin-sp-2: 8px;   --vin-sp-3: 12px;  --vin-sp-4: 16px;
  --vin-sp-5: 20px;  --vin-sp-6: 24px;  --vin-sp-8: 32px;  --vin-sp-10: 40px;
  --vin-sp-12: 48px; --vin-sp-15: 60px; --vin-sp-20: 80px; --vin-sp-25: 100px;

  /* --- 10. RAGGI ---------------------------------------------------------- */
  --vin-r-xs:   2px;
  --vin-r-sm:   4px;
  --vin-r-md:   8px;
  --vin-r-lg:   16px;
  --vin-r-xl:   24px;
  --vin-r-pill: 999px;   /* UNICO valore pill: sostituisce 50px/99px/9999px */
  --vin-r-cerchio: 50%;

  /* --- 11. OMBRE ---------------------------------------------------------- */
  --vin-om-xs: 0 2px 8px rgba(90,17,16,.06);
  --vin-om-sm: 0 4px 16px rgba(0,0,0,.02);
  --vin-om-md: 0 4px 20px rgba(0,0,0,.08);
  --vin-om-lg: 0 14px 30px -8px rgba(42,10,9,.50);
  --vin-om-xl: 0 22px 60px rgba(71,10,9,.24);

  /* --- 12. LAYOUT --------------------------------------------------------- */
  --vin-contenitore:      1400px;
  --vin-contenitore-max:  1440px;
  --vin-gutter:           20px;
  --vin-gutter-lg:        24px;

  /* --- 13. FOCUS ---------------------------------------------------------- */
  /* Sul sito NESSUN elemento interattivo ha un focus visibile. Questi token
     colmano quella lacuna: vedi vinatico-components.css sezione 0. */
  --vin-focus-colore:   #5A1110;
  --vin-focus-chiaro:   #FEEFCD;   /* su fondo vino */
  --vin-focus-spessore: 2px;
  --vin-focus-offset:   2px;

  /* --- 14. MOTION --------------------------------------------------------- */
  --vin-durata-rapida:  .18s;
  --vin-durata-base:    .30s;
  --vin-durata-lenta:   .60s;
  --vin-ease:           cubic-bezier(.22,.61,.36,1);
}

@media (prefers-reduced-motion: reduce){
  :root{ --vin-durata-rapida:0s; --vin-durata-base:0s; --vin-durata-lenta:0s; }
}


/* ==========================================================================
   PAGINA BASE — aggiunte al CSS del tema
   Solo tre cose, tutte dichiarate in ../LAYOUT.md:
   1. il focus visibile che il sito non ha (regola non negoziabile del kit);
   2. la colonna di testo per le sezioni nuove (misura letta dal sito);
   3. il peso 400 sui titoli che il tema mette a 700 (grassetto sintetico).
   Il prefisso vin-pb- evita collisioni: il tema usa già vin-btn, vin-campo, vin-icona.
   ========================================================================== */

/* 1. Focus — il tema ha 20 regole :focus, nessuna visibile sulla navigazione */
.vin-pb-salta{
  position: absolute; left: 12px; top: -60px; z-index: 100001;
  background: var(--vin-vino); color: var(--vin-crema);
  padding: 10px 18px; border-radius: var(--vin-r-pill);
  font: 600 14px/1 var(--vin-sans); text-decoration: none;
}
.vin-pb-salta:focus{ top: 12px }

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{
  outline: var(--vin-focus-spessore) solid var(--vin-focus-colore);
  outline-offset: var(--vin-focus-offset);
}
.vinatico-topbar :focus-visible,
.vinatico-navbar-dark :focus-visible,
.vinatico-footer-dark :focus-visible,
.col-bordeaux :focus-visible{ outline-color: var(--vin-focus-chiaro) }

/* 2. Colonna di testo per sezioni nuove.
      Misure del sito: descrizione catalogo 920px, colonna pagine di contenuto 760px,
      testo degli split 540px. Per un paragrafo centrato si usa 760. */
.vin-pb-testo{
  max-width: 760px; margin: 0 auto;
  font: 400 14.5px/1.65 var(--vin-sans);
  color: var(--vin-inchiostro);
  text-align: center;
}

/* 3. Instrument Serif esiste solo a 400: il tema usa 700 su .hp-section-heading-serif
      e .section-title, e il browser ingrassa in modo sintetico. Nei blocchi nuovi si
      aggiunge .vin-pb-peso. Misura e colore restano quelli del tema. */
.vin-pb-peso{ font-weight: 400 }



/* --- FIX BODY & GATE BACKGROUND & HIDE 99 SPECIAL BAR --- */
html, body.vinatico-secret-promo-body, body.vin-sp-page {
  margin: 0;
  padding: 0;
}

body.vin-sp-locked,
body[data-autenticato="false"],
.vin-promo__gate-section {
  background-color: var(--vin-vino) !important;
  color: var(--vin-crema) !important;
  min-height: 100vh;
  min-height: 100dvh;
}

/* Nasconde la sticky bar della 99 Special nella pagina secret pre-order */
#promo-progress-bar,
.vin-99-fissa #promo-progress-bar {
  display: none !important;
}


/* ==========================================================================
   VINATICO.IT — SECRET PROMO COMMUNITY
   Foglio di stile specifico della lavorazione (allocazione riservata Barolo)
   Conforme a brand-kit/LAYOUT.md e integrato con il CSS del tema vinatico-custom.
   TUTTI I COLORI PROVENGONO RIGOROSAMENTE DAI TOKEN --vin-*.
   ========================================================================== */

/* Tokens imported below */

/* --------------------------------------------------------------------------
   0. RESET DI CONVIVENZA E TIPOGRAFIA GLOBALE
   -------------------------------------------------------------------------- */
body.theme-vinatico-custom {
  font-family: var(--vin-sans);
  color: var(--vin-inchiostro);
  background-color: var(--vin-bianco);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

/* --------------------------------------------------------------------------
   1. BARRA DI CONTROLLO PROTOTIPO DEV (SOLO TEST)
   -------------------------------------------------------------------------- */
.vin-promo__devbar {
  background-color: var(--vin-vino-scuro);
  color: var(--vin-crema);
  font-family: var(--vin-sans);
  font-size: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--vin-oro-caldo);
  position: sticky;
  top: 0;
  z-index: 10000;
}

.vin-promo__devbar-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.vin-promo__devbar-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: 0.05em;
}

.vin-promo__devbar-dot {
  width: 8px;
  height: 8px;
  background-color: var(--vin-oro-caldo);
  border-radius: var(--vin-r-cerchio);
  box-shadow: 0 0 6px var(--vin-oro-caldo);
}

.vin-promo__devbar-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.vin-promo__devbar-label {
  color: var(--vin-crema-chiara);
  font-weight: 500;
}

.vin-promo__devbar-select {
  background-color: var(--vin-vino);
  color: var(--vin-crema);
  border: 1px solid var(--vin-oro-caldo);
  border-radius: var(--vin-r-xs);
  padding: 4px 8px;
  font-size: 12px;
  font-family: var(--vin-sans);
  cursor: pointer;
}

.vin-promo__devbar-select:focus-visible {
  outline: 2px solid var(--vin-crema);
  outline-offset: 1px;
}

.vin-promo__devbar-btn {
  background-color: transparent;
  color: var(--vin-crema);
  border: 1px solid var(--vin-oro-bordo);
  border-radius: var(--vin-r-xs);
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all var(--vin-durata-rapida) var(--vin-ease);
}

.vin-promo__devbar-btn:hover {
  background-color: var(--vin-vino);
}

.vin-promo__devbar-quick-btns {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.vin-promo__devbar-btn.is-active {
  background-color: rgba(197, 168, 128, 0.28) !important;
  border-color: var(--vin-oro-caldo) !important;
  color: var(--vin-crema) !important;
  font-weight: 600;
}

.vin-promo__devbar-btn--soldout {
  background-color: var(--vin-oro-caldo) !important;
  color: var(--vin-vino-scuro) !important;
  font-weight: 700 !important;
  border-color: var(--vin-oro-caldo) !important;
}

.vin-promo__devbar-btn--soldout:hover {
  background-color: var(--vin-crema) !important;
  color: var(--vin-vino) !important;
}

/* --------------------------------------------------------------------------
   2. HEADER PROTETTO DEL TEMA (64 px a desktop, 125 px a mobile)
/* --------------------------------------------------------------------------
   4. HEADER PROTETTO (ISOLATO & RESPONSIVE - PIXEL-PERFECT DESIGN SYSTEM)
   -------------------------------------------------------------------------- */
.vinatico-sticky-header,
.vin-sp-sticky-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  background-color: var(--vin-crema, #FAF6EF) !important;
  box-shadow: 0 1px 0 rgba(90, 17, 16, 0.08) !important;
}

.vin-sp-header-main,
.vinatico-sticky-header .vinatico-header-main,
.vinatico-header-main {
  background-color: var(--vin-crema, #FAF6EF) !important;
  border-bottom: 1px solid rgba(90, 17, 16, 0.1) !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.vin-sp-header-top-row,
.vinatico-sticky-header .vin-sp-header-top-row,
body.vin-sp-page .vinatico-header-top-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  grid-template-columns: none !important;
  grid-template-areas: none !important;
  grid-area: auto !important;
  gap: 0 !important;
  padding: 0 16px !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* Logo allineato rigorosamente a sinistra senza gap */
.vin-sp-logo,
.vinatico-sticky-header .vin-sp-logo,
body.vin-sp-page .vinatico-logo {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  grid-area: auto !important;
  justify-self: flex-start !important;
  align-self: center !important;
  margin: 0 !important;
  margin-right: auto !important;
  padding: 0 !important;
  text-align: left !important;
  flex-shrink: 0 !important;
}

.vin-sp-logo a,
body.vin-sp-page .vinatico-logo a {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.vin-sp-logo img,
body.vin-sp-page .vinatico-logo img {
  display: block !important;
  height: 34px !important;
  max-height: 34px !important;
  width: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
}

/* Azioni a destra: WhatsApp e Carrello Drawer */
.vin-sp-header-actions,
.vinatico-sticky-header .vin-sp-header-actions,
body.vin-sp-page .vinatico-header-actions {
  grid-area: auto !important;
  justify-self: flex-end !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  margin: 0 !important;
  margin-left: auto !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.vin-sp-action-whatsapp,
body.vin-sp-page .vinatico-action-whatsapp {
  font-family: var(--vin-serif, 'Instrument Serif', Georgia, serif) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #5A1110 !important;
  text-decoration: none !important;
  text-transform: lowercase !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
  transition: opacity 0.15s ease !important;
}

.vin-sp-action-whatsapp:hover,
body.vin-sp-page .vinatico-action-whatsapp:hover {
  opacity: 0.75 !important;
}

.vinatico-header-cart-wrap {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

.vinatico-action-icon {
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: 4px !important;
  color: #5A1110 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  line-height: 1 !important;
}

.vinatico-action-icon svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  fill: currentColor !important;
}

.action-badge-count {
  position: absolute !important;
  top: -2px !important;
  right: -4px !important;
  background-color: #5A1110 !important;
  color: #FAF6EF !important;
  font-family: var(--vin-sans, 'Inter', sans-serif) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  padding: 0 3px !important;
  border-radius: 99px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

/* Adattamento schermi medi e desktop (>= 769px) */
@media (min-width: 769px) {
  .vin-sp-header-main,
  .vinatico-sticky-header .vinatico-header-main,
  .vinatico-header-main {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
  }
  .vin-sp-header-top-row,
  .vinatico-sticky-header .vin-sp-header-top-row,
  body.vin-sp-page .vinatico-header-top-row {
    padding: 0 24px !important;
  }
  .vin-sp-logo img,
  body.vin-sp-page .vinatico-logo img {
    height: 42px !important;
    max-height: 42px !important;
  }
  .vin-sp-action-whatsapp,
  body.vin-sp-page .vinatico-action-whatsapp {
    font-size: 19px !important;
    margin-right: 4px !important;
  }
  .vinatico-action-icon svg {
    width: 22px !important;
    height: 22px !important;
  }
}



/* --------------------------------------------------------------------------
   3. TITOLI E TIPOGRAFIA CONDIVISA
   -------------------------------------------------------------------------- */
.vin-promo__eyebrow {
  font-family: var(--vin-sans);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.125em;
  color: var(--vin-vino);
  margin-bottom: 8px;
}

/* Scala titoli secondo LAYOUT.md: H1 38→54, H2 28→40, Instrument Serif 400 */
.catalog-heading-title.vin-pb-peso {
  font-family: var(--vin-serif);
  font-size: clamp(38px, 4.5vw, 54px);
  font-weight: 400;
  line-height: 1.10;
  color: var(--vin-vino);
  margin: 0 0 16px 0;
}

.hp-section-heading-serif.vin-pb-peso {
  font-family: var(--vin-serif);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 400;
  line-height: 1.20;
  color: var(--vin-vino);
  margin: 0 0 16px 0;
}

.text-center {
  text-align: center;
}

/* Nascita minimal gate: nessun header prima dell'autenticazione (eccetto se sold-out) */
body[data-fase="1"][data-autenticato="false"]:not([data-soldout="true"]) .vinatico-sticky-header {
  display: none !important;
}

/* Il gate occupa l'altezza residua solo nello stato gate non soldout */
body[data-fase="1"][data-autenticato="false"]:not([data-soldout="true"]) {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

body[data-fase="1"][data-autenticato="false"]:not([data-soldout="true"]) #primary {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* --------------------------------------------------------------------------
   4. VISTA 1: GATE PASSWORD (ACCESSO RISERVATO - FULLSCREEN BORDEAUX)
   Ritmo verticale sulla scala base-4 dei token (--vin-sp-*): 60 logo · 12
   occhiello · 20 titolo · 40 testo → form · 12 dentro il form · 24 al piede.
   -------------------------------------------------------------------------- */
.vin-promo__gate-section {
  flex: 1 1 auto;
  background-color: var(--vin-vino);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--vin-sp-15) var(--vin-gutter);
  box-sizing: border-box;
}

.vin-promo__gate-container {
  display: flex;
  justify-content: center;
  width: 100%;
}

.vin-promo__gate-wrap {
  max-width: 620px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

/* Il marchio è un elemento a sé: gli serve più aria di quella che separa
   occhiello, titolo e testo fra loro, altrimenti il blocco legge piatto. */
.vin-promo__gate-logo {
  margin-bottom: var(--vin-sp-15);
  display: flex;
  justify-content: center;
}

.vin-promo__gate-logo img {
  height: 52px;
  width: auto;
  display: block;
}

.special-hero-eyebrow {
  display: block;
  font-family: var(--vin-sans);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #c5a880;
  margin-bottom: 14px;
}

.vin-promo__gate-wrap .special-hero-eyebrow {
  text-align: center;
  margin-bottom: var(--vin-sp-3);
}

.vin-promo__gate-title {
  color: var(--vin-crema) !important;
  margin-bottom: var(--vin-sp-5) !important;
  text-wrap: balance;
}

.vin-promo__gate-desc {
  color: var(--vin-crema-calda) !important;
  margin: 0 auto var(--vin-sp-10) !important;
  max-width: 540px;   /* colonna di testo canonica degli split, LAYOUT.md §3 */
  line-height: var(--vin-lh-corpo);
  text-wrap: pretty;
}

.vin-promo__gate-desc strong {
  color: var(--vin-crema);
}

.vin-promo__gate-form {
  max-width: 380px;
  margin: 0 auto;
}

.vin-promo__gate-field-group {
  display: flex;
  flex-direction: column;
  gap: var(--vin-sp-3);
  width: 100%;
}

/* Input e CTA condividono altezza e raggio: letti insieme sono un controllo solo */
.vin-promo__gate-input,
.vin-promo__gate-submit {
  width: 100%;
  min-height: 52px;
  border-radius: var(--vin-r-pill);
  padding: var(--vin-sp-3) var(--vin-sp-6);
  box-sizing: border-box;
  text-align: center;
}

.vin-promo__gate-input {
  background-color: var(--vin-crema-chiara);
  border: 1px solid var(--vin-oro-caldo);
  font-family: var(--vin-sans);
  font-size: 15px;
  color: var(--vin-inchiostro);
  transition: border-color var(--vin-durata-rapida) var(--vin-ease), box-shadow var(--vin-durata-rapida) var(--vin-ease);
}

.vin-promo__gate-input::placeholder {
  color: var(--vin-grigio);
  opacity: 0.8;
}

/* Stato di errore: il bordo del campo lo dichiara, non solo il messaggio sotto */
.vin-promo__gate-input[aria-invalid="true"] {
  border-color: var(--vin-errore);
}

.vin-promo__gate-input:focus-visible {
  outline: var(--vin-focus-spessore) solid var(--vin-focus-chiaro);
  outline-offset: var(--vin-focus-offset);
}

.vin-promo__gate-submit {
  background-color: var(--vin-crema);
  color: var(--vin-vino);
  border: 1px solid var(--vin-crema);
  font-family: var(--vin-serif);
  font-size: 20px;
  font-weight: var(--vin-serif-peso);
  letter-spacing: var(--vin-ls-cta);
  cursor: pointer;
  transition: background-color var(--vin-durata-rapida) var(--vin-ease), border-color var(--vin-durata-rapida) var(--vin-ease);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.vin-promo__gate-submit:hover {
  background-color: var(--vin-crema-calda);
  border-color: var(--vin-crema-calda);
}

.vin-promo__gate-submit:focus-visible {
  outline: var(--vin-focus-spessore) solid var(--vin-oro-caldo);
  outline-offset: var(--vin-focus-offset);
}

/* Il suggerimento è terziario: 24 px dal bottone (12 di gap + 12 di margine) */
.vin-promo__gate-hint {
  font-size: var(--vin-fs-eyebrow);
  line-height: 1.5;
  color: var(--vin-crema-calda);
  opacity: 0.85;
  margin: var(--vin-sp-3) 0 0;
  text-align: center;
}

.vin-promo__gate-hint code {
  background-color: var(--vin-vino-scuro);
  color: var(--vin-oro-caldo);
  border: 1px solid var(--vin-oro-caldo);
  padding: 2px 6px;
  border-radius: var(--vin-r-xs);
  font-weight: 700;
}

.vin-promo__gate-error {
  background-color: var(--vin-vino-scuro);
  border: 1px solid var(--vin-errore);
  color: var(--vin-crema-chiara);
  padding: var(--vin-sp-3) var(--vin-sp-4);
  border-radius: var(--vin-r-xs);
  font-size: var(--vin-fs-meta);
  text-align: center;
  line-height: 1.4;
}

/* Gate a 375: gutter del tema sotto i 600 px e respiro verticale ridotto,
   mantenendo la gerarchia (il marchio resta il distacco più largo). */
@media (max-width: 600px) {
  .vin-promo__gate-section {
    /* Il gutter stretto del tema (12–18) è per le griglie: qui sotto c'è un
       paragrafo centrato e a 375 arriverebbe a 13 px dal bordo. Resta 20. */
    padding: var(--vin-sp-10) var(--vin-gutter);
  }

  .vin-promo__gate-logo {
    margin-bottom: var(--vin-sp-10);
  }

  .vin-promo__gate-logo img {
    height: 44px;
  }

  .vin-promo__gate-title {
    margin-bottom: var(--vin-sp-4) !important;
  }

  .vin-promo__gate-desc {
    margin-bottom: var(--vin-sp-8) !important;
  }
}

/* --------------------------------------------------------------------------
   5. VISTA 2: HERO — BANDA VINO 50/50, TESTO A SINISTRA E IMMAGINE A DESTRA

   La hero riusa il blocco vero di /99-special/ (.special-hero-*), che vive già
   in vinatico-app.min.css, con due differenze volute: la griglia va a 50/50
   (lo schema «split a scacchiera» di LAYOUT.md §3) e il box dei tre passi
   ospita il timer invece della meccanica.

   ⚠ Sul fondo vino il blocco del tema usa due colori che nei token non esistono:
   #5B1010 per la banda (il token --vin-vino è #5A1110) e #c5a880 per i filetti
   della cornice. Sono i valori misurati sul sito, quindi restano quelli del
   tema e non vengono riscritti qui. I blocchi nuovi qui sotto non introducono
   un secondo oro: usano solo crema e champagne dei token. Vedi README,
   «Decisioni aperte».
   -------------------------------------------------------------------------- */
.vin-promo__hero {
  scroll-margin-top: var(--vin-sp-20);

  /* Proporzione dell'immagine dell'edizione: unico valore da cambiare quando
     arrivano le foto vere (una bottiglia in verticale vorrà 4/5 o 3/4). */
  --vin-promo-media-ratio: 5 / 4;
}

/* 50/50 invece del 1.35fr/0.85fr del tema */
.vin-promo__hero-wrapper {
  grid-template-columns: 1fr 1fr;
}

/* Unica misura del tema che qui viene corretta: il blocco /99-special/ porta
   l'H1 a clamp(32px, 3.8vw, 44px), sotto i 46 px che LAYOUT.md §5 fissa per un
   H1 di pagina (e che verifica.js controlla). Riportato alla scala canonica,
   la stessa del titolo del gate, così i due schermi del flusso si somigliano.
   Da riportare anche in WordPress se il dev riusa il template di /99-special/. */
.vin-promo__hero .special-hero-title {
  font-size: clamp(38px, 4.5vw, 54px);
  line-height: var(--vin-lh-titolo);
  margin-bottom: var(--vin-sp-4);
  text-wrap: balance;
}

.vin-promo__hero .special-hero-description {
  /* colonna di testo canonica di uno split, LAYOUT.md §3 */
  max-width: 540px;
  margin-bottom: 0;
}

/* Pill di apertura: classe del tema (.product-tag.tag-99), fondo #FAEFB0,
   testo vino e bordo #DCA844 */
.vin-promo__hero-pill {
  display: inline-block;
  width: auto;
  font-family: var(--vin-sans);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--vin-sp-1) var(--vin-sp-3);
  border-radius: var(--vin-r-pill);
  margin: 0 0 var(--vin-sp-4);
}

/* CTA solo mobile verso la griglia delle bottiglie.
   Il tema non ha un bottone pensato per il fondo vino: sono tutti vino su
   chiaro. Qui si tengono le misure di .vinatico-btn-primary (12 px, 700,
   maiuscolo, ls 1px, padding 12/24, raggio 2) invertendo i due colori. */
.vin-promo__hero-cta {
  display: none;
  width: auto;
  background-color: var(--vin-champagne);
  color: var(--vin-vino);
  border: 1px solid var(--vin-champagne);
  border-radius: var(--vin-r-pill);
  padding: var(--vin-sp-3) var(--vin-sp-8);
  margin-top: var(--vin-sp-6);
  font-family: var(--vin-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--vin-durata-rapida) var(--vin-ease);
}

.vin-promo__hero-cta:hover {
  background-color: var(--vin-crema);
  border-color: var(--vin-crema);
  color: var(--vin-vino);
}

.vin-promo__hero-cta:focus-visible {
  outline: var(--vin-focus-spessore) solid var(--vin-focus-chiaro);
  outline-offset: var(--vin-focus-offset);
}

/* Riga di disponibilità in pillola: x/21 bottiglie disponibili */
.vin-promo__stock-pill-wrap {
  margin-top: var(--vin-sp-4);
  margin-bottom: var(--vin-sp-2);
}

.vin-promo__stock-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--vin-sp-2);
  font-family: var(--vin-sans);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--vin-crema-calda);
  background: transparent;
  border: 1px solid rgba(197, 168, 128, 0.45);
  padding: 6px 16px;
  border-radius: var(--vin-r-pill);
  letter-spacing: 0.02em;
}

.vin-promo__stock-pill strong {
  color: #c5a880;
  font-weight: 700;
}

/* Timer countdown nella griglia unificata 99 Special (.special-steps-unified-box) */
.vin-promo__timer-blocco {
  margin-top: var(--vin-sp-8);
  max-width: 480px;
}

.vin-promo__timer-intro {
  font-family: var(--vin-sans);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--vin-crema-calda);
  margin: 0 0 var(--vin-sp-3);
}

.special-steps-unified-box.vin-promo__timer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  border: 1px solid rgba(197, 168, 128, 0.35) !important;
  background: transparent !important;
  margin-bottom: var(--vin-sp-4);
  width: 100%;
}

.vin-promo__timer-grid .special-step-column.vin-promo__timer-col {
  padding: 18px 12px;
  text-align: center;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  border-right: 1px solid rgba(197, 168, 128, 0.35) !important;
  border-bottom: none !important;
  gap: 4px;
}

.vin-promo__timer-grid .special-step-column.vin-promo__timer-col:last-child {
  border-right: none !important;
}

.vin-promo__timer-num {
  font-family: var(--vin-serif);
  font-size: clamp(34px, 4vw, 44px);
  font-weight: 400; /* Regola GEMINI.md: Instrument Serif solo peso 400 */
  line-height: 1;
  color: #c5a880;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.vin-promo__timer-label {
  font-family: var(--vin-sans);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.6px;
  color: var(--vin-crema-calda);
  opacity: 0.85;
  text-align: center;
  line-height: 1.2;
}

@media (max-width: 480px) {
  .vin-promo__timer-grid .special-step-column.vin-promo__timer-col {
    padding: 14px 6px;
  }
  .vin-promo__timer-num {
    font-size: 28px;
  }
  .vin-promo__timer-label {
    font-size: 10px;
    letter-spacing: 1px;
  }
}

/* Nota esclusiva post-timer: data di apertura a tutti */
.vin-promo__esclusiva {
  margin-top: var(--vin-sp-2);
  max-width: 480px;
}

.vin-promo__esclusiva p {
  font-family: var(--vin-sans);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--vin-crema-calda);
  opacity: 0.88;
  margin: 0;
}

.vin-promo__esclusiva strong {
  color: var(--vin-champagne);
  font-weight: 600;
}

/* Immagine dell'edizione. Finché non arrivano le foto è un segnaposto:
   pannello incassato sul fondo vino, con il filetto della banda. */
.vin-promo__hero-media {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vin-promo__hero-media img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: contain;
  display: block;
}

.vin-promo__hero-media-ph {
  width: 100%;
  height: 100%;
  min-height: 280px;
  background-color: var(--vin-vino-scuro, #470A09);
  border: 1px solid var(--vin-vino-polvere, rgba(172, 128, 110, 0.45));
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--vin-sp-2, 8px);
  text-align: center;
  padding: var(--vin-sp-6, 24px);
  box-sizing: border-box;
}

.vin-promo__hero-media-ph-titolo {
  font-family: var(--vin-sans);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--vin-ls-eyebrow);
  color: var(--vin-crema-calda);
  opacity: 0.7;
}

.vin-promo__hero-media-ph-nota {
  font-family: var(--vin-sans);
  font-size: 12px;
  font-style: italic;
  color: var(--vin-crema-calda);
  opacity: 0.45;
}

/* Sotto i 991 il tema manda la griglia della hero a una colonna e impila i
   tre passi. Il timer però deve restare a tre colonne anche sul telefono:
   qui si annullano le due regole del tema solo per lui. */
@media (max-width: 991px) {
  .vin-promo__hero-wrapper {
    grid-template-columns: 1fr;
  }

  .vin-promo__hero-cta {
    display: inline-block;
  }

  .vin-promo__timer-cell:last-child {
    border-right: none;
  }
}

@media (max-width: 600px) {
  .vin-promo__timer {
    /* le tre unità restano in riga: si stringe il passo, non si impila.
       Cambiando le due variabili si muovono cifre, due punti e spaziatura. */
    --vin-promo-timer-cifra: clamp(38px, 11vw, 52px);
    --vin-promo-timer-gap: var(--vin-sp-8);
  }

  .vin-promo__timer-label {
    font-size: 10px;
    letter-spacing: 0.1em;
  }
}

/* --------------------------------------------------------------------------
   6. SEZIONE CATALOGO & CARD PRODOTTO CANONICHE (VINATICO-WINE-CARD)
   Fedele al 100% a LAYOUT.md e alle istruzioni esplicite di Nicola
   -------------------------------------------------------------------------- */
.vin-promo__catalog-section {
  padding: 30px 0 60px;
  background-color: var(--vin-bianco);
  /* bersaglio della CTA mobile: l'header è sticky, il titolo non deve finirci
     sotto (125 px a 375, 64 da 992 in su) */
  scroll-margin-top: 135px;
}

@media (min-width: 992px) {
  .vin-promo__catalog-section {
    scroll-margin-top: 74px;
  }
}

.vinatico-catalog-intro-header {
  margin-bottom: 36px;
}

/* Griglia prodotti 4 colonne a 1440px */
.vinatico-products-grid.vinatico-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* ==========================================================================
   CARD PRODOTTO VINATICO — Rispetta al 100% layout e stile globale del tema
   Tutti gli stili base derivano da vinatico-app.css (.vinatico-wine-card)
   ========================================================================== */
.wine-card-image-wrap img[src$=".svg"] {
  object-fit: contain !important;
  padding: 16px;
  box-sizing: border-box;
}

.wine-card-stock-bar.is-out {
  background-color: #8C8280 !important;
}

.vinatico-wine-card.is-sold-out {
  opacity: 0.85;
}


/* --------------------------------------------------------------------------
   7. BLOCCO ISCRIZIONE VINATICO PLUS (FASE 2)
   -------------------------------------------------------------------------- */
.vin-promo__plus-section {
  padding: 40px 0 60px;
  background-color: var(--vin-bianco);
}

.vin-promo__plus-box {
  background-color: var(--vin-crema);
  border: 1px solid var(--vin-oro-bordo);
  border-radius: var(--vin-r-sm);
  padding: 40px 32px;
  max-width: 820px;
  margin: 0 auto;
}

.vin-promo__plus-form {
  max-width: 520px;
  margin: 24px auto 0;
}

/* --------------------------------------------------------------------------
   8. RASSICURAZIONI UFFICIALI (3 COLONNE)
   -------------------------------------------------------------------------- */
.vin-promo__trust-section {
  background-color: var(--vin-crema);
  /* niente filetto sopra: la barra attacca direttamente alla griglia prodotti */
  border-bottom: 1px solid var(--vin-oro-bordo);
  padding: 28px 0;
}

.vinatico-trust-3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.trust-3col-item {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  color: inherit;
}

.trust-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.trust-icon img {
  width: 48px;
  height: 48px;
  display: block;
}

.trust-text {
  display: flex;
  flex-direction: column;
}

.trust-title {
  font-family: var(--vin-sans);
  font-size: 15px;
  font-weight: 700;
  color: var(--vin-vino);
  margin: 0 0 2px 0;
}

.trust-sub {
  font-family: var(--vin-sans);
  font-size: 13px;
  color: var(--vin-grigio);
  margin: 0;
}

/* --------------------------------------------------------------------------
   9. FOOTER (UTILIZZA ESCLUSIVAMENTE IL FOOTER GLOBALE .vinatico-footer-dark)
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   10. DRAWER MINI-CARRELLO LATERALE (FEDELE A SCREENSHOT STAGING)
   -------------------------------------------------------------------------- */
.vin-promo__drawer-backdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(30, 8, 8, 0.45);
  z-index: 99990;
  opacity: 0;
  visibility: hidden;
  transition: all var(--vin-durata-normale) var(--vin-ease);
}

.vin-promo__drawer-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

.vin-promo__drawer {
  position: fixed;
  top: 0;
  right: 0 !important;
  left: auto !important;
  bottom: 0;
  width: min(440px, 92vw);
  background-color: var(--vin-bianco);
  box-shadow: -8px 0 32px rgba(0, 0, 0, 0.18);
  z-index: 99995;
  transform: translateX(100%);
  visibility: hidden;
  pointer-events: none;
  transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1), visibility 0.28s;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.vin-promo__drawer.is-open {
  transform: translateX(0) !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.vin-promo__drawer-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}

/* Header carrello: fondo crema caldo come screenshot */
.vin-promo__drawer-header {
  padding: 18px 22px;
  background-color: var(--vin-crema);
  border-bottom: 1px solid rgba(90, 17, 16, 0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.vin-promo__drawer-title {
  font-family: var(--vin-serif);
  font-size: 28px;
  line-height: 1;
  font-weight: 400;
  color: var(--vin-vino);
  margin: 0;
}

.vin-promo__drawer-close {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 99px;
  background: none;
  color: var(--vin-vino);
  cursor: pointer;
  padding: 0;
  font-size: 22px;
  line-height: 1;
  transition: background-color 0.15s ease;
}

.vin-promo__drawer-close:hover {
  background-color: rgba(90, 17, 16, 0.08);
}

/* Lista articoli carrello */
.vin-promo__drawer-items {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0 22px 14px 22px;
  display: flex;
  flex-direction: column;
}

.vin-promo__drawer-items::-webkit-scrollbar {
  width: 5px;
}

.vin-promo__drawer-items::-webkit-scrollbar-thumb {
  background: rgba(90, 17, 16, 0.15);
  border-radius: 4px;
}

/* Stato Carrello Vuoto */
.vin-drawer-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 50px 20px 40px;
  margin: auto 0;
}

.vin-drawer-empty-title {
  font-family: var(--vin-serif);
  font-size: 26px;
  line-height: 1.2;
  color: var(--vin-vino);
  margin: 0 0 10px 0;
  font-weight: 400;
}

.vin-drawer-empty-desc {
  font-family: var(--vin-sans);
  font-size: 14px;
  line-height: 1.5;
  color: #5E524F;
  margin: 0 0 24px 0;
  max-width: 280px;
}

.vin-drawer-empty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  background-color: var(--vin-vino);
  color: #FAF6EF;
  border: 1.5px solid var(--vin-vino);
  border-radius: 999px;
  font-family: var(--vin-sans);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
}

.vin-drawer-empty-btn:hover {
  background-color: var(--vin-vino-scuro);
  border-color: var(--vin-vino-scuro);
  color: #FFFFFF;
}

/* Riga articolo carrello */
.vin-promo__cart-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(90, 17, 16, 0.12);
  box-sizing: border-box;
}

.vin-promo__cart-thumb {
  width: 64px;
  height: 64px;
  min-width: 64px;
  background: #F5F5F5;
  border: 1px solid rgba(90, 17, 16, 0.12);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  box-sizing: border-box;
  overflow: hidden;
}

.vin-promo__cart-thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

.vin-promo__cart-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.vin-promo__cart-title {
  font-family: var(--vin-serif);
  font-size: 18px;
  line-height: 1.25;
  color: var(--vin-vino);
  font-weight: 400;
  margin: 0;
  word-break: break-word;
}

.vin-promo__cart-specs {
  font-family: var(--vin-sans);
  font-size: 13px;
  line-height: 1.2;
  color: #736968;
}

.vin-promo__cart-price {
  font-family: var(--vin-sans);
  font-size: 14px;
  font-weight: 600;
  color: #1F1918;
  margin-top: 2px;
}

.vin-promo__cart-controls {
  margin-top: 4px;
}

.vin-mini-qty-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.btn-qty-minus,
.btn-qty-plus {
  background: #FFFFFF;
  border: 1px solid rgba(90, 17, 16, 0.25);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1;
  color: var(--vin-vino);
  cursor: pointer;
  padding: 0;
  transition: all 0.15s ease;
}

.btn-qty-minus:hover,
.btn-qty-plus:hover {
  background: var(--vin-vino);
  color: #FFFFFF;
  border-color: var(--vin-vino);
}

.qty-num {
  font-family: var(--vin-sans);
  font-size: 14px;
  font-weight: 600;
  color: #1F1918;
  min-width: 20px;
  text-align: center;
  display: inline-block;
}

.btn-remove-item {
  border: none;
  background: none;
  color: #C71610;
  cursor: pointer;
  font-family: var(--vin-sans);
  font-size: 12px;
  padding: 0;
  margin-left: 12px;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}

.btn-remove-item:hover {
  color: #900B06;
}

/* Footer cassa & Totali */
.vin-promo__drawer-footer {
  padding: 16px 22px 24px;
  border-top: 1px solid #EFE0C2;
  background-color: #FFFFFF;
  flex-shrink: 0;
}

.vin-promo__drawer-totals {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

.vin-promo__total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: var(--vin-sans);
  font-size: 14px;
  line-height: 1.35;
  color: #1F1918;
}

.vin-mini__total-label {
  font-weight: 500;
  color: #4A3B32;
}

.vin-mini__total-value {
  font-weight: 600;
  color: #1F1918;
}

.vin-promo__total-row--subtotal .vin-mini__total-value {
  font-weight: 600;
  font-size: 15px;
  color: #1F1918;
}

.vin-mini__total-value--shipping {
  font-size: 13px;
  font-weight: 400;
  color: #5E524F;
  text-align: right;
  max-width: 65%;
}

.vin-mini__free-shipping {
  color: var(--vin-vino) !important;
  font-weight: 700 !important;
}

.vin-promo__total-row--final {
  padding-top: 10px;
  margin-top: 2px;
  border-top: 1px dashed rgba(90, 17, 16, 0.18);
  align-items: baseline;
}

.vin-promo__total-row--final .vin-mini__total-label strong {
  font-size: 16px;
  font-weight: 700;
  color: #1F1918;
}

.vin-mini__total-value--final {
  font-family: var(--vin-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  color: var(--vin-vino);
}

/* Box Spedizione Gratuita */
.vin-spedizione {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 16px;
  background: #FAF6EF;
  border: 1px solid rgba(90, 17, 16, 0.15);
  border-radius: 8px;
  margin: 10px 0 16px 0;
  box-sizing: border-box;
}

.vin-spedizione__testo {
  margin: 0;
  font-family: var(--vin-serif);
  font-size: 16.5px;
  line-height: 1.25;
  color: var(--vin-vino);
  text-align: center;
}

.vin-spedizione__avanzamento {
  display: block;
  width: 100%;
  height: 6px;
  border-radius: 99px;
  background: rgba(90, 17, 16, 0.12);
  overflow: hidden;
  position: relative;
}

.vin-spedizione__avanzamento-fill {
  height: 100%;
  border-radius: 99px;
  background: var(--vin-vino);
  transition: width 0.4s ease;
}

.vin-spedizione.is-gratuita .vin-spedizione__avanzamento-fill {
  background: #C49A45;
}

/* Bottone carrello: Paga ora a tutta larghezza */
.woocommerce-mini-cart__buttons {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}

.woocommerce-mini-cart__buttons .button,
.woocommerce-mini-cart__buttons a.button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  padding: 0 20px !important;
  font-family: var(--vin-sans) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  background: var(--vin-vino) !important;
  color: #FFFFFF !important;
  border: 1.5px solid var(--vin-vino) !important;
  transition: opacity 0.15s, background-color 0.15s, color 0.15s, border-color 0.15s !important;
}

.woocommerce-mini-cart__buttons .vin-mini__paga:hover,
.woocommerce-mini-cart__buttons a.vin-mini__paga:hover {
  background: var(--vin-vino-scuro) !important;
  border-color: var(--vin-vino-scuro) !important;
  color: #FFFFFF !important;
}

.woocommerce-mini-cart__buttons .button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   11. MODALI (SCHEDA TECNICA, AVVISO USCITA, CHECKOUT)
   -------------------------------------------------------------------------- */
.vin-promo__modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--vin-durata-base) var(--vin-ease), visibility var(--vin-durata-base) var(--vin-ease);
}

.vin-promo__modal.is-open {
  opacity: 1;
  visibility: visible;
}

.vin-promo__modal-backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(42, 10, 9, 0.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.vin-promo__modal-dialog {
  position: relative;
  background-color: var(--vin-beige);
  border: 1px solid var(--vin-oro-bordo);
  border-radius: var(--vin-r-lg);
  max-width: 520px;
  width: 100%;
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: clamp(32px, 5vw, 44px) clamp(24px, 5vw, 40px) clamp(28px, 4vw, 36px);
  box-shadow: 0 24px 64px rgba(42, 20, 18, 0.4);
  z-index: 2;
  box-sizing: border-box;
  transform: translateY(12px) scale(0.97);
  transition: transform var(--vin-durata-base) var(--vin-ease);
}

.vin-promo__modal.is-open .vin-promo__modal-dialog {
  transform: translateY(0) scale(1);
}

.vin-promo__modal-dialog--sm {
  max-width: 480px;
}

.vin-promo__modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 34px;
  height: 34px;
  border-radius: var(--vin-r-cerchio);
  background: var(--vin-vino);
  color: var(--vin-crema);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  z-index: 5;
  transition: background-color var(--vin-durata-rapida) var(--vin-ease), transform var(--vin-durata-rapida) var(--vin-ease);
}

.vin-promo__modal-close:hover {
  background: var(--vin-vino-scuro);
  color: var(--vin-crema-chiara);
  transform: scale(1.06);
}

.vin-promo__modal-close:focus-visible {
  outline: 2px solid var(--vin-vino);
  outline-offset: 2px;
}

.vin-promo__exit-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.vin-promo__exit-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.vin-promo__exit-icon-svg {
  display: block;
}

.vin-promo__modal-title {
  font-family: var(--vin-serif);
  font-weight: 400;
  font-size: clamp(26px, 3.4vw, 34px);
  line-height: 1.15;
  color: var(--vin-vino);
  margin: 0 0 16px 0;
  text-wrap: balance;
}

.vin-promo__modal-text {
  font-family: var(--vin-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--vin-grigio);
  margin: 0 0 28px 0;
  max-width: 400px;
  text-wrap: pretty;
}

.vin-promo__modal-text strong {
  color: var(--vin-inchiostro);
  font-weight: 600;
}

.vin-promo__exit-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 24px !important;
  width: 100% !important;
}

#vin-btn-stay-promo,
.vin-promo__btn-stay {
  width: 100% !important;
  max-width: 280px !important;
  height: 48px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--vin-vino, #5A1110) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--vin-vino, #5A1110) !important;
  border-radius: 999px !important;
  font-family: var(--vin-sans, 'Inter', sans-serif) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  transition: all 0.2s ease !important;
}

#vin-btn-stay-promo:hover,
.vin-promo__btn-stay:hover {
  background-color: var(--vin-vino-scuro, #470A09) !important;
  border-color: var(--vin-vino-scuro, #470A09) !important;
  color: #FFFFFF !important;
}

#vin-btn-exit-promo,
.vin-promo__btn-exit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  color: #5E524F !important;
  font-family: var(--vin-sans, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  text-decoration-color: rgba(90, 17, 16, 0.4) !important;
  cursor: pointer !important;
  padding: 6px 14px !important;
  margin-top: 2px !important;
  line-height: 1.4 !important;
  transition: color 0.15s ease, text-decoration-color 0.15s ease !important;
}

#vin-btn-exit-promo:hover,
.vin-promo__btn-exit:hover {
  color: var(--vin-vino, #5A1110) !important;
  text-decoration-color: var(--vin-vino, #5A1110) !important;
}

.vin-promo__btn-primary {
  width: 100%;
  height: 50px;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--vin-vino);
  color: var(--vin-crema);
  border: 1px solid var(--vin-vino);
  border-radius: var(--vin-r-pill);
  font-family: var(--vin-serif);
  font-weight: 400;
  font-size: 20px;
  letter-spacing: var(--vin-ls-cta);
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
  padding: 0 24px;
  transition: background-color var(--vin-durata-rapida) var(--vin-ease), border-color var(--vin-durata-rapida) var(--vin-ease), transform var(--vin-durata-rapida) var(--vin-ease);
}

.vin-promo__btn-primary:hover {
  background-color: var(--vin-vino-scuro);
  border-color: var(--vin-vino-scuro);
  color: var(--vin-crema-chiara);
}

.vin-promo__btn-primary:active {
  background-color: var(--vin-vino-profondo);
}

.vin-promo__btn-primary:focus-visible {
  outline: 2px solid var(--vin-vino);
  outline-offset: 2px;
}

.vin-promo__btn-outline {
  width: 100%;
  height: 46px;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  color: var(--vin-vino);
  border: 1px solid var(--vin-vino);
  border-radius: var(--vin-r-pill);
  font-family: var(--vin-serif);
  font-weight: 400;
  font-size: 19px;
  letter-spacing: var(--vin-ls-cta);
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
  padding: 0 24px;
  transition: background-color var(--vin-durata-rapida) var(--vin-ease), color var(--vin-durata-rapida) var(--vin-ease);
}

.vin-promo__btn-outline:hover {
  background-color: var(--vin-vino);
  color: var(--vin-crema);
}

.vin-promo__btn-outline:focus-visible {
  outline: 2px solid var(--vin-vino);
  outline-offset: 2px;
}

.vin-promo__btn-text {
  background: transparent;
  border: none;
  color: var(--vin-grigio);
  font-family: var(--vin-sans);
  font-size: 14px;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--vin-bordo-interattivo);
  cursor: pointer;
  padding: 8px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color var(--vin-durata-rapida) var(--vin-ease), text-decoration-color var(--vin-durata-rapida) var(--vin-ease);
}

.vin-promo__btn-text:hover {
  color: var(--vin-vino);
  text-decoration-color: var(--vin-vino);
}

.vin-promo__btn-text:focus-visible {
  outline: 2px solid var(--vin-vino);
  outline-offset: 2px;
  border-radius: var(--vin-r-xs);
}

.vin-promo__btn-block {
  width: 100%;
}

.vin-promo__input {
  width: 100%;
  height: 48px;
  background-color: var(--vin-crema-chiara);
  border: 1px solid var(--vin-bordo-interattivo);
  border-radius: var(--vin-r-pill);
  padding: 0 20px;
  font-family: var(--vin-sans);
  font-size: 14.5px;
  color: var(--vin-inchiostro);
  outline: none;
  box-sizing: border-box;
  transition: border-color var(--vin-durata-rapida) var(--vin-ease), box-shadow var(--vin-durata-rapida) var(--vin-ease);
}

.vin-promo__input:focus {
  border-color: var(--vin-vino);
  box-shadow: 0 0 0 2px rgba(90, 17, 16, 0.15);
}

.vin-promo__input::placeholder {
  color: var(--vin-grigio);
}

/* Scheda tecnica Quick View */
.vin-promo__tech-header {
  margin-bottom: 20px;
}

.vin-promo__tech-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  background-color: var(--vin-champagne);
  padding: 16px;
  border-radius: var(--vin-r-xs);
  margin-bottom: 20px;
  font-size: 13px;
}

.vin-promo__tech-item strong {
  display: block;
  color: var(--vin-vino);
  font-size: 11.5px;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.vin-promo__tech-notes {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--vin-inchiostro);
  margin-bottom: 24px;
}

/* --------------------------------------------------------------------------
   12. SCHEDA PRODOTTO DEDICATA (prodotto.html)
   -------------------------------------------------------------------------- */
.vinatico-single-top-nav {
  padding: 18px 0;
  border-bottom: 1px solid var(--vin-bordo);
  margin-bottom: 32px;
}

.vinatico-breadcrumbs {
  font-family: var(--vin-sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--vin-vino);
}

.vinatico-breadcrumbs a {
  color: var(--vin-vino);
  text-decoration: none;
}

.vinatico-breadcrumbs a:hover {
  text-decoration: underline;
}

.vinatico-breadcrumbs .sep {
  color: var(--vin-grigio);
  margin: 0 4px;
}

.vinatico-breadcrumbs .current {
  color: var(--vin-grigio);
}

/* Hero Grid Prodotto */
.vinatico-single-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 60px;
  align-items: start;
  margin-top: clamp(24px, 3.5vw, 40px);
  margin-bottom: 50px;
}

.vinatico-single-gallery-col {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
}

.vinatico-single-gallery-main {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background-color: var(--vin-grigio-foto);
  border: 1px solid var(--vin-vino);
  border-radius: var(--vin-r-xs);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vinatico-gallery-zoom-hint {
  position: absolute;
  top: 14px;
  left: 14px;
  width: 36px;
  height: 36px;
  background-color: var(--vin-crema);
  border: 1px solid var(--vin-vino);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vin-vino);
  box-shadow: 0 2px 6px rgba(90, 17, 16, 0.12);
  cursor: pointer;
  z-index: 5;
  transition: transform var(--vin-durata-rapida) var(--vin-ease), background-color var(--vin-durata-rapida) var(--vin-ease);
}

.vinatico-gallery-zoom-hint:hover {
  background-color: var(--vin-champagne);
  transform: scale(1.08);
}

.vin-promo__single-img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 24px;
}

.vin-promo__single-img-wrap img {
  max-height: 85%;
  width: auto;
  object-fit: contain;
}

/* Anteprime sotto l'immagine principale */
.vinatico-single-gallery-thumbs {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  justify-content: flex-start;
}

.gallery-thumb-btn {
  background-color: var(--vin-grigio-foto);
  border: 1px solid var(--vin-vino);
  border-radius: var(--vin-r-xs);
  padding: 3px;
  width: 64px;
  height: 64px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color var(--vin-durata-rapida) var(--vin-ease), outline var(--vin-durata-rapida) var(--vin-ease);
}

.gallery-thumb-btn.active,
.gallery-thumb-btn:hover {
  border-color: var(--vin-vino);
  outline: 2px solid var(--vin-vino);
  outline-offset: 1px;
}

.gallery-thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Colonna destra */
.vinatico-single-info-col {
  display: flex;
  flex-direction: column;
}

.vinatico-single-header-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.vinatico-single-pills {
  display: flex;
  gap: 8px;
  align-items: center;
}

.vinatico-single-top-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.vin-promo__action-icon-btn {
  background: transparent;
  border: none;
  color: var(--vin-vino);
  cursor: pointer;
  padding: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--vin-durata-rapida) var(--vin-ease), opacity var(--vin-durata-rapida) var(--vin-ease);
}

.vin-promo__action-icon-btn:hover {
  transform: scale(1.1);
  opacity: 0.85;
}

.vin-promo__action-icon-btn.is-active svg {
  fill: var(--vin-vino);
}

.vinatico-single-title {
  font-family: var(--vin-serif);
  font-size: clamp(34px, 3.8vw, 46px);
  color: var(--vin-vino);
  line-height: 1.12;
  margin: 0 0 10px 0;
  font-weight: 400;
}

/* Disponibilità: testo pulito */
.vinatico-single-meta-status {
  font-family: var(--vin-sans);
  font-size: 15px;
  font-weight: 500;
  color: var(--vin-scuro);
  margin-bottom: 14px;
}

.vinatico-single-meta-status .out-of-stock {
  color: var(--vin-errore);
  font-weight: 600;
}

/* Rarità (Rarometro V) */
.vinatico-single-rarity-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.rarity-label-caps {
  font-family: var(--vin-sans);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vin-scuro);
  letter-spacing: 0.5px;
}

.rarity-v-circles {
  display: flex;
  gap: 6px;
  align-items: center;
}

.rarity-v-circle {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--vin-serif);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  user-select: none;
}

.rarity-v-circle.active {
  background-color: var(--vin-vino);
  color: var(--vin-crema);
  border: none;
}

.rarity-v-circle.inactive {
  background-color: var(--vin-grigio);
  color: var(--vin-bianco);
  border: none;
}

/* Prezzo */
.vinatico-single-price-box {
  margin-bottom: 22px;
}

.price-regular-del {
  display: block;
  font-family: var(--vin-sans);
  font-size: 16px;
  font-weight: 500;
  color: #222222;
  text-decoration: line-through;
  margin-bottom: 2px;
  line-height: 1.2;
}

.price-display-huge {
  display: flex;
  align-items: baseline;
  font-family: var(--vin-serif);
  color: var(--vin-vino);
  font-weight: 400;
  line-height: 1;
}

.price-display-huge .price-currency {
  font-size: clamp(38px, 4vw, 50px);
  margin-right: 2px;
}

.price-display-huge .price-integer {
  font-size: clamp(44px, 4.6vw, 58px);
}

.price-display-huge .price-cents {
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 600;
  align-self: flex-start;
  margin-top: 6px;
}

/* Card Promo sopra Express Checkout (Replica card screenshot Krug / Staging) */
.promo-privilege-banner {
  --privilege-pad-x: 20px;
  background-color: #FDF6E2;
  border: 1px solid #DFB566;
  border-radius: 4px;
  padding: 16px var(--privilege-pad-x);
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 18px 0 18px 0;
  box-sizing: border-box;
  overflow: hidden;
}

.privilege-header {
  display: flex;
  align-items: center;
}

.privilege-title {
  font-family: var(--vin-serif);
  font-size: 22px;
  font-weight: 700;
  color: var(--vin-vino);
  line-height: 1.25;
  margin: 0;
}

.privilege-content {
  font-family: var(--vin-sans);
  font-size: 13.5px;
  line-height: 1.55;
  color: #333333;
  margin: 0;
}

.privilege-body-lead {
  margin: 0 0 10px 0;
  color: #333333;
}

/* Timer a griglia full-width nella card privilege: senza background, sfrutta i bordi della card e stroke #DFB566 */
.vin-card-timer {
  --vin-card-timer-cifra: 36px;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  margin-left: calc(-1 * var(--privilege-pad-x, 20px));
  margin-right: calc(-1 * var(--privilege-pad-x, 20px));
  width: calc(100% + 2 * var(--privilege-pad-x, 20px));
  background: transparent !important;
  border-top: 1px solid #DFB566;
  border-bottom: 1px solid #DFB566;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0;
  margin-top: 16px;
  margin-bottom: 12px;
  box-sizing: border-box;
}

.vin-card-timer[style*="display: none"] {
  display: none !important;
}

.vin-card-timer-cell {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  padding: 14px 8px;
  border-right: 1px solid #DFB566;
  box-sizing: border-box;
}

.vin-card-timer-cell:last-child {
  border-right: none !important;
}

.vin-card-timer-num {
  font-family: var(--vin-serif);
  font-size: var(--vin-card-timer-cifra);
  font-weight: 400; /* Regola GEMINI.md: Instrument Serif solo peso 400 */
  line-height: 1;
  color: var(--vin-vino);
  font-variant-numeric: tabular-nums;
  text-align: center;
  margin-bottom: 4px;
}

.vin-card-timer-label {
  font-family: var(--vin-sans);
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--vin-vino);
  opacity: 0.82;
  text-align: center;
  line-height: 1.2;
  margin: 0;
  width: auto;
}

@media (max-width: 480px) {
  .vin-card-timer-cell {
    padding: 10px 4px;
  }
  .vin-card-timer-num {
    font-size: 28px;
  }
  .vin-card-timer-label {
    font-size: 9.5px;
    letter-spacing: 0.08em;
  }
}

.privilege-postilla {
  font-family: var(--vin-sans);
  font-size: 12px;
  line-height: 1.45;
  color: #666666;
  margin-top: 10px;
  padding-top: 0;
  border-top: none;
}

/* Buy Box: Stepper + Bottone ATC */
.vinatico-single-buy-box {
  margin-bottom: 22px;
}

.vinatico-atc-row {
  display: flex;
  gap: 14px;
  align-items: center;
}

.vinatico-quantity-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--vin-oro-bordo);
  border-radius: var(--vin-r-pill);
  height: 48px;
  background-color: var(--vin-bianco);
  padding: 0 4px;
}

.vinatico-quantity-stepper .vinatico-stepper-btn,
.vinatico-quantity-stepper .qty-btn {
  background: transparent;
  border: none;
  font-size: 18px;
  font-weight: 500;
  color: var(--vin-scuro);
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--vin-durata-rapida) var(--vin-ease), color var(--vin-durata-rapida) var(--vin-ease);
}

.vinatico-quantity-stepper .vinatico-stepper-btn:hover:not(:disabled),
.vinatico-quantity-stepper .qty-btn:hover:not(:disabled) {
  color: var(--vin-vino);
  transform: scale(1.15);
}

.vinatico-quantity-stepper .vinatico-stepper-btn:disabled,
.vinatico-quantity-stepper .qty-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.vinatico-quantity-stepper input.qty {
  width: 38px;
  border: none;
  background: transparent;
  text-align: center;
  font-family: var(--vin-sans);
  font-size: 15px;
  font-weight: 700;
  color: var(--vin-scuro);
  outline: none;
}

.vinatico-single-atc-pill-btn {
  background-color: var(--vin-vino);
  color: var(--vin-bianco);
  border: none;
  border-radius: var(--vin-r-pill);
  padding: 0 34px;
  height: 48px;
  font-family: var(--vin-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color var(--vin-durata-rapida) var(--vin-ease), transform var(--vin-durata-rapida) var(--vin-ease), box-shadow var(--vin-durata-rapida) var(--vin-ease);
}

.vinatico-single-atc-pill-btn:hover:not(:disabled) {
  background-color: var(--vin-vino-scuro);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px var(--vin-vino-30);
}

.vinatico-single-atc-pill-btn:disabled {
  background-color: var(--vin-vino);
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.vin-promo__limit-hint {
  font-size: 12px;
  color: var(--vin-grigio);
  margin-top: 8px;
}

/* Bottoni Express Checkout */
.vinatico-express-checkout-wrapper {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-bottom: 22px;
}

.vin-express-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.vinatico-express-btn {
  width: 100%;
  height: 42px;
  border: none;
  border-radius: var(--vin-r-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--vin-sans);
  cursor: pointer;
  transition: opacity var(--vin-durata-rapida) var(--vin-ease), transform var(--vin-durata-rapida) var(--vin-ease);
  text-decoration: none;
}

.vinatico-express-btn:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

.btn-express-applepay {
  background-color: #000000;
  color: #FFFFFF;
}

.btn-express-gpay {
  background-color: #000000;
  color: #FFFFFF;
  font-size: 13.5px;
  font-weight: 600;
  gap: 8px;
}

.btn-express-link {
  background-color: #00D66F;
  color: #FFFFFF;
  font-size: 13.5px;
  font-weight: 500;
  gap: 2px;
}

.stripe-link-badge {
  display: inline-flex;
  align-items: center;
  background-color: #000000;
  color: #00D66F;
  font-size: 12.5px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 999px;
  margin-left: 6px;
  letter-spacing: 0.5px;
}

.btn-express-paypal {
  background-color: #FFC439;
  color: #003087;
  font-size: 14.5px;
  font-weight: 600;
}

.btn-express-paylater {
  background-color: #FFC439;
  color: #003087;
  font-size: 13.5px;
  font-weight: 600;
}

/* Lightbox Ingrandimento Immagine */
.vin-lightbox-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vin-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 12, 12, 0.78);
  backdrop-filter: blur(4px);
}

.vin-lightbox-content {
  position: relative;
  z-index: 2;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vin-lightbox-content img {
  max-width: 85vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
  background: #FFFFFF;
  padding: 20px;
}

.vin-lightbox-close {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--vin-vino);
  color: #FFFFFF;
  border: none;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  transition: transform var(--vin-durata-rapida) var(--vin-ease), background-color var(--vin-durata-rapida) var(--vin-ease);
}

.vin-lightbox-close:hover {
  background-color: var(--vin-vino-scuro);
  transform: scale(1.08);
}

/* Micro-rassicurazioni */
.vinatico-single-micro-trust {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--vin-bordo);
}

.micro-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--vin-sans);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vin-vino);
  line-height: 1.3;
}

.micro-trust-item svg {
  flex-shrink: 0;
  color: var(--vin-vino);
  stroke: var(--vin-vino);
  width: 18px;
  height: 18px;
}

/* Blocco Tutele & Suggerimento specifico (screenshot allegato) */
.vin-tutele {
  border-top: 1.5px solid var(--vin-vino);
  margin: 24px 0 0;
  padding: 6px 0 0;
  font-size: 13.5px;
  line-height: 1.45;
}

.vin-tutele__voce {
  padding: 12px 0;
  border-bottom: 1px solid rgba(90, 17, 16, 0.12);
}

.vin-tutele__titolo {
  display: block;
  font-family: var(--vin-sans);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--vin-vino);
  margin-bottom: 4px;
}

.vin-tutele__testo {
  color: #222222;
  font-size: 14px;
  line-height: 1.45;
  display: block;
}

.vin-da-confermare {
  display: inline-block;
  margin: 2px 0 0;
  font-family: var(--vin-sans);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.35;
  color: #7A4A00;
  background: #FFF8E7;
  border: 1px dashed #C08A2E;
  border-radius: 99px;
  padding: 3px 12px;
}

.vin-tutele__nota {
  margin: 14px 0 12px 0;
  padding: 12px 16px;
  background: #FFFDF5;
  border-left: 4px solid #C08A2E;
  font-size: 13.5px;
  color: #222222;
  line-height: 1.45;
  border-radius: 0 4px 4px 0;
}

/* Middle Band: Descrizione & Scheda tecnica (colore fedele a staging #ECEAE5) */
.vinatico-single-middle-band {
  background-color: #ECEAE5;
  padding: 65px 0 75px;
  margin-top: 30px;
  width: 100%;
}

.vinatico-middle-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 70px;
  align-items: start;
}

.vinatico-middle-col-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 12px;
  border-bottom: 1.5px solid var(--vin-vino);
  margin-bottom: 24px;
}

.vinatico-middle-title {
  font-family: var(--vin-serif);
  font-size: clamp(26px, 2.6vw, 32px);
  font-weight: 400;
  color: var(--vin-vino);
  margin: 0;
  line-height: 1.2;
}

.vinatico-middle-body p {
  font-family: var(--vin-sans);
  font-size: 15px;
  line-height: 1.55;
  color: #1A1A1A;
  margin-bottom: 20px;
}

.vinatico-middle-body p:last-child {
  margin-bottom: 0;
}

/* Tabella Specifiche Pulita (replica staging) */
.vinatico-specs-clean-table {
  width: 100%;
  border-collapse: collapse;
}

.vinatico-specs-clean-table tr {
  border-bottom: 1px solid #D5D1C8;
}

.vinatico-specs-clean-table tr:last-child {
  border-bottom: none;
}

.vinatico-specs-clean-table th {
  text-align: left;
  padding: 13px 0;
  font-family: var(--vin-sans);
  font-size: 14px;
  font-weight: 600;
  color: #2B2524;
  width: 35%;
}

.vinatico-specs-clean-table td {
  padding: 13px 0;
  font-family: var(--vin-sans);
  font-size: 14px;
  font-weight: 500;
  text-align: right;
  color: var(--vin-vino);
}

/* La scheda del sommelier digitale (screenshot allegato) */
.vin-sommelier__titolo::after {
  -webkit-mask-image: url('../images/cavatappi.svg') !important;
  mask-image: url('../images/cavatappi.svg') !important;
}

/* Carosello: Le altre bottiglie esclusive */
.vinatico-related-section {
  padding: 50px 0 60px;
}

.vinatico-related-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}

.vinatico-related-header-left {
  flex: 1 1 auto;
}

.vinatico-related-header .vinatico-section-title {
  font-family: var(--vin-serif);
  font-size: clamp(28px, 3.5vw, 36px);
  font-weight: 400;
  color: var(--vin-vino);
  margin: 0;
  line-height: 1.2;
}

.vinatico-related-header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  margin-left: auto;
}


.vinatico-carousel-nav {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.carousel-arrow-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--vin-vino);
  background: transparent;
  color: var(--vin-vino);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
}

.carousel-arrow-btn:hover {
  background-color: var(--vin-vino);
  color: #FFFFFF;
}

.carousel-arrow-btn:disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}

.vinatico-related-carousel-track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 6px 2px 20px;
  align-items: stretch;
}

.vinatico-related-carousel-track::-webkit-scrollbar {
  display: none;
}

.vinatico-related-carousel-track .vinatico-wine-card {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  height: auto;
}


/* --------------------------------------------------------------------------
   14. SPLASH PAGE SOLD-OUT 50/50 (.vin-promo__soldout-section)
   Layout 50/50 su banda bordeaux: a sinistra testi e pillola scorte;
   a destra card Vinatico Plus con layout form identico all'allegato.
   Nessun uso della parola "allocazione".
   -------------------------------------------------------------------------- */
.vin-promo__soldout-section {
  width: 100%;
}

.vin-soldout-5050-section {
  background-color: var(--vin-vino);
  color: var(--vin-crema);
  padding: clamp(56px, 6.5vw, 92px) 0;
  position: relative;
}

.vin-soldout-5050-wrapper {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(36px, 5vw, 64px);
  align-items: center;
}

/* Colonna Sinistra */
.vin-soldout-left-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.vin-soldout-left-col .special-hero-eyebrow {
  margin-bottom: 12px;
}

.vin-soldout-left-col .special-hero-title {
  font-family: var(--vin-serif);
  font-size: clamp(36px, 4.4vw, 54px);
  font-weight: 400;
  line-height: 1.12;
  color: var(--vin-crema);
  margin: 0 0 18px 0;
}

.vin-soldout-left-col .special-hero-description {
  font-family: var(--vin-sans);
  font-size: clamp(15px, 1.8vw, 17px);
  line-height: 1.65;
  color: var(--vin-crema-chiara);
  margin: 0 0 24px 0;
  max-width: 540px;
}

.vin-soldout-catalog-wrap {
  margin-top: 24px;
}

.vin-soldout-catalog-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--vin-sans);
  font-size: 13.5px;
  color: var(--vin-crema);
  text-decoration: underline;
  text-underline-offset: 4px;
  opacity: 0.85;
  transition: opacity var(--vin-durata-rapida) var(--vin-ease);
}

.vin-soldout-catalog-link:hover {
  opacity: 1;
  color: var(--vin-oro-caldo);
}

/* Colonna Destra: Card Vinatico Plus (layout allegato) */
.vin-soldout-plus-card {
  background-color: #FAF2DF; /* Fondo crema caldo fedele all'allegato */
  border: 1px solid rgba(223, 181, 102, 0.5);
  border-radius: 20px;
  padding: clamp(26px, 3.8vw, 38px);
  box-shadow: 0 16px 40px rgba(42, 10, 9, 0.28);
  color: var(--vin-vino);
}

.vin-soldout-plus-header {
  margin-bottom: 20px;
}

.vin-soldout-plus-icon-wrap {
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}

.vin-soldout-plus-icon-wrap img {
  width: 54px;
  height: auto;
  display: block;
}

.vin-soldout-plus-eyebrow {
  display: inline-block;
  font-family: var(--vin-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vin-vino);
  margin-bottom: 6px;
}

.vin-soldout-plus-title {
  font-family: var(--vin-serif);
  font-size: clamp(28px, 3.4vw, 38px);
  font-weight: 400;
  color: var(--vin-vino);
  line-height: 1.15;
  margin: 0 0 10px 0;
}

.vin-soldout-plus-desc {
  font-family: var(--vin-sans);
  font-size: 13.5px;
  line-height: 1.55;
  color: #3A1A1A;
  margin: 0;
}

.vin-soldout-plus-desc strong {
  color: var(--vin-vino);
}

/* GHL CRM Iframe Embed nella Card Vinatico Plus (Zero-Blink & Zero-Delay) */
.vin-soldout-plus-form-wrap {
  width: 100%;
  margin-top: 18px;
}

.vin-soldout-plus-card .vinatico-ghl-embed-wrap {
  width: 100% !important;
  min-height: 220px !important;
  display: block !important;
  position: relative !important;
  margin: 0 !important;
}

.vin-soldout-plus-card .vinatico-ghl-embed-wrap .ep-iFrameContainer,
.vin-soldout-plus-card .vinatico-ghl-embed-wrap .ep-wrapper,
.vin-soldout-plus-card .vinatico-ghl-embed-wrap .ep-inline {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: 220px !important;
  position: relative !important;
  left: 0 !important;
}

.vin-soldout-plus-card .vinatico-ghl-embed-wrap iframe {
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  border: none !important;
  border-radius: 0 !important;
  position: relative !important;
  left: 0 !important;
}

.vin-soldout-micro-guarantee {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  font-family: var(--vin-sans) !important;
  font-size: 12.5px !important;
  color: #7D5844 !important;
  margin: 12px 0 0 0 !important;
  line-height: 1.4 !important;
}

.vin-soldout-micro-guarantee svg {
  flex-shrink: 0;
  color: #7D5844;
}

/* Form con il layout esatto dello screenshot (fallback) */
.vin-soldout-plus-form {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.vin-soldout-input-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.vin-soldout-field-label {
  font-family: var(--vin-sans);
  font-size: 14px;
  font-weight: 500;
  color: #2A0A09;
}

.vin-soldout-pill-input-wrap {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
}

.vin-soldout-mail-icon {
  position: absolute;
  left: 18px;
  color: #5A1110;
  pointer-events: none;
}

.vin-soldout-pill-input {
  width: 100%;
  height: 52px;
  border-radius: var(--vin-r-pill);
  border: 1.5px solid #5A1110;
  background-color: #FAF2DF;
  padding: 0 20px 0 50px;
  font-family: var(--vin-serif);
  font-size: 19px;
  color: #5A1110;
  outline: none;
  box-sizing: border-box;
  transition: border-color var(--vin-durata-rapida) var(--vin-ease), box-shadow var(--vin-durata-rapida) var(--vin-ease);
}

.vin-soldout-pill-input::placeholder {
  font-family: var(--vin-serif);
  font-size: 19px;
  color: #5A1110;
  opacity: 0.9;
}

.vin-soldout-pill-input:focus {
  border-color: var(--vin-vino-scuro);
  box-shadow: 0 0 0 3px rgba(90, 17, 16, 0.15);
  background-color: #FFFFFF;
}

/* Checkbox privacy */
.vin-soldout-privacy-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--vin-sans);
  font-size: 13.5px;
  color: #2A0A09;
  user-select: none;
}

.vin-soldout-checkbox {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 1px solid #5A1110;
  accent-color: #5A1110;
  cursor: pointer;
}

.vin-soldout-privacy-label {
  cursor: pointer;
  font-size: 13.5px;
  line-height: 1.4;
}

.vin-soldout-privacy-label a {
  color: #4A0F0E;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* CTA Bottone Pillola */
.vin-soldout-pill-submit {
  width: 100%;
  height: 52px;
  border-radius: var(--vin-r-pill);
  background-color: #4A0F0E;
  border: 1px solid #4A0F0E;
  color: var(--vin-crema);
  font-family: var(--vin-serif);
  font-size: 22px;
  font-weight: 400;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--vin-durata-rapida) var(--vin-ease);
}

.vin-soldout-pill-submit:hover {
  background-color: #5A1110;
  border-color: #5A1110;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(74, 15, 14, 0.3);
}

/* Nota di sicurezza con icona lucchetto */
.vin-soldout-security-note {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--vin-sans);
  font-size: 12.5px;
  color: #7D5844;
  margin-top: 2px;
}

.vin-soldout-lock-icon {
  flex-shrink: 0;
  color: #7D5844;
}

.vin-soldout-feedback {
  background-color: #FAF2DF;
  border: 1px solid var(--vin-oro-caldo);
  border-radius: var(--vin-r-sm);
  color: var(--vin-vino);
  font-family: var(--vin-sans);
  font-size: 13.5px;
  font-weight: 600;
  padding: 12px 16px;
  margin-top: 10px;
  text-align: center;
  animation: vinFadeIn 0.3s ease;
}

/* Banner di avviso sold-out totale nella scheda prodotto */
.vin-prodotto-soldout-banner {
  background-color: var(--vin-vino);
  color: var(--vin-crema);
  padding: 12px 20px;
  font-family: var(--vin-sans);
  font-size: 13.5px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
}

.vin-prodotto-soldout-banner a {
  color: var(--vin-oro-caldo);
  font-weight: 700;
  text-decoration: underline;
  transition: opacity var(--vin-durata-rapida) var(--vin-ease);
}

.vin-prodotto-soldout-banner a:hover {
  opacity: 0.85;
}

@media (max-width: 991px) {
  .vin-soldout-5050-wrapper {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width: 600px) {
  .vin-soldout-5050-section {
    padding: 36px 0 44px 0;
  }
  .vin-soldout-5050-wrapper {
    gap: 28px;
  }
  .vin-soldout-left-col .special-hero-title {
    font-size: 32px;
  }
  .vin-soldout-plus-card {
    padding: 24px 18px !important;
    border-radius: 16px !important;
  }
  .vin-soldout-plus-title {
    font-size: 26px;
  }
  .vin-soldout-pill-input {
    font-size: 16px !important;
    height: 48px;
    padding-left: 44px;
  }
  .vin-soldout-pill-input::placeholder {
    font-size: 16px !important;
  }
  .vin-soldout-pill-submit {
    height: 48px;
    font-size: 19px;
  }
}

/* --------------------------------------------------------------------------
   15. RESPONSIVE BREAKPOINT SECONDO LAYOUT.md
   1440, 1024, 991, 768, 600
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .vinatico-products-grid.vinatico-grid-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991px) {
  .vinatico-single-hero-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .vinatico-middle-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .vinatico-trust-3col {
    grid-template-columns: 1fr;
    gap: 16px;
  }

}

@media (max-width: 768px) {
  .vinatico-products-grid.vinatico-grid-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .vin-promo__input-row {
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .vinatico-products-grid.vinatico-grid-4 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .vinatico-atc-row {
    flex-direction: column;
    align-items: stretch;
  }
  .vinatico-single-atc-pill-btn {
    width: 100%;
  }
  .vinatico-quantity-stepper {
    justify-content: center;
    width: 100%;
  }
  .vinatico-single-micro-trust {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

/* --------------------------------------------------------------------------
   16. VINATICO PLUS LEAD SECTION (LAYOUT CENTRATO SENZA BOTTIGLIA LATERALE)
   -------------------------------------------------------------------------- */
.vin-plus-section-centered {
  background-color: #FEEBC6 !important;
  padding: 85px 0 95px 0 !important;
  text-align: center !important;
  width: 100% !important;
  position: relative !important;
  clear: both !important;
}

.vin-plus-lead-centered-wrap {
  max-width: 680px !important;
  margin: 0 auto !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.vin-plus-lead-centered-wrap .plus-box-icon-wrap {
  margin: 0 auto 20px auto !important;
  display: flex !important;
  justify-content: center !important;
}

.vin-plus-lead-centered-wrap .plus-box-icon-wrap img {
  height: 56px !important;
  width: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

.vin-plus-lead-centered-wrap .plus-lead-title {
  font-family: var(--vin-serif, 'Instrument Serif', Georgia, serif) !important;
  font-size: clamp(32px, 3.8vw, 44px) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: #5A1110 !important;
  margin: 0 auto 16px auto !important;
  text-align: center !important;
}

.vin-plus-lead-centered-wrap .plus-lead-notice {
  font-family: var(--vin-sans, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #7A5A40 !important;
  margin: 0 auto 16px auto !important;
  text-align: center !important;
}

.vin-plus-lead-centered-wrap .plus-lead-desc {
  font-family: var(--vin-sans, 'Inter', sans-serif) !important;
  font-size: 15.5px !important;
  line-height: 1.68 !important;
  color: #4A3E38 !important;
  margin: 0 auto 28px auto !important;
  max-width: 580px !important;
  text-align: center !important;
}

.vin-plus-lead-centered-wrap .plus-lead-desc p {
  margin: 0 0 10px 0 !important;
  text-align: center !important;
  color: #4A3E38 !important;
}

.vin-plus-lead-centered-wrap .plus-lead-desc p:last-child {
  margin-bottom: 0 !important;
}

.vin-plus-lead-centered-wrap .plus-lead-desc strong,
.vin-plus-lead-centered-wrap .plus-lead-desc b {
  font-weight: 700 !important;
  color: #5A1110 !important;
}

.vin-plus-lead-centered-wrap .plus-form-wrap {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.vin-plus-lead-centered-wrap .vinatico-ghl-embed-wrap {
  width: 100% !important;
  max-width: 520px !important;
  min-height: 220px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
}

.vin-plus-lead-centered-wrap .vinatico-ghl-embed-wrap iframe {
  width: 100% !important;
  max-width: 520px !important;
  min-height: 220px !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 auto !important;
}

.vin-plus-lead-centered-wrap .vin-plus-micro-guarantee {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-size: 12.5px !important;
  color: #7A5A40 !important;
  margin-top: 14px !important;
  text-align: center !important;
}

@media (max-width: 768px) {
  .vin-plus-section-centered {
    padding: 60px 0 70px 0 !important;
  }
  .vin-plus-lead-centered-wrap .plus-lead-title {
    font-size: 28px !important;
  }
  .vin-plus-lead-centered-wrap .plus-lead-desc {
    font-size: 14.5px !important;
  }
}

/* ==========================================================================
   FOOTER SEMPLIFICATO SECRET PROMO (.vin-footer-sp)
   ========================================================================== */
.vin-footer-sp {
  background-color: #5A1110 !important;
  color: #FEEBC6 !important;
  padding: 50px 0 30px 0 !important;
  width: 100% !important;
}

.vin-footer-sp .vin-footer-sp-grid {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-bottom: 25px !important;
}

.vin-footer-sp .vin-footer-sp-left {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
  max-width: 480px !important;
}

.vin-footer-sp .vin-footer-sp-left .footer-symbol-logo {
  height: 44px !important;
  width: auto !important;
  display: block !important;
  margin-bottom: 2px !important;
}

.vin-footer-sp .vin-footer-sp-left .vinatico-footer-info {
  margin: 0 !important;
}

.vin-footer-sp .vin-footer-sp-left .vinatico-footer-info p {
  font-family: var(--vin-sans, 'Inter', sans-serif) !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: #FEEBC6 !important;
  margin: 0 0 3px 0 !important;
}

.vin-footer-sp .vin-footer-sp-left .vinatico-footer-info a {
  color: #FEEBC6 !important;
  text-decoration: none !important;
}

.vin-footer-sp .vin-footer-sp-left .vinatico-footer-info a:hover {
  color: #FFFFFF !important;
}

.vin-footer-sp .vin-footer-sp-payments {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
}

.vin-footer-sp .vin-footer-sp-payments img {
  height: 28px !important;
  width: auto !important;
  object-fit: contain !important;
  border-radius: 4px !important;
  display: block !important;
}

.vin-footer-sp .vin-footer-sp-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.vin-footer-sp .vin-footer-sp-right .vinatico-footer-nav-col {
  margin: 0 !important;
  padding: 0 !important;
}

.vin-footer-sp .vin-footer-sp-right h3 {
  font-family: var(--vin-serif, 'Instrument Serif', Georgia, serif) !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
  color: #FEEBC6 !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.15 !important;
}

.vin-footer-sp .vin-footer-sp-right ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.vin-footer-sp .vin-footer-sp-right ul li a {
  font-family: var(--vin-sans, 'Inter', sans-serif) !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  color: #FEEBC6 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  display: inline-block !important;
  line-height: 1.4 !important;
}

.vin-footer-sp .vin-footer-sp-right ul li a:hover {
  color: #FFFFFF !important;
  transform: translateX(2px) !important;
}

.vin-footer-sp .vinatico-footer-legal {
  padding-top: 25px !important;
  text-align: center !important;
  border-top: none !important;
}

.vin-footer-sp .vinatico-footer-legal p {
  font-family: var(--vin-sans, 'Inter', sans-serif) !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  color: rgba(254, 235, 198, 0.7) !important;
  margin: 0 !important;
  letter-spacing: 0.3px !important;
}

@media (max-width: 768px) {
  .vin-footer-sp .vin-footer-sp-grid {
    flex-direction: column !important;
    gap: 36px !important;
  }
}

/* ==========================================================================
   DISABILITA POPUP VINATICO PLUS IN FASE 1
   ========================================================================== */
body[data-fase="1"] #vin-popup-plus,
body.vin-sp-locked #vin-popup-plus,
body.vin-sp-fase-1 #vin-popup-plus,
body.vin-sp-fase1 #vin-popup-plus {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ==========================================================================
   NASCONDI SEZIONE NEWSLETTER / LEAD VINATICO PLUS IN FASE 1
   ========================================================================== */
body[data-fase="1"] #vin-plus-section,
body.vin-sp-fase-1 #vin-plus-section,
body.vin-sp-locked #vin-plus-section {
  display: none !important;
}
