:root{
  --bg:#fbf6f3; --card:#ffffff; --ink:#2b1d19; --muted:#7a6660; --line:#eadcd5;
  --clay:#b06f55; --clay-d:#8f533d; --blush:#f4e1d8; --blush-2:#f9ece6; --gold:#d7a98c;
  --wa:#1fa855; --wa-d:#178a45; --ok:#2f7d4f;
  --r:22px; --shadow:0 10px 30px rgba(120,72,52,.10);
  --serif:"Fraunces",Georgia,serif; --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input{font:inherit}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.narrow{width:min(760px,100% - 32px)}
.center{text-align:center}
.eyebrow{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--clay)}
.h2{margin:0;font:600 clamp(28px,4.4vw,42px)/1.12 var(--serif);letter-spacing:-.01em}
.sub{max-width:620px;margin:14px auto 0;color:var(--muted)}

/* Annonce */
.announce{background:var(--ink);color:#fbeee8;font-size:13px;font-weight:500;overflow:hidden;white-space:nowrap}
.announce__track{display:inline-flex;gap:48px;padding:9px 0;animation:marq 26s linear infinite}
.announce__track span{flex:none}
@keyframes marq{to{transform:translateX(-50%)}}
@media (min-width:900px){.announce__track{animation:none;width:100%;justify-content:center}.announce__track span[aria-hidden]{display:none}}

/* Header */
.head{position:sticky;top:0;z-index:30;background:rgba(251,246,243,.9);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.head__in{display:flex;align-items:center;gap:20px;height:62px}
.logo{font:600 27px/1 var(--serif);text-decoration:none;letter-spacing:-.02em}
.logo span{color:var(--clay)}
.head__nav{display:none;gap:26px;margin-left:auto;font-size:14px;font-weight:500}
.head__nav a{text-decoration:none;color:var(--muted)} .head__nav a:hover{color:var(--ink)}
.head__wa{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:#e7f6ec;color:var(--wa-d);font-size:14px;font-weight:600;text-decoration:none}
@media (min-width:900px){.head__nav{display:flex}.head__wa{margin-left:0}}

/* Produit */
.product{display:grid;gap:22px;padding:16px 0 56px}
@media (min-width:900px){.product{grid-template-columns:1.08fr 1fr;gap:56px;padding-top:36px;align-items:start}.gallery{position:sticky;top:84px}}
.gallery__main{position:relative;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--blush);box-shadow:var(--shadow)}
.gallery__track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.gallery__track::-webkit-scrollbar{display:none}
.slide{position:relative;flex:0 0 100%;height:100%;margin:0;scroll-snap-align:center}
.slide img,.slide video{width:100%;height:100%;object-fit:cover}
.slide__tag{position:absolute;left:12px;bottom:40px;padding:5px 11px;border-radius:999px;background:rgba(43,29,25,.72);color:#fff;font-size:12px;font-weight:600}
.gallery__count{position:absolute;right:12px;top:12px;padding:4px 10px;border-radius:999px;background:rgba(43,29,25,.6);color:#fff;font-size:12px;font-weight:600;pointer-events:none}
.gallery__arrow{display:none;position:absolute;top:50%;width:42px;height:42px;margin-top:-21px;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:var(--shadow);font-size:26px;line-height:1;cursor:pointer;color:var(--ink)}
.gallery__arrow--prev{left:12px}.gallery__arrow--next{right:12px}
.gallery__dots{position:absolute;inset:auto 0 12px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.gallery__dots i{width:6px;height:6px;border-radius:99px;background:rgba(255,255,255,.65);transition:.25s}
.gallery__dots i.on{width:20px;background:#fff}
.gallery__thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:none}
.gallery__thumbs button{position:relative;flex:0 0 64px;height:64px;padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;background:var(--blush);cursor:pointer;opacity:.75}
.gallery__thumbs button.on{border-color:var(--clay);opacity:1}
.gallery__thumbs img{width:100%;height:100%;object-fit:cover}
.gallery__thumbs i{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-style:normal;background:rgba(43,29,25,.35)}
@media (min-width:900px){.gallery__arrow{display:block}.gallery__dots{display:none}.gallery__thumbs button{flex-basis:76px;height:76px}}

.product > *,.info{min-width:0}
.title{margin:0;font:600 clamp(30px,5vw,44px)/1.08 var(--serif);letter-spacing:-.015em}
.lede{margin:12px 0 0;color:var(--muted);font-size:16.5px}
.price{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}
.price strong{font-size:30px;font-weight:700;letter-spacing:-.02em}
.price s{color:var(--muted);font-size:17px}
.pill{padding:4px 10px;border-radius:999px;background:var(--clay);color:#fff;font-size:13px;font-weight:700}
.price__note{margin:6px 0 0;font-size:14px;font-weight:600;color:var(--ok)}
.checks{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.checks li{position:relative;padding-left:30px;font-size:15px}
.checks li::before{content:"✓";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--blush);color:var(--clay-d);font-size:12px;font-weight:800;display:grid;place-items:center}

/* Offres */
.offers{border:0;margin:24px 0 0;padding:0;display:grid;gap:12px}
.offers legend{padding:0;margin-bottom:10px;font-weight:700;font-size:15px}
.offer input{position:absolute;opacity:0;pointer-events:none}
.offer__box{position:relative;display:flex;align-items:center;gap:14px;padding:16px;border:2px solid var(--line);border-radius:18px;background:var(--card);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.offer input:checked + .offer__box{border-color:var(--clay);box-shadow:0 0 0 4px rgba(176,111,85,.12)}
.offer input:focus-visible + .offer__box{outline:3px solid var(--gold);outline-offset:2px}
.offer__radio{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #cdb8ae}
.offer input:checked + .offer__box .offer__radio{border:7px solid var(--clay)}
.offer__txt{display:grid;flex:1;min-width:0}
.offer__txt b{font-size:16px}.offer__txt small{color:var(--muted);font-size:13px}
.offer__price{display:grid;text-align:right}
.offer__price b{font-size:17px}.offer__price s{color:var(--muted);font-size:13px}
.offer__flag{position:absolute;top:-11px;right:14px;padding:3px 10px;border-radius:999px;background:var(--ink);color:#fff;font-size:11.5px;font-weight:700}

/* Formulaire */
.order,.done{margin-top:18px;padding:20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);scroll-margin-top:80px}
.order__head h2{margin:0;font:600 24px/1.2 var(--serif)}
.order__head p{margin:6px 0 16px;color:var(--muted);font-size:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.field{display:grid;gap:6px;margin-bottom:12px;font-size:13.5px;font-weight:600}
.field input{width:100%;height:50px;padding:0 14px;border:1.5px solid var(--line);border-radius:14px;background:#fffdfc;font-size:16px;color:var(--ink);transition:border-color .2s}
.field input:focus{outline:0;border-color:var(--clay);box-shadow:0 0 0 4px rgba(176,111,85,.12)}
.field input.bad{border-color:#c0392b}
.phone{display:flex;align-items:stretch}
.phone em{display:grid;place-items:center;padding:0 12px;border:1.5px solid var(--line);border-right:0;border-radius:14px 0 0 14px;background:var(--blush-2);font-style:normal;font-weight:600}
.phone input{border-radius:0 14px 14px 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding:14px 16px;border-radius:14px;background:var(--blush-2);font-size:14px;font-weight:600}
.total strong{font-size:20px}
.total__ship{margin:8px 2px 0;color:var(--muted);font-size:12.5px}
.err{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#fdecea;color:#a3281b;font-size:14px;font-weight:600}

.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;padding:10px 18px;border:0;border-radius:16px;font-weight:700;font-size:17px;text-decoration:none;cursor:pointer;transition:transform .15s,background .2s}
.btn:active{transform:scale(.985)}
.btn--buy{margin-top:14px;flex-direction:column;gap:1px;background:var(--ink);color:#fff;box-shadow:0 10px 24px rgba(43,29,25,.25)}
.btn--buy:hover{background:#000}
.btn--buy small{font-size:12px;font-weight:500;opacity:.8}
.btn--buy[disabled]{opacity:.6;cursor:wait}
.btn--wa{margin-top:10px;background:var(--wa);color:#fff}
.btn--wa:hover{background:var(--wa-d)}
.btn--inline{display:inline-flex;width:auto;min-height:54px;padding:0 28px;margin-top:22px}
@media (prefers-reduced-motion:no-preference){.btn--buy[data-submit]{animation:nudge 4s ease-in-out 2.5s infinite}}
@keyframes nudge{0%,92%,100%{transform:none}95%{transform:scale(1.025)}}

.done{text-align:center}
.done__icon{width:62px;height:62px;margin:4px auto 12px;border-radius:50%;background:var(--ok);color:#fff;font-size:30px;font-weight:800;display:grid;place-items:center}
.done h2{margin:0;font:600 26px/1.2 var(--serif)}
.done p{color:var(--muted)}.done b{color:var(--ink)}
.done__small{font-size:14px}

.trust{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 0;padding:0;text-align:center;font-size:12.5px;font-weight:600;line-height:1.3}
.trust li{padding:12px 6px;border-radius:16px;background:var(--blush-2)}
.trust span{display:block;font-size:22px;margin-bottom:4px}

/* Accordéons */
.acc{margin-top:22px;border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{display:flex;justify-content:space-between;align-items:center;padding:16px 2px;font-weight:600;cursor:pointer;list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:22px;font-weight:400;color:var(--clay);transition:transform .2s}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc details > div{padding:0 2px 16px;color:var(--muted);font-size:15px}
.acc details > div p{margin:0 0 10px}
.acc ol,.acc ul{margin:0 0 10px;padding-left:20px}
.acc--faq{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:0 18px;margin-top:28px}
.acc--faq details:last-child{border-bottom:0}

/* Bandes */
.band{padding:64px 0;background:var(--ink);color:#fbeee8}
.band .eyebrow{color:var(--gold)} .band .sub{color:#d9c4bb}
.band--soft{background:var(--blush-2);color:var(--ink)}
.band--soft .eyebrow{color:var(--clay)}
.reels{display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:12px;margin-top:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.reels::-webkit-scrollbar{display:none}
.reel{position:relative;margin:0;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:#3a2925;scroll-snap-align:start}
.reel video{width:100%;height:100%;object-fit:cover}
.reel figcaption{position:absolute;left:12px;bottom:12px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink);font-size:13px;font-weight:700}
@media (min-width:760px){.reels{grid-auto-flow:row;grid-template-columns:repeat(3,1fr)}}

.split{display:grid;gap:28px;padding:64px 0;align-items:center}
.split__img{border-radius:var(--r);box-shadow:var(--shadow)}
.feats{display:grid;gap:14px;margin-top:22px}
.feat{display:flex;gap:14px;align-items:flex-start}
.feat i{flex:none;width:42px;height:42px;border-radius:14px;background:var(--blush);color:var(--clay-d);font:600 15px/42px var(--serif);text-align:center;font-style:normal}
.feat b{display:block}.feat p{margin:2px 0 0;color:var(--muted);font-size:15px}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:64px}}

.steps{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:14px}
.steps li{position:relative;padding:12px 12px 18px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);text-align:center}
.steps img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;margin-bottom:12px}
.steps span{position:absolute;left:22px;top:22px;width:34px;height:34px;border-radius:50%;background:var(--clay);color:#fff;font-weight:700;display:grid;place-items:center}
.steps b{font:600 20px/1.2 var(--serif)}.steps p{margin:6px 0 0;color:var(--muted);font-size:14.5px}
@media (min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}

.compare{padding:64px 0}
.table{margin:28px auto 0;max-width:820px;border-radius:var(--r);overflow:hidden;background:var(--card);border:1px solid var(--line);font-size:14px}
.tr{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;align-items:center;border-top:1px solid var(--line)}
.tr:first-child{border-top:0}
.tr span{padding:13px 8px;text-align:center}
.tr span:first-child{text-align:left;padding-left:16px;font-weight:600}
.th span{font-weight:700;font-size:13px;color:var(--muted)}
.tr .us{background:var(--blush-2);color:var(--clay-d);font-weight:700}
.th .us{background:var(--clay);color:#fff}

.final{display:grid;gap:22px;align-items:center;margin-block:8px 64px;padding:18px;border-radius:28px;background:linear-gradient(135deg,var(--blush),#f8e9e2);text-align:center}
.final img{width:min(260px,70%);margin:auto;border-radius:24px}
.final p{color:var(--muted)}
@media (min-width:760px){.final{grid-template-columns:320px 1fr;text-align:left;padding:28px 40px}.final img{width:100%}}

.foot{padding:40px 0 120px;background:var(--ink);color:#d9c4bb;font-size:14px}
.foot__in{display:grid;gap:6px}
.logo--light{color:#fff}
.foot__links a{color:#fff}
.foot__copy{opacity:.6}

/* Barre mobile + WhatsApp flottant */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s}
.sticky.show{transform:none}
.sticky div{display:grid}.sticky b{font-size:17px}.sticky small{color:var(--ok);font-weight:600;font-size:12px}
.sticky .btn{width:auto;min-height:48px;margin:0;padding:0 26px;animation:none}
@media (min-width:900px){.sticky{display:none}}
.fab{position:fixed;right:16px;bottom:86px;z-index:41;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(31,168,85,.4);transition:transform .2s}
.fab:hover{transform:scale(1.06)}
@media (min-width:900px){.fab{bottom:24px;right:24px}}
