/* AERA Perfum — feuille de style principale */
:root{
  --ink:#1A0B2E;--plum:#4B1D6B;--accent:#FFB224;--mist:#F4F0F8;
  --text:#24132F;--muted:#6A5A78;--line:rgba(36,19,47,.12);--paper:#fff;
  --f-display:'Bodoni Moda','Didot','Times New Roman',serif;
  --f-body:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --wrap:1240px;--r:22px;--header-h:72px;--tab-h:68px;
  --safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);
  --ease:cubic-bezier(.22,.8,.24,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.aera{margin:0;font-family:var(--f-body);font-size:17px;line-height:1.6;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}
img,video,canvas,svg{max-width:100%;display:block}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:500;line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em;color:inherit}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link:focus{clip:auto;width:auto;height:auto;background:#fff;color:var(--ink);padding:10px 16px;z-index:999;left:8px;top:8px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.ico{width:1.35em;height:1.35em;flex:none}
.hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}
.empty-note{padding:24px;border:1px dashed var(--line);border-radius:var(--r);text-align:center;color:var(--muted)}
[hidden]{display:none!important}

/* ---------- Boutons, puces, badges ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:16px 30px;border-radius:999px;font-weight:600;font-size:16px;line-height:1;transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s;border:1.5px solid transparent;cursor:pointer;text-align:center}
.btn:active{transform:scale(.97)}
.btn .ico{width:1.2em;height:1.2em}
.btn-accent{background:var(--accent);color:var(--ink)}
.btn-accent:hover{background:#fff;color:var(--ink);box-shadow:0 10px 30px -10px rgba(255,178,36,.7)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--plum)}
.btn-ghost{border-color:var(--line);color:var(--text)}
.btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.btn-ghost-light{border-color:rgba(255,255,255,.6);color:#fff}
.btn-ghost-light:hover{background:#fff;color:var(--ink)}
.btn-block{display:flex;width:100%}
.btn[disabled],.btn.disabled{opacity:.45;pointer-events:none}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.chip{display:inline-flex;align-items:center;gap:.4em;padding:8px 16px;border-radius:999px;background:rgba(75,29,107,.09);color:var(--plum);font-size:14px;font-weight:600;line-height:1.1;transition:.2s}
a.chip:hover,button.chip:hover{background:var(--plum);color:#fff}
.chip.is-active{background:var(--ink);color:#fff}
.badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--ink);font:700 11px/18px var(--f-body);text-align:center}
.stars{display:inline-flex;gap:2px;color:rgba(36,19,47,.2)}.stars .on{color:var(--accent)}.stars .ico{width:16px;height:16px}
.dots{display:inline-flex;gap:5px}.dots i{width:9px;height:9px;border-radius:50%;background:rgba(36,19,47,.16)}.dots i.on{background:var(--accent)}
.sec-dark .dots i,.showcase360 .dots i{background:rgba(255,255,255,.22)}.sec-dark .dots i.on,.showcase360 .dots i.on{background:var(--accent)}

/* ---------- Bandeau + en-tête ---------- */
.announce{background:var(--plum);color:#fff;text-align:center;font-size:14px;padding:9px 16px}
.announce p{margin:0}
.site-header{position:sticky;top:0;z-index:60;background:var(--ink);color:#fff;transition:background .35s,box-shadow .35s,backdrop-filter .35s;padding-top:var(--safe-t)}
.header-inner{display:flex;align-items:center;gap:20px;height:var(--header-h)}
.brand{display:inline-flex;align-items:center;color:inherit}
.brand svg{height:40px;width:auto}
.brand-img{height:44px;width:auto}
.primary-nav{flex:1}
.nav-menu{display:flex;gap:30px;justify-content:center}
.nav-menu a{font-size:15.5px;font-weight:500;opacity:.88;padding:8px 0;position:relative;transition:opacity .2s}
.nav-menu a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-menu a:hover,.nav-menu .current-menu-item>a{opacity:1}.nav-menu a:hover::after,.nav-menu .current-menu-item>a::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:2px;margin-left:auto}
.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;transition:background .2s}
.icon-btn:hover{background:rgba(255,255,255,.12)}
.icon-btn .ico{width:23px;height:23px}
.menu-toggle{display:none}
body.home .site-header{background:transparent;margin-bottom:calc(var(--header-h) * -1 - var(--safe-t))}
body.home .site-header.is-scrolled,body.home.menu-open .site-header{background:rgba(26,11,46,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.08)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,11,46,.35) 0%,rgba(26,11,46,.05) 38%,rgba(26,11,46,.9) 100%)}
.hero-inner{position:relative;padding-top:160px;padding-bottom:clamp(70px,11vh,120px)}
.hero h1{font-size:clamp(2.9rem,8.4vw,6.6rem);line-height:1;letter-spacing:-.025em;max-width:11.5em;margin-bottom:.35em;text-wrap:balance}
.hero p{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:34em;color:rgba(255,255,255,.86);margin-bottom:1.6em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Sections ---------- */
.sec{padding:clamp(56px,8vw,104px) 0}
.sec-sm{padding:0}
.sec-light{background:#fff}.sec-mist{background:var(--mist)}
.sec-dark{background:var(--ink);color:#F4F0F8}
.sec-plum{background:radial-gradient(120% 140% at 80% 0%,#6B2C94 0%,var(--plum) 45%,#2D1048 100%);color:#fff}
.sec-head{text-align:center;max-width:720px;margin:0 auto clamp(30px,4vw,52px)}
.sec-head h2{font-size:clamp(2rem,4.6vw,3.4rem);margin-bottom:.3em;text-wrap:balance}
.sec-head p{color:var(--muted);font-size:1.1rem;margin:0}
.sec-dark .sec-head p,.sec-plum .sec-head p{color:rgba(244,240,248,.78)}
.sec-left .sec-head{text-align:left;margin-left:0}
.sec-narrow .wrap{max-width:860px}
.sec-plum .btn-row{margin-top:8px}
.prose{font-size:1.06rem;line-height:1.75}
.prose h2{font-size:1.7rem;margin-top:1.6em}.prose h3{font-size:1.3rem;margin-top:1.4em}
.prose a,.prose-page a{color:var(--plum);text-decoration:underline;text-underline-offset:3px}
.prose-page{max-width:860px;padding-top:56px;padding-bottom:90px}
.prose-page h2{font-size:1.7rem;margin-top:1.8em}
.page-hero{background:linear-gradient(135deg,var(--ink),var(--plum));color:#fff;padding:clamp(56px,8vw,96px) 0 clamp(44px,6vw,72px);text-align:center}
.page-hero h1{font-size:clamp(2.3rem,6vw,4.4rem);margin-bottom:.2em}
.page-hero p,.page-hero .hero-desc{max-width:620px;margin:0 auto;color:rgba(255,255,255,.82);font-size:1.15rem}
.hero-desc p{margin:0}
.split{display:grid;grid-template-columns:var(--l,1fr) var(--r,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.feat-grid{display:grid;gap:clamp(24px,3vw,44px);grid-template-columns:repeat(3,1fr)}
.feat-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.feat-grid li{border-top:1.5px solid currentColor;border-color:var(--line);padding-top:22px}
.sec-dark .feat-grid li{border-color:rgba(255,255,255,.18)}
.feat-ico{display:inline-flex;width:50px;height:50px;border-radius:50%;background:var(--accent);color:var(--ink);align-items:center;justify-content:center;margin-bottom:18px}
.feat-ico .ico{width:24px;height:24px}
.feat-grid h3{font-size:1.4rem;margin-bottom:.35em}
.feat-grid p{color:var(--muted);margin:0;font-size:1rem}
.sec-dark .feat-grid p{color:rgba(244,240,248,.72)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font:500 1.3rem/1.25 var(--f-display);cursor:pointer}
.faq summary::-webkit-details-marker,.acc summary::-webkit-details-marker,.footer-col summary::-webkit-details-marker{display:none}
.faq summary .ico,.acc summary .ico{transition:transform .3s var(--ease);color:var(--plum)}
.faq details[open] summary .ico,.acc details[open] summary .ico{transform:rotate(45deg)}
.faq-a{padding:0 0 22px;color:var(--muted);max-width:720px}

/* ---------- Bandeau défilant ---------- */
.marquee{overflow:hidden;padding:20px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.marquee-track{display:flex;width:max-content;align-items:center;gap:28px;animation:marquee 38s linear infinite;font:italic 500 1.35rem var(--f-display);color:rgba(244,240,248,.9);white-space:nowrap}
.marquee-track i{color:var(--accent);display:inline-flex}.marquee-track i .ico{width:16px;height:16px}
@keyframes marquee{to{transform:translateX(-33.333%)}}

/* ---------- Familles ---------- */
.families{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.family{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;padding:26px;border-radius:26px;color:#fff;overflow:hidden;background:linear-gradient(155deg,var(--f1),var(--f2));transition:transform .5s var(--ease)}
.family::before{content:"";position:absolute;width:70%;aspect-ratio:1;right:-18%;top:-20%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 68%);transition:transform .8s var(--ease)}
.family:hover{transform:translateY(-4px)}.family:hover::before{transform:scale(1.25)}
.f-1{grid-column:span 5}.f-2{grid-column:span 4}.f-3{grid-column:span 3}.f-4{grid-column:span 3}.f-5{grid-column:span 4}.f-6{grid-column:span 5}
.family-ico{position:absolute;left:26px;top:26px;width:52px;height:52px;border:1.5px solid rgba(255,255,255,.55);border-radius:50%;display:flex;align-items:center;justify-content:center}
.family-name{font:500 clamp(1.9rem,3vw,2.6rem)/1 var(--f-display);margin-bottom:8px;position:relative}
.family-desc{font-size:.98rem;opacity:.88;max-width:22em;position:relative}
.family-go{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;font-size:.95rem;position:relative}
.family-go .ico{width:1.1em;transition:transform .3s}.family:hover .family-go .ico{transform:translateX(5px)}

/* ---------- Rails (défilement horizontal) ---------- */
.rail{position:relative}
.rail-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 14px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.rail-track::-webkit-scrollbar{display:none}
.rail-item{flex:0 0 min(300px,72vw);scroll-snap-align:start}
.rail-btn{position:absolute;top:38%;z-index:3;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 10px 30px -8px rgba(26,11,46,.4);display:flex;align-items:center;justify-content:center;transition:.2s}
.rail-btn:hover{background:var(--accent)}.rail-prev{left:-14px}.rail-next{right:-14px}
.rail-btn[disabled]{opacity:0;pointer-events:none}

/* ---------- Cartes produit ---------- */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,34px) clamp(14px,2vw,26px)}
.pcard{position:relative;display:flex;flex-direction:column;min-width:0}
.pcard-media{position:relative;display:block;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:var(--tint,#ECE6F4)}
.pcard-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),opacity .5s}
.pcard-hover{opacity:0}
@media(hover:hover){.pcard:hover .pcard-hover{opacity:1}.pcard:hover .pcard-img{transform:scale(1.04)}}
.pcard-badges{position:absolute;left:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}
.pcard-badges span{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1;background:rgba(26,11,46,.78);color:#fff;backdrop-filter:blur(6px)}
.pcard-badges .badge-sale{background:var(--accent);color:var(--ink)}
.pcard-badges .ico{width:13px;height:13px}
.wish{position:absolute;right:12px;top:12px;z-index:3;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink);display:flex;align-items:center;justify-content:center;transition:transform .25s var(--ease),background .2s}
.wish:hover{transform:scale(1.08)}.wish .ico{width:20px;height:20px}
.wish.is-on{background:var(--accent)}.wish.is-on .ico{fill:var(--ink)}
.wish.pop{animation:pop .4s var(--ease)}@keyframes pop{50%{transform:scale(1.35)}}
.pcard-body{padding:14px 2px 0;display:flex;flex-direction:column;flex:1}
.pcard-fam{font-size:13px;color:var(--plum);font-weight:600;margin-bottom:2px}
.pcard-title{font-size:1.4rem;margin:0 0 3px}
.pcard-notes{font-size:.93rem;color:var(--muted);margin:0 0 10px;min-height:1.4em}
.pcard-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:10px}
.price{font-weight:600;font-size:1.02rem}
.price del{color:var(--muted);font-weight:400;margin-right:6px;opacity:.7}.price ins{text-decoration:none}
.pcard-add{width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .25s var(--ease),background .2s;flex:none}
.pcard-add:hover{background:var(--accent);color:var(--ink);transform:rotate(90deg)}
a.pcard-add:hover{transform:translateX(3px)}
.pcard-add.is-done{background:#1FA855;color:#fff}
.pcard.is-hidden{display:none}
.shop-bar{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;padding:26px 0 30px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.shop-tools{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:.95rem}
.shop-tools select{border:1px solid var(--line);border-radius:999px;padding:10px 38px 10px 16px;background:#fff;font:inherit;color:var(--text)}
.woocommerce-ordering{margin:0}
.navigation.pagination{margin:48px 0 20px}.nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.page-numbers{min-width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);font-weight:600}
.page-numbers.current,.page-numbers:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.shop .product-grid{padding-bottom:50px}
.sec-cta{margin-top:30px}

/* ---------- Fiche produit ---------- */
.pdp{background:#fff}
.pdp-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);padding-top:36px;padding-bottom:70px;align-items:start}
.pdp-media{position:sticky;top:calc(var(--header-h) + 20px)}
.pdp-stage{position:relative;border-radius:28px;overflow:hidden;background:radial-gradient(90% 80% at 50% 40%,color-mix(in srgb,var(--tint,#ECE6F4) 70%,#fff),var(--tint,#ECE6F4))}
.stage-pane{display:none}.stage-pane.is-active{display:block}
.pdp-img{width:100%;aspect-ratio:3/4;object-fit:cover}
.pdp-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:none}
.thumb{position:relative;flex:none;width:72px;height:72px;border-radius:14px;overflow:hidden;border:2px solid transparent;opacity:.7;background:var(--tint,#ECE6F4);transition:.2s}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.is-active,.thumb:hover{opacity:1;border-color:var(--ink)}
.thumb-360{position:absolute;inset:auto 4px 4px 4px;display:flex;align-items:center;justify-content:center;gap:3px;background:rgba(26,11,46,.82);color:#fff;font:700 11px/1 var(--f-body);padding:4px;border-radius:8px}.thumb-360 .ico{width:12px;height:12px}
.crumbs{display:flex;gap:8px;font-size:14px;color:var(--muted);margin-bottom:14px}
.pdp-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.pdp-title-row h1{font-size:clamp(2.3rem,4.6vw,3.6rem);margin:10px 0 6px}
.wish-lg{position:static;flex:none;width:52px;height:52px;border:1px solid var(--line);background:#fff;margin-top:8px}
.notes-line{color:var(--muted);font-size:1.05rem;margin-bottom:12px}
.price-big{font:500 1.9rem/1.1 var(--f-display);margin-bottom:16px}.price-big .price{font:inherit}
.pdp-short{color:var(--muted);margin-bottom:22px}
.pdp-buy form.cart{margin:0}
.variations{width:100%;border:0;margin:0 0 6px}
.variations th,.variations td{display:block;padding:0;text-align:left;border:0}
.variations label{font-weight:600;font-size:15px;display:block;margin-bottom:10px}
.variations select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.pills{display:flex;gap:10px;flex-wrap:wrap}
.pill{padding:13px 22px;border-radius:14px;border:1.5px solid var(--line);font-weight:600;transition:.2s;background:#fff}
.pill:hover{border-color:var(--ink)}.pill.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.reset_variations{display:inline-block;margin-top:8px;font-size:14px;color:var(--muted);text-decoration:underline}
.woocommerce-variation-price{margin:14px 0 4px}.woocommerce-variation-price .price{font:500 1.5rem var(--f-display)}
.woocommerce-variation-availability{font-size:14px;color:var(--muted)}
.single_variation_wrap{margin-top:6px}
.woocommerce-variation-add-to-cart,form.cart:not(.variations_form){display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin-top:18px}
.quantity{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.quantity input.qty{width:48px;border:0;text-align:center;font:600 16px var(--f-body);background:transparent;-moz-appearance:textfield;appearance:textfield;padding:0;height:56px}
.quantity input::-webkit-outer-spin-button,.quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.quantity .q-btn{width:44px;height:56px;display:flex;align-items:center;justify-content:center}.quantity .q-btn:hover{background:var(--mist)}
.single_add_to_cart_button{flex:1;min-width:180px;background:var(--accent);color:var(--ink);border-radius:999px;font-weight:700;font-size:17px;padding:0 28px;height:58px;transition:.25s var(--ease)}
.single_add_to_cart_button:hover{background:var(--ink);color:#fff}
.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled{opacity:.4;pointer-events:none}
.single_add_to_cart_button.loading{opacity:.7}
.perks{display:grid;gap:12px;margin:26px 0;padding:22px;background:var(--mist);border-radius:20px}
.perks li{display:flex;gap:12px;align-items:center;font-size:.97rem}.perks .ico{color:var(--plum)}
.pdp-coffret-note{display:flex;gap:12px;padding:16px;background:var(--mist);border-radius:16px;margin-bottom:16px}.pdp-coffret-note p{margin:0}
.acc details{border-top:1px solid var(--line)}.acc details:last-child{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:20px 0;font:500 1.3rem var(--f-display);cursor:pointer}
.acc-body{padding:0 0 24px;color:var(--muted)}
.pyramid{display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px 0 24px}
.tier{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 18px;border-radius:18px;color:#fff;opacity:0;transform:translateY(14px) scaleX(.92);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i)*.18s)}
.pyramid.is-in .tier{opacity:1;transform:none}
.tier-top{width:56%;background:linear-gradient(135deg,#FFB224,#F08A12);color:var(--ink)}
.tier-heart{width:78%;background:linear-gradient(135deg,#B9468F,#6B2C94)}
.tier-base{width:100%;background:linear-gradient(135deg,#4B1D6B,#1A0B2E)}
.tier-label{font-size:12px;font-weight:700;opacity:.8}.tier strong{font:500 1.15rem/1.25 var(--f-display)}.tier small{font-size:12px;opacity:.8}
.gauges{display:grid;gap:12px;margin:12px 0}.gauges div{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:var(--text);gap:16px}
.sticky-atc{display:none}

/* ---------- Vue 360° ---------- */
.v360{position:relative}
.v360-stage{position:relative;aspect-ratio:3/4;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.v360-stage.is-drag{cursor:grabbing}
.v360-poster,.v360-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v360.is-ready .v360-poster{display:none}
.v360-loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(26,11,46,.38);color:#fff;transition:opacity .5s;z-index:2}
.v360.is-ready .v360-loader{opacity:0;pointer-events:none}
.v360-loader svg{width:74px;height:74px;transform:rotate(-90deg)}
.v360-loader circle{fill:none;stroke-width:2.5}.v360-loader .bg{stroke:rgba(255,255,255,.25)}.v360-loader .fg{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:119.4;stroke-dashoffset:119.4;transition:stroke-dashoffset .2s}
.v360-pct{position:absolute;font:700 14px var(--f-body);margin-top:-18px}
.v360-loader small{font-size:13px;margin-top:62px;position:absolute}
.v360-badge{position:absolute;left:14px;top:14px;z-index:3;display:inline-flex;align-items:center;gap:5px;background:rgba(26,11,46,.82);color:#fff;font:700 13px/1 var(--f-body);padding:8px 12px;border-radius:999px;backdrop-filter:blur(6px)}.v360-badge .ico{width:15px;height:15px}
.v360-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);color:var(--ink);padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:600;white-space:nowrap;animation:hint 2.4s ease-in-out infinite;pointer-events:none;transition:opacity .4s}
.v360-hint .ico{width:16px;height:16px}
@keyframes hint{50%{transform:translateX(-42%)}}
.v360-hint.is-gone{opacity:0}
.v360-bar{display:flex;align-items:center;gap:6px;padding:10px 12px;background:rgba(26,11,46,.9);color:#fff}
.v360-bar button{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}.v360-bar button:hover{background:rgba(255,255,255,.16)}
.v360-range{flex:1;accent-color:var(--accent);min-width:0}
.v360.is-full{position:fixed;inset:0;z-index:400;background:var(--ink);display:flex;flex-direction:column;justify-content:center}
.v360.is-full .v360-stage{aspect-ratio:auto;flex:1;min-height:0}
.v360.is-full .v360-canvas{object-fit:contain}
.showcase360{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:center;max-width:1040px;margin:0 auto}
.showcase-stage{border-radius:30px;overflow:hidden;background:radial-gradient(90% 80% at 50% 40%,color-mix(in srgb,var(--tint,#4B1D6B) 75%,#fff),var(--tint,#4B1D6B));box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.showcase-info .chip{background:rgba(255,255,255,.12);color:#fff;margin-bottom:12px}
.showcase-info h3{font-size:clamp(2.2rem,4.5vw,3.6rem);margin-bottom:.15em}
.showcase-info .notes-line{color:rgba(244,240,248,.75);font-size:1.12rem}
.showcase-info .gauges div{color:#F4F0F8;max-width:320px}
.showcase-info .price-big{margin:22px 0}

/* ---------- Quiz ---------- */
.quiz{max-width:960px;margin:0 auto;background:#fff;border-radius:32px;padding:clamp(22px,4vw,48px);box-shadow:0 30px 70px -40px rgba(26,11,46,.45)}
.sec-mist .quiz{box-shadow:0 30px 70px -40px rgba(26,11,46,.35)}
.quiz-top{display:flex;align-items:center;gap:16px;margin-bottom:28px;min-height:36px}
.quiz-back{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-weight:600;font-size:15px}.quiz-back .ico{width:18px;height:18px}
.quiz-progress{flex:1;height:6px;border-radius:3px;background:var(--mist);overflow:hidden}.quiz-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--plum),var(--accent));border-radius:3px;transition:width .5s var(--ease)}
.quiz-step{font-size:14px;color:var(--muted);font-weight:600;min-width:44px;text-align:right}
.quiz-q{font:500 clamp(1.7rem,3.6vw,2.6rem)/1.1 var(--f-display);text-align:center;margin-bottom:28px;text-wrap:balance}
.quiz-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.qopt{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:20px;border-radius:20px;border:1.5px solid var(--line);background:#fff;transition:transform .25s var(--ease),border-color .2s,background .2s,box-shadow .25s;min-height:132px}
.qopt:hover{border-color:var(--plum);transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(75,29,107,.5)}
.qopt .qi{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--q1,var(--mist));color:var(--q2,var(--plum));margin-bottom:6px}
.qopt[style*="--q1"] .qi{background:linear-gradient(150deg,var(--q1),var(--q2));color:#fff}
.qopt strong{font:500 1.35rem/1.1 var(--f-display)}.qopt span.qd{font-size:.93rem;color:var(--muted);line-height:1.35}
.qopt.is-picked{border-color:var(--ink);background:var(--mist)}
.quiz-results{display:grid;gap:16px}
.quiz-results h3{text-align:center;font-size:clamp(1.8rem,3.6vw,2.6rem)}
.quiz-results>p{text-align:center;color:var(--muted);margin-bottom:6px}
.qres{display:grid;grid-template-columns:150px 1fr auto;gap:22px;align-items:center;padding:14px;border-radius:24px;background:var(--mist);position:relative;opacity:0;transform:translateY(16px);animation:rise .7s var(--ease) forwards;animation-delay:calc(var(--i)*.15s)}
@keyframes rise{to{opacity:1;transform:none}}
.qres:first-of-type{background:linear-gradient(135deg,#fff3da,#f6e8ff)}
.qres-img{aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:var(--tint,#ECE6F4)}.qres-img img{width:100%;height:100%;object-fit:cover}
.qres h4{font-size:1.7rem;margin:4px 0}.qres small{color:var(--muted)}
.match{display:flex;align-items:center;gap:10px;margin-top:10px;font-weight:700;font-size:14px}.match-bar{flex:0 1 180px;height:8px;border-radius:4px;background:rgba(36,19,47,.12);overflow:hidden}.match-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--plum),var(--accent));border-radius:4px}
.qres-cta{display:flex;flex-direction:column;gap:8px}
.quiz-restart{justify-self:center;color:var(--plum);font-weight:600;text-decoration:underline;margin-top:8px}

/* ---------- Coffret ---------- */
.coffret{max-width:1100px;margin:0 auto}
.coffret-slots{display:flex;justify-content:center;gap:clamp(12px,3vw,28px);margin-bottom:30px}
.slot{width:clamp(88px,18vw,128px);aspect-ratio:3/4;border-radius:22px;border:2px dashed rgba(75,29,107,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--plum);gap:6px;background:rgba(255,255,255,.6);overflow:hidden;position:relative;transition:.3s var(--ease)}
.slot small{font-size:12px;font-weight:600}.slot.is-filled{border-style:solid;border-color:var(--accent);background:var(--tint,#fff)}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.coffret-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:16px}
.cof-item{display:flex;flex-direction:column;text-align:left;gap:4px;transition:transform .25s var(--ease)}
.cof-item:hover{transform:translateY(-3px)}
.cof-img{position:relative;display:block;aspect-ratio:3/4;border-radius:20px;overflow:hidden;background:var(--tint);border:3px solid transparent;transition:border-color .2s}
.cof-img img{width:100%;height:100%;object-fit:cover}
.cof-check{position:absolute;right:10px;top:10px;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--ink);display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform .3s var(--ease)}
.cof-item[aria-pressed="true"] .cof-img{border-color:var(--ink)}.cof-item[aria-pressed="true"] .cof-check{transform:scale(1)}
.cof-name{font:500 1.2rem/1.1 var(--f-display);margin-top:6px}.cof-fam{font-size:13px;color:var(--muted)}
.cof-item.is-locked{opacity:.4}
.coffret-bar{position:sticky;bottom:calc(var(--safe-b) + 12px);z-index:20;margin-top:30px;display:flex;align-items:center;gap:20px;justify-content:space-between;padding:16px 20px;background:var(--ink);color:#fff;border-radius:999px;box-shadow:0 20px 40px -18px rgba(26,11,46,.7)}
.coffret-bar small{display:block;opacity:.7;font-size:12.5px}.cof-count{font:500 1.5rem var(--f-display)}
.cof-price{font:500 1.5rem var(--f-display);margin-left:auto}

/* ---------- Avis ---------- */
.reviews .rail-item{flex-basis:min(360px,82vw)}
.review{margin:0;padding:30px;border-radius:26px;background:#fff;height:100%;display:flex;flex-direction:column;gap:14px}
.review blockquote{margin:0;font:italic 400 1.3rem/1.4 var(--f-display);flex:1}.review blockquote p{margin:0}
.review figcaption strong{display:block}.review figcaption span{font-size:14px;color:var(--muted)}

/* ---------- Formulaires ---------- */
.field{margin-bottom:16px}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field label{display:block;font-weight:600;font-size:14.5px;margin-bottom:7px}
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=password],input[type=number],textarea,select{width:100%;padding:15px 18px;border:1.5px solid var(--line);border-radius:14px;font:inherit;background:#fff;color:var(--text);transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus,select:focus{border-color:var(--plum);box-shadow:0 0 0 4px rgba(75,29,107,.12);outline:0}
textarea{resize:vertical;min-height:130px}
.form-msg{margin:14px 0 0;font-weight:600;min-height:1.4em}.form-msg.ok{color:#168a47}.form-msg.err{color:#c0392b}
.contact-form{background:var(--mist);padding:clamp(22px,3vw,38px);border-radius:28px}
.contact-list{display:grid;gap:18px;margin-bottom:24px}
.contact-list li{display:flex;gap:16px;align-items:center}
.ci{flex:none;width:54px;height:54px;border-radius:18px;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center}.ci .ico{width:26px;height:26px}
.contact-list small{display:block;color:var(--muted);font-size:13px}.contact-list a{font-weight:600}.contact-list li>div>span{font-weight:600}
.map-wrap{border-radius:22px;overflow:hidden;aspect-ratio:16/10}.map-wrap iframe{width:100%;height:100%;border:0}
.newsletter{display:flex;flex-wrap:wrap;gap:10px;max-width:560px;margin:0 auto;position:relative}
.newsletter input[type=email]{flex:1;min-width:220px;border-radius:999px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff;padding:16px 24px}
.newsletter input::placeholder{color:rgba(255,255,255,.6)}
.newsletter .form-msg{flex-basis:100%;text-align:center;margin:4px 0 0}.sec-dark .form-msg.ok{color:#7be3a6}.sec-dark .form-msg.err{color:#ff9b8f}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--ink);color:rgba(244,240,248,.78);padding:70px 0 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.footer-brand .brand{color:#fff;margin-bottom:16px}.footer-brand .brand svg{height:44px}
.footer-brand p{max-width:30em;font-size:.97rem}
.social{display:flex;gap:10px;margin-top:18px}.social a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;transition:.2s}.social a:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.footer-col summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font:500 1.25rem var(--f-display);color:#fff;margin-bottom:14px;pointer-events:none}
.footer-col summary .ico{display:none}
.footer-menu li{margin-bottom:9px}.footer-menu a{opacity:.85;transition:.2s}.footer-menu a:hover{opacity:1;color:var(--accent)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:50px;padding-top:22px;padding-bottom:26px;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem}
.footer-bottom p{margin:0}.legal-note{opacity:.6;max-width:44em}

/* ---------- Tiroirs, recherche, barre d'onglets ---------- */
.backdrop{position:fixed;inset:0;z-index:150;background:rgba(15,6,28,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .35s}
.backdrop.is-on{opacity:1}
.drawer{position:fixed;z-index:200;background:#fff;color:var(--text);display:flex;flex-direction:column;transition:transform .45s var(--ease);outline:0;right:0;top:0;bottom:0;width:min(460px,100%);transform:translateX(105%);box-shadow:-30px 0 60px -30px rgba(0,0,0,.4)}
.drawer.is-open{transform:none}
.drawer-grip{display:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}
.drawer-head h2{font-size:1.7rem;margin:0}.drawer-head .icon-btn:hover{background:var(--mist)}.drawer-head .brand svg{height:34px;color:var(--ink)}
.drawer-body{flex:1;overflow-y:auto;padding:20px 22px;overscroll-behavior:contain}
.drawer-empty{text-align:center;padding:50px 10px;display:grid;gap:12px;justify-items:center}.drawer-empty .ico{width:54px;height:54px;color:var(--plum)}
.ship-bar{background:var(--mist);padding:14px 16px;border-radius:16px;margin-bottom:18px;font-size:14.5px}.ship-bar p{margin:0 0 8px;display:flex;gap:6px;align-items:center}
.ship-track{height:8px;background:rgba(36,19,47,.12);border-radius:4px;overflow:hidden}.ship-track span{display:block;height:100%;background:linear-gradient(90deg,var(--plum),var(--accent));border-radius:4px;transition:width .6s var(--ease)}
.ship-bar.is-done .ico{color:#1FA855}
.mini-items{display:grid;gap:18px}
.mini-item{display:grid;grid-template-columns:78px 1fr 30px;gap:14px;align-items:start}
.mini-thumb{border-radius:14px;overflow:hidden;aspect-ratio:3/4;background:var(--mist)}.mini-thumb img{width:100%;height:100%;object-fit:cover}
.mini-name{font:500 1.15rem/1.15 var(--f-display)}
.mini-info dl{margin:4px 0 0;font-size:13px;color:var(--muted)}.mini-info dl dt{display:inline;font-weight:600}.mini-info dl dd{display:inline;margin:0}.mini-info dl p{display:inline;margin:0}
.mini-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.qty-step{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px}.qty-step button{width:34px;height:34px;display:flex;align-items:center;justify-content:center}.qty-step .ico{width:16px;height:16px}.qty-step span{min-width:26px;text-align:center;font-weight:600}
.mini-price{font-weight:700}
.mini-remove{width:30px;height:30px;color:var(--muted);border-radius:50%}.mini-remove:hover{background:var(--mist);color:var(--ink)}.mini-remove .ico{width:18px;height:18px}
.mini-foot{position:sticky;bottom:-20px;background:#fff;margin:22px -22px -20px;padding:18px 22px calc(18px + var(--safe-b));border-top:1px solid var(--line);display:grid;gap:10px}
.mini-total{display:flex;justify-content:space-between;align-items:baseline;font-size:1.05rem}.mini-total strong{font:500 1.6rem var(--f-display)}
.mini-note{font-size:13px;color:var(--muted);margin:0}
.sheet-menu{display:grid;gap:2px}.sheet-menu a{display:block;padding:16px 4px;font:500 1.9rem var(--f-display);border-bottom:1px solid var(--line)}
.sheet-actions{display:grid;gap:10px;margin-top:26px}.sheet-actions .btn{justify-content:flex-start}
.wish-list{display:grid;gap:14px}
.wish-row{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center}.wish-row img{border-radius:12px;aspect-ratio:3/4;object-fit:cover;width:70px;background:var(--mist)}.wish-row strong{font:500 1.15rem var(--f-display);display:block}.wish-row small{color:var(--muted)}
.search-layer{position:fixed;inset:0;z-index:300;background:rgba(26,11,46,.96);backdrop-filter:blur(18px);color:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;padding-top:calc(var(--safe-t) + 28px);overflow-y:auto}
.search-layer.is-open{opacity:1;visibility:visible}
.search-box{display:flex;align-items:center;gap:12px;border-bottom:1.5px solid rgba(255,255,255,.35);padding:8px 0}
.search-box .ico{width:26px;height:26px;flex:none}.search-box input{flex:1;background:transparent;border:0;color:#fff;font:500 clamp(1.4rem,4vw,2.4rem) var(--f-display);padding:10px 0;box-shadow:none;min-width:0}
.search-box input:focus{box-shadow:none;border:0}.search-box input::placeholder{color:rgba(255,255,255,.45)}.search-box .icon-btn:hover{background:rgba(255,255,255,.12)}
.search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:30px}
.sres{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:10px;border-radius:18px;background:rgba(255,255,255,.07);transition:.2s}.sres:hover{background:rgba(255,255,255,.14)}
.sres img{border-radius:12px;aspect-ratio:3/4;object-fit:cover;width:72px}.sres strong{font:500 1.25rem var(--f-display);display:block}.sres small{opacity:.75;display:block}
.search-quick{margin-top:34px}.search-quick p{opacity:.7;font-size:14px;margin-bottom:10px}.search-quick .chip{background:rgba(255,255,255,.12);color:#fff;margin:0 8px 8px 0}.search-quick .chip:hover{background:var(--accent);color:var(--ink)}
.tabbar{display:none}
.toast{position:fixed;left:50%;bottom:calc(var(--tab-h) + var(--safe-b) + 18px);transform:translate(-50%,20px);z-index:500;background:var(--ink);color:#fff;padding:14px 22px;border-radius:999px;font-weight:600;font-size:15px;box-shadow:0 20px 40px -14px rgba(0,0,0,.5);opacity:0;transition:.4s var(--ease);display:flex;gap:8px;align-items:center;max-width:92vw}
.toast.is-on{opacity:1;transform:translate(-50%,0)}.toast .ico{color:var(--accent)}
body.no-scroll{overflow:hidden}

/* ---------- WooCommerce (panier, commande, compte) ---------- */
.is-woo .prose-page,.page-plain.is-woo .wrap{max-width:1160px}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:18px;border-collapse:separate;border-spacing:0;overflow:hidden;width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:14px 16px;border-top:1px solid var(--line);text-align:left}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button:not(.is-link){background:var(--ink)!important;color:#fff!important;border-radius:999px!important;padding:15px 28px!important;font-weight:700!important;border:0!important;transition:.25s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt,.woocommerce button.button.alt,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--accent)!important;color:var(--ink)!important}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--ink)!important;color:#fff!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;padding:16px 20px;border-radius:16px;background:var(--mist);border-left:4px solid var(--plum);margin:0 0 20px}
.woocommerce-error{border-color:#c0392b}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{padding:14px 16px}
.woocommerce form .form-row label{font-weight:600;font-size:14.5px}
.woocommerce-checkout #payment{background:var(--mist);border-radius:18px}
.woocommerce-checkout #payment div.payment_box{background:#fff;border-radius:12px}
.woocommerce-MyAccount-navigation ul{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.woocommerce-MyAccount-navigation a{display:block;padding:10px 18px;border-radius:999px;border:1px solid var(--line);font-weight:600}.woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:#fff}
.post-list{display:grid;gap:34px;padding:50px 0}.post-item{display:grid;grid-template-columns:280px 1fr;gap:26px}.post-thumb img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;width:100%}.post-item h2{font-size:1.9rem}

/* ---------- Elementor ---------- */
.is-elementor,.is-designed{display:block}
.elementor-widget-shortcode .elementor-shortcode{width:100%}
.elementor-accordion .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--line)!important}
.elementor-accordion .elementor-tab-title{padding:22px 0!important}
.elementor-accordion .elementor-tab-content{padding:0 0 22px!important;border:0!important}
.elementor-widget-icon-box .elementor-icon-box-wrapper{border-top:1.5px solid rgba(128,128,128,.25);padding-top:20px}
.elementor-section.elementor-top-section .newsletter,.elementor-widget-shortcode .quiz{margin-left:auto;margin-right:auto}
body.home .elementor-section:first-child{margin-top:0}

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.marquee-track{animation:none}}

/* ---------- Tablette ---------- */
@media (max-width:1100px){.product-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.nav-menu{gap:20px}}
@media (max-width:900px){
  .pdp-grid{grid-template-columns:1fr}.pdp-media{position:static}
  .showcase360{grid-template-columns:1fr}.showcase-stage{max-width:420px;margin:0 auto}
  .split{grid-template-columns:1fr}
  .feat-grid,.feat-grid.cols-4{grid-template-columns:repeat(2,1fr)}
  .quiz-opts{grid-template-columns:1fr 1fr}
  .qres{grid-template-columns:110px 1fr}.qres-cta{grid-column:1/-1;flex-direction:row}.qres-cta .btn{flex:1}
}

/* ---------- Mobile : l'expérience d'une application ---------- */
@media (max-width:900px){
  :root{--header-h:60px}
  body.aera{padding-bottom:calc(var(--tab-h) + var(--safe-b));font-size:16.5px}
  .wrap{padding:0 18px}
  .primary-nav,.hide-sm{display:none}
  .menu-toggle{display:inline-flex;margin-left:-8px}
  .header-inner{gap:6px}
  .brand{margin:0 auto 0 4px}.brand svg{height:32px}
  .header-actions{margin-left:0}
  .announce{font-size:12.5px;padding:7px 12px}
  .hero{align-items:flex-end}.hero-inner{padding-top:120px;padding-bottom:calc(var(--tab-h) + var(--safe-b) + 34px)}
  .hero-actions .btn{flex:1;min-width:0}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:22px 12px}
  .pcard-title{font-size:1.15rem}.pcard-notes{font-size:.85rem}.pcard-add{width:40px;height:40px}.pcard-media{border-radius:18px}
  .rail-btn{display:none}
  .rail-track{margin:0 -18px;padding-left:18px;padding-right:18px;scroll-padding-left:18px}
  .families{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -18px;padding:0 18px 10px;scrollbar-width:none}
  .families::-webkit-scrollbar{display:none}
  .family{flex:0 0 74%;min-height:270px;scroll-snap-align:start}
  .shop-bar{flex-direction:column;align-items:stretch;padding:18px 0}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -18px;padding:0 18px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap}
  .shop-tools{justify-content:space-between}
  /* tiroirs = feuilles qui montent du bas */
  .drawer{top:auto;left:0;right:0;bottom:0;width:100%;max-height:90vh;max-height:90dvh;border-radius:28px 28px 0 0;transform:translateY(105%);box-shadow:0 -20px 60px -20px rgba(0,0,0,.45)}
  .drawer-grip{display:block;width:44px;height:5px;border-radius:3px;background:rgba(36,19,47,.2);margin:10px auto 0}
  .drawer-head{padding:12px 18px 14px}.drawer-body{padding:16px 18px calc(16px + var(--safe-b))}
  .mini-foot{margin:22px -18px -16px;padding:16px 18px calc(16px + var(--safe-b))}
  .search-layer{padding-top:calc(var(--safe-t) + 14px)}
  /* barre d'onglets */
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:120;height:calc(var(--tab-h) + var(--safe-b));padding-bottom:var(--safe-b);background:rgba(26,11,46,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.08)}
  .tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:rgba(255,255,255,.62);font-size:11px;font-weight:600;transition:color .2s}
  .tab .ico{width:24px;height:24px;transition:transform .3s var(--ease)}
  .tab.is-active{color:#fff}.tab.is-active .ico{color:var(--accent);transform:translateY(-1px)}
  .tab:active .ico{transform:scale(.88)}
  .tab .badge{top:7px;right:calc(50% - 22px)}
  .tab-main{color:#fff}
  .tab-orb{width:54px;height:54px;border-radius:50%;background:linear-gradient(145deg,#FFC24D,#F08A12);color:var(--ink);display:flex;align-items:center;justify-content:center;margin-top:-26px;box-shadow:0 10px 24px -6px rgba(255,178,36,.7),0 0 0 5px var(--ink)}
  .tab-main .tab-orb .ico{color:var(--ink)}
  .tab-main span:last-child{margin-top:1px}
  .footer-grid{grid-template-columns:1fr;gap:0}
  .footer-brand{padding-bottom:26px}
  .footer-col{border-top:1px solid rgba(255,255,255,.1);padding:4px 0}
  .footer-col summary{pointer-events:auto;margin:0;padding:16px 0;cursor:pointer}.footer-col summary .ico{display:block;transition:transform .3s}
  .footer-col[open] summary .ico{transform:rotate(180deg)}
  .footer-menu{padding-bottom:12px}
  .footer-bottom{margin-top:30px}
  /* fiche produit : barre d'achat collante à la place des onglets */
  body.has-sticky-atc .tabbar{display:none}
  body.has-sticky-atc{padding-bottom:calc(86px + var(--safe-b))}
  .sticky-atc{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:130;align-items:center;gap:14px;padding:12px 16px calc(12px + var(--safe-b));background:rgba(255,255,255,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .4s var(--ease)}
  .sticky-atc.is-on{transform:none}
  .sticky-info{flex:1;min-width:0}.sticky-info strong{display:block;font:500 1.15rem/1.1 var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sticky-info .price{font-size:.95rem;color:var(--muted)}
  .sticky-atc .btn{padding:16px 24px;flex:none}
  body.has-sticky-atc .toast{bottom:calc(92px + var(--safe-b))}
  .coffret-bar{border-radius:24px;flex-wrap:wrap;padding:14px 16px;bottom:calc(var(--tab-h) + var(--safe-b) + 10px)}
  .coffret-bar .btn{flex:1 1 100%}.cof-price{margin-left:auto}
  .row{grid-template-columns:1fr}
  .post-item{grid-template-columns:1fr}
  .pdp-grid{padding-top:0}
  .pdp-stage{border-radius:0 0 28px 28px;margin:0 -18px}
  .pdp-thumbs{margin-top:12px}
  .v360-bar{padding:6px 8px}
}
@media (max-width:520px){
  .quiz{border-radius:26px;padding:20px 16px}
  .quiz-opts{grid-template-columns:1fr}
  .qopt{flex-direction:row;align-items:center;min-height:0;gap:14px;padding:16px}.qopt .qi{margin:0;flex:none}
  .qres{grid-template-columns:92px 1fr;padding:12px;gap:14px}.qres h4{font-size:1.35rem}
  .feat-grid,.feat-grid.cols-4{grid-template-columns:1fr}
  .coffret-grid{grid-template-columns:repeat(2,1fr)}
}
