@import url('https://fonts.googleapis.com/css2?family=Tenor+Sans&family=Josefin+Sans:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap');
/* ═══════════════════════════════════════════════════════════
   LOUISE RINCEAU — Feuille de style unique
   Design éditorial noir & blanc doux (validé).
   Habille à la fois les composants du design et les points
   d'accroche du moteur (nav, grille, modale, panier, paiement).
═══════════════════════════════════════════════════════════ */

:root{
  --bg:#FFFFFF; --surface:#FBFBFA; --ink:#141312; --muted:#55504C;
  --soft:#8A847F; --line:#E7E5E2;
  --disp:'Tenor Sans',Georgia,serif;
  --sans:'Josefin Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  /* alias conservés pour le moteur */
  --N:#141312; --B:#FFFFFF; --G:#FBFBFA; --M:#55504C;
  --bd:1px solid #E7E5E2; --FC:'Tenor Sans',Georgia,serif; --FB:'Josefin Sans',system-ui,sans-serif;
  color-scheme:light;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased;font-size:16px;overflow-x:hidden}
img{max-width:100%;display:block;object-fit:cover}
a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;background:none;font-family:var(--sans)}
input,select,textarea{font-family:var(--sans);background:var(--bg);color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none}
*{-webkit-tap-highlight-color:transparent}
.wrap{padding-left:max(22px,env(safe-area-inset-left,0px));padding-right:max(22px,env(safe-area-inset-right,0px))}
.eyebrow{font-family:var(--disp);font-weight:400;font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:var(--soft)}
h1,h2,h3{font-family:var(--disp);font-weight:400;text-wrap:balance;margin:0;letter-spacing:.03em}
sup{font-size:.6em}

/* ═══ BOUTONS ═══ */
.btn{display:inline-block;font-family:var(--disp);font-size:.6rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;padding:.95rem 2rem;border:1px solid rgba(255,255,255,.7);color:#fff;transition:background .2s,color .2s;cursor:pointer}
.btn:hover{background:#fff;color:#111}
.btn-d{display:inline-block;font-family:var(--disp);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;padding:.9rem 1.9rem;border:1px solid var(--ink);color:var(--ink);transition:background .2s,color .2s;cursor:pointer}
.btn-d:hover{background:var(--ink);color:#fff}
.btn-s{display:inline-block;font-family:var(--disp);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;padding:.9rem 1.9rem;background:var(--ink);color:#fff;border:1px solid var(--ink);transition:background .2s;cursor:pointer}
.btn-s:hover{background:#333}

/* ═══ NAV (logo centré, accroches moteur conservées) ═══ */
.nav{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav-in{max-width:1180px;margin:0 auto;position:relative;display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:1rem 1.2rem}
.nav-logo{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-decoration:none}
.nav-logo img{height:46px;width:auto;object-fit:contain}
.nav-logo .mark,.nav-logo span{font-family:var(--disp);font-size:1.35rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;line-height:1;color:var(--ink);padding-left:.3em}
.nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem}
.nl{font-family:var(--disp);font-weight:400;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);padding-bottom:3px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap;cursor:pointer}
.nl:hover{color:var(--ink);border-color:var(--ink)}
.nl.on{color:var(--ink);border-color:var(--ink)}
.nav-dd{position:relative}
.dd-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid var(--line);padding:.5rem 0;min-width:230px;opacity:0;visibility:hidden;transition:opacity .18s;z-index:200;box-shadow:0 12px 34px rgba(0,0,0,.07)}
.nav-dd:hover .dd-panel{opacity:1;visibility:visible}
.dd-a{display:block;padding:.6rem 1.4rem;font-family:var(--disp);font-weight:400;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:all .12s}
.dd-a:hover{background:var(--surface);color:var(--ink)}
.dd-all{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:.75rem;margin-bottom:.25rem}
.nav-r{position:absolute;top:1.05rem;right:1.2rem;display:flex;align-items:center;gap:.5rem}
.nav-cart{font-family:var(--disp);font-weight:400;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;background:transparent;color:var(--ink);border:1px solid var(--line);padding:.5rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.45rem;transition:all .18s;min-height:38px}
.nav-cart:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.cart-badge{background:var(--ink);color:#fff;font-size:.56rem;font-weight:400;min-width:16px;height:16px;padding:0 3px;border-radius:50%;display:none;align-items:center;justify-content:center}
.cart-badge.show{display:flex}
.nav-cart:hover .cart-badge{background:#fff;color:var(--ink)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.burger span{display:block;width:22px;height:1.5px;background:var(--ink)}

/* ═══ MOBILE SIDEBAR ═══ */
.mob-ov{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:950;opacity:0;visibility:hidden;transition:all .25s}
.mob-ov.open{opacity:1;visibility:visible}
.mob-side{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:88vw;background:var(--bg);z-index:951;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;border-right:1px solid var(--line);overflow-y:auto;-webkit-overflow-scrolling:touch}
.mob-side.open{transform:translateX(0)}
.mob-h{padding:1.2rem 1.4rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.mob-h span{font-family:var(--disp);font-weight:400;font-size:.9rem;letter-spacing:.26em;text-transform:uppercase}
.mob-x{font-size:1.2rem;cursor:pointer;color:var(--muted);min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}
.mob-nav{flex:1;padding:.5rem 0}
.mob-a{display:flex;align-items:center;padding:.95rem 1.4rem;font-family:var(--disp);font-weight:400;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);transition:all .1s;min-height:52px;cursor:pointer}
.mob-a:hover{color:var(--ink);background:var(--surface)}
.mob-sub{padding-left:.8rem;display:none}
.mob-sub.open{display:block}
.mob-sub .mob-a{font-size:.66rem;min-height:46px}

/* ═══ TICKER ═══ */
.ticker{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:.7rem 0}
.ticker-track{display:flex;white-space:nowrap;animation:tk 38s linear infinite}
.ti{font-family:var(--disp);font-weight:400;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--soft);padding:0 1.6rem}
@keyframes tk{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ═══ HERO ÉDITORIAL (bannière photo par page) ═══ */
.hero{position:relative;min-height:clamp(430px,70vh,600px);display:flex;align-items:flex-end;overflow:hidden;background:#111;border-bottom:1px solid var(--line)}
.hero.inner{min-height:clamp(320px,46vh,430px)}
.hero .ph{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#e9e7e4}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,.05) 46%,rgba(0,0,0,.22))}
.hero-in{position:relative;z-index:2;max-width:1180px;margin:0 auto;width:100%;padding:3rem 0 3.4rem;color:#fff}
.hero .eyebrow{color:rgba(255,255,255,.82)}
.hero h1{font-size:clamp(2.3rem,6vw,4.4rem);line-height:1.08;margin:.85rem 0 0;letter-spacing:.05em;text-transform:uppercase;color:#fff}
.hero h1 em{font-style:italic;font-size:.6em;display:block;opacity:.7;margin-top:.1em;font-weight:400}
.hero p{max-width:30rem;font-size:.95rem;line-height:1.8;color:rgba(255,255,255,.9);margin:1.3rem 0 1.9rem}
.hero .hero-btns{display:flex;gap:.8rem;flex-wrap:wrap}

/* ═══ EN-TÊTE DE SECTION ═══ */
.sec-head{text-align:center;max-width:1180px;margin:0 auto;padding:4rem 1.2rem 2rem}
.sec-head .eyebrow{display:block}
.sec-head h2{font-size:clamp(1.7rem,3.6vw,2.5rem);text-transform:uppercase;letter-spacing:.1em;margin-top:.55rem}

/* ═══ ONGLETS / FILTRES (pastilles) ═══ */
.tabs{max-width:1180px;margin:1.4rem auto 0;padding:0 1.2rem;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center}
.tab{font-family:var(--disp);font-weight:400;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:.55rem 1.1rem;border-radius:2rem;background:var(--bg);cursor:pointer;transition:all .2s;white-space:nowrap;min-height:42px;display:inline-flex;align-items:center}
.tab:hover{color:var(--ink);border-color:var(--ink)}
.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ═══ GRILLE + CARTES PRODUIT (classes moteur) ═══ */
.gw{max-width:1180px;margin:0 auto;padding:0 1.2rem}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:1.9rem;padding-bottom:3.5rem}
.grid-empty{grid-column:1/-1;text-align:center;padding:4rem 2rem;color:var(--soft);font-family:var(--disp);font-size:1rem;letter-spacing:.06em}
.card{cursor:pointer}
.card-img,.card-img-placeholder{aspect-ratio:4/5;overflow:hidden;position:relative;background:var(--surface)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.card:hover .card-img img{transform:scale(1.04)}
.card-img .i2{position:absolute;inset:0;opacity:0;transition:opacity .35s}
.card:hover .i2{opacity:1}
.badge-ep{position:absolute;top:.6rem;right:.6rem;background:var(--ink);color:#fff;font-family:var(--disp);font-weight:400;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;padding:.25rem .6rem;z-index:2}
.badge-v{position:absolute;top:.6rem;left:.6rem;background:rgba(255,255,255,.92);color:var(--ink);font-family:var(--disp);font-weight:400;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .6rem;z-index:2;border:1px solid var(--line)}
.card-b{padding:.85rem .1rem 0;text-align:left}
.card-nom{font-family:var(--disp);font-weight:400;font-size:1.02rem;letter-spacing:.03em;line-height:1.2;margin-bottom:.25rem;color:var(--ink);text-transform:none}
.card-cat{font-size:.68rem;font-weight:300;color:var(--soft);margin-bottom:.3rem;letter-spacing:.02em}
.card-prix{font-family:var(--disp);font-weight:400;font-size:.82rem;letter-spacing:.1em;color:var(--muted)}
.card-epuise{opacity:.55;filter:grayscale(35%)}
.card-epuise:hover{opacity:.75}
.card-epuise .card-nom{color:var(--soft)}
.card-epuise-lbl{font-size:.75em;color:var(--soft)}

/* ═══ BANDEAU IMAGE MILIEU ═══ */
.bm{position:relative;min-height:clamp(360px,52vh,460px);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#121212}
.bm>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bm-ov{position:absolute;inset:0;background:rgba(0,0,0,.52)}
.bm-c{position:relative;z-index:2;color:#fff;max-width:680px;padding:3rem 1.4rem}
.bm-tag{font-family:var(--disp);font-weight:400;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-bottom:1rem}
.bm-h2{font-family:var(--disp);font-weight:400;font-size:clamp(1.8rem,4vw,2.8rem);text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:1.8rem;line-height:1.14}
.bm-h2 em{font-style:italic;font-size:.62em;display:block;opacity:.8;margin-top:.12em}

/* ═══ CONTENU PAGES INTÉRIEURES ═══ */
.ipage{max-width:760px;margin:0 auto;padding:0 1.2rem}
.lead{max-width:620px;margin:0 auto;text-align:center;font-size:1rem;color:var(--muted);line-height:1.95;padding:3.4rem 1.2rem 1rem}
.blk{border-top:1px solid var(--line);padding-block:2.8rem}
.blk.first{border-top:none}
.blk h2{font-size:clamp(1.45rem,3.2vw,2.05rem);text-transform:uppercase;letter-spacing:.09em}
.blk h3{font-family:var(--disp);font-size:1rem;letter-spacing:.04em;margin:1.7rem 0 .4rem;color:var(--ink)}
.blk p{font-size:.95rem;color:var(--muted);line-height:1.9;margin:1rem 0 0}
.blk p strong{color:var(--ink);font-weight:400}
.blk p.italic{font-style:italic;font-family:var(--disp);color:var(--ink)}
.blk a.inl{color:var(--ink);border-bottom:1px solid var(--soft)}
.blk ul{margin:1rem 0 0;padding-left:1.1rem}
.blk li{font-size:.95rem;color:var(--muted);line-height:1.9;margin:.45rem 0}
.blk li strong{color:var(--ink);font-weight:400}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem}
.steps{list-style:none;counter-reset:st;margin:1.2rem 0 0;padding:0}
.steps li{position:relative;padding-left:2.5rem;margin:.85rem 0;font-size:.95rem;color:var(--muted);line-height:1.85}
.steps li:before{counter-increment:st;content:counter(st);position:absolute;left:0;top:-.15rem;width:1.75rem;height:1.75rem;border:1px solid var(--ink);color:var(--ink);font-family:var(--disp);font-size:.8rem;display:flex;align-items:center;justify-content:center;border-radius:50%}
.tbl{width:100%;border-collapse:collapse;margin:1.4rem 0}
.tbl th{font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);font-weight:400;text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--ink)}
.tbl td{padding:.5rem .8rem;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--muted)}
.tbl td:first-child{font-family:var(--disp);color:var(--ink)}
.encart{border:1px solid var(--line);background:var(--surface);padding:1.6rem 1.8rem;margin-top:1.8rem}
.encart .lbl{font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:var(--soft);margin-bottom:.7rem}
.encart p{margin:.3rem 0;font-size:.92rem;color:var(--ink);line-height:1.8}
.encart a{color:var(--ink);border-bottom:1px solid var(--soft)}
.btnrow{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.9rem}
.note{font-size:.8rem;color:var(--soft);font-style:italic;font-family:var(--disp);margin-top:1.1rem}

/* bande atelier (histoire) */
.atelier{border-top:1px solid var(--line)}
.atelier-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center;padding:4.2rem 1.2rem}
.atelier .ph{aspect-ratio:4/5;max-width:100%;background-size:cover;background-position:center;background-color:#e9e7e4}
.atelier h2{font-size:clamp(1.6rem,3.4vw,2.3rem);text-transform:uppercase;letter-spacing:.08em;margin-top:.5rem}
.atelier p{font-size:.95rem;color:var(--muted);line-height:1.9;margin:1.1rem 0 0}
.mat{border-top:1px solid var(--line)}
.mat-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;padding:0 1.2rem 1rem}
.mat-item{text-align:center;min-width:0}
.mat-item .ic{font-family:var(--disp);font-size:1.4rem}
.mat-item .t{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;margin-top:.5rem}
.mat-item .d{font-size:.9rem;color:var(--muted);line-height:1.85;margin-top:.6rem}
.quality{max-width:720px;margin:2.6rem auto 0;text-align:center;border:1px solid var(--line);padding:1.9rem 1.6rem}
.quality p{font-size:.92rem;color:var(--ink);line-height:1.9}
.quality strong{font-weight:400}
.quality .lbl{font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;color:var(--soft);display:block;margin-bottom:.8rem}
.vals{border-top:1px solid var(--line)}
.vals-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem;padding:0 1.2rem 1rem}
.v{min-width:0}
.v .t{font-family:var(--disp);font-size:1.1rem;letter-spacing:.04em}
.v .d{font-size:.9rem;color:var(--muted);line-height:1.85;margin-top:.55rem}
/* stats (histoire) */
.stats{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:2.2rem 1rem;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat .n{font-family:var(--disp);font-size:clamp(1.8rem,3.5vw,2.8rem);letter-spacing:.04em}
.stat .l{font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin-top:.5rem}
@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:none}}

/* ═══ FAQ (details natif) ═══ */
.faq{border-top:1px solid var(--line);background:var(--surface);padding-bottom:1rem}
.faq-in{max-width:720px;margin:0 auto;padding:0 1.2rem 4.4rem}
.faq-in details{border-top:1px solid var(--line);padding-block:1.2rem}
.faq-in details:last-child{border-bottom:1px solid var(--line)}
.faq-in summary{font-family:var(--disp);font-size:1.02rem;letter-spacing:.02em;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;color:var(--ink)}
.faq-in summary::-webkit-details-marker{display:none}
.faq-in summary::after{content:"+";font-size:1.1rem;color:var(--soft)}
.faq-in details[open] summary::after{content:"\2013"}
.faq-in details p{font-size:.92rem;color:var(--muted);line-height:1.85;margin:.9rem 0 0}
.faq-in details a{color:var(--ink);border-bottom:1px solid var(--soft)}

/* ═══ MODALE PRODUIT ═══ */
.pov{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100;opacity:0;visibility:hidden;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem}
.pov.open{opacity:1;visibility:visible}
.pm{background:var(--bg);max-width:940px;width:100%;margin:auto;display:grid;grid-template-columns:1fr 1fr;position:relative;transform:translateY(14px);transition:transform .25s;border:1px solid var(--line)}
.pov.open .pm{transform:translateY(0)}
.pm-x{position:absolute;top:.7rem;right:.7rem;font-size:1rem;cursor:pointer;background:var(--bg);border:1px solid var(--line);width:34px;height:34px;display:flex;align-items:center;justify-content:center;z-index:3;color:var(--muted)}
.pm-x:hover{background:var(--ink);color:#fff}
.pm-gal{border-right:1px solid var(--line);position:relative;overflow:hidden}
.pm-main{aspect-ratio:4/5;overflow:hidden;border-bottom:1px solid var(--line);background:var(--surface);position:relative}
.pm-main img{width:100%;height:100%;object-fit:cover}
.pm-arr{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.92);border:1px solid var(--line);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;font-size:.9rem}
.pm-arr:hover{background:var(--ink);color:#fff}
.pm-arr.l{left:.5rem}.pm-arr.r{right:.5rem}.pm-arr.hide{display:none}
.pm-th{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.pm-th::-webkit-scrollbar{display:none}
.pm-th>div{width:62px;height:62px;flex-shrink:0;cursor:pointer;border-right:1px solid var(--line);opacity:.45;transition:opacity .12s}
.pm-th>div.on,.pm-th>div:hover{opacity:1}
.pm-th img{width:100%;height:100%;object-fit:cover}
.pm-info{padding:2rem 1.7rem;display:flex;flex-direction:column;overflow:hidden}
.pm-cat{font-family:var(--disp);font-weight:400;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--soft);margin-bottom:.5rem}
.pm-nom{font-family:var(--disp);font-weight:400;font-size:1.5rem;letter-spacing:.03em;margin-bottom:.3rem;line-height:1.1;word-break:break-word;color:var(--ink);text-transform:none}
.pm-prix{font-family:var(--disp);font-weight:400;font-size:1.3rem;letter-spacing:.06em;color:var(--muted);margin-bottom:.7rem}
.pm-div{border:none;border-top:1px solid var(--line);margin:.75rem 0}
.pm-sl{font-family:var(--disp);font-weight:400;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--soft);margin-bottom:.6rem}
.pm-tailles{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.3rem}
.pm-t{font-family:var(--disp);font-weight:400;font-size:.64rem;padding:.45rem .75rem;border:1px solid var(--line);background:var(--bg);cursor:pointer;min-height:42px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;transition:all .12s}
.pm-t:hover{background:var(--surface)}.pm-t.sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.pm-t.ep{opacity:.35;cursor:not-allowed}
.pm-hint{font-size:.66rem;color:var(--soft);margin-bottom:1rem}
.pm-hint a{border-bottom:1px solid var(--soft);text-decoration:none}
.pm-desc{font-size:.9rem;font-weight:300;line-height:1.85;color:var(--muted);margin-bottom:.6rem;word-wrap:break-word;overflow-wrap:break-word}
.pm-mat{font-family:var(--disp);font-size:.66rem;color:var(--soft);letter-spacing:.08em;word-break:break-word}
.pm-acts{margin-top:auto;padding-top:1rem}
.pm-add{width:100%;font-family:var(--disp);font-weight:400;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;background:var(--ink);color:#fff;padding:1rem;border:none;cursor:pointer;margin-bottom:.3rem;min-height:52px;transition:background .18s}
.pm-add:hover{background:#333}.pm-add.ep{background:#ccc;color:#888;cursor:not-allowed}
.pm-or{font-size:.62rem;color:var(--soft);text-align:center;margin:.3rem 0;text-transform:uppercase;letter-spacing:.1em}
.pm-pay{width:100%;font-family:var(--disp);font-weight:400;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:.95rem;cursor:pointer;min-height:52px;transition:all .18s}
.pm-pay:hover{background:var(--ink);color:#fff}

/* ═══ PANIER ═══ */
.cov{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:1000;opacity:0;visibility:hidden;transition:all .2s}
.cov.open{opacity:1;visibility:visible}
.cpan{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:var(--bg);z-index:1001;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;border-left:1px solid var(--line)}
.cpan.open{transform:translateX(0)}
.cpan-h{padding:1.2rem 1.3rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.cpan-h span{font-family:var(--disp);font-weight:400;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.cpan-x{font-size:1.2rem;color:var(--muted);cursor:pointer;min-width:34px;min-height:34px;display:flex;align-items:center;justify-content:center}
.cpan-items{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.7rem 1.2rem}
.cpan-empty{text-align:center;padding:3rem 1.2rem;color:var(--soft);font-size:.86rem;font-weight:300;font-family:var(--disp)}
.ci{display:grid;grid-template-columns:56px 1fr auto;gap:.7rem;padding:.8rem 0;border-bottom:1px solid var(--line);align-items:start}
.ci img{width:56px;height:70px;object-fit:cover;background:var(--surface)}
.ci-nom{font-family:var(--disp);font-weight:400;font-size:.8rem;letter-spacing:.02em;margin-bottom:.14rem;text-transform:none}
.ci-det{font-size:.66rem;color:var(--soft)}
.ci-prix{font-family:var(--disp);font-weight:400;font-size:.84rem;color:var(--muted)}
.ci-rm{font-size:.9rem;color:#ccc;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-top:.3rem;min-height:30px;min-width:30px}
.ci-rm:hover{color:var(--ink)}
.cpan-f{padding:1.1rem 1.2rem;border-top:1px solid var(--line);background:var(--surface)}
.cpan-tr{display:flex;justify-content:space-between;margin-bottom:.4rem}
.cpan-tl{font-family:var(--disp);font-weight:400;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}
.cpan-tv{font-family:var(--disp);font-weight:400;font-size:1.1rem}
.cpan-lv{font-size:.66rem;color:var(--soft);text-transform:uppercase;margin-bottom:.8rem;letter-spacing:.04em}
.cpan-lv a{text-decoration:underline}
.cpan-btn{width:100%;font-family:var(--disp);font-weight:400;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;background:var(--ink);color:#fff;padding:1rem;border:none;cursor:pointer;min-height:52px;transition:background .18s}
.cpan-btn:hover{background:#333}
.ship-line{display:flex;justify-content:space-between;padding:.35rem 0}
.ship-line .sl{font-family:var(--disp);font-weight:400;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em}
.ship-line .sv{font-family:var(--disp);font-weight:400;font-size:.82rem}
.ship-tot{border-top:1px solid var(--line);margin-top:.3rem;padding-top:.5rem}
.ship-tot .sl{font-size:.68rem}
.ship-tot .sv{font-size:.98rem}
.ship-recap{background:var(--surface);border:1px solid var(--line);padding:.75rem 1rem;margin:.8rem 0;font-family:var(--disp);font-size:.7rem}
.ship-ok{color:#1a7a36;letter-spacing:.06em;text-transform:uppercase}
.ship-price{color:var(--ink);letter-spacing:.06em;text-transform:uppercase}
.ship-hint{color:var(--soft);font-weight:300;font-size:.64rem}

/* ═══ PAIEMENT ═══ */
.payov{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1200;opacity:0;visibility:hidden;transition:all .2s;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:1rem}
.payov.open{opacity:1;visibility:visible}
.paym{background:var(--bg);width:100%;max-width:440px;border:1px solid var(--line);max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.paym-h{background:var(--ink);color:#fff;padding:1rem 1.4rem;display:flex;align-items:center;justify-content:space-between}
.paym-h span{font-family:var(--disp);font-weight:400;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase}
.paym-hx{color:#fff;font-size:1rem;cursor:pointer;opacity:.6;padding:4px}
.paym-hx:hover{opacity:1}
.paym-b{padding:1.4rem}
.pf{margin-bottom:.7rem}
.pf label{font-family:var(--disp);font-weight:400;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.3rem}
.pf input,.paym-b textarea,.paym-b select{width:100%;border:1px solid var(--line);padding:.7rem .8rem;font-size:.9rem;outline:none;min-height:46px;background:var(--bg);color:var(--ink)}
.pf input:focus,.paym-b textarea:focus{border-color:var(--ink)}
.p2c{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
#card-el{border:1px solid var(--line);padding:.8rem;background:var(--surface)}
#card-err{font-family:var(--disp);font-size:.6rem;color:#c00;margin-top:.3rem;min-height:.75rem}
.pay-btn{width:100%;font-family:var(--disp);font-weight:400;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;background:var(--ink);color:#fff;padding:1rem;border:none;cursor:pointer;margin-top:.8rem;min-height:52px;transition:background .18s}
.pay-btn:hover{background:#333}
.pay-btn:disabled{background:#ccc;cursor:not-allowed}
.pay-ok{display:none;text-align:center;padding:2rem 1.4rem}
.pay-ok.show{display:block}
.pay-ok h3{font-family:var(--disp);font-weight:400;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;margin:.6rem 0 .5rem}
.pay-ok p{font-size:.86rem;font-weight:300;color:var(--muted);line-height:1.7}
#p-pays{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2rem}

/* ═══ COOKIE BANNER ═══ */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:#fff;padding:1.2rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;z-index:2000;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);flex-wrap:wrap}
#cookie-banner.show{transform:translateY(0)}
#cookie-banner p{font-size:.8rem;font-weight:300;line-height:1.6;color:rgba(255,255,255,.85);max-width:600px}
.cookie-btns{display:flex;gap:.6rem;flex-shrink:0;flex-wrap:wrap}
.cookie-btns button{font-family:var(--disp);font-weight:400;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.65rem 1.3rem;cursor:pointer;min-height:42px;transition:all .15s}
.cookie-btns button:first-child{background:#fff;color:var(--ink);border:none}
.cookie-refuse{background:transparent!important;color:rgba(255,255,255,.85)!important;border:1px solid rgba(255,255,255,.45)!important}
.cookie-refuse:hover{color:#fff!important;border-color:#fff!important}

/* ═══ FOOTER ═══ */
footer{border-top:1px solid var(--line);background:var(--bg)}
.ft-in{max-width:1180px;margin:0 auto;padding:3.4rem 1.2rem 2rem}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.4rem;text-align:left;padding-bottom:2rem;border-bottom:1px solid var(--line);margin-bottom:1.6rem;align-items:start}
.ft-logo{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}
.ft-logo img{height:40px;width:auto;object-fit:contain}
.ft-logo span{font-family:var(--disp);font-weight:400;font-size:1rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.ft-desc{font-size:.84rem;font-weight:300;line-height:1.8;color:var(--muted);margin-bottom:1rem;max-width:30rem}
.ft-insta{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--disp);font-weight:400;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);transition:color .15s}
.ft-insta:hover{color:var(--soft)}
.ft-insta svg{width:16px;height:16px;fill:currentColor}
.ft-ct{font-family:var(--disp);font-weight:400;font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--soft);margin-bottom:.9rem}
.ft-links{display:flex;flex-direction:column;gap:.5rem}
.ft-links a{font-size:.84rem;font-weight:300;color:var(--muted);transition:color .12s;line-height:1.4}
.ft-links a:hover{color:var(--ink)}
.ft-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.ft-copy{font-family:var(--disp);font-weight:400;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1099px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .ft-top{grid-template-columns:1fr 1fr 1fr}
  .ft-top>div:first-child{grid-column:1/-1}
}
@media(max-width:860px){
  .nav-links{display:none}
  .burger{display:flex}
  .nav-in{padding:.9rem 1rem;flex-direction:row;justify-content:center}
  .nav-logo img{height:40px}
  .nav-logo .mark,.nav-logo span{font-size:1.15rem;letter-spacing:.24em}
  .nav-r{position:static;transform:none}
  .burger{position:absolute;left:1rem;top:50%;transform:translateY(-50%);margin:0;padding:6px;z-index:2}
  .nav-cart{position:absolute;right:1rem;top:50%;transform:translateY(-50%);padding:.45rem .7rem;font-size:.56rem;gap:.35rem;z-index:2}
  .atelier-in{grid-template-columns:1fr;gap:1.8rem}
  .mat-grid,.vals-grid{grid-template-columns:1fr;gap:2rem;text-align:center}
  .v{text-align:center}
}
@media(max-width:767px){
  body{font-size:15px}
  .grid{grid-template-columns:repeat(2,1fr);gap:.9rem}
  .gw,.tabs{padding:0 1rem}
  .card-nom{font-size:.9rem}
  .hero-in{padding:2.4rem 1rem 2.6rem}
  .sec-head{padding:3rem 1rem 1.6rem}
  .ipage,.faq-in,.lead{padding-left:1rem;padding-right:1rem}
  .cols2{grid-template-columns:1fr;gap:1.4rem}
  .pov{padding:0;align-items:flex-end}
  .pm{grid-template-columns:1fr;max-width:100%;margin:0;max-height:96vh;overflow-y:auto;border-radius:10px 10px 0 0;border:none}
  .pm-gal{border-right:none}
  .pm-main{aspect-ratio:4/5;border-bottom:none}
  .pm-slider{display:flex;width:100%;height:100%;transition:transform .28s cubic-bezier(.4,0,.2,1);will-change:transform}
  .pm-slide{flex:0 0 100%;width:100%;height:100%}
  .pm-slide img{width:100%;height:100%;object-fit:cover;pointer-events:none}
  .pm-dots{display:flex;justify-content:center;gap:5px;padding:.5rem 0;background:var(--bg)}
  .pm-dot{width:5px;height:5px;border-radius:50%;background:#ddd}
  .pm-dot.on{background:var(--ink)}
  .pm-th{display:none}
  .pm-arr{display:none!important}
  .pm-info{padding:1.3rem 1.1rem 1.6rem}
  .pm-nom{font-size:1.2rem}
  .cpan{width:100vw}
  .payov{padding:0;align-items:flex-end}
  .paym{max-width:100%;max-height:96vh;border-radius:10px 10px 0 0;border:none}
  .p2c{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr 1fr;gap:1.4rem}
  .ft-in{padding:2.4rem 1rem 1.6rem}
  .bm-c{padding:2rem 1rem}
  #cookie-banner{flex-direction:column;align-items:flex-start;padding:1.2rem 1rem;gap:1rem}
  .cookie-btns{width:100%}.cookie-btns button{flex:1}
}
@media(max-width:479px){
  .grid{gap:.7rem}
  .nav-logo .mark,.nav-logo span{font-size:1rem;letter-spacing:.2em}
  .ft-top{grid-template-columns:1fr 1fr}
}
@media(max-width:359px){.grid{grid-template-columns:1fr}}
@media(hover:none) and (pointer:coarse){
  .pm-add,.pm-pay,.cpan-btn,.pay-btn,.btn,.btn-d,.btn-s{min-height:54px}
  .tab{min-height:48px}.nav-cart{min-height:46px}.pm-t{min-height:48px;min-width:48px}
  .mob-a{min-height:54px}.ci-rm{min-height:38px;min-width:38px}
}
