@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/aFTQ7PxzY382XsXX63LUYJSKSKjWXFBP.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/92zatBhPNqw73oTd4jQmfxI.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/92zatBhPNqw73oTd4jQmfxI.woff2') format('woff2')}
:root{--char:#0b0a08;--char-2:#100e0b;--panel:#15120e;--cream:#f3ead9;--cream-2:#dfd2ba;--ivory:#eee3cf;--ink:#14110d;--gold:#b18f53;--gold-2:#dfbf79;--muted:#a99d87;--line:rgba(217,183,112,.22);--line-light:rgba(243,234,217,.14);--wa:#2abf70;--shadow:0 28px 78px rgba(0,0,0,.42)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--char)}
body{min-height:100svh;background:var(--char);color:var(--cream);font-family:'Jost',sans-serif;line-height:1.6;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.025;background-image:linear-gradient(90deg,transparent 49%,rgba(255,255,255,.42) 50%,transparent 51%);background-size:5px 5px}
body.has-selection{padding-bottom:94px}
a{color:inherit;text-decoration:none}
button{color:inherit;font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
img{display:block;max-width:100%}
h1,h2,h3{font-family:'Bodoni Moda',serif;font-weight:600;line-height:1.04}
.wrap{width:min(1180px,calc(100% - 56px));margin-inline:auto}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--cream);color:var(--char);padding:8px 12px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.eyebrow{display:inline-flex;align-items:center;gap:13px;color:var(--gold-2);font-size:10px;font-weight:600;letter-spacing:.27em;text-transform:uppercase}
.eyebrow:before{content:"";width:34px;height:1px;background:var(--gold)}
.gold{color:var(--gold-2)}

header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(11,10,8,.92);backdrop-filter:blur(18px)}
.nav{height:76px;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}
.brand img{width:40px;height:40px;border:1px solid var(--gold);border-radius:50%}
.brand-copy{display:grid;line-height:1.05}
.brand b{font-family:'Bodoni Moda',serif;font-size:18px;letter-spacing:.02em}
.brand small{margin-top:5px;color:var(--gold-2);font-size:7px;font-weight:600;letter-spacing:.23em;text-transform:uppercase}
.nav-spacer{flex:1}
.collection-link{color:var(--cream-2);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:color .2s}
.collection-link:hover{color:var(--gold-2)}
.header-selection{display:inline-flex;align-items:center;gap:8px;min-height:37px;padding:8px 12px;border:1px solid var(--line);background:transparent;color:var(--cream);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.header-selection[hidden]{display:none}
.header-selection span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;background:var(--gold-2);color:var(--ink);font-size:10px}
.langs{display:flex;border:1px solid var(--line)}
.langs button{min-width:44px;min-height:44px;border:0;border-right:1px solid var(--line);background:none;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.12em;padding:8px 9px}
.langs button:last-child{border-right:0}
.langs button.on{background:var(--cream);color:var(--char)}

/* Hub */
.hub-hero{position:relative;isolation:isolate;overflow:hidden;padding:64px 0 58px;background:radial-gradient(circle at 79% 32%,rgba(177,143,83,.14),transparent 27%),linear-gradient(116deg,#0b0a08 0%,#12100c 65%,#080705 100%)}
.hub-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.78fr);gap:clamp(42px,6vw,80px);align-items:center}
.hub-copy{max-width:760px}
.hub-copy h1{max-width:760px;margin:21px 0 22px;font-size:clamp(46px,5.7vw,72px);letter-spacing:-.035em;text-wrap:balance}
.hub-copy>p{max-width:690px;color:var(--cream-2);font-size:clamp(16px,1.65vw,19px)}
.hub-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:29px}
.hero-primary,.hero-secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:51px;padding:13px 19px;border:1px solid var(--gold);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s}
.hero-primary{min-width:225px;background:linear-gradient(135deg,#e1c37f,#b18a45);color:var(--ink)}
.hero-primary:hover{transform:translateY(-2px);background:var(--cream)}
.hero-primary span:last-child{font-size:16px}
.hero-secondary{justify-content:center;border-color:var(--line-light);background:rgba(11,10,8,.4);color:var(--cream)}
.hero-secondary:hover{border-color:var(--gold);background:rgba(177,143,83,.08)}
.wa-dot{width:6px;height:6px;border-radius:50%;background:var(--wa);box-shadow:0 0 0 3px rgba(42,191,112,.13)}
.hub-proof{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:25px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.hub-proof i{width:3px;height:3px;border-radius:50%;background:var(--gold)}
.hero-mosaic{display:grid;grid-template-columns:1.18fr .82fr;grid-template-rows:1fr 1fr;gap:8px;height:455px;padding:8px;border:1px solid var(--line);background:rgba(5,4,3,.28)}
.hero-mosaic-card{position:relative;min-width:0;overflow:hidden;background:#17130f}
.hero-mosaic-main{grid-row:1/3}
.hero-mosaic-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,4,3,.86))}
.hero-mosaic-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.04)}
.hero-mosaic-main img{object-position:52% 50%}
.hero-mosaic-card figcaption{position:absolute;z-index:1;left:15px;right:12px;bottom:13px;color:var(--gold-2);font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 7px #000}
.collections{padding:78px 0 118px;background:var(--char)}
.collections-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}
.collections-head h2{max-width:700px;margin-top:15px;font-size:clamp(34px,4vw,52px)}
.collections-head p{max-width:360px;color:var(--muted);font-size:14px}
.collections-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.collection-card{position:relative;isolation:isolate;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);background:#15120e;color:var(--cream)}
.collection-card:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(5,4,3,.06) 18%,rgba(5,4,3,.46) 48%,rgba(5,4,3,.9) 72%,rgba(5,4,3,.98) 100%)}
.collection-card img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.05);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}
.collection-card:hover img{transform:scale(1.045);filter:saturate(.98) contrast(1.06)}
.collection-index{position:absolute;left:22px;top:19px;color:var(--gold-2);font-family:'Bodoni Moda',serif;font-size:15px}
.collection-icon{position:absolute;right:19px;top:17px;width:40px;height:40px;padding:8px;border:1px solid rgba(223,191,121,.48);color:var(--gold-2);background:rgba(9,8,6,.25);backdrop-filter:blur(7px)}
.collection-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.collection-body{position:absolute;inset:auto 24px 24px}
.collection-body small{display:inline-block;width:max-content;max-width:100%;margin-bottom:8px;padding:6px 8px 5px;border-left:2px solid var(--gold-2);background:rgba(8,7,5,.76);box-shadow:0 8px 24px rgba(0,0,0,.22);color:#f0d18b;font-size:10px;font-weight:600;letter-spacing:.1em;line-height:1.3;text-shadow:0 1px 6px #000;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.collection-body h3{max-width:310px;font-size:clamp(27px,2.8vw,38px);text-shadow:0 2px 12px rgba(0,0,0,.85)}
.collection-body p{max-width:330px;margin-top:9px;color:rgba(243,234,217,.72);font-size:13px;line-height:1.45}
.collection-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:19px;padding-top:14px;border-top:1px solid rgba(243,234,217,.22);color:var(--cream);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.collection-cta span:last-child{font-size:18px;line-height:1;transition:transform .2s}
.collection-card:hover .collection-cta span:last-child{transform:translateX(4px)}
.collection-promo{display:grid;width:max-content;max-width:100%;margin-bottom:10px;padding:8px 10px;border:1px solid rgba(223,191,121,.78);background:rgba(12,10,8,.9);box-shadow:0 8px 24px rgba(0,0,0,.3);backdrop-filter:blur(8px)}
.collection-promo[hidden]{display:none}
.collection-promo strong{color:var(--gold-2);font-size:9px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase}
.collection-promo>span{margin-top:4px;color:var(--cream);font-family:'Bodoni Moda',serif;font-size:14px;font-weight:600;line-height:1.15}
.concierge-strip{display:grid;grid-template-columns:1fr auto;gap:38px;align-items:center;margin-top:62px;padding:38px 42px;border:1px solid var(--line);background:linear-gradient(105deg,rgba(177,143,83,.1),transparent 52%),var(--char-2)}
.concierge-strip h2{font-size:clamp(27px,3vw,39px);margin-bottom:9px}
.concierge-strip p{max-width:720px;color:var(--muted);font-size:14px}
.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:50px;padding:14px 22px;border:1px solid var(--gold);background:linear-gradient(135deg,#e1c37f,#b18a45);color:#15110b;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:transform .2s,background .2s}
.gold-button:hover{transform:translateY(-2px);background:var(--cream)}
.gold-button:before{content:"";width:6px;height:6px;border-radius:50%;background:#116337;box-shadow:0 0 0 3px rgba(17,99,55,.13)}

/* Pages catégories */
.category-hero{padding:42px 0 48px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 72% 28%,rgba(177,143,83,.11),transparent 29%),var(--char)}
.category-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:clamp(34px,5vw,68px);align-items:center}
.back-link{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.back-link:hover{color:var(--gold-2)}
.category-copy h1{max-width:720px;margin:16px 0 17px;font-size:clamp(46px,5.2vw,68px);letter-spacing:-.035em}
.category-copy>p{max-width:680px;color:var(--cream-2);font-size:17px;line-height:1.55}
.category-products-link{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-width:190px;min-height:48px;margin-top:24px;padding:12px 16px;border:1px solid var(--gold);background:linear-gradient(135deg,#e1c37f,#b18a45);color:var(--ink);font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:transform .2s,background .2s}
.category-products-link:hover{transform:translateY(-2px);background:var(--cream)}
.category-products-link span:last-child{font-size:16px}
.hero-signals{display:grid;grid-template-columns:repeat(3,1fr);margin-top:25px;border-block:1px solid var(--line)}
.hero-signal{padding:17px 17px 17px 0;color:var(--muted);font-size:10px;letter-spacing:.06em}
.hero-signal+.hero-signal{padding-left:17px;border-left:1px solid var(--line)}
.hero-signal b{display:block;margin-bottom:3px;color:var(--cream);font-family:'Bodoni Moda',serif;font-size:15px;font-weight:600;letter-spacing:0}
.category-media{position:relative}
.category-media:before{content:"";position:absolute;inset:-13px 13px 13px -13px;border:1px solid var(--line)}
.category-media img{position:relative;width:100%;height:clamp(390px,48vw,520px);object-fit:cover;border:1px solid rgba(223,191,121,.35);filter:saturate(.86) contrast(1.05)}
.category-media figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:13px;color:var(--muted);font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.category-media figcaption strong{color:var(--gold-2);font-weight:600}
@media(min-width:701px){body[data-universe="poissons-lagon"] .category-media img{height:clamp(260px,22vw,300px)}}
.products-section{padding:82px 0 114px;background:var(--char-2)}
.products-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:28px}
.products-head h2{max-width:750px;margin-top:14px;font-size:clamp(34px,4.3vw,54px)}
.products-head>p{max-width:390px;color:var(--muted);font-size:14px}
.filter-row{display:flex;gap:8px;overflow:auto;padding:2px 2px 22px;scrollbar-width:none}
.filter-row:empty{display:none}
.filter-row::-webkit-scrollbar{display:none}
.filter-button{flex:none;min-height:44px;padding:9px 17px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.filter-button.on{border-color:var(--gold);background:var(--cream);color:var(--ink)}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.product-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);background:#12100d;transition:border-color .2s,transform .2s}
.product-card:hover{border-color:rgba(223,191,121,.48);transform:translateY(-2px)}
.product-card.selected{border-color:var(--gold-2);box-shadow:inset 0 0 0 1px var(--gold-2)}
.product-select{display:block;width:100%;border:0;background:none;text-align:left}
.product-photo{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#1b1712}
.product-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(5,4,3,.28))}
.product-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03);transition:transform .5s}
.product-card:hover .product-photo img{transform:scale(1.025)}
.select-mark{position:absolute;z-index:2;right:13px;top:13px;display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(243,234,217,.48);background:rgba(8,7,5,.55);color:var(--cream);font-size:17px;line-height:1;backdrop-filter:blur(8px)}
.selected .select-mark{border-color:var(--gold-2);background:var(--gold-2);color:var(--ink)}
.selected .select-mark:before{content:"✓"}
.select-mark:before{content:"+"}
.product-content{display:block;min-height:176px;padding:21px 21px 22px}
.product-origin{display:block;min-height:18px;color:var(--gold-2);font-size:8px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.product-content h3{margin:7px 0 10px;font-size:25px;line-height:1.1}
.product-note{display:-webkit-box;min-height:42px;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.product-foot{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}
.product-price{color:var(--cream);font-family:'Bodoni Moda',serif;font-size:16px;font-weight:600}
.product-action{color:var(--gold-2);font-size:8px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.product-detail-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 21px;border-top:1px solid var(--line);background:rgba(177,143,83,.08);color:var(--gold-2);font-size:8px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.category-concierge{padding:62px 0;border-top:1px solid var(--line);background:var(--char)}
.category-concierge-inner{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}
.category-concierge h2{font-size:clamp(29px,3.7vw,44px);margin-bottom:8px}
.category-concierge p{max-width:730px;color:var(--muted);font-size:14px}

/* Sélection persistante */
.selection-bar{position:fixed;z-index:60;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;width:min(650px,calc(100% - 28px));min-height:68px;padding:10px 12px 10px 18px;border:1px solid rgba(223,191,121,.7);background:rgba(18,16,13,.96);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.selection-bar[hidden]{display:none}
.selection-bar-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);color:var(--gold-2);font-family:'Bodoni Moda',serif;font-size:16px}
.selection-bar-copy{display:grid;line-height:1.15;text-align:left}
.selection-bar-copy b{font-family:'Bodoni Moda',serif;font-size:17px}
.selection-bar-copy small{margin-top:5px;color:var(--muted);font-size:9px;letter-spacing:.08em}
.selection-bar-cta{min-height:45px;padding:10px 17px;border:1px solid var(--gold);background:var(--cream);color:var(--ink);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
dialog.selection-dialog{width:min(670px,calc(100% - 28px));max-height:min(820px,calc(100svh - 28px));margin:auto;border:1px solid var(--gold);border-radius:0;background:var(--ivory);color:var(--ink);box-shadow:var(--shadow);overflow:auto}
dialog.selection-dialog::backdrop{background:rgba(4,3,2,.77);backdrop-filter:blur(8px)}
.dialog-shell{padding:34px 34px 30px}
.dialog-top{display:flex;align-items:start;justify-content:space-between;gap:22px;padding-bottom:20px;border-bottom:1px solid rgba(20,17,13,.2)}
.dialog-kicker{display:block;margin-bottom:7px;color:#745a2c;font-size:8px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.dialog-top h2{font-size:34px}
.dialog-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid rgba(20,17,13,.22);background:transparent;color:var(--ink);font-size:20px}
.selection-list{list-style:none;display:grid;margin:18px 0 25px;border-top:1px solid rgba(20,17,13,.18)}
.selection-item{display:grid;grid-template-columns:54px 1fr auto;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(20,17,13,.18)}
.selection-item img{width:54px;height:54px;object-fit:cover;background:#d7c8ae}
.selection-item b{display:block;font-family:'Bodoni Moda',serif;font-size:17px;line-height:1.15}
.selection-item small{display:block;margin-top:4px;color:rgba(20,17,13,.58);font-size:9px;letter-spacing:.06em}
.remove-product{min-width:44px;height:44px;border:1px solid rgba(20,17,13,.2);background:transparent;color:rgba(20,17,13,.63);font-size:18px}
.dialog-empty{padding:30px 0;color:rgba(20,17,13,.62);text-align:center}
.option-block{margin:0 0 24px;padding:19px 0 22px;border-block:1px solid rgba(20,17,13,.18)}
.option-block[hidden]{display:none}.option-block h3{font-family:'Bodoni Moda',serif;font-size:22px}.option-block>p{margin-top:5px;color:rgba(20,17,13,.6);font-size:11px}
.option-grid{display:grid;gap:8px;margin-top:14px}.option-button{display:grid;grid-template-columns:1fr auto;gap:4px 14px;width:100%;min-height:68px;padding:12px 14px;border:1px solid rgba(20,17,13,.22);background:transparent;color:var(--ink);text-align:left}.option-button.on{border-color:#745a2c;background:rgba(177,143,83,.12)}
.option-button span{min-width:0}.option-button b{display:block;font-family:'Bodoni Moda',serif;font-size:16px}.option-button small{display:block;margin-top:3px;color:rgba(20,17,13,.6);font-size:10px;line-height:1.35}.option-button strong{font-size:11px;white-space:nowrap}.option-button i{grid-column:1/-1;color:#745a2c;font-size:8px;font-style:normal;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.region-block{padding-top:2px}
.region-block h3{font-family:'Bodoni Moda',serif;font-size:22px}
.region-block>p{margin-top:5px;color:rgba(20,17,13,.6);font-size:11px}
.region-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border-top:1px solid rgba(20,17,13,.22);border-left:1px solid rgba(20,17,13,.22)}
.region-button{min-height:49px;border:0;border-right:1px solid rgba(20,17,13,.22);border-bottom:1px solid rgba(20,17,13,.22);background:transparent;color:rgba(20,17,13,.72);font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.region-button.on{background:var(--ink);color:var(--cream)}
.dialog-error{min-height:20px;margin-top:8px;color:#8c2b22;font-size:11px}
.send-selection{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:57px;margin-top:6px;padding:13px 18px;border:1px solid var(--ink);background:var(--ink);color:var(--cream);font-size:10px;font-weight:600;letter-spacing:.11em;text-align:left;text-transform:uppercase}
.send-selection:disabled{cursor:not-allowed;opacity:.45}
.send-selection span:last-child{font-size:19px}
.dialog-note{max-width:540px;margin:12px auto 0;color:rgba(20,17,13,.56);font-size:10px;line-height:1.5;text-align:center}
.sent-panel{padding:25px 0 2px;text-align:center}
.sent-panel[hidden]{display:none}
.sent-seal{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 19px;border:1px solid #386b4c;border-radius:50%;color:#2f6946;font-size:24px}
.sent-panel h2{font-size:34px}
.sent-panel>p{max-width:480px;margin:10px auto 22px;color:rgba(20,17,13,.62);font-size:13px}
.sent-actions{display:grid;gap:9px}
.sent-confirm,.sent-back{min-height:51px;border:1px solid var(--ink);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.sent-confirm{background:var(--ink);color:var(--cream)}
.sent-back{background:transparent;color:var(--ink)}

footer{padding:31px 0 105px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.foot{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.foot a{text-decoration:underline;text-underline-offset:4px}

@media(max-width:900px){
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .category-hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,36vw);gap:28px}
 .collections-head,.products-head{align-items:start}
 .concierge-strip,.category-concierge-inner{grid-template-columns:1fr}
 .concierge-strip .gold-button,.category-concierge .gold-button{width:max-content}
}
@media(min-width:601px) and (max-width:1100px){
 body[data-page="hub"] .collections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:601px) and (max-width:760px){
 body[data-page="hub"] .collection-body p{display:none}
}
@media(min-width:981px) and (max-width:1100px){
 body[data-page="hub"] .hub-hero-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);gap:40px}
 body[data-page="hub"] .hub-copy h1{font-size:clamp(48px,5.1vw,56px)}
 body[data-page="hub"] .hero-mosaic{height:400px}
}
@media(min-width:1101px) and (max-height:720px){
 body[data-page="hub"] .hub-hero{padding:42px 0 40px}
 body[data-page="hub"] .hub-copy h1{margin:16px 0 17px;font-size:clamp(52px,5vw,66px)}
 body[data-page="hub"] .hub-copy>p{font-size:16px}
 body[data-page="hub"] .hub-actions{margin-top:20px}
 body[data-page="hub"] .hub-proof{margin-top:16px}
 body[data-page="hub"] .hero-mosaic{height:390px}
}
@media(min-width:701px) and (max-width:980px){
 body[data-page="hub"] .hub-hero{padding:46px 0 44px}
 body[data-page="hub"] .hub-hero-grid{grid-template-columns:1fr;gap:28px}
 body[data-page="hub"] .hub-copy{max-width:none}
 body[data-page="hub"] .hub-copy h1{max-width:900px;margin:17px 0 18px;font-size:clamp(48px,6vw,58px)}
 body[data-page="hub"] .hub-copy>p{max-width:800px;font-size:16px}
 body[data-page="hub"] .hub-actions{margin-top:23px}
 body[data-page="hub"] .hub-proof{margin-top:18px}
 body[data-page="hub"] .hero-mosaic{height:clamp(198px,23.5vw,230px);padding:6px;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:1fr;gap:6px}
 body[data-page="hub"] .hero-mosaic-main{grid-row:auto}
 body[data-page="hub"] .hero-mosaic-card:nth-child(2) img{object-position:center 58%}
}
@media(max-width:700px){
 body.has-selection{padding-bottom:132px}
 .wrap{width:min(100% - 38px,1180px)}
 .nav{height:66px;gap:11px}.brand img{width:34px;height:34px}.brand b{font-size:16px}.brand small{font-size:6px;letter-spacing:.15em}.collection-link{display:none}.langs button{padding:6px 7px}.header-selection{padding:7px 9px}.header-selection>i{display:none}
 .hub-hero{padding:38px 0 36px}.hub-hero-grid{grid-template-columns:1fr;gap:20px}.hub-copy h1{font-size:clamp(36px,9vw,50px);line-height:1}.hub-copy>p{font-size:15px;line-height:1.55}.hub-actions{display:grid;grid-template-columns:1fr;margin-top:23px}.hero-primary,.hero-secondary{width:100%;min-height:48px;font-size:11px}.hub-proof{gap:8px;margin-top:19px;font-size:7px;letter-spacing:.08em}.hero-mosaic{height:clamp(132px,37vw,168px);margin-top:0;padding:5px;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:1fr;gap:5px}.hero-mosaic-main{grid-row:auto}.hero-mosaic-card:nth-child(2) img{object-position:center 58%}.hero-mosaic-card figcaption{left:7px;right:5px;bottom:7px;font-size:6px;line-height:1.2;letter-spacing:.07em}
 .collections{padding:50px 0 88px}.collections-head,.products-head{display:block}.collections-head p,.products-head>p{margin-top:15px}.collections-grid{gap:9px}.collection-card{aspect-ratio:1}.collection-index{left:12px;top:11px;font-size:12px}.collection-icon{right:10px;top:10px;width:32px;height:32px;padding:6px}.collection-body{inset:auto 12px 13px}.collection-body small{margin-bottom:6px;padding:5px 6px;font-size:9px;line-height:1.35;letter-spacing:.06em}.collection-body h3{font-size:clamp(19px,5.8vw,25px);line-height:1.02}.collection-body p{display:none}.collection-promo{margin-bottom:7px;padding:6px 8px}.collection-promo strong{font-size:7px}.collection-promo>span{margin-top:2px;font-size:12px}.collection-cta{margin-top:9px;padding-top:8px;font-size:6px;letter-spacing:.09em}.collection-cta span:last-child{font-size:14px}.concierge-strip{margin-top:38px;padding:28px 24px;gap:24px}.concierge-strip .gold-button{width:100%}
 .category-hero{padding:27px 0 32px}.category-hero-grid{grid-template-columns:1fr;gap:25px}.back-link{margin-bottom:10px}.category-copy h1{font-size:clamp(36px,11vw,50px);margin:13px 0 14px}.category-copy>p{font-size:15px;line-height:1.5}.category-products-link{width:100%;margin-top:18px}.hero-signals{margin-top:20px}.hero-signal{padding:13px 7px 13px 0;font-size:8px}.hero-signal+.hero-signal{padding-left:9px}.hero-signal b{font-size:13px}.category-media{max-width:none}.category-media:before{inset:-8px 8px 8px -8px}.category-media img{height:clamp(190px,58vw,280px);object-position:center}.category-media figcaption{padding-top:10px}
 .products-section{padding:48px 0 74px}.products-head{margin-bottom:20px}.products-head h2{font-size:clamp(30px,8.8vw,42px)}.filter-row{margin-right:-19px;padding-right:19px}.product-grid{gap:11px}.product-card:hover{transform:none}.product-photo{aspect-ratio:16/10}.product-content{min-height:0;padding:17px 16px 18px}.product-origin{font-size:9px;letter-spacing:.11em}.product-content h3{font-size:clamp(20px,5.5vw,25px);margin:6px 0 8px}.product-note{min-height:36px;font-size:11px;line-height:1.4}.product-foot{margin-top:13px;padding-top:11px}.product-price{font-size:15px}.product-action{font-size:9px}.select-mark{right:9px;top:9px;width:32px;height:32px}.product-detail-link{padding:12px 16px;font-size:9px}.category-concierge{padding:45px 0}.category-concierge .gold-button{width:100%}
 .selection-bar{grid-template-columns:auto minmax(0,1fr) auto;gap:9px;min-height:68px;padding:9px 10px}.selection-bar-icon{width:31px;height:31px}.selection-bar-copy{min-width:0}.selection-bar-copy b{font-size:15px}.selection-bar-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.selection-bar-cta{grid-column:auto;width:auto;min-height:44px;margin-top:0;padding-inline:12px}
 dialog.selection-dialog{width:100%;max-width:none;max-height:calc(100svh - 8px);margin:auto 0 0;border-width:1px 0 0}.dialog-shell{padding:25px 20px calc(24px + env(safe-area-inset-bottom,0px))}.dialog-top h2{font-size:29px}.selection-list{margin-top:13px}.selection-item{grid-template-columns:48px 1fr auto;gap:10px}.selection-item img{width:48px;height:48px}.selection-item b{font-size:15px}.region-grid{grid-template-columns:repeat(2,1fr)}.send-selection{font-size:9px}.dialog-note{font-size:9px}
 footer{padding-bottom:125px}.foot{display:block}.foot div+div{margin-top:10px}
}
@media(max-width:370px){.wrap{width:min(100% - 28px,1180px)}.brand small{display:none}.collection-body h3{font-size:18px}.product-content{padding-inline:10px}.product-content h3{font-size:18px}.product-note{font-size:9px}.langs button{padding-inline:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.collection-card img,.product-photo img,.gold-button,.hero-primary,.hero-secondary,.collection-cta span:last-child{transition:none}}

/* Sélecteur de marinade (porté du site principal) — 3 parfums par pièce marinée */
.flav-row{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 16px;margin-top:-6px}
.flav-row .flav-btn{font-size:.72rem;padding:6px 12px}

/* ─── Mobile : lisibilité de la landing publicitaire ──────────────────────────
   Constat sur iPhone 375 px : la grille à 2 colonnes réduisait chaque collection
   à 164×164 — photo invisible, titre coupé en deux, description masquée faute
   de place. Sur une page qui reçoit du trafic payant, c'est la première seconde
   qui décide. Une colonne en format paysage rend la photo lisible et le titre
   tient sur une ligne. ─────────────────────────────────────────────────────── */
@media(max-width:600px){
 .collections-grid{grid-template-columns:1fr;gap:12px}
 body[data-page="hub"] .collection-card{aspect-ratio:auto;min-height:270px}
 .collection-body{inset:auto 18px 17px}
 .collection-body small{font-size:9.5px}
 .collection-body h3{max-width:none;font-size:clamp(25px,7.4vw,32px)}
 .collection-body p{display:block;max-width:none;margin-top:7px;font-size:12.5px;line-height:1.42}
 .collection-cta{margin-top:11px}

 /* le bandeau de réassurance laissait un séparateur orphelin en fin de ligne */
 .hub-proof{flex-wrap:wrap;gap:4px 12px}
 .hub-proof i{display:none}

 /* sélecteur de marinade : 3 libellés = 317 px pour une carte de 164 px.
    Compact et centré, il tient désormais sur deux lignes propres. */
 .flav-row{justify-content:center;gap:4px;padding:0 10px 13px;margin-top:-2px}
 .flav-row .flav-btn{flex:0 1 auto;padding:5px 7px;font-size:.6rem;letter-spacing:.02em}
}

/* (bloc 390px retiré : il était écrasé par la règle 600px suivante — code mort)
   Les marinades sont désormais traitées dans le bloc « correctifs audit » en fin de fichier. */

/* Libellés de marinade : complets sur grand écran, abrégés dès que la carte
   devient étroite (2 colonnes sur mobile). L'aria-label garde le nom entier. */
.flav-short{display:none}
@media(max-width:600px){
 .flav-long{display:none}
 .flav-short{display:inline}
 .flav-row{gap:5px}
 .flav-row .flav-btn{padding:6px 9px;font-size:.66rem}
}

/* ═══ CORRECTIFS AUDIT RESPONSIVE — 05/08/2026 ═══════════════════════════════
   Audit contradictoire à 320 / 375 / 414 px, badge de sélection actif.
   Piège méthodologique relevé : body{overflow-x:hidden} masque tout débordement
   au test scrollWidth. Les mesures ci-dessous viennent de getBoundingClientRect.
   ═══════════════════════════════════════════════════════════════════════════ */

/* C1 — RACINE. À 320 px la barre de nav exigeait 361 px pour 292 disponibles :
   le bouton KR sortait à 76 %, et le viewport gonflé à 343 px tranchait la
   modale « Ma sélection », ses boutons × et 3 régions sur 6. Laisser la marque
   se compresser corrige les trois d'un coup (mesuré : nav 37 px → 0). */
.brand{min-width:0;overflow:hidden}
.brand-copy{min-width:0}
.brand b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.langs,.header-selection{flex:none}

@media(max-width:600px){
 /* C3 — le sélecteur de marinade tombait en 2+1 (« Peri » orphelin) sous 396 px.
    Une grille de 3 colonnes égales tient à toutes les largeurs. */
 .flav-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 10px 13px}
 .flav-row .flav-btn{min-width:0;padding:6px 2px;font-size:.62rem;letter-spacing:0;text-align:center}

 /* C4 — libellés de contenu sous 12 px. « Ajouter » et « Accéder à la sélection »
    étaient à 6 px, soit 4,5 pt : c'est ce qui dit au visiteur quoi faire. */
 .product-origin{font-size:9px}
 .product-action{font-size:10px}
 .collection-cta{font-size:9px}
 .hero-mosaic-card figcaption{font-size:8px}
 .hub-proof{font-size:9px}
 .selection-bar-copy small{font-size:10px}
 #send-selection{font-size:11px}

 /* C5 — cibles tactiles sous la norme des 44 px (applicable seulement après C1) */
 .langs button{min-width:44px;min-height:44px}
 .back-link{min-height:44px;display:inline-flex;align-items:center}
 .foot a{display:inline-block;padding-block:13px}
 .selection-bar-cta{min-height:44px}

 /* C6 — la barre mesure 132,8 px, la réserve n'en prévoyait que 132 */
 body.has-selection{padding-bottom:142px}

 /* C8 — le numéro de collection passait SOUS le bandeau de légende */
 .collection-index{z-index:1;left:14px;top:8px;font-size:11px}

 /* Les cartes produits doivent rester lisibles et actionnables au pouce. */
 .product-grid{grid-template-columns:1fr}
 .product-photo{aspect-ratio:16/10}
 .product-content{padding:18px 17px 19px}
 .product-content h3{font-size:25px}
 .product-note{font-size:12px}
 .product-price{font-size:17px}
 .product-action{font-size:10px}
 body.has-selection{padding-bottom:100px}
}

/* C2 — la grille produit restait à 2 colonnes à 320 px : cartes de 141 px.
   Le raisonnement appliqué au hub n'avait jamais été reporté ici. */
@media(max-width:400px){
 .product-grid{grid-template-columns:1fr}
 .product-photo{aspect-ratio:16/10}
}

/* C7 — le scroller de filtres débordait de 5 px : sa marge négative était calée
   sur la gouttière de 19 px, alors qu'elle passe à 14 px sous 370 px. */
@media(max-width:370px){
 .filter-row{margin-right:-14px;padding-right:14px}
}

/* Promotion : le visiteur doit voir que le prix est temporaire, sinon il
   croira que c'est le tarif habituel et le trouvera cher au retour. */
.promo-tag{position:absolute;left:10px;top:10px;z-index:2;padding:5px 9px;
 border-radius:3px;background:linear-gradient(180deg,#e1c37f,#b18a45);color:#15110b;
 font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
 box-shadow:0 6px 18px rgba(0,0,0,.35)}
.price-was{margin-left:7px;color:rgba(243,234,217,.45);font-weight:400;text-decoration:line-through}
@media(max-width:600px){.promo-tag{left:8px;top:8px;padding:4px 7px;font-size:8.5px}}

/* Dernières cibles tactiles sous la norme des 44 px (audit boutons 05/08) :
   le badge « Ma sélection » (40×37) et le logo de retour au hub (130×34). */
@media(max-width:600px){
 .header-selection{min-width:44px;min-height:44px;justify-content:center}
 .brand{min-height:44px}
}

/* Régression du 05/08 : en passant les boutons de langue à 44 px (norme tactile),
   la barre a gagné 42 px et la marque s'est retrouvée tronquée en « Bon Man… ».
   On masque « Maurice » sous 430 px — le logo, « Bon Manzé » et « LES COLLECTIONS »
   suffisent à identifier la marque, et le nom complet revient dès la tablette. */
@media(max-width:430px){
 .brand b .gold{display:none}
}

/* Héros mobile resserré : le H1 sur 3 lignes géantes + le bandeau de cookies
   repoussaient « Découvrir nos sélections » sous la ligne de flottaison.
   Le premier écran d'une pub doit montrer le titre ET l'action. */
@media(max-width:600px){
 .hub-hero{padding:30px 0 34px}
 .hub-copy h1{font-size:clamp(32px,9vw,42px)}
 .hub-copy>p{font-size:14px;line-height:1.5}
 .hub-actions{margin-top:18px}
}

/* Héros catégories : rester entièrement lisible sur les écrans d'ordinateur
   peu hauts, sans repousser les produits sous une image portrait. */
@media(min-width:901px) and (max-height:800px){
 .category-hero{padding:28px 0 34px}
 .category-copy h1{font-size:clamp(48px,4.7vw,64px)}
 .category-media img{height:clamp(350px,52svh,440px)}
 .hero-signals{margin-top:21px}
}

/* Audit responsive du hub publicitaire — 09/08/2026.
   Ces ajustements restent volontairement limités à /premium/ afin de ne pas
   modifier les fiches catégories déjà en production. */
@media(max-width:370px){
 body[data-page="hub"] .hub-copy .eyebrow{gap:8px;font-size:9px;letter-spacing:.16em;white-space:nowrap}
 body[data-page="hub"] .hub-copy .eyebrow:before{width:18px}
 body[data-page="hub"] .hub-copy h1{margin:16px 0;font-size:31px}
 body[data-page="hub"] .hub-copy>p{font-size:13px;line-height:1.45}
 body[data-page="hub"] .hub-actions{margin-top:14px}
 body[data-page="hub"] .hub-proof{display:none}
}
