/* Keepbull · modifiche alla landing IT (una sezione per modifica, classi kb-) */


/* KB-M02 inizio */
.kb-h1-riga1{display:block;white-space:nowrap;font-size:min(30px,7.3vw);letter-spacing:-.015em}
/* KB-M02 fine */

/* KB-M03 inizio */
/* il badge è tolto: nessuno stile */
/* KB-M03 fine */


/* KB-M05 inizio */
/* Div vuoto al posto del badge: riduce lo spazio sopra il titolo (da 26+16px a circa 13+10px) */
.kb-hero-top{display:flex;height:0;margin:-13px 0 -5.6px}
/* KB-M05 fine */

/* KB-M06 inizio */
/* Popup "Tocca e vinci": schermo intero, scuro, colori Keepbull */
html.kb-popup-aperto{overflow:hidden}
.kb-popup{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;
  background:linear-gradient(180deg,#05061A 20%,rgba(255,255,255,.02)),#14163A;color:#fff;font-family:var(--font-serif),"Space Grotesk",-apple-system,system-ui,sans-serif;
  opacity:0;transition:opacity .5s ease;overflow-y:auto;text-align:center}
.kb-popup.kb-visibile{opacity:1}
.kb-popup[hidden]{display:none}
.kb-popup-chiudi{position:absolute;top:16px;left:16px;width:32px;height:32px;padding:0;border:0;background:none;color:#FF5FA8;opacity:0;font-size:24px;line-height:32px;cursor:pointer;transition:opacity .5s ease 1s}
.kb-visibile .kb-popup-chiudi{opacity:.75}
.kb-passo{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:16px;animation:kb-sali .5s ease .2s both}
.kb-passo[hidden]{display:none}
@keyframes kb-sali{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.kb-p-titolo{margin:0;font-size:46px;font-weight:700;line-height:1;text-transform:uppercase;color:#fff;letter-spacing:-.01em}
.kb-p-titolo-2{font-size:44px}
.kb-p-premio{font-size:64px;font-weight:700;line-height:1;margin-top:-8px;background:linear-gradient(140deg,#FF5FA8 20%,#7D95FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.kb-p-premio-lungo{font-size:44px;line-height:1.05}
.kb-p-sotto{margin:0;font-size:18px;font-weight:400;line-height:1.4;text-transform:uppercase;max-width:340px}
.kb-p-sotto-min{text-transform:none}
.kb-p-bottone{width:100%;max-width:370px;height:56px;border-radius:12px;border:2px solid #14163A;background:linear-gradient(135deg,#0F4496,#E50072);color:#fff;font:700 18px/1 var(--font-serif),"Space Grotesk",-apple-system,system-ui,sans-serif;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px rgba(229,0,114,.35)}
.kb-p-bottone:disabled{opacity:.85}
.kb-plinko{width:90%;max-width:400px;aspect-ratio:420/404;height:auto;border-radius:12px;display:block}
.kb-p-form{width:288px;max-width:100%;display:flex;flex-direction:column;gap:12px;animation:kb-sali .5s ease .5s both}
.kb-p-form .kb-p-bottone{width:100%}
.kb-p-campo{width:100%;height:52px;box-sizing:border-box;background:#000;border:1px solid rgba(255,255,255,.6);border-radius:8px;color:#fff;font:400 18px -apple-system,system-ui,sans-serif;padding:0 14px}
.kb-p-campo::placeholder{color:rgba(255,255,255,.55)}
.kb-p-tel{display:flex;gap:8px;align-items:center}
.kb-p-tel span{height:52px;line-height:52px;padding:0 12px;border:1px solid rgba(255,255,255,.6);border-radius:8px;background:#000;font-size:18px}
.kb-p-consenso{margin:0;font-size:10px;line-height:1.4;opacity:.5;text-align:left}
@media (prefers-reduced-motion:reduce){.kb-popup,.kb-popup-chiudi{transition:none}.kb-passo,.kb-p-form{animation:none}}
/* KB-M06 fine */

/* KB-M07 inizio */
/* Riga stelle identica a UltimaPeak: allineata a sinistra a 16px, 5 stelle 18x17 arancio #FF4C01 (la 5ª al 70%), testo 12px */
.kb-stelle-foto{display:flex;align-items:center;gap:2px 10px;margin:28px -4px 0;text-align:left} /* 32px dalle miniature (09/11: era 24px) */
.kb-stelle-icone{display:flex;gap:3.5px;line-height:0;flex:none}
.kb-stelle-icone svg{width:18px;height:17px;display:block}
.kb-stelle-foto p{margin:0;font-size:12px;font-weight:500;line-height:24px;color:#1a1a1a}
.kb-stelle-foto p strong{font-weight:700}
/* KB-M07 fine */

/* KB-M08 inizio */
/* Galleria come UltimaPeak: foto quadrata a tutta larghezza, frecce tonde bianche, miniature 105px sotto */
.kb-galleria{margin:18px -20px 0;text-align:left}
.kb-gal-main{position:relative;background:#fff}
.kb-gal-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;outline:none}
.kb-gal-track::-webkit-scrollbar{display:none}
.kb-gal-slide{flex:0 0 100%;aspect-ratio:1/1;scroll-snap-align:start;scroll-snap-stop:always}
.kb-gal-slide img{width:100%;height:100%;object-fit:contain;display:block}
.kb-gal-slide:first-child img{object-fit:cover}
.kb-gal-nav{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 12px;pointer-events:none}
.kb-gal-btn{pointer-events:auto;width:44px;height:44px;border:0;padding:0;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;color:#1a1a1a;cursor:pointer;transition:background-color .25s,transform .25s}
.kb-gal-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kb-gal-btn:disabled{opacity:.4;cursor:default}
.kb-gal-btn:not(:disabled):active{transform:scale(.94)}
.kb-gal-thumbs{display:flex;gap:10px;padding:4px 16px;margin:16px 0 0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.kb-gal-thumbs::-webkit-scrollbar{display:none}
.kb-gal-thumb{flex:0 0 105px;width:105px;height:105px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;scroll-snap-align:start}
.kb-gal-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.kb-gal-thumb.is-active{border-color:#E50072}
@media (prefers-reduced-motion:reduce){.kb-gal-track{scroll-behavior:auto}}
/* KB-M08 fine */

/* KB-M10 inizio */
/* Test A/B del titolo: senza scelta (o con "a") si vede A; con data-kb-titolo="b" si vede B */
.kb-titolo-b{display:none}
html[data-kb-titolo="b"] .kb-titolo-b{display:block}
html[data-kb-titolo="b"] .kb-h1-riga1,
html[data-kb-titolo="b"] .kb-h1-riga1 ~ .kb-grad-text:not(.kb-titolo-b){display:none}
.kb-titolo-b-riga1{white-space:nowrap}
/* KB-M10 fine */

/* KB-M11 inizio */
/* Variante A: anche "Senza effetto anestetico." su una riga, stessa grandezza della prima riga */
.kb-h1-riga1 ~ .kb-grad-text:not(.kb-titolo-b){display:block;white-space:nowrap;font-size:min(30px,7.3vw)}
/* KB-M11 fine */

/* KB-M12 inizio */
/* Interlinea del titolo +25% (1,08 -> 1,35): circa 8px in più tra le due righe, in A e in B */
.kb-h1-riga1 ~ .kb-grad-text:not(.kb-titolo-b),
.kb-titolo-b-riga1 ~ .kb-titolo-b{margin-top:.27em}
/* Gli stessi 8px si tolgono sopra il titolo: barra del logo -> titolo da circa 23px a circa 15px */
.kb-hero-top{margin-top:-21px}
/* KB-M12 fine */

/* KB-M13 inizio */
/* Barra in cima: carattere Satoshi come UltimaPeak, ma nella versione Black (900): sul nostro sfondo colorato
   il Bold sembrava più leggero del loro (che sta su fondo nero). Font gratuito anche per uso commerciale (Fontshare, licenza ITF FFL).
   File: assets/fonts/kb-satoshi-900.woff2 */
@font-face{font-family:"Satoshi";src:url("../fonts/kb-satoshi-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
.kb-barra span{font-family:"Satoshi",-apple-system,system-ui,sans-serif!important;font-size:13.5px!important;font-weight:900!important;letter-spacing:.01em!important;text-transform:uppercase;line-height:15.5px;padding-top:10px!important;padding-bottom:10px!important}
/* KB-M13 fine */

/* KB-M14 inizio */
/* Header nascosto sulla pagina degli annunci (come UltimaPeak): niente uscite verso il Blog, più spazio per titolo e foto */
.kb-header-nascosto{display:none!important}
/* KB-M14 fine */

/* KB-M15 inizio */
/* Barra ferma: a sinistra l'offerta in un'etichetta bianca (come il riquadro "SAVE 70%" di UltimaPeak), a destra la spedizione. Carattere da M13 */
.kb-barra-fissa{display:flex;justify-content:center;align-items:center;gap:0 12px;padding:0 8px;flex-wrap:nowrap}
.kb-barra .kb-barra-fissa span{font-size:min(12.5px,3.15vw)!important;padding-left:0!important;padding-right:0!important;color:#fff;white-space:nowrap}
.kb-barra .kb-barra-fissa .kb-barra-etichetta{background:#fff;color:#14163A;border-radius:4px;padding:4px 7px!important;line-height:1!important;margin:6px 0}
.kb-barra-etichetta strong{font-weight:900;color:#E50072;margin-right:2px}
/* KB-M15 fine */

/* KB-M16 inizio */
/* Fondo blu notte quasi nero (contrasto come il nero di UltimaPeak) con un filo sfumato Keepbull in basso; alta 48px come la loro */
.kb-barra{background:#0D0F2B!important;position:relative}
.kb-barra::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#0F4496,#E50072)}
.kb-barra .kb-barra-fissa{min-height:48px;gap:0 14px}
.kb-barra .kb-barra-fissa span{padding-top:0!important;padding-bottom:0!important}
.kb-barra .kb-barra-fissa .kb-barra-etichetta{padding:5px 8px!important;margin:0;display:inline-flex;align-items:center;gap:4px}
.kb-barra-etichetta strong{font-size:1.25em;line-height:1;margin-right:0}
/* KB-M16 fine */

/* KB-M17 inizio */
/* Bolla WhatsApp nascosta finché il cliente non scorre oltre il 25% della pagina (lo decide assets/js/kb-whatsapp-scroll.js) */
.kb-chat-dopo-scroll{opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s}
.kb-chat-dopo-scroll.kb-chat-visibile{opacity:1;visibility:visible;transform:none;transition:opacity .35s ease,transform .35s ease,visibility 0s}
@media (prefers-reduced-motion:reduce){.kb-chat-dopo-scroll{transition:none}}
/* KB-M17 fine */

/* KB-M18 inizio */
/* Testo sotto il voto grande: "83 recensioni scritte / da clienti verificati" */
.kb-rec-conteggio{font-size:11px;line-height:1.35;color:#5B5F7A;margin:6px 0 0}
/* KB-M18 fine */

/* KB-M19 inizio */
/* Schede recensioni come UltimaPeak: scheda bianca con bordo, stelle, NOME ✅ [Acquisto verificato], titolo grande in grassetto, testo tra virgolette */
.kb-rec{margin:16px 0 0;background:#F8F7F3;padding:20px 0 22px}
.kb-rec-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 20px;scroll-padding:0 20px;scrollbar-width:none;outline:none}
.kb-rec-track::-webkit-scrollbar{display:none}
.kb-rec-card{flex:0 0 86%;scroll-snap-align:start;background:#fff;border:1px solid #CFCFCF;border-radius:12px;padding:18px 16px 20px;display:flex;flex-direction:column;gap:10px;text-align:left;box-sizing:border-box}
.kb-rec-stelle{font-size:20px;letter-spacing:1px;line-height:1}
.kb-rec-chi{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kb-rec-nome{font-size:17px;font-weight:500;color:#14163A;letter-spacing:.01em}
.kb-rec-check{font-size:15px;line-height:1}
.kb-rec-verificato{font-size:12px;color:#14163A;border:1px solid #14163A;border-radius:50px;padding:2px 10px}
.kb-rec-titolo{margin:6px 0 0;font-family:var(--font-serif),sans-serif;font-size:23px;font-weight:700;line-height:1.2;color:#14163A}
.kb-rec-testo{margin:0;font-size:16px;line-height:1.5;color:#1a1a1a}
.kb-rec-dove{font-size:12px;color:#8A8DA6;margin-top:auto}
.kb-rec-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin:20px 0 0;font-size:16px;font-weight:500;letter-spacing:.04em;color:#14163A}
.kb-rec-btn{width:36px;height:36px;padding:0;border:0;background:none;cursor:pointer;color:#14163A}
.kb-rec-btn svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){.kb-rec-track{scroll-behavior:auto}}
/* KB-M19 fine */

/* KB-M20 inizio · Blocco acquisto sotto le stelle (nome, promessa, vantaggi, pacchetti, bottone, pagamenti, garanzie) */
.kb-acquisto{margin:16px 0 0;text-align:left;color:#14163A}
.kb-acq-nome{font-family:var(--font-serif),sans-serif;font-weight:700;-webkit-text-stroke:.6px currentColor;font-size:min(26px,6.6vw);line-height:1.1;margin:0;white-space:nowrap} /* Space Grotesk arriva al massimo a 700: il filo di .6px lo rende un po' più pesante */
.kb-acq-promessa{font-size:14px;font-weight:800;line-height:1.6;color:#14163A;margin:13px 0 0} /* come UltimaPeak: sottotitolo in grassetto, 14px, stesso colore del titolo, 13px sotto il titolo · 10/11 titolare: peso un po’ più alto, 800 */
.kb-acq-vantaggi{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:8px}
.kb-acq-vantaggi li{display:flex;gap:9px;align-items:flex-start;font-size:15px;line-height:1.35}
.kb-acq-vantaggi .kb-spunta{flex:none;width:22px;height:22px;color:#16A34A;margin-top:-1px} /* spunta verde nel cerchio (09/11: verde acceso #16A34A, prima #81A384) */
.kb-acq-vantaggi li{gap:11px}
.kb-acq-titolo{display:flex;align-items:center;gap:14px;font-family:var(--font-serif),sans-serif;font-weight:700;font-size:17px;margin:22px 0 0;text-align:center;white-space:nowrap}
.kb-acq-titolo::before,.kb-acq-titolo::after{content:"";flex:1;height:1px;background:#000} /* come UltimaPeak: righe nere da 1px che arrivano ai bordi */
.kb-pacchi{display:flex;flex-direction:column;gap:17px;margin:16px 0 0}
.kb-pacco{position:relative;display:flex;flex-wrap:nowrap;align-items:center;gap:10px;padding:12px 16px;min-height:76px;box-sizing:border-box;border:1px solid #E9EAEB;border-radius:30px;background:#F4F5F9;cursor:pointer;transition:border-color .15s,background .15s} /* come UltimaPeak: bordi smussati 30px, non scelto = fondo chiaro */
.kb-pacco.is-scelto{border:1.5px solid #14163A;background:#fff} /* scelto = fondo bianco e bordo scuro */
.kb-pacco input{position:absolute;opacity:0;pointer-events:none}
.kb-pacco-pallino{flex:none;position:relative;width:24px;height:24px;border-radius:50%;border:1px solid #1A1A1A;background:#fff;box-sizing:border-box}
.kb-pacco.is-scelto .kb-pacco-pallino::after{content:"";position:absolute;inset:5px;border-radius:50%;background:#000} /* pallino nero pieno come UltimaPeak */
.kb-pacco-testo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.kb-pacco-testo strong{font-size:15px;line-height:1.25;letter-spacing:-.01em;white-space:nowrap}
.kb-pacco-testo em{font-style:normal;font-weight:700;color:#1F8A5B}
.kb-pacco-testo span{font-size:13px;color:#5B5F7A;line-height:1.35}
.kb-pacco-foto{flex:none;width:40px;height:40px;object-fit:contain}
.kb-pacco-prezzo{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.kb-pacco-prezzo strong{font-family:var(--font-serif),sans-serif;font-size:18px;line-height:1.2}
.kb-pacco-prezzo s{font-size:12.5px;color:#9A9DB5}
.kb-pacco-etichetta{position:absolute;top:-13px;right:30px;background:#14163A;color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;padding:5px 10px;border-radius:5px 5px 0 0;white-space:nowrap;text-transform:uppercase}
.kb-pacco-etichetta::before,.kb-pacco-etichetta::after{content:"";position:absolute;bottom:0;border-bottom:8px solid #0A0B1E}
.kb-pacco-etichetta::before{left:-7px;border-left:7px solid transparent}
.kb-pacco-etichetta::after{right:-7px;border-right:7px solid transparent} /* linguetta come UltimaPeak */
.kb-pacco-etichetta.kb-eti-regalo{background:#0F4496}
.kb-pacco-etichetta.kb-eti-regalo::before,.kb-pacco-etichetta.kb-eti-regalo::after{border-bottom-color:#0A2E66}
.kb-acq-bottone{display:block;width:100%;margin:18px 0 0;background:linear-gradient(135deg,#0F4496,#E50072);color:#fff;border:0;font-family:var(--font-serif),sans-serif;font-weight:700;font-size:17px;letter-spacing:.02em;padding:18px 10px;border-radius:50px;cursor:pointer;box-shadow:0 12px 26px rgba(229,0,114,.28)}
.kb-acq-pagamenti{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:12px 0 0}
.kb-pag{display:inline-flex;align-items:center;justify-content:center;gap:2px;height:24px;min-width:38px;padding:0 6px;border:1px solid #D9DCE6;border-radius:4px;background:#fff;font-size:11px;font-weight:800;white-space:nowrap;box-sizing:border-box}
.kb-pag-visa{color:#1A1F71;font-style:italic;font-size:12.5px;letter-spacing:.02em}
.kb-pag-mc i{display:block;width:13px;height:13px;border-radius:50%;background:#EB001B}
.kb-pag-mc i+i{background:#F79E1B;margin-left:-6px;mix-blend-mode:multiply}
.kb-pag-gp{color:#3C4043;font-weight:600;font-size:11.5px;gap:3px}.kb-pag-gp b{font-weight:800;background:linear-gradient(90deg,#4285F4 0 25%,#EA4335 25% 50%,#FBBC04 50% 75%,#34A853 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.kb-pag-ap{background:#000;border-color:#000;color:#fff;font-size:11.5px;font-weight:600}
.kb-pag-cod{color:#1F8A5B;border-color:#BFE3CF;background:#E9F6EF;font-size:10px}
@media (max-width:380px){.kb-acq-pagamenti{gap:3px}.kb-pag{padding:0 4px;min-width:0}}
/* loghi di pagamento disegnati per l'anteprima: il developer li sostituisce con le icone ufficiali del suo sistema di pagamento */
.kb-acq-garanzie{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:auto auto;justify-content:center;gap:10px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;line-height:14px;color:#1A1A1A} /* come UltimaPeak: Inter 12px peso 500, cerchietti 16px, due righe */
.kb-acq-garanzie li{display:flex;align-items:center;gap:6px;white-space:nowrap}
.kb-acq-garanzie li:nth-child(3){grid-column:1 / -1;justify-self:center}
.kb-gar-ic{flex:none;width:16px;height:16px} /* cerchietto con la sfumatura del bottone Aggiungi al carrello */
/* Tasto "Ingredienti" + finestra con la foto (misure prese da "Supplement facts" di UltimaPeak) */
.kb-ingr{margin:12px 0 0}
.kb-ingr-tasto{color:#14163A;font-family:var(--font-serif),sans-serif;font-size:16px;font-weight:700;line-height:26px;margin:0;padding:0;background:none;border:0;-webkit-appearance:none;appearance:none;text-decoration:underline;text-underline-position:from-font;cursor:pointer}
@media (max-width:390px){.kb-ingr-tasto{font-size:15px}}
.kb-ingr-sfondo{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .3s ease}
.kb-ingr-sfondo[hidden]{display:none}
.kb-ingr-sfondo.is-attivo{opacity:1}
.kb-ingr-finestra{position:relative;background:#fff;border-radius:8px;width:100%;max-width:min(500px,95vw);max-height:95vh;box-shadow:0 10px 40px rgba(0,0,0,.2);transform:scale(.9);transition:transform .3s ease}
.kb-ingr-sfondo.is-attivo .kb-ingr-finestra{transform:scale(1)}
.kb-ingr-chiudi{position:absolute;top:12px;right:12px;width:36px;height:36px;background:#fff;color:#14163A;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.kb-ingr-contenuto{padding:16px;overflow:auto;max-height:95vh}
.kb-ingr-foto{display:block;max-width:100%;max-height:calc(95vh - 52px);width:auto;height:auto;object-fit:contain;border-radius:8px;margin:0 auto}
html.kb-ingr-aperto{overflow:hidden}
/* Riquadro garanzia, identico a UltimaPeak (mpv1-guarantee-main-banner) con colori Keepbull e 30 giorni */
.kb-gar-banner{display:flex;align-items:center;gap:12px;margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#F4F5F9;text-align:left}
.kb-gar-sigillo{flex:none;width:46px;height:46px;display:block}
.kb-gar-sigillo img,.kb-gar-sigillo svg{width:46px;height:46px;display:block;object-fit:contain}
.kb-gar-banner-testi{flex:1;min-width:0}
.kb-gar-banner-titolo{font-family:"KB Figtree",Figtree,sans-serif;font-weight:700;font-size:12px;line-height:18px;color:#1A1A1A;margin:0 0 4px}
.kb-gar-banner-testo{font-family:Inter,sans-serif;font-weight:500;font-size:12px;line-height:16.8px;color:#1A1A1A;margin:0}
/* Parere del medico sotto la garanzia (come il badge del medico di UltimaPeak, versione 10/10 dei revisori) */
.kb-esperto{margin:12px 0 0;padding:16px;border-radius:12px;background:#F4F5F9;text-align:left}
.kb-esperto-testa{display:flex;align-items:center;gap:12px}
.kb-esperto-foto{flex:none;width:77px;height:77px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.kb-esperto-chi{min-width:0}
.kb-esperto-nome{display:flex;align-items:center;gap:6px;font-family:"KB Figtree",Figtree,sans-serif;font-weight:700;font-size:16px;line-height:1.2;color:#14163A;margin:0}
.kb-esperto-ok{flex:none}
.kb-esperto-ruolo{font-family:Inter,sans-serif;font-size:12.5px;font-weight:500;line-height:1.35;color:#5B5F7A;margin:3px 0 0}
.kb-esperto-frase{font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:1.5;color:#1A1A1A;margin:12px 0 0}
.kb-esperto-frase strong{font-weight:700;color:#14163A}
.kb-esperto-punti{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0}
.kb-esperto-punti li{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#fff;border:1px solid #E6E3EE;font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:#14163A}
.kb-esperto-punti li::before{content:"";width:12px;height:12px;border-radius:50%;background:#16A34A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.2 6.2l1.8 1.8 3.8-4' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat}
.kb-esperto-punti{flex-wrap:nowrap;gap:6px;justify-content:flex-start}
.kb-esperto-punti li{flex:0 1 auto;min-width:0;white-space:nowrap;gap:4px;padding:5px 6px;font-size:clamp(10px,2.9vw,12px);letter-spacing:-.01em}
.kb-esperto-punti li::before{flex:none}
@media (max-width:385px){.kb-esperto{padding:16px 12px}}
/* KB-M20 fine */

/* KB-M21 inizio · Titolo grande (A e B) un pelo più pesante: da 600 a 700 (il massimo di Space Grotesk) */
.kb-h1-riga1,.kb-h1-riga1 ~ .kb-grad-text,.kb-titolo-b,.kb-titolo-b-riga1{font-weight:700}
/* KB-M21 fine */


/* KB-M22 inizio · Vista computer (da 1024px in su): prima sezione su due colonne come UltimaPeak (foto a sinistra, acquisto a destra), resto della pagina in una colonna centrale da 760px. Sul telefono non cambia niente. */
@media (min-width:1024px){
  div:has(> section > .kb-galleria){max-width:1200px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}
  div:has(> section > .kb-galleria) > :not(section:has(> .kb-galleria)):not(.kb-barra):not(header){max-width:760px;margin-left:auto!important;margin-right:auto!important}
  section:has(> .kb-galleria){display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto auto auto 1fr;column-gap:56px;align-items:start;padding:28px 40px 48px!important}
  section:has(> .kb-galleria) > .kb-hero-top,section:has(> .kb-galleria) > h1{grid-column:1 / -1}
  section:has(> .kb-galleria) > h1{grid-row:2;margin:6px 0 26px!important;font-size:40px!important}
  section:has(> .kb-galleria) > h1 .kb-h1-riga1,section:has(> .kb-galleria) > h1 .kb-grad-text{font-size:40px!important}
  section:has(> .kb-galleria) > .kb-galleria{grid-column:1;grid-row:3 / 5}
  section:has(> .kb-galleria) > .kb-stelle-foto{grid-column:2;grid-row:3;margin:0!important}
  section:has(> .kb-galleria) > .kb-acquisto{grid-column:2;grid-row:4;margin-top:14px}
  .kb-acq-nome{font-size:30px}
  div[style*="position:fixed;bottom:0;left:50%"]{max-width:760px!important} /* barra in basso larga come la colonna */
}
/* KB-M22 fine */

/* KB-M23 inizio · "Come funziona il siero?": titolo come prima (stile dei passi), etichetta rosa maiuscola "COME SI USA" sopra, sottotitolo più scuro e più grande con il grassetto sulla promessa · 10/11 badge dosaggio staccato 44px dal passo 3, come lo spazio sotto verso "Il problema" (titolare) */
.kb-cf-divisore{display:flex;align-items:center;gap:14px;font-family:"KB Figtree",Figtree,sans-serif;font-weight:700;font-size:13px;line-height:26px;letter-spacing:.02em;text-transform:uppercase;color:#14163A;white-space:nowrap;margin:0 0 18px}
.kb-cf-freccia{position:relative;height:26px;margin:-12px 0 -4px}
.kb-cf-freccia svg{position:absolute;z-index:1;left:70px;top:-8px;width:110px;height:52px}
.kb-cf-divisore::before,.kb-cf-divisore::after{content:"";flex:1;height:1px;background:#000}
@font-face{font-family:"KB Figtree";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/kb-figtree-700.woff2) format("woff2")}
#come-funziona > h2{margin-top:0!important;font-family:"KB Figtree",var(--font-serif),sans-serif!important;font-weight:700!important;font-size:28px!important;line-height:1.15!important;text-transform:uppercase;text-wrap:balance}
#come-funziona .kb-cf-sotto{font-size:16.5px!important;line-height:1.45!important;color:#3A3E58!important;max-width:350px;margin:8px auto 24px!important;text-wrap:balance}
#come-funziona .kb-cf-sotto strong{display:block;font-weight:700;color:#14163A;white-space:nowrap}
.kb-dosaggio{display:block;margin:44px 0 0;padding:10px 11px 9px;border-radius:14px;text-align:left;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#0F4496,#E50072) border-box;border:2px solid transparent;box-shadow:0 6px 18px rgba(15,68,150,.12)}
.kb-dos-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.kb-dos-tit{font:700 16px/1.1 var(--font-serif),sans-serif;color:#14163A}
.kb-dos-num{flex:none;background:linear-gradient(135deg,#0F4496,#E50072);color:#fff;font:700 15px/1 var(--font-serif),sans-serif;padding:6px 9px;border-radius:999px;white-space:nowrap}
.kb-dos-num small{font-size:11px;font-weight:600;margin-left:2px}
.kb-dos-scala{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 7px;padding:0;list-style:none}
.kb-dos-scala li{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px 4px;border-radius:9px;background:#F3F5FB;font:600 11px/1.2 system-ui,sans-serif;color:#14163A;white-space:nowrap}
.kb-dos-scala li:nth-child(2){background:#F6EEF8}.kb-dos-scala li:nth-child(3){background:#FDEAF3}
.kb-dos-gocce{display:flex;gap:2px;height:14px}
.kb-dos-gocce i{width:9px;height:12px;background:currentColor;border-radius:50%/60% 60% 40% 40%;clip-path:polygon(50% 0,100% 55%,100% 100%,0 100%,0 55%)}
.kb-dos-scala li:nth-child(1) .kb-dos-gocce{color:#0F4496}.kb-dos-scala li:nth-child(2) .kb-dos-gocce{color:#7A2287}.kb-dos-scala li:nth-child(3) .kb-dos-gocce{color:#E50072}
.kb-dos-txt{margin:0;font-size:13px;line-height:1.36;color:#3A3D5C}
.kb-dos-txt strong{color:#14163A;text-decoration:none}
.kb-dos-txt b{color:#E50072;font-weight:700}
/* KB-M23 fine */

/* KB-M24 inizio · Sezione "Il problema" (dopo "Come funziona"): blu notte, tutto a sinistra, titolo gigante, frase con metà/5,4 minuti in rosa, orologio con bagliore, fonte, scena e ponte */
.kb-problema{background:#0B0E26;padding:52px 24px 48px;text-align:left}
.kb-problema-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:min(46px,11.6vw);line-height:1;letter-spacing:-.02em;color:#fff;text-transform:uppercase;white-space:nowrap;margin:0 0 22px}
.kb-problema-riga{display:grid;grid-template-columns:1fr 96px;gap:12px;align-items:center}
.kb-problema-testo{font-family:var(--font-serif),sans-serif;font-weight:700;font-size:26px;line-height:1.2;color:#fff;margin:0;min-width:0}
.kb-problema-testo span{color:#FF5FA8}
.kb-problema-orologio{width:96px;height:96px;display:block}
.kb-problema-orologio img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 28px rgba(229,0,114,.35)) drop-shadow(0 12px 20px rgba(0,0,0,.5));transform:rotate(-8deg)}
.kb-problema-fonte{font-family:Inter,sans-serif;font-size:12px;line-height:1.4;color:#8C91B5;margin:10px 0 0}
.kb-problema-scena,.kb-problema-ponte{font-family:Inter,sans-serif;font-size:17px;line-height:1.6;color:#C9CDE3;margin:20px 0 0;max-width:34ch;text-wrap:pretty}
.kb-problema-ponte{margin-top:14px}
.kb-problema-ponte strong{color:#fff;font-weight:600}
.kb-problema-chiusa{display:block;text-align:center;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;margin:26px 0 0;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:19px;line-height:1.2;color:#FF5FA8}
.kb-problema-freccia{flex:none}
/* KB-M24 fine */


/* KB-M25 inizio · Sezione "Leggi piano" (scena, da "Read this slowly" di UltimaPeak): continua il blu notte de "Il problema" e scende verso un nero-viola, alone fucsia dietro il titolo, testo bianco, bottone del sito */
.kb-scena{position:relative;overflow:hidden;background:linear-gradient(180deg,#0B0E26 0%,#130A26 100%);padding:8px 24px 48px;text-align:left;color:rgba(255,255,255,.9)}
.kb-scena::before{content:"";position:absolute;left:50%;top:10px;width:360px;height:220px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(229,0,114,.28),transparent);pointer-events:none}
.kb-scena > *{position:relative}
.kb-scena-ponte{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:#FF5FA8;margin:0 0 10px;padding-top:14px;text-align:center}
.kb-scena-freccia{display:flex;justify-content:center;margin:0 0 14px;height:44px;align-items:center}
.kb-scena-freccia svg{transform:rotate(90deg);animation:kb-sf-su-giu 1.6s ease-in-out infinite}
@keyframes kb-sf-su-giu{0%,100%{translate:0 -3px}50%{translate:0 3px}}
@media (prefers-reduced-motion:reduce){.kb-scena-freccia svg{animation:none}}
.kb-scena-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:800;font-size:26px;line-height:1.2;color:#fff;margin:0 0 18px;text-wrap:balance}
.kb-scena-titolo span{color:#FF5FA8}
.kb-scena p{font-family:Inter,sans-serif;font-size:17px;line-height:1.6;margin:0 0 16px}
.kb-scena strong,.kb-scena .kb-scena-primo{color:#fff;font-weight:700}
.kb-scena-bottone{display:block;margin:26px 0 0;padding:18px 10px;border-radius:50px;background:linear-gradient(135deg,#0F4496,#E50072);color:#fff;text-align:center;font-family:var(--font-serif),sans-serif;font-weight:700;font-size:17px;letter-spacing:.02em;text-decoration:none;box-shadow:0 12px 26px rgba(229,0,114,.35)}
.kb-scena p.kb-scena-nota{font-size:12.5px;line-height:1.4;color:#A9AECB;text-align:center;margin:12px 0 0}
/* KB-M25 fine */

/* KB-M26 inizio · Telefono: titolo dentro la prima foto + galleria 4:5 (sul computer resta tutto com'era) */
@media (max-width:1023px){
section:has(> .kb-galleria){position:relative;padding-top:27px!important}
section:has(> .kb-galleria) > h1{position:absolute!important;top:0;left:0;right:0;z-index:3;margin:0!important;padding:10px 20px 64px;background:linear-gradient(180deg,rgba(8,9,24,.92) 0%,rgba(8,9,24,.78) 60%,rgba(8,9,24,0) 100%);color:#fff!important;pointer-events:none;transition:opacity .25s}
section:has(> .kb-galleria) > h1 .kb-h1-riga1{color:#fff;text-shadow:0 2px 3px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.7)}
/* stessi colori della landing A (blu → fucsia) su una fascia bianca: risalta sopra la foto scura */
section:has(> .kb-galleria) > h1 .kb-grad-text{background:linear-gradient(120deg,#0f4496,#e50072),#fff;-webkit-background-clip:text,padding-box;background-clip:text,padding-box;-webkit-text-fill-color:transparent;padding:1px 10px 3px 6px;border-radius:10px;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 4px 14px rgba(0,0,0,.35);line-height:1.5}
section:has(> .kb-galleria) > .kb-galleria{margin-top:0!important}
/* solo la prima foto è 4:5 (ci sta il titolo); le altre restano quadrate: l'altezza la segue kb-galleria.js mentre si scorre */
.kb-gal-track{align-items:flex-start;overflow-y:hidden}
.kb-gal-slide:first-child{aspect-ratio:4/5}
/* il titolo appartiene alla prima foto: quando si scorre alle altre foto sparisce */
section:has(> .kb-galleria):has(.kb-gal-thumb:not(:first-child)[aria-current="true"]) > h1{opacity:0}
}
/* KB-M26 fine */

/* KB-M27 inizio · Barra fissa in basso: nome corto e prezzo pieno barrato */
.kb-fissa-info{flex:1;min-width:0}
.kb-fissa-nome{font-size:13.5px;font-weight:700;color:#14163A;white-space:nowrap}
.kb-fissa-prezzo{font-family:var(--font-serif),sans-serif;font-size:18px;font-weight:600;color:#E50072;line-height:1.1;white-space:nowrap}
.kb-fissa-prezzo s{font-size:13px;font-weight:500;color:#8A8EA8;margin-left:4px}
/* KB-M27 fine */

/* KB-M28 inizio · Blocco prova sociale come UltimaPeak, subito dopo "Leggi con calma" */
.kb-prova{background:#fff;padding:40px 0 34px;text-align:center}
.kb-prova-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:25px;line-height:1.22;text-transform:uppercase;letter-spacing:.02em;color:#14163A;margin:0 20px;text-wrap:balance}
.kb-prova-voto{font-size:14px;color:#3A3E58;margin:12px 20px 0}
.kb-prova-voto strong{color:#14163A}
.kb-prova-fotos{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 20px 4px;scroll-padding:0 20px;scrollbar-width:none}
.kb-prova-fotos::-webkit-scrollbar{display:none}
.kb-prova-foto{flex:0 0 78%;scroll-snap-align:start;margin:0;background:#fff;border:1px solid #E2E3EA;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(20,22,58,.08)}
.kb-prova-foto img{display:block;width:100%;height:260px;object-fit:cover;object-position:top left}
.kb-prova-foto figcaption{font-size:12px;color:#5B5F7A;padding:8px 12px;border-top:1px solid #EEE;text-align:left}
.kb-prova .kb-rec{margin-top:18px}
.kb-prova-forum-testa{margin:44px 20px 0;text-align:center}
.kb-prova-forum-etichetta{display:inline-flex;align-items:center;gap:6px;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#E50072}
.kb-prova-forum{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:24px;line-height:1.15;letter-spacing:.5px;text-transform:uppercase;color:#14163A;margin:8px 0 0;text-align:center;text-wrap:balance}
.kb-prova-forum-sotto{font-size:15px;line-height:1.45;color:#5B5F7A;margin:10px auto 0;max-width:340px}
.kb-prova-forum-testa + .kb-prova-fotos{padding-top:20px}
.kb-prova-pallini{display:flex;justify-content:center;gap:6px;margin:14px 0 0}
.kb-prova-pallini i{width:6px;height:6px;border-radius:6px;background:#D5D7E3;transition:width .25s ease,background .25s ease}
.kb-prova-pallini i.kb-on{width:18px;background:#E50072}
.kb-prova-scorri{text-align:center;font-size:13px;color:#5B5F7A;margin:10px 0 0}
@keyframes kb-prova-spinta{0%,100%{transform:translateX(0)}45%{transform:translateX(-28px)}}
.kb-prova-fotos.kb-spinta{animation:kb-prova-spinta .9s ease-in-out 1}
/* la vecchia sezione "Le parole di chi lo usa" (stesse recensioni, più in basso) non si mostra più */
section:has(.kb-rec):not(.kb-prova){display:none}
.kb-rec-chi{flex-wrap:nowrap;gap:10px}
.kb-rec-iniziali{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0F4496,#E50072);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.03em}
.kb-rec-chi-testo{display:flex;flex-direction:column;gap:3px;min-width:0}
.kb-rec-chi-riga{display:block}
.kb-rec-chi-riga .kb-rec-check{margin-left:6px}
.kb-rec-chi-riga .kb-rec-verificato{display:table;margin-top:4px}
.kb-rec-chi .kb-rec-dove{margin-top:0;font-size:13px;color:#6B6E8A}
.kb-rec-stella-vuota{color:#D3D5E0;font-size:21px;line-height:1;vertical-align:top;margin-left:1px}
/* KB-M28 fine */

/* KB-M29 inizio · Barra in cima: pillola fucsia piena, tutto stessa grandezza e peso, barra 42px con riga sottile sotto */
.kb-barra{background:#0B0E26!important}
.kb-barra::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.14)}
.kb-barra .kb-barra-fissa{min-height:42px;gap:0 10px}
.kb-barra .kb-barra-fissa span{font-size:min(12.5px,3.4vw)!important;font-weight:800!important;letter-spacing:.03em!important;line-height:1!important}
.kb-barra .kb-barra-fissa .kb-barra-etichetta{background:#E50072;color:#fff;border-radius:4px;box-shadow:none;padding:6px 10px!important}
/* KB-M29 fine */

/* KB-M30 inizio · Nome prodotto più grande ma sempre su una riga (testo largo circa 12,75 volte la grandezza del carattere) */
@media (max-width:1023px){.kb-acq-nome{font-size:min(30px,calc((100vw - 40px) / 12.9))}}
/* KB-M30 fine */

/* KB-M31 inizio · Quattro ingredienti in fila, stile UltimaPeak, sul blu notte di "Il problema" */
.kb-quattro{background:#0B0E26;padding:36px 14px 34px;text-align:center;color:#fff}
.kb-quattro-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:min(24px,6.2vw);line-height:1.15;text-transform:uppercase;margin:0 6px;text-wrap:balance;color:#fff}
.kb-quattro-sotto{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#C9CCE4;margin:10px 0 0}
/* una sola fila che scorre col dito (poco spazio in altezza); ogni riquadro come UltimaPeak: foto dell'ingrediente, velo scuro, nome e breve descrizione */
.kb-quattro-fila{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:18px -14px 0;padding:0 20px 4px;scroll-padding:0 20px;scrollbar-width:none}
.kb-quattro-fila::-webkit-scrollbar{display:none}
.kb-quattro-card{position:relative;flex:0 0 46%;scroll-snap-align:start;aspect-ratio:1/1.08;border-radius:16px;overflow:hidden;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px 10px;text-align:center}
.kb-quattro-card::before{content:"";position:absolute;inset:0;background:rgba(8,9,24,.58)}
.kb-quattro-card>*{position:relative}
.kb-quattro-top{border:2px solid #E50072}
.kb-quattro-perc{position:absolute;top:9px;right:9px;font-size:11px;font-weight:700;color:#fff;background:#E50072;border-radius:20px;padding:2px 8px}
.kb-quattro-nome{font-family:"KB Figtree",sans-serif;font-weight:700;font-size:17px;line-height:1.12;color:#fff;hyphens:none;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.kb-quattro-nome sup{font-size:.6em}
.kb-quattro-desc{font-size:12.5px;line-height:1.35;color:#fff;margin-top:6px;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.kb-quattro-cena{margin:22px 16px 0;text-align:center;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:18.7px;line-height:1.3;color:#fff}
.kb-quattro-cena strong{color:#FF5FA8;font-weight:700}
/* 09/11 · griglia senza scorrere: estratti botanici grandi a tutta larghezza, sotto gli altri 3 piccoli; percentuali grandi che contano (assets/js/kb-quattro.js); riga "Cosa NON c'è dentro" */
.kb-quattro .kb-quattro-fila{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;overflow:visible;margin:18px 0 0;padding:0}
.kb-quattro .kb-quattro-card{flex:none;aspect-ratio:auto;min-height:150px;padding:10px 4px;justify-content:flex-end}
.kb-quattro .kb-quattro-top{grid-column:1/-1;min-height:210px;padding:16px 14px}
.kb-quattro .kb-quattro-perc{position:relative;z-index:2;top:auto;right:auto;order:-1;background:none;padding:0;border-radius:0;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:min(24px,5.6vw);line-height:1;color:#FF5FA8;text-shadow:0 2px 12px rgba(0,0,0,.8);margin-bottom:6px;font-variant-numeric:tabular-nums;white-space:nowrap}
.kb-quattro .kb-quattro-top .kb-quattro-perc{font-size:52px;margin-bottom:8px}
.kb-quattro .kb-quattro-card:not(.kb-quattro-top) .kb-quattro-nome{font-size:13.5px}
.kb-quattro .kb-quattro-card:not(.kb-quattro-top) .kb-quattro-desc{font-size:11px;line-height:1.3}
.kb-quattro .kb-quattro-top .kb-quattro-nome{font-size:22px}
.kb-quattro .kb-quattro-top .kb-quattro-desc{font-size:14px}
.kb-quattro-senza{margin:20px 0 0}
.kb-quattro-senza-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.kb-quattro-senza-fila{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.kb-quattro-senza-fila span{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,95,168,.5);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:#fff;text-decoration:line-through;text-decoration-color:rgba(255,95,168,.8)}
/* KB-M31 fine */

/* KB-M32 inizio · Prima schermata più compatta (solo telefono) + barra fissa che compare dopo il bottone */
@media (max-width:1023px){
.kb-gal-thumbs{margin-top:8px;padding-top:2px;padding-bottom:2px}
.kb-gal-thumb{flex-basis:86px;width:86px;height:86px}
.kb-stelle-foto{margin-top:10px}
}
.kb-fissa-nascosta{transform:translate(-50%,110%)!important;opacity:0;pointer-events:none}
div:has(> .kb-fissa-info){transition:transform .3s ease,opacity .3s ease}
/* KB-M32 fine */

/* KB-M33 inizio · Vecchia sezione forum in fondo nascosta (doppione del blocco M28) */
#recensioni{display:none}
/* KB-M33 fine */


/* KB-M36 inizio · Timeline "Cosa aspettarti" stile UltimaPeak (misure della loro vista telefono), colori Keepbull */
.kb-tl{background:#fff;padding:36px 16px 40px;overflow:hidden}
.kb-tl-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:24px;line-height:1.2;letter-spacing:.8px;text-transform:uppercase;color:#14163A;text-align:center;margin:0 0 30px;text-wrap:balance}
.kb-tl-linea-box{position:relative}
.kb-tl-linea{position:absolute;top:0;bottom:0;left:16px;width:2px;background:rgba(229,0,114,.22);overflow:hidden}
.kb-tl-linea span{display:block;width:100%;height:100%;background:linear-gradient(180deg,#0F4496,#E50072);transform:scaleY(1);transform-origin:top center;transition:transform .08s linear}
.kb-tl-tappa{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;margin:0 0 20px;padding:0 0 20px}
.kb-tl-tappa:last-child{margin-bottom:0;padding-bottom:0}
.kb-tl-quando{grid-column:2;grid-row:1;display:flex;align-items:center;gap:7px;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:21px;line-height:1;color:#14163A;margin-bottom:10px}
.kb-tl-pallino{grid-column:1;grid-row:1/span 2;align-self:start;margin-top:-6px;position:relative;z-index:2;display:flex;justify-content:center}
.kb-tl-pallino span{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#0F4496,#E50072);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900}
.kb-tl-scheda{grid-column:2;grid-row:2;padding:13px 14px;border:2px solid #14163A;border-radius:10px;background:#FFF0F7;color:#14163A;box-shadow:0 10px 18px rgba(20,22,58,.08)}
.kb-tl-icona{display:inline-block;margin-bottom:8px;font-size:22px;line-height:1;transform-origin:center}
.kb-tl-scheda p{margin:0;font-size:17px;line-height:1.26;font-weight:500}
.kb-tl-scheda strong{font-weight:800}
.kb-tl-bottone{display:block;margin:40px 0 0;padding:18px 10px;border-radius:50px;background:linear-gradient(135deg,#0F4496,#E50072);color:#fff;text-align:center;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:18px;letter-spacing:.4px;text-transform:uppercase;text-decoration:none;box-shadow:0 12px 26px rgba(229,0,114,.35)}
/* animazioni (solo se c'è il JavaScript) */
.kb-tl-js .kb-tl-linea span{transform:scaleY(0)}
.kb-tl-js .kb-tl-quando,.kb-tl-js .kb-tl-scheda{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}
.kb-tl-js .kb-tl-scheda{transform:translateY(26px);transition-duration:.6s}
.kb-tl-js .kb-tl-pallino span{opacity:.65;transform:scale(.82);transition:transform .45s ease,opacity .45s ease}
.kb-tl-js .kb-attiva .kb-tl-quando,.kb-tl-js .kb-attiva .kb-tl-scheda{opacity:1;transform:translateY(0)}
.kb-tl-js .kb-attiva .kb-tl-pallino span{opacity:1;transform:scale(1)}
.kb-tl-js .kb-girata .kb-tl-icona{animation:kb-tl-gira .7s ease-in-out 1}
@keyframes kb-tl-gira{0%{transform:rotate(0) scale(.8)}60%{transform:rotate(360deg) scale(1.15)}100%{transform:rotate(360deg) scale(1)}}
/* KB-M36 fine */

/* KB-M37 inizio · solo testo (Cos’è KEEPBULL™), nessuno stile nuovo */
/* KB-M37 fine */

/* KB-M35 inizio · Immagine ponte (clessidra) con la frase dentro, tra "Il problema" e "Leggi con calma" */
.kb-ponte{background:#0B0E26;padding:0;margin-top:-30px}
.kb-ponte-foto{position:relative;max-width:520px;margin:0 auto}
.kb-ponte-foto img{display:block;width:100%;height:auto;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 92%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 92%,transparent 100%)}
.kb-ponte-frase{position:absolute;left:0;right:0;top:7%;margin:0;padding:0 22px;text-align:center;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:min(34px,8.6vw);line-height:1.12;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.6);text-wrap:balance}
.kb-ponte-frase span{display:block;background:linear-gradient(110deg,#FF5FA8,#FF9BC8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 8px rgba(0,0,0,.55))}
/* KB-M35 fine */

/* KB-M38 inizio · solo testo (Made in Italy ovunque), nessuno stile nuovo */
/* KB-M38 fine */

/* KB-M39 inizio · sezione tolta, nessuno stile nuovo */
/* KB-M39 fine */

/* KB-M40 inizio · Garanzia stile UltimaPeak (loro misure da telefono), colori Keepbull */
.kb-rimborso{background:#0B0E26;padding:42px 18px;text-align:center;color:#fff}
.kb-rimborso-badge{display:block;width:140px;height:auto;margin:0 auto 22px}
.kb-rimborso-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:31px;line-height:1.04;letter-spacing:.5px;text-transform:uppercase;color:#fff;margin:0 0 14px;text-wrap:balance}
.kb-rimborso-titolo span{color:#FF5FA8}
.kb-rimborso-testo{font-size:16px;font-weight:500;line-height:1.28;color:#fff;margin:0 0 20px}
.kb-rimborso-bottone{display:flex;align-items:center;justify-content:center;gap:14px;min-height:50px;border-radius:8px;background:linear-gradient(135deg,#0F4496,#E50072);color:#fff;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:18px;letter-spacing:.4px;text-transform:uppercase;text-decoration:none}
.kb-rimborso-bottone span{font-size:26px;line-height:1;margin-top:-2px}
/* KB-M40 fine */

/* KB-M41 inizio · sezione tolta, nessuno stile nuovo */
/* KB-M41 fine */


/* KB-M43 inizio · solo testo, nessuno stile nuovo */
/* KB-M43 fine */

/* KB-M44 inizio · Confronto stile UltimaPeak (loro misure da telefono), colori Keepbull */
.kb-vs{background:#fff;padding:40px 0;color:#14163A}
.kb-vs-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:28px;line-height:1.14;text-transform:uppercase;text-align:center;margin:0 0 12px;padding:0 14px;text-wrap:balance}
.kb-vs-sotto{font-size:17px;font-weight:500;line-height:1.3;text-transform:uppercase;text-align:center;margin:0 0 26px;padding:0 14px;color:#14163A;text-wrap:balance}
.kb-vs-tabella{display:grid;grid-template-columns:29% 1fr 1fr 1fr}
.kb-vs-voce,.kb-vs-cella{padding:8px;min-height:56px;display:flex;align-items:center;border-bottom:1px solid rgba(20,22,58,.1)}
.kb-vs-voce{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:12px;line-height:1.2;text-transform:uppercase;padding-left:8px}
.kb-vs-cella{justify-content:center;text-align:center;font-size:12px;font-weight:700;line-height:1.25}
.kb-vs-cella:nth-child(4n){border-left:1px solid rgba(20,22,58,.1)}
.kb-vs-noi{background:rgba(229,0,114,.10);color:#14163A}
.kb-vs-testa{flex-direction:column;justify-content:flex-end;gap:6px;min-height:123px;border-bottom:1px solid rgba(20,22,58,.1)}
.kb-vs-testa img{width:58px;height:58px;object-fit:contain}
.kb-vs-testa span{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:12px;line-height:1.15;text-transform:uppercase}
.kb-vs-primo{border-radius:10px 10px 0 0}
.kb-vs-tabella>.kb-vs-noi:nth-last-child(3){border-radius:0 0 10px 10px}
.kb-vs-si,.kb-vs-no{font-size:15px}
/* KB-M44 fine */

/* KB-M45 inizio · solo testo, nessuno stile nuovo */
/* KB-M45 fine */

/* KB-M46 inizio · "La nostra storia" (stile diario di viaggio, fondo sabbia) + formula naturale */
section:has(img[src="assets/img/doctor.png"]){display:none}
.kb-storia{background:#F7F1E8;padding:44px 20px 40px;color:#14163A}
.kb-storia-etichetta{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#E50072;text-align:center}
.kb-storia-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:28px;line-height:1.12;text-transform:uppercase;text-align:center;margin:8px 0 14px;text-wrap:balance}
.kb-storia-titolo span{color:#E50072}
.kb-storia-mappa{display:block;width:100%;max-width:360px;height:auto;margin:0 auto 18px}
.kb-storia-mappa text{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;fill:#14163A}
.kb-storia-pin circle+circle{transform-box:fill-box;transform-origin:center;animation:kb-storia-pulsa 2s ease-out infinite}
.kb-storia-pin2 circle+circle{animation-delay:1s}
@keyframes kb-storia-pulsa{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.5);opacity:0}}
.kb-storia-js .kb-storia-rotta{stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.8s ease}
.kb-storia-js.kb-vista .kb-storia-rotta{stroke-dashoffset:0}
.kb-storia-tappe{list-style:none;margin:0;padding:0;position:relative}
.kb-storia-tappe::before{content:"";position:absolute;left:17px;top:8px;bottom:60px;border-left:2px dashed rgba(229,0,114,.35)}
.kb-storia-tappa{position:relative;display:flex;gap:14px;align-items:flex-start;margin:0 0 18px}
.kb-storia-tappa:last-child{margin:0}
.kb-storia-num{flex:none;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#0F4496,#E50072);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:16px;position:relative;z-index:1}
.kb-storia-tappa h3{margin:4px 0 4px;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.4px}
.kb-storia-tappa p{margin:0;font-size:15px;line-height:1.5;color:#3A3E58}
.kb-storia-tappa strong{color:#14163A}
.kb-storia-natura{margin:26px 0 0;background:#fff;border:2px solid #14163A;border-radius:14px;padding:18px 18px 16px}
.kb-storia-natura-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:18px;text-transform:uppercase;text-align:center;margin:0 0 12px}
.kb-storia-natura ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.kb-storia-natura li{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:600}
.kb-storia-natura li svg{flex:none}
.kb-storia-cit{margin:12px 0 0;padding:2px 0 2px 14px;border-left:3px solid #E50072;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:18px;line-height:1.4;color:#14163A}
.kb-storia-firma{display:block;margin-top:6px;font-family:"KB Figtree",var(--font-serif),sans-serif;font-style:normal;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#E50072}
.kb-storia-cit-fine{margin:26px 4px 0;padding:0;border:0;text-align:center;font-size:20px;text-wrap:balance}
.kb-storia-cit-fine::before{content:"";display:block;width:40px;height:3px;background:#E50072;margin:0 auto 12px;border-radius:2px}
.kb-storia-hero{position:relative;margin:4px -4px 18px;border-radius:18px;overflow:hidden;box-shadow:0 14px 34px rgba(20,22,58,.22)}
.kb-storia-hero img{display:block;width:100%;height:auto}
.kb-storia-hero figcaption{position:absolute;left:0;right:0;bottom:0;padding:70px 18px 16px;background:linear-gradient(rgba(11,14,38,0),rgba(11,14,38,.88));color:#fff}
.kb-storia-hero blockquote{margin:0;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:19px;line-height:1.35;text-wrap:balance}
.kb-storia-hero figcaption span{display:block;margin-top:8px;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#FF5FA8}
.kb-storia-tappe::before{display:none}
.kb-storia-tappa{margin:0}
.kb-storia-corpo{flex:1;min-width:0}
.kb-storia-foto{margin:8px 0 10px;border-radius:14px;overflow:hidden;position:relative;box-shadow:0 8px 22px rgba(20,22,58,.16)}
.kb-storia-foto img{display:block;width:100%;height:auto}
.kb-storia-foto figcaption{position:absolute;left:10px;bottom:10px;background:rgba(11,14,38,.72);color:#fff;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:6px}
.kb-storia-freccia{display:flex;justify-content:center;margin:10px 0 10px 0;padding-left:0}
.kb-storia-freccia svg{animation:kb-storia-giu 1.6s ease-in-out infinite}
@keyframes kb-storia-giu{0%,100%{transform:translateY(-3px);opacity:.55}50%{transform:translateY(4px);opacity:1}}
.kb-storia-medico{display:flex;align-items:center;gap:12px;margin:8px 0 10px;background:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 6px 18px rgba(20,22,58,.08)}
.kb-storia-medico img{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.12)}
.kb-storia-medico strong{display:block;font-size:15px;color:#14163A}
.kb-storia-medico span{display:block;font-size:12.5px;color:#6B6E8A}
.kb-storia-pill{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.kb-storia-pill li{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #E6E3EE;border-radius:999px;padding:5px 10px;font-size:12.5px;font-weight:600;color:#14163A}
.kb-storia-js [data-kb-tappa]{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.kb-storia-js [data-kb-tappa].kb-in{opacity:1;transform:none}
.kb-esperto-storia{display:block;margin:12px 0 0;font-size:13px;line-height:1.4;color:#3A3E58;text-decoration:none}
.kb-esperto-storia span{color:#E50072;font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* KB-M46 fine */

/* KB-M49 inizio | Sezione «Va bene così, amore…» (etichetta "LEI TI DICE", foto timelove.jpg) nascosta per ora (titolare 10/11: "togli questa sezione per ora"); il codice resta nell'HTML, per riaccenderla basta togliere questo blocco */
section:has(> div > img[src$="timelove.jpg"]){display:none!important}
/* KB-M49 fine */

/* KB-M50 inizio | Storia corta da confrontare con la lunga (titolare 10/11) · sfondo panna #F7F1E8 come la storia lunga (titolare 10/11) */
.kb-storia2{background:#F7F1E8;padding:36px 20px 34px;color:#14163A}
.kb-storia2-etichetta{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#E50072;font-weight:700;text-align:center}
.kb-storia2-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:800;font-size:23px;line-height:1.18;text-align:center;margin:8px 0 16px;text-wrap:balance}
.kb-storia2-titolo span{display:block;color:#E50072;font-size:19px;margin-top:6px}
.kb-storia2-foto{position:relative;margin:0;border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(20,22,58,.16)}
.kb-storia2-foto img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.kb-storia2-foto figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 14px;background:linear-gradient(180deg,rgba(11,14,38,0),rgba(11,14,38,.88) 45%);color:#fff;font-family:Georgia,serif;font-style:italic;font-size:15.5px;line-height:1.38}
.kb-storia2-foto figcaption span{display:block;font-family:inherit;font-style:normal;font-family:"KB Figtree",sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#FF5FA8;margin-top:6px}
.kb-storia2-passi{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.kb-storia2-passi li{display:flex;gap:12px;align-items:flex-start}
.kb-storia2-passi b{flex:none;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#0F4496,#E50072);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.kb-storia2-passi p{margin:0;font-size:15px;line-height:1.5;color:#3A3D5C}
.kb-storia2-passi strong{color:#14163A}
.kb-storia2-medico{display:flex;gap:10px;align-items:flex-start}
.kb-storia2-medico img{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px rgba(20,22,58,.18)}
.kb-dacompletare{display:inline-block;background:#FFF3B0;color:#7A5A00;border:1px dashed #E0B400;font-size:11px;font-weight:700;padding:1px 6px;border-radius:5px;line-height:1.4}
.kb-storia2-prova{margin:20px 0 0;padding:14px 16px;background:#FFF1F6;border-left:4px solid #E50072;border-radius:10px;font-family:Georgia,serif;font-style:italic;font-size:16px;line-height:1.4;color:#14163A}
.kb-storia2-prova span{display:block;font-family:"KB Figtree",sans-serif;font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#B0245C;margin-top:6px}
.kb-storia2-cta{display:block;margin:18px 0 0;background:#E50072;color:#fff;text-align:center;font-weight:800;font-size:16px;padding:15px;border-radius:50px;text-decoration:none;box-shadow:0 8px 20px rgba(229,0,114,.3)}
.kb-storia2-garanzia{margin:8px 0 0;text-align:center;font-size:13px;font-weight:600;color:#1E8E3E}
/* KB-M50 fine */

/* KB-M56 inizio | Nasconde la sezione rimasta vuota dopo "Quattro ingredienti" (tolti Cos'è KEEPBULL, Privacy garantita e Assistenza H24, 10/11): era uno spazio bianco di 88 px */
section:not(:has(> :not(template))){display:none!important}
/* KB-M56 fine */

/* KB-M57 inizio | Vantaggi sotto il nome: tutto lo stesso peso, grassetto 700 come UltimaPeak (titolare 10/11: grassetto parziale "fa un po' di confusione"; revisori: nessun concorrente usa il grassetto a metà riga, UltimaPeak mette tutto in grassetto Figtree 700) · 10/11 titolare "aggiorna font": carattere Figtree 700 e colore #1A1A1A come UltimaPeak, grandezza 15px invariata · 10/11 titolare: colore uguale alla frase sotto il nome (#14163A) e peso più leggero (Figtree 600, poi 500 su richiesta del titolare, file kb-figtree-500/600.woff2 aggiunti) · 10/11: spazio 18px provato e tolto, titolare "riporta come prima la spaziatura tra le righe" */
@font-face{font-family:"KB Figtree";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/kb-figtree-500.woff2) format("woff2")}
@font-face{font-family:"KB Figtree";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/kb-figtree-600.woff2) format("woff2")}
.kb-acq-vantaggi li span,.kb-acq-vantaggi strong{font-family:"KB Figtree",Figtree,sans-serif;font-weight:500!important;color:#14163A}
/* KB-M57 fine */

/* KB-M58 inizio | Riga "Spedito oggi" sotto il bottone in cima: puntino verde che pulsa, testo scuro, niente riquadro (variante B dei revisori, come UltimaPeak; titolare 10/11 "si prova la b") */
.kb-spedito-live{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px auto 0;color:#1F2430;font-size:13px;font-weight:500;line-height:1.3}
.kb-spedito-live strong{font-variant-numeric:tabular-nums;font-weight:700;color:#1F2430}
.kb-live-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#16A34A;animation:kbPulse 1.8s ease-out infinite}
@keyframes kbPulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.55)}70%{box-shadow:0 0 0 7px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
@media (prefers-reduced-motion:reduce){.kb-live-dot{animation:none}}
/* KB-M58 fine */

/* KB-M59 inizio | Storia lunga (versione 1, #storia, KB-M46) nascosta SOLO nella pagina italiana: resta nel codice, per riattivarla basta togliere questo blocco. Nella pagina inglese restano tutte e due (titolare 10/11) */
html[lang="it"] #storia{display:none!important}
/* KB-M59 fine */
/* KB-M62 inizio · SOLO pagina inglese (html[lang=en]), telefono, titolo dentro la foto 1. 10/11 titolare: "The control you've been looking for" non ci stava; provata una riga (21px), poi scelta sua: "preferisco decisamente l'opzione con l'headline su due righe" → due righe bilanciate, grandezza come prima (29px su iPhone 402). "Zero numbing." (titolare: "diminuisci un pochino la grandezza [...] adatta il riquadro bianco [...] è troppo largo"): 25px su 402 (era 29), riquadro bianco largo quanto la scritta, centrato; così non tocca più i riquadri a destra della foto. Pagina italiana invariata. */
@media (max-width:1023px){html[lang="en"] .kb-h1-riga1{white-space:normal;text-wrap:balance}
html[lang="en"] section:has(> .kb-galleria) > h1 .kb-h1-riga1 ~ .kb-grad-text:not(.kb-titolo-b){font-size:min(26px,6.3vw);width:fit-content;margin-left:auto;margin-right:auto;padding:2px 18px 4px 14px}}
/* KB-M62 fine */

/* KB-M63 inizio · "Scegli il formato" (offerta in fondo): prezzo barrato sotto il prezzo, al posto di "€xx/conf" (titolare 11/11). */
.kb-formato-barrato{font-size:11.5px;color:#9A9DB5;font-weight:500;line-height:1.2}
.kb-formato-barrato s{text-decoration-thickness:1px}
/* KB-M63 fine */

/* KB-M68 inizio · Stelle uguali ovunque (titolare 11/11: "ok procedi"): stessa stella arancione #FF4C01 della riga "Votato 4,8/5" in cima,
   anche nelle recensioni (prima emoji gialla), nella riga voto del blocco recensioni, nell'offerta in fondo e nelle mini-recensioni. */
.kb-stella{width:18px;height:17px;fill:#FF4C01;display:inline-block;vertical-align:-2px;margin-right:2px}
.kb-stella.kb-stella-vuota{fill:#D3D5E0}
.kb-prova-voto .kb-stella{width:15px;height:14px}
span[style*="color:#E8A33D"],svg[style*="color:#E8A33D"],span[style*="color:#F5A623"]{color:#FF4C01!important}
/* KB-M68 fine */

/* KB-M72 inizio · Tolta la riga "★★★★★ 4,8/5 · oltre 2.400 clienti serviti" sotto il titolo del blocco recensioni (titolare 11/11: "togli questa scritta con badge [...] sotto la scritta Scopri come oltre 2.400 uomini…"). L'HTML resta nel codice: per rimetterla si toglie questo blocco. */
.kb-prova-voto{display:none!important}
/* KB-M72 fine */

/* KB-M73 inizio · Titoli "KEEPBULL contro le solite soluzioni" e "Cosa aspettarti…" più pesanti (titolare 11/11: "aumenta il peso di questo font un po"): Figtree 700 → 800 (file nuovo assets/fonts/kb-figtree-800.woff2, licenza libera OFL). */
@font-face{font-family:"KB Figtree";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/kb-figtree-800.woff2) format("woff2")}
.kb-vs-titolo{font-weight:800}
/* titolo "Cosa aspettarti: i tuoi risultati, sera dopo sera" (titolare 11/11: "idem qua"): 700 → 800 */
.kb-tl-titolo{font-weight:800}
/* titoletti delle tappe "PRIMA SERA", "DOPO 1 SETTIMANA"… (titolare 11/11: "dobbiamo diminuire un pelo il peso del font"): 700 → 600 */
.kb-tl-quando{font-weight:600}
/* KB-M73 fine */

/* KB-M74 inizio · Recensioni scritte meno "finte" (revisore Fable 11/11, titolare: "Queste modifiche le puoi applicare subito"):
   1) ogni scheda alta quanto il suo testo (prima tutte alte come la più lunga: 40% di bianco sotto);
   2) stelle con un po' di rilievo: sfumatura arancio chiaro → arancio scuro (#kb-stella-rilievo, definita accanto al simbolo #kb-stella-piena in M28) e ombra leggera. */
.kb-rec-track{align-items:flex-start}
.kb-rec-stelle .kb-stella:not(.kb-stella-vuota){fill:url(#kb-stella-rilievo);filter:drop-shadow(0 1px .6px rgba(150,40,0,.35))}
/* KB-M74 fine */

/* KB-M75 inizio · Cerchio con le iniziali delle recensioni: grigio neutro come nei widget veri (Judge.me, Trustpilot), non più sfumatura blu→fucsia del brand (revisore Fable 11/11: attuale 5/10, grigio 8/10, senza cerchio 7,5/10; titolare: "Decidi tu"). */
.kb-rec-iniziali{background:#ECEDF2;color:#4A4D63}
/* KB-M75 fine */

/* KB-M76 inizio · Sezione numeri "a bomba": fondo sfumato del brand, numeri giganti, barre che si riempiono (assets/js/kb-numeri.js) */
.kb-num{padding:52px 22px 46px;background:linear-gradient(155deg,#0F4496 0%,#4A1F8C 48%,#E50072 115%);text-align:center;color:#fff}
.kb-num-etichetta{display:inline-block;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 14px}
.kb-num-titolo{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:800;font-size:30px;line-height:1.1;text-transform:uppercase;color:#fff;margin:16px 0 30px;text-wrap:balance}
.kb-num-lista{display:flex;flex-direction:column;gap:26px;max-width:420px;margin:0 auto}
.kb-num-riga{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:16px;row-gap:10px;text-align:left}
.kb-num-cifra{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:800;font-size:68px;line-height:.9;letter-spacing:-.02em;color:#fff;text-shadow:0 4px 22px rgba(0,0,0,.25);min-width:132px;font-variant-numeric:tabular-nums}
.kb-num-testo{margin:0;font-size:17px;line-height:1.3;color:rgba(255,255,255,.92)}
.kb-num-testo strong{color:#fff;font-weight:800}
.kb-num-barra{grid-column:1 / -1;height:8px;border-radius:999px;background:rgba(255,255,255,.22);overflow:hidden}
.kb-num-barra span{display:block;height:100%;width:var(--kb-num);border-radius:999px;background:#fff;box-shadow:0 0 14px rgba(255,255,255,.7)}
.kb-num-js .kb-num-barra span{width:0;transition:width 1.1s cubic-bezier(.2,.7,.2,1)}
.kb-num-js .kb-attiva .kb-num-barra span{width:var(--kb-num)}
.kb-num-fonte{font-size:12px;line-height:1.5;color:rgba(255,255,255,.75);margin:28px auto 0;max-width:340px}
/* KB-M76 fine */

/* KB-M78 inizio · "Le statistiche sono chiare." (sezione Il problema): non più sottolineata (sembrava un link). Timbro con etichetta "Dato scientifico pubblicato" (titolare 11/11: "che non sembri un link [...] sono statistiche scientifiche [...] mettici un bello stress") */
.kb-problema-chiusa{text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px;margin:30px auto 0;padding:16px 18px 18px;max-width:330px;border:2px solid #FF5FA8;border-radius:14px;background:rgba(229,0,114,.12);box-shadow:0 0 26px rgba(229,0,114,.28)}
.kb-problema-chiusa-etichetta{display:inline-flex;align-items:center;gap:6px;font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#0B0E26;background:#FF5FA8;border-radius:999px;padding:4px 12px}
.kb-problema-chiusa-etichetta::before{content:"✓";font-weight:800}
.kb-problema-chiusa-frase{font-family:"KB Figtree",var(--font-serif),sans-serif;font-weight:800;font-size:23px;line-height:1.15;text-transform:uppercase;color:#fff;letter-spacing:.01em}
/* KB-M78 fine */

/* KB-M80 | Titolare 11/11: "sistemiamo solo la forma dei bottoni": "Verifica disponibilità" a pillola come tutti gli altri bottoni */
.kb-rimborso-bottone{border-radius:50px}
/* KB-M81 | Titolare 11/11: "Le statistiche sono chiare" occupava troppo spazio: resta solo il piccolo badge rosa "Statistiche scientifiche pubblicate" */
.kb-problema-chiusa{border:0;background:none;box-shadow:none;padding:0;margin:20px auto 0;max-width:none}

/* KB-M82 | Titolare 11/11, SOLO pagina inglese: tolto il blocco delle recensioni del forum; sotto le recensioni normali pallini + "swipe to read more" (li crea kb-recensioni.js) al posto di "MORE REVIEWS" */
html[lang="en"] .kb-prova-forum-testa,html[lang="en"] .kb-prova-fotos,html[lang="en"] .kb-prova-fotos~.kb-prova-pallini,html[lang="en"] .kb-prova-fotos~.kb-prova-scorri{display:none}
html[lang="en"] .kb-rec-pallini{margin-top:18px}
@media (max-width:1023px){html[lang="en"] .kb-rec-nav{display:none}}

/* KB-M83 inizio | Desktop nativo (titolare 11/11/2026: "il sito desktop fa schifo [...] deve essere pensato nativo per desktop [...] Puoi spostare gli elementi").
   TUTTO dentro @media (min-width:1024px): sul telefono non cambia niente.
   Idea di base: ogni sezione è una fascia larga quanto lo schermo (100vw) con il suo sfondo; il contenuto sta in una
   colonna centrale larga al massimo 1200px (variabile --kbd-pad = spazio a sinistra e a destra, minimo 48px).
   Alcuni pezzi vengono spostati da assets/js/kb-desktop.js (solo da 1024px in su): foto della clessidra dentro "Il problema",
   garanzia + medico sotto la galleria, mini-FAQ dentro l'offerta, frecce del forum, riga "Spedito…" nella barra in basso.
   Se quello script non gira, la pagina resta comunque ordinata (le regole con :has() valgono solo a spostamento fatto).
   Le classi che iniziano con "kbd-" sono create da kb-desktop.js. Sostituisce nella resa le regole computer di KB-M22 (che restano sopra). */
@media (min-width:1024px){

  /* ---------- 0 · Base: niente scatola da 1200 con i bordi grigi, niente colonna da 760 ---------- */
  :root{--kbd-pad:max(48px,calc((100vw - 1200px) / 2))}
  div:has(> div > section > .kb-galleria){background:#fff!important}
  div:has(> section > .kb-galleria){max-width:none!important;box-shadow:none!important;overflow:clip!important} /* clip: taglia come hidden ma lascia funzionare gli elementi "sticky" */
  div:has(> section > .kb-galleria) > :not(section:has(> .kb-galleria)):not(.kb-barra):not(header){max-width:none}
  div:has(> section > .kb-galleria) > section,div:has(> section > .kb-galleria) > footer{box-sizing:border-box}

  /* barra in cima: larga quanto lo schermo, scritte un filo più grandi */
  .kb-barra .kb-barra-fissa{min-height:44px;gap:0 14px}
  .kb-barra .kb-barra-fissa span{font-size:13.5px!important}

  /* ---------- 1 · Prima schermata: galleria a sinistra, titolo + acquisto a destra ---------- */
  section:has(> .kb-galleria){grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:40px;padding:28px var(--kbd-pad) 56px!important}
  section:has(> .kb-galleria) > .kb-hero-top{display:none}
  section:has(> .kb-galleria) > h1{grid-column:2!important;grid-row:1!important;text-align:left!important;margin:0 0 12px!important;font-size:30px!important;line-height:1.1!important}
  section:has(> .kb-galleria) > h1 .kb-h1-riga1,section:has(> .kb-galleria) > h1 .kb-grad-text,section:has(> .kb-galleria) > h1 .kb-titolo-b{font-size:inherit!important;white-space:normal;text-wrap:balance}
  section:has(> .kb-galleria) > .kb-galleria{grid-column:1;grid-row:1 / 4!important;margin:0;position:sticky;top:24px;align-self:start}
  section:has(> .kb-galleria) > .kb-stelle-foto{grid-column:2;grid-row:2!important;margin:0!important}
  section:has(> .kb-galleria) > .kb-stelle-foto p{font-size:13.5px}
  section:has(> .kb-galleria) > .kb-acquisto{grid-column:2;grid-row:3!important;margin-top:12px}
  /* foto 1 (4:5) nel riquadro quadrato: si taglia l'aria in alto (dove sul telefono va il titolo), non i riquadri in basso */
  .kb-gal-slide:first-child img{object-position:50% 100%}
  .kb-gal-main{border-radius:16px;overflow:hidden}
  .kb-gal-thumbs{padding:4px 0;margin-top:12px}
  .kb-gal-thumb{flex-basis:84px;width:84px;height:84px;border-radius:10px;transition:border-color .2s,transform .2s}
  .kb-acq-nome{font-size:28px!important}
  .kb-acq-promessa{font-size:15px;margin-top:10px}
  .kb-acq-garanzie{font-size:13px}
  .kb-acq-vantaggi{margin-top:14px}
  /* riquadro garanzia: scritte più leggibili */
  .kb-gar-banner{margin-top:20px;padding:16px 18px;gap:16px;border-radius:16px}
  .kb-gar-sigillo,.kb-gar-sigillo img,.kb-gar-sigillo svg{width:56px;height:56px}
  .kb-gar-banner-titolo{font-size:15px;line-height:1.3}
  .kb-gar-banner-testo{font-size:13.5px;line-height:1.5}
  /* garanzia e medico: quando kb-desktop.js li ha messi sotto la galleria (colonna sinistra) chiudono il buco bianco sotto la foto,
     e le due colonne finiscono quasi alla stessa altezza. Senza script restano a destra sotto il bottone, come sul telefono. */
  .kb-galleria > .kb-gar-banner,.kb-galleria > .kb-esperto{grid-column:1 / -1;margin-top:20px;border-radius:16px}
  .kb-galleria > .kb-esperto{margin-top:16px}

  /* 3 pacchetti affiancati: risparmia circa 150px, il bottone sale nella prima schermata */
  .kb-pacchi{flex-direction:row;gap:10px;margin-top:24px}
  .kb-pacco{flex:1 1 0;min-width:0;min-height:0;flex-direction:column;justify-content:flex-start;text-align:center;gap:4px;padding:20px 8px 14px;border-radius:16px}
  .kb-pacco-pallino{position:absolute;top:10px;left:10px;width:18px;height:18px}
  .kb-pacco.is-scelto .kb-pacco-pallino::after{inset:4px}
  .kb-pacco-foto{width:54px;height:54px}
  .kb-pacco-testo{flex:1;align-items:center;gap:3px}
  .kb-pacco-testo strong{white-space:normal;text-wrap:balance;font-size:14.5px;line-height:1.2}
  .kb-pacco-testo span{font-size:12.5px;line-height:1.3}
  .kb-pacco-testo em{white-space:nowrap}
  .kb-pacco-prezzo{flex-direction:row;align-items:baseline;justify-content:center;gap:6px;margin-top:4px}
  .kb-pacco-prezzo strong{font-size:19px}
  .kb-pacco-prezzo s{font-size:13px}
  .kb-pacco-etichetta{top:-11px;right:auto;left:50%;transform:translateX(-50%);font-size:10.5px;padding:4px 9px;border-radius:999px}
  .kb-pacco-etichetta::before,.kb-pacco-etichetta::after{display:none}
  .kb-acq-titolo{margin-top:16px}
  .kb-acq-bottone{margin-top:16px}

  /* ---------- 2 · Come funziona: 3 passi affiancati ---------- */
  #come-funziona{padding:88px var(--kbd-pad)!important}
  #come-funziona > h2{font-size:40px!important}
  #come-funziona .kb-cf-sotto{font-size:19px!important;max-width:640px;margin:14px auto 40px!important}
  #come-funziona .kb-cf-sotto strong{display:inline;white-space:normal}
  .kb-cf-divisore{font-size:14px;margin-bottom:28px}
  .kb-cf-freccia{display:none}
  #come-funziona > div:not([class]){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important}
  #come-funziona > div:not([class]) > div{flex-direction:column;align-items:center!important;text-align:center;gap:18px!important;padding:36px 28px 32px!important;border-radius:16px!important}
  #come-funziona > div:not([class]) > div > div:first-child{width:64px!important;height:64px!important;font-size:28px!important}
  #come-funziona > div:not([class]) h3{font-size:21px!important;margin:0 0 8px!important}
  #come-funziona > div:not([class]) p{font-size:16px!important;line-height:1.55!important}
  .kb-dosaggio{max-width:780px;margin:56px auto 0;padding:22px 26px 20px;border-radius:16px}
  .kb-dos-tit{font-size:21px}
  .kb-dos-num{font-size:17px;padding:8px 14px}
  .kb-dos-num small{font-size:13px}
  .kb-dos-scala{gap:12px;margin:16px 0 14px}
  .kb-dos-scala li{font-size:15px;padding:12px 8px 10px;gap:6px;border-radius:12px}
  .kb-dos-txt{font-size:16px;line-height:1.5}

  /* ---------- 3 · Il problema: una sola fascia scura, testo a sinistra e foto della clessidra a destra ---------- */
  .kb-problema{padding:96px var(--kbd-pad) 88px}
  .kb-problema-titolo{font-size:52px;margin-bottom:28px}
  .kb-problema-riga{grid-template-columns:minmax(0,1fr) 96px;gap:20px;max-width:600px}
  .kb-problema-testo{font-size:28px;line-height:1.18}
  .kb-problema-fonte{font-size:13px;margin-top:14px}
  .kb-problema-scena,.kb-problema-ponte{font-size:18px;line-height:1.65;max-width:520px;margin-top:24px}
  .kb-problema-ponte{margin-top:16px}
  .kb-problema-chiusa{align-items:flex-start;margin:28px 0 0}
  .kb-problema-chiusa-etichetta{font-size:13px;padding:6px 14px}
  /* la foto arriva qui dentro con kb-desktop.js: griglia a 2 colonne, testo centrato in verticale rispetto alla foto */
  .kb-problema:has(> .kb-ponte-foto){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,44%);grid-template-rows:1fr repeat(6,auto) 1fr;column-gap:48px}
  .kb-problema:has(> .kb-ponte-foto) > *{grid-column:1}
  .kb-problema:has(> .kb-ponte-foto) > .kb-problema-titolo{grid-row:2}
  .kb-problema:has(> .kb-ponte-foto) > .kb-problema-riga{grid-row:3}
  .kb-problema:has(> .kb-ponte-foto) > .kb-problema-fonte{grid-row:4}
  .kb-problema:has(> .kb-ponte-foto) > .kb-problema-scena{grid-row:5}
  .kb-problema:has(> .kb-ponte-foto) > .kb-problema-ponte{grid-row:6}
  .kb-problema:has(> .kb-ponte-foto) > .kb-problema-chiusa{grid-row:7}
  .kb-problema > .kb-ponte-foto{grid-column:2;grid-row:1 / -1;align-self:center;max-width:none;margin:0;width:100%}
  .kb-problema > .kb-ponte-foto img{border-radius:20px;-webkit-mask-image:none;mask-image:none;box-shadow:0 30px 80px rgba(229,0,114,.18),0 12px 40px rgba(0,0,0,.5)}
  /* se lo script non gira la foto resta nella sua sezione: fascia scura larga, foto al centro */
  .kb-ponte{margin-top:-40px;padding-bottom:24px}

  /* ---------- 4 · "Leggi con calma": fascia scura, colonna centrale da 660 ---------- */
  .kb-scena{padding:24px var(--kbd-pad) 96px}
  .kb-scena::before{width:760px;height:380px;top:0}
  .kb-scena > *{max-width:660px;margin-left:auto!important;margin-right:auto!important}
  .kb-scena-ponte{font-size:16px}
  .kb-scena-titolo{font-size:40px;line-height:1.15;text-align:center;margin-bottom:32px}
  .kb-scena p{font-size:18px;line-height:1.65;margin-bottom:20px}
  .kb-scena-bottone{max-width:400px;margin-top:40px!important;padding:19px 16px}
  .kb-scena p.kb-scena-nota{font-size:13.5px;margin-top:16px!important}

  /* ---------- 5 · Recensioni: 3 schede per volta, frecce ai lati; forum: 2 schermate per volta ---------- */
  .kb-prova{padding:88px 0 48px}
  .kb-prova-titolo{font-size:38px;line-height:1.18;max-width:900px;margin:0 auto;padding:0 48px}
  .kb-prova .kb-rec{position:relative;margin-top:44px;padding:48px max(84px,var(--kbd-pad)) 64px}
  .kb-rec-track{gap:24px;padding:0;scroll-padding:0;align-items:stretch} /* stretch: schede alte uguali nella fila */
  .kb-rec-card{flex:0 0 calc((100% - 48px) / 3);border-radius:16px;padding:26px 24px 28px;border-color:#E3E1DA;box-shadow:0 6px 20px rgba(20,22,58,.05)}
  .kb-rec-titolo{font-size:21px}
  .kb-rec-testo{font-size:16px;line-height:1.55}
  /* frecce: tonde, bianche, a metà altezza ai due lati della fila; la scritta "ALTRE RECENSIONI" resta sotto, al centro */
  .kb-rec-nav{position:absolute;inset:0;margin:0;pointer-events:none;justify-content:space-between;align-items:center;padding:0 calc(max(84px,var(--kbd-pad)) - 68px)}
  .kb-rec-nav > span{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-size:13px;letter-spacing:.12em;color:#5B5F7A}
  .kb-rec-btn,.kbd-freccia{pointer-events:auto;width:48px;height:48px;border-radius:50%;background:#fff;border:0;box-shadow:0 4px 14px rgba(20,22,58,.10);display:flex;align-items:center;justify-content:center;color:#14163A;cursor:pointer;padding:0;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
  .kb-rec-btn svg,.kbd-freccia svg{width:48px;height:48px;flex:none;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
  .kb-rec-btn:hover,.kbd-freccia:hover{transform:scale(1.08);background:#14163A;color:#fff;box-shadow:0 8px 22px rgba(20,22,58,.25)}
  /* pagina inglese: via pallini e "swipe to read more" (sul computer si usano le frecce) */
  .kb-rec-pallini,.kb-rec-scorri{display:none!important}
  /* forum (solo pagina italiana) */
  .kb-prova-forum-testa{margin:80px auto 0;max-width:900px}
  .kb-prova-forum-etichetta{font-size:13px}
  .kb-prova-forum{font-size:32px;margin-top:12px}
  .kb-prova-forum-sotto{font-size:18px;max-width:560px;margin-top:14px}
  .kb-prova-fotos{--kbd-forum:min(100vw - 168px,1040px);gap:24px;padding:32px 0 8px!important;width:var(--kbd-forum);margin:0 auto;box-sizing:border-box;scroll-padding:0;scroll-behavior:smooth}
  .kb-prova-fotos.kb-spinta{animation:none} /* la "spintarella" serve solo sul telefono, per far capire che si scorre col dito */
  .kb-prova-foto{flex:0 0 calc((100% - 24px) / 2);border-radius:16px}
  .kb-prova-foto img{height:auto;aspect-ratio:1.24}
  .kb-prova-foto figcaption{font-size:13.5px;padding:12px 16px}
  .kb-prova-scorri{display:none}
  .kb-prova-pallini{position:relative;margin-top:22px;align-items:center;gap:8px}
  .kb-prova-pallini i{width:8px;height:8px}
  .kb-prova-pallini i.kb-on{width:24px}
  /* frecce del forum (le crea kb-desktop.js dentro la riga dei pallini): il calcolo le porta a metà altezza delle schermate, ai due lati */
  .kb-prova-pallini{--kbd-forum:min(100vw - 168px,1040px)}
  .kb-prova-pallini .kbd-freccia{position:absolute;top:calc(-1 * (54px + ((var(--kbd-forum) - 24px) / 2.48 + 45px) / 2))}
  .kb-prova-pallini .kbd-prev{left:calc((100% - var(--kbd-forum)) / 2 - 68px)}
  .kb-prova-pallini .kbd-next{right:calc((100% - var(--kbd-forum)) / 2 - 68px)}

  /* ---------- 6 · Confronto: tabella larga, colonna Keepbull in rilievo ---------- */
  .kb-vs{padding:88px var(--kbd-pad)}
  .kb-vs-titolo{font-size:40px;margin-bottom:14px}
  .kb-vs-sotto{font-size:18px;margin-bottom:48px}
  .kb-vs-tabella{grid-template-columns:260px 1fr 1fr 1fr;max-width:1000px;margin:0 auto}
  .kb-vs-voce,.kb-vs-cella{padding:14px 18px;min-height:66px}
  .kb-vs-voce{font-size:14.5px;letter-spacing:.03em}
  .kb-vs-cella{font-size:16px;font-weight:600}
  .kb-vs-noi{font-size:17px;font-weight:800;background:rgba(229,0,114,.09);border-left:2px solid #E50072;border-right:2px solid #E50072}
  .kb-vs-cella.kb-vs-noi + .kb-vs-cella{border-left:0}
  .kb-vs-testa{min-height:170px;gap:12px;padding-bottom:18px}
  .kb-vs-testa img{width:88px;height:88px}
  .kb-vs-testa span{font-size:14.5px}
  .kb-vs-primo{border-top:2px solid #E50072;border-radius:16px 16px 0 0}
  .kb-vs-tabella > .kb-vs-noi:nth-last-child(3){border-bottom:2px solid #E50072;border-radius:0 0 16px 16px}
  .kb-vs-si,.kb-vs-no{font-size:20px}

  /* ---------- 7 · Timeline orizzontale: 4 tappe in riga, linea in alto con i pallini, schede sotto ---------- */
  .kb-tl{padding:88px var(--kbd-pad) 96px}
  .kb-tl-titolo{font-size:40px;margin-bottom:56px}
  .kb-tl-linea-box{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
  .kb-tl-linea{top:54px;bottom:auto;left:12.5%;right:12.5%;width:auto;height:3px;border-radius:3px}
  .kb-tl-linea span{background:linear-gradient(90deg,#0F4496,#E50072);transform:none!important} /* linea sempre piena: lo script del telefono la riempie in verticale */
  .kb-tl-tappa{display:flex;flex-direction:column;align-items:center;margin:0;padding:0}
  .kb-tl-tappa:last-child{margin:0;padding:0}
  .kb-tl-quando{justify-content:center;height:24px;margin:0 0 14px;font-size:19px;white-space:nowrap}
  .kb-tl-pallino{margin:0;align-self:center}
  .kb-tl-pallino span{width:34px;height:34px;font-size:16px;box-shadow:0 0 0 6px #fff}
  .kb-tl-scheda{flex:1;width:100%;box-sizing:border-box;margin-top:22px;padding:24px 22px 26px;border-radius:16px;text-align:left}
  .kb-tl-icona{font-size:28px;margin-bottom:12px}
  .kb-tl-scheda p{font-size:17px;line-height:1.45}
  /* sul computer le 4 tappe sono tutte nello schermo insieme: sempre visibili, niente comparsa una alla volta */
  .kb-tl-js .kb-tl-quando,.kb-tl-js .kb-tl-scheda{opacity:1;transform:none}
  .kb-tl-js .kb-tl-pallino span{opacity:1;transform:none}
  .kb-tl-bottone{max-width:400px;margin:56px auto 0}

  /* ---------- 8 · Numeri: 3 in riga, cifra gigante ---------- */
  .kb-num{padding:96px var(--kbd-pad) 88px}
  .kb-num-etichetta{font-size:13px;padding:7px 16px}
  .kb-num-titolo{font-size:46px;margin:20px 0 56px}
  .kb-num-lista{flex-direction:row;max-width:none;gap:56px}
  .kb-num-riga{flex:1 1 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}
  .kb-num-cifra{font-size:92px;min-width:0}
  .kb-num-testo{font-size:18px;line-height:1.4;max-width:300px;margin-top:16px;flex:1}
  .kb-num-barra{width:100%;margin-top:24px}
  .kb-num-fonte{font-size:13px;max-width:640px;margin-top:48px}

  /* ---------- 9 · Quattro ingredienti: 4 schede in riga ---------- */
  .kb-quattro{padding:88px var(--kbd-pad)}
  .kb-quattro-titolo{font-size:40px;margin:0}
  .kb-quattro-sotto{font-size:13.5px;margin-top:16px}
  .kb-quattro .kb-quattro-fila{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:20px;margin:48px auto 0;max-width:1120px}
  .kb-quattro .kb-quattro-card,.kb-quattro .kb-quattro-top{grid-column:auto;min-height:340px;padding:24px 20px 26px;border-radius:16px;transition:transform .25s ease,box-shadow .25s ease}
  .kb-quattro .kb-quattro-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(229,0,114,.22)}
  .kb-quattro .kb-quattro-perc{font-size:38px;margin-bottom:10px}
  .kb-quattro .kb-quattro-top .kb-quattro-perc{font-size:64px}
  .kb-quattro .kb-quattro-card:not(.kb-quattro-top) .kb-quattro-nome{font-size:20px}
  .kb-quattro .kb-quattro-top .kb-quattro-nome{font-size:24px}
  .kb-quattro .kb-quattro-card:not(.kb-quattro-top) .kb-quattro-desc,.kb-quattro .kb-quattro-top .kb-quattro-desc{font-size:15px;line-height:1.45;margin-top:8px}
  .kb-quattro-senza{margin-top:48px}
  .kb-quattro-senza-titolo{font-size:15px}
  .kb-quattro-senza-fila{gap:12px;margin-top:16px}
  .kb-quattro-senza-fila span{font-size:15px;padding:8px 18px}
  .kb-quattro-cena{font-size:26px;margin:48px auto 0;max-width:760px}

  /* ---------- 10 · La nostra storia: foto a sinistra, racconto a destra ---------- */
  .kb-storia2{padding:88px var(--kbd-pad);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr repeat(6,auto) 1fr;column-gap:64px}
  .kb-storia2 > *{grid-column:2}
  .kb-storia2 > .kb-storia2-etichetta{grid-row:2;text-align:left;font-size:13px}
  .kb-storia2 > .kb-storia2-titolo{grid-row:3;text-align:left;font-size:36px;line-height:1.15;margin:12px 0 28px}
  .kb-storia2-titolo span{font-size:24px;margin-top:10px}
  .kb-storia2 > .kb-storia2-passi{grid-row:4;margin:0;gap:16px}
  .kb-storia2-passi b{width:32px;height:32px;font-size:15px}
  .kb-storia2-passi p{font-size:17px;line-height:1.55}
  .kb-storia2 > .kb-storia2-prova{grid-row:5;margin-top:28px;padding:18px 22px;font-size:18px}
  .kb-storia2-prova span{font-size:13px}
  .kb-storia2 > .kb-storia2-cta{grid-row:6;justify-self:start;min-width:340px;box-sizing:border-box;margin-top:28px;padding:19px 36px;font-size:17px}
  .kb-storia2 > .kb-storia2-garanzia{grid-row:7;text-align:left;font-size:14px;margin-top:12px;padding-left:4px}
  .kb-storia2 > .kb-storia2-foto{grid-column:1;grid-row:1 / -1;min-height:520px;border-radius:20px}
  .kb-storia2-foto img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
  .kb-storia2-foto figcaption{padding:72px 28px 24px;font-size:19px}
  .kb-storia2-foto figcaption span{font-size:12.5px;margin-top:10px}

  /* ---------- 11 · Offerta: a sinistra titolo, formati, privacy, assistenza e mini-FAQ; a destra la scheda prezzo che resta ferma ----------
     Nota: ":nth-child(2 of :not(template))" = "il secondo figlio, senza contare i <template> dell'anteprima": così le regole valgono
     uguali nell'anteprima (che ha i template con l'HTML originale) e sul sito vero (che non li ha). */
  section:has(+ #offerta){padding:64px var(--kbd-pad) 0!important}
  section:has(+ #offerta) > div{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;align-items:start}
  #offerta{padding:88px var(--kbd-pad) 96px!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);column-gap:72px;align-content:start;align-items:start}
  #offerta > *{grid-column:1}
  #offerta > div:first-child{text-align:left!important}
  #offerta > div:first-child > div:first-child{font-size:13px!important}
  #offerta > div:first-child > h2{font-size:40px!important;margin-top:12px!important}
  #offerta > div:first-child > div:last-child{font-size:15px!important;margin-top:14px!important}
  /* scheda prezzo */
  #offerta > div:nth-child(2 of :not(template)){grid-column:2;grid-row:1 / span 12;position:sticky!important;top:24px;margin:0!important;padding:30px 28px 26px!important;border-radius:20px!important;box-shadow:0 24px 60px rgba(20,22,58,.12)}
  #offerta > div:nth-child(2 of :not(template)) > div:first-child{font-size:11.5px!important;padding:6px 16px!important;top:-14px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:nth-child(2 of :not(template)) > div{padding:11px 0!important}
  #offerta > div:nth-child(2 of :not(template)) > div:nth-child(2 of :not(template)) > div > span{font-size:15px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:nth-child(2 of :not(template)) > div > span > span{font-size:13px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:nth-child(3 of :not(template)){font-size:15px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:nth-child(4 of :not(template)) > div > div:first-child{font-size:14px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:nth-child(4 of :not(template)) > div > div:last-child{font-size:46px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:nth-child(4 of :not(template)) > span{font-size:14px!important;padding:7px 14px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:nth-child(5 of :not(template)){font-size:14px!important;padding:10px 12px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:nth-child(6 of :not(template)) > span{font-size:13px!important}
  #offerta > div:nth-child(2 of :not(template)) > button{font-size:17px!important;padding:19px!important;margin-top:16px!important;cursor:pointer;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}
  #offerta > div:nth-child(2 of :not(template)) > button:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 14px 30px rgba(229,0,114,.34)!important}
  #offerta > div:nth-child(2 of :not(template)) > div:last-child div[style*="font-size:12.5px"]{font-size:14px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:last-child div[style*="font-size:11px"]{font-size:13px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:last-child span[style*="font-size:11px"]{font-size:13px!important}
  #offerta > div:nth-child(2 of :not(template)) > div:last-child > a{font-size:14px!important;padding:13px!important;transition:background .2s,border-color .2s}
  #offerta > div:nth-child(2 of :not(template)) > div:last-child > a:hover{background:#F6F8FC!important;border-color:#14163A!important}
  /* "Scegli il formato" + 3 formati */
  #offerta > div:nth-child(3 of :not(template)){text-align:left!important;font-size:15px!important;font-weight:600;color:#14163A!important;margin-top:36px!important}
  #offerta > div:nth-child(4 of :not(template)){gap:14px!important;margin-top:14px!important}
  #offerta > div:nth-child(4 of :not(template)) > button{padding:18px 10px!important;border-radius:16px!important;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
  #offerta > div:nth-child(4 of :not(template)) > button:hover{border-color:#E50072!important;box-shadow:0 8px 20px rgba(229,0,114,.14);transform:translateY(-2px)}
  #offerta > div:nth-child(4 of :not(template)) > button > div:first-child{font-size:14px!important}
  #offerta > div:nth-child(4 of :not(template)) > button > div:nth-child(2 of :not(template)){font-size:22px!important;margin:6px 0 4px!important}
  #offerta .kb-formato-barrato{font-size:13.5px}
  /* privacy + assistenza */
  #offerta > div:nth-child(5 of :not(template)){background:#fff!important;border-radius:16px!important;padding:20px 22px!important;margin-top:24px!important}
  #offerta > div:nth-child(5 of :not(template)) > div > div{font-size:16px!important}
  #offerta > div:nth-child(5 of :not(template)) > div > p{font-size:14.5px!important}
  #offerta > div:nth-child(6 of :not(template)){justify-content:flex-start!important;border-radius:16px!important;padding:14px 22px!important;margin-top:14px!important}
  #offerta > div:nth-child(6 of :not(template)) > span:last-child{font-size:15px!important}
  /* mini-FAQ (arriva qui con kb-desktop.js; senza script resta sopra, su 3 colonne) */
  #offerta > .kbd-minifaq{margin-top:24px;gap:10px!important}
  #offerta > .kbd-minifaq > details,section:has(+ #offerta) > div > details{padding:16px 20px!important;border-radius:14px!important;transition:border-color .2s}
  #offerta > .kbd-minifaq > details:hover,section:has(+ #offerta) > div > details:hover{border-color:#B9BDD0!important}
  #offerta > .kbd-minifaq summary,section:has(+ #offerta) summary{font-size:16px!important}
  #offerta > .kbd-minifaq details > div,section:has(+ #offerta) details > div{font-size:15px!important;line-height:1.6!important}

  /* ---------- 12 · Video: 4 in riga ---------- */
  section:has([data-kb-video]){padding:88px var(--kbd-pad)!important}
  section:has([data-kb-video]) > div:first-child > div{font-size:13px!important}
  section:has([data-kb-video]) > div:first-child > h2{font-size:40px!important;margin-top:12px!important}
  section:has([data-kb-video]) .kbm-scroll{justify-content:center;gap:24px!important;padding:0!important;margin-top:44px;overflow:visible!important}
  section:has([data-kb-video]) .kbm-scroll > div{width:auto!important;flex:1 1 0!important;max-width:282px;transition:transform .25s ease,box-shadow .25s ease}
  section:has([data-kb-video]) .kbm-scroll > div:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,22,58,.18)}
  section:has([data-kb-video]) [data-kb-video]{height:auto!important;aspect-ratio:9 / 16}

  /* ---------- 13 · Garanzia: medaglia a sinistra, testo e bottone a destra ---------- */
  .kb-rimborso{padding:96px var(--kbd-pad);display:grid;grid-template-columns:220px minmax(0,600px);grid-template-rows:1fr auto auto auto 1fr;justify-content:center;column-gap:64px;text-align:left}
  .kb-rimborso > .kb-rimborso-badge{grid-column:1;grid-row:1 / -1;align-self:center;width:220px;margin:0}
  .kb-rimborso > .kb-rimborso-titolo{grid-column:2;grid-row:2;font-size:46px;margin-bottom:18px}
  .kb-rimborso > .kb-rimborso-testo{grid-column:2;grid-row:3;font-size:18px;line-height:1.55;margin-bottom:28px}
  .kb-rimborso > .kb-rimborso-bottone{grid-column:2;grid-row:4;justify-self:start;min-width:340px;min-height:58px;padding:0 36px;box-sizing:border-box}

  /* ---------- 14 · Domande frequenti: titolo fermo a sinistra, domande a destra ---------- */
  #faq{padding:96px var(--kbd-pad)!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:64px;align-items:start}
  #faq > h2{position:sticky;top:40px;text-align:left!important;font-size:40px!important;line-height:1.1!important;margin:0!important}
  #faq > div{gap:12px!important;margin:0!important}
  #faq > div > div{border-radius:16px!important;transition:border-color .2s,box-shadow .2s}
  #faq > div > div:hover{border-color:#B9BDD0!important;box-shadow:0 6px 18px rgba(20,22,58,.06)}
  #faq > div > div > div:first-child{padding:22px 26px!important}
  #faq > div > div > div:first-child > span:first-child{font-size:17.5px!important}
  #faq > div > div > div:first-child > span:last-child{font-size:26px!important}
  #faq > div > div > div:nth-child(n+2){font-size:16.5px!important;line-height:1.65!important;padding-left:26px!important;padding-right:26px!important}

  /* ---------- 15 · Frase del marchio, invito finale, piè di pagina ---------- */
  section:has(+ section + footer){padding:72px var(--kbd-pad)!important}
  section:has(+ section + footer) > p{font-size:20px!important;max-width:760px;margin:0 auto!important}
  section:has(+ footer){padding:104px var(--kbd-pad)!important}
  section:has(+ footer) > h2{font-size:48px!important}
  section:has(+ footer) > p{font-size:19px!important;max-width:520px!important;margin:20px auto 36px!important}
  section:has(+ footer) > a{min-width:320px;box-sizing:border-box;font-size:17px!important;padding:20px 36px!important;transition:transform .2s ease,box-shadow .2s ease}
  section:has(+ footer) > a:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(0,0,0,.3)!important}
  footer{padding:64px var(--kbd-pad) 128px!important;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;column-gap:64px;align-items:start}
  footer > img{grid-column:1;grid-row:1;justify-self:start}
  footer > p:first-of-type{grid-column:1;grid-row:2;font-size:14px!important;max-width:420px;margin:0 0 32px!important}
  footer > a{grid-column:2;grid-row:1 / 3;justify-self:start;font-size:15px!important;margin:8px 0 0!important}
  footer > div:first-of-type{grid-column:3;grid-row:1 / 3;margin:0!important}
  footer > div:first-of-type a{width:42px!important;height:42px!important;transition:background .2s,color .2s}
  footer > div:last-of-type{grid-column:1 / -1;grid-row:3;gap:28px!important;padding-top:24px!important}
  footer > div:last-of-type a{font-size:14px!important;color:#9A9DB5!important;transition:color .2s}
  footer a:hover{color:#fff!important}
  footer > div:first-of-type a:hover{background:rgba(255,255,255,.1)}
  footer > p:last-of-type{grid-column:1 / -1;grid-row:4;font-size:13px!important;color:#7C80A0!important;margin-top:20px!important}

  /* ---------- 16 · Barra fissa in basso: larga quanto lo schermo, nome + prezzo + bottone a destra ---------- */
  div:has(> .kb-fissa-info){max-width:none!important;box-sizing:border-box;min-height:72px;padding:10px var(--kbd-pad)!important;justify-content:flex-end;gap:16px!important}
  div:has(> .kb-fissa-info) > img{width:48px;height:48px}
  div:has(> .kb-fissa-info) > .kb-fissa-info{flex:none;margin-right:12px}
  .kb-fissa-nome{font-size:14.5px}
  .kb-fissa-prezzo{font-size:22px}
  .kb-fissa-prezzo s{font-size:14.5px}
  div:has(> .kb-fissa-info) > button{min-width:300px;height:52px;font-size:16px!important;cursor:pointer;transition:transform .2s ease,filter .2s ease}
  div:has(> .kb-fissa-info) > button:hover{transform:translateY(-1px);filter:brightness(1.08)}
  div:has(> .kb-fissa-info) > button > span{justify-content:center}
  /* riga "Spedito…" copiata a sinistra da kb-desktop.js */
  .kbd-fissa-spedito{margin:0 auto 0 0!important;font-size:14.5px}
  /* nascosta anche mentre l'offerta in fondo è sullo schermo (la classe la mette kb-desktop.js) */
  div:has(> .kb-fissa-info).kbd-fissa-via{transform:translate(-50%,110%)!important;opacity:0;pointer-events:none}
  /* bolla WhatsApp: sopra la barra fissa */
  .kb-chat-dock{bottom:96px;right:28px}

  /* ---------- 17 · Popup "Tocca e vinci": finestra al centro su velo scuro, X in alto a destra della finestra ---------- */
  .kb-popup{display:grid;grid-template-columns:minmax(0,520px);justify-content:center;align-content:center;padding:32px;background:rgba(11,14,38,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  .kb-popup[hidden]{display:none}
  .kb-popup > .kb-passo{grid-area:1 / 1;max-width:none;box-sizing:border-box;padding:56px 48px 44px;border-radius:20px;background:linear-gradient(180deg,#05061A 20%,rgba(255,255,255,.03)),#14163A;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 100px rgba(0,0,0,.6)}
  .kb-popup > .kb-popup-chiudi{position:relative;grid-area:1 / 1;justify-self:end;align-self:start;top:auto;left:auto;margin:14px;z-index:2;width:40px;height:40px;line-height:40px;font-size:20px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;transition:opacity .5s ease 1s,background .2s}
  .kb-visibile .kb-popup-chiudi{opacity:1}
  .kb-popup > .kb-popup-chiudi:hover{background:rgba(255,255,255,.28)}
  .kb-p-bottone{transition:transform .2s ease,filter .2s ease}
  .kb-p-bottone:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}

  /* ---------- 18 · Mouse e tastiera: tutto ciò che si clicca reagisce ---------- */
  .kb-acq-bottone,.kb-scena-bottone,.kb-tl-bottone,.kb-rimborso-bottone,.kb-storia2-cta{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;cursor:pointer}
  .kb-acq-bottone:hover,.kb-scena-bottone:hover,.kb-tl-bottone:hover,.kb-rimborso-bottone:hover,.kb-storia2-cta:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 16px 32px rgba(229,0,114,.38)}
  .kb-pacco{transition:border-color .2s,box-shadow .2s,background .2s}
  .kb-pacco:not(.is-scelto):hover{border-color:#14163A;box-shadow:0 6px 16px rgba(20,22,58,.10)}
  .kb-gal-thumb:hover{border-color:rgba(229,0,114,.45)}
  .kb-gal-btn:not(:disabled):hover{background:#fff;transform:scale(1.08)}
  .kb-ingr-tasto:hover{color:#E50072}
  #faq > div > div > div:first-child:hover > span:first-child,details > summary:hover{color:#E50072!important}
  .kb-rec-card{transition:box-shadow .25s ease,transform .25s ease}
  .kb-rec-card:hover{box-shadow:0 14px 32px rgba(20,22,58,.10);transform:translateY(-2px)}
  .kb-chat-launcher{transition:transform .2s ease}
  .kb-chat-launcher:hover{transform:scale(1.08)}
  a:focus-visible,button:focus-visible,summary:focus-visible,.kb-pacco:has(input:focus-visible),[tabindex]:focus-visible{outline:3px solid #E50072;outline-offset:3px;border-radius:8px}
  .kb-problema a:focus-visible,.kb-scena a:focus-visible,.kb-rimborso a:focus-visible,footer a:focus-visible,.kb-popup button:focus-visible{outline-color:#fff}
}

/* Da 1200px in su: prima schermata "piena" (colonne più larghe, miniature in verticale a sinistra della foto, medico su 2 colonne) */
@media (min-width:1200px){
  section:has(> .kb-galleria){grid-template-columns:minmax(0,624fr) minmax(0,520fr);column-gap:56px}
  section:has(> .kb-galleria) > h1{font-size:34px!important}
  /* Il problema: foto più grande, scritte più grandi */
  .kb-problema:has(> .kb-ponte-foto){grid-template-columns:minmax(0,1fr) minmax(0,540px);column-gap:64px}
  .kb-problema-titolo{font-size:60px}
  .kb-problema-testo{font-size:33px}
  .kb-problema-riga{grid-template-columns:minmax(0,1fr) 112px;gap:24px}
  .kb-problema-orologio{width:112px;height:112px}
  /* galleria: miniature in colonna a sinistra, foto quadrata a destra (riempie sempre la colonna, a ogni altezza di schermo) */
  section:has(> .kb-galleria) > .kb-galleria{display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:12px}
  .kb-galleria > .kb-gal-main{grid-column:2;grid-row:1}
  .kb-galleria > .kb-gal-thumbs{grid-column:1;grid-row:1;flex-direction:column;gap:8px;margin:0;padding:0;height:0;min-height:100%;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none}
  .kb-galleria .kb-gal-thumb{flex:1 1 0;min-height:0;max-height:76px;width:72px;height:auto;margin:0 2px} /* le 7 miniature si dividono l'altezza della foto: nessuna tagliata */
  /* scheda del medico sotto la galleria: foto e nome a sinistra, frase a destra */
  .kb-galleria > .kb-esperto{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:24px;align-items:center;padding:20px;border-radius:16px}
  .kb-galleria > .kb-esperto .kb-esperto-testa{grid-row:1 / 3;flex-direction:column;text-align:center;gap:8px;max-width:180px}
  .kb-galleria > .kb-esperto .kb-esperto-nome{justify-content:center;font-size:15px}
  .kb-galleria > .kb-esperto .kb-esperto-ruolo{font-size:13px}
  .kb-galleria > .kb-esperto .kb-esperto-frase{margin:0;font-size:14.5px}
  .kb-galleria > .kb-esperto .kb-esperto-punti li{font-size:13px;padding:5px 10px}
}

/* Schermi bassi (portatili 1280×720, 1366×768): prima schermata un po' più stretta di spazi, così il bottone resta visibile senza scorrere */
@media (min-width:1024px) and (max-height:800px){
  section:has(> .kb-galleria){padding-top:20px!important}
  section:has(> .kb-galleria) > h1{font-size:30px!important;margin-bottom:8px!important}
  .kb-acq-nome{font-size:25px!important}
  .kb-acq-vantaggi li{font-size:14.5px}
  .kb-acq-promessa{margin-top:6px}
  .kb-acq-vantaggi{gap:5px;margin-top:10px}
  .kb-ingr{margin-top:6px}
  .kb-acq-titolo{margin-top:10px}
  .kb-pacchi{margin-top:20px}
  .kb-pacco{padding:16px 8px 10px}
  .kb-pacco-foto{width:44px;height:44px}
  .kb-acq-bottone{margin-top:12px;padding-top:16px;padding-bottom:16px}
}
/* KB-M83 fine */

/* KB-M84 inizio | Titolare 11/11 ("si"): SOLO su computer, striscia sottile in alto con il logo Keepbull a sinistra e stelle + "4,8/5 · oltre 2.400 clienti" a destra. È l'header originale (KB-M14) riacceso da 1024px in su, senza "Blog" e "Acquista"; sul telefono resta nascosto. La scritta a destra è nel CSS (inglese con html[lang="en"]). */
@media (min-width:1024px){
  header.kb-header-nascosto{display:flex!important;position:static!important;height:56px;box-sizing:border-box;padding:0 var(--kbd-pad)!important;background:#fff!important;backdrop-filter:none!important;border-bottom:1px solid #EEEFF4!important;max-width:none!important}
  header.kb-header-nascosto > img{width:158px;height:auto}
  header.kb-header-nascosto > div > a{display:none}
  header.kb-header-nascosto > div::before{content:"★★★★★";color:#FF4C01;font-size:15px;letter-spacing:2px}
  header.kb-header-nascosto > div::after{content:"4,8/5 · oltre 2.400 clienti";font-family:"KB Figtree",var(--font-serif),sans-serif;font-size:14px;font-weight:600;color:#14163A}
  html[lang="en"] header.kb-header-nascosto > div::after{content:"4.8/5 · 2,400+ customers"}
  header.kb-header-nascosto > div{gap:8px!important}
}
/* schermi bassi (portatili 1280×720, 1366×768): striscia più sottile e meno aria sopra la foto, così il bottone d'acquisto resta nella prima schermata */
@media (min-width:1024px) and (max-height:800px){
  header.kb-header-nascosto{height:40px}
  header.kb-header-nascosto > img{width:124px}
  section:has(> .kb-galleria){padding-top:10px!important}
  section:has(> .kb-galleria) > h1{font-size:27px!important;margin-bottom:6px!important}
  .kb-acq-vantaggi{gap:2px;margin-top:6px}
  .kb-pacchi{margin-top:14px}
  .kb-pacco{padding:13px 8px 8px}
  .kb-acq-bottone{margin-top:8px;padding-top:14px;padding-bottom:14px}
}
/* KB-M84 fine */

/* KB-M85 inizio | Ritocchi al computer dopo il revisore finale (11/11): schermate del forum intere (non più tagliate), via la scritta "ALTRE RECENSIONI" rimasta sola tra le frecce, un pallino per pagina nel forum, colonna del titolo FAQ più stretta, meno bianco tra le sezioni, schermi molto larghi (da 1600px) con contenuto a 1360px. Solo da 1024px in su. */
@media (min-width:1024px){
  .kb-prova-foto img{height:auto;aspect-ratio:1.04;object-fit:contain;object-position:top center;background:#fff}
  .kb-prova-pallini .kbd-freccia{top:calc(-1 * (54px + ((var(--kbd-forum) - 24px) / 2.08 + 45px) / 2))}
  .kb-prova-pallini i:nth-child(2n){display:none}
  .kb-rec-nav > span{display:none}
  #faq{grid-template-columns:300px minmax(0,1fr)}
  #come-funziona{padding-top:56px!important}
}
@media (min-width:1600px){
  :root{--kbd-pad:max(48px,calc((100vw - 1360px) / 2))}
}
/* KB-M85 fine */

/* KB-M86 inizio | Dopo il revisore indipendente (11/11): barra fissa in basso visibile dall'inizio; X del popup "Tocca e vinci" grande e ben visibile in alto a destra anche sul telefono (prima: piccola, rosa, quasi trasparente, compariva dopo 1 secondo). Niente "Paghi alla consegna" in barra o nel bottone: il titolare non vuole spingere il contrassegno. */
@media (max-width:1023.98px){
  .kb-popup-chiudi{top:12px;left:auto;right:12px;width:40px;height:40px;line-height:40px;font-size:20px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;z-index:2;transition:opacity .3s ease}
  .kb-visibile .kb-popup-chiudi{opacity:1}
}
/* KB-M86 fine */

/* KB-M87 inizio | Arrivo dal quiz: riga "Il tuo consiglio: N flaconi" sopra "Scegli il tuo pacchetto" e formato evidenziato in fondo. Compare solo con ?quiz=1&pack=N (assets/js/kb-quiz-consiglio.js). */
.kb-quiz-consiglio{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 12px;padding:9px 14px;border-radius:50px;background:linear-gradient(90deg,#E50072,#0F4496);color:#fff;font-family:"KB Figtree",Figtree,sans-serif;font-weight:700;font-size:13.5px;line-height:1.3;text-align:center}
.kb-quiz-consiglio::before{content:"";width:16px;height:16px;flex:none;border-radius:50%;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E50072' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center/10px no-repeat}
button.kb-quiz-formato-on{border:2px solid #E50072!important;background:#FFF6FA!important}
button.kb-quiz-formato-on > div:first-child{color:#B0245C!important}
button.kb-quiz-formato-off{border:1px solid #E6E8F0!important;background:#fff!important}
button.kb-quiz-formato-off > div:first-child{color:#14163A!important}
/* KB-M87 fine */
