/*
 * Le offerte di ogni giorno: la pagina /offerte/ nuova (1.73.0).
 *
 * Il prototipo approvato da Enzo il 9 ottobre 2026 (versione 2), portato sul
 * sito. Tutto e' chiuso dentro `.on1-offerte`: il foglio si carica solo dove
 * c'e' la pagina nuova, e anche li' non tocca niente fuori dal suo blocco.
 *
 * Le regole che devono battere il tema portano `html body .on1-offerte`
 * davanti: le Theme Options di Rehub scrivono regole in linea dopo i nostri
 * fogli, e a parita' di peso vincerebbero loro (vedi il foglio dell'evento).
 *
 * Solo ASCII fuori dai commenti: LiteSpeed unisce i fogli e li serve senza
 * dichiarare la codifica.
 */

/* Cabin nel testo e Cabin Condensed nei titoli, come nel prototipo: su questa
   pagina sempre, anche finche' il resto del sito resta col carattere di prima
   (vedi `caratteri.css`). */
@font-face {
	font-family: "Cabin";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("caratteri/cabin-400-700-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Cabin Condensed";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("caratteri/cabin-condensed-700-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.on1-offerte {
	--accento: #e8710a;
	--accento-scuro: #c25c05;
	--accento-lieve: #fdf1e6;
	--oro: #f5a25e;
	--verde: #059669;
	--verde-lieve: #e6f6ef;
	--rosso: #dc2626;
	--ambra: #b45309;
	--notte: #0f172a;
	--inchiostro: #0f172a;
	--inchiostro-lieve: #475569;
	--tenue: #7c8596;
	--bordo: #e7e5df;
	--bordo-forte: #d6d3cb;
	--fondo: #faf9f7;
	--superficie: #ffffff;
	--superficie-2: #f2f0eb;
	--voto-alto: #047857;
	--voto-medio: #4c9a2a;
	--voto-base: #d99a06;
	--ombra: 0 1px 2px rgba(15, 23, 42, .05), 0 8px 24px rgba(15, 23, 42, .08);
	--ombra-alta: 0 22px 50px rgba(2, 6, 23, .38);
	--raggio: 16px;
	--pillola: 100px;
	--testo: "Cabin", "Trebuchet MS", Arial, sans-serif;
	--titolo: "Cabin Condensed", "Cabin", "Trebuchet MS", Arial, sans-serif;
	background: var(--fondo);
	color: var(--inchiostro);
	font-family: var(--testo);
	font-size: 15px;
	line-height: 1.5;
}

/* La pagina a tutta larghezza come la Festa: niente colonna laterale, niente
   titolo del tema (quello della pagina e' nella parte alta), niente riquadro
   bianco con l'ombra. La classe la mette il plugin, solo qui. */
html body.on1-pagina-offerte .rh-container:has(> .rh-content-wrap .on1-offerte) { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
html body.on1-pagina-offerte .rh-content-wrap:has(.on1-offerte) { padding-top: 0 !important; padding-bottom: 0 !important; }
html body.on1-pagina-offerte .main-side { width: 100%; max-width: none; float: none; padding: 0; }
html body.on1-pagina-offerte .rh-post-wrapper:has(.on1-offerte) { padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; }
html body.on1-pagina-offerte article:has(.on1-offerte) { padding: 0; margin: 0; background: transparent; }
html body.on1-pagina-offerte aside.sidebar { display: none; }
html body.on1-pagina-offerte article > .title, html body.on1-pagina-offerte .breadcrumb, html body.on1-pagina-offerte .rh_post_layout_title { display: none; }
html body.on1-pagina-offerte article > p:empty { display: none; }
html body.on1-pagina-offerte.on1o-bloccato { overflow: hidden; }

.on1-offerte *, .on1-offerte *::before, .on1-offerte *::after { box-sizing: border-box; }
html body .on1-offerte button, html body .on1-offerte input, html body .on1-offerte select { font: inherit; color: inherit; letter-spacing: normal; text-transform: none; box-shadow: none; margin: 0; }
html body .on1-offerte button { cursor: pointer; line-height: 1.3; }
html body .on1-offerte h1, html body .on1-offerte h2, html body .on1-offerte h3 { text-wrap: balance; text-transform: none; letter-spacing: normal; }
/* Il tema impone il suo carattere ai titoli con !important (Theme Options,
   «I caratteri di offertenumberone.it»): qui vince il prototipo. */
html body .on1-offerte h1, html body .on1-offerte h2, html body .on1-offerte .giudizio h3 { font-family: var(--titolo) !important; }
html body .on1-offerte h3, html body .on1-offerte h4 { font-family: var(--testo) !important; }
/* Il tema da' ai paragrafi un'interlinea da articolo: sulle schede una riga
   che va a capo lasciava un buco (telefono, 9/10). */
html body .on1-offerte p { margin: 0; line-height: 1.4; }
html body .on1-offerte img { max-width: 100%; height: auto; display: block; border: 0; box-shadow: none; }
html body .on1-offerte :focus-visible { outline: 2.5px solid var(--accento); outline-offset: 2px; border-radius: 6px; }
.on1-offerte [hidden] { display: none !important; }
.on1-offerte .cifre, .on1-offerte .prezzo { font-variant-numeric: tabular-nums; }
/* Larga come la Festa: Enzo, 9/10, «sfruttare di piu' la larghezza, anche fino a
   1459 px». Da 1440 px di schermo stanno sei schede per fila. */
.on1-offerte .pagina { max-width: 1480px; margin: 0 auto; padding-inline: 16px; }
@media (min-width: 1024px) { .on1-offerte .pagina { padding-inline: 20px; } }
.on1-offerte .nascosto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.on1-offerte .aiuto { margin: 0; font-size: 12.5px; color: var(--tenue); }
.on1-offerte .etichetta { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--tenue); font-weight: 700; }
.on1-offerte .ico { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* -- La parte alta: notte, il voto, Scovino che indica l'offerta del momento.
   Il bordo dentellato come un buono sconto viene dalla pagina della Festa. */
.on1-offerte .eroe {
	--dente: 8px;
	position: relative; overflow: hidden; color: #f4f1ea; border-top: 4px solid var(--accento);
	background:
		radial-gradient(60% 90% at 88% 40%, rgba(232, 113, 10, .28) 0%, rgba(232, 113, 10, 0) 60%),
		radial-gradient(70% 80% at 10% 0%, #1b2a4a 0%, rgba(27, 42, 74, 0) 70%),
		var(--notte);
	-webkit-mask: radial-gradient(circle var(--dente) at 50% 100%, transparent 97%, #000 100%) 50% 100% / calc(var(--dente) * 3.2) 100% repeat-x;
	mask: radial-gradient(circle var(--dente) at 50% 100%, transparent 97%, #000 100%) 50% 100% / calc(var(--dente) * 3.2) 100% repeat-x;
}
.on1-offerte .eroe::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5; background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.2px); background-size: 22px 22px; }
.on1-offerte .eroe-dentro { position: relative; z-index: 1; display: grid; gap: 20px; padding-block: 22px 104px; }
.on1-offerte .eroe-testo { display: grid; gap: 14px; align-content: start; }
.on1-offerte .vivo { justify-self: start; display: inline-flex; align-items: center; gap: 8px; padding: 5px 13px 5px 10px; border-radius: var(--pillola); background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .16); font-weight: 700; font-size: 13px; color: #fff; }
.on1-offerte .vivo .punto { width: 8px; height: 8px; border-radius: 50%; background: #34d399; animation: on1o-pulsa 2.2s infinite; flex: none; }
@keyframes on1o-pulsa { 0% { box-shadow: 0 0 0 0 rgba(52, 211, 153, .55); } 70% { box-shadow: 0 0 0 8px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
html body .on1-offerte .eroe h1 { font-family: var(--titolo); font-weight: 700; margin: 0; padding: 0; color: #fff; font-size: clamp(44px, 8vw, 80px); line-height: .9; letter-spacing: -.02em; max-width: 11ch; }
html body .on1-offerte .eroe h1 .oro { color: var(--oro); }
html body .on1-offerte .promessa { margin: 0; color: #c7cfdb; max-width: 54ch; font-size: 16.5px; }
.on1-offerte .tabellone { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 26px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .12); }
.on1-offerte .tabellone span { color: #aab4c4; font-size: 13.5px; font-weight: 600; }
.on1-offerte .tabellone b { font-family: var(--titolo); font-weight: 700; font-size: 30px; line-height: 1; color: #fff; margin-right: 6px; font-variant-numeric: tabular-nums; }

/* L'offerta del momento: tre a turno, ognuna col suo voto. */
.on1-offerte .vetrina { position: relative; display: grid; gap: 10px; align-content: center; padding-top: 22px; }
.on1-offerte .vetrina-testa { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.on1-offerte .vetrina-testa .etichetta { color: var(--oro); }
.on1-offerte .puntini { display: flex; gap: 6px; }
html body .on1-offerte .puntini button { width: 22px; height: 6px; padding: 0; border: 0; border-radius: 3px; background: rgba(255, 255, 255, .22); }
html body .on1-offerte .puntini button[aria-pressed="true"] { background: var(--oro); }
html body .on1-offerte .momento { position: relative; display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; gap: 14px; align-items: center; text-align: left; width: 100%; background: #fff; color: var(--inchiostro); border: 0; border-radius: 20px; padding: 12px 14px 12px 12px; box-shadow: var(--ombra-alta); }
.on1-offerte .momento img { width: 104px; height: 104px; object-fit: contain; border-radius: 12px; background: #fff; }
.on1-offerte .momento .m-testo { display: grid; gap: 4px; min-width: 0; }
.on1-offerte .momento .m-nome { font-weight: 700; font-size: 15.5px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.on1-offerte .momento .m-prezzo { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.on1-offerte .momento .m-prezzo b { font-family: var(--titolo); font-size: 26px; line-height: 1; }
.on1-offerte .momento .m-prezzo s { color: var(--tenue); font-size: 13px; }
.on1-offerte .momento .m-nota { font-size: 12.5px; font-weight: 700; color: var(--verde); }
.on1-offerte .momento .m-tempo { font-size: 12px; font-weight: 700; color: var(--accento-scuro); display: inline-flex; gap: 4px; align-items: center; }
.on1-offerte .momento .m-tempo svg { width: 14px; height: 14px; }
.on1-offerte .momento.entra { animation: on1o-entra .45s ease both; }
@keyframes on1o-entra { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
html body .on1-offerte .scovino-eroe { position: absolute; height: auto; pointer-events: none; filter: drop-shadow(0 14px 22px rgba(0, 0, 0, .35)); }
@media (max-width: 899px) {
	html body .on1-offerte .scovino-eroe { width: 86px; right: 4px; top: -36px; }
	.on1-offerte .vetrina { padding-top: 34px; }
	.on1-offerte .vetrina-testa { padding-right: 96px; }
}
@media (min-width: 900px) {
	.on1-offerte .eroe-dentro { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: 36px; padding-block: 30px 126px; }
	.on1-offerte .vetrina { padding: 40px 150px 40px 0; }
	html body .on1-offerte .scovino-eroe { width: 190px; right: -6px; bottom: -14px; animation: on1o-galleggia 4s ease-in-out infinite alternate; }
	html body .on1-offerte .momento { animation: on1o-galleggia 4.6s ease-in-out infinite alternate; }
}
@keyframes on1o-galleggia { from { transform: translateY(0); } to { transform: translateY(-6px); } }

/* -- La barra: una scheda bianca come quella della Festa (Enzo, 9/10: «simile a
   quella del prime day come stile grafico»). Sale sulla fine della parte alta:
   la dentellatura passa dietro la scheda e la ricerca sta sul blu, non sulla
   dentellatura. Poi resta in cima, e scorrendo si riduce (computer: una riga;
   telefono: la ricerca) col margine che evita il lampeggio, come la Festa. */
.on1-offerte .comandi { position: sticky; top: 8px; z-index: 20; margin-top: -84px; }
.admin-bar .on1-offerte .comandi { top: 40px; }
@media (max-width: 782px) { .admin-bar .on1-offerte .comandi { top: 8px; } }
.on1-offerte .barra-comandi { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr); background: var(--superficie); border: 1px solid var(--bordo); border-radius: 18px; padding: 14px 16px 12px; box-shadow: 0 14px 40px rgba(15, 23, 42, .16); }
.on1-offerte .comandi.attaccata .barra-comandi { box-shadow: 0 10px 30px rgba(15, 23, 42, .2); }
.on1-offerte .riga-cerca { display: flex; gap: 8px; }
html body .on1-offerte .cerca { flex: 1; display: flex; align-items: center; gap: 10px; min-width: 0; margin: 0; background: var(--superficie); border: 1.5px solid var(--bordo-forte); border-radius: var(--pillola); padding: 0 8px 0 16px; box-shadow: none; font-weight: 400; }
html body .on1-offerte .cerca:focus-within { border-color: var(--inchiostro); }
.on1-offerte .cerca .ico { stroke: var(--tenue); }
html body .on1-offerte .cerca input { flex: 1; min-width: 0; width: auto; height: auto; border: 0; border-radius: 0; background: transparent; padding: 14px 0; outline: none; font-size: 16px; line-height: 1.3; }
.on1-offerte .cerca input::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
.on1-offerte .quante-compatto { display: none; flex: none; font-size: 13px; color: var(--tenue); white-space: nowrap; font-variant-numeric: tabular-nums; padding-right: 6px; }
html body .on1-offerte .pulsante-filtri { flex: none; display: inline-flex; align-items: center; gap: 7px; border: 1.5px solid var(--bordo-forte); background: var(--superficie); border-radius: var(--pillola); padding: 0 16px; font-weight: 700; box-shadow: none; color: var(--inchiostro); }
.on1-offerte .pulsante-filtri .quanti { background: var(--inchiostro); color: var(--fondo); border-radius: var(--pillola); font-size: 12px; padding: 1px 7px; }

/* Le categorie: le nostre, dall'albero di Amazon. Pillole con l'icona. */
.on1-offerte .fila-con-frecce { position: relative; min-width: 0; }
.on1-offerte .fila { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; padding: 2px 0 4px; scroll-behavior: smooth; }
.on1-offerte .fila::-webkit-scrollbar { display: none; }
.on1-offerte .fila-con-frecce.c-e-prima .fila { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px); mask-image: linear-gradient(90deg, transparent 0, #000 48px); }
.on1-offerte .fila-con-frecce.c-e-dopo .fila { -webkit-mask-image: linear-gradient(270deg, transparent 0, #000 48px); mask-image: linear-gradient(270deg, transparent 0, #000 48px); }
.on1-offerte .fila-con-frecce.c-e-prima.c-e-dopo .fila { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%); }
html body .on1-offerte .freccia { position: absolute; top: 0; bottom: 0; z-index: 2; display: none; align-items: center; width: 44px; padding: 0; border: 0; background: transparent; color: var(--inchiostro); }
html body .on1-offerte .freccia.sx { left: -8px; justify-content: flex-start; }
html body .on1-offerte .freccia.dx { right: -8px; justify-content: flex-end; }
.on1-offerte .freccia span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--superficie); border: 1px solid var(--bordo-forte); box-shadow: 0 4px 14px rgba(15, 23, 42, .18); transition: transform .15s; }
.on1-offerte .freccia:hover span { transform: scale(1.06); border-color: var(--inchiostro); }
.on1-offerte .freccia svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: hover) and (pointer: fine) {
	html body .on1-offerte .fila-con-frecce.c-e-prima .freccia.sx, html body .on1-offerte .fila-con-frecce.c-e-dopo .freccia.dx { display: flex; }
}
html body .on1-offerte .cat-pillola { flex: none; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--bordo); background: var(--superficie); border-radius: var(--pillola); padding: 7px 14px 7px 9px; font-size: 14px; font-weight: 600; color: var(--inchiostro-lieve); white-space: nowrap; transition: border-color .15s, background .15s; }
html body .on1-offerte .cat-pillola:hover { border-color: var(--bordo-forte); }
.on1-offerte .cat-pillola .tondo { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--superficie-2); color: var(--inchiostro); flex: none; }
.on1-offerte .cat-pillola .tondo .ico { width: 16px; height: 16px; }
.on1-offerte .cat-pillola .n { color: var(--tenue); font-weight: 500; font-variant-numeric: tabular-nums; }
html body .on1-offerte .cat-pillola[aria-pressed="true"] { background: var(--inchiostro); border-color: var(--inchiostro); color: var(--fondo); }
.on1-offerte .cat-pillola[aria-pressed="true"] .tondo { background: var(--accento); color: #fff; }
.on1-offerte .cat-pillola[aria-pressed="true"] .n { color: rgba(250, 249, 247, .65); }
html body .on1-offerte .cat-pillola.tutte-cat { border-style: dashed; border-color: var(--bordo-forte); color: var(--inchiostro); }

.on1-offerte .pannello-cat { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; padding: 12px; border: 1px solid var(--bordo); border-radius: var(--raggio); background: var(--superficie); max-height: min(60vh, 460px); overflow: auto; overscroll-behavior: contain; box-shadow: var(--ombra); }
html body .on1-offerte .tessera-cat { display: grid; justify-items: center; gap: 6px; text-align: center; padding: 14px 8px 12px; border: 1px solid var(--bordo); border-radius: 14px; background: var(--fondo); font-size: 13.5px; font-weight: 600; color: var(--inchiostro); }
html body .on1-offerte .tessera-cat:hover { border-color: var(--accento); }
.on1-offerte .tessera-cat .ico { width: 26px; height: 26px; stroke: var(--accento-scuro); }
.on1-offerte .tessera-cat .n { font-size: 12px; color: var(--tenue); font-weight: 500; }
html body .on1-offerte .tessera-cat[aria-pressed="true"] { border-color: var(--inchiostro); box-shadow: inset 0 0 0 1px var(--inchiostro); }

.on1-offerte .pannello { display: grid; gap: 14px; padding: 14px 16px; border: 1px solid var(--bordo); border-radius: 14px; background: var(--superficie); }
.on1-offerte .gruppo { display: grid; gap: 7px; align-content: start; grid-template-columns: minmax(0, 1fr); }
.on1-offerte .segmenti { display: flex; flex-wrap: wrap; gap: 6px; }
html body .on1-offerte .segmenti button { border: 1px solid var(--bordo); background: var(--fondo); border-radius: var(--pillola); padding: 6px 12px; font-size: 14px; font-weight: 600; color: var(--inchiostro-lieve); font-variant-numeric: tabular-nums; }
html body .on1-offerte .segmenti button[aria-pressed="true"] { background: var(--inchiostro); border-color: var(--inchiostro); color: var(--fondo); }
html body .on1-offerte .segmenti.piccoli button { padding: 3px 10px; font-size: 13px; }
.on1-offerte .interruttori { display: flex; flex-wrap: wrap; gap: 6px; }
html body .on1-offerte .interruttore { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--bordo); background: var(--fondo); border-radius: var(--pillola); padding: 6px 12px 6px 7px; font-size: 14px; font-weight: 600; color: var(--inchiostro-lieve); }
.on1-offerte .leva { width: 28px; height: 16px; border-radius: 9px; background: var(--bordo-forte); position: relative; transition: background .15s; flex: none; }
.on1-offerte .leva::after { content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; transition: transform .15s; }
html body .on1-offerte .interruttore[aria-pressed="true"] { color: var(--inchiostro); border-color: var(--bordo-forte); }
.on1-offerte .interruttore[aria-pressed="true"] .leva { background: var(--verde); }
.on1-offerte .interruttore[aria-pressed="true"] .leva::after { transform: translateX(12px); }
.on1-offerte .riga-ordine { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
.on1-offerte .risultati { font-size: 14px; color: var(--inchiostro-lieve); }
.on1-offerte .risultati b { color: var(--inchiostro); font-variant-numeric: tabular-nums; }
.on1-offerte .azioni-filtri { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; }
html body .on1-offerte .ordina { border: 1px solid var(--bordo-forte); background: var(--superficie); border-radius: var(--pillola); padding: 6px 12px; font-size: 14px; font-weight: 600; height: auto; width: auto; }
html body .on1-offerte .link-testo { border: 0; background: none; padding: 4px 0; color: var(--inchiostro); font-weight: 700; font-size: 14px; text-decoration: underline; text-decoration-color: var(--accento); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.on1-offerte .comandi.compatto .fila-con-frecce, .on1-offerte .comandi.compatto .pannello, .on1-offerte .comandi.compatto .pannello-cat, .on1-offerte .comandi.compatto .riga-ordine { display: none !important; }
@media (min-width: 820px) {
	html body .on1-offerte .pulsante-filtri { display: none; }
	.on1-offerte .pannello { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
	.on1-offerte .pannello[hidden] { display: grid !important; }
	html body .on1-offerte .comandi.compatto .pulsante-filtri { display: inline-flex; }
	.on1-offerte .comandi.compatto .quante-compatto { display: inline; }
	html body .on1-offerte .comandi.compatto .cerca input { padding-block: 10px; }
}

/* -- Sezioni, selezioni ---------------------------------------------------- */
.on1-offerte .sezione { padding-block: 26px 4px; }
.on1-offerte .sezione-testa { display: flex; align-items: flex-end; justify-content: space-between; gap: 4px 12px; flex-wrap: wrap; margin-bottom: 14px; }
html body .on1-offerte .sezione-testa h2 { font-family: var(--titolo); font-weight: 700; font-size: 28px; line-height: 1.05; margin: 0; padding: 0; color: var(--inchiostro); }
.on1-offerte .sezione-testa small { font-size: 13.5px; color: var(--tenue); }
.on1-offerte .carosello { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 270px); gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; padding: 2px 2px 12px; scroll-behavior: smooth; }
.on1-offerte .carosello::-webkit-scrollbar { display: none; }
html body .on1-offerte .sel { scroll-snap-align: start; display: grid; gap: 8px; align-content: start; text-align: left; padding: 0 0 14px; border: 1px solid var(--bordo); border-radius: 20px; background: var(--superficie); overflow: hidden; transition: transform .18s, box-shadow .18s, border-color .18s; color: var(--inchiostro); }
html body .on1-offerte .sel:hover { transform: translateY(-3px); box-shadow: var(--ombra); border-color: var(--bordo-forte); }
html body .on1-offerte .sel[aria-pressed="true"] { border-color: var(--inchiostro); box-shadow: inset 0 0 0 1px var(--inchiostro); }
.on1-offerte .sel-copertina { position: relative; height: 128px; background: radial-gradient(90% 120% at 50% 100%, var(--tinta, #fde7d2) 0%, #fff 90%); display: grid; place-items: center; }
html body .on1-offerte .sel-copertina img { position: absolute; border-radius: 50%; background: #fff; object-fit: contain; box-shadow: 0 8px 18px rgba(15, 23, 42, .16); border: 3px solid #fff; }
html body .on1-offerte .sel-copertina img:nth-child(1) { width: 92px; height: 92px; z-index: 2; bottom: 14px; left: calc(50% - 46px); }
html body .on1-offerte .sel-copertina img:nth-child(2) { width: 64px; height: 64px; bottom: 22px; left: calc(50% - 104px); }
html body .on1-offerte .sel-copertina img:nth-child(3) { width: 64px; height: 64px; bottom: 22px; left: calc(50% + 40px); }
.on1-offerte .sel-copertina .sel-voto { position: absolute; top: 10px; right: 10px; z-index: 3; }
.on1-offerte .sel .tipo { padding-inline: 16px; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--accento-scuro); }
.on1-offerte .sel b { padding-inline: 16px; font-family: var(--titolo); font-size: 21px; line-height: 1.05; font-weight: 700; }
.on1-offerte .sel .quante { padding-inline: 16px; font-size: 13px; color: var(--tenue); }

/* -- Le schede ------------------------------------------------------------- */
.on1-offerte .griglia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 640px) { .on1-offerte .griglia { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; } }
.on1-offerte .scheda { position: relative; display: flex; flex-direction: column; background: var(--superficie); border: 1px solid var(--bordo); border-radius: var(--raggio); overflow: hidden; transition: border-color .18s, box-shadow .18s, transform .18s; content-visibility: auto; contain-intrinsic-size: auto 380px; }
.on1-offerte .scheda:hover { border-color: var(--bordo-forte); box-shadow: var(--ombra); transform: translateY(-2px); }
.on1-offerte .scheda:has(.apri:focus-visible) { outline: 2.5px solid var(--accento); outline-offset: 2px; }
.on1-offerte .foto { position: relative; aspect-ratio: 1 / 1; background: #fff; border-bottom: 1px solid var(--bordo); overflow: hidden; }
html body .on1-offerte .foto img { width: 100%; height: 100%; object-fit: contain; padding: 6%; transition: transform .3s; }
.on1-offerte .scheda:hover .foto img { transform: scale(1.04); }
.on1-offerte .bollini { position: absolute; top: 8px; left: 8px; right: 46px; display: flex; flex-wrap: wrap; gap: 4px; z-index: 1; }
.on1-offerte .bollino { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: var(--pillola); line-height: 1.35; white-space: nowrap; }
.on1-offerte .bollino svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.on1-offerte .bollino.minimo { background: #059669; color: #fff; }
.on1-offerte .bollino.tempo { background: #fff4e8; color: #a14a04; border: 1px solid #f7c99a; }
.on1-offerte .bollino.nuovo { background: #e8710a; color: #fff; }
.on1-offerte .bollino.codice { background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe; }
html body .on1-offerte .cuore { position: absolute; top: 6px; right: 6px; z-index: 2; width: 36px; height: 36px; padding: 0; border-radius: 50%; border: 1px solid #e7e5df; background: rgba(255, 255, 255, .94); display: grid; place-items: center; color: #8a94a6; }
.on1-offerte .cuore svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; }
html body .on1-offerte .cuore[aria-pressed="true"] { color: #dc2626; }
.on1-offerte .cuore[aria-pressed="true"] svg { fill: currentColor; }
.on1-offerte .corpo { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 5px; flex: 1; }
html body .on1-offerte .cat { margin: 0; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--tenue); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; }
html body .on1-offerte .titolo { margin: 0; padding: 0; font-size: 15px; font-weight: 600; line-height: 1.28; color: var(--inchiostro); font-family: inherit; }
html body .on1-offerte .apri { border: 0; background: none; padding: 0; margin: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; text-decoration: none; }
html body .on1-offerte .apri:hover { color: inherit; text-decoration: none; }
html body .on1-offerte .apri:focus-visible { outline: none; }
.on1-offerte .scheda .apri::after, .on1-offerte .posto .apri::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.on1-offerte .riga { margin: 0; font-size: 13px; color: var(--inchiostro-lieve); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.on1-offerte .prezzi { margin-top: auto; padding-top: 4px; display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }
.on1-offerte .colonna-prezzo { display: grid; gap: 2px; min-width: 0; }
.on1-offerte .prezzo { font-family: var(--titolo); font-size: 24px; font-weight: 700; line-height: 1; letter-spacing: -.01em; }
.on1-offerte .vecchio { display: flex; gap: 6px; align-items: baseline; font-size: 13px; flex-wrap: wrap; }
.on1-offerte .vecchio s { color: var(--tenue); }
.on1-offerte .meno { color: var(--rosso); font-weight: 700; font-variant-numeric: tabular-nums; }
.on1-offerte .verita { margin: 0; font-size: 12.5px; color: var(--inchiostro-lieve); }
.on1-offerte .verita b { color: var(--verde); }
.on1-offerte .negozio { font-size: 11.5px; color: var(--tenue); font-weight: 600; }
.on1-offerte .altre { display: flex; justify-content: center; padding-block: 22px 4px; }
html body .on1-offerte .altre button { border: 1.5px solid var(--inchiostro); background: transparent; border-radius: var(--pillola); padding: 10px 22px; font-weight: 700; color: var(--inchiostro); }
@media (max-width: 420px) {
	.on1-offerte .corpo { padding: 9px 10px 11px; }
	html body .on1-offerte .titolo { font-size: 14px; }
	.on1-offerte .prezzo { font-size: 20px; }
	.on1-offerte .bollino { font-size: 10px; padding: 2px 6px; }
}

/* -- L'anello del voto: verde scuro dall'8, verde dal 7, oro sotto ---------- */
.on1-offerte .anello { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; flex: none; }
.on1-offerte .anello svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.on1-offerte .anello .a-fondo { fill: none; stroke: var(--superficie-2); stroke-width: 4.5; }
.on1-offerte .anello .a-pieno { fill: none; stroke: var(--col); stroke-width: 4.5; stroke-linecap: round; }
.on1-offerte .anello b { position: relative; font-family: var(--titolo); font-size: 15px; font-weight: 700; color: var(--inchiostro); font-variant-numeric: tabular-nums; line-height: 1; }
.on1-offerte .anello.su-bianco { background: #fff; border-radius: 50%; box-shadow: 0 4px 12px rgba(15, 23, 42, .15); }
.on1-offerte .anello.grande { width: 88px; height: 88px; }
.on1-offerte .anello.grande .a-fondo, .on1-offerte .anello.grande .a-pieno { stroke-width: 3.4; }
.on1-offerte .anello.grande b { font-size: 30px; }
.on1-offerte .anello.piccolo { width: 34px; height: 34px; }
.on1-offerte .anello.piccolo b { font-size: 12px; }

/* -- La pagina di una selezione -------------------------------------------- */
.on1-offerte .testa-sel { display: grid; gap: 8px; margin-bottom: 14px; grid-template-columns: minmax(0, 1fr); }
.on1-offerte .testa-sel .link-testo { justify-self: start; }
html body .on1-offerte .testa-sel h2 { font-family: var(--titolo); font-size: clamp(32px, 6vw, 48px); line-height: 1; margin: 0; padding: 0; color: var(--inchiostro); }
.on1-offerte .testa-sel p { margin: 0; color: var(--inchiostro-lieve); max-width: 64ch; }
html body .on1-offerte .classifica { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 10px; max-width: 840px; }
html body .on1-offerte .posto { position: relative; display: grid; grid-template-columns: 34px 88px minmax(0, 1fr); gap: 12px; align-items: center; background: var(--superficie); border: 1px solid var(--bordo); border-radius: var(--raggio); padding: 12px; margin: 0; }
.on1-offerte .posto:hover { border-color: var(--bordo-forte); box-shadow: var(--ombra); }
.on1-offerte .posto .num { font-family: var(--titolo); font-size: 30px; font-weight: 700; color: var(--accento); text-align: center; line-height: 1; }
html body .on1-offerte .posto img { width: 88px; height: 88px; object-fit: contain; border-radius: 10px; background: #fff; border: 1px solid var(--bordo); }
.on1-offerte .posto .info { display: grid; gap: 4px; min-width: 0; }
html body .on1-offerte .posto h3 { margin: 0; padding: 0; font-size: 16px; line-height: 1.25; color: var(--inchiostro); }
.on1-offerte .posto .basso { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.on1-offerte .posto .perche-qui { margin: 0; font-size: 13px; color: var(--inchiostro-lieve); }
@media (max-width: 479px) {
	html body .on1-offerte .posto { grid-template-columns: 24px 64px minmax(0, 1fr); gap: 10px; padding: 10px; }
	html body .on1-offerte .posto img { width: 64px; height: 64px; }
	.on1-offerte .posto .num { font-size: 24px; }
	html body .on1-offerte .posto h3 { font-size: 15px; }
}
.on1-offerte .vuoto { grid-column: 1 / -1; padding: 32px 16px; border: 1px dashed var(--bordo-forte); border-radius: var(--raggio); color: var(--inchiostro-lieve); text-align: center; display: grid; justify-items: center; gap: 6px; }
html body .on1-offerte .vuoto img { width: 90px; height: auto; }
.on1-offerte .vuoto b { font-size: 18px; color: var(--inchiostro); }
.on1-offerte .fondo-pagina { padding-block: 30px 44px; color: var(--tenue); font-size: 13px; display: grid; gap: 6px; }

/* -- Pulsanti ---------------------------------------------------------------- */
html body .on1-offerte .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: var(--pillola); font-weight: 700; font-size: 15px; padding: 11px 18px; border: 1.5px solid transparent; text-decoration: none; white-space: nowrap; line-height: 1.2; }
.on1-offerte .btn svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
html body .on1-offerte .btn-vai { background: var(--accento); color: #fff; }
html body .on1-offerte .btn-vai:hover { background: var(--accento-scuro); color: #fff; }
html body .on1-offerte .btn-scuro { background: var(--inchiostro); color: var(--fondo); }
html body .on1-offerte .btn-scuro:hover { color: var(--fondo); }
html body .on1-offerte .btn-bordo { background: var(--superficie); border-color: var(--bordo-forte); color: var(--inchiostro); }
html body .on1-offerte .btn-bordo:hover { border-color: var(--inchiostro-lieve); color: var(--inchiostro); }
html body .on1-offerte .btn-bordo[aria-pressed="true"] { border-color: var(--rosso); color: var(--rosso); }
.on1-offerte .btn-bordo[aria-pressed="true"] svg { fill: currentColor; }

/* -- Il pannello del dettaglio: dal basso sul telefono, di lato sul computer.
   Sopra la testata del sito e sopra il menu: z-index alti come la Festa. */
.on1-offerte .velo { position: fixed; inset: 0; z-index: 99980; background: rgba(15, 23, 42, .5); opacity: 0; transition: opacity .22s; }
.on1-offerte .velo.aperto { opacity: 1; }
.on1-offerte .foglio { position: fixed; z-index: 99981; left: 0; right: 0; bottom: 0; height: 94vh; height: 94dvh; background: var(--fondo); border-radius: 20px 20px 0 0; display: flex; flex-direction: column; transform: translateY(100%); transition: transform .26s cubic-bezier(.2, .8, .2, 1); box-shadow: 0 -12px 40px rgba(15, 23, 42, .22); }
.on1-offerte .foglio.aperto { transform: none; }
.on1-offerte .foglio-testa { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 10px 8px 16px; border-bottom: 1px solid var(--bordo); background: var(--superficie); border-radius: 20px 20px 0 0; }
.on1-offerte .foglio-testa .chiudi { order: 2; }
.on1-offerte .indirizzo { font-size: 12.5px; color: var(--tenue); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
html body .on1-offerte .chiudi { flex: none; width: 38px; height: 38px; padding: 0; border-radius: 50%; border: 1px solid var(--bordo); background: var(--superficie); display: grid; place-items: center; color: var(--inchiostro); }
.on1-offerte .chiudi svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.on1-offerte .foglio-corpo { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.on1-offerte .cta { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--bordo); background: var(--superficie); }
.on1-offerte .cta-prezzo { display: grid; line-height: 1.15; min-width: 0; }
.on1-offerte .cta-prezzo b { font-family: var(--titolo); font-size: 24px; }
.on1-offerte .cta-prezzo span { font-size: 12.5px; color: var(--tenue); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 900px) {
	.on1-offerte .foglio { left: auto; top: 0; height: 100vh; width: min(580px, 100vw); border-radius: 0; transform: translateX(100%); }
	.on1-offerte .foglio.aperto { transform: none; }
	.on1-offerte .foglio .foglio-testa { border-radius: 0; padding-top: 10px; }
	.admin-bar .on1-offerte .foglio { top: 32px; height: calc(100vh - 32px); }
}

/* -- Il dettaglio di un'offerta -------------------------------------------- */
.on1-offerte .det { padding: 16px 16px 26px; display: grid; gap: 20px; max-width: 640px; margin: 0 auto; grid-template-columns: minmax(0, 1fr); }
html body .on1-offerte .det h3 { margin: 0 0 10px; padding: 0; font-size: 17px; color: var(--inchiostro); font-family: inherit; font-weight: 700; }
.on1-offerte .det-alto { display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 14px; align-items: start; }
.on1-offerte .det-foto { position: relative; background: #fff; border: 1px solid var(--bordo); border-radius: 14px; overflow: hidden; aspect-ratio: 1 / 1; }
html body .on1-offerte .det-foto img { width: 100%; height: 100%; object-fit: contain; }
.on1-offerte .det-foto .bollini { top: 6px; left: 6px; right: 6px; }
.on1-offerte .det-testo { display: grid; gap: 5px; min-width: 0; }
html body .on1-offerte .det h2 { font-family: var(--titolo); font-size: 25px; line-height: 1.05; margin: 0; padding: 0; color: var(--inchiostro); }
.on1-offerte .sotto { margin: 0; color: var(--inchiostro-lieve); font-size: 14.5px; line-height: 1.35; }
.on1-offerte .stelle { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--inchiostro-lieve); }
.on1-offerte .stelle svg { width: 15px; height: 15px; fill: #f59e0b; stroke: none; }
.on1-offerte .stelle b { color: var(--inchiostro); }
.on1-offerte .a-tempo-banner { display: flex; gap: 8px; align-items: center; background: #fff4e8; border: 1px solid #f7c99a; color: #a14a04; border-radius: 12px; padding: 9px 12px; font-weight: 700; font-size: 14px; }
.on1-offerte .a-tempo-banner svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.on1-offerte .det-prezzo { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.on1-offerte .det-prezzo .prezzo { font-size: 42px; line-height: .95; }
.on1-offerte .det-prezzo s { color: var(--tenue); font-size: 16px; }
.on1-offerte .det-prezzo .meno { font-size: 16px; }
.on1-offerte .det-prezzo .aiuto { flex-basis: 100%; margin-top: 2px; }
.on1-offerte .verificato { display: inline-flex; align-items: center; gap: 4px; }
.on1-offerte .verificato svg { width: 14px; height: 14px; fill: none; stroke: var(--verde); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.on1-offerte .risparmi { background: var(--verde-lieve); color: var(--verde); font-weight: 700; border-radius: var(--pillola); padding: 2px 10px; font-size: 13px; }
.on1-offerte .codice-box { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; background: var(--accento-lieve); border: 1.5px dashed var(--accento); border-radius: 12px; padding: 10px 12px; font-size: 14px; }
.on1-offerte .codice-box b { font-family: ui-monospace, Consolas, monospace; letter-spacing: .08em; font-size: 16px; }
html body .on1-offerte .codice-box button { border: 0; background: var(--accento); color: #fff; border-radius: 8px; padding: 6px 12px; font-weight: 700; }
.on1-offerte .termometro { display: grid; gap: 5px; flex-basis: 100%; margin-top: 8px; }
.on1-offerte .traccia { position: relative; height: 6px; border-radius: 4px; background: var(--superficie-2); }
.on1-offerte .traccia .zona { position: absolute; top: 0; bottom: 0; left: 0; border-radius: 4px; background: rgba(5, 150, 105, .38); }
.on1-offerte .traccia .media { position: absolute; top: -4px; width: 2px; height: 14px; background: var(--inchiostro-lieve); border-radius: 1px; }
.on1-offerte .traccia .oggi { position: absolute; top: 50%; width: 14px; height: 14px; border-radius: 50%; background: var(--superficie); border: 3px solid var(--accento); transform: translate(-50%, -50%); }
.on1-offerte .scala { display: flex; justify-content: space-between; gap: 6px; font-size: 11.5px; color: var(--tenue); font-variant-numeric: tabular-nums; }
.on1-offerte .azioni { display: flex; flex-wrap: wrap; gap: 8px; }
.on1-offerte .azioni .btn-scuro { flex: 1 1 100%; }
.on1-offerte .azioni .btn-bordo { flex: 1 1 0; }
@media (min-width: 480px) { .on1-offerte .azioni .btn-scuro { flex: 1 1 auto; } }
.on1-offerte .giudizio { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px 16px; align-items: center; background: var(--superficie); border: 1px solid var(--bordo); border-radius: var(--raggio); padding: 16px; }
html body .on1-offerte .giudizio h3 { margin: 2px 0 0; font-family: var(--titolo); font-size: 26px; line-height: 1; }
.on1-offerte .giudizio p { margin: 6px 0 0; color: var(--inchiostro-lieve); font-size: 14.5px; }
.on1-offerte .parti { grid-column: 1 / -1; display: grid; gap: 10px; padding-top: 14px; border-top: 1px solid var(--bordo); }
.on1-offerte .parte { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; font-size: 13.5px; }
.on1-offerte .parte b { font-variant-numeric: tabular-nums; }
.on1-offerte .parte .barra { grid-column: 1 / -1; height: 6px; border-radius: 4px; background: var(--superficie-2); overflow: hidden; }
.on1-offerte .parte .barra i { display: block; height: 100%; border-radius: 4px; }
html body .on1-offerte .perche ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
html body .on1-offerte .perche li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 8px; font-size: 14.5px; margin: 0; padding: 0; list-style: none; }
.on1-offerte .perche li::before { content: none; }
.on1-offerte .perche li svg { width: 20px; height: 20px; margin-top: 1px; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.on1-offerte .lista-si svg { stroke: var(--verde); }
.on1-offerte .lista-dubbi svg { stroke: var(--ambra); stroke-width: 2; }
html body .on1-offerte .perche .da-sapere { margin-top: 18px; }
html body .on1-offerte .caratteristiche ul { margin: 0; padding-left: 18px; display: grid; gap: 8px; color: var(--inchiostro-lieve); font-size: 14px; }
html body .on1-offerte .caratteristiche li { margin: 0; }
.on1-offerte .caratteristiche b { color: var(--inchiostro); }
.on1-offerte .due-righe { display: grid; gap: 8px; font-size: 14px; color: var(--inchiostro-lieve); }
.on1-offerte .due-righe b { color: var(--inchiostro); }
.on1-offerte .ramo-amazon { font-size: 12.5px; color: var(--tenue); }
.on1-offerte .striscia-simili { display: grid; grid-auto-flow: column; grid-auto-columns: 132px; gap: 10px; overflow-x: auto; padding-bottom: 6px; overscroll-behavior-x: contain; }
html body .on1-offerte .mini { display: grid; gap: 6px; align-content: start; text-align: left; background: var(--superficie); border: 1px solid var(--bordo); border-radius: 12px; padding: 8px; color: var(--inchiostro); }
html body .on1-offerte .mini:hover { border-color: var(--bordo-forte); }
html body .on1-offerte .mini img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 8px; background: #fff; }
.on1-offerte .mini-nome { font-size: 12.5px; font-weight: 600; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.5em; }
.on1-offerte .mini-basso { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.on1-offerte .mini-basso b { font-size: 14px; font-variant-numeric: tabular-nums; }

/* -- Il grafico: una scala sola, testi dai colori della pagina --------------- */
.on1-offerte .grafico-box { background: var(--superficie); border: 1px solid var(--bordo); border-radius: var(--raggio); padding: 14px 12px 12px; display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr); }
.on1-offerte .grafico-testa { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; padding-inline: 4px; }
html body .on1-offerte .grafico-testa h3 { margin: 0; }
.on1-offerte .grafico-svg { min-height: 120px; }
.on1-offerte .grafico-svg svg { display: block; width: 100%; height: auto; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.on1-offerte .g-griglia { stroke: var(--bordo); stroke-width: 1; }
.on1-offerte .g-testo { fill: var(--tenue); font: 600 11px Arial, sans-serif; }
.on1-offerte .g-area { fill: rgba(15, 23, 42, .07); }
.on1-offerte .g-linea { fill: none; stroke: var(--inchiostro); stroke-width: 2; stroke-linejoin: round; }
.on1-offerte .g-media { stroke: var(--inchiostro-lieve); stroke-width: 1.3; stroke-dasharray: 4 4; }
.on1-offerte .g-min { fill: var(--verde); stroke: var(--superficie); stroke-width: 2; }
.on1-offerte .g-oggi { fill: var(--accento); stroke: var(--superficie); stroke-width: 2.5; }
.on1-offerte .g-guida { stroke: var(--inchiostro-lieve); stroke-width: 1; stroke-dasharray: 2 3; }
.on1-offerte .g-punto { fill: var(--superficie); stroke: var(--inchiostro); stroke-width: 2.5; }
.on1-offerte .g-etichetta rect { fill: var(--inchiostro); }
.on1-offerte .g-etichetta text { fill: var(--fondo); font: 700 12px Arial, sans-serif; }
.on1-offerte .g-tocco { cursor: crosshair; }
.on1-offerte .legenda-g { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; font-size: 12.5px; color: var(--inchiostro-lieve); padding-inline: 4px; }
.on1-offerte .legenda-g b { color: var(--inchiostro); font-variant-numeric: tabular-nums; }
.on1-offerte .legenda-g i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 5px; vertical-align: -1px; }
.on1-offerte .legenda-g .l-oggi { background: var(--accento); }
.on1-offerte .legenda-g .l-min { background: var(--verde); }
.on1-offerte .legenda-g .l-media { width: 16px; height: 0; border-top: 2px dashed var(--inchiostro-lieve); border-radius: 0; vertical-align: 3px; }
.on1-offerte .scelte-condividi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
html body .on1-offerte .scelte-condividi .btn { padding: 11px 8px; font-size: 14px; }

/* -- Avvisi a comparsa -------------------------------------------------------- */
.on1-offerte .toast { position: fixed; left: 50%; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 99990; display: flex; align-items: center; gap: 12px; padding: 9px 10px 9px 12px; background: #0f172a; color: #fff; border-radius: 16px; box-shadow: 0 10px 28px rgba(0, 0, 0, .28); font-weight: 600; font-size: 14px; width: max-content; max-width: calc(100% - 32px); }
html body .on1-offerte .toast img { width: 34px; flex: none; }
html body .on1-offerte .toast button { flex: none; border: 0; background: var(--accento); color: #fff; border-radius: var(--pillola); padding: 6px 12px; font-weight: 700; white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
	.on1-offerte *, .on1-offerte *::before, .on1-offerte *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* -- 1.74.0: il negozio e i vantaggi sulle schede, le condizioni nel pannello --

   Enzo, 9/10: «nelle card non si distinguono i negozi» e «il cashback nel post
   si vede, nella scheda dettagli no». */
.on1-offerte .negozio-pill { position: absolute; left: 8px; bottom: 8px; z-index: 1; display: inline-flex; align-items: center; gap: 5px; max-width: calc(100% - 16px); background: rgba(255, 255, 255, .96); border: 1px solid var(--bordo-forte); color: var(--inchiostro); border-radius: var(--pillola); padding: 2px 9px 2px 7px; font-size: 11.5px; font-weight: 700; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.on1-offerte .negozio-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--tinta-negozio, #94a3b8); flex: none; }
.on1-offerte .bollino.vantaggio { background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe; }
.on1-offerte .tipo-barrato { font-size: 11px; color: var(--tenue); font-weight: 600; }
.on1-offerte .condizioni { background: var(--accento-lieve); border: 1px solid #f6d3b3; border-radius: var(--raggio); padding: 14px 16px; display: grid; gap: 10px; }
html body .on1-offerte .condizioni h3 { margin: 0; }
html body .on1-offerte .condizioni ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
html body .on1-offerte .condizioni li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 14.5px; }
.on1-offerte .condizioni li::before { content: none; }
.on1-offerte .condizioni li svg { width: 20px; height: 20px; margin-top: 1px; fill: none; stroke: var(--accento-scuro); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
html body .on1-offerte .condizioni a { color: var(--accento-scuro); text-decoration: underline; }
.on1-offerte .condizioni .aiuto { font-size: 12.5px; }
@media (max-width: 559px) {
	.on1-offerte .negozio-pill { font-size: 10.5px; left: 6px; bottom: 6px; }
	html body .on1-offerte .eroe h1 { font-size: 42px; }
	html body .on1-offerte .promessa { font-size: 15px; }
	.on1-offerte .barra-comandi { padding: 10px 10px 8px; border-radius: 16px; }
	.on1-offerte .comandi { margin-top: -70px; }
	.on1-offerte .eroe-dentro { padding-bottom: 92px; }
}

/* -- 1.75.0: la vetrina [on1_vetrina] (home) e «Scelta da Enzo» -------------- */
.on1-offerte .bollino.scelta { background: #0f172a; color: #ffd84d; }
.on1-offerte.on1-vetrina { background: transparent; margin: 0; font-size: 15px; }
.on1-vetrina .vt-testa { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
html body .on1-vetrina .vt-testa h2 { font-family: var(--titolo) !important; font-size: 24px; margin: 0; padding: 0; }
html body .on1-vetrina .vt-testa a { color: var(--accento-scuro); font-weight: 700; text-decoration: none; }
.on1-vetrina .vt-cornice { position: relative; }
.on1-vetrina .vt-fila { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(200px, 228px); gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; padding: 4px 2px 10px; }
.on1-vetrina .vt-fila::-webkit-scrollbar { display: none; }
.on1-vetrina .vt-fila .scheda { scroll-snap-align: start; }
html body .on1-vetrina .vt-cornice .freccia { position: absolute; top: 0; bottom: 0; z-index: 3; display: none; align-items: center; width: 48px; padding: 0; border: 0; background: transparent; color: var(--inchiostro); }
html body .on1-vetrina .vt-cornice .freccia.sx { left: -10px; justify-content: flex-start; }
html body .on1-vetrina .vt-cornice .freccia.dx { right: -10px; justify-content: flex-end; }
@media (hover: hover) and (pointer: fine) {
	html body .on1-vetrina .vt-cornice.c-e-prima .freccia.sx, html body .on1-vetrina .vt-cornice.c-e-dopo .freccia.dx { display: flex; }
}
@media (max-width: 559px) {
	.on1-vetrina .vt-fila { grid-auto-columns: 46vw; gap: 8px; }
}
