:root{
  --bg:#ffffff; --bg-alt:#f5f5f7; --bg-dark:#0d0d0f;
  --ink:#16171b; --ink-soft:#6e7076; --line:#e5e5e7; --line-soft:#eeeef0;
  --blue:#0071e3; --blue-dark:#0058b0; --blue-tint:#eef6ff;
  --wa:#22c55e; --wa-dark:#16a34a;
  --ok:#1a9e5c;
  --radius-pill:980px; --radius:14px;
  --ease:cubic-bezier(.22,1,.36,1);
  --sans:'Inter',-apple-system,'SF Pro Text',sans-serif;
  --disp:'Inter Tight',-apple-system,'SF Pro Display',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:clip}
html.lenis{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}
::selection{background:var(--blue);color:#fff}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
img{max-width:100%;display:block}
.wrap{max-width:1280px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}
.pdp-wrap{padding-inline:clamp(1.25rem,4vw,3rem)}
h1,h2,h3{font-family:var(--disp);letter-spacing:-.02em}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--sans);font-size:.95rem;font-weight:600;padding:.85rem 1.7rem;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .2s var(--ease)}
.btn:active{transform:scale(.97)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-dark)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:var(--wa-dark)}
.btn-sm{padding:.6rem 1.2rem;font-size:.82rem}
.btn svg{width:1em;height:1em}

/* ---------- announce ---------- */
.announce{background:var(--ink);color:#fff;overflow:hidden;padding-block:.5rem}
.announce .track{display:flex;gap:2.5rem;width:max-content}
.announce span{font-size:.76rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;display:flex;align-items:center;gap:2.5rem;opacity:.9}
.announce span::after{content:"•";opacity:.4}

/* ---------- nav ---------- */
header.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:2.2rem;padding:.7rem clamp(1.25rem,4vw,3rem);background:rgba(255,255,255,.82);backdrop-filter:blur(20px) saturate(1.8);border-bottom:1px solid var(--line-soft)}
.brand{display:flex;align-items:center;gap:.65rem}
.brand img{width:2.15rem;height:2.15rem;border-radius:50%;object-fit:cover}
.brand b{font-family:var(--disp);font-weight:800;font-size:1.15rem;letter-spacing:-.01em}
.nav-links{display:flex;gap:1.9rem;font-size:.88rem;font-weight:500;margin-inline:auto}
.nav-links a{color:var(--ink-soft);transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-cta{display:flex;align-items:center;gap:.7rem}
.nav-call{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--ink-soft)}

/* ---------- trust strip ---------- */
.trust{border-bottom:1px solid var(--line-soft);background:var(--bg-alt)}
.trust-row{display:flex;justify-content:space-between;align-items:center;padding-block:.85rem;gap:1rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--ink-soft)}
.trust-item svg{width:16px;height:16px;color:var(--ok);flex-shrink:0}

/* ---------- hero ---------- */
.hero{padding-block:clamp(2.5rem,6vh,4.5rem)}
.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--blue);background:var(--blue-tint);padding:.45rem .9rem;border-radius:var(--radius-pill);margin-bottom:1.3rem}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}
h1.hero-h1{font-size:clamp(2.4rem,1.7rem + 3.4vw,4.2rem);font-weight:800;line-height:1.03;letter-spacing:-.03em}
.hero-sub{margin-top:1.1rem;font-size:clamp(1.05rem,1rem + .3vw,1.25rem);color:var(--ink-soft);max-width:30rem;line-height:1.5}
.hero-ctas{display:flex;gap:.85rem;margin-top:1.8rem;flex-wrap:wrap}
.hero-stats{display:flex;gap:clamp(1.5rem,4vw,2.6rem);margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.hstat b{font-family:var(--disp);font-size:1.7rem;font-weight:800;display:block;line-height:1.1}
.hstat span{font-size:.76rem;color:var(--ink-soft);font-weight:500}
.hero-media{position:relative}
.hero-media .shot{border-radius:24px;overflow:hidden;position:relative;background:var(--bg-alt);aspect-ratio:1/1}
.hero-media img{width:100%;height:100%;object-fit:cover}
.price-float{position:absolute;bottom:1.1rem;left:1.1rem;right:1.1rem;background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.12);padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.price-float .m{font-size:.82rem;font-weight:700}
.price-float .s{font-size:.72rem;color:var(--ink-soft);margin-top:.1rem}
.price-float .p{font-family:var(--disp);font-size:1.3rem;font-weight:800;color:var(--blue)}

/* ---------- PLP page header ---------- */
.plp-head{padding-block:clamp(2rem,5vh,3.2rem) .5rem}
.plp-head h1{font-size:clamp(2rem,1.5rem + 2.4vw,3.2rem);font-weight:800;letter-spacing:-.03em}
.plp-head p{color:var(--ink-soft);margin-top:.6rem;max-width:34rem;font-size:1.05rem}

/* ---------- sections ---------- */
section{padding-block:clamp(3.5rem,8vh,6rem)}
.sec-top{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}
h2.sec-h{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.6rem);font-weight:800;letter-spacing:-.025em}
.sec-sub{color:var(--ink-soft);font-size:1rem;margin-top:.4rem;max-width:36rem}
.sec-alt{background:var(--bg-alt)}

/* ---------- shop bar / filters ---------- */
.shop-bar{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.8rem;align-items:center}
.chip{font-size:.85rem;font-weight:600;padding:.55rem 1.1rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:#fff;cursor:pointer;transition:all .2s var(--ease);color:var(--ink)}
.chip:hover{border-color:var(--ink)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.count{font-size:.82rem;color:var(--ink-soft);font-weight:500;margin-left:auto;align-self:center}

/* ---------- product grid ---------- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s var(--ease),border-color .3s var(--ease)}
.card:hover{box-shadow:0 16px 40px rgba(15,15,20,.09);border-color:var(--line)}
.card.hidden{display:none}
.card .ph{position:relative;aspect-ratio:1/1;background:var(--bg-alt);overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .5s var(--ease)}
.card:hover .ph img{transform:scale(1.04)}
.card .ph.contain{background:#fff}
.card .ph.contain img{object-fit:contain;padding:1.1rem;transition:transform .5s var(--ease)}
.card:hover .ph.contain img{transform:scale(1.06)}
.card .seal{position:absolute;top:.7rem;right:.7rem;background:var(--blue);color:#fff;font-size:.66rem;font-weight:700;padding:.3rem .6rem;border-radius:6px;z-index:2}
.card .save{position:absolute;top:.7rem;left:.7rem;background:var(--ok);color:#fff;font-size:.68rem;font-weight:700;padding:.3rem .6rem;border-radius:6px}
.card .body{padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.card h3{font-size:1rem;font-weight:700;line-height:1.25}
.card .spec{font-size:.78rem;color:var(--ink-soft);font-weight:500}
.card .batt{margin-top:.15rem}
.card .batt .lbl{display:flex;justify-content:space-between;font-size:.7rem;color:var(--ink-soft);margin-bottom:.3rem;font-weight:600}
.card .batt .lbl b{color:var(--ok)}
.card .batt .bar{height:4px;background:var(--line-soft);border-radius:3px;overflow:hidden}
.card .batt .fill{height:100%;background:var(--ok);width:0;border-radius:3px}
.card .pricing{margin-top:auto;padding-top:.7rem;display:flex;align-items:baseline;gap:.5rem}
.card .now{font-family:var(--disp);font-size:1.28rem;font-weight:800}
.card .now small{font-size:.65em;font-weight:600;color:var(--ink-soft)}
.card .was{font-size:.8rem;color:var(--ink-soft);text-decoration:line-through}
.card .cta{margin-top:.75rem;width:100%}
.shop-note{font-size:.85rem;color:var(--ink-soft);margin-top:1.6rem}
.shop-note a{color:var(--blue);font-weight:600}

/* ---------- info tile (iPad / Accessoires — no fabricated product photos) ---------- */
.card.tile .ph{display:flex;align-items:center;justify-content:center;background:var(--blue-tint)}
.card.tile .ph svg{width:3.2rem;height:3.2rem;color:var(--blue)}
.card.tile .desc{font-size:.85rem;color:var(--ink-soft);line-height:1.5}

/* ---------- promise / trust grid ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:0}
.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;gap:.9rem}
.tcard .ic{width:2.6rem;height:2.6rem;border-radius:10px;background:var(--blue-tint);display:flex;align-items:center;justify-content:center;color:var(--blue)}
.tcard .ic svg{width:1.35rem;height:1.35rem}
.tcard h3{font-size:1.05rem;font-weight:700}
.tcard p{font-size:.87rem;color:var(--ink-soft);line-height:1.5}

/* ---------- maison ---------- */
.maison{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.collage{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.collage figure{border-radius:16px;overflow:hidden;border:1px solid var(--line);position:relative;background:var(--bg-alt)}
.collage figure img{width:100%;height:100%;object-fit:cover}
.collage figure:first-child{grid-column:1/-1;aspect-ratio:16/9}
.collage figure:not(:first-child){aspect-ratio:1/1.05}
.maison-txt h3{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.2rem);font-weight:800;letter-spacing:-.02em;line-height:1.12}
.maison-txt p{color:var(--ink-soft);margin-top:1rem;font-size:1rem;line-height:1.6}
.svc-list{margin-top:1.6rem;display:flex;flex-direction:column;gap:.1rem}
.svc{display:flex;align-items:center;gap:.85rem;padding-block:.75rem;border-top:1px solid var(--line)}
.svc:last-child{border-bottom:1px solid var(--line)}
.svc .ic{width:2.1rem;height:2.1rem;border-radius:8px;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink)}
.svc .ic svg{width:1.1rem;height:1.1rem}
.svc b{font-size:.95rem;font-weight:700}
.svc span{font-size:.8rem;color:var(--ink-soft);margin-left:auto;text-align:right}

/* ---------- hours banner ---------- */
.hours-banner{background:var(--ink);color:#fff;border-radius:20px;padding:clamp(1.8rem,4vw,3rem);display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;margin-top:clamp(2rem,5vh,3.5rem)}
.hours-banner .big{font-family:var(--disp);font-size:clamp(1.8rem,1.4rem + 2vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.08}
.hours-banner .big span{color:#5eb1ff}
.hours-banner p{color:rgba(255,255,255,.65);margin-top:.8rem;font-size:.95rem;max-width:26rem}
.hours{font-size:.85rem;background:rgba(255,255,255,.06);border-radius:12px;padding:.3rem 1rem}
.hours div{display:flex;justify-content:space-between;padding-block:.75rem;border-top:1px solid rgba(255,255,255,.1)}
.hours div:first-child{border-top:none}

/* ---------- reviews ---------- */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.9rem}
.rev .stars{color:#f5a623;font-size:.85rem;letter-spacing:.15em}
.rev p{font-size:.92rem;color:var(--ink);line-height:1.55}
.rev .who{font-size:.78rem;color:var(--ink-soft);font-weight:600;margin-top:auto}

/* ---------- faq ---------- */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.15rem;font-weight:700;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blue);font-size:1.3rem;font-weight:400;transition:transform .25s var(--ease);flex-shrink:0}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding-bottom:1.15rem;color:var(--ink-soft);font-size:.95rem;line-height:1.6;max-width:66ch}

/* ---------- contact ---------- */
.contact-band{background:var(--bg-dark);color:#fff}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.cbox{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;transition:background .25s}
.cbox:hover{background:rgba(255,255,255,.09)}
.cbox .ic{color:#5eb1ff}
.cbox .ic svg{width:1.3rem;height:1.3rem}
.cbox .lbl{font-size:.74rem;color:rgba(255,255,255,.5);font-weight:600}
.cbox .val{font-size:1.02rem;font-weight:700;margin-top:.1rem}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding-block:1.6rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
footer .fine{font-size:.8rem;color:var(--ink-soft)}
footer .flinks{display:flex;gap:1.4rem}
footer .flinks a{font-size:.8rem;color:var(--ink-soft);font-weight:500}
footer .flinks a:hover{color:var(--ink)}

/* wa float */
.wa-float{position:fixed;bottom:1.4rem;right:1.4rem;z-index:60;width:3.4rem;height:3.4rem;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(34,197,94,.4);transition:transform .25s var(--ease)}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:1.7rem;height:1.7rem}

/* reveals */
.rv{opacity:0;transform:translateY(22px)}
html.anim .rv{opacity:0;transform:translateY(22px)}
html:not(.anim) .rv{opacity:1;transform:none}

@media (max-width:1100px){.grid,.acc-grid{grid-template-columns:repeat(3,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
  .hero-grid,.maison,.hours-banner{grid-template-columns:1fr}
  .hero-media{order:-1}
  .nav-links,.nav-call{display:none}
  .grid,.acc-grid{grid-template-columns:repeat(2,1fr)}
  .rev-grid{grid-template-columns:1fr}
  .trust-row{justify-content:flex-start;gap:1.1rem .1rem}
  .trust-item{flex:0 0 auto}
  .price-float{flex-direction:column;align-items:flex-start;gap:.3rem}
}
/* ---------- breadcrumb ---------- */
.crumb{font-size:.82rem;color:var(--ink-soft);padding-block:1.2rem .5rem;display:flex;gap:.4rem;flex-wrap:wrap}
.crumb a{color:var(--ink-soft)}
.crumb a:hover{color:var(--blue)}
.crumb span{opacity:.5}

/* ---------- warranty badge ---------- */
.warranty-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--blue-tint);color:var(--blue-dark);font-size:.82rem;font-weight:700;padding:.55rem 1rem;border-radius:var(--radius-pill)}
.warranty-badge svg{width:1.05rem;height:1.05rem}

/* ---------- PDP layout ---------- */
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4.5vw,3.5rem);align-items:start;padding-block:1rem clamp(3rem,7vh,5rem)}
.gallery{position:sticky;top:5.2rem}
.gallery-main{aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:var(--bg-alt);border:1px solid var(--line);position:relative;cursor:zoom-in}
.gallery-main img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.gallery-main:hover img{transform:scale(1.05)}
.gallery-main.contain img{object-fit:contain;padding:2.5rem}
.gallery-main.contain:hover img{transform:scale(1.04)}
.gallery-main .save{position:absolute;top:1rem;left:1rem;background:var(--ok);color:#fff;font-size:.72rem;font-weight:700;padding:.35rem .7rem;border-radius:6px;z-index:2}
.gallery-thumbs{display:flex;gap:.6rem;margin-top:.8rem}
.gallery-thumbs button{width:4.4rem;height:4.4rem;border-radius:10px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:var(--bg-alt)}
.gallery-thumbs button.on{border-color:var(--blue)}
.gallery-thumbs img{width:100%;height:100%;object-fit:cover}
.gallery-note{font-size:.76rem;color:var(--ink-soft);margin-top:.7rem;text-align:center}

.pdp-spec{color:var(--ink-soft);font-size:.95rem;margin-top:.35rem}
.pdp-highlights{margin-top:.9rem;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:1.5rem;row-gap:.5rem}
@media (max-width:560px){.pdp-highlights{grid-template-columns:1fr;grid-auto-flow:row}}
.pdp-highlights li{display:flex;justify-content:center;align-items:flex-start;gap:.6rem;font-size:.9rem;color:var(--ink-soft);list-style:none;text-align:left}
.pdp-highlights svg{width:1.05rem;height:1.05rem;color:var(--ok);flex-shrink:0;margin-top:.15rem}

/* ---------- storage/length selector ---------- */
.opt-row{margin-top:1.3rem}
.opt-row .lbl{font-size:.82rem;font-weight:700;margin-bottom:.55rem}
.opt-pills{display:flex;gap:.6rem;flex-wrap:wrap}
.opt-pill{padding:.6rem 1.1rem;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s var(--ease)}
.opt-pill:hover{border-color:var(--ink)}
.opt-pill.on{border-color:var(--blue);background:var(--blue-tint);color:var(--blue-dark)}

/* ---------- Apple-grade PDP ---------- */
.pdp-hero{display:grid;grid-template-columns:3fr 2fr;gap:clamp(2rem,4vw,4rem);align-items:start;padding-block:1rem 0}
.pdp-gallery{position:sticky;top:5.5rem;justify-self:stretch}
.pdp-stage{height:min(calc(64vh + 20px),640px);width:100%;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;cursor:none}
.pdp-stage img{width:100%;height:100%;object-fit:contain;transition:opacity .25s var(--ease)}
@media (hover:none){.pdp-stage{cursor:pointer}}
.pdp-stage .seal{position:absolute;top:1rem;left:1rem;background:var(--blue);color:#fff;font-size:.7rem;font-weight:700;padding:.32rem .7rem;border-radius:6px;z-index:2}

.pdp-top-block{display:flex;flex-direction:column;justify-content:space-between}
@media (max-width:1024px){.pdp-top-block{display:block;height:auto!important}}

.pdp-gnav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:2.4rem;height:2.4rem;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease);box-shadow:0 6px 18px rgba(15,15,20,.08)}
.pdp-gnav:hover{background:#fff;border-color:var(--ink-soft)}
.pdp-gnav svg{width:1.05rem;height:1.05rem}
.pdp-gnav.prev{left:.8rem}
.pdp-gnav.next{right:.8rem}

.pdp-lightbox{position:fixed;inset:0;background:rgba(255,255,255,.98);z-index:200;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}
.pdp-lightbox.show{opacity:1;visibility:visible}
.lb-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lb-stage img{max-width:84vw;max-height:82vh;object-fit:contain;cursor:zoom-in;transition:transform .25s var(--ease);transform-origin:center center}
.lb-stage.zoomed img{cursor:zoom-out;transform:scale(2)}
.lb-close{position:fixed;top:1.2rem;right:1.4rem;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg-alt);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);z-index:3;transition:background .2s var(--ease)}
.lb-close:hover{background:var(--line-soft)}
.lb-close svg{width:1.05rem;height:1.05rem}
.lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:2.8rem;height:2.8rem;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);z-index:3;box-shadow:0 6px 18px rgba(15,15,20,.08);transition:background .2s var(--ease),border-color .2s var(--ease)}
.lb-nav:hover{background:#fff;border-color:var(--ink-soft)}
.lb-nav svg{width:1.2rem;height:1.2rem}
.lb-nav.prev{left:1.2rem}
.lb-nav.next{right:1.2rem}
@media (max-width:640px){.lb-nav{display:none}}
.lb-dots{position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:3}
.lb-dots i{width:.4rem;height:.4rem;border-radius:50%;background:var(--line);transition:background .2s var(--ease)}
.lb-dots i.active{background:var(--blue)}

/* miniatures en bas de la lightbox — clic sur l'image pour toutes les voir */
.lb-thumbs{position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:3}
.lb-thumbs button{width:3.2rem;height:3.2rem;border-radius:9px;overflow:hidden;border:2px solid transparent;opacity:.55;cursor:pointer;transition:opacity .2s var(--ease),border-color .2s var(--ease);background:#fff}
.lb-thumbs button:hover{opacity:.85}
.lb-thumbs button.active{opacity:1;border-color:var(--ink)}
.lb-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:640px){.lb-thumbs{display:none}}

/* curseur personnalisé — anneau "Voir" au survol de la photo produit */
.cursor-ring{position:fixed;top:0;left:0;width:2.6rem;height:2.6rem;border-radius:50%;border:1.5px solid var(--ink);background:transparent;pointer-events:none;z-index:60;opacity:0;transform:translate(-50%,-50%) scale(.7);transition:opacity .22s var(--ease),transform .22s var(--ease)}
.cursor-ring.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (hover:none){.cursor-ring{display:none}}

.pdp-thumbs{display:flex;justify-content:center;gap:.6rem;margin-top:.9rem;flex-wrap:wrap}
.pdp-thumbs button{width:4.6rem;height:4.6rem;border-radius:12px;border:2px solid var(--line);background:#fff;padding:.3rem;cursor:pointer;transition:border-color .2s var(--ease)}
.pdp-thumbs button:hover{border-color:var(--ink-soft)}
.pdp-thumbs button.on{border-color:var(--blue)}
.pdp-thumbs img{width:100%;height:100%;object-fit:contain}

/* badge garantie — coin haut-droit de la photo, sur tous les produits */
.pdp-warranty-corner{position:absolute;top:1rem;right:1rem;z-index:2;display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid var(--line);color:var(--blue-dark);font-size:.7rem;font-weight:700;padding:.4rem .7rem;border-radius:var(--radius-pill);box-shadow:0 4px 14px rgba(15,15,20,.08)}
.pdp-warranty-corner svg{width:.9rem;height:.9rem;color:var(--blue)}

.pdp-info{text-align:center}
.pdp-eyebrow{font-size:.8rem;font-weight:600;color:var(--blue);letter-spacing:.01em}
.pdp-namerow{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-top:.35rem}
.pdp-title{font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.pdp-namerow .price{font-family:var(--disp);font-size:clamp(1.1rem,.95rem + .6vw,1.4rem);font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.pdp-namerow .price .ask{font-size:.85em;color:var(--ink-soft);font-weight:700}
.pdp-tagline{color:var(--ink-soft);font-size:1.02rem;margin-top:.35rem}

.pdp-details{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.pdp-details .opt-head{width:100%}
.pdp-details.cols-3 .spec-row{flex:0 1 calc(33.333% - .667rem)}
.pdp-details.cols-2 .spec-row{flex:0 1 calc(50% - .5rem)}
.pdp-details .spec-row{flex-direction:column;align-items:center;gap:.7rem;padding:1rem;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:14px}
.pdp-details .spec-row .ic{width:2.3rem;height:2.3rem}
.pdp-details .spec-row .ic svg{width:1.15rem;height:1.15rem}
.pdp-details .spec-row p{font-size:.82rem;line-height:1.5}
@media (max-width:560px){.pdp-details.cols-3 .spec-row,.pdp-details.cols-2 .spec-row{flex-basis:calc(50% - .5rem)}}

.opt-block{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}
.opt-head{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin-bottom:.6rem}
.opt-head h2{font-size:1rem;font-weight:700}
.opt-head .val{font-size:.85rem;color:var(--ink-soft);font-weight:600}
.swatches{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}
.swatch{width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid rgba(0,0,0,.12);cursor:pointer;padding:0;position:relative;transition:transform .2s var(--ease)}
.swatch:hover{transform:scale(1.08)}
.swatch.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--blue)}
.storage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.7rem}
.storage-opt{border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;cursor:pointer;text-align:center;background:#fff;transition:border-color .2s var(--ease),background .2s var(--ease)}
.storage-opt:hover{border-color:var(--ink-soft)}
.storage-opt.on{border-color:var(--blue);border-width:2px;padding:calc(.85rem - 1px) calc(1rem - 1px)}
.storage-opt b{display:block;font-size:.95rem;font-weight:700}
.storage-opt span{display:block;font-size:.8rem;color:var(--ink-soft);margin-top:.2rem}
.storage-opt.on span{color:var(--blue-dark);font-weight:600}

/* CTA finaux — Commander (ouvre le checkout) + Contactez-nous (WhatsApp/tél.) */
.pdp-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.1rem;padding-top:1rem}
.pdp-cta-row .btn{width:100%}
.pdp-reassure{display:flex;flex-direction:column;gap:.5rem;margin-top:1.1rem}
.pdp-reassure span{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink-soft)}
.pdp-reassure svg{width:1rem;height:1rem;color:var(--ok);flex-shrink:0}

/* ---------- modale de commande ---------- */
.modal-backdrop{position:fixed;inset:0;background:rgba(15,15,20,.5);z-index:100;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}
.modal-backdrop.open{opacity:1;pointer-events:auto}
.modal-box{background:#fff;width:100%;max-width:34rem;max-height:92vh;overflow-y:auto;border-radius:24px 24px 0 0;padding:1.6rem clamp(1.2rem,4vw,2rem) 2rem;position:relative;transform:translateY(3%);transition:transform .3s var(--ease)}
.modal-backdrop.open .modal-box{transform:translateY(0)}
.modal-close{position:absolute;top:1.1rem;right:1.1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--bg-alt);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.modal-close svg{width:1.1rem;height:1.1rem}
.modal-title{font-size:1.2rem;font-weight:800;padding-right:2.5rem}
.modal-sub{font-size:.85rem;color:var(--ink-soft);margin-top:.3rem}
@media (min-width:640px){.modal-backdrop{align-items:center}.modal-box{border-radius:24px;max-height:88vh}}

/* options de livraison — carrés */
.delivery-square-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.delivery-square{display:flex;align-items:center;gap:.65rem;border:2px solid var(--line);border-radius:14px;padding:.85rem 1rem;text-align:left;background:#fff;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease)}
.delivery-square:hover{border-color:var(--ink-soft)}
.delivery-square.on{border-color:var(--blue);background:var(--blue-tint)}
.delivery-square.disabled{opacity:.4;cursor:not-allowed}
.delivery-square .ic{width:2.1rem;height:2.1rem;border-radius:8px;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.delivery-square .ic svg{width:1.1rem;height:1.1rem;color:#16171b}
.delivery-square .txt{display:flex;flex-direction:column;gap:.15rem;line-height:1.25;min-width:0}
.delivery-square .t{font-weight:700;font-size:.9rem}
.delivery-square .p{font-size:.76rem;color:var(--ink-soft)}
.delivery-square.on .p{color:var(--blue-dark);font-weight:600}
.delivery-pickup-big{margin-top:.7rem;border:2px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem;text-align:left;background:#fff;cursor:pointer;width:100%;transition:border-color .2s var(--ease),background .2s var(--ease)}
.delivery-pickup-big:hover{border-color:var(--ink-soft)}
.delivery-pickup-big.on{border-color:var(--blue);background:var(--blue-tint)}
.delivery-pickup-big .t{font-weight:700;font-size:1rem}
.delivery-pickup-big .p{font-size:.82rem;color:var(--ink-soft);margin-top:.25rem}
.delivery-pickup-big.on .p{color:var(--blue-dark)}

/* retrait en magasin — variante compacte, icône boutique noire */
.delivery-pickup-mini{margin-top:.6rem;display:flex;align-items:center;gap:.65rem;border:1.5px solid var(--line);border-radius:12px;padding:.6rem .8rem;background:#fff;cursor:pointer;width:100%;text-align:left;transition:border-color .2s var(--ease),background .2s var(--ease)}
.delivery-pickup-mini:hover{border-color:var(--ink-soft)}
.delivery-pickup-mini.on{border-color:var(--blue);background:var(--blue-tint)}
.delivery-pickup-mini .shop-ic{width:2rem;height:2rem;border-radius:8px;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.delivery-pickup-mini .shop-ic svg{width:1.05rem;height:1.05rem;color:#16171b}
.delivery-pickup-mini .txt{display:flex;flex-direction:column;gap:.1rem;line-height:1.3}
.delivery-pickup-mini .txt b{font-size:.82rem;font-weight:700}
.delivery-pickup-mini .txt small{font-size:.72rem;color:var(--ink-soft)}

/* liste compacte des 3 accessoires additionnels (checkout uniquement) */
.acc-extra-list{margin-top:.6rem;display:flex;flex-direction:column;gap:.5rem}

/* accessoires additionnels — rectangles côte à côte (checkout) */
.acc-rect-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:.6rem}
.acc-rect{border:1.5px solid var(--line);border-radius:12px;padding:.65rem .5rem;background:#fff;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;transition:border-color .2s var(--ease),background .2s var(--ease)}
.acc-rect:hover{border-color:var(--ink-soft)}
.acc-rect.on{border-color:var(--blue);background:var(--blue-tint)}
.acc-rect .ph{width:3.6rem;height:3.6rem;border-radius:9px;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.acc-rect .ph img{width:100%;height:100%;object-fit:contain;padding:.2rem}
.acc-rect .ph svg{width:1.5rem;height:1.5rem;color:var(--blue)}
.acc-rect b{font-size:.72rem;font-weight:700;line-height:1.2}
.acc-rect .price{font-size:.72rem;font-weight:800;color:var(--blue)}
.acc-rect.on .price{color:var(--blue-dark)}

/* couleur & stockage par pièce (qté ≥ 2), logique Naïsoun */
.uc-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-block:.6rem;border-top:1px solid var(--line)}
.uc-row:first-of-type{border-top:none;padding-top:0}
.uc-idx{font-size:.8rem;font-weight:600;color:var(--ink-soft);flex-shrink:0}
.uc-picks{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.uc-sws{display:flex;gap:.35rem}
.uc-sw{width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid rgba(0,0,0,.12);cursor:pointer;padding:0}
.uc-sw.active{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--blue)}
.uc-szs{display:flex;gap:.35rem}
.uc-sz{padding:.3rem .55rem;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:.72rem;font-weight:600;cursor:pointer}
.uc-sz.active{border-color:var(--blue);background:var(--blue-tint);color:var(--blue-dark)}
.modal-config-recap{font-size:.88rem;color:var(--ink-soft);margin-top:.3rem}

/* sélecteurs couleur & stockage dans la modale (qté = 1) */
.modal-sel-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.8rem;flex-wrap:wrap}
.modal-sel-row:first-of-type{margin-top:.5rem}
.modal-sel-lbl{font-size:.82rem;font-weight:600;color:var(--ink-soft);flex-shrink:0}
.modal-sel-pills{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.modal-storage-pill{padding:.4rem .75rem;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease)}
.modal-storage-pill.on{border-color:var(--blue);background:var(--blue-tint);color:var(--blue-dark)}

/* spec highlights — Apple style rows */
.spec-band{background:var(--bg-alt)}
.spec-list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(2rem,4vw,4rem);margin-top:1.5rem}
.spec-row{display:flex;gap:1.1rem;align-items:flex-start;padding-block:1.5rem;border-top:1px solid var(--line)}
.spec-row .ic{width:2.6rem;height:2.6rem;flex-shrink:0;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.spec-row .ic svg{width:1.3rem;height:1.3rem}
.spec-row p{font-size:.98rem;line-height:1.55;color:var(--ink)}

@media (max-width:1024px){.pdp-hero{grid-template-columns:1fr}.pdp-gallery{position:static;justify-self:stretch}.pdp-stage{width:100%;height:auto;aspect-ratio:1/1}.pdp-info{max-width:none}.spec-list{grid-template-columns:1fr}}
@media (max-width:560px){.pdp-cta-row,.delivery-square-row{grid-template-columns:1fr}}

/* ---------- témoignages vidéo (fiche produit) ---------- */
.pdp-testi{padding-block:clamp(2.5rem,5vh,4rem)}
.pdp-testi-head{text-align:center;margin-bottom:1.6rem}
.pdp-testi-eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.pdp-testi-title{font-family:var(--disp);font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);font-weight:800;margin-top:.35rem}

.testi-wrap{position:relative;max-width:44rem;margin-inline:auto}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.testi-card{position:relative;aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:var(--bg-alt);cursor:pointer;border:1px solid var(--line)}
.testi-card img,.testi-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.testi-card .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,15,20,.18);transition:background .2s var(--ease)}
.testi-card:hover .play{background:rgba(15,15,20,.28)}
.testi-card .play svg{width:3.2rem;height:3.2rem;color:#fff;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}
.testi-card.playing .play{display:none}
.testi-card.playing video{display:block}
.testi-card video{display:none}

.testi-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:2.4rem;height:2.4rem;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease);box-shadow:0 6px 18px rgba(15,15,20,.08)}
.testi-nav:hover{background:#fff;border-color:var(--ink-soft)}
.testi-nav svg{width:1.05rem;height:1.05rem}
.testi-nav.prev{left:-1.2rem}
.testi-nav.next{right:-1.2rem}

@media (max-width:640px){
  .testi-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;margin-inline:calc(-1 * clamp(1.25rem,4vw,3rem));padding-inline:clamp(1.25rem,4vw,3rem);padding-bottom:.5rem}
  .testi-card{flex:0 0 62vw;scroll-snap-align:center}
  .testi-nav.prev{left:.4rem}
  .testi-nav.next{right:.4rem}
}

/* cartes de preuve — pourquoi commander chez Val Phone en confiance */
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:64rem;margin:2.2rem auto 0}
.proof-card{border:1px solid var(--line);border-radius:16px;padding:1.5rem 1.3rem;text-align:center;background:#fff;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.proof-card:hover{border-color:var(--ink-soft);box-shadow:0 12px 28px rgba(15,15,20,.06)}
.proof-card .ic{width:2.9rem;height:2.9rem;border-radius:11px;background:var(--blue-tint);display:flex;align-items:center;justify-content:center;margin:0 auto .95rem}
.proof-card .ic svg{width:1.45rem;height:1.45rem;color:var(--blue)}
.proof-card b{display:block;font-size:.95rem;font-weight:700;letter-spacing:-.01em}
.proof-card p{font-size:.82rem;color:var(--ink-soft);margin-top:.4rem;line-height:1.5}
@media (max-width:900px){.proof-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.proof-grid{grid-template-columns:1fr}}

/* ---------- accessory category grid (PLP) ---------- */
.acc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.acc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s var(--ease)}
.acc-card:hover{box-shadow:0 16px 40px rgba(15,15,20,.09)}
.acc-card .ph{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.acc-card .ph img{width:100%;height:100%;object-fit:contain;padding:1.4rem}
.acc-card .ph svg{width:3rem;height:3rem;color:var(--blue)}
.acc-card .body{padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.4rem}
.acc-card h3{font-size:.95rem;font-weight:700}
.acc-card .spec{font-size:.76rem;color:var(--ink-soft)}
.acc-card .now{font-family:var(--disp);font-size:1.05rem;font-weight:800;margin-top:.3rem}
.acc-card .now.soon{font-size:.85rem;color:var(--ink-soft);font-weight:600}

/* ---------- accessory picker ---------- */
.acc-picker{margin-top:1.6rem;border-top:1px solid var(--line);padding-top:1.3rem}
.acc-picker h2{font-size:.98rem;font-weight:700}
.acc-picker .sub{font-size:.8rem;color:var(--ink-soft);margin-top:.2rem}
.acc-list{margin-top:.9rem;display:flex;flex-direction:column;gap:.6rem}
.acc-item{display:flex;align-items:center;gap:.8rem;border:1px solid var(--line);border-radius:12px;padding:.6rem;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease)}
.acc-item:hover{border-color:var(--ink)}
.acc-item.on{border-color:var(--blue);background:var(--blue-tint)}
.acc-item img{width:3rem;height:3rem;border-radius:8px;object-fit:cover;flex-shrink:0;background:#fff}
.acc-item .t{flex:1;min-width:0}
.acc-item .t b{display:block;font-size:.87rem;font-weight:700}
.acc-item .t span{font-size:.76rem;color:var(--ink-soft)}
.acc-item .price{font-size:.85rem;font-weight:700;white-space:nowrap}
.acc-item input{width:1.1rem;height:1.1rem;accent-color:var(--blue);flex-shrink:0}

/* ---------- COD form (Nom/Téléphone/Wilaya/Commune — Naisoun-style) ---------- */
.cod{margin-top:1.6rem;border-top:1px solid var(--line);padding-top:1.4rem}
.cod h2{font-size:.98rem;font-weight:700;margin-bottom:1rem}
.field{margin-bottom:.9rem}
.field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:.4rem}
.field input,.field select{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:.92rem;color:var(--ink);background:#fff;transition:border-color .2s var(--ease)}
.field input:focus,.field select:focus{outline:none;border-color:var(--blue)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.phone-row{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:border-color .2s var(--ease)}
.phone-row:focus-within{border-color:var(--blue)}
.phone-row .prefix{padding:.75rem .8rem;background:var(--bg-alt);font-size:.9rem;font-weight:600;color:var(--ink-soft);border-right:1px solid var(--line)}
.phone-row input{border:none;flex:1;padding:.75rem .9rem;font-size:.92rem}
.phone-row input:focus{outline:none}
.qty-row{display:flex;align-items:center;gap:.9rem}
.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);overflow:hidden}
.qty-stepper button{width:2.2rem;height:2.2rem;background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--ink)}
.qty-stepper button:hover{background:var(--bg-alt)}
.qty-stepper span{width:2rem;text-align:center;font-weight:700;font-size:.92rem}
.delivery-opts{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1rem}
.delivery-opts label{display:flex;flex-direction:column;gap:.2rem;border:1px solid var(--line);border-radius:10px;padding:.7rem .85rem;cursor:pointer;font-size:.85rem;transition:border-color .2s var(--ease)}
.delivery-opts label:has(input:checked){border-color:var(--blue);background:var(--blue-tint)}
.delivery-opts input{accent-color:var(--blue);margin-right:.4rem}
.delivery-opts .t{font-weight:700}
.delivery-opts .p{color:var(--ink-soft);font-size:.78rem}
.order-summary{background:var(--bg-alt);border-radius:12px;padding:.9rem 1rem;margin-block:1rem;font-size:.88rem}
.order-summary .ln{display:flex;justify-content:space-between;padding-block:.35rem}
.order-summary .ln.total{border-top:1px solid var(--line);margin-top:.3rem;padding-top:.6rem;font-weight:800;font-size:1rem}
.cod-reassure{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:.9rem;font-size:.78rem;color:var(--ink-soft)}
.cod-reassure span{display:flex;align-items:center;gap:.4rem}
.cod-reassure svg{width:.95rem;height:.95rem;color:var(--ok)}
.cod-wa-line{font-size:.82rem;color:var(--ink-soft);margin-top:.9rem;text-align:center}
.cod-wa-line a{color:var(--blue);font-weight:600}
.field .msg{display:none;color:#d92d20;font-size:.76rem;margin-top:.35rem}
.field.err input,.field.err select{border-color:#d92d20}
.field.err .msg{display:block}

/* ---------- PDP description / verified list ---------- */
.pdp-body{max-width:44rem;padding-block:clamp(2.5rem,6vh,4rem)}
.pdp-body h2{font-size:clamp(1.4rem,1.2rem + 1vw,1.8rem);font-weight:800;margin-bottom:.9rem}
.pdp-body p{color:var(--ink-soft);line-height:1.65;font-size:.98rem}
.verified-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.2rem}
.verified-grid li{display:flex;align-items:center;gap:.6rem;font-size:.88rem;font-weight:600;list-style:none;background:var(--bg-alt);border-radius:10px;padding:.7rem .9rem}
.verified-grid svg{width:1.1rem;height:1.1rem;color:var(--ok);flex-shrink:0}

@media (max-width:1024px){.pdp{grid-template-columns:1fr}.gallery{position:static}}
@media (max-width:900px){.field-row,.delivery-opts,.verified-grid{grid-template-columns:1fr}}
@media (max-width:540px){.grid,.acc-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}}
