/* ==========================================================================
   Vetrina prodotti — blocchi-animati
   Hero a carosello: colore di sfondo che cambia, parola gigante dietro al prodotto scontornato,
   decorazioni che fluttuano, contatore 01/04. Funziona con vetrina.js (nessuna libreria).
   Senza JS: le slide si vedono una sotto l'altra, tutto leggibile.
   ========================================================================== */
.vetrina {
  --vetrina-bg: #6c2bd9;
  --vetrina-testo: #fff;
  --vetrina-font: "Archivo Narrow", "Arial Narrow", "Helvetica Neue Condensed", Impact, sans-serif;
  --vetrina-curva: cubic-bezier(.2, .8, .2, 1);
  position: relative;
  overflow: hidden;
  background: var(--vetrina-bg);
  color: var(--vetrina-testo);
  transition: background-color .9s var(--vetrina-curva), color .9s var(--vetrina-curva);
}
.vetrina-slide { position: relative; padding: 40px 20px; }
.vetrina-prodotto { display: block; width: min(70vw, 420px); height: auto; margin: 0 auto; }
.vetrina-decoro { display: none; }
.vetrina-info h3 { margin: 0 0 .3em; font-size: 1.25rem; }
.vetrina-info p { margin: 0; opacity: .85; max-width: 34ch; }

/* ---------- Versione animata (vetrina.js attivo) ---------- */
.vetrina.attiva { min-height: min(100svh, 920px); }
.vetrina.attiva .vetrina-slide {
  position: absolute; inset: 0; padding: 0;
  visibility: hidden; pointer-events: none;
}
.vetrina.attiva .vetrina-slide.corrente { visibility: visible; pointer-events: auto; }

.vetrina-parola {
  position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%);
  margin: 0; text-align: center; white-space: nowrap; pointer-events: none;
  font-family: var(--vetrina-font); font-weight: 800; text-transform: uppercase;
  font-size: clamp(4.2rem, 19vw, 17rem); line-height: .82; letter-spacing: -.02em;
  overflow: hidden; padding: .06em 0;
}
.vetrina-parola span { display: inline-block; will-change: transform, opacity; }

.vetrina-prodotto-box {
  position: absolute; left: 50%; top: 50%; z-index: 2;
  width: min(62vw, calc(34vmin + 160px), 520px);
  transform: translate(-50%, -50%);
}
.vetrina.attiva .vetrina-prodotto {
  width: 100%; margin: 0;
  filter: drop-shadow(0 30px 40px rgba(0,0,0,.35));
  animation: vetrina-respiro 6s ease-in-out infinite;
}
@keyframes vetrina-respiro { 50% { transform: translateY(-10px) rotate(4deg); } }

.vetrina.attiva .vetrina-decoro {
  display: block; position: absolute; z-index: 3; width: clamp(48px, 8vw, 110px); height: auto;
  filter: drop-shadow(0 14px 18px rgba(0,0,0,.3));
  will-change: transform, translate;
  animation: vetrina-dondola 5s ease-in-out infinite;
}
.vetrina.attiva .vetrina-decoro:nth-of-type(odd) { animation-duration: 6.5s; animation-direction: reverse; }
@keyframes vetrina-dondola { 50% { rotate: 10deg; } }

.vetrina.attiva .vetrina-info {
  position: absolute; z-index: 4; left: clamp(20px, 4vw, 56px); bottom: clamp(84px, 9vw, 64px); max-width: 360px;
}
.vetrina.attiva .vetrina-info h3 { font-size: clamp(1.1rem, 1.6vw, 1.5rem); }
.vetrina.attiva .vetrina-info p { font-size: .95rem; }

.vetrina-comandi {
  position: absolute; z-index: 5; right: clamp(20px, 4vw, 56px); bottom: clamp(24px, 4vw, 56px);
  display: flex; align-items: center; gap: 14px; font: 600 14px/1 system-ui, sans-serif; letter-spacing: .08em;
}
.vetrina-comandi button {
  width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid currentColor; background: transparent;
  color: inherit; font-size: 18px; cursor: pointer; display: grid; place-items: center;
  transition: background-color .25s, color .25s;
}
.vetrina-comandi button:hover, .vetrina-comandi button:focus-visible { background: var(--vetrina-testo); color: var(--vetrina-bg); }
.vetrina-contatore { min-width: 64px; text-align: center; font-variant-numeric: tabular-nums; }
.vetrina-avanzamento { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; z-index: 5;
  background: currentColor; opacity: .5; transform-origin: 0 50%; transform: scaleX(0); }

@media (max-width: 700px) {
  .vetrina.attiva { min-height: 640px; }
  .vetrina-parola { top: 24%; }
  .vetrina-prodotto-box { top: 50%; width: 64vw; }
  .vetrina.attiva .vetrina-info { bottom: 96px; right: 20px; }
  .vetrina-comandi { left: 20px; right: 20px; justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  .vetrina, .vetrina * { transition: none !important; animation: none !important; }
  .vetrina-avanzamento { display: none; }
}
