/* ══════════════════════════════════════════════════════════════
   NÜMO ITALIA — numoitalia.it
   Costruito da zero per OnlinePerTutti · THK Consulting
   ══════════════════════════════════════════════════════════════ */

@font-face{font-family:'Archivo';src:url('assets/font/archivo.woff2') format('woff2');
  font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo Black';src:url('assets/font/archivo-black.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap}

:root{
  --nero:#0b0b0d;
  --nero-2:#121215;
  --nero-3:#17171b;
  --rame:#cb5123;
  --rame-chiaro:#e8703c;
  --oro:#f90;
  --panna:#f3ece6;
  --grigio:#9a938d;
  --bordo:rgba(243,236,230,.10);
  --tenue:#8d857d;                 /* testi di servizio */
  --barra-fondo:rgba(11,11,13,.86);
  --avviso-fondo:rgba(18,18,21,.96);
  --freccia-fondo:rgba(11,11,13,.82);
  --alone:.34;                     /* intensità dell'alone dietro al flacone */
  --max:1240px;
  --curva:cubic-bezier(.22,1,.36,1);
}

/* ══════════════════════════════════════════════════════════════════
   TEMA CHIARO — non è un'inversione: è una versione progettata.
   La hero e la fascia «Perché NÜMO» restano scure, perché tutta la
   fotografia del prodotto è su fondo nero: schiarirle la spegnerebbe.
   Il resto della pagina diventa carta calda.
   ══════════════════════════════════════════════════════════════════ */
:root[data-tema="chiaro"]{
  --nero:#f7f3ee;                  /* fondo pagina */
  --nero-2:#ffffff;                /* schede */
  --nero-3:#fbf7f3;                /* schede al passaggio del mouse */
  --rame:#b8441a;                  /* più scuro: su carta serve contrasto */
  --rame-chiaro:#cb5123;
  --oro:#a35a00;
  --panna:#171310;                 /* testo */
  --grigio:#6b6058;                /* testo secondario */
  --bordo:rgba(23,19,16,.13);
  --tenue:#7a7169;
  --barra-fondo:rgba(247,243,238,.9);
  --avviso-fondo:rgba(255,255,255,.97);
  --freccia-fondo:rgba(255,255,255,.9);
  --alone:.16;
  color-scheme:light;
}
:root{color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}

/* 🔴 La messa a fuoco si deve VEDERE: su fondo nero l'anello di sistema
   sparisce. Vale per tastiera e per lettori di schermo. */
:focus-visible{
  outline:2px solid var(--oro);outline-offset:3px;border-radius:4px;
}
.bottone:focus-visible,.pista-freccia:focus-visible{outline-offset:4px}

/* le ancore non devono finire sotto la barra fissa */
#come,#momenti,#durata,#faq,#top{scroll-margin-top:96px}

/* salta al contenuto: invisibile finché non lo si mette a fuoco */
.salta{
  position:fixed;top:.6rem;left:.6rem;z-index:100;
  padding:.7rem 1.1rem;border-radius:8px;background:var(--rame);color:#fff;
  font-size:.85rem;font-weight:700;
  transform:translate3d(0,-160%,0);transition:transform .3s var(--curva);
}
.salta:focus-visible{transform:translate3d(0,0,0)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--nero);color:var(--panna);
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.6;letter-spacing:-.005em;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
figure{margin:0}   /* il margine di default del browser sfasava le schede */
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}

.contenitore{width:min(100% - 2.5rem,var(--max));margin-inline:auto}

h1,h2,h3,.display{
  font-family:'Archivo Black','Archivo',system-ui,sans-serif;
  font-weight:400;line-height:.98;letter-spacing:-.03em;text-transform:uppercase;margin:0;
}
h1{font-size:clamp(2.4rem,8.5vw,6.4rem)}
h2{font-size:clamp(1.9rem,5vw,3.6rem)}
h3{font-size:clamp(1.05rem,2vw,1.4rem);letter-spacing:-.02em}
p{margin:0 0 1rem}
.accento{color:var(--rame)}
.occhiello{
  font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--rame);font-weight:600;margin:0 0 1.1rem;
}
.guida{color:var(--grigio);font-size:clamp(1rem,1.6vw,1.15rem);max-width:52ch}

/* ── comparsa allo scorrimento ───────────────────────────────── */
.rivela{opacity:1;transform:none}   /* senza JS si vede tutto */
.js .rivela{opacity:0;transform:translate3d(0,26px,0);
  transition:opacity .7s var(--curva),transform .7s var(--curva)}
.js .rivela.dentro{opacity:1;transform:translate3d(0,0,0)}
.rivela[data-ritardo="1"]{transition-delay:.09s}
.rivela[data-ritardo="2"]{transition-delay:.18s}
.rivela[data-ritardo="3"]{transition-delay:.27s}
.rivela[data-ritardo="4"]{transition-delay:.36s}

/* ── barra in alto ───────────────────────────────────────────── */
.barra{
  position:fixed;inset:0 0 auto;z-index:60;
  display:flex;align-items:center;gap:1.6rem;
  padding:.85rem clamp(1.25rem,4vw,2.5rem);
  transition:background .45s var(--curva),backdrop-filter .45s var(--curva),
             padding .45s var(--curva),border-color .45s var(--curva);
  border-bottom:1px solid transparent;
}
.barra.compatta{
  background:var(--barra-fondo);border-bottom-color:var(--bordo);
  -webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);
  padding-block:.55rem;
}
.marchio{display:flex;align-items:flex-end;gap:.55rem;transition:transform .4s var(--curva)}
.marchio:hover{transform:translate3d(0,-2px,0)}
.marchio img{width:clamp(96px,11vw,126px)}
.marchio__italia{
  display:flex;align-items:center;gap:.34rem;
  font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--panna);padding-bottom:.22rem;font-weight:600;
}
.bandiera{width:20px;height:14px;border-radius:2px;overflow:hidden;flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(243,236,230,.18)}
.bandiera i{display:block;height:100%;width:33.34%;float:left}

.menu{display:flex;gap:1.7rem;margin-left:auto;font-size:.83rem;
  letter-spacing:.13em;text-transform:uppercase;font-weight:600}
.menu a{position:relative;padding-block:.35rem;color:var(--grigio);
  transition:color .3s var(--curva)}
.menu a::after{
  content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--rame);
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--curva);
}
.menu a:hover{color:var(--panna)}
.menu a:hover::after{transform:scaleX(1);transform-origin:left}

/* ── menù a tutto schermo ────────────────────────────────────── */
.apri-menu{display:none;width:38px;height:38px;position:relative;flex:0 0 auto;
  transition:transform .4s var(--curva)}
.apri-menu:hover{transform:scale(1.08)}
.apri-menu span{position:absolute;left:9px;width:20px;height:1.5px;background:var(--panna);
  transition:transform .45s var(--curva),opacity .3s var(--curva)}
.apri-menu span:nth-child(1){top:16px}
.apri-menu span:nth-child(2){top:22px}
body.menu-aperto .apri-menu span:nth-child(1){transform:translateY(3px) rotate(45deg)}
body.menu-aperto .apri-menu span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}
.pannello{
  position:fixed;inset:0;z-index:85;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;gap:.4rem;
  padding:6rem clamp(1.5rem,7vw,2.5rem) 3rem;background:var(--nero);
  overflow-y:auto;opacity:0;transform:translate3d(0,-14px,0);
  /* 🔴 IL DIFETTO PIÙ GRAVE DEL SITO, trovato con l'audit:
     l'attributo hidden dell'HTML vale [hidden]{display:none}, che ha la
     STESSA specificità di .pannello e perde perché arriva prima. Il
     pannello restava quindi steso su tutto lo schermo, invisibile ma
     con pointer-events:auto: si mangiava i clic sui pulsanti sotto.
     Ecco perché «alcuni pulsanti andavano e altri no».
     Cintura (display:none) e bretelle (visibility + pointer-events). */
  visibility:hidden;pointer-events:none;
  transition:opacity .4s var(--curva),transform .4s var(--curva),
             visibility 0s linear .4s;
}
.pannello[hidden]{display:none}
.pannello.visibile{
  opacity:1;transform:translate3d(0,0,0);
  visibility:visible;pointer-events:auto;
  transition:opacity .4s var(--curva),transform .4s var(--curva),visibility 0s;
}
.pannello nav{display:flex;flex-direction:column;gap:.2rem;margin-bottom:2.2rem;width:100%}
.pannello nav a{
  font-family:'Archivo Black',sans-serif;text-transform:uppercase;
  font-size:clamp(1.6rem,7vw,2.4rem);line-height:1.18;letter-spacing:-.02em;
  padding-block:.35rem;transition:color .3s var(--curva),transform .4s var(--curva);
}
.pannello nav a:hover{color:var(--rame);transform:translate3d(8px,0,0)}
body.menu-aperto{overflow:hidden}
body.menu-aperto .avviso{opacity:0;pointer-events:none}
.avviso{transition:transform .5s var(--curva),opacity .3s var(--curva)}

/* ── bottone ─────────────────────────────────────────────────── */
.bottone{
  position:relative;display:inline-flex;align-items:center;gap:.7rem;
  padding:1.05rem 2.1rem;border-radius:999px;overflow:hidden;
  background:var(--rame);color:#fff;font-weight:700;
  font-size:.88rem;letter-spacing:.16em;text-transform:uppercase;
  transition:transform .4s var(--curva),box-shadow .4s var(--curva);
  box-shadow:0 10px 34px -14px rgba(203,81,35,.9);
  will-change:transform;
}
.bottone::before{
  content:'';position:absolute;inset:0;background:var(--rame-chiaro);
  transform:translate3d(0,101%,0);transition:transform .45s var(--curva);z-index:0;
}
.bottone:hover::before{transform:translate3d(0,0,0)}
.bottone:hover{transform:translate3d(0,-3px,0);box-shadow:0 18px 44px -14px rgba(203,81,35,1)}
.bottone:active{transform:translate3d(0,-1px,0)}
.bottone span,.bottone svg{position:relative;z-index:1}
.bottone svg{transition:transform .4s var(--curva)}
.bottone:hover svg{transform:translate3d(4px,0,0)}
.bottone--fantasma{background:transparent;color:var(--panna);
  box-shadow:inset 0 0 0 1px var(--bordo)}
.bottone--fantasma::before{background:rgba(243,236,230,.08)}
.bottone--fantasma:hover{box-shadow:inset 0 0 0 1px rgba(243,236,230,.34)}
.bottone--mini{padding:.62rem 1.15rem;font-size:.7rem;letter-spacing:.14em}

.nota-rimando{
  display:block;margin-top:.85rem;font-size:.79rem;color:var(--grigio);opacity:.9;
  letter-spacing:.02em;transition:opacity .35s var(--curva),color .35s var(--curva);
}
.nota-rimando:hover{opacity:1}
/* sopra il video e dentro il menù resta bianca, come chiesto dal cliente */
.hero .nota-rimando,.pannello .nota-rimando{color:#fff;opacity:.75}
.hero .nota-rimando:hover,.pannello .nota-rimando:hover{opacity:1}

/* ── hero ────────────────────────────────────────────────────── */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;
  /* 🔴 L'avviso cookie è fisso in fondo e copriva il pulsante «Acquista ora».
     --avviso-h la scrive il JS quando l'avviso è visibile. */
  padding-block:clamp(7rem,14vh,10rem) calc(clamp(3rem,7vh,5rem) + var(--avviso-h,0px));
}
.hero__video,.hero__ripiego{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  transform:scale(1.06);
}
.hero__ripiego{z-index:0}
.hero__velo{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(11,11,13,.72) 0%,rgba(11,11,13,.18) 34%,rgba(11,11,13,.94) 88%),
    radial-gradient(80% 60% at 18% 78%,rgba(11,11,13,.7),transparent 70%);
}
#spruzzo{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.9}
.hero .contenitore{position:relative;z-index:3;width:min(100% - 2.5rem,var(--max))}
.hero h1{max-width:16ch;margin-bottom:1.4rem}
.hero h1 .riga{display:block;overflow:hidden;padding-top:.12em;margin-top:-.12em}
.hero h1 .riga>span{display:block;transform:translate3d(0,110%,0);
  animation:sale .95s var(--curva) forwards}
.hero h1 .riga:nth-child(2)>span{animation-delay:.13s}
.hero h1 .riga:nth-child(3)>span{animation-delay:.26s}
.hero__testo{max-width:44ch;color:#d9d2cc;margin-bottom:2rem;
  opacity:0;animation:entra .9s var(--curva) .42s forwards}
.hero__azioni{opacity:0;animation:entra .9s var(--curva) .58s forwards}
.hero__scorri{
  position:absolute;left:50%;bottom:calc(1.6rem + var(--avviso-h,0px));z-index:4;
  transform:translateX(-50%);display:block;
  width:26px;height:42px;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(243,236,230,.28);
  transition:transform .4s var(--curva),box-shadow .4s var(--curva);
}
.hero__scorri:hover{transform:translateX(-50%) translateY(3px);
  box-shadow:inset 0 0 0 1px rgba(203,81,35,.7)}
.hero__scorri::after{
  content:'';position:absolute;left:50%;top:10px;width:3px;height:7px;border-radius:2px;
  background:var(--rame);transform:translateX(-50%);animation:rotella 1.9s var(--curva) infinite;
}

@keyframes sale{to{transform:translate3d(0,0,0)}}
@keyframes entra{to{opacity:1}}
@keyframes rotella{
  0%{opacity:0;transform:translate(-50%,0)}
  35%{opacity:1}
  100%{opacity:0;transform:translate(-50%,13px)}
}

/* ── nastro che non si ferma mai ─────────────────────────────── */
.nastro{
  overflow:hidden;white-space:nowrap;padding-block:1.15rem;
  border-block:1px solid var(--bordo);background:var(--nero-2);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.nastro__pista{display:inline-flex;align-items:center;gap:2.6rem;
  animation:scorri 38s linear infinite;will-change:transform}
.nastro__voce{display:inline-flex;align-items:center;gap:.85rem;
  font-family:'Archivo Black',sans-serif;text-transform:uppercase;
  font-size:clamp(.9rem,1.9vw,1.25rem);letter-spacing:-.01em;color:var(--tenue)}
.nastro__voce b{color:var(--rame);font-weight:400}
.nastro__voce img{width:auto;height:13px;opacity:.5;transform:rotate(-90deg)}
@keyframes scorri{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* ── prodotto: colonna che resta ferma ───────────────────────── */
.prodotto{padding-block:clamp(4.5rem,11vh,8rem);position:relative}
.prodotto__griglia{display:grid;grid-template-columns:1fr;gap:3.5rem;align-items:start}
.prodotto__scena{position:relative;display:grid;place-items:center;min-height:min(50vh,420px)}
.prodotto__scena img{
  /* immagine molto verticale: si dimensiona per ALTEZZA, altrimenti su
     mobile riempie tutto lo schermo (è la regola «mai un'immagine gigante») */
  height:min(46vh,380px);width:auto;max-width:60vw;
  filter:drop-shadow(0 40px 60px rgba(0,0,0,.75));
  transform:translate3d(0,0,0) rotate(-3deg);transition:transform .8s var(--curva);
}
.prodotto__scena:hover img{transform:translate3d(0,-8px,0) rotate(-1deg)}
.prodotto__alone{
  position:absolute;width:min(74vw,360px);aspect-ratio:1;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(203,81,35,var(--alone)),transparent 66%);
  animation:respira 7s ease-in-out infinite;
}
@keyframes respira{
  0%,100%{transform:scale(1);opacity:.72}
  50%{transform:scale(1.13);opacity:1}
}
.passi{display:grid;gap:1.1rem;counter-reset:passo}
.passo{
  position:relative;display:grid;grid-template-columns:auto 1fr;gap:1.15rem;align-items:start;
  padding:1.35rem 1.5rem;border-radius:16px;background:var(--nero-2);
  box-shadow:inset 0 0 0 1px var(--bordo);
  transition:transform .45s var(--curva),box-shadow .45s var(--curva),background .45s var(--curva);
}
.passo:hover{transform:translate3d(6px,0,0);background:var(--nero-3);
  box-shadow:inset 0 0 0 1px rgba(203,81,35,.42)}
.passo__n{
  counter-increment:passo;font-family:'Archivo Black',sans-serif;font-size:1.5rem;
  color:var(--rame);line-height:1;min-width:2ch;
  transition:transform .45s var(--curva)}
.passo__n::before{content:counter(passo,decimal-leading-zero)}
.passo:hover .passo__n{transform:scale(1.18)}
.passo h3{margin-bottom:.3rem}
.passo p{margin:0;color:var(--grigio);font-size:.96rem}

.dati{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin-top:2rem}
.dato{
  padding:1.25rem 1.3rem;border-radius:14px;background:var(--nero-2);
  box-shadow:inset 0 0 0 1px var(--bordo);
  transition:transform .45s var(--curva),box-shadow .45s var(--curva);
}
.dato:hover{transform:translate3d(0,-5px,0);box-shadow:inset 0 0 0 1px rgba(203,81,35,.4)}
.dato b{display:block;font-family:'Archivo Black',sans-serif;font-size:1.65rem;
  color:var(--rame);line-height:1;margin-bottom:.4rem}
.dato span{font-size:.87rem;color:var(--grigio);line-height:1.35;display:block}

/* ── contesti: riga che scorre ───────────────────────────────── */
.pista-guscio{position:relative;isolation:isolate}
/* la pista diventa un piano di disegno a livello 0: così le frecce (20)
   stanno sopra le immagini delle schede in modo prevedibile */
.pista{position:relative;z-index:0}
.pista-freccia{
  position:absolute;top:50%;z-index:20;width:46px;height:46px;border-radius:50%;
  display:none;place-items:center;transform:translateY(-50%);
  background:var(--freccia-fondo);color:var(--panna);
  box-shadow:inset 0 0 0 1px var(--bordo);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background .35s var(--curva),transform .35s var(--curva),
             box-shadow .35s var(--curva),opacity .35s var(--curva);
}
.pista-freccia:hover{background:var(--rame);transform:translateY(-50%) scale(1.08);
  box-shadow:inset 0 0 0 1px rgba(203,81,35,.9)}
.pista-freccia[disabled]{opacity:.25;pointer-events:none}
.pista-freccia--prima{left:max(.6rem,calc((100vw - var(--max))/2 - 58px))}
.pista-freccia--dopo{right:max(.6rem,calc((100vw - var(--max))/2 - 58px))}
/* le frecce servono a chi ha il mouse: da 900px in su ci sono sempre,
   e spariscono solo sui dispositivi che si comandano col dito */
@media (min-width:900px){.pista-freccia{display:grid}}
@media (hover:none) and (pointer:coarse){.pista-freccia{display:none}}
.pista:focus-visible{outline:2px solid var(--oro);outline-offset:-2px;border-radius:18px}
.contesti{padding-block:clamp(4rem,10vh,7rem);overflow:hidden}
.contesti__testa{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:end;
  justify-content:space-between;margin-bottom:2.6rem}
.pista{
  display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-inline:max(1.25rem,calc((100vw - var(--max))/2));scroll-padding-inline:1.25rem;
  padding-bottom:.6rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.pista::-webkit-scrollbar{display:none}
.scheda{
  flex:0 0 auto;width:min(78vw,290px);aspect-ratio:3/4;position:relative;
  border-radius:18px;overflow:hidden;scroll-snap-align:center;
  box-shadow:inset 0 0 0 1px var(--bordo);
  transition:transform .55s var(--curva),box-shadow .55s var(--curva);
}
.scheda img{width:100%;height:100%;object-fit:cover;
  transition:transform .8s var(--curva)}
/* niente will-change fisso: creava un piano di disegno che copriva le frecce
   e teneva occupata memoria video su cinque immagini grandi */
.scheda:hover img{will-change:transform}
.scheda:hover{transform:translate3d(0,-7px,0);box-shadow:inset 0 0 0 1px rgba(203,81,35,.5)}
.scheda:hover img{transform:scale(1.09)}
.scheda__eti{
  position:absolute;inset:auto 0 0;padding:1.5rem 1.25rem 1.15rem;
  background:linear-gradient(180deg,transparent,rgba(11,11,13,.9));
  font-family:'Archivo Black',sans-serif;text-transform:uppercase;
  font-size:.98rem;letter-spacing:-.01em;line-height:1.1;
}

/* ── perché: fascia con parallasse ───────────────────────────── */
.perche{position:relative;overflow:hidden;padding-block:clamp(5rem,13vh,9rem)}
.perche__sfondo{
  position:absolute;inset:-14% 0;z-index:0;
  background:url('assets/img/Banner2.webp?v=10') center/cover no-repeat;
  will-change:transform;
}
.perche__velo{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(11,11,13,.96) 0%,rgba(11,11,13,.72) 48%,rgba(11,11,13,.35) 100%)}
.perche .contenitore{position:relative;z-index:2}
.perche__testo{max-width:34ch}
.perche h2{margin-bottom:1.3rem}
.perche p{color:#cfc7c0}

/* ── lo strumento: quanto ti dura ────────────────────────────── */
.calcolo{padding-block:clamp(4rem,10vh,7rem)}
.calcolo__scatola{
  display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;
  padding:clamp(1.75rem,4vw,3rem);border-radius:24px;background:var(--nero-2);
  box-shadow:inset 0 0 0 1px var(--bordo);
}
.calcolo__cifra{text-align:center}
.calcolo__numero{
  font-family:'Archivo Black',sans-serif;font-size:clamp(4rem,15vw,7.5rem);
  line-height:.86;color:var(--rame);display:block;
  transition:transform .3s var(--curva);will-change:transform;
}
.calcolo__numero.pulsa{transform:scale(1.07)}
.calcolo__unita{display:block;font-size:.78rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--grigio);margin-top:.75rem}
.cursore{
  /* 🔴 L'input era alto 4px: impossibile da prendere col dito.
     Ora l'area è alta 44px, la pista resta sottile. */
  width:100%;height:44px;margin:1.2rem 0 .2rem;
  -webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;
}
.cursore::-webkit-slider-runnable-track{height:5px;border-radius:3px;
  background:linear-gradient(90deg,var(--rame) var(--riempi,30%),rgba(243,236,230,.16) var(--riempi,30%))}
.cursore::-moz-range-track{height:5px;border-radius:3px;background:rgba(243,236,230,.16)}
.cursore::-webkit-slider-thumb{
  -webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--rame);
  margin-top:-10.5px;box-shadow:0 0 0 6px rgba(203,81,35,.18);
  transition:transform .3s var(--curva),box-shadow .3s var(--curva);
}
.cursore:hover::-webkit-slider-thumb{transform:scale(1.14);box-shadow:0 0 0 10px rgba(203,81,35,.24)}
.cursore::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:var(--rame)}
.cursore__eti{display:flex;justify-content:space-between;font-size:.8rem;color:var(--grigio)}
.calcolo__img{display:grid;place-items:center}
.calcolo__img img{width:min(30vw,120px);
  transition:transform .6s var(--curva);animation:oscilla 6s ease-in-out infinite}
.calcolo__img img:hover{transform:scale(1.07) rotate(2deg)}
@keyframes oscilla{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}

/* ── i due marchi ────────────────────────────────────────────── */
.italia{padding-block:clamp(4rem,10vh,7rem)}
.italia__griglia{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
.marchi{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem;margin-top:2rem}
.marchi img{transition:transform .5s var(--curva),filter .5s var(--curva)}
.marchi .m-numo{width:clamp(104px,13vw,142px)}
.marchi .m-click{width:clamp(112px,14vw,152px);filter:saturate(.9)}
.marchi img:hover{transform:scale(1.06);filter:saturate(1.1)}
.marchi__piu{color:var(--grigio);font-size:1.35rem;line-height:1}
.contatori{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:2.4rem}
.contatore{padding:1.4rem 1rem;border-radius:14px;background:var(--nero-2);text-align:center;
  box-shadow:inset 0 0 0 1px var(--bordo);
  transition:transform .45s var(--curva),box-shadow .45s var(--curva)}
.contatore:hover{transform:translate3d(0,-5px,0);box-shadow:inset 0 0 0 1px rgba(203,81,35,.38)}
.contatore b{display:block;font-family:'Archivo Black',sans-serif;
  font-size:clamp(1.5rem,4vw,2.2rem);color:var(--rame);line-height:1}
.contatore span{font-size:.76rem;color:var(--grigio);letter-spacing:.05em;
  display:block;margin-top:.45rem;line-height:1.3}

/* ── dove comprarlo ──────────────────────────────────────────── */
.dove{padding-block:clamp(4rem,10vh,7rem)}
.dove__griglia{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2.4rem}
.canale{
  position:relative;padding:2rem 1.75rem;border-radius:18px;overflow:hidden;
  background:var(--nero-2);box-shadow:inset 0 0 0 1px var(--bordo);
  transition:transform .5s var(--curva),box-shadow .5s var(--curva);
}
.canale::after{
  content:'';position:absolute;inset:auto 0 0;height:2px;background:var(--rame);
  transform:scaleX(0);transform-origin:left;transition:transform .55s var(--curva);
}
.canale:hover{transform:translate3d(0,-6px,0);box-shadow:inset 0 0 0 1px rgba(203,81,35,.4)}
.canale:hover::after{transform:scaleX(1)}
.canale__icona{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  background:rgba(203,81,35,.14);margin-bottom:1.1rem;
  transition:transform .5s var(--curva)}
.canale:hover .canale__icona{transform:rotate(-8deg) scale(1.08)}
.canale h3{margin-bottom:.55rem}
.canale p{color:var(--grigio);font-size:.96rem;margin:0}
.dove__chiusura{margin-top:2.6rem;text-align:center}

/* ── domande frequenti ───────────────────────────────────────── */
.faq{padding-block:clamp(4rem,10vh,7rem)}
.faq__elenco{margin-top:2.4rem;border-top:1px solid var(--bordo)}
.domanda{border-bottom:1px solid var(--bordo)}
.domanda__testa{
  width:100%;display:flex;gap:1.25rem;align-items:center;justify-content:space-between;
  padding:1.4rem 0;text-align:left;font-size:clamp(1rem,2vw,1.13rem);font-weight:600;
  transition:color .35s var(--curva),padding .35s var(--curva);
}
.domanda__testa:hover{color:var(--rame);padding-inline-start:.5rem}
.domanda__segno{position:relative;width:16px;height:16px;flex:0 0 auto}
.domanda__segno::before,.domanda__segno::after{
  content:'';position:absolute;inset:50% 0 auto;height:1.5px;background:var(--rame);
  transition:transform .45s var(--curva);
}
.domanda__segno::after{transform:rotate(90deg)}
.domanda.aperta .domanda__segno::after{transform:rotate(0deg)}
.domanda__corpo{overflow:hidden;height:0;transition:height .45s var(--curva)}
.domanda__corpo p{color:var(--grigio);font-size:.98rem;padding-bottom:1.4rem;margin:0;max-width:66ch}
.domanda__corpo p+p{padding-top:.7rem}

/* ── banco ───────────────────────────────────────────────────── */
.banco{padding-block:clamp(3rem,8vh,5rem)}
.banco__scatola{
  display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;
  padding:1.9rem clamp(1.4rem,3vw,2.4rem);border-radius:18px;
  background:linear-gradient(100deg,var(--nero-2),var(--nero-3));
  box-shadow:inset 0 0 0 1px var(--bordo);
  transition:box-shadow .5s var(--curva),transform .5s var(--curva);
}
.banco__scatola:hover{box-shadow:inset 0 0 0 1px rgba(203,81,35,.32);transform:translate3d(0,-3px,0)}
.banco h3{margin-bottom:.45rem}
.banco p{margin:0;color:var(--grigio);font-size:.96rem}

/* ── piede ───────────────────────────────────────────────────── */
.piede{padding-block:3.4rem 2.2rem;border-top:1px solid var(--bordo);background:var(--nero-2)}
.piede__alto{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:start}
.piede__marchio{display:flex;align-items:flex-end;gap:.55rem;margin-bottom:1rem}
.piede__marchio img{width:118px}
.piede p{color:var(--grigio);font-size:.88rem;margin:0 0 .3rem;max-width:46ch}
.piede a{color:var(--panna);transition:color .3s var(--curva)}
.piede a:hover{color:var(--rame)}
.piede__basso{
  margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--bordo);
  display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;
  font-size:.8rem;color:var(--tenue);
}
.firma a{color:var(--tenue);transition:color .3s var(--curva)}
.firma a:hover{color:var(--rame)}

/* ── avviso cookie, una riga ─────────────────────────────────── */
.avviso{
  position:fixed;inset:auto 0 0;z-index:70;
  padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:.9rem;
  align-items:center;justify-content:center;padding:.75rem 1.25rem;
  background:var(--avviso-fondo);border-top:1px solid var(--bordo);
  font-size:.82rem;color:var(--grigio);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  transform:translate3d(0,100%,0);transition:transform .5s var(--curva);
}
.avviso.visibile{transform:translate3d(0,0,0)}
.avviso a{color:var(--panna);text-decoration:underline;text-underline-offset:3px;
  transition:color .3s var(--curva)}
.avviso a:hover{color:var(--rame)}

/* ── schermi grandi ──────────────────────────────────────────── */
@media (min-width:768px){
  .dati{grid-template-columns:repeat(4,1fr)}
  .dove__griglia{grid-template-columns:repeat(2,1fr)}
  .calcolo__scatola{grid-template-columns:1.15fr .85fr}
}
@media (min-width:1024px){
  .prodotto__griglia{grid-template-columns:.85fr 1.15fr;gap:5rem}
  .prodotto__scena{position:sticky;top:22vh;min-height:56vh}
  .prodotto__scena img{height:min(56vh,480px);max-width:22vw}
  .italia__griglia{grid-template-columns:1.1fr .9fr;gap:4rem}
  .scheda{width:300px}
}
@media (max-width:900px){
  .menu{display:none}
  .apri-menu{display:block}
  /* .menu portava il margin-left:auto: senza, il pulsante e l'hamburger
     restavano appiccicati al logo */
  .barra .bottone--mini{margin-left:auto}
}
@media (max-width:640px){
  .contatori{grid-template-columns:1fr;gap:.6rem}
  .contatore{display:flex;align-items:baseline;gap:.8rem;justify-content:center}
  .contatore span{margin-top:0}
}

/* ── schermi bassi: telefono in orizzontale ──────────────────────
   🔴 Con 390px di altezza il padding della hero e il titolo grande
   spingevano il pulsante «Acquista ora» FUORI dallo schermo.       */
@media (max-height:560px) and (orientation:landscape){
  .hero{min-height:auto;align-items:flex-start;
        padding-block:4rem calc(1.1rem + var(--avviso-h,0px))}
  .hero h1{font-size:clamp(1.4rem,4.2vw,2rem);margin-bottom:.6rem}
  .hero__testo{margin-bottom:.9rem;font-size:.86rem;max-width:56ch}
  .hero__azioni .bottone{padding:.8rem 1.5rem;font-size:.78rem}
  .hero__scorri{display:none}
  .pannello{padding-block:4.2rem 1.6rem;justify-content:flex-start}
  .pannello nav{margin-bottom:1.2rem}
  .pannello nav a{font-size:1.25rem;padding-block:.15rem}
}

/* ══════════════════════════════════════════════════════════════════
   TEMA CHIARO — gli aggiustamenti che non stanno nei token
   ══════════════════════════════════════════════════════════════════ */
:root[data-tema="chiaro"] body{background:var(--nero)}

/* le due fasce che restano scure: sopra ci sono video e foto notturne */
:root[data-tema="chiaro"] .hero,
:root[data-tema="chiaro"] .perche{background:#0b0b0d}
:root[data-tema="chiaro"] .hero h1,
:root[data-tema="chiaro"] .perche h2{color:#f3ece6}
:root[data-tema="chiaro"] .hero .accento,
:root[data-tema="chiaro"] .perche .occhiello{color:var(--rame-chiaro)}
:root[data-tema="chiaro"] .hero__scorri{box-shadow:inset 0 0 0 1px rgba(243,236,230,.3)}

/* la barra è chiara solo quando è compatta: sulla hero sta sopra il video */
:root[data-tema="chiaro"] .barra:not(.compatta) .menu a{color:rgba(243,236,230,.75)}
:root[data-tema="chiaro"] .barra:not(.compatta) .menu a:hover{color:#fff}
:root[data-tema="chiaro"] .barra:not(.compatta) .marchio__italia{color:#f3ece6}
:root[data-tema="chiaro"] .barra:not(.compatta) .tema span{background:#f3ece6}

/* il nastro e le schede su carta */
:root[data-tema="chiaro"] .nastro{background:#fffdfb}
:root[data-tema="chiaro"] .passo,
:root[data-tema="chiaro"] .dato,
:root[data-tema="chiaro"] .canale,
:root[data-tema="chiaro"] .contatore,
:root[data-tema="chiaro"] .calcolo__scatola{box-shadow:0 1px 2px rgba(23,19,16,.05),inset 0 0 0 1px var(--bordo)}
:root[data-tema="chiaro"] .banco__scatola{
  background:linear-gradient(100deg,#ffffff,#fbf6f1);
  box-shadow:0 1px 2px rgba(23,19,16,.05),inset 0 0 0 1px var(--bordo)}
:root[data-tema="chiaro"] .piede{background:#fffdfb}

/* 🔴 Il logo ClickBall ha la parola «Ball» in BIANCO: su carta sparirebbe.
   Su tema chiaro va appoggiato su una piastrina scura, come sul suo sito. */
:root[data-tema="chiaro"] .marchi .m-click{
  background:#121215;padding:.6rem .9rem;border-radius:10px;box-sizing:content-box}

/* ── il pulsante che cambia tema ─────────────────────────────────── */
.tema{
  position:relative;width:40px;height:40px;border-radius:50%;flex:0 0 auto;
  display:grid;place-items:center;
  box-shadow:inset 0 0 0 1px var(--bordo);
  transition:transform .4s var(--curva),box-shadow .4s var(--curva),background .4s var(--curva);
}
.tema:hover{transform:rotate(-18deg) scale(1.08);box-shadow:inset 0 0 0 1px rgba(203,81,35,.6)}
.tema svg{width:17px;height:17px;position:absolute;
  transition:transform .5s var(--curva),opacity .35s var(--curva)}
.tema .sole{opacity:0;transform:rotate(-90deg) scale(.4)}
.tema .luna{opacity:1;transform:rotate(0) scale(1)}
:root[data-tema="chiaro"] .tema .sole{opacity:1;transform:rotate(0) scale(1)}
:root[data-tema="chiaro"] .tema .luna{opacity:0;transform:rotate(90deg) scale(.4)}
.pannello .tema{width:auto;height:auto;border-radius:999px;padding:.7rem 1.2rem;
  display:inline-flex;align-items:center;gap:.6rem;font-size:.8rem;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.pannello .tema svg{position:static}
.pannello .tema .sole,.pannello .tema .luna{position:absolute;left:1.2rem}
.pannello .tema:hover{transform:none;box-shadow:inset 0 0 0 1px rgba(203,81,35,.6)}

/* ── chi ha ridotto le animazioni ────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important}
  .nastro__pista{animation-duration:260s !important;animation-iteration-count:infinite !important}
  .rivela{opacity:1;transform:none}
  .hero h1 .riga>span{transform:none}
  .hero__testo,.hero__azioni{opacity:1}
  #spruzzo{display:none}
}
