/* Votre CSS Labmixo complet ici */
/* =========================
   LABMIXO — CSS (clean, consolidated)
   ========================= */

/* ---------- Variables (mobile/tablette par défaut) ---------- */
:root{
  /* Couleurs / brand */
  --primary:#6a0dad;
  --secondary:#00e0ff;
  --neon-color:#d0fbff;

  /* Palette néon (peut servir ailleurs) */
  --neon-blue:#4fd5ff;
  --neon-pink:#ff3dc8;

  /* Layout générique */
  --logo-h:160px;
  --site-pad-x:32px;
  --header-offset:110px;

  /* HERO */
  --hero-pos:50% 28%;
  --hero-min:clamp(520px,72vh,880px);
  --hero-fade-start:56%;

  /* CTA HERO */
  --cta-label-min:22px;
  --cta-label-max:40px;
  --cta-pipette-min:44px;
  --cta-pipette-max:72px;
  --cta-gap:4px;
  --cta-bottom:max(4px, calc(env(safe-area-inset-bottom, 0px) + 4px));

  /* Néon header */
  --ignite-duration:6.8s;

  /* Catégories (défauts mobile/tablette) */
  --cat-min-h:clamp(260px,36vh,420px);
  --cats-after-grid:clamp(14px,3vw,26px);
  --cats-pad-y:clamp(28px,6vw,80px);
  --cat-row-min:clamp(280px,38vh,480px);

  /* Best-sellers (carrousel) */
  --bs-height:clamp(260px,32vh,380px);
  --bs-gap-top:clamp(8px,1.6vh,16px);
  --neon-text:var(--neon-color, #d0fbff);
}

/* =========================
   BEST-SELLERS — titre image (glow statique)
   ========================= */

.cats .cats-carousel{
  width:100vw;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  margin-top:clamp(12px,2vh,18px);
  padding:0;
}

.neon-bestsellers{
  display:block;
  margin:clamp(12px,2.2vh,20px) auto clamp(10px,2vh,18px);
  text-align:center;
}

.neon-bestsellers img{
  display:block;
  margin:0 auto;
  width:min(45vw,250px); /* taille du titre */
  height:auto;
  /* Glow statique */
  filter:
    drop-shadow(0 0 6px  rgb(247 145 196 / 95%))
    drop-shadow(0 0 14px rgb(251 138 195 / 85%));
  transition:transform .25s ease, filter .25s ease;
}

.neon-bestsellers img:hover{
  transform:scale(1.03);
  filter:
    drop-shadow(0 0 10px rgb(233 168 215 / 90%))
    drop-shadow(0 0 18px rgb(255 105 180 / 85%));
}

/* =========================
   Base / Reset léger
   ========================= */
*{ box-sizing:border-box; }
html,body{ overflow-x:hidden; }
html{ scroll-behavior:smooth; }
body{
  font-family:'DM Sans',sans-serif;
  color:#eaeaea;
  background:#0a0a0a;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
[id]{ scroll-margin-top:var(--header-offset); }

h1,h2,h3,h4,h5,h6{
  font-family:'Rajdhani',sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#f5f5f5;
}

/* Lien d’évitement */
.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:16px;
  top:12px;
  padding:8px 12px;
  border-radius:6px;
  background:#fff;
  color:#000;
  z-index:9999;
  width:auto;
  height:auto;
}

/* =========================
   Header (sticky) + bande néon animée
   ========================= */
.brand,
.brand:visited{
  color:#fff;
  text-decoration:none;
  display:flex;
  align-items:center;
}
.brand__icon{
  height:var(--logo-h);
  width:auto;
  display:block;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px var(--site-pad-x);
  background:#000;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.site-header::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:3px;
  z-index:1;
  background:linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(210,255,255,.35) 10%,
    #f8ffff 20%,
    var(--neon-color) 50%,
    #f8ffff 80%,
    rgba(210,255,255,.35) 90%,
    rgba(255,255,255,0) 100%);
  -webkit-mask:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
          mask:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
  opacity:0;
  filter:brightness(.8) blur(.2px);
}
.site-header.ignite::after{
  animation:neon-ignite var(--ignite-duration) cubic-bezier(.16,1,.3,1) forwards;
}

@keyframes neon-ignite{
  0%{opacity:0; filter:brightness(.3) blur(.6px);}
  1%{opacity:1; filter:brightness(1.55) blur(.15px); box-shadow:0 0 22px var(--neon-color),0 0 44px var(--neon-color),0 0 72px var(--neon-color);}
  2%{opacity:.06;} 3%{opacity:1;} 4%{opacity:.08;} 5%{opacity:1;} 6%{opacity:.1;}
  7%{opacity:1;} 8%{opacity:.12;} 9%{opacity:1;} 10%{opacity:.14;} 11%{opacity:1;}
  12%{opacity:.16;} 13%{opacity:1;} 14%{opacity:.2;} 15%{opacity:1;} 16%{opacity:.24;}
  17%{opacity:1;} 18%{opacity:.28;} 19%{opacity:1;} 21%{opacity:.32;}
  24%{opacity:1;} 32%{opacity:.45;} 40%{opacity:1;} 50%{opacity:.6;}
  60%{opacity:1;} 70%{opacity:.75;} 78%{opacity:1;} 86%{opacity:.9;}
  100%{opacity:1; filter:brightness(1.32) blur(.1px); box-shadow:0 0 20px var(--neon-color),0 0 44px var(--neon-color),0 0 84px var(--neon-color);}
}
@media (prefers-reduced-motion: reduce){
  .site-header::after{
    animation:none !important;
    opacity:1;
    filter:brightness(1.15);
    box-shadow:0 0 16px var(--neon-color),0 0 36px var(--neon-color),0 0 68px var(--neon-color);
  }
}

/* Nav */
.site-nav ul{
  list-style:none;
  display:flex;
  gap:28px;
  margin:0;
  padding:0;
}
.site-nav a,
.site-nav a:visited{
  color:#c0c0c0;
  text-decoration:none;
  font-weight:600;
  transition:color .25s, text-shadow .25s, transform .2s;
}
.site-nav a:hover,
.site-nav a:focus-visible{
  color:#f5f5f5;
  text-shadow:0 1px 2px rgba(255,255,255,.25), 0 0 6px rgba(0,0,0,.4);
  transform:translateY(-1px);
}
.nav-toggle{
  display:none;
  background:none;
  border:none;
  color:#c0c0c0;
  font-size:1.6rem;
  line-height:1;
  padding:8px;
  cursor:pointer;
}
.nav-toggle:hover,
.nav-toggle:focus-visible{ color:#f5f5f5; }

/* =========================
   HERO
   ========================= */
.hero-band{
  position:relative;
  color:#fff;
  padding-inline:var(--site-pad-x);
  padding-top:clamp(12px,4vh,32px);
  padding-bottom:clamp(12px,3vh,32px);
  min-height: calc(100dvh - var(--header-offset));
  min-height: calc(100svh - var(--header-offset));
  min-height: calc(100vh  - var(--header-offset));
  display:grid;
  align-items:start;
  background:#000;

  background-image:var(--hero-bg);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:var(--hero-pos);
  overflow:hidden;
}
.hero-band__content{
  position:relative;
  isolation:isolate;
  z-index:1;
  width:min(1100px,92%);
  margin-left:0;
  margin-right:auto;
  padding-top:10px;
  padding-bottom:clamp(40px,8vh,96px);
  text-wrap:balance;
}
.hero-band__content::before{
  content:"";
  position:absolute; top:-8px; bottom:-8px; left:-8px;
  width:min(40ch,46%);
  background:linear-gradient(90deg, rgba(0,0,0,.56) 0%, rgba(0,0,0,.26) 52%, rgba(0,0,0,0) 100%);
  z-index:-1;
  pointer-events:none;
}
.hero-band__title{
  text-transform:none;
  max-width:22ch;
  font-size:clamp(1.9rem,3.8vw,3rem);
  line-height:1.12;
  letter-spacing:.4px;
  margin:0 0 10px;
}
.hero-band__lead{
  max-width:52ch;
  margin:0;
  font-size:clamp(1.05rem,1.6vw,1.35rem);
  line-height:1.35;
  opacity:.95;
  text-shadow:0 1px 6px rgba(0,0,0,.36), 0 0 1px rgba(0,0,0,.75);
}
/* Fondu bas */
.hero-band::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  z-index:0;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0) var(--hero-fade-start),
    rgba(0,0,0,.45) calc(var(--hero-fade-start) + 10%),
    rgba(0,0,0,.78) calc(var(--hero-fade-start) + 24%),
    #000 100%);
}

/* CTA “Explorer nos armoires” + pipette */
.hero-explore{
  position:absolute;
  right:0; left:auto; transform:none;
  bottom:max(90px, 10vh, calc(env(safe-area-inset-bottom, 0px) + 24px));
  width:auto;
  max-width:min(92vw,1100px);
  display:grid;
  justify-items:end;
  align-items:center;
  text-align:right;
  row-gap:var(--cta-gap);
  z-index:2;
  padding-right:clamp(12px,2vw,24px);
}
.hero-explore__label{
  font-family:'Rajdhani',sans-serif;
  font-weight:700;
  letter-spacing:.4px;
  text-transform:none;
  font-size:clamp(var(--cta-label-min),3.2vw,var(--cta-label-max));
  line-height:1.15;
  color:#f5f5f5;
  text-shadow:0 1px 6px rgba(0,0,0,.4);
}
.pipette{
  width:clamp(var(--cta-pipette-min),5vw,var(--cta-pipette-max));
  height:auto;
  display:block;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));
}
.pipette .drop{
  transform-origin:center;
  animation:drip 2.2s ease-in-out infinite;
}
@keyframes drip{
  0%{ opacity:0; transform:translateY(-8px) scale(.7); }
  18%{ opacity:.95; transform:translateY(0) scale(1); }
  70%{ opacity:.9; transform:translateY(14px) scale(.86); }
  100%{ opacity:0; transform:translateY(22px) scale(.8); }
}
@media (prefers-reduced-motion: reduce){
  .pipette .drop{ animation:none !important; opacity:1; }
}
.hero-explore__trigger{ padding:2px 8px 8px; }

/* =========================
   Catégories — grille + carrousel
   ========================= */
.cats{
  position:relative;
  background:#f6f8fc;
  color:#0a0a0a;
  padding:var(--cats-pad-y) var(--site-pad-x);
  overflow:hidden;
}
.cats::before{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background-image:var(--cats-bg);
  background-size:cover;
  background-position:center;
  opacity:.32;
  filter:contrast(1.05) saturate(1.02);
}
.cats__inner{
  position:relative;
  z-index:1;
  max-width:1200px;
  margin-inline:auto;
}

/* Grille 4 / 2 / 1 colonnes */
.cats__row{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  grid-auto-rows:minmax(var(--cat-row-min),auto);
  gap:clamp(12px,2vw,22px);
  margin:0;
  padding:0;
  list-style:none;
}
.cats__row > .cat{ height:100%; }
.cats__row > .cat > .cat__link{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
@media (max-width:1199px){
  .cats__row{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:699px){
  .cats__row{ grid-template-columns:1fr; }
}
.cat{ width:auto; }

/* Tuiles */
.cat__link{
  /* Variables locales d’image (pour dé-zoom / recadrage) */
  --cat-size:cover;   /* peut devenir `auto 100%` sur très grands écrans */
  --cat-pos:50% 50%;

  position:relative;
  display:flex;
  flex-direction:column;
  min-height:var(--cat-min-h);
  padding:clamp(32px,4.8vh,44px);
  border-radius:20px;
  text-decoration:none;
  color:inherit;
  background:
    linear-gradient(to bottom right, rgba(255,255,255,0), rgba(255,255,255,.63)),
    var(--cat-bg) var(--cat-pos)/var(--cat-size) no-repeat;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 8px 24px rgba(0,0,0,.08), inset 0 0 0 1px rgba(255,255,255,.35);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow:hidden;
}
.cat__link::before{
  content:"";
  position:absolute; inset:-2px;
  border-radius:inherit;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(60% 120% at 50% 10%, rgba(208,251,255,.55), rgba(0,224,255,.25) 40%, transparent 70%);
  filter:blur(10px);
  opacity:0;
  transition:opacity .2s ease, filter .2s ease;
}
.cat__link:hover,
.cat__link:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(0,224,255,.45);
  box-shadow:0 10px 28px rgba(0,0,0,.10), 0 0 18px rgba(0,224,255,.25), inset 0 0 0 1px rgba(255,255,255,.6);
  outline:none;
  background:
    linear-gradient(to bottom right, rgba(255,255,255,.80), rgba(255,255,255,.70)),
    var(--cat-bg) var(--cat-pos)/var(--cat-size) no-repeat;
}

/* Typo tuiles (desc clampée) */
.cat__title{
  display:block;
  font-family:'Rajdhani',sans-serif;
  font-weight:700;
  font-size:clamp(18px,2vw,22px);
  letter-spacing:.3px;
  margin-bottom:6px;
  color:#0a0a0a;
}
.cat__desc{
  --lines:2;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:var(--lines);
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:calc(1.35em * var(--lines));
  font-size:clamp(14px,1.1vw,15px);
  color:#2b2b2b;
  opacity:.9;
  text-shadow:0 1px 2px rgba(0,0,0,.08);
}

/* =========================
   BEST-SELLERS — carrousel (viewport/controls)
   ========================= */

/* Viewport (1 slide visible) */
.cats .carousel__viewport{
  position:relative;
  width:100%;
  height:var(--bs-height);
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
}
/* Sécurité : supprimer tout voile résiduel */
.cats .carousel__viewport::before,
.cats .carousel__viewport::after,
.cats .carousel__slide::before,
.cats .carousel__slide::after,
.cats .carousel__slide a.slide__link::before,
.cats .carousel__slide a.slide__link::after{
  content:none !important;
  background:none !important;
}

/* Slides */
.cats .carousel__slide{
  position:absolute; inset:0;
  display:grid; place-items:center;
  opacity:0;
  transform:translateX(2%);
  transition:opacity .4s ease, transform .45s ease;
}
.cats .carousel__slide.is-active{ opacity:1; transform:none; }

.cats .carousel__slide .slide__link{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  text-decoration:none;
}
.cats .carousel__slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:none;
}

/* Cartouche info produit (optionnel) */
.cats .slide__meta{
  position:absolute;
  left:clamp(16px,3vw,40px);
  bottom:clamp(14px,2.2vh,28px);
  display:grid;
  gap:4px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(0,0,0,.08);
  color:#0a0a0a;
}
.cats .slide__title{ margin:0; font-weight:700; }
.cats .slide__price{ margin:0; font-weight:800; }

/* Contrôles overlay */
.cats .carousel__controls{
  position:absolute;
  inset:0;
  pointer-events:none;
}

/* Flèches */
.cats .carousel__btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  pointer-events:auto;
  background:rgba(0,0,0,.08);
  color:#0a0a0a;
  border:1px solid rgba(0,0,0,.18);
  border-radius:10px;
  padding:6px 10px;
  font-size:20px;
  line-height:1;
  backdrop-filter:blur(1px);
  transition:background .2s ease, transform .2s ease;
}
.cats .carousel__btn:hover{
  background:rgba(0,0,0,.15);
  transform:translateY(-50%) scale(1.02);
}
.cats .carousel__btn.prev{ left:clamp(8px,1.8vw,18px); }
.cats .carousel__btn.next{ right:clamp(8px,1.8vw,18px); }

/* Dots */
.cats .carousel__dots{
  position:absolute;
  left:50%;
  bottom:clamp(8px,1.6vh,18px);
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  pointer-events:auto;
}
.cats .carousel__dots .dot{
  width:22px;
  height:3px;
  border-radius:2px;
  background:rgba(0,0,0,.35);
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
}
.cats .carousel__dots .dot:hover{ opacity:.9; transform:scaleX(1.08); }
.cats .carousel__dots .dot.is-active{ background:#000; }

/* Accessibilité visuelle */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

/* Petits écrans : bandeau plus haut */
@media (max-width:560px){
  :root{ --bs-height:clamp(220px,40vh,320px); }
}

/* =========================
   Section “Les constantes” (dark)
   ========================= */
.constants.constants--dark{
  background:#0a0a0a;
  color:#eaeaea;
  padding:clamp(28px,6vw,64px) var(--site-pad-x);
}
.constants__inner{
  max-width:1200px;
  margin-inline:auto;
}
.constants__title{
  font-family:'Rajdhani',sans-serif;
  font-weight:700;
  letter-spacing:.3px;
  font-size:clamp(1rem,2vw,1.3rem);
  margin:0 0 14px;
  text-align:center;
  color:#f5f5f5;
}
.constants__list{
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid rgba(255,255,255,.08);
}
.constants__item{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  line-height:1.4;
}
.constants__item::before{
  content:"—";
  opacity:.6;
  margin-right:4px;
}
.constants__item strong{
  font-family:'Rajdhani',sans-serif;
  font-weight:700;
  letter-spacing:.2px;
  color:#f5f5f5;
}
.constants__item .sub{ opacity:.85; }

/* =========================
   Footer
   ========================= */
.site-footer{
  --footer-bg:#0a0a0a;
  --footer-fg:#eaeaea;
  --footer-muted:rgba(255,255,255,.65);
  --footer-line:rgba(255,255,255,.08);
  --footer-gap:clamp(16px,3vw,28px);

  background:var(--footer-bg);
  color:var(--footer-fg);
  padding:clamp(28px,6vw,56px) var(--site-pad-x) clamp(18px,4vw,28px);
  border-top:1px solid var(--footer-line);
  margin-top:clamp(28px,6vh,64px);
}
.site-footer a{
  color:var(--footer-fg);
  text-decoration:none;
  opacity:.9;
  transition:opacity .18s ease, text-shadow .18s ease, transform .18s ease;
}
.site-footer a:hover,
.site-footer a:focus-visible{
  opacity:1;
  text-shadow:0 0 8px rgba(255,255,255,.12);
  outline:none;
}
.footer__inner{
  max-width:1200px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:2fr 2fr 2fr;
  gap:var(--footer-gap);
  align-items:start;
  border-bottom:1px solid var(--footer-line);
  padding-bottom:clamp(16px,3vw,24px);
}
.footer__nav ul,
.footer__legal ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.footer__nav li,
.footer__legal li{ line-height:1.35; }
.footer__nav a,
.footer__legal a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:2px 0;
  border-radius:6px;
}
.footer__nav a::before,
.footer__legal a::before{
  content:"—";
  opacity:.35;
  transform:translateY(-1px);
  transition:opacity .18s ease;
}
.footer__nav a:hover::before,
.footer__nav a:focus-visible::before,
.footer__legal a:hover::before,
.footer__legal a:focus-visible::before{ opacity:1; }
.site-footer h3{
  margin:0 0 8px;
  font-family:'Rajdhani',sans-serif;
  font-weight:700;
  letter-spacing:.3px;
  font-size:clamp(1rem,1.6vw,1.15rem);
  color:#f5f5f5;
}
.footer__payments{
  display:grid;
  gap:10px;
  justify-items:start;
}
.footer__payments p{
  margin:0;
  font-family:'Rajdhani',sans-serif;
  font-weight:700;
  letter-spacing:.3px;
  color:#f5f5f5;
}
.footer__payments img{
  display:block;
  max-width:140px;
  width:100%;
  height:auto;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));
  border-radius:8px;
}
.footer__bottom{
  max-width:1200px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:clamp(12px,2.6vw,18px);
}
.footer__bottom p{
  margin:0;
  font-size:.85rem;
  opacity:.8;
}
.footer__bottom .small{ color:var(--footer-muted); }
.site-footer a:focus-visible{
  box-shadow:0 0 0 2px rgba(0,224,255,.35);
  border-radius:6px;
}

/* =========================
   Responsive tweaks
   ========================= */

/* Logo + voile HERO */
@media (max-width:1024px){
  :root{ --logo-h:120px; }
  .hero-band{ --hero-pos:50% 26%; }
  .hero-band__content::before{ width:min(44ch,58%); }
}
@media (max-width:900px){
  .hero-band{ --hero-fade-start:61%; }
  .hero-explore{
    right:auto; left:50%; transform:translateX(-50%);
    max-width:min(92vw,700px);
    justify-items:center; text-align:center; padding-right:0;
    bottom:max(10px, 1vh, calc(env(safe-area-inset-bottom, 0px) + 24px));
  }
}
@media (max-width:640px){
  .hero-band{ --hero-pos:50% 22%; --hero-fade-start:64%; }
  .hero-band__content::before{ width:86%; left:-6px; top:-6px; bottom:-6px; }
  .hero-explore{ bottom:max(10px, 1vh, calc(env(safe-area-inset-bottom, 0px) + 20px)); }
}
@media (max-width:480px){
  .hero-band{ --hero-pos:50% 16%; }
}

/* HERO – dézoom en desktop large */
@media (min-width:1024px){
  .hero-band{
    background-size:58% auto;
    background-position:40% 28%;
    min-height:calc(100dvh - var(--header-offset));
    padding-block:clamp(8px,2.4vh,20px);
  }
}
@media (min-width:1440px){
  .hero-band{ background-size:50% auto; background-position:42% 27%; }
}
@media (min-width:1680px){
  .hero-band{ background-size:46% auto; background-position:43% 26%; }
}
@media (min-width:1920px){
  .hero-band{ background-size:42% auto; background-position:44% 25%; }
}

/* Burger en petit */
@media (max-width:768px){
  :root{ --logo-h:52px; --site-pad-x:20px; }
  .nav-toggle{ display:block; }
  .site-nav{
    position:absolute;
    top:100%; right:0;
    display:none;
    background:#000;
    padding:18px;
    flex-direction:column;
    gap:14px;
    border-left:1px solid rgba(255,255,255,.06);
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .site-nav.open{ display:flex; }
}
@media (max-width:768px){
  :root{ --header-offset:80px; }
}

/* Resp : constantes + footer */
@media (max-width:560px){
  .constants__item{ padding:14px 0; }
}
@media (max-width:900px){
  .footer__inner{ grid-template-columns:1fr 1fr; }
  .footer__payments{ grid-column:1 / -1; }
}
@media (max-width:560px){
  .footer__inner{ grid-template-columns:1fr; }
  .footer__bottom{ flex-direction:column; align-items:flex-start; gap:6px; }
}

/* ---------- Overrides Desktop Catégories (bloc corrigé) ---------- */
@media (min-width:1200px){
  :root{
    --cat-min-h: clamp(240px, 34vh, 380px);
    /* --cats-after-grid: 300px;  ← supprimée, non utilisée */
    --cats-pad-y: clamp(16px, 2.5vh, 32px);
    --cat-row-min: clamp(400px, 65vh, 600px);
  }

  .cats{ min-height: calc(100dvh - var(--header-offset)); }
  .cats__inner{
    display:flex;
    flex-direction:column;
    min-height: calc(100dvh - var(--header-offset) - (2 * var(--cats-pad-y)));
  }
  .cats__row{ margin-bottom:auto; }
}

/* Dé-zoom léger sur très grands écrans */
@media (min-width:1400px) and (min-height:900px){
  .cat__link{ --cat-size:auto 100%; } /* ajuste à la hauteur → moins de recadrage */
}
