/* ==========================================================================
   OM Sport Event — foglio di stile del tema
   Palette e caratteri presi dal marchio: blu #1B2A9E, cyan #00AEEF,
   rosso #E4002B su fondo notte.
   ========================================================================== */

:root{
  --ink:#050A24; --navy:#0B1550; --blue:#1B2A9E; --cyan:#00AEEF; --red:#E4002B;
  --bianco:#E7ECFA;
  --bordo:rgba(255,255,255,.10);
  --bordo-forte:rgba(255,255,255,.20);
  --testo-tenue:rgba(255,255,255,.55);
  --testo-fioco:rgba(255,255,255,.35);
  --largo:1400px;
  --curva:cubic-bezier(.16,1,.3,1);
  --display:'Archivo',system-ui,-apple-system,sans-serif;
  --testo:'Inter',system-ui,-apple-system,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--ink); color:var(--bianco);
  font-family:var(--testo); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:var(--cyan);color:var(--ink)}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:var(--blue);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:var(--cyan)}

/* --- tipografia ------------------------------------------------------- */
.om-titolo{
  font-family:var(--display); font-weight:900; font-style:italic;
  letter-spacing:-.035em; line-height:.88; text-transform:uppercase;
  margin:0;
}
.om-occhiello{
  font-family:var(--display); font-weight:800; font-size:.7rem;
  letter-spacing:.28em; text-transform:uppercase;
  display:flex; align-items:center; gap:12px; color:var(--cyan);
}
.om-occhiello::before{content:'';height:1px;width:32px;background:currentColor;opacity:.6}
.om-occhiello--rosso{color:var(--red)}
.om-contorno{color:transparent;-webkit-text-stroke:1.5px rgba(0,174,239,.55)}

/* --- impaginazione ---------------------------------------------------- */
.om-contenitore{max-width:var(--largo);margin:0 auto;padding:0 20px}
@media(min-width:768px){.om-contenitore{padding:0 40px}}
.om-sezione{padding:96px 0}
@media(min-width:768px){.om-sezione{padding:128px 0}}

.om-griglia{display:grid;gap:20px}
.om-griglia--2{grid-template-columns:repeat(2,1fr)}
.om-griglia--3{grid-template-columns:repeat(3,1fr)}
.om-griglia--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.om-griglia--4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
  .om-griglia--3,.om-griglia--4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .om-griglia--2,.om-griglia--3,.om-griglia--4{grid-template-columns:1fr}
  /* I prodotti restano su due colonne anche sul telefono: una per riga
     significherebbe scorrere 54 schede a tutto schermo. */
  .om-griglia--4.om-griglia--prodotti{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .om-griglia--prodotti .om-scheda__corpo{padding:14px}
  .om-griglia--prodotti .om-scheda__nome{font-size:.8rem;overflow-wrap:anywhere}
  .om-griglia--prodotti .om-scheda__cat{font-size:.68rem;letter-spacing:.08em}
  .om-griglia--prodotti .om-scheda__breve{display:none}
  .om-griglia--prodotti .om-scheda__corpo > div:last-child{margin-top:12px!important;gap:8px!important}
  .om-griglia--prodotti .om-scheda__corpo > div:last-child > div{min-width:0;font-size:.95rem;font-family:var(--display);font-weight:800}
  .om-griglia--prodotti .om-icona{display:none}
  .om-griglia--prodotti .om-etichetta{left:8px;top:8px;gap:4px}
  .om-griglia--prodotti .om-tag{padding:3px 8px}
  .om-griglia--prodotti .om-scheda__foto img{padding:8px}
}

/* --- sfondi ------------------------------------------------------------ */
.om-reticolo{
  background-image:
    linear-gradient(rgba(0,174,239,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,174,239,.06) 1px,transparent 1px);
  background-size:72px 72px;
}
.om-grana::after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* --- pulsanti ---------------------------------------------------------- */
.om-btn{
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-flex; align-items:center; gap:12px;
  padding:16px 28px; border:0; cursor:pointer;
  font-family:var(--display); font-size:.78rem; font-weight:800;
  text-transform:uppercase; letter-spacing:.2em;
  background:var(--cyan); color:var(--ink);
  transition:color .3s var(--curva);
}
.om-btn::before{
  content:'';position:absolute;inset:0;z-index:-1;background:var(--cyan);
  transform:translateY(101%);transition:transform .45s var(--curva);
}
.om-btn:hover::before{transform:translateY(0)}
.om-btn .om-freccia{transition:transform .3s var(--curva)}
.om-btn:hover .om-freccia{transform:translateX(4px)}
.om-btn--vuoto{background:transparent;border:1px solid var(--bordo-forte);color:#fff}
.om-btn--vuoto:hover{color:var(--ink)}
.om-btn--rosso{background:var(--red);color:#fff}
.om-btn--rosso:hover{color:var(--ink)}
.om-btn--pieno{width:100%;justify-content:center}
.om-btn:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

/* --- link con sottolineatura animata ----------------------------------- */
.om-sweep{position:relative}
.om-sweep::after{
  content:'';position:absolute;left:0;bottom:-4px;height:2px;width:100%;
  background:var(--cyan);transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--curva);
}
.om-sweep:hover::after,.om-sweep.attivo::after{transform:scaleX(1);transform-origin:left}

/* --- comparsa allo scorrimento ----------------------------------------- */
.om-appari{opacity:0;transform:translateY(34px);
  transition:opacity .8s var(--curva),transform .8s var(--curva)}
.om-appari.dentro{opacity:1;transform:none}

/* --- schede ------------------------------------------------------------ */
.om-scheda{
  position:relative;display:flex;flex-direction:column;height:100%;
  overflow:hidden;border:1px solid var(--bordo);background:rgba(11,21,80,.25);
  transition:transform .5s var(--curva);
}
.om-scheda:hover{transform:translateY(-8px)}
.om-scheda__foto{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:rgba(255,255,255,.03)}
.om-scheda__foto img{width:100%;height:100%;object-fit:contain;padding:12px;
  transition:transform 1.1s var(--curva)}
.om-scheda:hover .om-scheda__foto img{transform:scale(1.06)}
.om-scheda__corpo{display:flex;flex-direction:column;flex:1;padding:24px}
.om-scheda__cat{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--testo-fioco)}
.om-scheda__nome{margin:8px 0 0;font-family:var(--display);font-size:1rem;font-weight:800;
  line-height:1.2;text-transform:uppercase;letter-spacing:-.01em}
.om-scheda__nome a:hover{color:var(--cyan)}
.om-scheda__breve{margin:12px 0 0;flex:1;font-size:.875rem;line-height:1.6;color:rgba(255,255,255,.5)}

.om-etichetta{
  position:absolute;left:16px;top:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;
}
.om-tag{padding:4px 12px;font-family:var(--display);font-size:.66rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.16em}
.om-tag--cyan{background:var(--cyan);color:var(--ink)}
.om-tag--rosso{background:var(--red);color:#fff}
.om-tag--bianco{background:#fff;color:var(--ink)}
.om-tag--scuro{background:rgba(5,10,36,.85);color:var(--cyan)}

/* --- prezzo ------------------------------------------------------------ */
.om-prezzo{display:flex;align-items:baseline;gap:8px;font-family:var(--display);
  font-size:1.25rem;font-weight:800;color:#fff}
.om-prezzo del{font-size:.875rem;color:var(--testo-fioco);font-weight:400}
.om-prezzo--richiesta{font-size:1rem;color:var(--cyan);text-transform:uppercase}
.om-iva{margin:2px 0 0;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.3)}

/* --- form -------------------------------------------------------------- */
.om-campo{display:block}
.om-campo > span{display:block;font-family:var(--display);font-size:.7rem;font-weight:800;
  letter-spacing:.28em;text-transform:uppercase;color:var(--testo-fioco);transition:color .3s}
.om-campo:focus-within > span{color:var(--cyan)}
.om-campo input,.om-campo textarea,.om-campo select{
  width:100%;margin-top:8px;padding:12px 0;background:transparent;color:#fff;
  border:0;border-bottom:1px solid var(--bordo-forte);outline:none;
  font-family:var(--testo);font-size:1rem;transition:border-color .3s;
}
.om-campo input:focus,.om-campo textarea:focus,.om-campo select:focus{border-color:var(--cyan)}
.om-campo textarea{resize:vertical;min-height:110px}
.om-campo select option{background:var(--ink)}
.om-campo input::placeholder,.om-campo textarea::placeholder{color:rgba(255,255,255,.25)}
.om-privacy{display:flex;gap:12px;align-items:flex-start;font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.45)}
.om-privacy input{accent-color:var(--cyan);width:16px;height:16px;margin-top:3px;flex:0 0 auto}

.om-esito{margin-top:20px;padding:20px;border:1px solid transparent;font-size:.925rem;display:none}
.om-esito.ok{display:block;border-color:rgba(0,174,239,.4);background:rgba(0,174,239,.08);color:#fff}
.om-esito.ko{display:block;border-color:rgba(228,0,43,.5);background:rgba(228,0,43,.08);color:#fff}

/* --- utilità ----------------------------------------------------------- */
.om-cyan{color:var(--cyan)}
.om-rosso{color:var(--red)}
.om-tenue{color:var(--testo-tenue)}
.om-centro{text-align:center}
.om-nascosto{display:none !important}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .om-appari{opacity:1;transform:none}
}

/* ==========================================================================
   Testata
   ========================================================================== */
.om-testata{position:fixed;inset:0 0 auto;z-index:50;transition:background .5s var(--curva),border-color .5s}
.om-testata__barra{display:flex;align-items:center;justify-content:space-between;gap:24px;
  max-width:var(--largo);margin:0 auto;padding:16px 20px}
@media(min-width:768px){.om-testata__barra{padding:16px 40px}}
.om-testata.attaccata{background:rgba(5,10,36,.95);border-bottom:1px solid var(--bordo);
  box-shadow:0 10px 40px -20px rgba(0,0,0,.9)}
.om-marchio{display:block;background:#fff;padding:6px 8px;border-radius:2px;
  box-shadow:0 8px 30px -10px rgba(0,174,239,.6);transition:transform .5s var(--curva)}
.om-marchio:hover{transform:scale(1.03)}
.om-marchio img{height:30px;width:auto}
@media(min-width:768px){.om-marchio img{height:34px}}

.om-menu{display:none}
@media(min-width:1024px){.om-menu{display:block}}
.om-menu__lista{display:flex;align-items:center;gap:36px;margin:0;padding:0;list-style:none}
.om-menu a{font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.55);transition:color .3s}
.om-menu a:hover,.om-menu .current-menu-item > a{color:#fff}

.om-azioni{display:flex;align-items:center;gap:16px}
.om-tel{display:none;align-items:center;gap:8px;font-family:var(--display);font-size:.72rem;
  font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);transition:color .3s}
.om-tel:hover{color:#fff}
@media(min-width:1280px){.om-tel{display:flex}}
.om-pallino{width:8px;height:8px;border-radius:50%;background:var(--red);animation:om-pulsa 1.6s ease-in-out infinite}
@keyframes om-pulsa{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}

.om-icona{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--bordo-forte);
  background:transparent;cursor:pointer;position:relative;transition:border-color .3s,background .3s}
.om-icona:hover{border-color:var(--cyan);background:rgba(0,174,239,.1)}
.om-icona svg{width:20px;height:20px}
.om-conta{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;min-width:20px;height:20px;
  padding:0 4px;border-radius:99px;background:var(--red);color:#fff;
  font-family:var(--display);font-size:.62rem;font-weight:800}
.om-apri-menu{display:grid}
@media(min-width:1024px){.om-apri-menu{display:none}}
.om-hamburger{position:relative;display:block;width:20px;height:12px}
.om-hamburger span{position:absolute;left:0;height:2px;width:100%;background:#fff;transition:all .3s}
.om-hamburger span:nth-child(1){top:0}
.om-hamburger span:nth-child(2){top:10px}
.aperto .om-hamburger span:nth-child(1){top:5px;transform:rotate(45deg)}
.aperto .om-hamburger span:nth-child(2){top:5px;transform:rotate(-45deg)}

.om-cassetto{position:fixed;inset:0;z-index:40;background:var(--ink);
  opacity:0;pointer-events:none;transition:opacity .5s var(--curva)}
.om-cassetto.aperto{opacity:1;pointer-events:auto}
.om-cassetto__interno{display:flex;flex-direction:column;justify-content:center;height:100%;padding:0 32px;gap:4px}
.om-cassetto__lista{margin:0;padding:0;list-style:none}
.om-cassetto a{display:block;font-family:var(--display);font-weight:900;font-style:italic;font-size:2.25rem;
  text-transform:uppercase;letter-spacing:-.03em;padding:16px 0;border-bottom:1px solid var(--bordo);
  transform:translateY(20px);opacity:0;transition:all .5s var(--curva)}
.om-cassetto.aperto a{transform:none;opacity:1}
.om-cassetto a:hover{color:var(--cyan)}
@media(min-width:1024px){.om-cassetto{display:none}}

.om-progresso{position:fixed;inset:0 0 auto;z-index:60;height:3px;background:transparent}
.om-progresso__barra{height:100%;width:100%;transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--cyan),var(--red));will-change:transform}

/* ==========================================================================
   Copertine
   ========================================================================== */
.om-copertina{position:relative;display:flex;align-items:flex-end;overflow:hidden;
  min-height:62vh;padding-top:128px}
.om-copertina--alta{min-height:100svh;padding-top:128px}
.om-copertina__fondo{position:absolute;inset:0}
.om-copertina__fondo img{width:100%;height:100%;object-fit:cover}
.om-velo{position:absolute;inset:0;
  background:linear-gradient(to top,var(--ink) 0%,rgba(5,10,36,.85) 55%,rgba(5,10,36,.6) 100%)}
.om-velo--blu{background:linear-gradient(to right,rgba(27,42,158,.45),transparent)}
.om-copertina__testo{position:relative;width:100%;max-width:var(--largo);margin:0 auto;
  padding:0 20px 64px}
@media(min-width:768px){.om-copertina__testo{padding:0 40px 96px}}
.om-copertina h1{margin-top:20px;font-size:clamp(2rem,7.6vw,7rem);word-break:break-word}
.om-copertina p.om-intro{margin-top:28px;max-width:640px;font-size:1.125rem;line-height:1.7;color:rgba(255,255,255,.6)}

/* ==========================================================================
   Scheda prodotto
   ========================================================================== */
.om-prodotto{display:grid;gap:48px;padding:40px 0 64px}
@media(min-width:1024px){.om-prodotto{grid-template-columns:1fr 1fr}}
.om-briciole{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--testo-fioco)}
.om-briciole a:hover{color:var(--cyan)}

.om-galleria__grande{position:relative;aspect-ratio:4/3;overflow:hidden;
  border:1px solid var(--bordo);background:rgba(255,255,255,.04)}
.om-galleria__grande img{width:100%;height:100%;object-fit:contain;padding:24px}
.om-galleria__mini{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.om-galleria__mini button{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--bordo);
  background:rgba(255,255,255,.04);opacity:.5;cursor:pointer;padding:0;transition:all .3s}
.om-galleria__mini button:hover{opacity:.9}
.om-galleria__mini button.attivo{opacity:1;border-color:var(--cyan)}
.om-galleria__mini img{width:100%;height:100%;object-fit:contain;padding:6px}

.om-prodotto h1{margin-top:12px;font-size:clamp(1.75rem,4.4vw,3rem)}
.om-prodotto__desc{margin-top:24px;line-height:1.7;color:rgba(255,255,255,.6)}

/* selettore varianti e durate */
.om-opzioni{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.om-opzione{padding:10px 16px;border:1px solid var(--bordo-forte);background:transparent;cursor:pointer;
  font-family:var(--display);font-size:.68rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.6);transition:all .3s}
.om-opzione:hover{border-color:rgba(0,174,239,.6);color:#fff}
.om-opzione.scelta{border-color:var(--cyan);background:var(--cyan);color:var(--ink)}

.om-durate{display:grid;gap:12px;margin-top:12px}
@media(min-width:640px){.om-durate{grid-template-columns:repeat(3,1fr)}}
.om-durata{padding:16px;border:1px solid var(--bordo-forte);background:transparent;cursor:pointer;
  text-align:left;transition:all .3s}
.om-durata:hover{border-color:rgba(255,255,255,.4)}
.om-durata.scelta{border-color:var(--cyan);background:rgba(0,174,239,.08)}
.om-durata[disabled]{opacity:.4;cursor:not-allowed;border-color:rgba(255,255,255,.08)}
.om-durata__nome{display:block;font-family:var(--display);font-size:.7rem;font-weight:800;
  letter-spacing:.28em;text-transform:uppercase;color:var(--testo-fioco)}
.om-durata__prezzo{display:block;margin-top:4px;font-family:var(--display);font-size:1.25rem;font-weight:800;color:#fff}
.om-durata__prezzo small{font-size:.875rem;color:var(--testo-fioco);font-weight:400}
.om-durata__nota{font-size:.75rem;color:rgba(255,255,255,.35)}

.om-quantita{display:inline-flex;align-items:center;border:1px solid var(--bordo-forte)}
.om-quantita button{display:grid;place-items:center;width:56px;height:56px;background:transparent;
  border:0;cursor:pointer;font-size:1.25rem;color:rgba(255,255,255,.7);transition:all .3s}
.om-quantita button:hover{background:var(--cyan);color:var(--ink)}
.om-quantita input{width:48px;border:0;background:transparent;text-align:center;color:#fff;
  font-family:var(--display);font-size:1.125rem;font-weight:800;-moz-appearance:textfield}
.om-quantita input::-webkit-outer-spin-button,.om-quantita input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.om-azioni-acquisto{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px}
.om-azioni-acquisto .om-btn{flex:1;justify-content:center;min-width:220px}

.om-garanzie{display:grid;gap:12px;margin:32px 0 0;padding-top:24px;border-top:1px solid var(--bordo);list-style:none}
@media(min-width:640px){.om-garanzie{grid-template-columns:repeat(2,1fr)}}
.om-garanzie li{display:flex;align-items:center;gap:8px;font-size:.875rem;color:rgba(255,255,255,.55)}
.om-garanzie span{display:grid;place-items:center;width:20px;height:20px;flex:0 0 auto;
  border:1px solid rgba(0,174,239,.4);font-size:.6rem;color:var(--cyan)}

/* schede a linguette */
.om-linguette{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--bordo)}
.om-linguetta{margin-bottom:-1px;padding:16px 20px;background:transparent;border:0;border-bottom:2px solid transparent;
  cursor:pointer;font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.45);transition:color .3s}
.om-linguetta:hover{color:#fff}
.om-linguetta.attiva{border-bottom-color:var(--cyan);color:#fff}
.om-pannello{display:none;margin-top:32px}
.om-pannello.attivo{display:block}
.om-scheda-tecnica{max-width:640px;margin:0;border-top:1px solid var(--bordo);border-bottom:1px solid var(--bordo)}
.om-scheda-tecnica > div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:16px 0;border-bottom:1px solid var(--bordo)}
.om-scheda-tecnica > div:last-child{border-bottom:0}
.om-scheda-tecnica dt{font-size:.875rem;color:rgba(255,255,255,.45)}
.om-scheda-tecnica dd{margin:0;font-family:var(--display);font-size:.875rem;font-weight:800;
  text-transform:uppercase;color:#fff}

/* riquadro prezzo su richiesta */
.om-richiesta{margin-top:32px;padding:24px;border:1px solid rgba(0,174,239,.4);background:rgba(0,174,239,.08)}
.om-richiesta p{margin:12px 0 0;font-size:.925rem;line-height:1.7;color:rgba(255,255,255,.6)}

/* ==========================================================================
   Finestra preventivo
   ========================================================================== */
.om-modale{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:20px}
.om-modale.aperta{display:flex}
.om-modale__velo{position:absolute;inset:0;background:rgba(5,10,36,.8)}
.om-modale__box{position:relative;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;
  padding:32px;background:var(--ink);border:1px solid var(--bordo-forte)}
.om-modale__chiudi{position:absolute;top:16px;right:16px;width:40px;height:40px;
  display:grid;place-items:center;background:transparent;border:1px solid var(--bordo-forte);cursor:pointer}
.om-modale__chiudi:hover{border-color:var(--cyan);background:var(--cyan);color:var(--ink)}
.om-modale__oggetto{margin:16px 0 24px;padding:12px 16px;border-left:2px solid var(--cyan);
  background:rgba(0,174,239,.06);font-size:.875rem;color:rgba(255,255,255,.7)}

/* ==========================================================================
   Piè di pagina
   ========================================================================== */
.om-pie{position:relative;overflow:hidden;border-top:1px solid var(--bordo);background:rgba(11,21,80,.25)}
.om-pie__griglia{display:grid;gap:56px;padding:80px 0}
@media(min-width:640px){.om-pie__griglia{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.om-pie__griglia{grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr;gap:40px}}
.om-pie h3{margin:0 0 20px;font-family:var(--display);font-size:.7rem;font-weight:800;
  letter-spacing:.28em;text-transform:uppercase;color:var(--testo-fioco)}
.om-pie ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.om-pie li{margin:0}
.om-pie a{font-size:.875rem;color:rgba(255,255,255,.6);transition:color .3s}
.om-pie a:hover{color:#fff}
.om-pie__tel{display:block;margin-top:28px;font-family:var(--display);font-weight:900;font-style:italic;
  font-size:1.875rem;text-transform:uppercase;color:var(--cyan);transition:color .3s}
.om-pie__tel:hover{color:#fff}
.om-pie__coda{display:flex;flex-direction:column;gap:16px;padding:28px 0;border-top:1px solid var(--bordo);
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.3)}
@media(min-width:768px){.om-pie__coda{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}}
.om-pie__coda a{font-size:inherit;color:rgba(255,255,255,.6)}
.om-pie__recesso{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:12px 16px;
  border:1px solid rgba(0,174,239,.5);font-family:var(--display);font-weight:800;font-size:.72rem!important;
  letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)!important;transition:background .3s,color .3s}
.om-pie__recesso:hover{background:var(--cyan);color:var(--ink)!important}

/* ==========================================================================
   Nastro scorrevole
   ========================================================================== */
.om-nastro{position:relative;overflow:hidden;border-top:1px solid var(--bordo);
  border-bottom:1px solid var(--bordo);background:rgba(11,21,80,.4);padding:16px 0}
.om-nastro__pista{display:flex;width:max-content;align-items:center;gap:40px;animation:om-scorri 32s linear infinite}
.om-nastro:hover .om-nastro__pista{animation-play-state:paused}
@keyframes om-scorri{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.om-nastro span{white-space:nowrap;font-family:var(--display);font-size:.875rem;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.om-nastro i{display:block;width:6px;height:6px;transform:rotate(45deg);background:var(--cyan)}

/* ==========================================================================
   WooCommerce — riscrittura degli stili predefiniti
   ========================================================================== */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  margin:0 0 24px;padding:16px 20px;list-style:none;
  border-left:2px solid var(--cyan);background:rgba(0,174,239,.08);color:#fff;font-size:.925rem}
.woocommerce-error{border-left-color:var(--red);background:rgba(228,0,43,.08)}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:16px}

.woocommerce .button,.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce #respond input#submit{
  padding:16px 28px;border:0;border-radius:0;background:var(--cyan);color:var(--ink);
  font-family:var(--display);font-size:.78rem;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:#fff;color:var(--ink)}
.woocommerce .button.alt,.woocommerce button.button.alt{background:var(--cyan);color:var(--ink)}
.woocommerce .button:disabled,.woocommerce button.button:disabled{opacity:.4;cursor:not-allowed}

/* tabelle carrello e ordine */
.woocommerce table.shop_table{border:1px solid var(--bordo);border-radius:0;border-collapse:collapse;width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{
  padding:16px;border-top:1px solid var(--bordo);color:rgba(255,255,255,.75)}
.woocommerce table.shop_table th{font-family:var(--display);font-size:.7rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--testo-fioco);text-align:left}
.woocommerce table.shop_table img{width:64px;height:64px;object-fit:contain;background:rgba(255,255,255,.04)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3{
  font-family:var(--display);font-size:.875rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cyan)}
.woocommerce-cart .cart-collaterals .cart_totals{border:1px solid var(--bordo);
  background:rgba(11,21,80,.3);padding:28px}
.woocommerce .quantity .qty{width:70px;padding:10px;background:transparent;color:#fff;
  border:1px solid var(--bordo-forte);text-align:center}

/* form di checkout */
.woocommerce form .form-row{padding:0;margin:0 0 20px}
.woocommerce form .form-row label{display:block;font-family:var(--display);font-size:.7rem;
  font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:var(--testo-fioco);margin-bottom:8px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.select2-container .select2-selection--single{
  width:100%;padding:12px 0;background:transparent;color:#fff;border:0;
  border-bottom:1px solid var(--bordo-forte);font-family:var(--testo);font-size:1rem;
  border-radius:0;height:auto}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{
  border-color:var(--cyan);outline:none}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff;line-height:1.6;padding-left:0}
.select2-dropdown{background:var(--navy);border-color:var(--bordo-forte);color:#fff}
.woocommerce-checkout #payment{background:rgba(11,21,80,.3);border:1px solid var(--bordo);border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--bordo);padding:24px}
.woocommerce-checkout #payment div.form-row{padding:24px}
.woocommerce-checkout #payment div.payment_box{background:rgba(0,174,239,.08);color:rgba(255,255,255,.7)}
.woocommerce-checkout #payment div.payment_box::before{display:none}

/* prezzi e badge */
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,
.woocommerce div.product span.price{color:#fff;font-family:var(--display);font-weight:800}
.woocommerce div.product p.price{font-size:2rem}
.woocommerce span.onsale{background:var(--red);color:#fff;border-radius:0;
  font-family:var(--display);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  min-height:auto;min-width:auto;padding:6px 14px;line-height:1}

/* paginazione */
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  padding:12px 18px;border:1px solid var(--bordo);font-family:var(--display);font-size:.72rem;
  font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.6)}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}

/* filtri del negozio */
.om-filtri{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.om-filtro{padding:10px 20px;border:1px solid var(--bordo-forte);background:transparent;cursor:pointer;
  font-family:var(--display);font-size:.68rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.55);transition:all .3s}
.om-filtro:hover{border-color:rgba(0,174,239,.6);color:#fff}
.om-filtro.attivo{border-color:var(--cyan);background:var(--cyan);color:var(--ink)}
.om-barra-negozio{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
@media(min-width:1024px){.om-barra-negozio{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.om-ordina{display:flex;align-items:center;gap:12px;font-size:.875rem;color:rgba(255,255,255,.5)}
.om-ordina select{padding:10px 16px;background:transparent;color:#fff;border:1px solid var(--bordo-forte);
  font-family:var(--display);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.om-ordina select option{background:var(--ink)}

/* vantaggi in cima al negozio */
.om-vantaggi{display:grid;gap:1px;background:var(--bordo);border-bottom:1px solid var(--bordo)}
@media(min-width:640px){.om-vantaggi{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.om-vantaggi{grid-template-columns:repeat(4,1fr)}}
.om-vantaggi div{background:var(--ink);padding:24px}
.om-vantaggi strong{display:block;font-family:var(--display);font-size:.875rem;font-weight:800;
  text-transform:uppercase;letter-spacing:-.01em;color:#fff}
.om-vantaggi span{display:block;margin-top:4px;font-size:.75rem;color:rgba(255,255,255,.45)}

/* Sugli apparecchi a noleggio la scelta si fa con i riquadri delle durate:
   la tabella delle variazioni resta nel DOM (serve al carrello) ma non si vede. */
.om-variazioni-nascoste .variations{display:none}
.om-variazioni-nascoste .woocommerce-variation-price{display:none}
.om-variazioni-nascoste .reset_variations{display:none}
.woocommerce div.product form.cart .variations{margin-bottom:20px}
.woocommerce div.product form.cart .variations td{padding:0 0 16px;border:0}
.woocommerce div.product form.cart .variations label{font-family:var(--display);font-size:.7rem;
  font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:var(--testo-fioco)}
.woocommerce div.product form.cart .variations select{width:100%;padding:12px 0;background:transparent;
  color:#fff;border:0;border-bottom:1px solid var(--bordo-forte);font-size:1rem}
.woocommerce div.product form.cart .variations select option{background:var(--ink)}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.woocommerce div.product form.cart .quantity{margin:0}
.woocommerce div.product form.cart .button{flex:1;min-width:220px;justify-content:center}
.woocommerce div.product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;
  align-items:center;gap:16px;width:100%}

/* La nota della variazione ("per giornata") è già nel riquadro della durata:
   nel form di WooCommerce diventa una riga sciolta e va nascosta. */
.om-variazioni-nascoste .woocommerce-variation-description{display:none}
.om-variazioni-nascoste .woocommerce-variation-availability{display:none}

/* ==========================================================================
   Pagine di testo e pagine legali
   ========================================================================== */
.om-contenuto{color:rgba(255,255,255,.72);font-size:1rem;line-height:1.75}
.om-contenuto > *:first-child{margin-top:0}
.om-contenuto h2{margin:56px 0 16px;font-family:var(--display);font-size:clamp(1.15rem,2.4vw,1.45rem);
  font-weight:800;text-transform:uppercase;letter-spacing:-.01em;color:#fff}
.om-contenuto h3{margin:32px 0 12px;font-family:var(--display);font-size:1rem;font-weight:800;color:#fff}
.om-contenuto p{margin:0 0 16px}
.om-contenuto ul,.om-contenuto ol{margin:0 0 16px;padding-left:22px}
.om-contenuto li{margin:0 0 8px}
.om-contenuto strong{color:#fff}
.om-contenuto a:not(.om-btn){color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.om-contenuto blockquote{margin:24px 0;padding:20px 24px;border-left:3px solid var(--cyan);
  background:rgba(11,21,80,.45);font-size:.925rem}
.om-contenuto blockquote p:last-child{margin-bottom:0}
.om-dati-azienda{display:grid;grid-template-columns:max-content 1fr;gap:10px 24px;margin:0 0 16px;
  padding:20px 24px;border:1px solid var(--bordo);background:rgba(11,21,80,.3)}
.om-dati-azienda dt{font-family:var(--display);font-size:.68rem;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:var(--testo-fioco);padding-top:4px}
.om-dati-azienda dd{margin:0;color:#fff;overflow-wrap:anywhere}
@media(max-width:480px){.om-dati-azienda{grid-template-columns:1fr;gap:2px}.om-dati-azienda dd{margin-bottom:10px}}

/* --- funzione di recesso ---------------------------------------------- */
.om-recesso{margin:40px 0 56px;padding:32px;border:1px solid var(--bordo-forte);background:rgba(11,21,80,.35)}
@media(max-width:600px){.om-recesso{padding:20px}}
.om-recesso__passi{display:flex;gap:8px;margin:0 0 28px;padding:0;list-style:none;counter-reset:passo}
.om-recesso__passi li{flex:1;margin:0;padding-top:10px;border-top:2px solid var(--bordo);counter-increment:passo;
  font-family:var(--display);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--testo-fioco)}
.om-recesso__passi li::before{content:counter(passo) ". "}
.om-recesso__passi li.attivo{border-color:var(--cyan);color:#fff}
.om-recesso__ambito{margin:28px 0 0;padding:0;border:0;display:grid;gap:10px}
.om-recesso__ambito legend{margin-bottom:12px;font-family:var(--display);font-size:.7rem;font-weight:800;
  letter-spacing:.28em;text-transform:uppercase;color:var(--testo-fioco)}
.om-recesso__ambito label,.om-recesso__voci label{display:flex;gap:10px;align-items:flex-start;color:#fff;cursor:pointer}
.om-recesso__ambito input,.om-recesso__voci input{margin-top:5px;accent-color:var(--cyan)}
.om-recesso__parte{margin-top:20px}
.om-recesso__voci{display:grid;gap:8px;margin-bottom:16px}
.om-recesso__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.om-recesso__titolo{margin:0 0 12px;font-family:var(--display);font-size:1.25rem;font-weight:800;text-transform:uppercase;color:#fff}
.om-recesso__dichiarazione{margin:20px 0 0;padding:20px 24px;border-left:3px solid var(--cyan);background:rgba(5,10,36,.6);
  color:#fff;font-size:1rem;line-height:1.7}
.om-recesso__ok{display:inline-block;margin:0 0 16px;padding:6px 12px;background:var(--cyan);color:var(--ink);
  font-family:var(--display);font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.om-recesso [data-passo="3"]:focus{outline:none}
.om-recesso-link{margin:32px 0 0;padding:18px 20px;border:1px solid var(--bordo-forte);display:flex;flex-wrap:wrap;
  gap:8px 16px;align-items:center;justify-content:space-between}
.om-recesso-link a{color:var(--cyan);font-weight:700}
.woocommerce-orders-table .button.om-recesso{background:transparent!important;border:1px solid rgba(0,174,239,.5)!important;color:var(--cyan)!important}

/* ==========================================================================
   Pagine WooCommerce (carrello, cassa, account)
   ========================================================================== */
.om-contenuto-woo{color:var(--testo-tenue)}
.woocommerce-message .button,.woocommerce-info .button{padding:10px 16px;font-size:.68rem;color:var(--ink)}
.woocommerce-message::after,.woocommerce-info::after{content:'';display:block;clear:both}

/* ==========================================================================
   Pagina carrello
   ========================================================================== */
.om-sezione--woo .om-carrello{margin-top:-32px}
.om-carrello__testa{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;
  padding-bottom:32px;margin-bottom:40px;border-bottom:1px solid var(--bordo)}
.om-carrello__titolo{margin:12px 0 0;font-size:clamp(2.2rem,6vw,4rem)}
.om-carrello__conteggio{margin:8px 0 0;font-size:.95rem}
.om-carrello__continua{font-size:.8rem;font-family:var(--display);font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--testo-tenue)}
.om-carrello__continua:hover{color:#fff}

.om-carrello__griglia{display:grid;gap:40px;align-items:start}
@media(min-width:1024px){.om-carrello__griglia{grid-template-columns:minmax(0,1fr) 380px;gap:56px}}

.om-carrello__intestazione{display:none}
@media(min-width:768px) and (max-width:1023px),(min-width:1280px){
  .om-carrello__intestazione{display:grid;grid-template-columns:96px minmax(0,1fr) 150px 120px 40px;gap:24px;
    padding:0 20px 14px;font-family:var(--display);font-size:.66rem;font-weight:800;letter-spacing:.2em;
    text-transform:uppercase;color:var(--testo-fioco)}
  .om-carrello__intestazione span:first-child{grid-column:1/3}
  .om-carrello__intestazione span:nth-child(3){text-align:right}
}

.om-carrello__righe{display:grid;gap:12px}
.om-riga{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px 16px;padding:16px;
  border:1px solid var(--bordo);background:rgba(11,21,80,.28);transition:border-color .3s,opacity .3s}
.om-riga:hover{border-color:var(--bordo-forte)}
@media(min-width:768px) and (max-width:1023px),(min-width:1280px){
  .om-riga{grid-template-columns:96px minmax(0,1fr) 150px 120px 40px;gap:24px;align-items:center;padding:20px}
}
.om-riga__foto{grid-row:span 2;align-self:start}
@media(min-width:768px) and (max-width:1023px),(min-width:1280px){.om-riga__foto{grid-row:auto;align-self:center}}
.om-riga__foto img{display:block;width:100%;aspect-ratio:1;object-fit:contain;padding:6px;background:#fff}
.om-riga__info{min-width:0;padding-right:28px}
@media(min-width:768px) and (max-width:1023px),(min-width:1280px){.om-riga__info{padding-right:0}}
.om-riga__cat{display:inline-block;margin-bottom:6px;font-family:var(--display);font-size:.64rem;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;color:var(--testo-fioco)}
.om-riga__cat--nolo{padding:3px 8px;background:var(--cyan);color:var(--ink);letter-spacing:.14em}
.om-riga__nome{margin:0;font-family:var(--display);font-weight:800;font-size:1rem;line-height:1.25;
  text-transform:uppercase;letter-spacing:-.01em}
.om-riga__nome a{color:#fff;transition:color .3s}
.om-riga__nome a:hover{color:var(--cyan)}
.om-riga .variation{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:8px 0 0;font-size:.85rem;color:var(--cyan)}
.om-riga .variation dt{font-weight:600}
.om-riga .variation dd{margin:0}
.om-riga .variation p{margin:0}
.om-riga__unitario{margin:8px 0 0;font-size:.85rem;color:var(--testo-tenue)}
.om-riga__unitario span{font-size:.75rem}
.om-riga__qta{grid-column:2}
.om-riga__totale{grid-column:2;font-family:var(--display);font-weight:800;font-size:1.15rem;color:#fff}
@media(min-width:768px) and (max-width:1023px),(min-width:1280px){.om-riga__qta,.om-riga__totale{grid-column:auto}.om-riga__totale{text-align:right}}
@media(max-width:767px),(min-width:1024px) and (max-width:1279px){
  .om-riga__qta,.om-riga__totale{grid-row:3}
  .om-riga__qta{grid-column:2;justify-self:start}
  .om-riga__totale{grid-column:2;justify-self:end;align-self:center}
}
.om-riga__rimuovi{position:absolute;top:12px;right:12px}
@media(min-width:768px) and (max-width:1023px),(min-width:1280px){.om-riga__rimuovi{position:static;justify-self:end}}
.om-riga__rimuovi a.remove{display:grid!important;place-items:center;width:36px!important;height:36px!important;
  border-radius:0!important;color:var(--testo-tenue)!important;background:transparent!important;font-size:0!important;
  border:1px solid transparent;transition:color .3s,border-color .3s}
.om-riga__rimuovi a.remove:hover{color:var(--red)!important;border-color:rgba(228,0,43,.5)}
.om-riga__rimuovi a.remove svg{width:18px;height:18px}
.om-riga__rimuovi a.remove span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* quantità con − / + */
.woocommerce .om-carrello .quantity{display:inline-flex;align-items:stretch;border:1px solid var(--bordo-forte)}
.woocommerce .om-carrello .quantity .qty{width:48px;border:0;padding:8px 0;-moz-appearance:textfield;font-weight:600}
.woocommerce .om-carrello .quantity .qty::-webkit-inner-spin-button,
.woocommerce .om-carrello .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.om-passo{width:38px;border:0;background:transparent;color:#fff;font-size:1.1rem;cursor:pointer;transition:background .2s,color .2s}
.om-passo:hover{background:var(--cyan);color:var(--ink)}

/* coupon e aggiorna */
.om-carrello__azioni{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:24px}
.om-coupon{flex:1 1 300px;max-width:440px}
.om-coupon label{display:block;margin-bottom:10px;font-family:var(--display);font-size:.66rem;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;color:var(--testo-fioco)}
.om-coupon__campo{display:flex;border:1px solid var(--bordo-forte);transition:border-color .3s}
.om-coupon__campo:focus-within{border-color:var(--cyan)}
.woocommerce .om-coupon__campo input.input-text{flex:1;min-width:0;padding:14px 16px;border:0;background:transparent;
  color:#fff;font:inherit;outline:none}
.woocommerce .om-coupon__campo .button{padding:14px 22px;font-size:.7rem}
.woocommerce .om-carrello__aggiorna{background:transparent!important;border:1px solid var(--bordo-forte)!important;
  color:var(--testo-tenue)!important;padding:14px 22px;font-size:.68rem}
.woocommerce .om-carrello__aggiorna:not(:disabled):hover{border-color:#fff!important;color:#fff!important}
/* Con JavaScript l'aggiornamento è automatico: il pulsante serve solo come riserva. */
.om-js .woocommerce .om-carrello__aggiorna:disabled{display:none}

/* riepilogo */
.om-carrello__riepilogo{width:100%}
@media(min-width:1024px){.om-carrello__riepilogo{position:sticky;top:110px}}
.woocommerce .om-carrello .cart-collaterals .cart_totals{float:none;width:100%;padding:28px;border:1px solid var(--bordo-forte);
  background:linear-gradient(180deg,rgba(27,42,158,.35),rgba(11,21,80,.35))}
.woocommerce .om-carrello .cart_totals h2{margin:0 0 20px;font-size:.8rem;color:#fff}
.woocommerce .om-carrello .cart_totals table.shop_table{border:0}
.woocommerce .om-carrello .cart_totals table.shop_table th,
.woocommerce .om-carrello .cart_totals table.shop_table td{padding:14px 0;border-top:1px solid var(--bordo);background:transparent;vertical-align:top}
.woocommerce .om-carrello .cart_totals table.shop_table tr:first-child th,
.woocommerce .om-carrello .cart_totals table.shop_table tr:first-child td{border-top:0}
.woocommerce .om-carrello .cart_totals td{text-align:right;color:#fff}
.woocommerce .om-carrello .cart_totals .order-total th,
.woocommerce .om-carrello .cart_totals .order-total td{padding-top:20px;border-top:1px solid var(--bordo-forte)}
.woocommerce .om-carrello .cart_totals .order-total td{font-family:var(--display);font-size:1.6rem;font-weight:800;color:var(--cyan)}
.woocommerce .om-carrello .cart_totals .woocommerce-shipping-methods{margin:0;padding:0;list-style:none}
.woocommerce .om-carrello .cart_totals .woocommerce-shipping-destination{margin:6px 0 0;font-size:.8rem;color:var(--testo-fioco)}
.woocommerce .om-carrello .cart_totals .shipping-calculator-button{color:var(--cyan);font-size:.8rem}
.woocommerce .om-carrello .wc-proceed-to-checkout{padding:20px 0 0}
.woocommerce .om-carrello .wc-proceed-to-checkout .checkout-button{display:flex;align-items:center;justify-content:center;
  width:100%;margin:0;padding:20px;font-size:.82rem}
.woocommerce .om-carrello .wc-proceed-to-checkout .checkout-button::after{content:'→';margin-left:12px;transition:transform .3s var(--curva)}
.woocommerce .om-carrello .wc-proceed-to-checkout .checkout-button:hover::after{transform:translateX(4px)}

.om-garanzie-cassa{display:grid;gap:14px;margin:16px 0 0;padding:20px 24px;list-style:none;border:1px solid var(--bordo)}
.om-garanzie-cassa li{display:flex;gap:14px;align-items:flex-start;font-size:.82rem;color:var(--testo-tenue)}
.om-garanzie-cassa svg{flex:none;width:22px;height:22px;color:var(--cyan)}
.om-garanzie-cassa strong{display:block;color:#fff;font-weight:600}

.om-carrello__correlati{margin-top:96px}

/* carrello vuoto */
.om-carrello-vuoto{max-width:36rem;margin:-24px auto 0;padding:48px 0;text-align:center}
.om-carrello-vuoto__icona{display:inline-grid;place-items:center;width:88px;height:88px;margin-bottom:28px;
  border:1px solid var(--bordo-forte);color:var(--cyan)}
.om-carrello-vuoto__icona svg{width:36px;height:36px}
.om-carrello-vuoto__titolo{margin:12px 0 16px;font-size:clamp(2rem,5vw,3.2rem)}
.om-carrello-vuoto__azioni{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}

/* ==========================================================================
   Carrello laterale
   ========================================================================== */
.om-cl{position:fixed;inset:0;z-index:200}
.om-cl[hidden]{display:none}
html.om-cl-aperto{overflow:hidden}
.om-cl__velo{position:absolute;inset:0;background:rgba(5,10,36,.7);backdrop-filter:blur(4px);
  opacity:0;transition:opacity .35s}
.om-cl__pannello{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;
  width:min(440px,100vw);background:var(--ink);border-left:1px solid var(--bordo-forte);
  box-shadow:-30px 0 80px rgba(0,0,0,.5);transform:translateX(100%);transition:transform .45s var(--curva);outline:none}
.om-cl.aperto .om-cl__velo{opacity:1}
.om-cl.aperto .om-cl__pannello{transform:none}
@media(prefers-reduced-motion:reduce){.om-cl__pannello,.om-cl__velo{transition:none}}

.om-cl__testa{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;
  border-bottom:1px solid var(--bordo)}
.om-cl__titolo{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--display);font-weight:900;
  font-style:italic;font-size:1.35rem;text-transform:uppercase}
.om-cl__titolo .om-conta{position:static;transform:none}
.om-cl__chiudi{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--bordo-forte);
  background:transparent;color:#fff;cursor:pointer;transition:background .3s,color .3s}
.om-cl__chiudi:hover{background:#fff;color:var(--ink)}
.om-cl__chiudi svg{width:20px;height:20px}

.om-cl__avviso{margin:0;max-height:0;overflow:hidden;padding:0 24px;font-size:.85rem;font-weight:600;
  transition:max-height .3s,padding .3s}
.om-cl__avviso.visibile{max-height:80px;padding:12px 24px}
.om-cl__avviso.ok{background:rgba(0,174,239,.12);color:var(--cyan)}
.om-cl__avviso.ko{background:rgba(228,0,43,.12);color:#ff8fa3}

.om-cl__contenuto{display:flex;flex-direction:column;flex:1;min-height:0}
.om-cl__righe{flex:1;overflow-y:auto;margin:0;padding:8px 24px;list-style:none;overscroll-behavior:contain}
.om-cl__riga{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:18px 36px 18px 0;
  border-bottom:1px solid var(--bordo);transition:opacity .3s}
.om-cl__riga:last-child{border-bottom:0}
.om-cl__riga.in-corso{opacity:.45;pointer-events:none}
.om-cl__riga.appena-aggiunto{animation:om-cl-lampo 1.6s var(--curva)}
@keyframes om-cl-lampo{0%{background:rgba(0,174,239,.18)}100%{background:transparent}}
.om-cl__foto img{display:block;width:76px;height:76px;object-fit:contain;padding:4px;background:#fff}
.om-cl__tag{display:inline-block;margin-bottom:6px;padding:2px 7px;background:var(--cyan);color:var(--ink);
  font-family:var(--display);font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.om-cl__nome{margin:0;font-family:var(--display);font-weight:800;font-size:.86rem;line-height:1.25;text-transform:uppercase}
.om-cl__nome a{color:#fff}
.om-cl__nome a:hover{color:var(--cyan)}
.om-cl__meta{margin:4px 0 0;font-size:.78rem;color:var(--cyan)}
.om-cl__fondo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.om-cl__qta{display:inline-flex;align-items:center;border:1px solid var(--bordo-forte)}
.om-cl__qta button{width:32px;height:32px;border:0;background:transparent;color:#fff;font-size:1rem;cursor:pointer;transition:background .2s,color .2s}
.om-cl__qta button:hover:not(:disabled){background:var(--cyan);color:var(--ink)}
.om-cl__qta button:disabled{opacity:.3;cursor:not-allowed}
.om-cl__qta span{min-width:28px;text-align:center;font-weight:600;font-size:.9rem}
.om-cl__prezzo{font-family:var(--display);font-weight:800;color:#fff;text-align:right}
.om-cl__prezzo .om-tenue{font-family:var(--testo);font-weight:400;font-size:.75rem}
.om-cl__togli{position:absolute;top:16px;right:0;display:grid;place-items:center;width:30px;height:30px;
  border:0;background:transparent;color:var(--testo-fioco);cursor:pointer;transition:color .2s}
.om-cl__togli:hover{color:var(--red)}
.om-cl__togli svg{width:16px;height:16px}

.om-cl__piede{display:grid;gap:10px;padding:20px 24px 24px;border-top:1px solid var(--bordo-forte);background:rgba(11,21,80,.4)}
.om-cl__totale{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--display);
  font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--testo-tenue)}
.om-cl__totale strong{font-size:1.5rem;letter-spacing:0;color:#fff}
.om-cl__nota{margin:0 0 6px;font-size:.78rem;color:var(--testo-fioco)}
.om-cl__piede .om-btn{justify-content:center}

.om-cl__vuoto{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px 32px;text-align:center}
.om-cl__vuoto-icona{display:grid;place-items:center;width:72px;height:72px;margin-bottom:20px;border:1px solid var(--bordo-forte);color:var(--cyan)}
.om-cl__vuoto-icona svg{width:30px;height:30px}
.om-cl__vuoto-titolo{margin:0 0 6px;font-family:var(--display);font-weight:800;font-size:1.1rem;text-transform:uppercase}
.om-cl__vuoto .om-btn{margin-top:24px}

/* pulsante "Aggiungi al carrello" mentre lavora */
.woocommerce div.product form.cart .button.in-corso{opacity:.7;cursor:progress}
.om-esito-carrello{margin-top:16px}
/* Il viola di WooCommerce sui pulsanti .alt ha una specificità più alta della nostra. */
.woocommerce .om-carrello .wc-proceed-to-checkout a.checkout-button,
.woocommerce .om-carrello .wc-proceed-to-checkout a.checkout-button.alt{background:var(--cyan);color:var(--ink)}
.woocommerce .om-carrello .wc-proceed-to-checkout a.checkout-button:hover{background:#fff;color:var(--ink)}
/* Icone dei messaggi WooCommerce: col nostro padding finirebbero sopra il testo. */
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}

/* ==========================================================================
   Pagina pagamento
   ========================================================================== */
.om-cassa{margin-top:-32px}
.om-cassa__testa{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px;
  padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--bordo)}
.om-cassa__titolo{margin:12px 0 0;font-size:clamp(2.2rem,6vw,4rem)}

/* passi: carrello → dati → conferma */
.om-cassa__passi{display:flex;gap:6px;margin:0;padding:0;list-style:none;counter-reset:passo}
.om-cassa__passi li{display:flex;align-items:center;gap:8px;counter-increment:passo;font-family:var(--display);
  font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--testo-fioco)}
.om-cassa__passi li::before{content:counter(passo);display:grid;place-items:center;width:26px;height:26px;
  border:1px solid var(--bordo-forte);font-size:.7rem;letter-spacing:0}
.om-cassa__passi li + li::after{content:none}
.om-cassa__passi li:not(:last-child){padding-right:14px;margin-right:4px;border-right:1px solid var(--bordo)}
.om-cassa__passi li.fatto::before{content:'✓';background:rgba(0,174,239,.15);border-color:rgba(0,174,239,.5);color:var(--cyan)}
.om-cassa__passi li.fatto a{color:var(--testo-tenue)}
.om-cassa__passi li.fatto a:hover{color:#fff}
.om-cassa__passi li.attivo{color:#fff}
.om-cassa__passi li.attivo::before{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}
@media(max-width:480px){.om-cassa__passi li{font-size:0;gap:0}.om-cassa__passi li::before{font-size:.7rem}
  .om-cassa__passi li.attivo{font-size:.62rem;gap:8px}}

/* coupon e login: righe sottili sopra il modulo */
.om-cassa .woocommerce-form-coupon-toggle .woocommerce-info,
.om-cassa .woocommerce-form-login-toggle .woocommerce-info{border-left-color:var(--bordo-forte);background:transparent;
  border:1px dashed var(--bordo-forte);color:var(--testo-tenue)}
.om-cassa .woocommerce-info a.showcoupon,.om-cassa .woocommerce-info a.showlogin{color:var(--cyan);font-weight:600}
.om-cassa form.checkout_coupon{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0 0 24px;padding:20px;
  border:1px solid var(--bordo);border-radius:0}
.om-cassa form.checkout_coupon p:first-child{width:100%;margin:0;color:var(--testo-tenue);font-size:.9rem}
.om-cassa form.checkout_coupon .form-row{flex:1 1 220px;margin:0;width:auto;float:none}
.om-cassa form.checkout_coupon .form-row-last{flex:0 0 auto}
.om-cassa form.checkout_coupon .clear{display:none}

/* griglia */
.om-cassa__griglia{display:grid;gap:32px;align-items:start}
@media(min-width:1024px){.om-cassa__griglia{grid-template-columns:minmax(0,1fr) 420px;gap:48px}}

/* blocchi numerati */
.woocommerce .om-cassa .col2-set{display:grid;gap:20px;width:100%}
.woocommerce .om-cassa .col2-set .col-1,.woocommerce .om-cassa .col2-set .col-2{float:none;width:100%}
.woocommerce .om-cassa .col2-set::before,.woocommerce .om-cassa .col2-set::after{content:none}
.om-cassa__blocco{position:relative;padding:28px 28px 8px 76px;border:1px solid var(--bordo);background:rgba(11,21,80,.28)}
@media(max-width:600px){.om-cassa__blocco{padding:72px 18px 4px}}
.om-cassa__blocco::before{content:attr(data-passo);position:absolute;left:24px;top:24px;display:grid;place-items:center;
  width:34px;height:34px;background:var(--cyan);color:var(--ink);font-family:var(--display);font-weight:900;font-style:italic;font-size:1rem}
@media(max-width:600px){.om-cassa__blocco::before{left:18px;top:20px}}
.woocommerce .om-cassa__blocco h3{margin:4px 0 24px;font-family:var(--display);font-size:1.15rem;font-weight:800;
  letter-spacing:-.01em;text-transform:uppercase;color:#fff}
@media(max-width:600px){.woocommerce .om-cassa__blocco h3{position:absolute;left:64px;top:20px;right:18px;margin:4px 0 0;line-height:1.2}}
.woocommerce .om-cassa__blocco .form-row{margin-bottom:22px}
.woocommerce .om-cassa__blocco .form-row-first,.woocommerce .om-cassa__blocco .form-row-last{width:48.5%}
@media(max-width:600px){.woocommerce .om-cassa__blocco .form-row-first,.woocommerce .om-cassa__blocco .form-row-last{width:100%;float:none}}

/* campi: riquadro invece della sola riga sotto */
.woocommerce .om-cassa form .form-row input.input-text,.woocommerce .om-cassa form .form-row textarea,
.woocommerce .om-cassa form .form-row select,.om-cassa .select2-container .select2-selection--single{
  padding:13px 14px;border:1px solid var(--bordo-forte);background:rgba(5,10,36,.55);border-radius:0;transition:border-color .2s,background .2s}
.woocommerce .om-cassa form .form-row input.input-text:focus,.woocommerce .om-cassa form .form-row textarea:focus{
  border-color:var(--cyan);background:rgba(5,10,36,.85);outline:none}
.om-cassa .select2-container .select2-selection--single{height:auto}
.om-cassa .select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);right:8px}
.woocommerce .om-cassa form .form-row.woocommerce-invalid input.input-text{border-color:var(--red)}
.woocommerce .om-cassa form .form-row textarea{min-height:110px}
.woocommerce .om-cassa form .form-row label .optional{color:var(--testo-fioco);text-transform:none;letter-spacing:0}
.woocommerce .om-cassa form .form-row .required{color:var(--red);text-decoration:none}

/* "spedisci a un indirizzo diverso" come interruttore leggibile */
.woocommerce .om-cassa #ship-to-different-address{font-size:1rem}
.woocommerce .om-cassa #ship-to-different-address label{display:flex;align-items:center;gap:12px;cursor:pointer;
  font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;color:#fff}
.om-cassa input[type=checkbox],.om-cassa input[type=radio]{accent-color:var(--cyan);width:18px;height:18px}

/* riepilogo */
.om-cassa__riepilogo{padding:28px;border:1px solid var(--bordo-forte);
  background:linear-gradient(180deg,rgba(27,42,158,.35),rgba(11,21,80,.35))}
/* Niente sticky: con pagamenti e termini il riepilogo supera l altezza dello
   schermo e il pulsante "Effettua ordine" resterebbe nascosto. */
@media(max-width:600px){.om-cassa__riepilogo{padding:20px 16px}}
.woocommerce .om-cassa .om-cassa__riepilogo-titolo{display:flex;align-items:baseline;justify-content:space-between;
  margin:0 0 16px;font-family:var(--display);font-size:.8rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.om-cassa__riepilogo-titolo a{font-family:var(--testo);font-size:.78rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--cyan)}
.woocommerce .om-cassa table.woocommerce-checkout-review-order-table{border:0;margin:0}
.woocommerce .om-cassa .woocommerce-checkout-review-order-table thead{display:none}
.woocommerce .om-cassa .woocommerce-checkout-review-order-table th,
.woocommerce .om-cassa .woocommerce-checkout-review-order-table td{padding:12px 0;border-top:1px solid var(--bordo);background:transparent;vertical-align:middle}
.woocommerce .om-cassa .woocommerce-checkout-review-order-table tbody tr:first-child td{border-top:0}
.woocommerce .om-cassa .woocommerce-checkout-review-order-table td.product-total,
.woocommerce .om-cassa .woocommerce-checkout-review-order-table tfoot td{text-align:right;color:#fff;white-space:nowrap}
.woocommerce .om-cassa .woocommerce-checkout-review-order-table td.product-name{display:flex;align-items:center;gap:14px;color:#fff;
  font-size:.86rem;line-height:1.3}
.woocommerce .om-cassa .woocommerce-checkout-review-order-table td.product-name dl.variation{margin:2px 0 0;color:var(--cyan);font-size:.78rem}
.om-rie__foto{position:relative;flex:none}
.om-rie__foto img{display:block;width:56px!important;height:56px!important;object-fit:contain;padding:3px;background:#fff}
.om-rie__qta{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;
  border-radius:99px;background:var(--cyan);color:var(--ink);font-family:var(--display);font-size:.7rem;font-weight:800}
.om-rie__nome{font-weight:600}
.woocommerce .om-cassa .woocommerce-checkout-review-order-table tfoot th{font-family:var(--display);font-size:.68rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--testo-tenue)}
.woocommerce .om-cassa .woocommerce-checkout-review-order-table tfoot tr:first-child th,
.woocommerce .om-cassa .woocommerce-checkout-review-order-table tfoot tr:first-child td{border-top:1px solid var(--bordo-forte)}
.woocommerce .om-cassa .woocommerce-checkout-review-order-table .order-total th,
.woocommerce .om-cassa .woocommerce-checkout-review-order-table .order-total td{padding-top:18px;border-top:1px solid var(--bordo-forte)}
.woocommerce .om-cassa .woocommerce-checkout-review-order-table .order-total td{font-family:var(--display);font-size:1.6rem;font-weight:800;color:var(--cyan)}
.woocommerce .om-cassa .woocommerce-shipping-methods{margin:0;padding:0;list-style:none}

/* metodi di pagamento come schede selezionabili */
.woocommerce-checkout .om-cassa #payment{margin-top:20px;background:transparent;border:0}
.woocommerce-checkout .om-cassa #payment ul.payment_methods{display:grid;gap:10px;padding:0;border:0}
.woocommerce-checkout .om-cassa #payment ul.payment_methods li{margin:0;padding:0;list-style:none;border:1px solid var(--bordo-forte);
  background:rgba(5,10,36,.45);transition:border-color .2s,background .2s}
.woocommerce-checkout .om-cassa #payment ul.payment_methods li:has(input:checked){border-color:var(--cyan);background:rgba(0,174,239,.08)}
.woocommerce-checkout .om-cassa #payment ul.payment_methods li > input{position:absolute;margin:19px 0 0 16px}
.woocommerce-checkout .om-cassa #payment ul.payment_methods li > label{display:flex;align-items:center;gap:10px;min-height:56px;
  padding:14px 16px 14px 46px;cursor:pointer;font-weight:600;color:#fff}
.woocommerce-checkout .om-cassa #payment ul.payment_methods li > label img{max-height:24px;margin-left:auto}
.woocommerce-checkout .om-cassa #payment div.payment_box{margin:0;padding:0 16px 16px 46px;background:transparent;
  color:var(--testo-tenue);font-size:.86rem}
.woocommerce-checkout .om-cassa #payment div.payment_box p{margin:0}
.woocommerce-checkout .om-cassa #payment div.form-row{padding:20px 0 0;margin:0}
.woocommerce-checkout .om-cassa .woocommerce-privacy-policy-text{font-size:.8rem;color:var(--testo-fioco)}
.woocommerce-checkout .om-cassa .woocommerce-privacy-policy-text a,
.woocommerce-checkout .om-cassa .woocommerce-terms-and-conditions-link{color:var(--cyan)}
.woocommerce-checkout .om-cassa .woocommerce-terms-and-conditions-wrapper .form-row{margin:14px 0 0}
.woocommerce-checkout .om-cassa .woocommerce-form__label-for-checkbox{display:flex!important;align-items:flex-start;gap:10px;
  font-family:var(--testo)!important;font-size:.88rem!important;font-weight:500!important;letter-spacing:0!important;
  text-transform:none!important;color:#fff!important;cursor:pointer}
.woocommerce-checkout .om-cassa .woocommerce-form__label-for-checkbox input{flex:none;margin-top:2px}
.woocommerce-checkout .om-cassa .woocommerce-terms-and-conditions{max-height:260px;overflow:auto;margin:12px 0;padding:16px;
  border:1px solid var(--bordo);background:rgba(5,10,36,.6);font-size:.82rem}
.woocommerce-checkout .om-cassa #place_order{float:none;display:flex;align-items:center;justify-content:center;gap:12px;
  width:100%;margin-top:20px;padding:20px;font-size:.85rem;background:var(--cyan);color:var(--ink)}
.woocommerce-checkout .om-cassa #place_order::after{content:'→';transition:transform .3s var(--curva)}
.woocommerce-checkout .om-cassa #place_order:hover{background:#fff}
.woocommerce-checkout .om-cassa #place_order:hover::after{transform:translateX(4px)}
.om-cassa .blockUI.blockOverlay{background:rgba(5,10,36,.6)!important}
.om-cassa__riepilogo .om-garanzie-cassa{margin-top:20px}
/* casella dei termini: testo e asterisco restano insieme */
.woocommerce-checkout .om-cassa .woocommerce-form__label-for-checkbox{display:block!important;position:relative;padding-left:30px}
.woocommerce-checkout .om-cassa .woocommerce-form__label-for-checkbox input{position:absolute;left:0;top:1px;margin:0}
/* In cassa il "prodotto aggiunto al carrello" è già storia: niente messaggio sopra il titolo. */
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message{display:none}
