/* ============================================================================
   DRIVEGROVE — design system BRUTALIST-UTILITY (préfixe .dg-)
   Grille 1px visible, blocs encadrés bords nets, mono majuscules, fort contraste
   gunmetal/concrete + accent orange sécurité, cartes à inversion au hover.
   Polices : Archivo Expanded (display) + Archivo (body).
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wdth,wght@0,62..125,100..900;1,62..125,100..900&display=swap');

:root{
  --paper:#ECEAE4;      /* concrete clair (fond) */
  --paper2:#E2DED6;     /* concrete 2 */
  --card:#F4F2EC;       /* surface carte */
  --ink:#14161A;        /* lignes + texte */
  --black:#0E0F11;
  --gun:#23272E;        /* gunmetal */
  --gun2:#33383F;
  --accent:#FF5A00;     /* orange sécurité */
  --accent-d:#E04E00;
  --muted:#6A6E73;
  --line:#14161A;
  --bd:1.5px solid var(--line);
  --bd-thin:1px solid var(--line);
  --mono:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Menlo,Consolas,monospace;
  --disp:"Archivo",system-ui,sans-serif;
  --body:"Archivo",system-ui,sans-serif;
  --maxw:1320px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.55;
  font-variation-settings:"wght" 420,"wdth" 100;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{margin:0;font-family:var(--disp);text-transform:uppercase;line-height:.96;letter-spacing:-.01em;
  font-variation-settings:"wght" 850,"wdth" 125}
.dg-wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ---- libellés mono ---- */
.dg-mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600}
.dg-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:11px;
  border:var(--bd-thin);padding:3px 8px;display:inline-block;background:var(--card)}

/* ============================ BOUTONS ============================ */
.dg-btn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:13px;
  border:var(--bd);background:var(--ink);color:var(--paper);padding:15px 26px;display:inline-flex;
  align-items:center;gap:10px;justify-content:center;transition:.12s;border-radius:0}
.dg-btn:hover{background:var(--accent);color:var(--black);border-color:var(--ink)}
.dg-btn--accent{background:var(--accent);color:var(--black)}
.dg-btn--accent:hover{background:var(--ink);color:var(--paper)}
.dg-btn--ghost{background:transparent;color:var(--ink)}
.dg-btn--ghost:hover{background:var(--ink);color:var(--paper)}
.dg-btn--block{display:flex;width:100%}
.dg-btn--lg{padding:18px 30px;font-size:14px}

/* ============================ HEADER ============================ */
.dg-announce{background:var(--ink);color:var(--paper);border-bottom:var(--bd)}
.dg-announce .dg-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:34px}
.dg-announce__track{display:flex;gap:34px;overflow:hidden;flex:1}
.dg-announce__track span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.dg-announce__track span b{color:var(--accent);font-weight:700}
.dg-announce__lang{display:flex;gap:0;flex:none}
.dg-announce__lang a{font-family:var(--mono);font-size:11px;letter-spacing:.1em;padding:3px 7px;border-left:1px solid #33383F}
.dg-announce__lang a.is-on{background:var(--accent);color:var(--black)}

/* — header double-decker : barre logo-tampon + bandeau d'INDEX numéroté — */
.dg-head{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:var(--bd)}
.dg-head__bar{display:flex;align-items:stretch;gap:0;min-height:66px}
.dg-logo{display:flex;align-items:center;gap:10px;flex:none}
.dg-logo img{height:30px;width:auto}
.dg-logo__txt{font-family:var(--disp);font-variation-settings:"wght" 900,"wdth" 125;text-transform:uppercase;
  font-size:21px;letter-spacing:.01em}
.dg-logo__txt b{color:var(--accent)}
/* logo en TAMPON encadré */
.dg-stamp{position:relative;border-right:var(--bd);padding:0 22px 0 4px}
.dg-stamp__tag{position:absolute;top:6px;left:4px;font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;
  color:var(--accent);text-transform:uppercase}
.dg-stamp .dg-logo__txt{padding-top:8px}
.dg-head__spec{display:flex;align-items:center;gap:9px;padding:0 20px;flex:1;color:var(--muted)}
.dg-head__dot{width:8px;height:8px;background:var(--accent);flex:none}
.dg-head__tools{display:flex;align-items:center;gap:0;flex:none}
.dg-iconbtn{width:46px;height:46px;border:var(--bd-thin);background:var(--card);display:grid;place-items:center;
  margin-left:-1.5px;position:relative}
.dg-iconbtn:hover{background:var(--ink);color:var(--paper)}
.dg-iconbtn svg{width:22px;height:22px}
.dg-cartcount{position:absolute;top:-1px;right:-1px;background:var(--accent);color:var(--black);
  font-family:var(--mono);font-size:10px;font-weight:700;min-width:17px;height:17px;display:grid;place-items:center;padding:0 3px}
.dg-burger{display:none;border-left:0;border-top:0;border-bottom:0;border-right:var(--bd-thin)}
/* bandeau d'index numéroté */
.dg-index{border-top:var(--bd);background:var(--ink)}
.dg-index__row{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.dg-index__row::-webkit-scrollbar{display:none}
.dg-ix{display:flex;align-items:baseline;gap:8px;padding:11px 18px;border-right:1px solid #33383F;
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:600;
  color:var(--paper);white-space:nowrap;transition:.12s}
.dg-ix__no{font-size:9.5px;letter-spacing:.12em;color:var(--accent);font-weight:700}
.dg-ix:hover{background:var(--accent);color:var(--black)}
.dg-ix:hover .dg-ix__no{color:var(--black)}

/* search bar drop */
.dg-search{display:none;border-bottom:var(--bd);background:var(--card)}
.dg-search.is-open{display:block}
.dg-search .dg-wrap{display:flex;gap:10px;padding-top:12px;padding-bottom:12px}
.dg-search input{flex:1;border:var(--bd);background:var(--paper);padding:13px 14px;font-family:var(--mono);
  font-size:13px;letter-spacing:.04em}
.dg-search input:focus{outline:2px solid var(--accent);outline-offset:-2px}

/* ============================ SECTION SHELL ============================ */
.dg-sec{border-bottom:var(--bd)}
.dg-sec__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  padding:20px 0;border-bottom:var(--bd)}
.dg-sec__head h2{font-size:clamp(26px,4vw,46px)}
.dg-sec__idx{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--accent)}
.dg-sec__link{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--accent);padding-bottom:2px}

/* ============================ HERO ============================ */
.dg-hero{border-bottom:var(--bd)}
.dg-hero__grid{display:grid;grid-template-columns:1.05fr .95fr}
.dg-hero__left{padding:40px 22px 30px;border-right:var(--bd);display:flex;flex-direction:column;justify-content:space-between}
.dg-hero__kicker{display:flex;gap:10px;align-items:center;margin-bottom:26px;flex-wrap:wrap}
.dg-hero h1{font-size:clamp(40px,7vw,92px);font-variation-settings:"wght" 880,"wdth" 125}
.dg-hero h1 em{font-style:normal;color:var(--accent)}
.dg-hero__sub{max-width:46ch;margin:22px 0 28px;font-size:17px;color:#2c3036}
.dg-hero__cta{display:flex;gap:0;flex-wrap:wrap}
.dg-hero__cta .dg-btn{margin-left:-1.5px}
.dg-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:var(--bd);margin-top:34px}
.dg-hero__stats div{padding:16px 14px;border-right:var(--bd-thin)}
.dg-hero__stats div:last-child{border-right:0}
.dg-hero__stats b{display:block;font-family:var(--disp);font-variation-settings:"wght" 850,"wdth" 125;font-size:30px}
.dg-hero__stats span{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dg-hero__media{position:relative;background:var(--gun)}
.dg-hero__media img{width:100%;height:100%;object-fit:cover;min-height:420px}
.dg-hero__cap{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--paper);
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-top:var(--bd);border-right:var(--bd)}

/* ============================ CATEGORY INDEX ============================ */
.dg-catgrid{display:grid;grid-template-columns:repeat(3,1fr)}
.dg-catcell{border-right:var(--bd-thin);border-bottom:var(--bd-thin);padding:24px 20px;display:flex;
  align-items:center;justify-content:space-between;gap:14px;transition:.12s;background:var(--paper)}
.dg-catcell:nth-child(3n){border-right:0}
.dg-catcell:hover{background:var(--ink);color:var(--paper)}
.dg-catcell:hover .dg-catcell__no{color:var(--accent)}
.dg-catcell:hover svg{stroke:var(--accent)}
.dg-catcell__l{display:flex;flex-direction:column;gap:6px}
.dg-catcell__no{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted)}
.dg-catcell__t{font-family:var(--disp);text-transform:uppercase;font-variation-settings:"wght" 800,"wdth" 118;font-size:22px}
.dg-catcell svg{width:34px;height:34px;stroke:var(--ink);fill:none;stroke-width:2.4}

/* ============================ PRODUCT GRID + CARDS ============================ */
.dg-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.dg-grid--3{grid-template-columns:repeat(3,1fr)}
.dg-card{border-right:var(--bd-thin);border-bottom:var(--bd-thin);background:var(--paper);
  display:flex;flex-direction:column;position:relative;transition:.12s}
.dg-grid .dg-card:nth-child(4n){border-right:0}
.dg-grid--3 .dg-card:nth-child(3n){border-right:0}
.dg-card:hover{background:var(--ink);color:var(--paper)}
.dg-card:hover .dg-card__price del{color:#8a8e93}
.dg-card:hover .dg-card__cat{color:var(--accent)}
.dg-card__media{position:relative;aspect-ratio:1/1;background:var(--card);border-bottom:var(--bd-thin);overflow:hidden}
.dg-card__media img{width:100%;height:100%;object-fit:cover;transition:.25s}
.dg-card:hover .dg-card__media img{transform:scale(1.04)}
.dg-card__badges{position:absolute;top:0;left:0;display:flex;flex-direction:column;gap:0}
.dg-badge{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 9px;background:var(--ink);color:var(--paper);border-right:var(--bd-thin);border-bottom:var(--bd-thin)}
.dg-badge--accent{background:var(--accent);color:var(--black)}
.dg-badge--sale{background:var(--accent);color:var(--black)}
.dg-card__quick{position:absolute;right:0;bottom:0;background:var(--accent);color:var(--black);border:var(--bd-thin);
  border-right:0;border-bottom:0;width:42px;height:42px;display:grid;place-items:center;opacity:0;transform:translateY(6px);transition:.14s}
.dg-card__media:hover .dg-card__quick,.dg-card__quick:focus{opacity:1;transform:none}
.dg-card__quick svg{width:20px;height:20px}
.dg-card__body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.dg-card__cat{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dg-card__name{font-family:var(--disp);text-transform:uppercase;font-variation-settings:"wght" 760,"wdth" 112;
  font-size:16px;line-height:1.02}
.dg-card__rate{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px}
.dg-stars{display:inline-flex;gap:1px}
.dg-stars svg{width:13px;height:13px;fill:var(--accent)}
.dg-card__foot{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:8px;
  padding-top:8px;border-top:var(--bd-thin)}
.dg-card__price{font-family:var(--disp);font-variation-settings:"wght" 820,"wdth" 118;font-size:20px}
.dg-card__price del{font-size:13px;color:var(--muted);margin-left:6px;font-family:var(--mono);font-weight:500}

/* ============================ EDITORIAL / FIELD NOTES ============================ */
.dg-split{display:grid;grid-template-columns:1fr 1fr}
.dg-split__media{background:var(--gun);border-right:var(--bd);position:relative}
.dg-split__media img{width:100%;height:100%;object-fit:cover;min-height:380px}
.dg-split__media--r{border-right:0;border-left:var(--bd)}
.dg-split__body{padding:42px 34px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.dg-split__body h2{font-size:clamp(26px,3.4vw,40px)}
.dg-split__body p{max-width:48ch;color:#2c3036}
.dg-feature-list{display:flex;flex-direction:column;border-top:var(--bd-thin)}
.dg-feature-list li{list-style:none;display:flex;gap:14px;padding:14px 0;border-bottom:var(--bd-thin);align-items:flex-start}
.dg-feature-list svg{width:24px;height:24px;flex:none;stroke:var(--accent);fill:none;stroke-width:2.4}
.dg-feature-list b{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:13px;display:block;margin-bottom:2px}

/* ============================ SPEC / BENEFIT TABLE ============================ */
.dg-spectable{width:100%;border-collapse:collapse}
.dg-spectable tr{border-bottom:var(--bd-thin)}
.dg-spectable tr:last-child{border-bottom:0}
.dg-spectable th{text-align:left;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:11px;
  color:var(--muted);font-weight:600;padding:13px 16px;width:38%;border-right:var(--bd-thin);vertical-align:top}
.dg-spectable td{padding:13px 16px;font-size:14.5px}

.dg-benefitsrow{display:grid;grid-template-columns:repeat(4,1fr)}
.dg-benefitsrow .dg-bcell{border-right:var(--bd-thin);padding:26px 20px}
.dg-benefitsrow .dg-bcell:last-child{border-right:0}
.dg-bcell svg{width:30px;height:30px;stroke:var(--accent);fill:none;stroke-width:2.3;margin-bottom:14px}
.dg-bcell h3{font-size:18px;margin-bottom:6px}
.dg-bcell p{font-size:13.5px;color:#2c3036}
.dg-bcell .dg-bno{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted);margin-bottom:14px}

/* ============================ BUILD-SPEC LEDGER (registre torque-spec) ============================ */
.dg-ledger{border-top:var(--bd)}
.dg-ledger__row{display:grid;grid-template-columns:74px 56px minmax(0,1fr) minmax(0,1.5fr);align-items:center;
  border-bottom:var(--bd-thin);transition:.12s}
.dg-ledger__row:hover{background:var(--ink);color:var(--paper)}
.dg-ledger__row:hover .dg-ledger__no{color:var(--accent)}
.dg-ledger__row:hover .dg-ledger__ic svg{stroke:var(--accent)}
.dg-ledger__no{font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--muted);padding:20px 0 20px 6px}
.dg-ledger__ic{display:grid;place-items:center;align-self:stretch;border-left:var(--bd-thin);border-right:var(--bd-thin)}
.dg-ledger__ic svg{width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:2.3}
.dg-ledger__t{font-family:var(--disp);text-transform:uppercase;font-variation-settings:"wght" 800,"wdth" 116;
  font-size:18px;padding:18px 22px}
.dg-ledger__d{font-size:13.5px;color:#2c3036;padding:18px 22px 18px 0}
.dg-ledger__row:hover .dg-ledger__d{color:#c4c7cb}

/* ============================ FEATURED REVIEW (témoignage vedette) ============================ */
.dg-featrev{display:grid;grid-template-columns:1.5fr 1fr}
.dg-featrev__main{padding:38px 34px;border-right:var(--bd);display:flex;flex-direction:column;gap:18px}
.dg-featrev__main>svg{width:46px;height:46px;fill:var(--accent);stroke:none}
.dg-featrev__q{font-family:var(--disp);text-transform:uppercase;font-variation-settings:"wght" 820,"wdth" 116;
  font-size:clamp(22px,2.6vw,34px);line-height:1.02}
.dg-featrev__b{font-size:15.5px;color:#2c3036;max-width:52ch;margin:0}
.dg-featrev__by{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;
  color:var(--muted);margin-top:auto;padding-top:16px;border-top:var(--bd-thin);flex-wrap:wrap}
.dg-featrev__by .dg-stars svg{width:14px;height:14px;fill:var(--accent)}
.dg-featrev__side{display:flex;flex-direction:column}
.dg-featrev__mini{padding:22px 24px;border-bottom:var(--bd-thin);display:flex;flex-direction:column;gap:8px}
.dg-featrev__mini:last-child{border-bottom:0}
.dg-featrev__mini .dg-featrev__top{display:flex;align-items:center;justify-content:space-between}
.dg-featrev__mini .dg-vfd{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--accent);
  display:inline-flex;align-items:center;gap:5px}
.dg-featrev__mini .dg-vfd svg{width:13px;height:13px;stroke:var(--accent);fill:none;stroke-width:2.8}
.dg-featrev__mini h4{font-family:var(--disp);text-transform:uppercase;font-variation-settings:"wght" 720,"wdth" 110;font-size:15px}
.dg-featrev__mini p{font-size:13px;color:#2c3036;margin:0}
.dg-featrev__mini .dg-featrev__minby{font-family:var(--mono);font-size:11px;color:var(--muted)}

/* ============================ REVIEWS ============================ */
.dg-reviews{display:grid;grid-template-columns:repeat(3,1fr)}
.dg-rev{border-right:var(--bd-thin);padding:24px 20px}
.dg-reviews .dg-rev:nth-child(3n){border-right:0}
.dg-rev__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.dg-rev__q{font-family:var(--disp);text-transform:uppercase;font-variation-settings:"wght" 740,"wdth" 110;font-size:16px;margin-bottom:8px}
.dg-rev__b{font-size:14px;color:#2c3036}
.dg-rev__by{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:14px;
  padding-top:12px;border-top:var(--bd-thin);display:flex;justify-content:space-between}

/* ============================ NEWSLETTER ============================ */
.dg-news{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}
.dg-news__l{padding:44px 34px;border-right:var(--bd)}
.dg-news__l h2{font-size:clamp(26px,3.4vw,40px)}
.dg-news__l p{color:#c4c7cb;max-width:42ch;margin-top:14px}
.dg-news__r{padding:44px 34px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.dg-news__form{display:flex}
.dg-news__form input{flex:1;border:var(--bd);border-color:var(--paper);background:transparent;color:var(--paper);
  padding:16px;font-family:var(--mono);font-size:13px;letter-spacing:.04em}
.dg-news__form input::placeholder{color:#9a9ea3}
.dg-news__form .dg-btn{margin-left:-1.5px;border-color:var(--paper)}
.dg-news small{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:#9a9ea3}

/* ============================ FOOTER — COLONNE LATÉRALE ============================ */
.dg-foot{background:var(--black);color:var(--paper)}
.dg-foot__layout{display:grid;grid-template-columns:360px 1fr;align-items:stretch}
/* rail vertical étroit : tout empilé */
.dg-rail{border-right:var(--bd);border-color:#2a2d31;padding:34px 28px;display:flex;flex-direction:column;gap:22px}
.dg-rail__mark .dg-logo__txt{font-size:28px;color:var(--paper)}
.dg-rail__mark .dg-logo__txt b{color:var(--accent)}
.dg-rail__tag{color:#9a9ea3;font-size:13.5px;margin:0;max-width:30ch}
.dg-rail__grp h4{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;color:var(--accent);
  font-variation-settings:normal;font-weight:700;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #2a2d31}
.dg-rail__links{display:flex;flex-wrap:wrap;gap:8px 16px}
.dg-rail__links a{font-size:13px;color:#c4c7cb}
.dg-rail__links a:hover{color:var(--accent)}
.dg-foot__pay{display:flex;gap:0;flex-wrap:wrap}
.dg-foot__pay span{border:1px solid #2a2d31;padding:7px 9px;display:grid;place-items:center;margin:-.5px 0 0 -.5px;background:#111316}
.dg-foot__pay svg{height:18px;width:auto;display:block}
.dg-rail__legal{display:flex;flex-direction:column;gap:7px;padding-top:18px;border-top:1px solid #2a2d31}
.dg-rail__legal span{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:#7e8389;line-height:1.5}
.dg-rail__ssl{display:flex;align-items:center;gap:7px;color:#9a9ea3!important}
.dg-rail__ssl svg{width:16px;height:16px;stroke:var(--accent);fill:none;stroke-width:2.4;flex:none}
/* panneau expressif droit : wordmark géant + retour haut */
.dg-foot__void{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:34px 30px}
.dg-foot__bigwrap{flex:1;display:flex;align-items:center;overflow:hidden}
.dg-foot__big{font-family:var(--disp);font-variation-settings:"wght" 880,"wdth" 125;text-transform:uppercase;
  font-size:clamp(60px,12vw,170px);line-height:.82;letter-spacing:-.02em;color:transparent;
  -webkit-text-stroke:1.5px #2f3338;white-space:nowrap}
.dg-foot__voidfoot{display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-top:1px solid #2a2d31;padding-top:18px}
.dg-foot__voidfoot .dg-mono{color:#7e8389}
.dg-foot__top{display:flex;align-items:center;gap:8px;background:transparent;border:var(--bd-thin);border-color:#33383F;
  color:var(--paper);padding:9px 14px}
.dg-foot__top:hover{background:var(--accent);color:var(--black);border-color:var(--accent)}
.dg-foot__top svg{width:18px;height:18px}

/* ============================ CART DRAWER ============================ */
.dg-overlay{position:fixed;inset:0;background:rgba(14,15,17,.55);z-index:90;opacity:0;visibility:hidden;transition:.18s}
.dg-overlay.is-open{opacity:1;visibility:visible}
.dg-drawer{position:fixed;top:0;right:0;height:100%;width:420px;max-width:92vw;background:var(--paper);
  border-left:var(--bd);z-index:100;transform:translateX(100%);transition:.22s;display:flex;flex-direction:column}
.dg-drawer.is-open{transform:none}
.dg-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:var(--bd)}
.dg-drawer__head h3{font-size:20px}
.dg-drawer__ship{padding:14px 20px;border-bottom:var(--bd);background:var(--card)}
.dg-drawer__bar{height:8px;background:var(--paper2);border:var(--bd-thin);margin-top:8px;position:relative}
.dg-drawer__bar i{display:block;height:100%;background:var(--accent);width:0;transition:.3s}
.dg-drawer__items{flex:1;overflow-y:auto}
.dg-citem{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:14px 20px;border-bottom:var(--bd-thin)}
.dg-citem img{width:64px;height:64px;object-fit:cover;border:var(--bd-thin);background:var(--card)}
.dg-citem__n{font-family:var(--disp);text-transform:uppercase;font-variation-settings:"wght" 720,"wdth" 108;font-size:13px;line-height:1.05}
.dg-citem__meta{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:4px}
.dg-qty{display:inline-flex;border:var(--bd-thin);margin-top:8px}
.dg-qty button{width:26px;height:26px;background:var(--card);border:0;border-right:var(--bd-thin);font-family:var(--mono)}
.dg-qty button:last-child{border-right:0;border-left:var(--bd-thin)}
.dg-qty span{width:30px;display:grid;place-items:center;font-family:var(--mono);font-size:12px}
.dg-citem__price{font-family:var(--disp);font-variation-settings:"wght" 800,"wdth" 112;font-size:15px;text-align:right}
.dg-citem__rm{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-decoration:underline;margin-top:8px;background:none;border:0;padding:0;text-align:right;width:100%}
.dg-drawer__foot{border-top:var(--bd);padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.dg-drawer__sub{display:flex;justify-content:space-between;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.dg-drawer__sub b{font-family:var(--disp);font-variation-settings:"wght" 850,"wdth" 115;font-size:22px}
.dg-drawer__empty{padding:50px 20px;text-align:center;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.06em}
.dg-trust{display:flex;gap:14px;flex-wrap:wrap}
.dg-trust span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:5px}
.dg-trust svg{width:14px;height:14px;stroke:var(--accent);fill:none;stroke-width:2.4}

/* ============================ SHOP ============================ */
.dg-shop{display:grid;grid-template-columns:1fr}
.dg-shopbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:var(--bd);flex-wrap:wrap}
.dg-filters{display:flex;gap:0;flex-wrap:wrap}
.dg-filters button{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:11px;
  border:var(--bd-thin);background:var(--card);padding:9px 13px;margin-left:-1px}
.dg-filters button.is-on{background:var(--ink);color:var(--paper)}
.dg-sort select{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;border:var(--bd);
  background:var(--card);padding:9px 12px}

/* ============================ PDP ============================ */
.dg-pdp{display:grid;grid-template-columns:1.05fr .95fr}
.dg-pdp__gallery{border-right:var(--bd)}
.dg-pdp__main{aspect-ratio:1/1;background:var(--card);border-bottom:var(--bd);overflow:hidden}
.dg-pdp__main img{width:100%;height:100%;object-fit:cover}
.dg-pdp__thumbs{display:grid;grid-template-columns:repeat(4,1fr)}
.dg-pdp__thumbs button{aspect-ratio:1/1;background:var(--card);border:0;border-right:var(--bd-thin);overflow:hidden;padding:0}
.dg-pdp__thumbs button:last-child{border-right:0}
.dg-pdp__thumbs button.is-on{outline:3px solid var(--accent);outline-offset:-3px}
.dg-pdp__thumbs img{width:100%;height:100%;object-fit:cover}
.dg-pdp__info{padding:32px 30px;display:flex;flex-direction:column;gap:16px}
.dg-pdp__cat{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dg-pdp__info h1{font-size:clamp(28px,3.6vw,44px)}
.dg-pdp__price{display:flex;align-items:baseline;gap:12px}
.dg-pdp__price b{font-family:var(--disp);font-variation-settings:"wght" 860,"wdth" 120;font-size:36px}
.dg-pdp__price del{color:var(--muted);font-family:var(--mono)}
.dg-pdp__price .dg-save{background:var(--accent);color:var(--black);font-family:var(--mono);font-size:12px;font-weight:700;padding:3px 8px;letter-spacing:.06em}
.dg-pdp__benefits{list-style:none;margin:0;padding:0;border-top:var(--bd-thin)}
.dg-pdp__benefits li{padding:11px 0;border-bottom:var(--bd-thin);display:flex;gap:10px;font-size:14.5px;align-items:flex-start}
.dg-pdp__benefits svg{width:20px;height:20px;flex:none;stroke:var(--accent);fill:none;stroke-width:2.6;margin-top:1px}
.dg-variants{display:flex;flex-direction:column;gap:10px}
.dg-variant__row{display:flex;gap:0;flex-wrap:wrap}
.dg-variant__row button{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  border:var(--bd-thin);background:var(--card);padding:9px 13px;margin-left:-1px}
.dg-variant__row button.is-on{background:var(--ink);color:var(--paper)}
.dg-buybar{display:flex;gap:0;align-items:stretch}
.dg-buybar .dg-qty{margin:0;border:var(--bd)}
.dg-buybar .dg-qty button{width:46px;height:auto}
.dg-buybar .dg-qty span{width:46px}
.dg-buybar .dg-btn{flex:1;margin-left:-1.5px}
.dg-pdp__reassure{display:grid;grid-template-columns:repeat(2,1fr);border:var(--bd-thin)}
.dg-pdp__reassure div{padding:12px 14px;border-right:var(--bd-thin);border-bottom:var(--bd-thin);display:flex;gap:9px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.04em}
.dg-pdp__reassure div:nth-child(2n){border-right:0}
.dg-pdp__reassure div:nth-last-child(-n+2){border-bottom:0}
.dg-pdp__reassure svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:2.4;flex:none}
.dg-stock{font-family:var(--mono);font-size:12px;letter-spacing:.06em;display:flex;align-items:center;gap:8px}
.dg-stock i{width:9px;height:9px;background:var(--accent);display:inline-block}

/* blocs détaillés PDP */
.dg-pdp__blocks{display:grid;grid-template-columns:repeat(2,1fr)}
.dg-pdp__block{border-right:var(--bd-thin);border-top:var(--bd);padding:30px}
.dg-pdp__block:nth-child(2n){border-right:0}
.dg-pdp__block h2{font-size:24px;margin-bottom:16px}
.dg-pdp__block p{color:#2c3036;font-size:14.5px}
.dg-faq dt{font-family:var(--mono);text-transform:uppercase;font-size:12px;letter-spacing:.06em;margin-top:14px}
.dg-faq dd{margin:6px 0 0;font-size:14px;color:#2c3036}
.dg-revdist{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.dg-revdist__row{display:grid;grid-template-columns:54px 1fr 40px;gap:10px;align-items:center;font-family:var(--mono);font-size:11px}
.dg-revdist__bar{height:7px;background:var(--paper2);border:var(--bd-thin)}
.dg-revdist__bar i{display:block;height:100%;background:var(--accent)}

/* sticky ATC mobile */
.dg-stickyatc{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--paper);border-top:var(--bd);
  display:none;padding:10px 14px;gap:0;align-items:center}
.dg-stickyatc__p{flex:1;font-family:var(--disp);font-variation-settings:"wght" 840,"wdth" 115;font-size:20px}
.dg-stickyatc__p del{font-family:var(--mono);font-size:12px;color:var(--muted);margin-left:6px;font-weight:400}
.dg-stickyatc .dg-btn{margin-left:6px}

/* page generic */
.dg-page{padding:42px 0;border-bottom:var(--bd)}
.dg-page h1{font-size:clamp(30px,5vw,56px);margin-bottom:10px}
.dg-prose{max-width:72ch}
.dg-prose h2{font-size:22px;margin:28px 0 10px}
.dg-prose p{margin:10px 0;color:#2c3036}
.dg-prose a{color:var(--accent-d);text-decoration:underline}

/* breadcrumb */
.dg-crumb{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 0;border-bottom:var(--bd-thin)}
.dg-crumb a:hover{color:var(--accent-d)}

/* reveal (avec filet de sécurité géré en JS) */
.dg-reveal{opacity:0;transform:translateY(14px)}
.dg-reveal.is-in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
@media (prefers-reduced-motion:reduce){
  .dg-reveal{opacity:1!important;transform:none!important;transition:none!important}
  *{scroll-behavior:auto!important}
}

/* ============================ RESPONSIVE ============================ */
@media(max-width:1000px){
  .dg-grid{grid-template-columns:repeat(2,1fr)}
  .dg-grid .dg-card:nth-child(4n){border-right:var(--bd-thin)}
  .dg-grid .dg-card:nth-child(2n){border-right:0}
  .dg-grid--3{grid-template-columns:repeat(2,1fr)}
  .dg-grid--3 .dg-card:nth-child(3n){border-right:var(--bd-thin)}
  .dg-grid--3 .dg-card:nth-child(2n){border-right:0}
  .dg-catgrid{grid-template-columns:repeat(2,1fr)}
  .dg-catcell:nth-child(3n){border-right:var(--bd-thin)}
  .dg-catcell:nth-child(2n){border-right:0}
  .dg-benefitsrow{grid-template-columns:repeat(2,1fr)}
  .dg-benefitsrow .dg-bcell:nth-child(2n){border-right:0}
  .dg-reviews{grid-template-columns:1fr}
  .dg-reviews .dg-rev{border-right:0;border-bottom:var(--bd-thin)}
  .dg-head__spec{display:none}
  .dg-featrev{grid-template-columns:1fr}
  .dg-featrev__main{border-right:0;border-bottom:var(--bd)}
}
@media(max-width:860px){
  .dg-index{display:none}
  .dg-burger{display:grid}
  .dg-ledger__row{grid-template-columns:60px 50px 1fr;row-gap:0}
  .dg-ledger__d{grid-column:1/-1;border-top:var(--bd-thin);padding:14px 22px}
  .dg-hero__grid{grid-template-columns:1fr}
  .dg-hero__left{border-right:0;border-bottom:var(--bd)}
  .dg-pdp{grid-template-columns:1fr}
  .dg-pdp__gallery{border-right:0;border-bottom:var(--bd)}
  .dg-split{grid-template-columns:1fr}
  .dg-split__media{border-right:0;border-bottom:var(--bd);min-height:300px}
  .dg-split__media--r{border-left:0;order:-1}
  .dg-news{grid-template-columns:1fr}
  .dg-news__l{border-right:0;border-bottom:var(--bd)}
  .dg-foot__layout{grid-template-columns:1fr}
  .dg-rail{border-right:0;border-bottom:var(--bd);border-bottom-color:#2a2d31}
  .dg-foot__void{min-height:200px}
  .dg-pdp__blocks{grid-template-columns:1fr}
  .dg-pdp__block{border-right:0}
  .dg-stickyatc{display:flex}
  .dg-announce__track span:nth-child(n+2){display:none}
}
@media(max-width:560px){
  .dg-grid,.dg-grid--3{grid-template-columns:1fr}
  .dg-grid .dg-card,.dg-grid--3 .dg-card{border-right:0}
  .dg-catgrid{grid-template-columns:1fr}
  .dg-catcell{border-right:0}
  .dg-benefitsrow{grid-template-columns:1fr}
  .dg-benefitsrow .dg-bcell{border-right:0}
  .dg-hero__stats b{font-size:24px}
}

/* menu mobile plein écran */
.dg-mobnav{position:fixed;inset:0;background:var(--paper);z-index:95;transform:translateY(-100%);transition:.22s;
  display:flex;flex-direction:column;padding:0}
.dg-mobnav.is-open{transform:none}
.dg-mobnav__head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:var(--bd)}
.dg-mobnav a{font-family:var(--disp);text-transform:uppercase;font-variation-settings:"wght" 800,"wdth" 118;
  font-size:26px;padding:18px 20px;border-bottom:var(--bd-thin)}
.dg-mobnav a:hover{background:var(--ink);color:var(--paper)}
