/*
Theme Name: Coco Drip
Theme URI: https://cocodrip.fr
Description: Theme custom Coco Drip - sacs & lunettes de luxe a prix casse. Portage pixel-perfect du shop statique.
Author: Coco Drip
Version: 1.0
Text Domain: cocodrip
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#FAFAF8;--card:#fff;
  --text:#1A1A1A;--text-mid:#6E6E69;--text-light:#9A9A95;
  --accent:#C4A882;--accent-dk:#A68E6E;--accent-bg:rgba(196,168,130,.07);
  --border:rgba(26,26,26,.07);--r:4px;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',-apple-system,Helvetica Neue,sans-serif;
  --px:clamp(16px,4.5vw,40px);
  --hd:clamp(48px,7vw,62px);--abar:clamp(34px,4vw,42px);
}

html{font-size:16px}

body{font-family:var(--sans);background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6}

body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px}

img{max-width:100%;display:block}

a{color:inherit;text-decoration:none}

button{border:none;background:none;cursor:pointer;font:inherit;color:inherit}

button:focus{outline:none}

button:focus-visible{outline:2px solid var(--accent)}

.rv{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}

.rv.on{opacity:1;transform:none}

.st{font-size:clamp(.5rem,.95vw,.58rem);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);text-align:center;margin-bottom:clamp(10px,2.5vw,18px)}

/* ===== HEADER ===== */
.hd{position:fixed;top:var(--abar);left:0;right:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--px);height:var(--hd);background:rgba(250,250,248,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}

.hd__l{display:flex;align-items:center}

.hd__menu{width:20px;height:20px;padding:12px;box-sizing:content-box;display:flex;align-items:center;cursor:pointer;background:none;border:none}

.hd__menu svg{width:100%;height:100%;stroke:var(--text);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.hd__logo{text-align:center;display:flex;align-items:center;justify-content:center}

.hd__logo-img{width:auto;max-width:120px}

.hd__logo-txt{font-family:var(--serif);font-size:clamp(1rem,2.8vw,1.32rem);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text);white-space:nowrap;line-height:1}

.hd__r{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,3vw,22px)}

.hd__bag{width:20px;height:20px;padding:12px;box-sizing:content-box;display:flex;align-items:center}

.hd__bag svg{width:100%;height:100%;stroke:var(--text);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.hd-sp{height:calc(var(--hd) + var(--abar))}

/* ===== BARRE D'ANNONCE ===== */
.abar{position:fixed;top:0;left:0;right:0;z-index:101;height:var(--abar);background:#1F1A16;display:flex;align-items:center;overflow:hidden}

.abar__track{display:flex;width:max-content;animation:abarScroll 42s linear infinite}

.abar__grp{display:flex;align-items:center;gap:clamp(15px,3vw,28px);padding-right:clamp(15px,3vw,28px);white-space:nowrap;font-family:var(--sans);font-size:clamp(.5rem,.92vw,.59rem);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#F4EFE8}

.abar__grp em{font-style:normal;color:var(--accent);font-weight:600}

.abar__sep{color:var(--accent);font-size:.82em}

@keyframes abarScroll{to{transform:translateX(-25%)}}

@media(prefers-reduced-motion:reduce){.abar__track{animation:none}}

.hd__count{position:absolute;top:8px;right:6px;width:clamp(14px,2.5vw,16px);height:clamp(14px,2.5vw,16px);border-radius:50%;background:var(--accent-dk);color:#fff;font-size:clamp(.4rem,.75vw,.46rem);font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}

.hd__count:empty{display:none}

.hd__bag{position:relative}

/* ===== SIDE MENU ===== */
.menu-overlay{position:fixed;inset:0;background:rgba(26,26,26,.35);z-index:200;opacity:0;pointer-events:none;transition:opacity .35s ease}

.menu-overlay.open{opacity:1;pointer-events:auto}

.menu{position:fixed;top:0;left:0;bottom:0;width:clamp(280px,75vw,380px);z-index:201;background:var(--bg);transform:translateX(-100%);transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow-y:auto}

.menu.open{transform:translateX(0)}

.menu__top{display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,32px);height:var(--hd);border-bottom:1px solid var(--border);flex-shrink:0}

.menu__close{width:20px;height:20px;padding:12px;box-sizing:content-box;display:flex;align-items:center;cursor:pointer;background:none;border:none}

.menu__close svg{width:100%;height:100%;stroke:var(--text);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.menu__brand{font-family:var(--serif);font-size:clamp(.95rem,2.2vw,1.16rem);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text)}

.menu__body{padding:clamp(20px,4vw,28px) clamp(20px,4vw,32px) clamp(16px,3vw,24px);flex:1}

/* Encart offre d'été en haut du drawer — sobre, DA */
.menu__offer{margin-bottom:clamp(26px,4.5vw,34px);padding:clamp(18px,3vw,22px) clamp(16px,2.5vw,20px);background:var(--accent-bg);border:1px solid rgba(196,168,130,.25);border-radius:var(--r);text-align:center}

.menu__offer-k{font-family:var(--sans);font-size:clamp(.46rem,.88vw,.54rem);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:10px}

.menu__offer-t{font-family:var(--serif);font-size:clamp(1.04rem,2.2vw,1.18rem);font-weight:500;color:var(--text);line-height:1.3;margin-bottom:10px;letter-spacing:-.005em}

.menu__offer-note{font-family:var(--sans);font-size:clamp(.56rem,1.05vw,.62rem);font-weight:500;color:var(--text-light);letter-spacing:.14em;text-transform:uppercase}

.menu__section{margin-bottom:clamp(22px,4vw,28px)}

.menu__section-t{display:flex;align-items:center;gap:9px;font-family:var(--sans);font-size:clamp(.5rem,.95vw,.58rem);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:clamp(10px,2vw,14px);padding-bottom:clamp(8px,1.6vw,11px);border-bottom:1px solid rgba(196,168,130,.3)}

.menu__section-t svg{width:15px;height:15px;flex-shrink:0;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block}

.menu__link{display:block;font-family:var(--serif);font-size:clamp(.92rem,2vw,1.04rem);font-weight:400;color:var(--text);padding:clamp(7px,1.4vw,9px) 0;border-bottom:1px solid var(--border);transition:color .25s,padding-left .25s}

.menu__link:hover{color:var(--accent-dk);padding-left:6px}

.menu__link--sm{font-family:var(--sans);font-size:clamp(.78rem,1.5vw,.86rem);font-weight:500;color:var(--text-mid)}

.menu__link--sm:hover{color:var(--accent-dk)}

.menu__footer{padding:clamp(16px,3vw,22px) clamp(20px,4vw,32px) clamp(20px,3.5vw,26px);border-top:1px solid var(--border);flex-shrink:0;text-align:center}

.menu__footer-k{font-family:var(--sans);font-size:clamp(.5rem,.95vw,.58rem);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--text-light);margin-bottom:12px}

.menu__socials{display:flex;justify-content:center;gap:12px}

.menu__socials a{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .25s;background:transparent}

.menu__socials a:hover{border-color:var(--accent);background:var(--accent-bg);transform:translateY(-2px)}

.menu__socials svg{width:14px;height:14px;display:block}

/* CART : styles montes par assets/cart.js?v=61 */

/* ===== 1. HERO ===== */
.hero{position:relative;width:100%;height:var(--hero-h,78svh);min-height:360px;display:flex;align-items:flex-end;overflow:hidden}

.hero__bg{position:absolute;inset:0}

.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 36%}

.hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(20,17,14,.84) 0%,rgba(20,17,14,.72) 10%,rgba(20,17,14,.56) 22%,rgba(20,17,14,.4) 35%,rgba(20,17,14,.26) 48%,rgba(20,17,14,.15) 62%,rgba(20,17,14,.06) 78%,transparent 100%)}

.hero__ct{position:relative;z-index:2;padding:0 var(--px) clamp(24px,5.5vw,44px);color:#fff;max-width:560px}

.hero__label{font-size:clamp(.5rem,1vw,.58rem);font-weight:500;letter-spacing:clamp(.2em,2vw,.4em);text-transform:uppercase;opacity:.72;margin-bottom:clamp(8px,1.8vw,12px)}

.hero__title{font-family:var(--serif);font-size:clamp(1.8rem,5.5vw,3.2rem);font-weight:500;line-height:1.1;margin-bottom:clamp(8px,1.8vw,12px);white-space:nowrap}

.hero__sub{font-size:clamp(.68rem,1.4vw,.8rem);font-weight:500;opacity:.85;line-height:1.6;margin-bottom:clamp(10px,2vw,14px)}

.hero__offer{font-family:var(--sans);font-weight:500;font-size:clamp(.8rem,1.65vw,.97rem);letter-spacing:.015em;line-height:1.5;color:#E7D7B8;margin-bottom:clamp(17px,2.8vw,27px)}

.hero__offer strong{font-weight:700;color:#fff}

.hero__gift{font-family:var(--serif);font-style:italic;font-size:clamp(.72rem,1.5vw,.88rem);opacity:.7;margin-bottom:clamp(18px,3.5vw,28px)}

.hero__btn{display:inline-flex;align-items:center;gap:10px;padding:clamp(14px,2.5vw,17px) clamp(28px,4.6vw,40px);font-family:var(--sans);font-size:clamp(.58rem,1.1vw,.66rem);font-weight:600;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;color:var(--text);background:#fff;border:none;border-radius:var(--r);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;min-height:46px}

.hero__btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .3s}

.hero__btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.34)}

.hero__btn:hover svg{transform:translateX(4px)}

.hero__ct>*{opacity:0;animation:heroIn .95s cubic-bezier(.16,1,.3,1) forwards}

.hero__label{animation-delay:.2s}

.hero__title{animation-delay:.36s}

.hero__offer{animation-delay:.54s}

.hero__btn{animation-delay:.7s}

@keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}

/* ===== 3. MARQUEE ===== */
.mq{overflow:hidden;padding:clamp(13px,2.5vw,17px) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

.mq__inner{display:flex;width:max-content;animation:mqS 35s linear infinite;align-items:center}

.mq__group{display:flex;gap:clamp(22px,5.5vw,40px);padding-right:clamp(22px,5.5vw,40px);white-space:nowrap;font-size:clamp(.54rem,1.05vw,.62rem);font-weight:500;letter-spacing:clamp(.1em,1.3vw,.18em);text-transform:uppercase;color:var(--accent-dk);align-items:center}

@keyframes mqS{to{transform:translateX(-25%)}}

/* ===== 4. COLLECTION TABS + PRODUCT GRID ===== */
.shop{padding:clamp(24px,5vw,40px) var(--px) clamp(16px,3vw,24px)}

.shop__header{text-align:center;margin-bottom:clamp(18px,3.5vw,28px)}

.shop__label{font-size:clamp(.5rem,.95vw,.58rem);font-weight:500;letter-spacing:clamp(.16em,2vw,.28em);text-transform:uppercase;color:var(--accent-dk);margin-bottom:clamp(8px,1.5vw,12px)}

.shop__title{font-family:var(--serif);font-size:clamp(1.6rem,5vw,2.6rem);font-weight:500;margin-bottom:clamp(10px,2vw,16px)}

.shop__line{width:clamp(30px,8vw,50px);height:1px;background:var(--accent);margin:0 auto clamp(10px,2vw,16px);opacity:.5}

.shop__sub{font-size:clamp(.68rem,1.3vw,.8rem);color:var(--text-mid);letter-spacing:.03em}

.tabs{display:flex;flex-wrap:wrap;gap:clamp(4px,1vw,8px);padding-bottom:clamp(14px,3vw,22px);justify-content:center}

@media(min-width:768px){.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}}

.tab{flex-shrink:0;padding:clamp(8px,1.8vw,10px) clamp(12px,2.8vw,18px);font-size:clamp(.55rem,1.1vw,.64rem);font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--text-light);border:1px solid var(--border);background:transparent;transition:all .25s;min-height:36px;cursor:pointer;border-radius:var(--r)}

.tab.on{color:var(--text);border-color:var(--accent);background:var(--accent-bg)}

.tab:hover{border-color:var(--accent)}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,2.5vw,16px)}

/* Product card */
.card{position:relative;overflow:hidden;opacity:1;transition:opacity .3s,box-shadow .3s ease,border-color .3s ease;border:1px solid var(--border);background:var(--card);border-radius:var(--r)}

.card.hide{display:none}

.card__img{width:100%;aspect-ratio:3/4;overflow:hidden;background:#EEEAE5;position:relative}

.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}

/* Hover overlay — desktop only */
.card__img::after{
  content:'Voir la pièce';position:absolute;bottom:0;left:0;right:0;
  padding:clamp(10px,2.2vw,14px);
  background:rgba(250,250,248,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  text-align:center;font-size:clamp(.5rem,1vw,.58rem);font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--text);
  transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}

@media(hover:hover){
  .card:hover .card__img img{transform:scale(1.04)}
  .card:hover .card__img::after{transform:translateY(0)}
  .card:hover{box-shadow:0 4px 20px rgba(26,26,26,.06);border-color:var(--accent)}
}

.card__info{display:flex;flex-direction:column;padding:clamp(12px,2.3vw,16px) clamp(10px,2vw,14px) clamp(12px,2.2vw,16px);min-height:clamp(138px,17.2vw,166px)}

.card__main{display:flex;flex-direction:column;min-width:0}

.card__col{font-family:var(--sans);font-size:clamp(.54rem,1vw,.6rem);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:clamp(8px,1.5vw,10px)}

.card__name{font-family:var(--sans);font-size:clamp(.84rem,1.85vw,.95rem);font-weight:400;line-height:1.35;margin-bottom:clamp(11px,2vw,15px);color:var(--text);letter-spacing:.005em}

/* Swatches : wrap libre (toutes visibles, jusqu'a 2 lignes) */
.card__swatches{display:flex;gap:clamp(4px,.8vw,6px);flex-wrap:wrap;align-items:center;row-gap:clamp(4px,.8vw,6px)}

.swatch{width:clamp(11px,2vw,13px);height:clamp(11px,2vw,13px);border-radius:50%;border:1px solid rgba(26,26,26,.14);flex-shrink:0;pointer-events:none}

/* Prix : pousse en bas via margin-top auto, aligne a droite */
.card__prices{margin-top:auto;display:flex;flex-direction:column;align-items:flex-end;gap:clamp(3px,.6vw,5px);text-align:right;padding-top:clamp(10px,1.8vw,14px)}

.card__old{font-family:var(--sans);font-size:clamp(.66rem,1.25vw,.72rem);color:var(--text-light);text-decoration:line-through;text-decoration-color:rgba(154,154,149,.4);font-weight:400;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:.015em;white-space:nowrap}

.card__new{font-family:var(--sans);font-size:clamp(.92rem,2.05vw,1.05rem);font-weight:500;color:var(--text);letter-spacing:.015em;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}

/* Savings badge on image */
.card__badge{position:absolute;top:clamp(8px,1.4vw,12px);left:clamp(8px,1.4vw,12px);z-index:2;font-family:var(--sans);font-size:clamp(.5rem,.95vw,.58rem);font-weight:700;letter-spacing:.04em;color:#fff;background:var(--accent-dk);padding:clamp(4px,.8vw,6px) clamp(8px,1.6vw,11px);line-height:1.3;border-radius:3px}

.card__wish{position:absolute;top:clamp(8px,1.4vw,12px);right:clamp(8px,1.4vw,12px);z-index:3;width:clamp(30px,5vw,34px);height:clamp(30px,5vw,34px);border-radius:50%;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,transform .25s,box-shadow .25s}

.card__wish svg{width:50%;height:50%;stroke:var(--text);fill:none;stroke-width:1.6;transition:stroke .25s,fill .25s}

.card__wish:hover{background:#fff;transform:scale(1.08);box-shadow:0 4px 12px rgba(0,0,0,.1)}

.card__wish:hover svg{stroke:var(--accent-dk)}

.card__wish.is-saved svg{fill:var(--accent-dk);stroke:var(--accent-dk)}

.card__save{display:block;font-family:var(--sans);font-size:clamp(.5rem,.95vw,.56rem);font-weight:600;letter-spacing:.08em;color:var(--accent-dk);margin-top:clamp(4px,.8vw,6px);text-transform:uppercase}

/* Bouton "Voir toute la collection [Marque]" */
.shop__more{display:flex;justify-content:center;margin-top:clamp(32px,5.5vw,52px)}

.shop__more-btn{display:inline-flex;align-items:center;gap:clamp(10px,1.8vw,14px);padding:clamp(14px,2.4vw,17px) clamp(28px,4.6vw,40px);font-family:var(--sans);font-size:clamp(.58rem,1.1vw,.66rem);font-weight:500;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:var(--text);background:#fff;border:1px solid var(--text);border-radius:var(--r);cursor:pointer;transition:background .35s cubic-bezier(.16,1,.3,1),color .35s,border-color .35s,transform .35s;min-height:48px;position:relative;overflow:hidden}

.shop__more-btn .shop__more-lbl{position:relative;z-index:1}

.shop__more-btn em{font-style:normal;color:var(--accent-dk);font-weight:600;letter-spacing:.14em;transition:color .35s}

.shop__more-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .35s;position:relative;z-index:1}

.shop__more-btn::before{content:'';position:absolute;inset:0;background:var(--text);transform:translateY(101%);transition:transform .45s cubic-bezier(.16,1,.3,1);z-index:0}

@media(hover:hover){
  .shop__more-btn:hover{color:#fff;border-color:var(--text)}
  .shop__more-btn:hover::before{transform:translateY(0)}
  .shop__more-btn:hover em{color:var(--accent)}
  .shop__more-btn:hover svg{transform:translateX(5px)}
}

/* ===== 5. SUNGLASSES — Complimentary gift ===== */
.gift{padding:clamp(32px,6.5vw,56px) var(--px)}

.gift__header{text-align:center;margin-bottom:clamp(20px,3.8vw,32px);max-width:680px;margin-left:auto;margin-right:auto}

.gift__label{font-size:clamp(.58rem,1.1vw,.68rem);font-weight:500;letter-spacing:clamp(.16em,2vw,.28em);text-transform:uppercase;color:var(--accent-dk);margin-bottom:clamp(10px,2vw,16px)}

.gift__title{font-family:var(--serif);font-size:clamp(1.6rem,5vw,2.6rem);font-weight:500;margin-bottom:clamp(10px,2vw,16px);line-height:1.1}

.gift__line{width:clamp(30px,8vw,50px);height:1px;background:var(--accent);margin:0 auto clamp(10px,2vw,16px);opacity:.5}

.gift__sub{font-size:clamp(.76rem,1.6vw,.92rem);color:var(--text-mid);letter-spacing:.02em;line-height:1.5}

.gift__sub strong{color:var(--text);font-weight:600}

/* Tabs lunettes (selecteur de marques) */
.gift__tabs{display:flex;flex-wrap:wrap;gap:clamp(4px,1vw,8px);justify-content:center;padding:0 0 clamp(18px,3.5vw,26px)}

@media(min-width:768px){.gift__tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gift__tabs::-webkit-scrollbar{display:none}}

.gift__tab{flex-shrink:0;padding:clamp(8px,1.8vw,10px) clamp(12px,2.8vw,18px);font-size:clamp(.55rem,1.1vw,.64rem);font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--text-light);border:1px solid var(--border);background:transparent;transition:all .25s;min-height:36px;cursor:pointer;border-radius:var(--r)}

.gift__tab.on{color:var(--text);border-color:var(--accent);background:var(--accent-bg)}

.gift__tab:hover{border-color:var(--accent)}

.gift__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,2.5vw,16px)}

.gift__card.hide{display:none}

.gift__card{text-align:center;padding:clamp(14px,3vw,22px);background:var(--accent-bg);border:1px solid var(--border);transition:box-shadow .3s,border-color .3s;border-radius:var(--r)}

@media(hover:hover){.gift__card:hover{box-shadow:0 4px 20px rgba(26,26,26,.06);border-color:var(--accent)}}

.gift__img{width:100%;aspect-ratio:1/1;overflow:hidden;background:#fff;margin-bottom:clamp(10px,2vw,14px)}

.gift__img img{width:100%;height:100%;object-fit:contain;padding:10%}

.gift__ref{font-size:clamp(.52rem,1vw,.6rem);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin-bottom:clamp(2px,.5vw,4px)}

.gift__name{font-family:var(--serif);font-size:clamp(.72rem,1.6vw,.88rem);color:var(--text-mid);margin-bottom:clamp(4px,.8vw,6px)}

.gift__pricing{margin-bottom:clamp(8px,1.5vw,12px)}

.gift__retail{font-size:clamp(.56rem,1.1vw,.64rem);color:var(--text-light);text-decoration:line-through;text-decoration-color:rgba(154,154,149,.3);line-height:1.3;margin-bottom:clamp(2px,.4vw,3px)}

.gift__price{font-family:var(--serif);font-size:clamp(.92rem,2vw,1.12rem);font-weight:500;color:var(--text)}

.gift__badge-free{display:inline-block;font-size:clamp(.44rem,.85vw,.5rem);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent-dk);padding:clamp(4px,.7vw,5px) clamp(10px,1.8vw,14px);border-radius:3px}

/* Dots pagination */
.gift__dots{display:flex;justify-content:center;gap:clamp(6px,1.2vw,8px);margin-top:clamp(16px,3vw,24px)}

.gift__dot{width:clamp(6px,1.2vw,8px);height:clamp(6px,1.2vw,8px);border-radius:50%;background:var(--border);border:none;padding:0;cursor:pointer;transition:background .3s,transform .3s}

.gift__dot.on{background:var(--accent);transform:scale(1.25)}

@media(min-width:640px){.gift__card{flex:0 0 calc(33.33% - 7px)}}

@media(min-width:1024px){.gift__card{flex:1}.gift__dots{display:none}}

/* ===== 6. VU SUR ===== */
.celeb{padding:clamp(32px,6.5vw,56px) var(--px)}

.celeb__header{text-align:center;margin-bottom:clamp(20px,4vw,32px)}

.celeb__label{font-size:clamp(.5rem,.95vw,.58rem);font-weight:500;letter-spacing:clamp(.16em,2vw,.28em);text-transform:uppercase;color:var(--accent-dk);margin-bottom:clamp(8px,1.5vw,12px)}

.celeb__title{font-family:var(--serif);font-size:clamp(1.3rem,3.8vw,2rem);font-weight:500}

.celeb__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(10px,2.5vw,16px)}

.celeb__card{position:relative;overflow:hidden}

.celeb__pic{width:100%;aspect-ratio:3/4;overflow:hidden;background:#EAE4DC;border-radius:var(--r)}

.celeb__pic img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s cubic-bezier(.16,1,.3,1)}

@media(hover:hover){.celeb__card:hover .celeb__pic img{transform:scale(1.05)}}

.celeb__info{padding:clamp(10px,2vw,14px) clamp(4px,.8vw,6px)}

.celeb__nm{font-family:var(--serif);font-size:clamp(.82rem,1.8vw,1.05rem);font-weight:400;margin-bottom:clamp(2px,.4vw,3px)}

.celeb__role{font-size:clamp(.5rem,1vw,.58rem);color:var(--text-light);letter-spacing:.04em}

@media(min-width:768px){.celeb__grid{grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,22px)}}

/* ===== 7. PRICE COMPARISON ===== */
.cmp{padding:clamp(22px,4.5vw,36px) var(--px);text-align:center}

.cmp__example{font-family:var(--serif);font-style:italic;font-size:clamp(.7rem,1.4vw,.82rem);color:var(--text-mid);margin-bottom:clamp(14px,3vw,22px)}

.cmp__stores{display:flex;justify-content:center;gap:clamp(12px,3vw,22px);flex-wrap:wrap;margin-bottom:clamp(14px,3vw,22px)}

.cmp__store{text-align:center;padding:clamp(10px,2vw,14px) clamp(10px,2.5vw,18px);border:1px solid var(--border);min-width:clamp(85px,22vw,120px)}

.cmp__store-name{font-size:clamp(.48rem,.9vw,.55rem);color:var(--text-light);letter-spacing:.05em;margin-bottom:3px}

.cmp__store-price{font-family:var(--serif);font-size:clamp(.85rem,2vw,1.05rem);color:var(--text-mid);text-decoration:line-through;text-decoration-color:rgba(154,154,149,.25)}

.cmp__vs{font-family:var(--serif);font-size:clamp(.75rem,1.6vw,.9rem);color:var(--text-light);margin-bottom:clamp(6px,1.2vw,8px)}

.cmp__ours{display:inline-block;padding:clamp(12px,2.5vw,18px) clamp(20px,4.5vw,36px);border:2px solid var(--accent)}

.cmp__ours-label{font-size:clamp(.48rem,.88vw,.54rem);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:3px}

.cmp__ours-price{font-family:var(--serif);font-size:clamp(1.6rem,4.5vw,2.4rem);font-weight:500}

/* ===== BANDEAU REASSURANCE ===== */
.reass{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);overflow:hidden}

.reass__row{padding:clamp(13px,2.4vw,17px) 0}

.reass__track{display:flex;width:max-content;animation:reassScroll 32s linear infinite;gap:clamp(24px,5.5vw,38px)}

.reass__group{display:flex;align-items:center;gap:clamp(24px,5.5vw,38px)}

.reass__item{display:flex;flex-direction:row;align-items:center;gap:11px;white-space:nowrap}

.reass__item svg{width:22px;height:22px;stroke:var(--accent-dk);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

.reass__txt{font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.025em;color:var(--text);line-height:1}

.reass__sep{color:var(--accent);opacity:.7;line-height:1;font-size:1rem}

@keyframes reassScroll{to{transform:translateX(-50%)}}

@media(prefers-reduced-motion:reduce){.reass__track{animation:none}}

@media(min-width:760px){
  .reass__row{padding:clamp(12px,1.8vw,20px) clamp(20px,4vw,64px)}
  .reass__track{display:flex;width:auto;max-width:1100px;margin:0 auto;animation:none;justify-content:space-between;align-items:center}
  .reass__group{display:contents}
  .reass__group:not(:first-child){display:none}
  .reass__group > .reass__sep:last-child{display:none}
  .reass__sep{font-size:.95rem;opacity:.65}
  .reass__item{flex-direction:column;justify-content:center;gap:clamp(9px,1.4vw,12px);padding:0;text-align:center;white-space:normal}
  .reass__item svg{width:24px;height:24px}
  .reass__txt{font-size:clamp(.62rem,1.1vw,.72rem);letter-spacing:.015em;line-height:1.35}
}

/* ===== 9. FOOTER ===== */
.ft{padding:clamp(40px,6vw,60px) var(--px) clamp(18px,3vw,28px);border-top:1px solid var(--border);background:var(--bg)}

.ft__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,40px);margin-bottom:clamp(28px,4.5vw,40px)}

/* Brand column */
.ft__brand{font-family:var(--serif);font-size:clamp(1.2rem,2.6vw,1.45rem);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text);margin-bottom:clamp(12px,2vw,16px);line-height:1}

.ft__pitch{font-family:var(--sans);font-size:clamp(.74rem,1.4vw,.82rem);font-weight:400;color:var(--text-mid);line-height:1.55;margin-bottom:clamp(16px,2.5vw,20px);max-width:280px}

.ft__pitch em{font-style:italic;color:var(--accent-dk);font-weight:500}

.ft__socials{display:flex;gap:10px;align-items:center}

.ft__col .ft__socials a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:transparent;transition:border-color .25s,background .25s,transform .25s;margin-bottom:0;padding:0}

.ft__col .ft__socials a:hover{border-color:var(--accent);background:var(--accent-bg);transform:translateY(-2px);color:inherit;padding-left:0}

.ft__col .ft__socials svg{width:14px;height:14px;display:block}

/* Cols */
.ft__col-t{font-family:var(--sans);font-size:clamp(.5rem,.95vw,.58rem);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text);margin-bottom:clamp(10px,1.8vw,14px)}

.ft__col a{display:block;font-family:var(--sans);font-size:clamp(.66rem,1.25vw,.74rem);font-weight:400;color:var(--text-light);margin-bottom:clamp(6px,1vw,8px);transition:color .25s,padding-left .25s}

.ft__col a:hover{color:var(--accent-dk);padding-left:3px}

/* Bottom */
.ft__bottom{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:clamp(18px,3vw,24px);border-top:1px solid var(--border);text-align:center}

@media(min-width:768px){.ft__bottom{flex-direction:row;justify-content:space-between;text-align:left}}

.ft__copy{font-family:var(--sans);font-size:clamp(.52rem,.95vw,.6rem);font-weight:400;color:var(--text-light);letter-spacing:.04em}

.ft__assure{font-family:var(--sans);font-size:clamp(.5rem,.92vw,.58rem);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-dk)}

.ft__assure span+span{margin-left:14px;padding-left:14px;border-left:1px solid rgba(196,168,130,.4)}

/* ===== DESKTOP ===== */
@media(min-width:640px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .gift__grid{grid-template-columns:repeat(3,1fr)}
  .celeb__card{flex:0 0 clamp(170px,24vw,220px)}
}

@media(min-width:1024px){
  :root{--px:clamp(60px,7.5vw,110px)}
  .hero{height:84vh;min-height:560px;max-height:880px}
  .hero__title{font-size:clamp(2.2rem,3.8vw,3.2rem)}
  .grid{grid-template-columns:repeat(4,1fr);gap:clamp(26px,3.4vw,44px)}
  .gift__grid{grid-template-columns:repeat(4,1fr);gap:clamp(26px,3.4vw,44px)}
  .tabs,.gift__tabs{justify-content:center}
  .celeb__card{flex:0 0 clamp(180px,16vw,230px)}
  .ft__grid{grid-template-columns:repeat(4,1fr)}
}

@media(min-width:1280px){:root{--px:clamp(56px,6vw,100px)}.celeb__track{padding:0 clamp(56px,6vw,100px)}}

@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.mq__inner{animation:none}.hero__ct>*{opacity:1;animation:none}.hero__bg img{animation:none}}

.card--soldout{position:relative;pointer-events:none}

.card--soldout .card__img{position:relative}

.card--soldout .card__img img{opacity:.4;filter:grayscale(.3)}

.card--soldout .card__img::after{content:"";position:absolute;inset:0;background:rgba(250,250,248,.3)}

.card--soldout .card__badge{display:none}

.card--soldout .card__soldout-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;background:rgba(26,26,26,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:clamp(.5rem,1vw,.6rem);font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:10px 22px;border-radius:3px;white-space:nowrap}

.card--soldout .card__swatches span{opacity:.3}

.card--soldout .card__prices{opacity:.4}

.card--soldout .card__name{opacity:.5}

.card--soldout .card__col{opacity:.5}

/* ===== UGC — Carrousel video clientes ===== */
.ugc{padding:clamp(38px,7vw,76px) 0 clamp(34px,6vw,60px)}

.ugc__header{text-align:center;margin-bottom:clamp(26px,5vw,46px);padding:0 var(--px)}

.ugc__label{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;font-size:clamp(.5rem,.95vw,.58rem);font-weight:500;letter-spacing:clamp(.16em,2vw,.28em);text-transform:uppercase;color:var(--accent-dk);margin-bottom:clamp(8px,1.5vw,12px)}

.ugc__socials{display:inline-flex;gap:5px;align-items:center}

.soc{width:21px;height:21px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}

.soc svg{width:64%;height:64%;display:block}

.soc--ig{background:linear-gradient(135deg,#feda75,#fa7e1e 26%,#d62976 54%,#962fbf 78%,#4f5bd5)}

.soc--tt{background:#0b0b0b}

.soc--sc{background:#FFFC00;box-shadow:inset 0 0 0 1px #111}

.ugc__title{font-family:var(--serif);font-size:clamp(1.6rem,5vw,2.6rem);font-weight:500;margin-bottom:clamp(10px,2vw,16px)}

.ugc__line{width:clamp(30px,8vw,50px);height:1px;background:var(--accent);margin:0 auto clamp(10px,2vw,16px);opacity:.5}

.ugc__sub{font-size:clamp(.68rem,1.3vw,.8rem);color:var(--text-mid);letter-spacing:.03em}

.ugc__carousel{position:relative}

.ugc__viewport{overflow:hidden;padding:clamp(6px,1.5vw,14px) 0}

.ugc__track{display:flex;gap:clamp(14px,2.4vw,26px);transition:transform .62s cubic-bezier(.16,1,.3,1);will-change:transform}

.ugc__slide{flex:0 0 clamp(230px,66vw,290px);transform:scale(.8);opacity:.46;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .55s ease;cursor:pointer}

.ugc__slide.is-active{transform:scale(1);opacity:1;cursor:default}

.ugc__media{position:relative;width:100%;aspect-ratio:9/16;border-radius:6px;overflow:hidden;background:#ECE6DD;border:1px solid var(--border)}

.ugc__video{width:100%;height:100%;object-fit:cover;display:block}

.ugc__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(52px,9vw,66px);height:clamp(52px,9vw,66px);border-radius:50%;background:rgba(28,23,20,.46);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,transform .25s}

.ugc__play svg{width:36%;height:36%;fill:#fff}

.ugc__play:hover{background:var(--accent-dk)}

.ugc__slide:not(.is-active) .ugc__play{width:clamp(40px,7vw,50px);height:clamp(40px,7vw,50px)}

.ugc__mute{position:absolute;left:clamp(10px,2vw,14px);bottom:clamp(10px,2vw,14px);width:clamp(32px,6vw,38px);height:clamp(32px,6vw,38px);border-radius:50%;background:rgba(28,23,20,.46);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.26);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s}

.ugc__mute svg{width:48%;height:48%}

.ugc__mute:hover{background:var(--accent-dk)}

.ugc__mute .mic--off{display:none}

.ugc__mute.is-muted .mic--on{display:none}

.ugc__mute.is-muted .mic--off{display:block}

.ugc__slide:not(.is-active) .ugc__mute{display:none}

.ugc__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:clamp(40px,7vw,48px);height:clamp(40px,7vw,48px);border-radius:50%;background:rgba(250,250,248,.94);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .25s,background .25s,opacity .3s}

.ugc__arrow svg{width:36%;height:36%;stroke:var(--text);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.ugc__arrow:hover{border-color:var(--accent);background:#fff}

.ugc__arrow--prev{left:clamp(8px,2.5vw,30px)}

.ugc__arrow--next{right:clamp(8px,2.5vw,30px)}

.ugc__arrow:disabled{opacity:0;pointer-events:none}

.ugc__bar{width:clamp(110px,30vw,230px);height:2px;background:var(--border);margin:clamp(24px,4vw,38px) auto 0;border-radius:2px;overflow:hidden}

.ugc__bar-fill{display:block;height:100%;width:50%;background:var(--accent);border-radius:2px;transition:width .55s cubic-bezier(.16,1,.3,1)}

@media(min-width:768px){.ugc__slide{flex:0 0 clamp(300px,30vw,366px)}}

/* ===== Alternance subtile des fonds de section (option B) ===== */
.alt-bg{background:var(--accent-bg)}

/* ===== FAQ — V1 accordion chevron, sobre, polices shop ===== */
.faq{padding:clamp(48px,8vw,90px) var(--px) clamp(40px,7vw,80px)}

.faq__header{text-align:center;max-width:560px;margin:0 auto clamp(30px,4vw,42px)}

.faq__kicker{font-family:var(--sans);font-size:clamp(.58rem,1.1vw,.66rem);font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:12px}

.faq__title{font-family:var(--serif);font-size:clamp(1.6rem,3.6vw,2.2rem);font-weight:500;line-height:1.1;color:var(--text);margin-bottom:12px}

.faq__line{width:36px;height:1px;background:var(--accent);margin:0 auto;opacity:.6}

.faq__sub{display:none}

.faq__list{max-width:720px;margin:0 auto;border-top:1px solid var(--border)}

.faq__item{border-bottom:1px solid var(--border)}

.faq__q{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:clamp(20px,2.8vw,24px) 4px;font:inherit;background:none;border:none;cursor:pointer;text-align:left;transition:color .3s}

.faq__qtxt{font-family:var(--serif);font-size:clamp(1.12rem,2.2vw,1.32rem);font-weight:500;color:var(--text);line-height:1.3;letter-spacing:-.005em;transition:color .3s;flex:1;min-width:0}

.faq__chev{width:16px;height:16px;flex-shrink:0;transition:transform .35s cubic-bezier(.16,1,.3,1)}

.faq__chev svg{width:100%;height:100%;stroke:var(--text-mid);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}

@media(hover:hover){
  .faq__q:hover .faq__qtxt{color:var(--accent-dk)}
  .faq__q:hover .faq__chev svg{stroke:var(--accent-dk)}
}

.faq__item.is-open .faq__chev{transform:rotate(180deg)}

.faq__item.is-open .faq__chev svg{stroke:var(--accent-dk)}

.faq__item.is-open .faq__qtxt{color:var(--accent-dk)}

.faq__a-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.16,1,.3,1)}

.faq__item.is-open .faq__a-wrap{grid-template-rows:1fr}

.faq__a{overflow:hidden}

.faq__a-inner{padding:0 4px clamp(20px,2.8vw,24px);font-family:var(--sans);font-size:clamp(.88rem,1.6vw,.94rem);font-weight:400;line-height:1.7;color:var(--text-mid);max-width:600px}

.faq__a-inner strong{color:var(--text);font-weight:500}

img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}

/*# sourceURL=wp-img-auto-sizes-contain-inline-css */


.woocommerce form .form-row .required { visibility: visible; }

/*# sourceURL=woocommerce-inline-inline-css */

.woocommerce-product-gallery{ opacity: 1 !important; }

.woocommerce-product-gallery{ opacity: 1 !important; }

.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}

/* Bouton "Voir toute la collection [Marque]" */
/* === PAGE COLLECTION === */
.bc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:clamp(18px,2.5vw,28px) var(--px);font-family:var(--sans);font-size:clamp(.56rem,1.05vw,.62rem);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-light);border-bottom:1px solid var(--border)}

.bc a{color:var(--text-light);transition:color .25s}

.bc a:hover{color:var(--accent-dk)}

.bc__sep{color:var(--accent);opacity:.7}

.bc__current{color:var(--text);font-weight:600}

/* Hero collection : ajustements via .coll */
.coll .shop__header{padding-top:clamp(20px,3vw,30px);margin-bottom:clamp(20px,3.5vw,32px)}

.coll .shop__title{font-size:clamp(2rem,5.5vw,3.4rem);font-weight:500;letter-spacing:-.01em}

.coll .shop__sub{max-width:540px;margin:0 auto;line-height:1.55}

.coll .grid{padding-bottom:clamp(20px,3vw,28px)}

.coll__count{text-align:center;font-family:var(--sans);font-size:clamp(.58rem,1.1vw,.66rem);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-light);margin-top:clamp(24px,3.5vw,32px)}

.coll__count span{color:var(--accent-dk);font-weight:600}

.shop__more{display:flex;justify-content:center;margin-top:clamp(32px,5.5vw,52px)}

/* ===== PRODUCT PAGE (PDP) ===== */
/* ===== PRODUCT PAGE — MOBILE FIRST ===== */
.pdp{padding-bottom:0}

.pdp__layout{display:flex;flex-direction:column}

/* Gallery */
.pdp__gallery{position:relative;width:100%;background:#EEEAE5}

.pdp__main-img{width:100%;aspect-ratio:3/4;overflow:hidden;position:relative}

.pdp__main-img img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}

.pdp__thumbs{display:flex;gap:5px;padding:8px 16px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}

.pdp__thumbs::-webkit-scrollbar{display:none}

.pdp__thumb{width:54px;aspect-ratio:3/4;overflow:hidden;border:2px solid transparent;border-radius:3px;cursor:pointer;flex-shrink:0;opacity:.5;transition:opacity .25s,border-color .25s}

.pdp__thumb.on{opacity:1;border-color:var(--accent)}

.pdp__thumb img{width:100%;height:100%;object-fit:cover}

.pdp__badges{position:absolute;top:12px;left:12px;z-index:2;display:flex;flex-direction:column;gap:5px}

.pdp__badge{font-size:.6rem;font-weight:600;letter-spacing:.03em;color:var(--text);background:rgba(250,250,248,.93);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:6px 11px;border-radius:3px;width:fit-content}

.pdp__badge--save{color:var(--accent-dk);letter-spacing:.02em}

/* Info panel */
.pdp__info{padding:20px 16px}

/* — Eyewear override — */
.pdp--eyewear .pdp__gallery{background:#fff}

.pdp--eyewear .pdp__main-img{aspect-ratio:1/1}

.pdp--eyewear .pdp__main-img img{object-fit:contain;padding:8%}

.pdp--eyewear .pdp__thumb{aspect-ratio:1/1}

.pdp--eyewear .pdp__thumb img{object-fit:contain;padding:6%}

/* — Zone 1 : Identity — */
.pdp__header-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:44px}

.pdp__zone{margin-bottom:0;flex:1;min-width:0}

.pdp__collection{font-size:.52rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:6px}

.pdp__name{font-family:var(--serif);font-size:1.7rem;font-weight:600;line-height:1.1}

/* — Zone 2 : Price — */
.pdp__price-zone{margin:0;flex-shrink:0}

.pdp__prices{display:flex;align-items:baseline;justify-content:flex-end;gap:10px;margin-bottom:3px}

.pdp__price{font-family:var(--serif);font-size:2.1rem;font-weight:600;line-height:1;letter-spacing:-.01em}

.pdp__retail{font-size:.78rem;color:var(--text-light);text-decoration:line-through;text-decoration-color:rgba(154,154,149,.4)}

.pdp__member{font-size:.52rem;color:var(--text-light);letter-spacing:.02em}

/* — Viewers pill (on image) — */
.pdp__viewers{position:absolute;bottom:clamp(10px,2vw,14px);right:clamp(10px,2vw,14px);z-index:2;display:flex;align-items:center;gap:5px;padding:6px 11px;background:rgba(26,26,26,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:3px;font-size:.5rem;font-weight:600;color:#fff;letter-spacing:.02em}

.pdp__viewers-dot{width:5px;height:5px;border-radius:50%;background:#e53e3e;flex-shrink:0;animation:pulse 2s ease-in-out infinite}

/* — Stock alerte (or DA) — mention indépendante sous les swatches */
.pdp__stock{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:clamp(.56rem,1.05vw,.62rem);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-dk);margin:14px 0 0;padding:0}

.pdp__stock #stockCount{font-weight:700;color:var(--text)}

.pdp__stock-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:pdpStockPulse 2.2s ease-in-out infinite}

@keyframes pdpStockPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}

/* — Top row : kicker + tag Iconique alignés — */
.pdp__top-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px}

/* — Diviseurs fins or — */
.pdp__divider{height:1px;background:rgba(196,168,130,.25);margin:clamp(14px,2.5vw,18px) 0}

/* — Zone 4 : Selection — */
.pdp__select-zone{margin-bottom:14px}

.pdp__swatches-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap}

.pdp__swatches-label{font-family:var(--sans);font-size:clamp(.58rem,1.1vw,.64rem);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-mid);margin:0 0 16px}

.pdp__swatches-label span{color:var(--text);font-weight:700;letter-spacing:.04em}

.pdp__swatches{display:flex;gap:8px;flex-wrap:wrap}

.pdp__swatch{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .25s,transform .2s;position:relative;display:flex;align-items:center;justify-content:center}

.pdp__swatch::after{content:'';width:calc(100% - 6px);height:calc(100% - 6px);border-radius:50%;background:var(--sw-color)}

.pdp__swatch.on{border-color:var(--accent);transform:scale(1.12)}

.pdp__swatch:hover{border-color:rgba(196,168,130,.5)}

/* — Zone 5 : Action — */
.pdp__action-zone{margin-bottom:14px}

.pdp__offer{padding:clamp(12px,2vw,16px) clamp(14px,2.4vw,18px);border:1px solid rgba(196,168,130,.4);border-radius:var(--r);background:var(--accent-bg);display:flex;align-items:center;gap:clamp(10px,2vw,14px);margin-bottom:14px}

.pdp__offer-icon{width:clamp(22px,3vw,26px);height:clamp(22px,3vw,26px);flex-shrink:0;stroke:var(--accent-dk);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

.pdp__offer-text{flex:1;font-family:var(--sans);font-size:clamp(.74rem,1.4vw,.82rem);color:var(--text);line-height:1.5;letter-spacing:.005em;text-wrap:pretty;text-align:center}

.pdp__offer-text strong{font-weight:600;color:var(--accent-dk)}

.pdp__cta{width:100%;padding:16px;font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--text);border:none;border-radius:var(--r);cursor:pointer;transition:background .3s,transform .15s;min-height:50px;margin-bottom:8px}

.pdp__cta:hover{background:var(--accent-dk)}

.pdp__cta:active{transform:scale(.985)}

.pdp__trust{display:flex;justify-content:center;gap:14px;padding:4px 0;flex-wrap:wrap;margin-bottom:0}

.pdp__trust-item{display:flex;align-items:center;gap:4px;font-size:.5rem;color:var(--text-light)}

.pdp__trust-item svg{width:14px;height:14px;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* — Zone 6 : Details — */
.pdp__details{border-top:1px solid var(--border);margin-top:14px}

.pdp__detail{border-bottom:1px solid var(--border)}

.pdp__detail-q{color:var(--text);-webkit-tap-highlight-color:transparent;width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 0;font-size:.66rem;font-weight:500;letter-spacing:.04em;text-align:left;cursor:pointer;transition:color .25s}

.pdp__detail-q:hover{color:var(--accent-dk)}

.pdp__detail-q svg{width:14px;height:14px;stroke:var(--text-light);fill:none;stroke-width:1.5;stroke-linecap:round;flex-shrink:0;transition:transform .3s cubic-bezier(.16,1,.3,1)}

.pdp__detail.open .pdp__detail-q svg{transform:rotate(45deg)}

.pdp__detail-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1)}

.pdp__detail-a-inner{padding:0 0 14px;font-size:.64rem;color:var(--text-mid);line-height:1.85}

/* — Recommendations — */
.pdp__reco{padding:20px 16px 28px;border-top:1px solid var(--border)}

.pdp__reco-header{text-align:center;margin-bottom:16px}

.pdp__reco-label{font-size:.5rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:6px}

.pdp__reco-title{font-family:var(--serif);font-size:1.3rem;font-weight:500}

.pdp__reco-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.pdp__reco-card{border:1px solid var(--border);border-radius:var(--r);background:var(--card);overflow:hidden;transition:border-color .3s,box-shadow .3s;cursor:pointer}

.pdp__reco-card:hover{border-color:var(--accent);box-shadow:0 4px 20px rgba(26,26,26,.06)}

.pdp__reco-img{width:100%;aspect-ratio:3/4;overflow:hidden;background:#EEEAE5}

.pdp__reco-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}

.pdp__reco-card:hover .pdp__reco-img img{transform:scale(1.04)}

.pdp__reco-info{padding:10px}

.pdp__reco-col{font-size:.48rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:2px}

.pdp__reco-name{font-family:var(--serif);font-size:.8rem;font-weight:500;line-height:1.25;margin-bottom:6px}

.pdp__reco-prices{display:flex;align-items:baseline;gap:5px}

.pdp__reco-old{font-size:.54rem;color:var(--text-light);text-decoration:line-through;text-decoration-color:rgba(154,154,149,.3)}

.pdp__reco-price{font-family:var(--serif);font-size:.9rem;font-weight:500}

/* — Reviews — */
.pdp__avis{padding:24px 16px;border-top:1px solid var(--border)}

/* ===== Avis style Trustpilot (étoiles carrées vertes + slider) ===== */
.pdp__avis{padding:clamp(40px,6vw,72px) var(--px);--tp-green:#00B67A;--tp-green-bg:rgba(0,182,122,.15)}

.pdp__avis-header{text-align:center;margin-bottom:clamp(18px,2.5vw,24px)}

.pdp__avis-label{font-family:var(--sans);font-size:clamp(.58rem,1.1vw,.66rem);font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:12px}

.pdp__avis-title{font-family:var(--serif);font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:500;line-height:1.1;color:var(--text);margin-bottom:0}

/* Étoiles carrées vertes signature Trustpilot */
.tp-stars{display:inline-flex;gap:2px;align-items:center}

.tp-stars .tp{display:inline-flex;align-items:center;justify-content:center;width:var(--tp-size,20px);height:var(--tp-size,20px);background:var(--tp-green);position:relative}

.tp-stars .tp.off{background:var(--tp-green-bg)}

.tp-stars .tp svg{width:70%;height:70%;fill:#fff;display:block}

.tp-stars--lg{--tp-size:28px;gap:3px}

.tp-stars--sm{--tp-size:16px}

/* Score header compact horizontal */
.pdp__score{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,1.8vw,14px);max-width:540px;margin:0 auto clamp(22px,3vw,30px)}

.pdp__score-top{display:flex;align-items:center;gap:clamp(12px,2vw,16px)}

.pdp__score-num{font-family:var(--sans);font-size:clamp(1.6rem,3.2vw,2rem);font-weight:700;line-height:1;color:var(--text);letter-spacing:-.015em;display:inline-flex;align-items:baseline}

.pdp__score-num small{font-size:.55em;font-weight:500;color:var(--text-light);margin-left:2px}

.pdp__score-label{font-family:var(--sans);font-size:clamp(.78rem,1.45vw,.88rem);font-weight:700;color:var(--tp-green);letter-spacing:.005em}

.pdp__score-meta{font-family:var(--sans);font-size:clamp(.6rem,1.1vw,.66rem);color:var(--text-mid);letter-spacing:.02em;text-align:center}

.pdp__score-meta strong{color:var(--text);font-weight:600}

/* Distribution barres — compact, sans box */
.pdp__dist{display:flex;flex-direction:column;gap:5px;max-width:380px;margin:clamp(6px,1.2vw,10px) auto 0;width:100%}

.pdp__dist-row{display:grid;grid-template-columns:30px 1fr 32px;align-items:center;gap:10px;font-family:var(--sans);font-size:clamp(.58rem,1.05vw,.64rem)}

.pdp__dist-row .l{display:inline-flex;align-items:center;gap:3px;font-weight:500;color:var(--text-mid)}

.pdp__dist-row .l svg{width:10px;height:10px;fill:var(--tp-green);display:block}

.pdp__dist-bar{height:6px;background:var(--tp-green-bg);overflow:hidden;border-radius:1px}

.pdp__dist-fill{height:100%;background:var(--tp-green);transition:width .6s cubic-bezier(.16,1,.3,1)}

.pdp__dist-pct{text-align:right;font-weight:500;color:var(--text-light)}

/* Filtres tabs */
.pdp__avis-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 auto clamp(20px,2.8vw,26px);max-width:920px}

.pdp__avis-filter{padding:clamp(7px,1.4vw,9px) clamp(12px,2vw,16px);font-family:var(--sans);font-size:clamp(.5rem,.95vw,.58rem);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-light);border:1px solid var(--border);background:transparent;border-radius:var(--r);cursor:pointer;transition:all .25s}

.pdp__avis-filter:hover{border-color:var(--accent);color:var(--text)}

.pdp__avis-filter.on{color:var(--text);border-color:var(--accent);background:var(--accent-bg)}

/* Slider horizontal reviews — flèches en absolute sur les bords, slider rétréci */
.pdp__avis-wrap{position:relative;max-width:1180px;margin:0 auto}

.pdp__avis-scroll{display:flex;gap:clamp(12px,2vw,16px);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 16px 8px;margin:0 -16px;scroll-behavior:smooth}

.pdp__avis-scroll::-webkit-scrollbar{display:none}

.pdp__review{flex:0 0 calc(82%);max-width:380px;scroll-snap-align:start;padding:clamp(18px,2.5vw,22px);border:1px solid var(--border);border-radius:var(--r);background:#fff;display:flex;flex-direction:column;gap:10px;transition:border-color .3s,box-shadow .3s}

@media(min-width:768px){
  .pdp__avis-wrap{padding:0 60px}
  .pdp__avis-scroll{padding:4px 0 8px;margin:0}
  .pdp__review{flex:0 0 calc(33.333% - 11px)}
}

.pdp__review:hover{border-color:rgba(196,168,130,.4);box-shadow:0 2px 14px rgba(26,26,26,.05)}

/* Flèches navigation PC : position absolute dans le padding du wrap */
.pdp__avis-arr{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--border);align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s,background .3s,box-shadow .3s}

.pdp__avis-arr svg{width:16px;height:16px;stroke:var(--text);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.pdp__avis-arr:hover{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 2px 12px rgba(26,26,26,.06)}

.pdp__avis-arr:disabled{opacity:.35;cursor:not-allowed}

.pdp__avis-arr--prev{left:0}

.pdp__avis-arr--next{right:0}

@media(min-width:768px){.pdp__avis-arr{display:inline-flex}}

.pdp__review-head{display:flex;justify-content:space-between;align-items:center;gap:12px}

.pdp__review-date{font-family:var(--sans);font-size:.58rem;font-weight:400;color:var(--text-light);letter-spacing:.02em}

.pdp__review-title{font-family:var(--sans);font-size:clamp(.84rem,1.55vw,.92rem);font-weight:700;color:var(--text);line-height:1.35;letter-spacing:-.005em;margin:0}

.pdp__review-text{font-family:var(--sans);font-size:clamp(.76rem,1.45vw,.84rem);font-weight:400;color:var(--text-mid);line-height:1.6;margin:0;flex:1}

.pdp__review-author{display:flex;align-items:center;gap:10px;padding-top:10px;margin-top:auto;border-top:1px solid var(--border)}

.pdp__review-avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-bg);color:var(--accent-dk);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:.7rem;font-weight:600;flex-shrink:0;border:1px solid rgba(196,168,130,.3)}

.pdp__review-meta{display:flex;flex-direction:column;line-height:1.3;flex:1;min-width:0}

.pdp__review-name{font-family:var(--sans);font-size:.7rem;font-weight:600;color:var(--text)}

.pdp__review-loc{font-family:var(--sans);font-size:.58rem;font-weight:400;color:var(--text-light);display:inline-flex;align-items:center;gap:4px}

.pdp__review-loc::before{content:'';width:3px;height:3px;border-radius:50%;background:var(--text-light)}

.pdp__review-verified{display:inline-flex;align-items:center;gap:3px;font-family:var(--sans);font-size:.5rem;font-weight:600;letter-spacing:.06em;color:var(--accent-dk);text-transform:uppercase;flex-shrink:0}

.pdp__review-verified svg{width:10px;height:10px;stroke:var(--accent-dk);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* Dots */
.pdp__avis-dots{display:flex;justify-content:center;gap:6px;margin-top:clamp(18px,2.5vw,22px)}

@media(min-width:768px){.pdp__avis-dots{display:none}}

.pdp__avis-dot{width:7px;height:7px;border-radius:50%;background:var(--border);border:none;padding:0;cursor:pointer;transition:all .3s}

.pdp__avis-dot.on{background:var(--accent);transform:scale(1.3)}

/* Voir plus */
.pdp__avis-more{display:flex;justify-content:center;margin-top:clamp(24px,3vw,32px)}

.pdp__avis-more-btn{font-family:var(--sans);font-size:clamp(.56rem,1.05vw,.62rem);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text);background:none;border:none;cursor:pointer;padding:8px 12px;transition:color .25s;border-bottom:1px solid var(--text)}

.pdp__avis-more-btn:hover{color:var(--accent-dk);border-bottom-color:var(--accent-dk)}

/* Sticky mobile CTA */
.pdp__sticky{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:99;padding:10px 16px;background:rgba(250,250,248,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);gap:10px;align-items:center;transform:translateY(100%);transition:transform .3s ease}

.pdp__sticky.show{transform:translateY(0)}

.pdp__sticky-info{flex:1;min-width:0}

.pdp__sticky-name{font-family:var(--serif);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.pdp__sticky-price{font-size:.62rem;font-weight:500}

.pdp__sticky-btn{padding:12px 22px;font-size:.58rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#fff;background:var(--text);border-radius:var(--r);white-space:nowrap;transition:background .25s;min-height:44px}

.pdp__sticky-btn:hover{background:var(--accent-dk)}

/* ===== DESKTOP ===== */
@media(min-width:768px){
  .pdp{padding-bottom:0}
  .pdp__layout{flex-direction:row}
  .pdp__gallery{width:60%;position:sticky;top:var(--hd);height:calc(100svh - var(--hd));overflow-y:auto;scrollbar-width:none}
  .pdp__gallery::-webkit-scrollbar{display:none}
  .pdp__main-img{aspect-ratio:auto;height:auto}
  .pdp__thumbs{padding:10px}
  .pdp__info{width:40%;padding:36px 32px}
  .pdp__header-row{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:32px}
  .pdp__prices{justify-content:flex-start}
  .pdp__zone{margin-bottom:0}
  .pdp__name{font-size:2.2rem}
  .pdp__price-zone{margin-bottom:0}
  .pdp__price{font-size:2.6rem}
  .pdp__viewers{bottom:16px;right:16px;font-size:.52rem;padding:6px 12px}
  .pdp__select-zone{margin-bottom:32px}
  .pdp__swatch{width:36px;height:36px}
  .pdp__action-zone{margin-bottom:28px}
  .pdp__offer{padding:16px 20px}
  .pdp__cta{padding:18px;min-height:54px;font-size:.72rem}
  .pdp__details{margin-top:28px}
  .pdp__detail-q{padding:18px 0;font-size:.72rem}
  .pdp__reco{padding:44px var(--px)}
  .pdp__reco-header{margin-bottom:24px}
  .pdp__reco-title{font-size:1.6rem}
  .pdp__reco-grid{gap:16px}
  .pdp__reco-info{padding:14px}
  .pdp__avis{padding:36px var(--px)}
  .pdp__avis-title{font-size:1.4rem}
  .pdp__review{flex:0 0 calc(42%);padding:28px}
  .pdp__review-text{font-size:.84rem}
  .pdp__sticky{display:none}
}

/* === UGC SECTION === */
.ugc__header{text-align:center;margin-bottom:clamp(26px,5vw,46px);padding:0 var(--px)}

/* === FAQ SECTION === */
.faq__header{text-align:center;max-width:560px;margin:0 auto clamp(30px,4vw,42px)}

/* Bouton "Voir toute la collection [Marque]" */
/* === PAGE COLLECTION === */
.bc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:clamp(20px,3vw,32px) var(--px) 0;font-family:var(--sans);font-size:clamp(.56rem,1.05vw,.62rem);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-light)}