/* ═══════════════════════════════════════════════════════════════════════════
   PRODOTTO V2 — «Terre di Sicilia Editorial Gourmet» (23/09/2026)
   Palette e tipografia del mockup Stitch, SOLO per la pagina prodotto:
   tutte le variabili stanno su .pv2, non su :root. Header, footer e resto
   del sito non cambiano.
   Mobile-first; il desktop segue la griglia 7/5 descritta nel DESIGN.md.
   ═══════════════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,400;0,500;0,600;1,400&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

.pv2{
  --pv-surface:#fbf9f6; --pv-cream:#f4efeb; --pv-white:#fff; --pv-border:#e8dfd8;
  --pv-ink:#2b211e; --pv-ink-2:#58413e; --pv-muted:#8c716d;
  --pv-primary:#8c1d18; --pv-primary-deep:#6b0105; --pv-rubino:#b93826;
  --pv-honey:#e6953b; --pv-honey-soft:#fff1e0; --pv-gold:#735c00;
  --pv-green:#1e7a3c; --pv-green-soft:rgba(30,122,60,.08); --pv-green-line:rgba(30,122,60,.2);
  --pv-serif:'Noto Serif',Georgia,serif; --pv-sans:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
  --pv-shadow:0 8px 24px -4px rgba(43,33,30,.05),0 2px 6px -1px rgba(43,33,30,.03);
  --pv-r:.25rem; --pv-r-lg:.25rem;
  font-family:var(--pv-sans); color:var(--pv-ink); background:var(--pv-surface);
  padding:5.25rem 1.25rem 6.5rem; line-height:1.5; -webkit-font-smoothing:antialiased;
}
.pv2 *{box-sizing:border-box}
.pv2 h1,.pv2 h2,.pv2 h3{font-family:var(--pv-serif);font-weight:500;line-height:1.2;margin:0;color:var(--pv-ink);letter-spacing:-.01em}
.pv2 h2{font-size:1.5rem}
.pv2 p{margin:0}
.pv2 img{max-width:100%;display:block}
.pv2 a{color:inherit}
.pv2 button{font-family:inherit}
.pv2 section{margin-top:2.25rem}
.pv2-eyebrow{display:block;font-size:.69rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--pv-gold);margin-bottom:.35rem}
.pv2-muted{color:var(--pv-muted);font-size:.9rem}
.pv2-grid{max-width:1360px;margin:0 auto}

/* ─── Breadcrumb ─────────────────────────────────────────────────────────── */
.pv2-crumbs{max-width:1360px;margin:0 auto .9rem;font-size:.78rem;color:var(--pv-muted);display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.pv2-crumbs a{text-decoration:none;color:var(--pv-muted)}
.pv2-crumbs a:hover{color:var(--pv-primary)}
.pv2-crumbs strong{color:var(--pv-ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}

/* ─── Tag / chip ─────────────────────────────────────────────────────────── */
.pv2-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.32rem .6rem;border-radius:var(--pv-r);line-height:1;white-space:nowrap}
.pv2-tag svg{width:13px;height:13px}
.pv2-tag img{height:18px!important;width:auto!important;display:block;object-fit:contain}
.pv2-tag-bio{background:#fff;color:var(--pv-green);border:1px solid var(--pv-green-line);padding:.25rem .6rem .25rem .35rem}
.pv2-card-img .pv2-tag-bio{padding:.32rem .6rem}
.pv2-tag-rubino{background:var(--pv-rubino);color:#fff}
.pv2-tag-sconto{background:var(--pv-rubino);color:#fff}
.pv2-tag-nuovo{background:var(--pv-honey);color:#2d1600}
.pv2-tag-primary{background:var(--pv-primary);color:#fff}
.pv2-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}
.pv2-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;padding:.3rem .6rem;border-radius:999px;background:var(--pv-cream);border:1px solid var(--pv-border);color:var(--pv-ink-2);white-space:nowrap}
.pv2-chip img,.pv2-chip svg{width:16px;height:16px;object-fit:contain}
.pv2-chip-miele{background:var(--pv-honey-soft);border-color:#f3d6b1;color:#703f00;text-transform:uppercase;letter-spacing:.06em;font-size:.66rem}

/* ─── Galleria ───────────────────────────────────────────────────────────── */
.pv2-gallery{margin-top:0}
.pv2-hero{position:relative;border-radius:var(--pv-r-lg);overflow:hidden;background:var(--pv-cream);aspect-ratio:1/1;border:1px solid var(--pv-border)}
/* Immagine in absolute: la sua larghezza intrinseca (anche se il server serve l'originale
   al posto della miniatura) non allarga la colonna della galleria */
.pv2-hero>img,.pv2-hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pv2-hero video{background:#000}
.pv2-hero-tags{position:absolute;top:.75rem;left:.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;pointer-events:none}
.pv2-hero-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:var(--pv-r);border:1px solid var(--pv-border);background:rgba(251,249,246,.92);color:var(--pv-ink);font-size:1.4rem;line-height:1;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px)}
.pv2-hero-nav.prev{left:.75rem}.pv2-hero-nav.next{right:.75rem}
.pv2-hero-nav:hover{background:#fff}
.pv2-hero-count{position:absolute;right:.75rem;bottom:.75rem;background:rgba(43,33,30,.72);color:#fff;font-size:.72rem;font-weight:600;padding:.25rem .55rem;border-radius:999px;letter-spacing:.04em}
.pv2-thumbs-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem}
.pv2-thumbs{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding:2px}
.pv2-thumbs::-webkit-scrollbar{display:none}
.pv2-thumb{flex:0 0 auto;width:56px;height:56px;border-radius:var(--pv-r);border:2px solid var(--pv-border);padding:0;overflow:hidden;background:var(--pv-cream);cursor:pointer;position:relative}
.pv2-thumb img,.pv2-thumb video{width:100%;height:100%;object-fit:cover}
.pv2-thumb.active{border-color:var(--pv-primary)}
.pv2-play{position:absolute;inset:0;display:grid;place-items:center}
.pv2-play::after{content:'';width:0;height:0;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.pv2-lotto{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:600;color:var(--pv-ink-2);white-space:nowrap;margin-left:auto}
.pv2-lotto svg{width:15px;height:15px;color:var(--pv-green)}

/* ─── Acquisto ───────────────────────────────────────────────────────────── */
.pv2-buy{margin-top:1.25rem}
.pv2-rating-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.55rem}
.pv2-rating{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;font-size:.8rem;color:var(--pv-ink-2);background:var(--pv-cream);padding:.28rem .6rem;border-radius:999px}
.pv2-rating b{color:var(--pv-ink);font-weight:700}
.pv2-stars{display:inline-flex;gap:1px;color:#d9d4cf;line-height:0}
.pv2-stars .on{color:var(--pv-gold)}
.pv2-stars svg{width:14px;height:14px}
.pv2-title{font-size:1.75rem;font-weight:500;line-height:1.15}
.pv2-lead{margin-top:.5rem;color:var(--pv-ink-2);font-size:.95rem}
.pv2-price-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.9rem}
.pv2-price{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.pv2-price-now{font-family:var(--pv-serif);font-size:2rem;font-weight:500;color:var(--pv-primary);line-height:1}
.pv2-price s{color:var(--pv-muted);font-size:1rem}
.pv2-price small{font-size:.8rem;color:var(--pv-muted)}
.pv2-avail{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;font-weight:600;padding:.3rem .65rem;border-radius:var(--pv-r);background:var(--pv-green-soft);color:var(--pv-green);border:1px solid var(--pv-green-line)}
.pv2-avail::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.pv2-avail.low{background:#fdecea;color:var(--pv-rubino);border-color:#f5c9c3}
.pv2-avail.low::before{animation:pv2pulse 1.4s ease-in-out infinite}
.pv2-avail.out{background:#efeeeb;color:var(--pv-muted);border-color:var(--pv-border)}
@keyframes pv2pulse{0%,100%{box-shadow:0 0 0 0 rgba(185,56,38,.45)}60%{box-shadow:0 0 0 6px rgba(185,56,38,0)}}
.pv2-offer-until{font-size:.78rem;color:var(--pv-rubino);font-weight:600;margin-top:.35rem}

.pv2-purchase{margin-top:1.1rem;background:var(--pv-white);border:1px solid var(--pv-border);border-radius:var(--pv-r-lg);padding:1rem;box-shadow:var(--pv-shadow)}
.pv2-variants-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}
.pv2-variants-label{font-family:var(--pv-serif);font-weight:600;font-size:1rem}
.pv2-ship-tag{font-size:.72rem;font-weight:600;color:var(--pv-green)}
.pv2-variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin-bottom:1rem}
.pv2-var{position:relative;text-align:left;padding:.8rem .85rem .7rem;border-radius:var(--pv-r);border:1px solid var(--pv-border);background:var(--pv-surface);cursor:pointer;display:flex;flex-direction:column;gap:.25rem;transition:border-color .15s,box-shadow .15s}
.pv2-var:hover{border-color:var(--pv-ink-2)}
.pv2-var.active{border:2px solid var(--pv-primary);background:var(--pv-cream);padding:calc(.8rem - 1px) calc(.85rem - 1px) calc(.7rem - 1px)}
.pv2-var:disabled{opacity:.5;cursor:not-allowed}
.pv2-var-reco{position:absolute;top:-.55rem;right:.6rem;background:var(--pv-rubino);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.2rem .45rem;border-radius:var(--pv-r)}
.pv2-var-name{font-weight:700;font-size:.95rem}
.pv2-var-price{font-family:var(--pv-serif);font-weight:600;font-size:1.05rem;color:var(--pv-primary)}
.pv2-var-price s{font-family:var(--pv-sans);font-weight:400;font-size:.8rem;color:var(--pv-muted);margin-right:.25rem}
.pv2-var-note{font-size:.72rem;color:var(--pv-green);font-weight:600;min-height:1em}
.pv2-var-note:empty{display:none}

.pv2-form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:stretch}
.pv2-form[hidden]{display:none}
.pv2-qty{display:inline-flex;align-items:center;border:1px solid var(--pv-border);border-radius:var(--pv-r);background:var(--pv-surface);height:52px;order:0}
.pv2-qty-btn{width:40px;height:100%;display:grid;place-items:center;font-size:1.25rem;color:var(--pv-ink);cursor:pointer;user-select:none}
.pv2-qty-btn:hover{background:var(--pv-cream)}
.pv2-qty input{width:40px;height:100%;border:0;background:transparent;text-align:center;font:600 1rem var(--pv-sans);color:var(--pv-ink);-moz-appearance:textfield}
.pv2-qty input::-webkit-inner-spin-button,.pv2-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pv2-add{order:1;flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:52px;border:0;border-radius:var(--pv-r);background:var(--pv-primary);color:#fbf8f5;font-weight:700;font-size:1rem;cursor:pointer;transition:background .15s,transform .15s;padding:0 1rem}
.pv2-add:hover{background:var(--pv-rubino);transform:scale(1.01)}
.pv2-add svg{width:20px;height:20px;flex-shrink:0}
.pv2-add span{white-space:nowrap}
/* Telefoni stretti: stepper e bottone più compatti così stanno su una riga;
   sotto i ~330px il bottone va a capo a tutta larghezza (flex-wrap) */
@media (max-width:480px){.pv2-form{gap:.5rem}.pv2-qty-btn{width:36px}.pv2-qty input{width:34px}.pv2-add{padding:0 .6rem;font-size:.9rem;gap:.4rem}.pv2-add svg{display:none}}
.pv2-esaurito{padding:.85rem 1rem;border-radius:var(--pv-r);background:#efeeeb;color:var(--pv-ink-2);font-weight:600;font-size:.9rem;text-align:center}
.pv2-esaurito[hidden]{display:none}
.pv2-promises{list-style:none;margin:.9rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.pv2-promises li{display:flex;gap:.5rem;align-items:flex-start;font-size:.8rem;color:var(--pv-ink-2);line-height:1.4}
.pv2-promises svg{width:16px;height:16px;flex-shrink:0;color:var(--pv-green);margin-top:1px}
.pv2-promises b{color:var(--pv-ink);font-weight:700}
.pv2-pay-icons{display:flex;gap:.6rem;align-items:center;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--pv-border);opacity:.85}
.pv2-pay-icons img{height:18px;width:auto}
.pv2-article{display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem;font-size:.85rem;font-weight:600;color:var(--pv-primary);text-decoration:none}
.pv2-article svg{width:18px;height:18px}

/* ─── Storia ─────────────────────────────────────────────────────────────── */
.pv2-story{background:var(--pv-cream);border-radius:var(--pv-r-lg);padding:1.4rem 1.25rem}
.pv2-story h2{font-size:1.5rem}
.pv2-story-lead{margin-top:.75rem;font-weight:700;font-size:1.05rem;line-height:1.4}
.pv2-story-text{margin-top:.6rem;color:var(--pv-ink-2);font-size:.95rem;line-height:1.6}
.pv2-facts{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.1rem}
.pv2-fact{background:var(--pv-white);border:1px solid var(--pv-border);border-radius:var(--pv-r);padding:.85rem .9rem;box-shadow:var(--pv-shadow)}
.pv2-fact b{display:block;font-family:var(--pv-serif);font-size:1.5rem;font-weight:600;color:var(--pv-primary);line-height:1.1}
.pv2-fact span{display:block;font-size:.72rem;color:var(--pv-ink-2);margin-top:.3rem;line-height:1.35;text-transform:none}
.pv2-taste{margin-top:1rem;font-size:.9rem;line-height:1.55;color:var(--pv-ink-2)}
.pv2-taste b{color:var(--pv-ink)}

/* ─── Consigli dello chef ────────────────────────────────────────────────── */
.pv2-chef{background:var(--pv-white);border:1px solid var(--pv-border);border-radius:var(--pv-r-lg);overflow:hidden;box-shadow:var(--pv-shadow)}
.pv2-chef-hero{position:relative;aspect-ratio:4/3;background:var(--pv-cream)}
.pv2-chef-hero img{width:100%;height:100%;object-fit:cover}
.pv2-chef-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,33,30,0) 40%,rgba(43,33,30,.75) 100%)}
.pv2-chef-hero .pv2-tag{position:absolute;top:.9rem;left:.9rem;z-index:1}
.pv2-chef-hero h2{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:1;color:#fff;font-size:1.4rem;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.pv2-chef-list{list-style:none;margin:0;padding:1rem 1.1rem 1.25rem;display:flex;flex-direction:column;gap:.85rem}
.pv2-chef-list li{display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem;line-height:1.5;color:var(--pv-ink-2)}
.pv2-chef-list svg{width:20px;height:20px;flex-shrink:0;color:var(--pv-primary);margin-top:.1rem}
.pv2-chef-list b{color:var(--pv-ink)}

/* ─── Produttore ─────────────────────────────────────────────────────────── */
.pv2-producer{background:var(--pv-cream);border-radius:var(--pv-r-lg);padding:1.25rem}
.pv2-producer-head{display:flex;gap:.85rem;align-items:center}
.pv2-producer-icon{width:44px;height:44px;border-radius:var(--pv-r);background:var(--pv-honey-soft);display:grid;place-items:center;color:var(--pv-primary);flex-shrink:0}
.pv2-producer-icon svg{width:22px;height:22px}
.pv2-producer .pv2-eyebrow{margin-bottom:.15rem}
.pv2-producer h2{font-size:1.25rem}
.pv2-producer p{margin-top:.9rem;font-size:.9rem;line-height:1.55;color:var(--pv-ink-2)}
.pv2-producer-foot{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--pv-border);font-size:.78rem}
.pv2-producer-foot span{display:inline-flex;align-items:center;gap:.35rem;color:var(--pv-green);font-weight:600}
.pv2-producer-foot svg{width:15px;height:15px}
.pv2-producer-foot b{color:var(--pv-ink);font-weight:700}
.pv2-producer-foot a{color:var(--pv-primary);font-weight:600;text-decoration:none}

/* ─── Nutrizione ─────────────────────────────────────────────────────────── */
.pv2-nutri{background:var(--pv-white);border:1px solid var(--pv-border);border-radius:var(--pv-r-lg);padding:1.25rem;box-shadow:var(--pv-shadow)}
.pv2-nutri-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.75rem}
.pv2-nutri-head h2{font-size:1.3rem}
.pv2-nutri-head span{font-size:.72rem;color:var(--pv-muted);text-align:right;white-space:nowrap;padding-top:.3rem}
.pv2-nutri-table{width:100%;border-collapse:collapse;font-size:.9rem}
.pv2-nutri-table td{padding:.6rem 0;border-bottom:1px solid var(--pv-border)}
.pv2-nutri-table td:last-child{text-align:right;font-weight:500}
.pv2-nutri-table td.hl{color:var(--pv-primary);font-weight:700}
.pv2-nutri-table tr.sub td{font-size:.8rem;color:var(--pv-ink-2)}
.pv2-nutri-table tr.sub td:first-child{padding-left:1rem}
.pv2-note{margin-top:.9rem;font-size:.85rem;line-height:1.5;color:var(--pv-ink-2)}
.pv2-note b{color:var(--pv-ink)}
.pv2-note-cream{background:var(--pv-cream);border-radius:var(--pv-r);padding:.85rem .9rem}
.pv2-details{margin-top:.9rem;font-size:.85rem;color:var(--pv-ink-2)}
.pv2-details summary{cursor:pointer;font-weight:700;color:var(--pv-ink)}
.pv2-details p{margin-top:.5rem;line-height:1.5}

/* ─── Video ──────────────────────────────────────────────────────────────── */
.pv2-video-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}
.pv2-video-head a{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--pv-primary);text-decoration:none;white-space:nowrap}
.pv2-video-head a svg{width:14px;height:14px}
.pv2-video p{color:var(--pv-ink-2);font-size:.9rem;margin-top:.4rem}
.pv2-video-track{display:flex;gap:.75rem;overflow-x:auto;margin:1rem -1.25rem 0;padding:0 1.25rem .5rem;scroll-snap-type:x mandatory;scrollbar-width:none}
.pv2-video-track::-webkit-scrollbar{display:none}
.pv2-video-card{position:relative;flex:0 0 172px;aspect-ratio:9/16;border-radius:var(--pv-r-lg);overflow:hidden;background:#1a1412;scroll-snap-align:start;margin:0;cursor:pointer}
.pv2-video-card video{width:100%;height:100%;object-fit:cover;display:block}
.pv2-video-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72) 100%);pointer-events:none;transition:opacity .2s}
.pv2-video-card.playing::after{opacity:.4}
.pv2-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(251,249,246,.9);cursor:pointer;display:grid;place-items:center;z-index:2;transition:opacity .2s,transform .2s}
.pv2-video-play i{width:0;height:0;border-left:15px solid var(--pv-primary);border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:3px}
.pv2-video-card.playing .pv2-video-play{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.8)}
.pv2-video-card figcaption{position:absolute;left:.65rem;right:.65rem;bottom:.65rem;z-index:2;color:#fff;font-size:.72rem;line-height:1.35;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.pv2-video-card figcaption b{display:inline-block;background:var(--pv-rubino);color:#fff;font-size:.62rem;font-weight:700;padding:.15rem .4rem;border-radius:var(--pv-r);margin-bottom:.3rem}
.pv2-video-card figcaption span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600}

/* ─── Recensioni ─────────────────────────────────────────────────────────── */
.pv2-reviews-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}
.pv2-reviews-score{text-align:right}
.pv2-reviews-score b{display:block;font-family:var(--pv-serif);font-size:1.75rem;color:var(--pv-ink);line-height:1}
.pv2-bars{margin-top:1rem;background:var(--pv-white);border:1px solid var(--pv-border);border-radius:var(--pv-r-lg);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.5rem}
.pv2-bar{display:grid;grid-template-columns:2.4rem 1fr 1.6rem;align-items:center;gap:.6rem;font-size:.75rem;color:var(--pv-ink-2)}
.pv2-bar i{display:block;height:8px;background:var(--pv-cream);border-radius:999px;overflow:hidden}
.pv2-bar b{display:block;height:100%;background:var(--pv-gold);border-radius:999px}
.pv2-bar span:last-child{text-align:right}
.pv2-review-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}
.pv2-review{background:var(--pv-white);border:1px solid var(--pv-border);border-radius:var(--pv-r-lg);padding:1rem 1.1rem;box-shadow:var(--pv-shadow)}
.pv2-review[hidden]{display:none}
.pv2-review-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}
.pv2-review-top b{display:block;font-weight:700;font-size:.95rem}
.pv2-verified{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--pv-green);font-weight:600;margin-top:.15rem}
.pv2-verified svg{width:13px;height:13px}
.pv2-review time{font-size:.74rem;color:var(--pv-muted);white-space:nowrap}
.pv2-review .pv2-stars{margin-top:.5rem}
.pv2-review p{margin-top:.6rem;font-size:.9rem;line-height:1.55;color:var(--pv-ink-2);font-style:italic}
.pv2-btn-ghost{margin-top:1rem;width:100%;padding:.8rem 1rem;border-radius:var(--pv-r);border:1px solid var(--pv-ink);background:transparent;color:var(--pv-ink);font-weight:600;cursor:pointer}
.pv2-btn-ghost:hover{background:var(--pv-cream)}
.pv2-trustpilot{display:inline-flex;gap:.35rem;align-items:center;margin-top:1.25rem;font-size:.8rem;color:var(--pv-ink-2);text-decoration:none}
.pv2-trustpilot b{color:#00b67a}

/* ─── FAQ ────────────────────────────────────────────────────────────────── */
.pv2-faq-item{background:var(--pv-white);border:1px solid var(--pv-border);border-radius:var(--pv-r-lg);margin-top:.6rem}
.pv2-faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;font-family:var(--pv-serif);font-weight:600;font-size:1.05rem}
.pv2-faq-item summary::-webkit-details-marker{display:none}
.pv2-faq-item summary i{position:relative;width:14px;height:14px;flex-shrink:0}
.pv2-faq-item summary i::before,.pv2-faq-item summary i::after{content:'';position:absolute;background:var(--pv-primary);left:0;top:6px;width:14px;height:2px;transition:transform .2s}
.pv2-faq-item summary i::after{transform:rotate(90deg)}
.pv2-faq-item[open] summary i::after{transform:rotate(0)}
.pv2-faq-item p{margin:0 .6rem .6rem;padding:.9rem;background:var(--pv-cream);border-radius:var(--pv-r);font-size:.9rem;line-height:1.55;color:var(--pv-ink-2)}

/* ─── Correlati ──────────────────────────────────────────────────────────── */
.pv2-related-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}
.pv2-related-head a{font-size:.8rem;font-weight:600;color:var(--pv-primary)}
.pv2-related-track{display:flex;gap:.75rem;overflow-x:auto;margin:1rem -1.25rem 0;padding:.25rem 1.25rem .75rem;scroll-snap-type:x mandatory;scrollbar-width:none}
.pv2-related-track::-webkit-scrollbar{display:none}
.pv2-card{flex:0 0 168px;scroll-snap-align:start;background:var(--pv-white);border:1px solid var(--pv-border);border-radius:var(--pv-r-lg);overflow:hidden;text-decoration:none;box-shadow:var(--pv-shadow);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.pv2-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px -8px rgba(43,33,30,.14)}
.pv2-card-img{position:relative;aspect-ratio:1/1;background:var(--pv-cream);overflow:hidden}
.pv2-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pv2-card-img .pv2-tag{position:absolute;top:.5rem;left:.5rem}
.pv2-card-body{padding:.75rem .8rem .85rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.pv2-card-body>b{font-size:.85rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pv2-card-format{font-size:.74rem;color:var(--pv-muted);margin-top:-.2rem}
.pv2-card-price{margin-top:auto;display:flex;align-items:baseline;gap:.35rem;flex-wrap:wrap}
.pv2-card-price span{font-family:var(--pv-serif);font-weight:600;color:var(--pv-primary);font-size:1rem}
.pv2-card-price s,.pv2-card-price small{font-size:.72rem;color:var(--pv-muted)}
/* Kit & box regalo: stesse card dei correlati, con la fila dei prodotti inclusi */
.pv2-kit-card{flex-basis:200px}
.pv2-kit-comp{display:flex;align-items:center;gap:.45rem}
.pv2-kit-thumbs{display:inline-flex}
.pv2-kit-thumbs img{width:26px;height:26px;border-radius:50%;object-fit:cover;border:2px solid var(--pv-white);background:var(--pv-cream);margin-left:-8px}
.pv2-kit-thumbs img:first-child{margin-left:0}
.pv2-kit-comp small{font-size:.72rem;color:var(--pv-muted)}

/* ─── Fiducia ────────────────────────────────────────────────────────────── */
.pv2-trust{background:var(--pv-cream);border-radius:var(--pv-r-lg);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.9rem}
.pv2-trust>div{display:flex;gap:.75rem;align-items:flex-start}
.pv2-trust svg{width:22px;height:22px;color:var(--pv-primary);flex-shrink:0;margin-top:.1rem}
.pv2-trust b{display:block;font-size:.9rem}
.pv2-trust span{font-size:.78rem;color:var(--pv-ink-2)}

/* ─── Barra fissa in basso (mobile) ──────────────────────────────────────── */
.pv2-sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(250,248,245,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--pv-border);box-shadow:0 -8px 20px -2px rgba(43,33,30,.06);transform:translateY(110%);transition:transform .25s ease;font-family:var(--pv-sans);color:var(--pv-ink)}
.pv2-sticky.show{transform:none}
.pv2-sticky img{width:44px;height:44px;border-radius:var(--pv-r);object-fit:cover;border:1px solid var(--pv-border);order:0}
.pv2-sticky-info{order:1;flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.15}
.pv2-sticky-info b{font-family:var(--pv-serif);color:var(--pv-primary);font-size:1.05rem}
.pv2-sticky-info span{font-size:.72rem;color:var(--pv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv2-sticky .pv2-qty{order:2;height:42px}
.pv2-sticky .pv2-qty-btn{width:32px}
.pv2-sticky .pv2-qty input{width:30px;font-size:.9rem}
.pv2-sticky-add{order:3;flex:0 0 auto;height:42px;padding:0 .9rem;font-size:.9rem}

/* ═══ Tablet ═══ */
@media (min-width:768px){
  .pv2{padding:6rem 2rem 4rem}
  .pv2 h2{font-size:1.75rem}
  .pv2-title{font-size:2.25rem}
  .pv2-video-track,.pv2-related-track{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
  .pv2-video-card{flex-basis:200px}
  .pv2-card{flex-basis:200px}
  .pv2-kit-card{flex-basis:230px}
  .pv2-trust{flex-direction:row}
  .pv2-trust>div{flex:1}
}

/* ═══ Desktop: griglia 7/5 ═══ */
@media (min-width:1024px){
  .pv2{padding:6.5rem 3rem 4rem}
  /* Colonne: a sinistra galleria + contenuti editoriali (in ordine di
     documento, senza righe fisse: le sezioni assenti non lasciano buchi),
     a destra solo il pannello d'acquisto, sticky. Lo sticky è vincolato al
     contenitore .pv2-cols: quando finiscono i contenuti di sinistra scorre
     via e non copre recensioni/FAQ/correlati, che stanno fuori. */
  .pv2-cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:3rem;row-gap:0;align-items:start}
  .pv2 .pv2-cols>section{grid-column:1;min-width:0;margin-top:0;margin-bottom:2.5rem}
  .pv2 .pv2-cols>section:last-child{margin-bottom:0}
  .pv2 .pv2-cols>.pv2-buy{grid-column:2;grid-row:1 / span 6;margin-bottom:0;position:sticky;top:5.5rem}
  .pv2-story{padding:2rem}
  .pv2 .pv2-grid>section{margin-top:2.5rem}
  /* Su schermi bassi il pannello non ci sta tutto: niente sticky, scorre con la pagina */
  @media (max-height:799px){.pv2 .pv2-cols>.pv2-buy{position:static}}
  .pv2-reviews,.pv2-faq,.pv2-related{padding-top:1rem}
  .pv2-review-list{display:grid;grid-template-columns:repeat(3,1fr)}
  .pv2-bars{max-width:520px}
  .pv2-faq-item{max-width:900px}
  .pv2-card{flex-basis:calc((100% - 3.75rem) / 6)}
  .pv2-related-track{overflow:visible;flex-wrap:nowrap}
  .pv2-kits-track{flex-wrap:wrap;gap:1rem}
  .pv2-kit-card{flex-basis:calc((100% - 3rem) / 4)}
  .pv2-chef-hero{aspect-ratio:16/9}
  .pv2-chef-list{padding:1.5rem 1.75rem 1.75rem}
  .pv2-sticky{display:none}
  .pv2-purchase{padding:1.25rem}
  .pv2-story-lead{font-size:1.15rem}
  .pv2-facts{max-width:520px}
  .pv2-hero{aspect-ratio:4/3}
  .pv2-thumb{width:64px;height:64px}
}
@media (min-width:1280px){
  .pv2-title{font-size:2.5rem}
  .pv2 h2{font-size:2rem}
  .pv2-story h2{font-size:2rem}
}
/* Il sito ha già una barra di riepilogo carrello: qui non deve sovrapporsi */
body.has-sticky-bar .pv2-sticky{bottom:0}

/* ═══════════════════════════════════════════════════════════════════════════
   KIT & BOX REGALO (24/09/2026) — includes/kit_dettaglio.php
   Stesse variabili e stessi componenti della scheda prodotto; qui solo ciò
   che la scheda kit ha in più: elenco «Cosa c'è nella box» nel pannello,
   griglia dei componenti, «Perché sceglierlo», card «Componi la tua box».
   ═══════════════════════════════════════════════════════════════════════════ */
.pv2-kit-save{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem!important;font-weight:600;color:var(--pv-green)!important;background:var(--pv-green-soft);border:1px solid var(--pv-green-line);border-radius:999px;padding:.2rem .6rem}
.pv2-kit-save b{font-weight:700}
.pv2-kit-inside{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;border:1px solid var(--pv-border);border-radius:var(--pv-r);background:var(--pv-surface);overflow:hidden}
.pv2-kit-inside li{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-top:1px solid var(--pv-border)}
.pv2-kit-inside li:first-child{border-top:0}
.pv2-kit-inside-img{flex:0 0 44px;width:44px;height:44px;border-radius:var(--pv-r);overflow:hidden;background:var(--pv-cream);border:1px solid var(--pv-border)}
.pv2-kit-inside-img img{width:100%;height:100%;object-fit:cover}
.pv2-kit-inside-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.pv2-kit-inside-txt a{font-size:.86rem;font-weight:600;color:var(--pv-ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv2-kit-inside-txt a:hover{color:var(--pv-primary)}
.pv2-kit-inside-txt span{font-size:.74rem;color:var(--pv-muted)}
.pv2-kit-inside-txt span:empty{display:none}
.pv2-kit-inside li>b{font-family:var(--pv-serif);font-size:.9rem;font-weight:500;color:var(--pv-ink-2);white-space:nowrap}
.pv2-story-html p{margin:0 0 .75rem}
.pv2-story-html p:last-child{margin-bottom:0}
.pv2-story-html ul,.pv2-story-html ol{margin:.5rem 0 .75rem 1.2rem;padding:0}
.pv2-story-html strong{color:var(--pv-ink)}
.pv2-comp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.pv2-comp-card{flex:none;width:auto}
.pv2-comp-qty{position:absolute;right:.5rem;top:.5rem;background:var(--pv-ink);color:#fff;font-size:.72rem;font-weight:700;padding:.25rem .5rem;border-radius:999px}
.pv2-comp-badges{display:flex;gap:.3rem;flex-wrap:wrap;min-height:18px}
.pv2-comp-badges img{width:18px;height:18px;object-fit:contain}
.pv2-comp-badges:empty{display:none}
.pv2-comp-link{margin-left:auto;color:var(--pv-primary)!important;font-weight:600}
.pv2-why h2{font-size:1.3rem;margin-bottom:.9rem}
.pv2-why-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.8rem}
.pv2-why-list li{display:flex;gap:.8rem;align-items:flex-start}
.pv2-why-list b{display:block;font-size:.92rem}
.pv2-why-list li>div>span{font-size:.8rem;color:var(--pv-ink-2);line-height:1.45}
.pv2-box-cta{background:var(--pv-primary);border-color:var(--pv-primary-deep);color:#fbf8f5;justify-content:center}
.pv2-box-cta:hover{background:var(--pv-rubino)}
.pv2-box-cta-body{padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.45rem;align-items:flex-start;height:100%}
.pv2-box-cta-icon{width:44px;height:44px;border-radius:var(--pv-r);background:rgba(255,255,255,.14);display:grid;place-items:center;margin-bottom:.25rem}
.pv2-box-cta-body b{font-family:var(--pv-serif);font-size:1.2rem;font-weight:500;line-height:1.2}
.pv2-box-cta-body span{font-size:.8rem;opacity:.9;line-height:1.4}
.pv2-box-cta-body em{margin-top:auto;font-style:normal;font-weight:700;font-size:.85rem;letter-spacing:.02em}
@media (min-width:768px){
  .pv2-comp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
  .pv2-why-list{grid-template-columns:1fr 1fr}
}
@media (min-width:1024px){
  .pv2-comp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pv2-kit .pv2-hero{aspect-ratio:1/1}
}
.pv2-box-cta-body b,.pv2-box-cta-body span,.pv2-box-cta-body em{color:#fbf8f5}
.pv2-kit-save{white-space:normal;line-height:1.3}
