:root{
  --bg:#f7f5f1; --card:#fff; --ink:#151413; --muted:#6f6a64; --line:#e6e1da;
  --accent:#d9520b; --accent-ink:#fff; --dark:#151413; --ok:#1f7a45;
  --r:10px; --font:"Inter",system-ui,sans-serif; --display:"Archivo",var(--font);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:31;background:var(--dark)}
:root{color-scheme:light}
body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
img{display:block;max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}

/* bandeau urgence */
.banner{background:var(--dark);color:#fff;text-align:center;font-size:12.5px;letter-spacing:.04em;padding:9px 16px;font-weight:500}
.banner strong{color:#ff8a3d;font-variant-numeric:tabular-nums;margin-left:4px}

/* header */
.header{background:var(--bg);position:sticky;top:env(safe-area-inset-top,0px);z-index:30;border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.08em}
.logo span{color:var(--accent)}
.logo.small{font-size:18px;margin-bottom:6px}
.header-actions{display:flex;align-items:center;gap:4px}
.icon-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;position:relative}
.icon-btn:hover{background:#ece8e1}
.icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.locale-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:8px 10px 8px 12px;border:1px solid var(--line);border-radius:999px;margin-right:4px;white-space:nowrap}
.locale-btn:hover{border-color:var(--ink)}
.cart-count{position:absolute;top:3px;right:2px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.cart-count:empty,.cart-count[data-n="0"]{display:none}
.searchbar{display:none;padding:0 0 12px}
.searchbar.open{display:block}
.searchbar input{width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r);background:#fff;outline:none}
.searchbar input:focus{border-color:var(--ink)}
.catnav{border-top:1px solid var(--line)}
.catnav-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-top:8px;padding-bottom:8px}
.catnav-in::-webkit-scrollbar{display:none}
.catnav a{white-space:nowrap;font-size:13.5px;font-weight:500;padding:7px 13px;border-radius:999px;color:var(--muted)}
.catnav a:hover{color:var(--ink)}
.catnav a.on{background:var(--ink);color:#fff}

/* hero */
.hero{padding:56px 0 40px}
.hero-in{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.kicker{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(40px,6.4vw,76px);line-height:.95;letter-spacing:-.02em;margin-bottom:18px}
.hero p{font-size:17px;color:var(--muted);max-width:520px;margin-bottom:26px}
.btns{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:999px;font-weight:600;font-size:14.5px;transition:transform .15s,background .15s}
.btn:active{transform:scale(.98)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:#c04709}
.btn-line{border:1px solid var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff}
.btn-block{width:100%}
.btn[disabled]{opacity:.45;pointer-events:none}
.countbox{background:var(--dark);color:#fff;border-radius:16px;padding:28px}
.countbox .lbl{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b9b2a9;margin-bottom:14px}
.cd{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cd div{background:#26241f;border-radius:10px;padding:14px 6px;text-align:center}
.cd b{display:block;font-family:var(--display);font-size:clamp(28px,4vw,40px);font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.cd small{font-size:11.5px;color:#b9b2a9;text-transform:uppercase;letter-spacing:.08em}
.countbox .note{margin-top:16px;font-size:13px;color:#ff9a57}

.reassure{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reassure div{padding:16px 10px;text-align:center;font-size:13.5px;font-weight:500}
.reassure div+div{border-left:1px solid var(--line)}

/* sections */
.section{padding:44px 0}
.sec-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px;gap:16px}
.sec-head h2{font-family:var(--display);font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-.01em}
.sec-head a{font-size:14px;font-weight:600;border-bottom:1px solid}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile{position:relative;background:var(--card);border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;border:1px solid var(--line)}
.tile img{width:100%;height:100%;object-fit:contain;padding:18px;transition:transform .3s}
.tile:hover img{transform:scale(1.04)}
.tile span{position:absolute;left:10px;bottom:10px;background:rgba(21,20,19,.88);color:#fff;font-weight:600;font-size:13.5px;padding:7px 12px;border-radius:999px}

/* grille produits */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 16px}
.pcard{display:flex;flex-direction:column;gap:10px}
.pimg{position:relative;background:var(--card);border-radius:var(--r);aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}
.pimg img{width:100%;height:100%;object-fit:contain;padding:12px;transition:opacity .25s}
.pimg img.alt{position:absolute;inset:0;opacity:0}
.pcard:hover .pimg img.alt{opacity:1}
.badge{position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;padding:4px 9px;border-radius:6px;z-index:2}
.badge.dark{background:var(--ink);left:auto;right:10px}
.ptitle{font-size:14px;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prices{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.sale{font-weight:700;font-size:15.5px;color:var(--accent)}
.was{color:var(--muted);text-decoration:line-through;font-size:13.5px}
.list-head{padding:32px 0 8px}
.list-head h1{font-family:var(--display);font-size:clamp(28px,4vw,42px);font-weight:800}
.list-tools{display:flex;justify-content:space-between;align-items:center;padding:12px 0 22px;font-size:14px}
select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px}

/* page produit */
.pp{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;padding:32px 0 56px}
.gallery-main{background:var(--card);border:1px solid var(--line);border-radius:14px;aspect-ratio:1/1;overflow:hidden;position:relative}
.gallery-main img{width:100%;height:100%;object-fit:contain;padding:24px}
.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.thumbs button{width:72px;height:72px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.thumbs button.on{border-color:var(--ink)}
.thumbs img{width:100%;height:100%;object-fit:contain;padding:4px}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:10px}
.crumbs a:hover{color:var(--ink)}
.pp h1{font-family:var(--display);font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.1;margin-bottom:6px}
.brand-l{font-size:13px;color:var(--muted);margin-bottom:16px}
.pp .prices{margin-bottom:6px}
.pp .sale{font-size:28px}
.pp .was{font-size:16px}
.pp .off{background:var(--accent);color:#fff;font-weight:700;font-size:13px;padding:3px 8px;border-radius:6px}
.save{font-size:13.5px;color:var(--ok);font-weight:600;margin-bottom:22px}
.opt-l{font-size:13.5px;font-weight:600;margin-bottom:8px}
.sizes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.sizes button{min-width:52px;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:500}
.sizes button:hover{border-color:var(--ink)}
.sizes button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.urgent{display:flex;gap:10px;align-items:center;background:#fff3ea;color:#8a3507;border-radius:10px;padding:12px 14px;font-size:13.5px;font-weight:500;margin:14px 0}
.urgent b{font-variant-numeric:tabular-nums}
.infos{border-top:1px solid var(--line);margin-top:18px}
.infos div{padding:12px 0;border-bottom:1px solid var(--line);font-size:13.5px;display:flex;gap:10px}
details{border-bottom:1px solid var(--line)}
summary{padding:14px 0;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
summary::after{content:"+";font-weight:400;font-size:18px}
details[open] summary::after{content:"–"}
details p{white-space:pre-line;font-size:13.5px;color:var(--muted);padding-bottom:16px}

/* drawer panier */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s;z-index:40}
.overlay.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:var(--bg);z-index:50;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}
.drawer.on{transform:none}
.d-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.d-head h3{font-family:var(--display);font-size:20px}
.x{font-size:26px;line-height:1;width:36px;height:36px}
.d-body{flex:1;overflow:auto;padding:8px 20px}
.d-foot{padding:16px 20px;border-top:1px solid var(--line);background:#fff}
.freebar{padding:12px 20px;font-size:13px;border-bottom:1px solid var(--line)}
.freebar .bar{height:5px;background:var(--line);border-radius:3px;margin-top:8px;overflow:hidden}
.freebar .bar i{display:block;height:100%;background:var(--accent);transition:width .3s}
.line{display:grid;grid-template-columns:72px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.line img{width:72px;height:86px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px}
.line .t{font-size:13.5px;font-weight:500;line-height:1.3}
.line .s{font-size:12.5px;color:var(--muted)}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;margin-top:8px}
.qty button{width:30px;height:30px}
.qty span{min-width:22px;text-align:center;font-size:13px}
.rm{font-size:12px;color:var(--muted);text-decoration:underline;margin-top:6px;display:block}
.sum{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px}
.sum.big{font-weight:700;font-size:16px}
.sum .green{color:var(--ok)}
.empty{padding:40px 0;text-align:center;color:var(--muted)}

/* modal pays */
.modal{position:fixed;inset:0;display:none;place-items:center;z-index:60;padding:16px}
.modal.on{display:grid}
.modal-box{background:var(--bg);border-radius:16px;padding:30px;width:min(460px,100%);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.modal-box h2{font-family:var(--display);font-size:26px;margin-bottom:6px}
.modal-box p{color:var(--muted);font-size:14px;margin-bottom:20px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:13px;font-weight:600}
.field input,.field select{height:46px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;outline:none;width:100%}
.field input:focus,.field select:focus{border-color:var(--ink)}
.field .err{font-size:12px;color:#b3261e;min-height:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* compte & checkout */
.narrow{max-width:460px;margin:0 auto;padding:44px 0 64px}
.narrow h1,.ck h1{font-family:var(--display);font-size:32px;font-weight:800;margin-bottom:6px}
.tabs{display:grid;grid-template-columns:1fr 1fr;background:#ece8e1;border-radius:999px;padding:4px;margin:20px 0}
.tabs button{height:40px;border-radius:999px;font-weight:600;font-size:14px;color:var(--muted)}
.tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.formerr{color:#b3261e;font-size:13.5px;margin-bottom:10px;min-height:1px}
.order{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:10px;font-size:14px}
.order .top{display:flex;justify-content:space-between;font-weight:600;margin-bottom:4px}
.ck{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;padding:36px 0 64px}
.ck h2{font-size:17px;font-weight:700;margin:22px 0 12px}
.paym{display:flex;flex-direction:column;gap:8px}
.paym label{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;cursor:pointer;font-weight:500}
.paym label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.paym input{accent-color:var(--ink)}
.summary{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;align-self:start;position:sticky;top:150px}
.mini{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;font-size:13px;padding:8px 0}
.mini img{width:54px;height:62px;object-fit:contain;border:1px solid var(--line);border-radius:6px;padding:3px}
.success{text-align:center;padding:70px 0}
.success .ic{width:64px;height:64px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:30px;margin:0 auto 18px}
.demo{background:#fff8e6;border:1px solid #f2dca0;color:#6b5207;border-radius:10px;padding:12px 14px;font-size:13px;margin-top:18px;text-align:left}

/* footer */
.footer{background:var(--dark);color:#d9d4cc;padding:40px 0;margin-top:30px}
.footer-in{display:grid;grid-template-columns:1.3fr 1.5fr 1fr;gap:30px;font-size:13.5px}
.footer .logo{color:#fff}
.foot-h{font-weight:600;color:#fff;margin-bottom:10px}
.paylist{display:flex;flex-wrap:wrap;gap:6px}
.paylist span{border:1px solid #3a3731;border-radius:6px;padding:4px 9px;font-size:12px}
.foot-links{display:flex;flex-direction:column;gap:8px}
.foot-links a:hover{color:#fff}

.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:500;opacity:0;transition:all .25s;z-index:70;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}

@media (max-width:960px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .hero-in,.pp,.ck{grid-template-columns:1fr;gap:28px}
  .summary{position:static}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .grid{grid-template-columns:repeat(2,1fr);gap:18px 12px}
  .tiles{grid-template-columns:repeat(2,1fr);gap:10px}
  .hero{padding:36px 0 28px}
  .reassure{grid-template-columns:1fr}
  .reassure div+div{border-left:0;border-top:1px solid var(--line)}
  .footer-in{grid-template-columns:1fr}
  .logo{font-size:19px}
  .locale-btn{padding:7px 9px;font-size:12px}
  .icon-btn{width:38px;height:38px}
  .row2{grid-template-columns:1fr}
}
.pimg img,.tile img,.gallery-main img,.thumbs img,.line img,.mini img{color:transparent;font-size:0}

.locale-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.locale-btn .flag{font-size:15px;line-height:1}

/* ouverture agressive */
.blast{background:var(--dark);color:#fff;overflow:hidden}
.blast-in{padding-top:28px;padding-bottom:36px}
.blast-top{display:flex;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ff8a3d;border-bottom:1px solid #2f2c27;padding-bottom:14px}
.blast-main{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;padding:28px 0 24px}
.big-off{font-family:var(--display);font-weight:800;font-size:clamp(110px,19vw,260px);line-height:.8;letter-spacing:-.05em;color:var(--accent);animation:slam .7s cubic-bezier(.2,1.4,.4,1) both}
.big-off i{font-style:normal;font-size:.5em;vertical-align:top;margin-left:4px}
.blast-copy{min-width:0}
.every{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(18px,2.2vw,24px);letter-spacing:.02em;color:#ff8a3d;margin-bottom:6px}
.blast h1{font-family:var(--display);font-weight:800;font-size:clamp(38px,5.4vw,68px);line-height:.95;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:14px;text-wrap:balance}
.blast .sub{color:#c9c2b8;font-size:16px;max-width:520px;margin-bottom:22px}
.btn-ghost{border:1px solid #57524a;color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.blast-cd{display:flex;align-items:center;gap:20px;background:#211f1b;border-radius:14px;padding:14px 18px}
.blast-cd .lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#b9b2a9;white-space:nowrap}
.blast-cd .cd{flex:1;max-width:520px}
.blast-cd .cd div{background:#2e2b26;padding:10px 4px}
.blast-cd .cd b{font-size:clamp(24px,3vw,34px);color:#fff}
.ticker{background:var(--accent);color:#fff;overflow:hidden;white-space:nowrap;padding:11px 0;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:.04em}
.ticker-in{display:inline-flex;gap:18px;animation:tick 40s linear infinite}
.ticker-in b{opacity:.6}
@keyframes tick{to{transform:translateX(-50%)}}
@keyframes slam{from{transform:scale(1.6);opacity:0}to{transform:none;opacity:1}}
.splash{position:fixed;inset:0;z-index:100;background:var(--dark);color:#fff;display:grid;place-items:center;text-align:center;cursor:pointer;transition:opacity .45s, transform .45s}
.splash.out{opacity:0;transform:scale(1.04);pointer-events:none}
.splash p{font-family:var(--display);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(14px,2vw,20px);color:#ff8a3d}
.splash p:last-child{color:#fff;letter-spacing:.02em;font-size:clamp(22px,4vw,40px);margin-top:4px}
.splash strong{display:block;font-family:var(--display);font-weight:800;font-size:clamp(120px,26vw,320px);line-height:.85;color:var(--accent);letter-spacing:-.05em;animation:slam .6s .15s cubic-bezier(.2,1.4,.4,1) both}
@media (prefers-reduced-motion:reduce){.ticker-in,.big-off,.splash strong{animation:none}}
@media (max-width:760px){
  .blast-main{grid-template-columns:1fr;gap:10px;padding-top:18px}
  .blast-cd{flex-direction:column;align-items:stretch;gap:10px}
  .blast-top span+span{display:none}
}
@media (max-width:640px){.tiles{grid-template-columns:repeat(2,1fr)}.locale-btn .lc{font-size:12px}}

/* visuels */
.blast-in{position:relative}
.blast-main{grid-template-columns:auto 1fr;position:relative;z-index:2}
.collage{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:6px 0 24px}
.cl{position:relative;background:#fff;border-radius:12px;aspect-ratio:3/4;overflow:hidden;transition:transform .25s}
.cl img{width:100%;height:100%;object-fit:contain;padding:10px}
.cl span{position:absolute;left:8px;top:8px;background:var(--accent);color:#fff;font-weight:800;font-family:var(--display);font-size:13px;padding:3px 8px;border-radius:6px}
.cl0{transform:rotate(-3deg)}.cl1{transform:translateY(10px) rotate(2deg)}.cl2{transform:rotate(-1deg)}.cl3{transform:translateY(8px) rotate(3deg)}.cl4{transform:rotate(-2deg)}
.cl:hover{transform:translateY(-6px) rotate(0)}
.strip-sec{padding-bottom:20px}
.strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px max(20px,calc((100vw - 1200px)/2)) 18px;scrollbar-width:thin}
.scard{flex:0 0 clamp(220px,24vw,300px);scroll-snap-align:start;display:flex;flex-direction:column;gap:8px}
.simg{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;aspect-ratio:3/4;overflow:hidden}
.simg img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .35s}
.scard:hover .simg img{transform:scale(1.05)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:20px;padding-bottom:20px}
.half{position:relative;border-radius:16px;overflow:hidden;background:#fff;aspect-ratio:4/3;border:1px solid var(--line)}
.half img{width:100%;height:100%;object-fit:contain;padding:22px 22px 80px;transition:transform .4s}
.half:hover img{transform:scale(1.04)}
.half div{position:absolute;inset:auto 0 0 0;background:var(--dark);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.half b{font-family:var(--display);font-weight:800;font-size:clamp(24px,3vw,36px);text-transform:uppercase}
.half span{color:#ff8a3d;font-weight:600;font-size:14px}
.tile span{font-size:15px;padding:9px 14px}
.tile{aspect-ratio:4/5}
@media (max-width:760px){
  .collage{grid-template-columns:repeat(5,42%);overflow-x:auto;padding-bottom:10px;scrollbar-width:none}
  .collage::-webkit-scrollbar{display:none}
  .split{grid-template-columns:1fr}
}

/* ===== THÈME HALLOWEEN (nuit) ===== */
:root{--bg:#100d13;--surface:#1b1720;--card:#fff;--ink:#f4eee7;--muted:#a69d95;--line:#2c2731;--accent:#ff6a13;--dark:#09070b;--purple:#7d4dff;--ok:#5ad08a;color-scheme:dark}
body{background:var(--bg);color:var(--ink)}
body{background-image:radial-gradient(1200px 600px at 85% -10%,rgba(125,77,255,.10),transparent 60%)}
.header{background:rgba(16,13,19,.92);backdrop-filter:blur(8px)}
.icon-btn:hover{background:var(--surface)}
.catnav a.on{background:var(--accent);color:#fff}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-dark:hover{background:var(--accent);color:#fff}
.btn-line{border-color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--bg)}
.searchbar input,select,.field input,.field select,.sizes button,.order,.paym label,.summary,.d-foot{background:var(--surface);color:var(--ink);border-color:var(--line)}
.field input:disabled{opacity:.7}
.sizes button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.urgent{background:rgba(255,106,19,.12);color:#ffb37f}
.tabs{background:var(--surface)}
.tabs button.on{background:var(--bg);color:var(--ink);box-shadow:none}
.demo{background:rgba(255,196,0,.08);border-color:rgba(255,196,0,.3);color:#f3d27a}
.formerr,.field .err{color:#ff7a70}
.toast{background:var(--accent)}
.thumbs button.on{border-color:var(--accent)}
.paym label:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.paym input{accent-color:var(--accent)}
.pimg,.simg,.tile,.half,.gallery-main{border-color:transparent}
.pcard:hover .pimg,.scard:hover .simg{box-shadow:0 0 0 2px var(--accent),0 10px 40px -10px rgba(255,106,19,.5)}
.pimg,.simg{transition:box-shadow .25s}
.sec-head h2::before{content:"";display:inline-block;width:.55em;height:.55em;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent);margin-right:.35em;vertical-align:.08em}
.sec-head a{color:var(--muted)}
.sec-head a:hover{color:var(--ink)}
.reassure div{color:var(--muted)}
.footer{background:var(--dark);border-top:1px solid var(--line)}

/* hero hanté */
.blast{position:relative;background:linear-gradient(180deg,#0b080e 0%,#140d1c 70%,#100d13 100%)}
.blast::after{content:"";position:absolute;inset:auto 0 0 0;height:120px;background:linear-gradient(0deg,rgba(16,13,19,.95),transparent);pointer-events:none}
.blast-in{z-index:2}
.moon{position:absolute;left:-120px;top:40px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,19,.30),rgba(255,106,19,.08) 45%,transparent 70%);pointer-events:none}
.web{position:absolute;top:0;right:0;width:clamp(160px,22vw,300px);height:auto;pointer-events:none;opacity:.35}
.web path,.web line{fill:none;stroke:#cfc6ff;stroke-width:1.2}
.web circle{fill:#cfc6ff}
.bat{position:absolute;width:56px;fill:#000;opacity:.85;filter:drop-shadow(0 0 1px rgba(255,255,255,.15));pointer-events:none;z-index:1;animation:flap 5s ease-in-out infinite}
.b1{top:70px;left:38%;width:64px}
.b2{top:150px;left:56%;width:38px;animation-delay:-1.5s;opacity:.6}
.b3{top:34px;left:70%;width:46px;animation-delay:-3s;opacity:.7}
@keyframes flap{0%,100%{transform:translate(0,0) scaleY(1)}25%{transform:translate(10px,-8px) scaleY(.7)}50%{transform:translate(20px,0) scaleY(1)}75%{transform:translate(10px,6px) scaleY(.75)}}
.splash .bat{fill:var(--accent);opacity:.5}
.splash{background:radial-gradient(circle at 50% 45%,#2a1606,var(--dark) 60%)}
.ticker{background:linear-gradient(90deg,#ff6a13,#ff8a1e,#ff6a13)}
.ticker-in b{opacity:1;display:inline-flex;align-items:center}
.pk{width:22px;height:22px}
.ticker .pk path:first-child{stroke:#14330d}
.big-off{text-shadow:0 0 60px rgba(255,106,19,.45)}
.cl{box-shadow:0 18px 40px -12px rgba(0,0,0,.7)}
.blast-cd{background:rgba(27,23,32,.85);border:1px solid var(--line)}
.blast-cd .cd div{background:#241f2b}
@media (max-width:760px){.b2,.web{display:none}.b1{left:62%;top:40px}.b3{left:80%;top:110px}}
@media (prefers-reduced-motion:reduce){.bat{animation:none}}
@media (max-width:760px){.blast-main{grid-template-columns:1fr;gap:10px}}
.bat{fill:#1d1424;stroke:rgba(255,138,61,.35);stroke-width:1}
.b1{width:84px}.b3{width:58px}


/* Checkout reassurance */
.checkout-reassurance {
  margin: 12px 0 4px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(0, 0, 0, .025);
  font-size: 13px;
  line-height: 1.5;
}

/* Editorial review area — reserved for authentic customer feedback */
.reviews-section { margin: 42px auto 52px; max-width: 1180px; padding: 0 20px; }
.reviews-heading { text-align: center; margin-bottom: 22px; }
.reviews-heading .eyebrow { font-size: 11px; letter-spacing: .16em; font-weight: 800; }
.reviews-heading h2 { margin: 8px 0; }
.reviews-heading p { color: var(--muted, #777); font-size: 14px; }
.reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.review-card { border: 1px solid var(--line); border-radius: 12px; padding: 18px; background: var(--card, #fff); }
.review-stars { letter-spacing: 2px; font-size: 15px; margin-bottom: 10px; }
.review-card p { font-size: 13px; line-height: 1.6; margin: 0 0 14px; }
.review-author { font-size: 11px; color: var(--muted, #777); font-weight: 700; }
@media (max-width: 680px) { .reviews-grid { grid-template-columns: 1fr; } }

/* Hide common Netlify floating badge selectors, if one is injected into the page. */
#netlify-badge, .netlify-badge, .netlify-identity-widget [data-netlify-badge],
a[href*="netlify.com"][aria-label*="Powered"] { display: none !important; }

/* Badge for products marked as best sellers in the source catalog */
.bestseller-badge { top: 10px; left: 10px; right: auto; z-index: 2; background: #171717; color: #fff; }

/* NOCTURNEO category redesign */
.category-groups { display: flex; flex-direction: column; gap: 30px; }
.category-group { padding-top: 8px; }
.category-group > h3 { margin: 0 0 14px; font-size: 14px; letter-spacing: .16em; text-transform: uppercase; }
.category-group .tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.category-group:nth-child(2) .tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.category-group:nth-child(3) .tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.category-group .tile { position: relative; overflow: hidden; border-radius: 12px; }
.category-group .tile img { transition: transform .25s ease; }
.category-group .tile:hover img { transform: scale(1.04); }
.category-group .tile span { text-transform: uppercase; letter-spacing: .04em; }
@media (max-width: 720px) {
  .category-group .tiles, .category-group:nth-child(2) .tiles, .category-group:nth-child(3) .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Maquette NOCTURNEO — packs et preuves sociales illustratives */
.demo-bar{background:#eadcc9;color:#33251e;text-align:center;font-size:11px;letter-spacing:.06em;padding:9px 15px;font-weight:600}.new-price{font-size:clamp(70px,12vw,180px)!important;line-height:1}.new-price small{display:block;font:600 11px Inter,sans-serif;letter-spacing:.2em;margin-top:20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;color:#c15527;margin-bottom:16px}.packs-section{background:#f0ebe3}.packs-section h2,.reviews-section h2{font-size:clamp(26px,4vw,42px);letter-spacing:-.04em}.packs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0 18px}.pack-card{padding:28px;border:1px solid #d4ccc0;border-radius:12px;background:#faf8f4;display:block;transition:transform .2s}.pack-card:hover{transform:translateY(-4px)}.pack-card>span{font-size:10px;letter-spacing:.13em}.pack-card h3{font-size:23px;margin:13px 0}.pack-card strong{font-size:38px;letter-spacing:-.05em}.pack-card p{margin:12px 0 28px}.pack-card b{font-size:12px}.pack-card.featured{background:#201711;color:#fff1db;border-color:#201711}.pack-card.featured>span{color:#ff9d5b}.packs-section small{line-height:1.7;display:block;color:#655b52}.reviews-section{background:#fbfaf6}.stars{color:#008564;letter-spacing:3px}.rating{display:flex;flex-direction:column;gap:7px;min-width:130px}.rating strong{font-size:27px}.rating small,.review-disclosure,.review-hint{font-size:12px;color:#625e57;line-height:1.7}.review-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 0;scrollbar-color:#a5b5a8 #e7e7df}.review-card{flex:0 0 310px;scroll-snap-align:start;background:white;border:1px solid #e6e2da;border-radius:12px;overflow:hidden}.review-card>img{width:100%;height:220px;object-fit:contain;background:#eeeae3}.review-card>div{padding:22px}.review-card h3{font-size:18px;margin:15px 0 12px}.review-card p{font-size:14px;line-height:1.7;min-height:72px}.review-card b,.review-card small{display:block;font-size:11px;margin-top:14px}.review-card small{color:#777}.legacy-demo{padding:28px 0;border-top:1px solid #ded9cf;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.legacy-demo b{font-size:22px}.legacy-demo span{font-size:12px;color:#777}.pack-picker{background:#f1ece5;border:1px solid #ded4c7;border-radius:10px;padding:18px;margin:20px 0}.pack-picker label{display:block;font-weight:700;margin-bottom:12px}.pack-picker select{width:100%;padding:12px;border:1px solid #c5b9ab;background:white;border-radius:5px;font:inherit}.pack-picker small{display:block;margin-top:12px;font-size:11px;line-height:1.6;color:#68615b}.social-proof{padding:15px 0;line-height:1.8;font-size:13px}.social-proof small{font-size:11px;color:#716a63}.was,.off{display:none!important}@media(max-width:680px){.packs-grid{grid-template-columns:repeat(2,1fr)}.pack-card{padding:20px 15px}.pack-card strong{font-size:29px}.pack-card h3{font-size:19px}.sec-head{align-items:flex-start;flex-wrap:wrap;gap:18px}.review-card{flex-basis:80vw}.demo-bar{font-size:10px}.new-price small{letter-spacing:.06em}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
