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

:root {
  /* --- 1. COLORE / VINO (primario) --------------------------------------- */
  --vin-vino:            #5A1110;
  --vin-vino-scuro:      #470A09;
  --vin-vino-profondo:   #2A0605;
  --vin-vino-tenue:      #7A403F;
  --vin-vino-polvere:    #AC806E;
  --vin-vino-velo:       #F7EFF0;

  /* --- 2. COLORE / CREMA (superfici) ------------------------------------- */
  --vin-crema:           #FEEFCD;
  --vin-crema-calda:     #FEEBC6;
  --vin-crema-chiara:    #FFF8E8;
  --vin-champagne:       #F5EEDC;
  --vin-champagne-2:     #F3E9CC;
  --vin-beige:           #FBF9F4;
  --vin-bianco:          #FFFFFF;

  /* --- 3. COLORE / ORO (accento) ----------------------------------------- */
  --vin-oro:             #B38F4D;
  --vin-oro-hover:       #9C7B3D;
  --vin-oro-caldo:       #DCA844;
  --vin-oro-eyebrow:     #D4AF37;
  --vin-oro-chiaro:      #FAEFB0;
  --vin-oro-bordo:       #EADEC7;
  --vin-oro-testo:       #836938;

  /* --- 4. COLORE / NEUTRI ------------------------------------------------ */
  --vin-inchiostro:      #1F1918;
  --vin-grigio:          #5E524F;
  --vin-bordo:           #E5DFD9;
  --vin-bordo-interattivo: #AC806E;
  --vin-grigio-foto:     #F5F5F5;
  --vin-off-white:       #F8F5F2;

  /* --- 5. COLORE / SEMANTICI --------------------------------------------- */
  --vin-successo:        #2E6F40;
  --vin-errore:          #C71610;
  --vin-promo:           #FAF0E6;
  --vin-risparmio:       #FAF3E3;
  --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;
  --vin-serif-peso: 400;

  /* --- 8. TIPOGRAFIA / SCALA (mobile-first, fluida) ---------------------- */
  --vin-fs-display: clamp(2.25rem, 1.60rem + 2.8vw, 3.50rem);
  --vin-fs-h1:      clamp(2.00rem, 1.55rem + 1.9vw, 2.88rem);
  --vin-fs-h2:      clamp(1.75rem, 1.40rem + 1.6vw, 2.69rem);
  --vin-fs-h3:      clamp(1.25rem, 1.15rem + 0.4vw, 1.50rem);
  --vin-fs-h1-pagina: clamp(1.75rem, 1.45rem + 1.1vw, 2.25rem);
  --vin-fs-h2-pagina: clamp(1.50rem, 1.35rem + 0.6vw, 1.75rem);
  --vin-fs-h4:      1.3125rem;
  --vin-fs-body-lg: 1.125rem;
  --vin-fs-body:    1rem;
  --vin-fs-small:   0.875rem;
  --vin-fs-meta:    0.8125rem;
  --vin-fs-eyebrow: 0.75rem;
  --vin-fs-tag:     0.594rem;

  --vin-lh-stretta: 1.10;
  --vin-lh-titolo:  1.15;
  --vin-lh-media:   1.22;
  --vin-lh-corpo:   1.60;

  --vin-ls-eyebrow: 0.125em;
  --vin-ls-tag:     0.052em;
  --vin-ls-cta:     0.015em;

  /* --- 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;
  --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 ---------------------------------------------------------- */
  --vin-focus-colore:   #5A1110;
  --vin-focus-chiaro:   #FEEFCD;
  --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
   ========================================================================== */
.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); }

.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;
}

.vin-pb-peso { font-weight: 400; }

/* ==========================================================================
   CALENDARIO DELL'AVVENTO 2026 — STILI PROTOTIPO NICOLA (style.css 1:1)
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. PANNELLO DI SIMULAZIONE — strumento del prototipo, non fa parte del sito
   -------------------------------------------------------------------------- */
.vin-sim {
  background: var(--vin-vino-profondo); color: var(--vin-crema);
  font: 400 13px/1.4 var(--vin-sans);
  position: relative; z-index: 99999;
}
.vin-sim__testa {
  display: flex; align-items: center; gap: var(--vin-sp-3); width: 100%;
  padding: var(--vin-sp-2) var(--vin-sp-4); background: none; border: 0;
  color: inherit; font: inherit; text-align: left; cursor: pointer;
}
.vin-sim__marchio {
  flex: none; padding: 2px var(--vin-sp-2); border: 1px solid var(--vin-oro-caldo);
  border-radius: var(--vin-r-pill); color: var(--vin-oro-caldo);
  font-size: 11px; font-weight: 700; letter-spacing: var(--vin-ls-eyebrow); text-transform: uppercase;
}
.vin-sim__riassunto { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vin-sim__freccia { flex: none; width: 8px; height: 8px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg); transition: transform var(--vin-durata-rapida) var(--vin-ease); }
.vin-sim__testa[aria-expanded="true"] .vin-sim__freccia { transform: rotate(-135deg); }
.vin-sim__corpo {
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--vin-sp-3);
  padding: 0 var(--vin-sp-4) var(--vin-sp-4);
}
.vin-sim__corpo[hidden] { display: none; }
.vin-sim__campo { display: flex; flex-direction: column; gap: var(--vin-sp-1); font-size: 12px; color: var(--vin-crema-calda); }
.vin-sim__campo select, .vin-sim__campo input {
  min-height: 36px; padding: 0 var(--vin-sp-2); border: 1px solid var(--vin-vino-polvere); border-radius: var(--vin-r-sm);
  background: var(--vin-crema-chiara); color: var(--vin-inchiostro); font: 400 14px var(--vin-sans);
}
.vin-sim__campo select { max-width: 100%; width: 320px; }
.vin-sim__spunta { display: flex; align-items: center; gap: var(--vin-sp-2); min-height: 36px; cursor: pointer; color: var(--vin-crema-calda); font-size: 13px; }
.vin-sim__spunta input { width: 16px; height: 16px; accent-color: var(--vin-oro-caldo); }
.vin-sim__bottone {
  min-height: 36px; padding: 0 var(--vin-sp-4); border: 1px solid var(--vin-crema); border-radius: var(--vin-r-pill);
  background: none; color: var(--vin-crema); font: 600 13px var(--vin-sans); cursor: pointer;
  display: inline-flex; align-items: center; text-decoration: none;
}
.vin-sim__bottone:hover { background: var(--vin-crema); color: var(--vin-vino); }
.vin-sim :focus-visible { outline-color: var(--vin-focus-chiaro); }
@media (max-width: 600px) { .vin-sim__campo { flex: 1 1 140px; } .vin-sim__campo select { width: 100%; } }

/* --------------------------------------------------------------------------
   1. HEADER — le due pillole del menu e la barra fissa
   -------------------------------------------------------------------------- */
:root:not(.vin-avv-tema-bordeaux) body:not(.vin-avv-tema-bordeaux) .vinatico-menu-items-dark > li.vin-avv-pill--cal > a,
:root:not(.vin-avv-tema-bordeaux) body:not(.vin-avv-tema-bordeaux) .vinatico-mobile-nav-list > li.vin-avv-pill--cal > a {
  background: var(--vin-avv-verde) !important; border-color: var(--vin-avv-verde) !important; color: var(--vin-crema) !important;
}
:root:not(.vin-avv-tema-bordeaux) body:not(.vin-avv-tema-bordeaux) .vinatico-menu-items-dark > li.vin-avv-pill--cal > a:hover,
:root:not(.vin-avv-tema-bordeaux) body:not(.vin-avv-tema-bordeaux) .vinatico-menu-items-dark > li.vin-avv-pill--cal.current-menu-item > a,
:root:not(.vin-avv-tema-bordeaux) body:not(.vin-avv-tema-bordeaux) .vinatico-mobile-nav-list > li.vin-avv-pill--cal > a:hover,
:root:not(.vin-avv-tema-bordeaux) body:not(.vin-avv-tema-bordeaux) .vinatico-mobile-nav-list > li.vin-avv-pill--cal.current-menu-item > a {
  background: var(--vin-avv-verde) !important; border-color: var(--vin-oro) !important; color: var(--vin-crema) !important;
}
.vinatico-menu-items-dark > li.vin-avv-pill--cal > a::after { content: none !important; }

.vinatico-menu-items-dark > li.vin-avv-pill--bf > a,
.vinatico-mobile-nav-list > li.vin-avv-pill--bf > a {
  background: var(--vin-inchiostro) !important; border-color: var(--vin-inchiostro) !important; color: var(--vin-oro) !important;
}
.vinatico-menu-items-dark > li.vin-avv-pill--bf > a:hover,
.vinatico-menu-items-dark > li.vin-avv-pill--bf.current-menu-item > a,
.vinatico-mobile-nav-list > li.vin-avv-pill--bf > a:hover,
.vinatico-mobile-nav-list > li.vin-avv-pill--bf.current-menu-item > a {
  background: var(--vin-inchiostro) !important; border-color: var(--vin-oro) !important; color: var(--vin-oro) !important;
}
.vinatico-menu-items-dark > li.vin-avv-pill--bf > a::after { content: none !important; }

li[data-vin-avv-posto] { display: none !important; }

/* La barra fissa in basso è quella del 99 Special: qui solo il link e lo spazio in fondo alla pagina */
.vin-avv-barra__link { color: inherit; text-decoration: none; }
.vin-avv-barra__link:hover .promo-bar-label { text-decoration: underline; text-underline-offset: 3px; }
.promo-progress-bar[hidden], .promo-bar-bottom-track[hidden] { display: none !important; }
.vin-avv-con-barra #page { padding-bottom: 46px; }

/* Nelle pagine del calendario nasconde il prefooter duplicato del tema (perché c'è già il blocco Plus del calendario) */
main.vin-avv-pagina ~ .vinatico-plus-lead-section,
main.vin-avv-pagina ~ .vinatico-trust-bar-cream {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .vin-sim__freccia { transition: none; }
}

/* ==========================================================================
   3. LE PORTE — impaginazione del 23 ottobre 2026, dallo schizzo di Nicola
   Card della porta, conto a tre colonne, griglia, legenda. Mobile prima.
   ========================================================================== */

/* 3a. Conto alla rovescia a tre colonne (il blocco del pre-order) */
.vin-avv-tre { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--vin-vino-polvere); }
.vin-avv-tre__col {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--vin-sp-1);
  padding: 14px 6px; border-right: 1px solid var(--vin-vino-polvere);
}
.vin-avv-tre__col:last-child { border-right: 0; }
.vin-avv-tre__num { font: 400 28px/1 var(--vin-serif); font-variant-numeric: tabular-nums; }
.vin-avv-tre__unita { font: 600 10px/1.2 var(--vin-sans); letter-spacing: .1em; text-transform: uppercase; }
/* scura: fondo vino, come nel pre-order */
.vin-avv-tre--scura { background: var(--vin-vino); }
.vin-avv-tre--scura .vin-avv-tre__num { color: var(--vin-oro); }
.vin-avv-tre--scura .vin-avv-tre__unita { color: var(--vin-crema-calda); }
@media (min-width: 481px) {
  .vin-avv-tre__col { padding: 18px 12px; }
  .vin-avv-tre__num { font-size: clamp(34px, 4vw, 44px); }
  .vin-avv-tre__unita { font-size: 11px; letter-spacing: .14em; }
}
/* su oro: senza fondo, fili e cifre vino scuro (fascia dei membri nella card), più piccolo */
.vin-avv-tre--oro, .vin-avv-tre--oro .vin-avv-tre__col { border-color: var(--vin-vino-45); }
.vin-avv-tre--oro .vin-avv-tre__num, .vin-avv-tre--oro .vin-avv-tre__unita { color: var(--vin-vino-profondo); }
.vin-avv-tre.vin-avv-tre--oro .vin-avv-tre__col { padding: 8px 6px; gap: 2px; }
.vin-avv-tre.vin-avv-tre--oro .vin-avv-tre__num { font-size: 24px; }
.vin-avv-tre.vin-avv-tre--oro .vin-avv-tre__unita { font-size: 9.5px; letter-spacing: .1em; }

/* 3b. Card della porta — sta nella hero, su fondo vino (regola del 23 ottobre 2026) */
.vin-avv-card {
  --vin-avv-fondo: var(--vin-vino);
  --vin-avv-fondo-card: var(--vin-vino-profondo);
  width: 100%; max-width: 360px; margin: 0 auto; text-align: center; color: var(--vin-crema-calda);
}
.vin-avv-card :focus-visible { outline-color: var(--vin-focus-chiaro); }
.vin-avv-card__arco { position: relative; width: 72%; margin: 26px auto 0; }

/* la porta: due fili oro concentrici, aperti in basso dove poggia il riquadro */
.vin-avv-card__immagine {
  aspect-ratio: 3 / 4; box-sizing: border-box; padding: 5px 5px 0;
  border: 1px solid var(--vin-oro); border-bottom: 0; border-radius: 999px 999px 0 0;
}
.vin-avv-card__vano {
  height: 100%; box-sizing: border-box; overflow: hidden;
  border: 1px solid var(--vin-oro); border-bottom: 0; border-radius: 999px 999px 0 0;
}
.vin-avv-card__vano img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* losanga: filo oro con un secondo filo interno */
.vin-avv-card__losanga,
.vin-avv-card__numero::before,
.vin-avv-card__numero::after {
  position: absolute; z-index: 2; box-sizing: border-box;
  border: 1px solid var(--vin-oro); background: var(--vin-avv-fondo);
  box-shadow: inset 0 0 0 2px var(--vin-avv-fondo), inset 0 0 0 3px var(--vin-oro);
}
.vin-avv-card__losanga { top: 58%; width: 14px; height: 14px; transform: translateY(-50%) rotate(45deg); }
.vin-avv-card__losanga--sx { left: -4px; }
.vin-avv-card__losanga--dx { right: -4px; }

/* il numero: capsula orizzontale a doppio filo, losanghe sopra e sotto */
.vin-avv-card__numero {
  position: absolute; top: -17px; left: 50%; z-index: 3; transform: translateX(-50%);
  min-width: 64px; box-sizing: border-box; padding: 6px 16px 5px;
  border: 1px solid var(--vin-oro); border-radius: var(--vin-r-pill);
  outline: 1px solid var(--vin-oro); outline-offset: 3px;
  background: var(--vin-avv-fondo-card); color: var(--vin-champagne); font: 400 22px/1 var(--vin-serif);
}
.vin-avv-card__numero::before,
.vin-avv-card__numero::after {
  content: ""; left: 50%; width: 10px; height: 10px;
  background: var(--vin-avv-fondo-card); box-shadow: inset 0 0 0 2px var(--vin-avv-fondo-card), inset 0 0 0 2.5px var(--vin-oro);
}
.vin-avv-card__numero::before { top: -9px; transform: translateX(-50%) rotate(45deg); }
.vin-avv-card__numero::after { bottom: -9px; transform: translateX(-50%) rotate(45deg); }

/* il formato: pillola piena bianca */
.vin-avv-card__formato {
  position: absolute; bottom: -11px; left: 50%; z-index: 2; transform: translateX(-50%); white-space: nowrap;
  padding: 6px 14px; border-radius: var(--vin-r-pill); background: var(--vin-bianco); color: var(--vin-vino);
  font: 700 10.5px/1 var(--vin-sans); letter-spacing: var(--vin-ls-eyebrow); text-transform: uppercase;
}
.vin-avv-card__corpo { position: relative; padding: 28px 18px 18px; border: 1px solid var(--vin-oro); background: var(--vin-avv-fondo-card); }
.vin-avv-card__titolo { margin: 0 0 var(--vin-sp-2); color: var(--vin-champagne); font: 400 26px/1.15 var(--vin-serif); }
.vin-avv-card__testo { margin: 0 0 var(--vin-sp-4); color: var(--vin-crema-calda); font: 400 14px/1.55 var(--vin-sans); }

/* il vantaggio sta sopra il bottone */
.vin-avv-card__vantaggio { margin: 0 0 var(--vin-sp-1); color: var(--vin-champagne); font: 400 24px/1.2 var(--vin-serif); }
.vin-avv-card__vantaggio--membri,
.vin-avv-card__vantaggio--omaggio {
  display: flex; align-items: center; justify-content: center; gap: 6px; margin-bottom: var(--vin-sp-2);
  font: 700 var(--vin-fs-eyebrow)/1.4 var(--vin-sans); letter-spacing: var(--vin-ls-eyebrow); text-transform: uppercase; color: var(--vin-oro-eyebrow);
}
.vin-avv-icona { flex: none; display: block; }
.vin-avv-card__vantaggio--prezzo del { margin-right: var(--vin-sp-2); color: var(--vin-crema-calda); font: 400 14px var(--vin-sans); }
.vin-avv-card__vantaggio--prezzo ins { text-decoration: none; font-size: 26px; }

/* il bottone: il link della card bottiglia di 99 Special su fondo vino */
.vin-avv-card__bottone {
  display: inline-flex; align-items: center; min-height: 44px;
  color: var(--vin-champagne); font: 600 12px/1.3 var(--vin-sans); letter-spacing: .14em; text-transform: uppercase;
  text-decoration: underline; text-underline-offset: 5px;
  transition: color var(--vin-durata-rapida) var(--vin-ease);
}
.vin-avv-card__bottone:hover { color: var(--vin-oro-caldo); }

/* stato esaurita */
.vin-avv-card--esaurita .vin-avv-card__vano { opacity: .5; }
.vin-avv-card__esaurita { margin: 0; color: var(--vin-champagne); font: 400 24px/1.2 var(--vin-serif); }
.vin-avv-card__esaurita span { display: block; margin-top: var(--vin-sp-1); color: var(--vin-crema-calda); font: 400 13px/1.45 var(--vin-sans); }

/* stato 9–12: il conto dei membri in una fascia piena oro */
.vin-avv-card__membri { margin: var(--vin-sp-4) -18px -18px; padding: var(--vin-sp-4) 18px 18px; background: var(--vin-oro); }
.vin-avv-card__membri :focus-visible { outline-color: var(--vin-focus-colore); }
.vin-avv-card__membri-testo { margin: 0 0 var(--vin-sp-2); color: var(--vin-vino-profondo); font: 600 13px/1.4 var(--vin-sans); }

/* Le porte con una data da ricordare (23, 24, 25) */
:is(.vin-avv-card--segno-limite-capodanno, .vin-avv-card--segno-vigilia, .vin-avv-card--segno-natale) .vin-avv-card__immagine { padding: 9px 9px 0; }
:is(.vin-avv-card--segno-limite-capodanno, .vin-avv-card--segno-vigilia, .vin-avv-card--segno-natale) .vin-avv-card__vano { background: var(--vin-vino-profondo); }
:is(.vin-avv-card--segno-limite-capodanno, .vin-avv-card--segno-natale) .vin-avv-card__losanga--sx { left: -2px; }
:is(.vin-avv-card--segno-limite-capodanno, .vin-avv-card--segno-natale) .vin-avv-card__losanga--dx { right: -2px; }
.vin-avv-card--segno-limite-capodanno .vin-avv-card__immagine {
  background: radial-gradient(circle, var(--vin-oro) 1.1px, transparent 1.6px) 0 0 / 5px 5px, var(--vin-avv-fondo);
}
.vin-avv-card--segno-natale .vin-avv-card__immagine {
  background: repeating-linear-gradient(45deg, var(--vin-oro) 0 1.5px, var(--vin-avv-fondo) 1.5px 6px);
}
.vin-avv-card--segno-vigilia .vin-avv-card__immagine { background: var(--vin-vino-profondo); }
.vin-avv-card--segno-vigilia .vin-avv-card__losanga { width: 10px; height: 10px; box-shadow: inset 0 0 0 2px var(--vin-avv-fondo), inset 0 0 0 2.5px var(--vin-oro); }
.vin-avv-card--segno-vigilia .vin-avv-card__losanga--sx { left: 0; }
.vin-avv-card--segno-vigilia .vin-avv-card__losanga--dx { right: 0; }

/* segnaposto dell'immagine: dichiarato, con le diagonali del wireframe */
.vin-avv-segnaposto {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
  background:
    linear-gradient(to top right, transparent calc(50% - .5px), var(--vin-vino-tenue) 50%, transparent calc(50% + .5px)),
    linear-gradient(to top left, transparent calc(50% - .5px), var(--vin-vino-tenue) 50%, transparent calc(50% + .5px)),
    var(--vin-vino-scuro);
}
.vin-avv-segnaposto__testo {
  padding: var(--vin-sp-1) var(--vin-sp-2); background: var(--vin-vino-scuro); color: var(--vin-crema-calda);
  font: 600 11px/1.4 var(--vin-sans); letter-spacing: .08em; text-transform: uppercase;
  text-align: center;
}

/* 3c. Il blocco del calendario */
.vin-avv-calendario { --cornice: 8px; position: relative; padding: 56px 32px 48px; background: var(--vin-crema); }
.vin-avv-calendario::before {
  content: ""; position: absolute; inset: var(--cornice); pointer-events: none;
  box-shadow: inset 0 0 0 3px var(--vin-vino), inset 0 0 0 5px var(--vin-crema), inset 0 0 0 6px var(--vin-vino);
}
.vin-avv-calendario__losanga {
  position: absolute; top: 50%; z-index: 2; width: 16px; height: 16px; box-sizing: border-box;
  background: var(--vin-vino); box-shadow: inset 0 0 0 2px var(--vin-vino), inset 0 0 0 3px var(--vin-crema);
  transform: translateY(-50%) rotate(45deg);
}
.vin-avv-calendario__losanga--sx { left: calc(var(--cornice) - 5px); }
.vin-avv-calendario__losanga--dx { right: calc(var(--cornice) - 5px); }
.vin-avv-calendario__titolo { margin: 0 0 var(--vin-sp-6); text-align: center; color: var(--vin-vino); font: 400 clamp(38px, 4.5vw, 54px)/1.1 var(--vin-serif); }
@media (min-width: 992px) {
  .vin-avv-calendario { --cornice: 24px; padding: 88px 64px 80px; }
}

/* Griglia delle porte: 5 × 5 sul telefono, porte attaccate */
.vin-avv-griglia { max-width: 520px; margin: 0 auto; }
.vin-avv-griglia__giorni { display: none; color: var(--vin-grigio); }
.vin-avv-griglia__lista {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin: 0; padding: 0; list-style: none;
  border: 1px solid var(--vin-vino-15); background: var(--vin-vino-15);
}
.vin-avv-griglia__vuota { display: none; background: var(--vin-crema-chiara); }
.vin-avv-casella {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
  aspect-ratio: 1; box-sizing: border-box; background: var(--vin-bianco); color: var(--vin-vino); text-decoration: none;
}
.vin-avv-casella > * { position: relative; z-index: 1; }
.vin-avv-casella__numero {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; font: 400 26px/1 var(--vin-serif);
}
.vin-avv-casella__piu { position: absolute; top: 0; right: -4px; font: 700 14px/1 var(--vin-sans); }
.vin-avv-casella--natale .vin-avv-casella__piu { top: -2px; right: -11px; color: var(--vin-vino); }
.vin-avv-casella__breve { margin-top: 5px; font: 700 9.5px/1 var(--vin-sans); letter-spacing: var(--vin-ls-tag); text-transform: uppercase; }
:is(.vin-avv-casella--vigilia, .vin-avv-casella--natale) .vin-avv-casella__breve { margin-top: 7px; }

/* oggi: piena vino */
.vin-avv-casella--oggi { background: var(--vin-vino); color: var(--vin-crema); }
a.vin-avv-casella--oggi:hover { background: var(--vin-vino-scuro); }
.vin-avv-casella--oggi .vin-avv-casella__numero { height: 26px; font-size: 22px; }
.vin-avv-casella--oggi .vin-avv-casella__breve { margin-top: 3px; font-weight: 400; }
.vin-avv-casella__cta {
  margin-top: 7px; color: var(--vin-champagne); font: 600 9.5px/1 var(--vin-sans); letter-spacing: var(--vin-ls-tag); text-transform: uppercase;
  text-decoration: underline; text-underline-offset: 2px;
}
/* passata */
.vin-avv-casella--passata { background: var(--vin-champagne); color: var(--vin-vino-polvere); }
.vin-avv-casella--passata .vin-avv-casella__breve { color: var(--vin-grigio); font-weight: 600; }

/* 18 e 23: cornice interna con pattern */
.vin-avv-casella--limite-natale::before,
.vin-avv-casella--limite-capodanno::before { content: ""; position: absolute; inset: 0; }
.vin-avv-casella--limite-natale::before { background: repeating-linear-gradient(45deg, var(--vin-crema) 0 1px, var(--vin-vino) 1px 4px); }
.vin-avv-casella--limite-capodanno::before { background: radial-gradient(circle, var(--vin-crema) 0.9px, transparent 1.3px) 0 0 / 4px 4px, var(--vin-vino); }
.vin-avv-casella--limite-natale::after,
.vin-avv-casella--limite-capodanno::after {
  content: ""; position: absolute; inset: 5px; background: inherit;
  border: 1px solid var(--vin-crema);
}
.vin-avv-casella--passata:is(.vin-avv-casella--limite-natale, .vin-avv-casella--limite-capodanno)::before { opacity: .45; }

/* 24 e 25 */
.vin-avv-casella--vigilia .vin-avv-casella__numero { border: 1px solid currentColor; border-radius: var(--vin-r-cerchio); }
.vin-avv-casella--natale .vin-avv-casella__numero { border-radius: var(--vin-r-cerchio); background: var(--vin-vino); color: var(--vin-crema); }
.vin-avv-casella--natale.vin-avv-casella--oggi .vin-avv-casella__numero { background: var(--vin-crema); color: var(--vin-vino); }
.vin-avv-casella--natale.vin-avv-casella--passata .vin-avv-casella__numero { background: var(--vin-vino-polvere); color: var(--vin-champagne); }

/* desktop: settimana a 7 colonne da lunedì */
@media (min-width: 992px) {
  .vin-avv-griglia { max-width: 760px; }
  .vin-avv-griglia__giorni, .vin-avv-griglia__lista { grid-template-columns: repeat(7, 1fr); }
  .vin-avv-griglia__giorni {
    display: grid; margin-bottom: var(--vin-sp-2); text-align: center;
    font: 600 12px/1 var(--vin-sans); letter-spacing: var(--vin-ls-eyebrow);
  }
  .vin-avv-griglia__vuota { display: block; }
  .vin-avv-casella__numero { width: 44px; height: 44px; font-size: 32px; }
  .vin-avv-casella__breve, .vin-avv-casella__cta { font-size: 10.5px; }
  .vin-avv-casella--oggi .vin-avv-casella__numero { height: 34px; font-size: 28px; }
}

/* 3d. Legenda */
.vin-avv-legenda {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--vin-sp-2);
  max-width: 520px; margin: 0 auto var(--vin-sp-6); padding: 0; list-style: none;
}
@media (min-width: 992px) {
  .vin-avv-legenda { flex-direction: row; justify-content: center; gap: var(--vin-sp-6); max-width: none; white-space: nowrap; }
}
.vin-avv-legenda__voce { display: flex; align-items: center; gap: var(--vin-sp-2); color: var(--vin-inchiostro); font: 400 13px/1.4 var(--vin-sans); }
.vin-avv-legenda__segno {
  position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; box-sizing: border-box; border: 1px solid var(--vin-vino-30); background: var(--vin-bianco);
  color: var(--vin-vino); font: 700 12px/1 var(--vin-sans);
}
.vin-avv-legenda__segno--oggi { background: var(--vin-vino); border-color: var(--vin-vino); }
.vin-avv-legenda__segno--passata { background: var(--vin-champagne); }
.vin-avv-legenda__segno--limite-natale { border-color: var(--vin-vino); background: repeating-linear-gradient(45deg, var(--vin-crema) 0 1px, var(--vin-vino) 1px 4px); }
.vin-avv-legenda__segno--limite-capodanno { border-color: var(--vin-vino); background: radial-gradient(circle, var(--vin-crema) 0.9px, transparent 1.3px) 0 0 / 4px 4px, var(--vin-vino); }

@media (prefers-reduced-motion: reduce) {
  .vin-avv-card__bottone { transition: none; }
}

/* --------------------------------------------------------------------------
   4. PAGINA DI PROVA DEI FORMATI — strumento di lavoro
   -------------------------------------------------------------------------- */
.vin-avv-prova { background: var(--vin-crema); }
.vin-avv-prova + .vin-avv-prova { border-top: 1px solid var(--vin-vino-15); }
.vin-avv-prova--testa { text-align: center; }
.vin-avv-prova--hero { background: var(--vin-vino); }
.vin-avv-prova--hero h2.hp-section-heading-serif { color: var(--vin-champagne); }
.vin-avv-prova--hero .vin-pb-testo, .vin-avv-prova--hero .vin-avv-prova__didascalia { color: var(--vin-crema-calda); }
.vin-avv-prova--hero .vin-avv-prova__didascalia strong { color: var(--vin-champagne); }
.vin-avv-prova__occhiello { margin: 0 0 var(--vin-sp-3); color: var(--vin-vino); font: 700 12px/1.4 var(--vin-sans); letter-spacing: var(--vin-ls-eyebrow); text-transform: uppercase; }
.vin-avv-prova__titolo { margin: 0 0 var(--vin-sp-4); color: var(--vin-vino); font: 400 clamp(38px, 4.5vw, 54px)/1.1 var(--vin-serif); }
.vin-avv-prova__intro { margin-top: var(--vin-sp-4); margin-bottom: var(--vin-sp-8); }
.vin-avv-prova__campioni + .vin-avv-calendario { margin-top: var(--vin-sp-12); }
.vin-avv-prova__temi { margin: var(--vin-sp-5) 0 0; font: 400 13px/1.5 var(--vin-sans); color: var(--vin-grigio); }
.vin-avv-prova__temi a { color: var(--vin-vino); font-weight: 600; text-underline-offset: 3px; }
.vin-avv-prova__temi [aria-current] { color: var(--vin-inchiostro); text-decoration: none; }
.vin-avv-prova__elenco { display: grid; gap: var(--vin-sp-12) var(--vin-sp-8); margin: 0; padding: 0; list-style: none; }
.vin-avv-prova__voce { display: flex; flex-direction: column; }
.vin-avv-prova__didascalia { margin: 0 0 var(--vin-sp-4); text-align: center; color: var(--vin-grigio); font: 400 13px/1.45 var(--vin-sans); }
.vin-avv-prova__didascalia strong { color: var(--vin-vino); font-weight: 600; }
.vin-avv-prova__campioni { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--vin-sp-5) var(--vin-sp-4); max-width: 760px; margin: 0 auto; padding: 0; list-style: none; }
.vin-avv-prova__campioni .vin-avv-prova__didascalia { margin: var(--vin-sp-2) 0 0; }
.vin-avv-prova__casella { width: 72px; margin: 0 auto; }
@media (min-width: 768px) {
  .vin-avv-prova__elenco { grid-template-columns: repeat(2, 1fr); }
  .vin-avv-prova__campioni { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1200px) { .vin-avv-prova__elenco { grid-template-columns: repeat(3, 1fr); } }

/* --------------------------------------------------------------------------
   4b. PAGINA DEL CALENDARIO (27–30 NOVEMBRE, 1–25 DICEMBRE, DAL 26 DICEMBRE)
   -------------------------------------------------------------------------- */
.vin-avv-hero {
  --vin-avv-fondo: var(--vin-vino);
  padding: var(--vin-sp-10) 0 var(--vin-sp-15); border-bottom: 1px solid var(--vin-oro);
  background: var(--vin-vino); color: var(--vin-crema-calda);
}
.vin-avv-hero :focus-visible { outline-color: var(--vin-focus-chiaro); }
.vin-avv-hero__griglia { display: grid; gap: var(--vin-sp-10); }
.vin-avv-hero__testi { max-width: 640px; }
.vin-avv-hero__media { order: 3; }
.vin-avv-hero__occhiello { margin: 0 0 var(--vin-sp-3); color: var(--vin-oro-eyebrow); font: 700 var(--vin-fs-eyebrow)/1.4 var(--vin-sans); letter-spacing: var(--vin-ls-eyebrow); text-transform: uppercase; }
.vin-avv-hero__titolo { margin: 0 0 var(--vin-sp-4); color: var(--vin-champagne); font: 400 clamp(38px, 4.5vw, 54px)/1.1 var(--vin-serif); }
.vin-avv-hero__testo { margin: 0 0 var(--vin-sp-8); max-width: 540px; color: var(--vin-crema-calda); font: 400 15px/1.65 var(--vin-sans); }

.vin-avv-hero__conto { margin: 0 0 var(--vin-sp-8); max-width: 480px; }
.vin-avv-hero__conto-etichetta { margin: 0 0 var(--vin-sp-3); color: var(--vin-champagne); font: 600 13px/1.4 var(--vin-sans); letter-spacing: var(--vin-ls-eyebrow); text-transform: uppercase; }
.vin-avv-hero__conto-nota { margin: var(--vin-sp-3) 0 0; color: var(--vin-crema-calda); font: 400 13px/1.5 var(--vin-sans); }
.vin-avv-hero .vin-avv-tre--scura, .vin-avv-hero .vin-avv-tre--scura .vin-avv-tre__col { border-color: var(--vin-oro); }

/* «Esclusivo membri» */
.vin-avv-membri { display: flex; flex-direction: column; align-items: flex-start; }
.vin-avv-membri__titolo { margin: 0 0 var(--vin-sp-4); color: var(--vin-champagne); font: 400 clamp(28px, 3vw, 34px)/1.15 var(--vin-serif); }
.vin-avv-membri__voci {
  display: flex; flex-wrap: wrap; gap: var(--vin-sp-2) var(--vin-sp-5);
  margin: 0 0 var(--vin-sp-5); padding: 0; list-style: none;
}
.vin-avv-membri__voci li { display: flex; align-items: center; gap: var(--vin-sp-2); color: var(--vin-crema-calda); font: 400 14.5px/1.4 var(--vin-sans); }
.vin-avv-membri__voci .vin-avv-icona { color: var(--vin-oro-eyebrow); }
.vin-avv-membri__nota { margin: var(--vin-sp-3) 0 0; color: var(--vin-crema-calda); font: 400 13px/1.5 var(--vin-sans); }
.vin-avv-membri__bottone {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--vin-sp-2); min-height: 48px; padding: 0 var(--vin-sp-5) 0 var(--vin-sp-6);
  border-radius: var(--vin-r-pill); background: var(--vin-oro); color: var(--vin-vino-profondo);
  font: 600 13px/1.2 var(--vin-sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
  transition: background var(--vin-durata-rapida) var(--vin-ease);
}
.vin-avv-membri__bottone:hover { background: var(--vin-oro-caldo); color: var(--vin-vino-profondo); }

/* il biglietto d'oro del Black Friday */
.vin-avv-bf-blocco {
  --vin-avv-fondo: var(--vin-inchiostro);
  padding: var(--vin-sp-12) 0; border-bottom: 1px solid var(--vin-oro); background: var(--vin-inchiostro);
}
.vin-avv-bf {
  --vin-avv-taglio: 10px;
  position: relative; display: grid; max-width: 1000px; margin: 0 auto; background: var(--vin-oro); color: var(--vin-inchiostro);
}
.vin-avv-bf :focus-visible { outline-color: var(--vin-inchiostro); }
.vin-avv-bf__testi { padding: var(--vin-sp-4) var(--vin-sp-5) var(--vin-sp-5); }
.vin-avv-bf__bottiglia { width: 120px; margin: var(--vin-sp-6) 0 0 var(--vin-sp-5); aspect-ratio: 3 / 4; border-radius: 999px 999px 0 0; overflow: hidden; }
.vin-avv-bf__bottiglia img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vin-avv-bf .vin-avv-segnaposto {
  background:
    linear-gradient(to top right, transparent calc(50% - .5px), var(--vin-oro) 50%, transparent calc(50% + .5px)),
    linear-gradient(to top left, transparent calc(50% - .5px), var(--vin-oro) 50%, transparent calc(50% + .5px)),
    var(--vin-inchiostro);
}
.vin-avv-bf .vin-avv-segnaposto__testo { padding: var(--vin-sp-1); background: var(--vin-inchiostro); color: var(--vin-oro-eyebrow); font-size: 9.5px; }
.vin-avv-bf__testa { display: flex; flex-wrap: wrap; align-items: center; gap: var(--vin-sp-2) var(--vin-sp-3); margin: 0 0 var(--vin-sp-3); }
.vin-avv-bf__etichetta {
  padding: 5px 12px; border-radius: var(--vin-r-pill); background: var(--vin-inchiostro); color: var(--vin-bianco);
  font: 700 var(--vin-fs-eyebrow)/1 var(--vin-sans); letter-spacing: var(--vin-ls-eyebrow); text-transform: uppercase;
}
.vin-avv-bf__date { font: 600 var(--vin-fs-eyebrow)/1.3 var(--vin-sans); letter-spacing: var(--vin-ls-eyebrow); text-transform: uppercase; }
.vin-avv-bf__nome { margin: 0 0 var(--vin-sp-1); color: var(--vin-inchiostro); font: 400 clamp(26px, 3vw, 34px)/1.15 var(--vin-serif); }
.vin-avv-bf__dettagli { margin: 0 0 var(--vin-sp-3); font: 400 13px/1.45 var(--vin-sans); }
.vin-avv-bf__prezzi { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--vin-sp-1) var(--vin-sp-3); margin: 0 0 var(--vin-sp-4); }
.vin-avv-bf__prezzi del { font: 400 15px var(--vin-sans); }
.vin-avv-bf__prezzi ins { text-decoration: none; font: 400 34px/1 var(--vin-serif); }
.vin-avv-bf__biglietto { display: flex; align-items: center; gap: var(--vin-sp-2); margin: 0; font: 400 13.5px/1.45 var(--vin-sans); text-align: left; }
.vin-avv-bf__biglietto .vin-avv-icona { flex: none; }
.vin-avv-bf__matrice {
  position: relative; display: flex; align-items: center; justify-content: center;
  padding: var(--vin-sp-5); border-top: 1px dashed var(--vin-inchiostro);
}
.vin-avv-bf__matrice::before, .vin-avv-bf__matrice::after {
  content: ""; position: absolute; top: calc(var(--vin-avv-taglio) * -1); width: calc(var(--vin-avv-taglio) * 2); height: calc(var(--vin-avv-taglio) * 2);
  border-radius: var(--vin-r-cerchio); background: var(--vin-avv-fondo);
}
.vin-avv-bf__matrice::before { left: calc(var(--vin-avv-taglio) * -1); }
.vin-avv-bf__matrice::after { right: calc(var(--vin-avv-taglio) * -1); }
.vin-avv-bf__link {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 var(--vin-sp-6);
  border: 1px solid var(--vin-inchiostro); border-radius: var(--vin-r-pill); background: transparent; color: var(--vin-inchiostro);
  font: 600 13px/1.2 var(--vin-sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
  transition: background var(--vin-durata-rapida) var(--vin-ease), color var(--vin-durata-rapida) var(--vin-ease);
}
.vin-avv-bf__link:hover { background: var(--vin-inchiostro); color: var(--vin-bianco); }

/* --- blocco 3, 1–25 dicembre --- */
.vin-avv-hero__porta { order: 2; }
.vin-avv-hero--porte .vin-avv-hero__testo { margin-bottom: var(--vin-sp-5); }
.vin-avv-hero__accesso {
  display: flex; align-items: flex-start; gap: var(--vin-sp-3); max-width: 540px; margin: 0 0 var(--vin-sp-6);
  color: var(--vin-crema-calda); font: 400 14px/1.55 var(--vin-sans);
}
.vin-avv-hero__accesso .vin-avv-icona { margin-top: 4px; color: var(--vin-oro-eyebrow); }

/* l'avviso della data limite */
.vin-avv-avviso {
  display: inline-flex; align-items: center; gap: var(--vin-sp-2); margin: 0; padding: 6px 12px 6px 8px;
  border-radius: var(--vin-r-sm); background: var(--vin-crema); color: var(--vin-vino);
  font: 600 12px/1.35 var(--vin-sans); text-align: left;
}
.vin-avv-avviso__segno { flex: none; width: 14px; height: 14px; box-sizing: border-box; border: 1px solid var(--vin-vino); }
.vin-avv-avviso--limite-natale .vin-avv-avviso__segno { background: repeating-linear-gradient(45deg, var(--vin-vino) 0 1px, transparent 1px 4px); }
.vin-avv-avviso--limite-capodanno .vin-avv-avviso__segno { background: radial-gradient(circle, var(--vin-vino) 0.9px, transparent 1.3px) 0 0 / 4px 4px; }

/* --- blocco 4, dal 26 dicembre --- */
.vin-avv-promemoria {
  display: flex; align-items: center; gap: var(--vin-sp-2); width: fit-content; margin: var(--vin-sp-6) 0 0; padding: 7px 12px 7px 10px;
  border: 1px solid var(--vin-oro); border-radius: var(--vin-r-sm); background: var(--vin-inchiostro); color: var(--vin-oro);
  font: 600 12px/1.35 var(--vin-sans); text-align: left;
}
.vin-avv-promemoria .vin-avv-icona { width: 16px; height: 16px; }

/* l'apertura della porta: due ante su fondo della card */
.vin-avv-card--svela .vin-avv-card__vano { position: relative; perspective: 700px; }
.vin-avv-card__ante { position: absolute; inset: 0; z-index: 1; display: flex; pointer-events: none; }
.vin-avv-card__anta {
  flex: 1; background: var(--vin-avv-fondo-card);
  animation: 1.3s cubic-bezier(.65, 0, .35, 1) .35s both;
}
.vin-avv-card__anta--sx { transform-origin: left center; border-right: 1px solid var(--vin-oro); animation-name: vin-avv-anta-sx; }
.vin-avv-card__anta--dx { transform-origin: right center; border-left: 1px solid var(--vin-oro); animation-name: vin-avv-anta-dx; }
@keyframes vin-avv-anta-sx { 75% { opacity: 1; } to { transform: rotateY(-100deg); opacity: 0; } }
@keyframes vin-avv-anta-dx { 75% { opacity: 1; } to { transform: rotateY(100deg); opacity: 0; } }
.vin-avv-card--svela .vin-avv-card__vano > :first-child { animation: vin-avv-vano 1.8s var(--vin-ease) .35s both; }
@keyframes vin-avv-vano { from { transform: scale(1.08); } }
.vin-avv-card--svela .vin-avv-card__corpo { animation: vin-avv-sale var(--vin-durata-lenta) var(--vin-ease) 1.1s both; }
@keyframes vin-avv-sale { from { opacity: 0; transform: translateY(12px); } }
@media (prefers-reduced-motion: reduce) {
  .vin-avv-card__ante { display: none; }
  .vin-avv-card--svela .vin-avv-card__vano > :first-child, .vin-avv-card--svela .vin-avv-card__corpo { animation: none; }
}
.vin-avv-sezione-calendario { background: var(--vin-crema); border-bottom: 1px solid var(--vin-oro); }
@media (min-width: 992px) {
  .vin-avv-hero__porta { order: 0; }
}

/* immagine nella cornice delle porte */
.vin-avv-quadro { position: relative; padding: 6px; border: 1px solid var(--vin-oro); }
.vin-avv-quadro__vano { aspect-ratio: 4 / 3; border: 1px solid var(--vin-oro); overflow: hidden; }
.vin-avv-quadro__vano img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vin-avv-quadro__losanga {
  position: absolute; top: 50%; z-index: 2; width: 14px; height: 14px; box-sizing: border-box;
  border: 1px solid var(--vin-oro); background: var(--vin-avv-fondo);
  box-shadow: inset 0 0 0 2px var(--vin-avv-fondo), inset 0 0 0 3px var(--vin-oro);
  transform: translateY(-50%) rotate(45deg);
}
.vin-avv-quadro__losanga--sx { left: -4px; }
.vin-avv-quadro__losanga--dx { right: -4px; }

@media (min-width: 992px) {
  .vin-avv-hero { padding: var(--vin-sp-15) 0; }
  .vin-avv-hero__griglia { grid-template-columns: 1fr 1fr; column-gap: var(--vin-sp-15); row-gap: var(--vin-sp-12); align-items: center; }
  .vin-avv-hero__testi { max-width: none; }
  .vin-avv-hero__media { order: 0; }
  .vin-avv-hero__media .vin-avv-quadro__vano { aspect-ratio: 1; }
  .vin-avv-bf-blocco { padding: var(--vin-sp-15) 0; }
  .vin-avv-bf { grid-template-columns: auto 1fr auto; align-items: center; }
  .vin-avv-bf__bottiglia { margin: var(--vin-sp-6) 0 var(--vin-sp-6) var(--vin-sp-8); }
  .vin-avv-bf__testi { padding: var(--vin-sp-6) var(--vin-sp-8); }
  .vin-avv-bf__matrice { align-self: stretch; padding: var(--vin-sp-6) var(--vin-sp-10); border-top: 0; border-left: 1px dashed var(--vin-inchiostro); }
  .vin-avv-bf__matrice::before { top: calc(var(--vin-avv-taglio) * -1); left: calc(var(--vin-avv-taglio) * -1); }
  .vin-avv-bf__matrice::after { top: auto; bottom: calc(var(--vin-avv-taglio) * -1); left: calc(var(--vin-avv-taglio) * -1); right: auto; }
}

/* iscrizione: replica del blocco Vinatico Plus del sito, nel colore del calendario */
.vin-avv-pagina .vin-avv-iscrizione .col-bordeaux { background-color: var(--vin-vino) !important; }
.vin-avv-iscrizione { border-bottom: 1px solid var(--vin-oro); }
.vin-avv-pagina .vin-avv-iscrizione :is(.split-section-eyebrow, .split-section-title, .split-section-body, .split-section-body p, .split-section-body strong,
  .plus-form-label, .plus-privacy-wrap label, .plus-privacy-wrap a, .plus-mail-icon) { color: var(--vin-vino); }
.vin-avv-iscrizione__icona {
  display: block; width: 51px; height: 48px; background: var(--vin-vino);
  -webkit-mask: url("../img/vin-icona-vinatico-plus.webp") center / contain no-repeat;
          mask: url("../img/vin-icona-vinatico-plus.webp") center / contain no-repeat;
}
/* campi come sul sito in produzione: pillola, testo in Instrument Serif */
.vin-avv-pagina .vin-avv-iscrizione .plus-input-wrap { border-color: var(--vin-vino); }
.vin-avv-pagina .vin-avv-iscrizione .plus-input-wrap:focus-within { border-color: var(--vin-vino-scuro); box-shadow: 0 0 0 2px var(--vin-vino-15); }
.vin-avv-pagina .vin-avv-iscrizione .plus-input-wrap input { padding: 11px 0; color: var(--vin-vino); font: 400 20px var(--vin-serif); }
.vin-avv-pagina .vin-avv-iscrizione .plus-input-wrap input::placeholder { color: var(--vin-vino-tenue); opacity: 1; }
.vin-avv-pagina .vin-avv-iscrizione .plus-privacy-wrap input[type="checkbox"] { accent-color: var(--vin-vino); }
.vin-avv-pagina .vin-avv-iscrizione .btn-plus-submit {
  background-color: var(--vin-vino) !important; color: var(--vin-crema-chiara) !important;
  font: 400 22px/1.2 var(--vin-serif) !important; box-shadow: none; letter-spacing: 0;
}
.vin-avv-pagina .vin-avv-iscrizione .btn-plus-submit:hover { background-color: var(--vin-vino-scuro) !important; box-shadow: none; }
.vin-avv-iscrizione :focus-visible { outline-color: var(--vin-focus-colore); }
.vin-avv-iscrizione__esito { margin: var(--vin-sp-3) 0 0; color: var(--vin-successo); font: 400 13px/1.45 var(--vin-sans); }
.vin-avv-iscrizione__sicura { display: flex; align-items: center; gap: var(--vin-sp-2); margin: var(--vin-sp-6) 0 0; color: var(--vin-vino-tenue); font: 400 13px/1.45 var(--vin-sans); }
.vin-avv-iscrizione__sicura svg { flex: none; }
/* l'immagine: silhouette libera (nessun arco forzato, supporto flessibile per forme differenti) */
.vin-avv-pagina .vin-avv-iscrizione .split-media-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; max-width: 480px; margin: 0 auto; width: 100%; }
.vin-avv-iscrizione__foto { width: 100%; max-width: 100%; display: flex; align-items: center; justify-content: center; border-radius: 0 !important; overflow: visible !important; aspect-ratio: auto !important; }
.vin-avv-iscrizione__foto img { width: auto; max-width: 100%; max-height: 520px; height: auto; object-fit: contain; display: block; filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.25)); }
.vin-avv-iscrizione__icona-img { height: 48px; width: auto; display: block; }
.vin-avv-iscrizione__ia { margin: var(--vin-sp-3) 0 0; text-align: center; color: var(--vin-crema-calda); font: 400 13px/1.45 var(--vin-sans); }

@media (prefers-reduced-motion: reduce) { .vin-avv-membri__bottone, .vin-avv-bf__link { transition: none; } }

/* --------------------------------------------------------------------------
   4c. LA SCHERMATA DELLA PASSWORD (blocco 5, 23 ottobre 2026) — porta.html
   -------------------------------------------------------------------------- */
body.vin-avv-con-gate { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
body.vin-avv-con-gate #page { flex: 1 1 auto; display: flex; flex-direction: column; padding-bottom: 0; }
body.vin-avv-con-gate #primary { flex: 1 1 auto; display: flex; flex-direction: column; }
body.vin-avv-con-gate :is(.vinatico-topbar, .vinatico-sticky-header, #footer, #promo-progress-bar, .vin-pb-salta, .vinatico-plus-lead-section, .vinatico-trust-bar-cream) { display: none !important; }

.vin-avv-gate {
  flex: 1 1 auto; display: flex; justify-content: center; padding: var(--vin-sp-6) var(--vin-gutter) var(--vin-sp-12);
  background: var(--vin-vino); color: var(--vin-crema-calda); text-align: center;
}
.vin-avv-gate :focus-visible { outline-color: var(--vin-focus-chiaro); }
.vin-avv-gate__colonna { width: 100%; max-width: 460px; }
.vin-avv-gate__logo { display: inline-block; margin: 0 0 var(--vin-sp-6); }
.vin-avv-gate__logo img { display: block; width: auto; height: 34px; }

/* la porta: l'arco della card, più piccolo; le ante restano ferme finché la password non è giusta */
.vin-avv-gate__porta { max-width: 116px; margin: 0 auto var(--vin-sp-8); }
.vin-avv-gate__porta .vin-avv-card__arco { width: 100%; }
.vin-avv-gate__porta .vin-avv-card__formato { padding: 5px 10px; font-size: 9.5px; }
.vin-avv-gate__porta .vin-avv-segnaposto__testo { display: none; }
.vin-avv-gate__porta .vin-avv-card__vano { position: relative; perspective: 500px; }
.vin-avv-gate__porta .vin-avv-card__anta { animation-play-state: paused; }
.vin-avv-gate__porta.is-aperta .vin-avv-card__anta { animation-play-state: running; animation-delay: 0s; }

.vin-avv-gate__occhiello { margin: 0 0 var(--vin-sp-3); color: var(--vin-oro-eyebrow); font: 700 var(--vin-fs-eyebrow)/1.4 var(--vin-sans); letter-spacing: var(--vin-ls-eyebrow); text-transform: uppercase; }
.vin-avv-gate__titolo { margin: 0 0 var(--vin-sp-3); color: var(--vin-champagne); font: 400 clamp(36px, 4.5vw, 50px)/1.1 var(--vin-serif); text-wrap: balance; }
.vin-avv-gate__testo { margin: 0 auto var(--vin-sp-6); max-width: 420px; font: 400 15px/var(--vin-lh-corpo) var(--vin-sans); text-wrap: pretty; }

/* campo e bottone */
.vin-avv-gate__modulo { display: flex; flex-direction: column; gap: var(--vin-sp-3); max-width: 380px; margin: 0 auto; }
.vin-avv-gate__campo, .vin-avv-gate__bottone {
  width: 100%; min-height: 52px; box-sizing: border-box; border-radius: var(--vin-r-pill); text-align: center;
}
.vin-avv-gate__campo {
  padding: 0 var(--vin-sp-6); border: 1px solid var(--vin-oro); background: var(--vin-crema-chiara);
  color: var(--vin-inchiostro); font: 400 16px var(--vin-sans);
}
.vin-avv-gate__campo::placeholder { color: var(--vin-grigio); }
.vin-avv-gate__campo[aria-invalid="true"] { border-color: var(--vin-errore); }
.vin-avv-gate__bottone {
  display: inline-flex; align-items: center; justify-content: center; padding: 0 var(--vin-sp-6); border: 0;
  background: var(--vin-oro); color: var(--vin-vino-profondo); cursor: pointer; text-decoration: none;
  font: 600 13px/1.2 var(--vin-sans); letter-spacing: .08em; text-transform: uppercase;
  transition: background var(--vin-durata-rapida) var(--vin-ease);
}
.vin-avv-gate__bottone:hover { background: var(--vin-oro-caldo); }
.vin-avv-gate__bottone:disabled { cursor: default; }
.vin-avv-gate__errore {
  margin: 0; padding: var(--vin-sp-3) var(--vin-sp-4); border: 1px solid var(--vin-errore); border-radius: var(--vin-r-xs);
  background: var(--vin-vino-scuro); color: var(--vin-crema-chiara); font: 400 13px/1.45 var(--vin-sans);
}
.vin-avv-gate__prova { margin: 0; font: 400 13px/1.5 var(--vin-sans); opacity: .85; }
.vin-avv-gate__prova code { padding: 2px 6px; border: 1px solid var(--vin-oro); border-radius: var(--vin-r-xs); background: var(--vin-vino-scuro); color: var(--vin-oro); font-weight: 700; }

.vin-avv-gate__conto { max-width: 360px; margin: var(--vin-sp-10) auto 0; }
.vin-avv-gate__conto-etichetta { margin: 0 0 var(--vin-sp-3); color: var(--vin-champagne); font: 600 13px/1.4 var(--vin-sans); letter-spacing: var(--vin-ls-eyebrow); text-transform: uppercase; }
.vin-avv-gate .vin-avv-tre--scura, .vin-avv-gate .vin-avv-tre--scura .vin-avv-tre__col { border-color: var(--vin-oro); }
.vin-avv-gate__fuori { margin: var(--vin-sp-8) auto 0; max-width: 380px; font: 400 14px/1.55 var(--vin-sans); }
.vin-avv-gate__fuori a, .vin-avv-gate__calendario { color: var(--vin-oro-eyebrow); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.vin-avv-gate__calendario { display: inline-block; margin-top: var(--vin-sp-6); font: 600 13px/1.4 var(--vin-sans); }

@media (min-width: 992px) {
  .vin-avv-gate { padding: var(--vin-sp-12) var(--vin-gutter) var(--vin-sp-15); }
  .vin-avv-gate__colonna { max-width: 560px; }
  .vin-avv-gate__logo { margin-bottom: var(--vin-sp-10); }
  .vin-avv-gate__logo img { height: 44px; }
  .vin-avv-gate__porta { max-width: 150px; }
  .vin-avv-gate__testo { max-width: 480px; }
}
@media (prefers-reduced-motion: reduce) { .vin-avv-gate__bottone { transition: none; } }

/* --------------------------------------------------------------------------
   5. IL VERDE DEL CALENDARIO (23 ottobre 2026)
   Valgono dentro <main.vin-avv-pagina> delle pagine del calendario: header e footer restano bordeaux.
   -------------------------------------------------------------------------- */
:root {
  --vin-avv-verde:          #1E3D2F;
  --vin-avv-verde-scuro:    #163024;
  --vin-avv-verde-profondo: #0D1F17;
  --vin-avv-verde-tenue:    #4D6B5C;
  --vin-avv-verde-polvere:  #8DA898;
  --vin-avv-verde-15: rgba(30, 61, 47, .15);
  --vin-avv-verde-30: rgba(30, 61, 47, .30);
  --vin-avv-verde-45: rgba(13, 31, 23, .45);
}
:root:not(.vin-avv-tema-bordeaux) body:not(.vin-avv-tema-bordeaux) main.vin-avv-pagina {
  --vin-vino: var(--vin-avv-verde);
  --vin-vino-scuro: var(--vin-avv-verde-scuro);
  --vin-vino-profondo: var(--vin-avv-verde-profondo);
  --vin-vino-tenue: var(--vin-avv-verde-tenue);
  --vin-vino-polvere: var(--vin-avv-verde-polvere);
  --vin-vino-15: var(--vin-avv-verde-15);
  --vin-vino-30: var(--vin-avv-verde-30);
  --vin-vino-45: var(--vin-avv-verde-45);
  --vin-focus-colore: var(--vin-avv-verde);
}

/* ==========================================================================
   6. BLOCCO 6: VETRINA DELLA PORTA SBLOCCATA (/calendario/porta/)
   Usa i token --vin-vino (verde dentro main.vin-avv-pagina), --vin-oro, --vin-champagne, --vin-crema
   ========================================================================== */
.vin-avv-porta-hero {
  background: var(--vin-vino);
  color: var(--vin-crema-calda);
  padding: var(--vin-sp-8) 0 var(--vin-sp-12);
  border-bottom: 1px solid var(--vin-oro);
}
.vin-avv-porta-hero__barra-alta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--vin-sp-3);
  margin-bottom: var(--vin-sp-6);
  padding-bottom: var(--vin-sp-3);
  border-bottom: 1px solid rgba(179, 143, 77, 0.35);
}
.vin-avv-porta-hero__back {
  color: var(--vin-champagne);
  font: 600 var(--vin-fs-small)/1.3 var(--vin-sans);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.vin-avv-porta-hero__back:hover {
  color: var(--vin-oro-caldo);
}
.vin-avv-porta-hero__chiave-attiva {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: var(--vin-r-pill);
  background: var(--vin-vino-profondo);
  border: 1px solid var(--vin-oro);
  color: var(--vin-oro-eyebrow);
  font: 600 12px/1.2 var(--vin-sans);
}
.vin-avv-porta-hero__griglia {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--vin-sp-8);
  align-items: center;
}
@media (min-width: 992px) {
  .vin-avv-porta-hero__griglia {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    gap: var(--vin-sp-10);
  }
}
.vin-avv-porta-hero__badges {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--vin-sp-3);
  margin-top: var(--vin-sp-4);
}
.vin-avv-porta-hero__vantaggio-pill {
  display: inline-block;
  padding: 7px 16px;
  border-radius: var(--vin-r-pill);
  background: var(--vin-oro);
  color: var(--vin-vino-profondo);
  font: 700 13px/1.3 var(--vin-sans);
}
.vin-avv-porta-hero__nota-sped {
  display: block;
  padding: var(--vin-sp-3) var(--vin-sp-4);
  background: var(--vin-vino-scuro);
  border-left: 3px solid var(--vin-oro-eyebrow);
  color: var(--vin-crema-calda);
  font-size: var(--vin-fs-small);
  line-height: 1.5;
}
.vin-avv-porta-hero__conto-col {
  display: flex;
  justify-content: flex-start;
}
@media (min-width: 992px) {
  .vin-avv-porta-hero__conto-col {
    justify-content: flex-end;
  }
}
.vin-avv-porta-hero__timer-box,
.vin-avv-porta-hero__esaurita-box {
  width: 100%;
  max-width: 360px;
  padding: var(--vin-sp-5);
  background: var(--vin-vino-profondo);
  border: 1px solid var(--vin-oro);
  text-align: center;
}
.vin-avv-porta-hero .vin-avv-tre--scura,
.vin-avv-porta-hero .vin-avv-tre--scura .vin-avv-tre__col {
  border-color: var(--vin-oro);
}
.vin-avv-porta-hero__timer-lbl,
.vin-avv-porta-hero__esaurita-lbl {
  display: block;
  margin: 0 0 var(--vin-sp-3);
  color: var(--vin-champagne);
  font: 600 12px/1.3 var(--vin-sans);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.vin-avv-porta-hero__timer-micro {
  margin: var(--vin-sp-3) 0 0;
  color: var(--vin-crema-calda);
  font-size: 12px;
  line-height: 1.45;
}
.vin-avv-porta-hero__esaurita-val {
  display: block;
  margin-bottom: var(--vin-sp-2);
  color: var(--vin-champagne);
  font: 400 30px/1.1 var(--vin-serif);
}
.vin-avv-porta-hero__esaurita-sub {
  color: var(--vin-crema-calda);
  font-size: var(--vin-fs-small);
}

/* Sezione Vetrina Prodotti su Crema */
.vin-avv-vetrina-sezione {
  background: var(--vin-crema);
  padding: var(--vin-sp-12) 0 var(--vin-sp-15);
  border-bottom: 1px solid var(--vin-oro);
}
.vin-avv-vetrina-grid {
  margin-bottom: var(--vin-sp-10);
}

/* Tag "Porta N" sulle card prodotto */
.product-tag.tag-avvento {
  background-color: var(--vin-vino) !important;
  color: var(--vin-champagne) !important;
  border: 1px solid var(--vin-oro) !important;
  padding: 2px 8px;
  font-weight: 700;
  text-transform: uppercase;
}

/* Banner Omaggio per le porte "Selezione · tavola" */
.vin-avv-omaggio-banner {
  display: flex;
  align-items: center;
  gap: var(--vin-sp-4);
  margin-bottom: var(--vin-sp-8);
  padding: var(--vin-sp-4) var(--vin-sp-6);
  background: var(--vin-crema-chiara);
  border: 1px solid var(--vin-vino);
  border-left: 5px solid var(--vin-vino);
  color: var(--vin-inchiostro);
}
.vin-avv-omaggio-banner__icona {
  color: var(--vin-vino);
  flex: none;
}
.vin-avv-omaggio-banner__testo {
  font-size: var(--vin-fs-small);
  line-height: 1.5;
}
.vin-avv-omaggio-banner__testo strong {
  color: var(--vin-vino);
  margin-right: 4px;
}

/* Card Grafica Codice Sconto nei giorni "Caccia" (3, 10, 17 dicembre) */
.vin-avv-card-codice {
  display: flex;
  flex-direction: column;
  background: var(--vin-vino);
  color: var(--vin-crema-calda);
  border: 2px solid var(--vin-oro);
  padding: 8px;
  box-shadow: var(--vin-om-md);
}
.vin-avv-card-codice__cornice {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--vin-sp-6) var(--vin-sp-5);
  border: 1px solid var(--vin-oro);
  text-align: center;
}
.vin-avv-card-codice__occhiello {
  display: block;
  margin-bottom: var(--vin-sp-2);
  color: var(--vin-oro-eyebrow);
  font: 700 11px/1.3 var(--vin-sans);
  letter-spacing: var(--vin-ls-eyebrow);
  text-transform: uppercase;
}
.vin-avv-card-codice__titolo {
  margin: 0 0 var(--vin-sp-3);
  color: var(--vin-champagne);
  font: 400 28px/1.15 var(--vin-serif);
}
.vin-avv-card-codice__testo {
  margin: 0 0 var(--vin-sp-4);
  color: var(--vin-crema-calda);
  font-size: 13.5px;
  line-height: 1.55;
}
.vin-avv-card-codice__box {
  display: flex;
  flex-direction: column;
  gap: var(--vin-sp-2);
  margin-bottom: var(--vin-sp-4);
  padding: var(--vin-sp-3);
  background: var(--vin-vino-profondo);
  border: 1px dashed var(--vin-oro-eyebrow);
}
.vin-avv-card-codice__valore {
  display: block;
  color: var(--vin-oro-chiaro);
  font: 700 22px/1.2 monospace;
  letter-spacing: 0.1em;
}
.vin-avv-card-codice__copia {
  padding: 8px 14px;
  border: 0;
  border-radius: var(--vin-r-pill);
  background: var(--vin-oro);
  color: var(--vin-vino-profondo);
  font: 700 12px/1 var(--vin-sans);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
}
.vin-avv-card-codice__copia:hover {
  background: var(--vin-oro-caldo);
}
.vin-avv-card-codice__vantaggio {
  margin: 0 0 var(--vin-sp-2);
  color: var(--vin-champagne);
  font-size: 14px;
}
.vin-avv-card-codice__condizioni {
  margin: 0;
  color: var(--vin-crema-calda);
  font-size: 11.5px;
  line-height: 1.45;
}

/* Porta 24 (Vigilia): Box Gift Card di Natale maggiorata */
.vin-avv-giftcard-box {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--vin-sp-8);
  align-items: center;
  max-width: 980px;
  margin: 0 auto var(--vin-sp-10);
  padding: var(--vin-sp-8);
  background: var(--vin-crema-chiara);
  border: 2px solid var(--vin-vino);
  box-shadow: var(--vin-om-md);
}
@media (min-width: 860px) {
  .vin-avv-giftcard-box {
    grid-template-columns: 1.2fr 0.8fr;
    padding: var(--vin-sp-10);
  }
}
.vin-avv-giftcard-box__occhiello {
  display: block;
  margin-bottom: var(--vin-sp-2);
  color: var(--vin-oro-testo);
  font: 700 11px/1.3 var(--vin-sans);
  letter-spacing: var(--vin-ls-eyebrow);
  text-transform: uppercase;
}
.vin-avv-giftcard-box__titolo {
  margin: 0 0 var(--vin-sp-3);
  color: var(--vin-vino);
  font: 400 var(--vin-fs-h2)/1.15 var(--vin-serif);
}
.vin-avv-giftcard-box__desc {
  margin: 0 0 var(--vin-sp-4);
  color: var(--vin-inchiostro);
  font-size: var(--vin-fs-body);
  line-height: 1.6;
}
.vin-avv-giftcard-box__tagli {
  margin: 0 0 var(--vin-sp-5);
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--vin-sp-2);
}
.vin-avv-giftcard-box__tagli li {
  display: flex;
  justify-content: space-between;
  padding: var(--vin-sp-3) var(--vin-sp-4);
  background: var(--vin-crema);
  border: 1px solid var(--vin-oro-bordo);
  font-size: var(--vin-fs-small);
}
.vin-avv-giftcard-box__nota {
  margin: 0 0 var(--vin-sp-6);
  color: var(--vin-grigio);
  font-size: var(--vin-fs-small);
  line-height: 1.55;
}
.vin-avv-giftcard-box__col-media {
  display: flex;
  justify-content: center;
}
.vin-avv-giftcard-box__col-media img {
  max-width: 100%;
  height: auto;
}

/* Stato Porta Esaurita nella Vetrina */
.vin-avv-esaurita-card {
  max-width: 680px;
  margin: 0 auto var(--vin-sp-10);
  padding: var(--vin-sp-10) clamp(20px, 5vw, 48px);
  background: var(--vin-crema-chiara);
  border: 2px solid var(--vin-vino);
  text-align: center;
}
.vin-avv-esaurita-card__occhiello {
  display: block;
  margin-bottom: var(--vin-sp-2);
  color: var(--vin-oro-testo);
  font: 700 12px/1.3 var(--vin-sans);
  letter-spacing: var(--vin-ls-eyebrow);
  text-transform: uppercase;
}
.vin-avv-esaurita-card__titolo {
  margin: 0 0 var(--vin-sp-3);
  color: var(--vin-vino);
  font: 400 var(--vin-fs-h2)/1.15 var(--vin-serif);
}
.vin-avv-esaurita-card__testo {
  margin: 0 auto var(--vin-sp-6);
  max-width: 520px;
  color: var(--vin-inchiostro);
  font-size: var(--vin-fs-body);
  line-height: 1.6;
}
.vin-avv-esaurita-card__domani {
  margin: 0 auto var(--vin-sp-6);
  padding: var(--vin-sp-4);
  background: var(--vin-crema);
  border: 1px solid var(--vin-oro-bordo);
}
.vin-avv-esaurita-card__domani-lbl {
  margin: 0 0 4px;
  color: var(--vin-oro-testo);
  font: 700 11px/1.2 var(--vin-sans);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.vin-avv-esaurita-card__domani-nome {
  margin: 0 0 4px;
  color: var(--vin-vino);
  font-size: 16px;
}
.vin-avv-esaurita-card__domani-desc {
  margin: 0;
  color: var(--vin-grigio);
  font-size: var(--vin-fs-small);
}
.vin-avv-esaurita-card__azioni {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--vin-sp-3);
}

/* Piede della Vetrina Porta */
.vin-avv-porta-piede {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--vin-sp-6);
  padding-top: var(--vin-sp-8);
  border-top: 1px solid var(--vin-vino-15);
  text-align: center;
}
.vin-avv-porta-piede__domani {
  max-width: 640px;
  padding: var(--vin-sp-5) var(--vin-sp-6);
  background: var(--vin-crema-chiara);
  border: 1px solid var(--vin-oro-bordo);
}
.vin-avv-porta-piede__occhiello {
  display: block;
  margin-bottom: 4px;
  color: var(--vin-oro-testo);
  font: 700 11px/1.3 var(--vin-sans);
  letter-spacing: var(--vin-ls-eyebrow);
  text-transform: uppercase;
}
.vin-avv-porta-piede__titolo {
  margin: 0 0 6px;
  color: var(--vin-vino);
  font: 400 26px/1.2 var(--vin-serif);
}
.vin-avv-porta-piede__testo {
  margin: 0;
  color: var(--vin-inchiostro);
  font-size: var(--vin-fs-small);
}

/* ==========================================================================
   7. BLOCCO 7: RIQUADRO SCHEDA PRODOTTO SINGOLA & BANNER CARRELLO
   ========================================================================== */
.vin-avv-scheda-box {
  margin: var(--vin-sp-5) 0;
  padding: var(--vin-sp-5);
  background: var(--vin-avv-verde);
  color: var(--vin-crema-calda);
  border: 1px solid var(--vin-oro);
  border-radius: var(--vin-r-sm);
}
.vin-avv-scheda-box--bf {
  background: var(--vin-inchiostro);
}
.vin-avv-scheda-box__occhiello {
  margin: 0 0 6px;
  color: var(--vin-oro-eyebrow);
  font: 700 11px/1.2 var(--vin-sans);
  letter-spacing: var(--vin-ls-eyebrow);
  text-transform: uppercase;
}
.vin-avv-scheda-box__titolo {
  margin: 0 0 8px;
  color: var(--vin-champagne);
  font: 400 26px/1.15 var(--vin-serif);
}
.vin-avv-scheda-box__testo {
  margin: 0 0 12px;
  color: var(--vin-crema-calda);
  font-size: 13.5px;
  line-height: 1.5;
}
.vin-avv-scheda-box__link {
  color: var(--vin-oro-chiaro);
  font: 600 13px/1.3 var(--vin-sans);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Banner Biglietto d'Oro nel Carrello (27–30 nov) */
.vin-avv-cart-ticket {
  margin: 0 0 var(--vin-sp-6);
  padding: var(--vin-sp-5);
  background: var(--vin-inchiostro);
  color: var(--vin-crema-calda);
  border: 1px solid var(--vin-oro);
  border-radius: var(--vin-r-sm);
}
.vin-avv-cart-ticket.is-unlocked {
  border-width: 2px;
  border-color: var(--vin-oro-eyebrow);
}
.vin-avv-cart-ticket__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--vin-sp-3);
  margin-bottom: var(--vin-sp-2);
}
.vin-avv-cart-ticket__badge {
  color: var(--vin-oro-eyebrow);
  font: 700 11px/1.2 var(--vin-sans);
  letter-spacing: var(--vin-ls-eyebrow);
}
.vin-avv-cart-ticket__status {
  color: var(--vin-oro-chiaro);
  font: 700 12px/1.2 var(--vin-sans);
}
.vin-avv-cart-ticket__text {
  margin: 0 0 var(--vin-sp-3);
  color: var(--vin-crema-calda);
  font-size: 13.5px;
  line-height: 1.5;
}
.vin-avv-cart-ticket__bar {
  height: 6px;
  background: rgba(254, 239, 205, 0.16);
  border-radius: var(--vin-r-pill);
  overflow: hidden;
}
.vin-avv-cart-ticket__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--vin-oro) 0%, var(--vin-oro-chiaro) 100%);
  transition: width var(--vin-durata-base) var(--vin-ease);
}

/* ==========================================================================
   8. XMAS RE-WINE: GRIGLIA DI RECUPERO DELLE 24 GIORNATE (Porta 25)
   ========================================================================== */
.vin-rewine-sezione {
  margin: var(--vin-sp-8) 0 var(--vin-sp-12);
}
.vin-rewine-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto var(--vin-sp-8);
}
.vin-rewine-header__occhiello {
  display: block;
  color: var(--vin-oro-eyebrow);
  font: 700 11px/1.2 var(--vin-sans);
  letter-spacing: var(--vin-ls-eyebrow);
  text-transform: uppercase;
  margin-bottom: var(--vin-sp-2);
}
.vin-rewine-header__titolo {
  font: 400 36px/1.15 var(--vin-serif);
  color: var(--vin-vino);
  margin: 0 0 var(--vin-sp-3);
}
.vin-rewine-header__desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--vin-inchiostro);
  opacity: 0.88;
}
.vin-rewine-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--vin-sp-5);
}
.vin-rewine-card {
  background: #fff;
  border: 1px solid #e8decb;
  border-radius: var(--vin-r-sm);
  padding: var(--vin-sp-5);
  display: flex;
  flex-direction: column;
  transition: transform var(--vin-durata-base) var(--vin-ease), box-shadow var(--vin-durata-base) var(--vin-ease);
}
.vin-rewine-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(23, 56, 39, 0.08);
}
.vin-rewine-card--soldout {
  background: #fbf9f6;
  border-color: #e5ded5;
  opacity: 0.72;
}
.vin-rewine-card--soldout:hover {
  transform: none;
  box-shadow: none;
}
.vin-rewine-card--partial {
  border-left: 4px solid #d97706;
}
.vin-rewine-card--available {
  border-left: 4px solid var(--vin-verde);
}
.vin-rewine-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--vin-sp-2);
  margin-bottom: var(--vin-sp-3);
}
.vin-rewine-card__giorno {
  display: flex;
  flex-direction: column;
}
.vin-rewine-card__num {
  font: 700 13px/1.2 var(--vin-sans);
  color: var(--vin-vino);
}
.vin-rewine-card__fmt {
  font: 600 11px/1.2 var(--vin-sans);
  color: var(--vin-oro-eyebrow);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 2px;
}
.vin-rewine-badge {
  display: inline-block;
  font: 700 11px/1 var(--vin-sans);
  padding: 4px 8px;
  border-radius: var(--vin-r-pill);
  white-space: nowrap;
}
.vin-rewine-badge--soldout {
  background: #fee2e2;
  color: #991b1b;
}
.vin-rewine-badge--partial {
  background: #fef3c7;
  color: #92400e;
}
.vin-rewine-badge--available {
  background: #dcfce7;
  color: #166534;
}
.vin-rewine-card__titolo {
  font: 400 20px/1.2 var(--vin-serif);
  color: var(--vin-vino);
  margin: 0 0 var(--vin-sp-2);
}
.vin-rewine-card__vantaggio {
  font: 600 12.5px/1.3 var(--vin-sans);
  color: var(--vin-oro-eyebrow);
  margin: 0 0 var(--vin-sp-4);
}
.vin-rewine-card__soldout-box {
  margin-top: auto;
  padding: var(--vin-sp-3);
  background: rgba(0, 0, 0, 0.03);
  border-radius: var(--vin-r-xs);
}
.vin-rewine-card__esaurito-msg {
  margin: 0;
  font: 400 12.5px/1.4 var(--vin-sans);
  color: #786f68;
}
.vin-rewine-card__bottiglie {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: var(--vin-sp-2);
}
.vin-rewine-bottiglia {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--vin-sp-2);
  padding: var(--vin-sp-2) 0;
  border-top: 1px dashed #e8e2d8;
}
.vin-rewine-bottiglia:first-child {
  border-top: none;
}
.vin-rewine-bottiglia__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.vin-rewine-bottiglia__nome {
  font: 500 13px/1.3 var(--vin-sans);
  color: var(--vin-inchiostro);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vin-rewine-bottiglia__prezzo {
  font: 700 13px/1.2 var(--vin-sans);
  color: var(--vin-vino);
}
.btn-rewine-buy {
  display: inline-block;
  padding: 5px 12px;
  background: var(--vin-vino);
  color: var(--vin-crema-calda) !important;
  font: 600 12px/1 var(--vin-sans);
  border-radius: var(--vin-r-pill);
  text-decoration: none;
  transition: background var(--vin-durata-veloce) var(--vin-ease);
  flex: none;
}
.btn-rewine-buy:hover {
  background: var(--vin-verde);
  color: #fff !important;
}
.btn-rewine-soldout {
  display: inline-block;
  padding: 4px 8px;
  background: #f3f0ea;
  color: #999;
  font: 600 11px/1 var(--vin-sans);
  border-radius: var(--vin-r-pill);
  flex: none;
}
.product-tag.tag-esaurita {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fca5a5 !important;
  font-weight: 700 !important;
}
