/* ============ VETRINA /shop/ (ivs-) — tavolozza «luce» ============ */
/* La pagina Shop tiene il widget dentro una colonna Elementor nascosta su
   telefono (residuo del vecchio layout responsive): come gia' per il quadro
   (:has(.ifc-shop-wrap)), la vetrina scavalca l'occultamento. !important
   motivato: le utility responsive di Elementor sono a loro volta !important. */
.elementor-hidden-phone:has(.ivs),.elementor-hidden-mobile:has(.ivs),.elementor-hidden-tablet:has(.ivs){display:block !important;}
.ivs{color:#12171a;font-family:var(--inox-font-body);}
.ivs .ivs-wrap{max-width:1560px;margin:0 auto;padding:0 clamp(16px,3vw,48px);}
.ivs .ivs-sez{padding:26px 0;}
.ivs h1,.ivs h2,.ivs h3{font-family:var(--inox-font-head);color:#12171a;margin:0;}
/* evidenziatura: rosso del logo, rampa che muore a destra (taratura archivi) */
.ivs .ivs-evid{background-image:linear-gradient(90deg,rgba(240,32,40,.65) 0%,rgba(240,32,40,.43) 38%,rgba(240,32,40,.13) 78%,rgba(240,32,40,0) 100%);background-repeat:no-repeat;background-size:100% 82%;background-position:0 60%;padding:0 .1em;margin:0 -.1em;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
/* pulsante: SOLO il fantasma del sito */
.ivs .ivs-btn{display:inline-block;font-family:var(--inox-font-body);font-weight:600;font-size:15px;color:#b3121b;border:1.5px solid #b3121b;border-radius:10px;padding:11px 22px;background:transparent;text-decoration:none;box-shadow:0 6px 18px rgba(179,18,27,.12);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.ivs .ivs-btn:hover{background:rgba(179,18,27,.05);transform:translateY(-1px);box-shadow:0 10px 24px rgba(179,18,27,.16);}
.ivs .ivs-btn:active{transform:translateY(1px) scale(.99);}
/* ---------- testata ---------- */
.ivs .ivs-testata{padding:40px 0 22px;}
.ivs .ivs-testata-riga{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.ivs .ivs-testata h1{font-size:clamp(32px,4.2vw,60px);letter-spacing:-.02em;line-height:1.08;}
.ivs .ivs-testata-dx{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.ivs .ivs-numeri{margin:0;color:#495158;font-size:15px;}
.ivs .ivs-numeri strong{color:#12171a;font-family:var(--inox-font-head);font-size:19px;font-variant-numeric:tabular-nums;}
/* ---------- teste di sezione ---------- */
.ivs .ivs-testa-sez{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 14px;}
.ivs .ivs-testa-sez h2{font-size:clamp(26px,2.9vw,40px);line-height:1.08;letter-spacing:-.015em;}
.ivs .ivs-vedi{font-weight:600;font-size:14.5px;color:#b3121b;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;}
.ivs .ivs-vedi:hover{text-decoration:underline;}
/* freccia disegnata in CSS: nessun font di icone */
.ivs .ivs-fr{width:8px;height:8px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);display:inline-block;flex:none;}
.ivs .ivs-fr-sx{transform:rotate(-135deg);}
/* ---------- rail ---------- */
.ivs .ivs-rail-box{position:relative;}
.ivs .ivs-rail{display:grid;grid-auto-flow:column;grid-auto-columns:218px;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:#c3ccd2 transparent;}
.ivs .ivs-rail::-webkit-scrollbar{height:8px;}
.ivs .ivs-rail::-webkit-scrollbar-thumb{background:#c3ccd2;border-radius:99px;}
.ivs .ivs-card{scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid #d7dde1;border-radius:14px;padding:12px 12px 14px;text-decoration:none;color:#12171a;transition:transform .18s ease,box-shadow .18s ease;}
.ivs .ivs-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(18,23,26,.10);}
.ivs .ivs-card:active{transform:scale(.985);}
.ivs .ivs-card-foto{position:relative;display:block;aspect-ratio:1/1;border-radius:9px;background:#fff;overflow:hidden;margin-bottom:10px;}
.ivs .ivs-card-foto img{width:100%;height:100%;object-fit:contain;}
.ivs .ivs-card-badge{position:absolute;top:8px;left:8px;background:#f02028;color:#fff;font-size:12px;font-weight:700;border-radius:7px;padding:3px 8px;z-index:1;}
.ivs .ivs-card-nome{font-size:13.5px;font-weight:500;color:#495158;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;margin-bottom:8px;}
.ivs .ivs-card-prezzo{font-family:var(--inox-font-head);font-weight:600;font-size:17px;color:#12171a;font-variant-numeric:tabular-nums;margin-top:auto;}
.ivs .ivs-card-prezzo small{font-family:var(--inox-font-body);font-weight:500;font-size:11px;color:#5d666c;}
/* frecce del rail (desktop) */
.ivs .ivs-rl{position:absolute;top:calc(50% - 30px);z-index:2;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid #d7dde1;box-shadow:0 8px 20px rgba(18,23,26,.12);color:#12171a;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,opacity .15s ease;opacity:0;pointer-events:none;}
.ivs .ivs-rail-box:hover .ivs-rl{opacity:1;pointer-events:auto;}
.ivs .ivs-rl:hover{transform:scale(1.06);}
.ivs .ivs-rl:active{transform:scale(.96);}
.ivs .ivs-rl-sx{left:-14px;}
.ivs .ivs-rl-dx{right:-14px;}
/* ---------- fascia della linea ---------- */
.ivs .ivs-linea{background:linear-gradient(135deg,#eef1f3 0%,#fdfefe 44%,#e2e7ea 100%);border-top:1px solid #d7dde1;border-bottom:1px solid #d7dde1;padding:34px 0;margin:14px 0;}
.ivs .ivs-linea-griglia{display:grid;grid-template-columns:minmax(280px,.9fr) 2.1fr;gap:34px;align-items:center;}
.ivs .ivs-linea-testo h2{font-size:clamp(28px,3.1vw,46px);line-height:1.06;letter-spacing:-.02em;margin-bottom:22px;}
.ivs .ivs-linea-testo p{color:#495158;font-size:15px;line-height:1.55;margin:0 0 16px;max-width:46ch;}
.ivs .ivs-linea-dati{margin:0 0 18px;border-top:1px solid #d7dde1;}
.ivs .ivs-linea-dati>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-bottom:1px solid #d7dde1;padding:8px 0;}
.ivs .ivs-linea-dati dt{color:#5d666c;font-size:13px;margin:0;}
.ivs .ivs-linea-dati dd{color:#12171a;font-weight:600;font-size:14px;margin:0;text-align:right;font-variant-numeric:tabular-nums;}
.ivs .ivs-linea-rail{min-width:0;}
/* ---------- card categorie (stile Amazon) ---------- */
.ivs .ivs-cat-griglia{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.ivs .ivs-cat-card{background:#fff;border:1px solid #d7dde1;border-radius:14px;padding:16px 16px 12px;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;}
.ivs .ivs-cat-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(18,23,26,.09);}
/* min-height da 2 righe: se un titolo va a capo («Lavastoviglie professionali
   e lavaggio»), le mattonelle di TUTTE le card della riga partono alla stessa
   quota — niente righe interne sfalsate fra card affiancate. */
.ivs .ivs-cat-card h3{font-size:19.5px;letter-spacing:-.01em;margin-bottom:12px;line-height:1.25;min-height:2.5em;}
@media (max-width:520px){.ivs .ivs-cat-card h3{min-height:0;}}
.ivs .ivs-cat-card h3 a{color:inherit;text-decoration:none;}
.ivs .ivs-cat-card h3 a:hover{color:#b3121b;}
.ivs .ivs-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.ivs .ivs-tile{text-decoration:none;color:#495158;min-width:0;}
.ivs .ivs-tile-foto{display:block;aspect-ratio:4/3;background:linear-gradient(135deg,#eef1f3 0%,#fdfefe 44%,#e2e7ea 100%);border:1px solid #e4e9ec;border-radius:9px;overflow:hidden;margin-bottom:5px;}
.ivs .ivs-tile-foto img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .25s ease;}
.ivs .ivs-tile:hover .ivs-tile-foto img{transform:scale(1.05);}
.ivs .ivs-tile-nome{font-size:12.5px;font-weight:500;line-height:1.25;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ivs .ivs-tile:hover .ivs-tile-nome{color:#b3121b;}
.ivs .ivs-cat-tutto{margin-top:auto;padding-top:6px;font-size:13.5px;}
/* ---- card con MENO di 4 mattonelle: il vuoto si COPRE, non si lascia ----
   (gestione-spazi, leva 3: si ingrandisce cio' che c'e'). Le mattonelle
   crescono a riempire l'altezza della riga: 1 sola = foto grande, 2 = foto
   larghe impilate, 3 = la prima a tutta larghezza. Il conteggio e' in CSS
   con :has, cosi' vale per lo shop E per le categorie senza toccare markup. */
.ivs .ivs-tiles:has(> .ivs-tile:last-child:nth-child(-n+3)){flex:1;grid-auto-rows:1fr;}
.ivs .ivs-tiles:has(> .ivs-tile:last-child:nth-child(-n+2)){grid-template-columns:1fr;}
.ivs .ivs-tiles:has(> .ivs-tile:last-child:nth-child(3)) > .ivs-tile:first-child{grid-column:1/-1;}
.ivs .ivs-tiles:has(> .ivs-tile:last-child:nth-child(-n+3)) .ivs-tile{display:flex;flex-direction:column;min-height:0;}
/* flex-basis 0: la foto stirata NON porta la propria altezza intrinseca
   (300px) nel calcolo della riga — riempie quella dettata dalle card a 4
   mattonelle, senza gonfiare la riga e scavare vuoti nelle vicine */
.ivs .ivs-tiles:has(> .ivs-tile:last-child:nth-child(-n+3)) .ivs-tile-foto{aspect-ratio:auto;flex:1 1 0px;min-height:120px;}
/* la targa d'inchiostro che chiude la griglia (stessa lingua della targa dei filtri) */
.ivs .ivs-cat-targa{background:linear-gradient(160deg,#20262b 0%,#12171a 70%);border-color:#12171a;color:#fafaf9;justify-content:center;align-items:flex-start;gap:6px;grid-column:span var(--sp4,1);}
/* quando la targa occupa una riga INTERA (12 reparti: 3 righe piene e lei
   sotto) si impagina in riga, titolo · numero · pulsante affiancati: in
   colonna, su 1.350px di larghezza, restava una lastra scura quasi vuota */
.ivs .ivs-cat-targa.ivs-targa-piena4{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 36px;padding:22px 28px;}
.ivs .ivs-cat-targa.ivs-targa-piena4 .ivs-targa-n{margin:0;}
.ivs .ivs-cat-targa.ivs-targa-piena4 .ivs-targa-sub{flex:1 1 260px;margin:0;}
@media (max-width:1280px){.ivs .ivs-cat-targa{grid-column:span var(--sp3,1);flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:16px 16px 12px;}
  .ivs .ivs-cat-targa.ivs-targa-piena3{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 36px;padding:22px 28px;}}
@media (max-width:820px){.ivs .ivs-cat-targa{grid-column:span var(--sp2,1);flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:16px 16px 12px;}
  .ivs .ivs-cat-targa.ivs-targa-piena2{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:20px;}}
@media (max-width:520px){.ivs .ivs-cat-targa{grid-column:auto;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 16px 12px;}}
.ivs .ivs-cat-targa h3{color:#fafaf9;font-size:20px;}
.ivs .ivs-targa-n{margin:2px 0 0;color:#e4e9ec;font-size:14px;}
.ivs .ivs-targa-n strong{font-family:var(--inox-font-head);font-size:34px;color:#fff;font-variant-numeric:tabular-nums;display:block;line-height:1.1;}
.ivs .ivs-targa-sub{margin:0 0 14px;color:#a8b2ba;font-size:13px;line-height:1.45;}
.ivs .ivs-btn-chiaro{color:#fafaf9;border-color:#fafaf9;box-shadow:0 6px 18px rgba(0,0,0,.35);}
.ivs .ivs-btn-chiaro:hover{background:rgba(255,255,255,.08);}
/* ---------- ingressi (il JS aggiunge ivs-anim-pronta; senza JS tutto visibile) ---------- */
.ivs-anim-pronta .ivs-sez.ivs-anim{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease;}
.ivs-anim-pronta .ivs-sez.ivs-anim.e-dentro{opacity:1;transform:none;}
/* ---------- larghezze ---------- */
@media (max-width:1280px){.ivs .ivs-cat-griglia{grid-template-columns:repeat(3,1fr);}}
@media (max-width:1024px){.ivs .ivs-linea-griglia{grid-template-columns:1fr;gap:20px;}.ivs .ivs-rl{display:none;}}
@media (max-width:820px){.ivs .ivs-cat-griglia{grid-template-columns:repeat(2,1fr);}.ivs .ivs-rail{grid-auto-columns:180px;}}
@media (max-width:520px){.ivs .ivs-cat-griglia{grid-template-columns:1fr;}.ivs .ivs-testata-riga{align-items:flex-start;flex-direction:column;}.ivs .ivs-rail{grid-auto-columns:164px;}}
/* ── TELEFONO: un dito che parte da una card e si muove deve SCORRERE il rail (2026-09-15).
   Le card sono link, e su iPhone un link e' trascinabile: il dito che parte dalla card e si
   sposta di lato «solleva» il link (drag and drop) invece di scorrere — e' il «si blocca,
   sembra che selezioni» segnalato dal titolare. Niente trascinamento, niente selezione del
   testo durante il gesto, e il rail dichiara che gestisce lui lo scorrimento orizzontale. */
.ivs .ivs-card,.ivs .ivs-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.ivs .ivs-rail{touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;}
@media (max-width:820px){.ivs .ivs-rail-box::after{content:"";position:absolute;top:0;right:-2px;bottom:14px;width:34px;background:linear-gradient(90deg,rgba(240,242,244,0),rgba(240,242,244,.96));pointer-events:none;}}
@media (hover:none){.ivs .ivs-card:hover,.ivs .ivs-cat-card:hover{transform:none;box-shadow:none;}}
/* ============ /shop/ DENSA (2026-10-10, chiesta dal titolare sul modello dei
   marketplace: «la nostra sembra quasi vuota»). Tutto sotto .ivs-shop: la vetrina
   delle categorie madri importa questo stesso foglio e NON deve cambiare. ============ */
.ivs.ivs-shop .ivs-sez{padding:14px 0;}
.ivs.ivs-shop .ivs-testata{padding:26px 0 6px;}
.ivs.ivs-shop .ivs-testata h1{font-size:clamp(30px,3.2vw,52px);}
.ivs.ivs-shop .ivs-testata-dx .ivs-btn{padding:9px 18px;font-size:14.5px;}
/* la prima fascia: pannelli 2x2 affiancati, la schermata si apre piena */
.ivs-shop .ivs-pannelli{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:14px;}
.ivs-shop .ivs-pan{background:#fff;border:1px solid #d7dde1;border-radius:14px;padding:14px 14px 12px;display:flex;flex-direction:column;min-width:0;box-shadow:0 1px 0 rgba(18,23,26,.03);}
.ivs-shop .ivs-pan-tit{font-size:19px;line-height:1.2;letter-spacing:-.01em;margin:0 0 10px;min-height:2.4em;}
.ivs-shop .ivs-pan-griglia{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px;}
.ivs-shop .ivs-pan-tile{display:flex;flex-direction:column;text-decoration:none;color:#12171a;min-width:0;-webkit-user-drag:none;}
.ivs-shop .ivs-pan-foto{position:relative;display:block;aspect-ratio:1/1;background:linear-gradient(135deg,#eef1f3 0%,#fdfefe 44%,#e2e7ea 100%);border:1px solid #e4e9ec;border-radius:9px;overflow:hidden;margin-bottom:5px;}
.ivs-shop .ivs-pan-foto img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .25s ease;}
.ivs-shop .ivs-pan-tile:hover .ivs-pan-foto img{transform:scale(1.05);}
.ivs-shop .ivs-pan-pill{position:absolute;left:6px;bottom:6px;z-index:1;background:#b3121b;color:#fff;font-size:11.5px;font-weight:700;border-radius:6px;padding:3px 7px;line-height:1.2;}
.ivs-shop .ivs-pan-pill-mag{background:#1f7a3f;}
.ivs-shop .ivs-pan-nome{font-size:12px;line-height:1.3;color:#495158;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ivs-shop .ivs-pan-tile:hover .ivs-pan-nome{color:#b3121b;}
.ivs-shop .ivs-pan-prezzo{font-family:var(--inox-font-head);font-weight:600;font-size:14px;color:#12171a;font-variant-numeric:tabular-nums;}
/* il link e' in linea (non flex): uno spazio indivisibile lega numero e freccia all'ultima
   parola, cosi' non restano mai soli a capo sotto un titolo lungo */
.ivs-shop .ivs-pan-tit a,.ivs-shop .ivs-cat-card h3 a{color:inherit;text-decoration:none;}
.ivs-shop .ivs-pan-tit a .ivs-fr,.ivs-shop .ivs-cat-card h3 a .ivs-fr{vertical-align:.12em;margin-left:7px;}
.ivs-shop .ivs-cat-n{vertical-align:.18em;}
.ivs-shop .ivs-nobr{white-space:nowrap;}
.ivs-shop .ivs-pan-tit a .ivs-fr,.ivs-shop .ivs-cat-card h3 a .ivs-fr{color:#b3121b;width:7px;height:7px;transition:transform .18s ease;}
.ivs-shop .ivs-pan-tit a:hover,.ivs-shop .ivs-cat-card h3 a:hover{color:#b3121b;}
.ivs-shop .ivs-pan-tit a:hover .ivs-fr,.ivs-shop .ivs-cat-card h3 a:hover .ivs-fr{transform:translateX(3px) rotate(45deg);}
.ivs-shop .ivs-cat-n{font-family:var(--inox-font-body);font-size:13px;font-weight:600;color:#5d666c;background:#f0f2f4;border-radius:99px;padding:2px 8px;font-variant-numeric:tabular-nums;}
.ivs-shop .ivs-pan-griglia{margin-bottom:0;}
/* card dei reparti: sotto le mattonelle le altre linee, a etichette */
.ivs-shop .ivs-altre{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px;}
/* un'etichetta piu' lunga della card si accorcia coi puntini: senza min-width:0 e
   max-width:100% sul <li> l'elemento flessibile cresceva fino al testo e usciva dalla card */
.ivs-shop .ivs-altre li{min-width:0;max-width:100%;}
.ivs-shop .ivs-altre a{display:inline-block;font-size:12.5px;line-height:1.25;color:#495158;background:#f4f6f7;border:1px solid #e1e6e9;border-radius:99px;padding:4px 10px;text-decoration:none;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ivs-shop .ivs-altre a:hover{color:#b3121b;border-color:#b3121b;background:#fff;}
/* file di prodotti: piu' card per schermata */
.ivs-shop .ivs-rail{grid-auto-columns:192px;gap:12px;}
.ivs-shop .ivs-card{padding:10px 10px 12px;}
.ivs-shop .ivs-card-nome{font-size:13px;}
.ivs-shop .ivs-card-prezzo{font-size:16px;}
/* le card dei reparti in una riga sono alte uguali: le mattonelle crescono a riempire
   l'altezza invece di lasciare un vuoto sotto le etichette (gestione-spazi, leva 3) */
.ivs-shop .ivs-cat-card:not(.ivs-cat-targa) .ivs-tiles{flex:1;grid-auto-rows:1fr;}
.ivs-shop .ivs-cat-card .ivs-tile{display:flex;flex-direction:column;min-height:0;}
.ivs-shop .ivs-cat-card .ivs-tile-foto{aspect-ratio:auto;flex:1 1 0px;min-height:96px;}
.ivs-shop .ivs-card-prezzo small{display:block;margin-top:1px;}
/* le foto stirate portano la loro larghezza naturale (300px) nel calcolo della griglia:
   senza min-width:0 a 390px la card usciva di 38px dalla colonna (misurato) */
.ivs-shop .ivs-cat-card{min-width:0;}
.ivs-shop .ivs-tiles{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.ivs-shop .ivs-cat-card .ivs-tile-foto img{max-width:100%;}
.ivs-shop .ivs-card-prezzo del{font-family:var(--inox-font-body);font-size:12px;font-weight:500;color:#5d666c;}
.ivs-shop .ivs-fila .ivs-testa-sez h2{font-size:clamp(22px,2.1vw,30px);}
/* sotto i 1100px i pannelli non vanno a capo (5 su 3 colonne lascerebbe una cella
   vuota): scorrono di lato come le file, due per vista su tablet, uno e un pezzo sul telefono */
@media (max-width:1100px){.ivs-shop .ivs-pannelli{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:46%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain;}
  .ivs-shop .ivs-pan{scroll-snap-align:start;}}
@media (max-width:620px){.ivs-shop .ivs-pannelli{grid-auto-columns:82%;}
  .ivs-shop .ivs-rail{grid-auto-columns:158px;}
  .ivs.ivs-shop .ivs-testata-dx .ivs-btn{display:none;}}
/* ═══ DENSO 2026-10-16 (titolare: «troppi spazi bianchi, come Amazon; colori, vetro, titoli che si vedano»).
   Ogni titolo ha il suo mestiere: la testata ORIENTA e dice la misura del negozio (fascia scura coi numeri
   veri), il titolo di un pannello e' una PORTA (colore del tipo + una riga che dice cosa c'e' dentro), il
   titolo di una sezione e' un PUNTO DI RIFERIMENTO in una pagina lunga (barretta rossa, la parte che cambia
   in rosso, il link come pulsante). Tutto sotto .ivs.ivs-shop: la vetrina delle madri non cambia. */
.ivs.ivs-shop{--ivs-p:clamp(16px,3vw,48px);background:radial-gradient(1100px 520px at 6% 0%,rgba(240,32,40,.07),transparent 62%),radial-gradient(900px 700px at 96% 18%,rgba(91,116,134,.13),transparent 64%),radial-gradient(800px 600px at 40% 70%,rgba(31,122,63,.05),transparent 60%);}
.ivs.ivs-shop .ivs-sez{padding:7px 0;}
.ivs.ivs-shop .ivs-testata{padding:14px 0 6px;}
.ivs.ivs-shop .ivs-testata-riga{display:flex;align-items:center;justify-content:space-between;gap:14px 28px;flex-wrap:wrap;padding:18px 24px;border-radius:16px;color:#fff;background:linear-gradient(115deg,#171412 0%,#2a2421 52%,#3d1517 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px -22px rgba(18,23,26,.55),inset 0 1px 0 rgba(255,255,255,.07);position:relative;overflow:hidden;}
.ivs.ivs-shop .ivs-testata-riga::after{content:"";position:absolute;inset:0;background:radial-gradient(520px 180px at 88% -20%,rgba(240,32,40,.32),transparent 70%);pointer-events:none;}
.ivs.ivs-shop .ivs-testata h1{position:relative;z-index:1;margin:0;color:#fff;font-size:clamp(26px,2.5vw,38px);font-weight:700;line-height:1.1;letter-spacing:-.02em;}
.ivs.ivs-shop .ivs-testata .ivs-evid{background-image:linear-gradient(90deg,rgba(240,32,40,.9) 0%,rgba(240,32,40,.6) 45%,rgba(240,32,40,.15) 85%,rgba(240,32,40,0) 100%);}
.ivs.ivs-shop .ivs-testata-dx{position:relative;z-index:1;}
.ivs.ivs-shop .ivs-numeri{display:flex;flex-wrap:wrap;gap:8px;margin:0;}
.ivs.ivs-shop .ivs-num{display:inline-flex;align-items:baseline;gap:6px;padding:8px 13px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e7e5e4;font-size:13.5px;line-height:1;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease;}
.ivs.ivs-shop .ivs-num strong{color:#fff;font-family:var(--inox-font-mono);font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;}
.ivs.ivs-shop a.ivs-num:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);}
.ivs.ivs-shop .ivs-num-off{background:rgba(179,18,27,.9);border-color:rgba(255,255,255,.22);color:#fff;}
.ivs.ivs-shop a.ivs-num-off:hover{background:#c8141e;}
.ivs.ivs-shop .ivs-num-mag::before{content:"";width:8px;height:8px;border-radius:50%;background:#3fbf6a;box-shadow:0 0 0 3px rgba(63,191,106,.25);align-self:center;}
/* pannelli: vetro, colore del tipo in testa, la riga che dice cosa c'e' dentro */
.ivs.ivs-shop .ivs-pannelli{gap:12px;}
.ivs.ivs-shop .ivs-pan{--k:#12171a;position:relative;overflow:hidden;padding:15px 13px 12px;background-color:rgba(255,255,255,.9);background-image:linear-gradient(180deg,color-mix(in srgb,var(--k) 10%,#fff) 0,rgba(255,255,255,0) 92px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(215,221,225,.95);border-radius:14px;box-shadow:0 12px 28px -20px rgba(18,23,26,.42);transition:box-shadow .2s ease,transform .2s ease;}
/* la banda del tipo e' DENTRO il pannello (overflow:hidden la fa seguire la curva): un border-top su un angolo arrotondato si assottiglia ai lati */
.ivs.ivs-shop .ivs-pan::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--k);}
.ivs.ivs-shop .ivs-pan:hover{box-shadow:0 18px 36px -20px rgba(18,23,26,.5);transform:translateY(-2px);}
.ivs.ivs-shop .ivs-pan-off{--k:#b3121b;}
.ivs.ivs-shop .ivs-pan-mag{--k:#1f7a3f;}
.ivs.ivs-shop .ivs-pan-pop{--k:#12171a;}
.ivs.ivs-shop .ivs-pan-linea{--k:#f02028;}
.ivs.ivs-shop .ivs-pan-new{--k:#4e6a7e;}
.ivs.ivs-shop .ivs-pan-tit{font-size:19px;font-weight:700;line-height:1.15;letter-spacing:-.015em;margin:0;min-height:0;color:#12171a;}
.ivs.ivs-shop .ivs-pan-tit a .ivs-fr{color:var(--k);}
.ivs.ivs-shop .ivs-pan-sub{margin:3px 0 10px;font-size:12.5px;font-weight:600;line-height:1.3;color:color-mix(in srgb,var(--k) 85%,#12171a);min-height:2.6em;}
.ivs.ivs-shop .ivs-pan-griglia{gap:8px;}
.ivs.ivs-shop .ivs-pan-nome{color:#2b3238;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;min-height:2.6em;}
/* bollini di sconto: bianco su #f02028 fa 4,2:1, sotto la soglia */
.ivs.ivs-shop .ivs-card-badge{background:#c8141e;}
/* prezzo scontato rosso accanto al barrato grigio, come vuole inox-prezzi-saldo (titolare, 25/09) */
.ivs.ivs-shop .ivs-card-prezzo:has(del){color:#b3121b;}
.ivs.ivs-shop .ivs-card-prezzo:has(del) small{color:#5d666c;}
.ivs.ivs-shop .ivs-pan-prezzo small{font-family:var(--inox-font-body);font-size:11px;font-weight:600;color:#5d666c;}
/* un prezzo non va mai a capo: «1.099,06 / €» */
.ivs.ivs-shop .ivs-pan-prezzo,.ivs.ivs-shop .ivs-card-prezzo{white-space:nowrap;}
.ivs.ivs-shop .ivs-card-prezzo small{white-space:normal;}
.ivs.ivs-shop .ivs-num-b2b{background:rgba(255,255,255,.04);border-style:dashed;}
.ivs.ivs-shop .ivs-num-b2b strong{font-size:12px;letter-spacing:.06em;color:#fff;background:#12171a;border-radius:5px;padding:2px 5px;}
/* sezioni a contenitore, come le schede bianche del marketplace */
.ivs.ivs-shop .ivs-blocco>.ivs-wrap{width:calc(100% - 2*var(--ivs-p));max-width:calc(1560px - 2*var(--ivs-p));padding:14px 16px 12px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(215,221,225,.95);border-radius:14px;box-shadow:0 12px 28px -22px rgba(18,23,26,.4);}
.ivs.ivs-shop .ivs-testa-sez{align-items:center;margin:0 0 10px;}
.ivs.ivs-shop .ivs-testa-sez h2{position:relative;padding-left:15px;font-size:clamp(20px,1.7vw,25px);font-weight:700;line-height:1.15;letter-spacing:-.015em;color:#12171a;}
.ivs.ivs-shop .ivs-testa-sez h2::before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:5px;border-radius:3px;background:linear-gradient(180deg,#f02028,#b3121b);}
.ivs.ivs-shop .ivs-fila .ivs-testa-sez h2{font-size:clamp(20px,1.7vw,25px);}
.ivs.ivs-shop .ivs-tit-var{color:#b3121b;}
.ivs.ivs-shop .ivs-vedi{padding:8px 14px;border:1.5px solid #b3121b;border-radius:99px;font-size:13.5px;color:#b3121b;background:rgba(255,255,255,.6);transition:background-color .15s ease;}
.ivs.ivs-shop .ivs-vedi:hover{text-decoration:none;background:rgba(179,18,27,.08);}
.ivs.ivs-shop .ivs-blocco>.ivs-wrap{position:relative;overflow:hidden;}
.ivs.ivs-shop .ivs-blocco-off>.ivs-wrap::before,.ivs.ivs-shop .ivs-blocco-linea>.ivs-wrap::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#b3121b;}
.ivs.ivs-shop .ivs-blocco-linea>.ivs-wrap::before{background:#f02028;}
.ivs.ivs-shop .ivs-rail{grid-auto-columns:178px;gap:10px;}
.ivs.ivs-shop .ivs-card{padding:8px 8px 10px;border-radius:10px;box-shadow:none;border:1px solid #e4e9ec;}
.ivs.ivs-shop .ivs-card:hover{border-color:#c9d1d6;box-shadow:0 10px 22px -16px rgba(18,23,26,.4);}
/* le card dei reparti: vetro, conteggio in chip a inchiostro */
.ivs.ivs-shop .ivs-cat-griglia{gap:12px;}
.ivs.ivs-shop .ivs-cat-card:not(.ivs-cat-targa){background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(215,221,225,.95);border-radius:14px;padding:13px 13px 12px;box-shadow:0 12px 28px -22px rgba(18,23,26,.4);}
/* 2026-10-16: sul telefono niente sfocatura sotto i pannelli (fondi gia' quasi opachi: la differenza non si vede, ma il ricalcolo a ogni fotogramma faceva scattare lo scorrimento). */
@media (hover:none) and (pointer:coarse){.ivs.ivs-shop .ivs-num,.ivs.ivs-shop .ivs-pan,.ivs.ivs-shop .ivs-blocco>.ivs-wrap,.ivs.ivs-shop .ivs-cat-card{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
.ivs.ivs-shop .ivs-cat-card h3{font-size:18px;font-weight:700;letter-spacing:-.015em;margin-bottom:10px;min-height:0;}
.ivs.ivs-shop .ivs-cat-n{background:#12171a;color:#fff;font-family:var(--inox-font-mono);font-size:12px;font-weight:700;padding:3px 8px;}
@media (max-width:620px){
  .ivs.ivs-shop .ivs-testata-riga{padding:16px;border-radius:14px;}
  .ivs.ivs-shop .ivs-blocco>.ivs-wrap{padding:12px 12px 10px;}
  .ivs.ivs-shop .ivs-rail{grid-auto-columns:150px;}
}