﻿/* ============================================
   MAILLOT PAS CHER — DARK NEON
   Violet #7c7c7c · Bleu #7a7a7a · Fond noir
   ============================================ */
:root {
  --bg:          #080808;
  --bg-2:        #111111;
  --bg-card:     #131313;
  --bg-card-h:   #1b1b1b;
  --blue:        #7a7a7a;
  --blue-glow:   rgba(122,122,122,0.25);
  --cyan:        #9a9a9a;
  --cyan-glow:   rgba(154,154,154,0.25);
  --purple:      #7c7c7c;
  --purple-glow: rgba(124,124,124,0.30);
  --red:         #a1a1a1;
  --red-glow:    rgba(161,161,161,0.25);
  --gold:        #a0a0a0;
  --gold-glow:   rgba(160,160,160,0.25);
  --text:        #f4f4f4;
  --text-sub:    #d3d3d3;
  --text-muted:  #727272;
  --border:      rgba(124,124,124,0.18);
  --border-h:    rgba(124,124,124,0.50);
  --shadow-sm:   0 1px 4px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.3);
  --shadow-md:   0 4px 16px rgba(0,0,0,0.5), 0 2px 6px rgba(0,0,0,0.3);
  --shadow-lg:   0 16px 48px rgba(0,0,0,0.6), 0 4px 16px rgba(0,0,0,0.4);
  --glow-blue:   0 0 0 3px rgba(122,122,122,0.20);
  --glow-cyan:   0 0 0 3px rgba(154,154,154,0.20);
  --glow-red:    0 0 0 3px rgba(161,161,161,0.20);
  --radius:      12px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --ease:        cubic-bezier(.4,0,.2,1);
  --t:           .22s var(--ease);
}

/* ===== LEGACY VARIABLE ALIASES ===== */
:root {
  --navy:        #7c7c7c;
  --navy-dark:   #515151;
  --navy-mid:    #626262;
  --red-dark:    #626262;
  --white:       #f4f4f4;
  --gold-light:  #c2c2c2;
  --gray-light:  #111111;
  --gray-mid:    rgba(124,124,124,0.18);
  --gray-text:   #a1a1a1;
  --text-dark:   #f4f4f4;
}

*{margin:0;padding:0;box-sizing:border-box;}
/* Curseur néon personnalisé — partout (desktop uniquement) */
@media (hover:hover) and (pointer:fine){
  *, *::before, *::after{
    cursor:url('../images/cursor-48.png') 15 2, auto !important;
  }
}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter','Segoe UI',Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit;}
img,svg{max-width:100%;display:block;}
ul{list-style:none;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg-2);}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:var(--purple);}

/* Dark mesh overlay */
body::before{
  content:'';
  position:fixed;inset:0;
  background:
    radial-gradient(ellipse 80% 50% at 20% 20%, rgba(124,124,124,0.08) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 80% 80%, rgba(122,122,122,0.06) 0%, transparent 60%);
  pointer-events:none;z-index:0;
}
body > *{position:relative;z-index:1;}

/* ===== LOADING BAR ===== */
.loading-bar{
  position:fixed;top:0;left:0;height:3px;z-index:9999;
  background:linear-gradient(90deg,var(--purple),var(--cyan),var(--purple));
  background-size:200%;
  width:0;transition:width .3s ease;
}

/* ===== TOP BAR ===== */
.top-bar{
  background:linear-gradient(90deg,#2a2a2a,#515151,#606060);
  border-bottom:none;
  color:#fff;
  font-size:12px;
  font-weight:500;
  padding:8px 0;
  letter-spacing:.4px;
}
.top-bar-inner{
  max-width:1440px;margin:0 auto;padding:0 28px;
  display:flex;align-items:center;justify-content:center;
}
.top-bar-promo{
  display:flex;align-items:center;gap:10px;font-size:12.5px;flex-wrap:wrap;justify-content:center;
}
.top-bar-promo strong{color:#e2e2e2;}
.top-bar-promo{color:#fff;}
.top-sep{color:rgba(255,255,255,.3);}
.countdown-badge{
  background:rgba(255,255,255,0.2);
  color:#fff;
  padding:2px 10px;border-radius:20px;
  font-weight:700;font-size:11px;letter-spacing:1px;
  font-variant-numeric:tabular-nums;
  border:1px solid rgba(255,255,255,0.25);
}

/* ===== HEADER ===== */
.header{
  background:rgba(8,8,8,0.88);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;left:0;right:0;width:100%;z-index:1000;
  transition:background var(--t),box-shadow var(--t);
}
.header.scrolled{
  background:rgba(8,8,8,0.98);
  box-shadow:0 4px 32px rgba(124,124,124,0.15);
}
.header-inner{
  max-width:1440px;margin:0 auto;padding:0 20px;
  display:flex;align-items:center;height:68px;gap:0;
}
.header-actions{margin-left:0;}
.header-accent{
  height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--purple) 30%,var(--cyan) 70%,transparent 100%);
}
@keyframes shimmer{0%{background-position:200% center;}100%{background-position:-200% center;}}

.header-logo{
  display:flex;align-items:center;gap:12px;
  flex-shrink:0;margin-right:28px;
}
.header-logo img{
  height:52px;width:auto;border-radius:8px;
  transition:transform var(--t),box-shadow var(--t),filter var(--t);
  border:none;
  box-shadow:none;
  filter:drop-shadow(0 0 8px rgba(124,124,124,0.4));
}
.header-logo:hover img{
  transform:scale(1.05);
  filter:drop-shadow(0 0 16px rgba(124,124,124,0.8)) drop-shadow(0 0 32px rgba(122,122,122,0.4));
}
.logo-wordmark{display:flex;flex-direction:column;line-height:1.15;}
.logo-name{
  font-family:'Orbitron','Bebas Neue',sans-serif;font-size:16px;
  color:var(--text);letter-spacing:2px;text-transform:uppercase;line-height:1;
}
.logo-accent{
  font-family:'Inter',Arial,sans-serif;font-size:9px;font-weight:700;
  background:linear-gradient(90deg,var(--purple),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  letter-spacing:3px;text-transform:uppercase;margin-top:1px;
}

/* ===== HEADER NAV ===== */
.header-nav{flex:1;display:flex;justify-content:center;}
.hnav-list{display:flex;align-items:center;gap:2px;position:relative;}
.hnav-item{position:relative;}

/* ===== HAMBURGER DESKTOP ===== */
.nav-hamburger{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  background:none;border:none;cursor:pointer;
  padding:10px;border-radius:10px;
  flex-shrink:0;margin-right:4px;
  transition:background .2s;
}
.nav-hamburger:hover{background:rgba(124,124,124,0.12);}
.nav-hamburger span{
  display:block;width:24px;height:2px;border-radius:2px;
  background:var(--text);
  transition:transform .3s ease, opacity .3s ease, background .2s;
}
.nav-hamburger:hover span{background:#a0a0a0;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ===== MENU CASCADE ===== */
.hnav-cascade{position:static;}
.cascade-panel-wrapper{position:static;display:contents;}

.cascade-mega{
  display:none;
  position:fixed;top:70px;left:0;
  background:transparent; /* transparent — chaque colonne a son propre fond */
  z-index:500;
  animation:cascade-appear .22s cubic-bezier(.22,1,.36,1);
}
@keyframes cascade-appear{
  0%{opacity:0;transform:translateY(-10px);}
  100%{opacity:1;transform:translateY(0);}
}
.cascade-mega.open{
  display:flex;
  align-items:flex-start;
}

.cascade-col{
  display:flex;flex-direction:column;
  min-width:160px;
  flex-shrink:0;
  padding:12px 0 12px;
  /* fond + bordure sur chaque colonne individuellement */
  background:#121212;
  border:1px solid rgba(124,124,124,0.25);
  border-top:none;
  box-shadow:0 12px 40px rgba(0,0,0,0.6);
}
.cascade-col:not(:first-child){border-left:none;}
.cascade-col:first-child{border-radius:0 0 0 12px;}
.cascade-col:last-child{border-radius:0 0 12px 0;min-width:200px;}
.cascade-col-title{
  font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:2.5px;
  color:rgba(124,124,124,0.7);padding:4px 16px 10px;
  flex-shrink:0;
}
.cascade-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 16px;
  background:none;border:none;cursor:pointer;
  font-size:13px;font-weight:500;color:var(--text-sub);
  font-family:inherit;text-align:left;width:100%;
  transition:background .15s,color .15s;
  border-left:2px solid transparent;
  flex-shrink:0;
}
.cascade-item:hover,.cascade-item.active{
  background:rgba(124,124,124,0.1);
  color:var(--text);
  border-left-color:rgba(124,124,124,0.6);
}
.cascade-item.active{
  color:#a0a0a0;
  border-left-color:#7c7c7c;
  background:rgba(124,124,124,0.12);
}
.cascade-arrow{color:rgba(124,124,124,0.5);font-size:16px;line-height:1;flex-shrink:0;}

/* col clubs : scroll si liste longue, max 80vh */
.cascade-col-4{
  max-height:calc(80vh - 70px);
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(124,124,124,0.3) transparent;
  padding-bottom:8px;
}
.cascade-col-4::-webkit-scrollbar{width:4px;}
.cascade-col-4::-webkit-scrollbar-thumb{background:rgba(124,124,124,0.35);border-radius:4px;}

/* col 3 championnats : scroll si trop long */
.cascade-col-3{
  max-height:calc(80vh - 70px);
  overflow-y:auto;
  scrollbar-width:none;
}
.cascade-col-1::-webkit-scrollbar,
.cascade-col-2::-webkit-scrollbar,
.cascade-col-3::-webkit-scrollbar{display:none;}

.cascade-clubs-list{display:flex;flex-direction:column;gap:0;}
.cascade-club-item{
  display:flex;align-items:center;gap:10px;
  padding:7px 16px;font-size:12.5px;color:var(--text-sub);
  text-decoration:none;
  transition:background .15s,color .15s;
  border-left:2px solid transparent;
}
.cascade-club-item:hover{
  background:rgba(124,124,124,0.08);color:var(--text);
  border-left-color:rgba(124,124,124,0.4);
}
.cc-logo{
  width:24px;height:24px;object-fit:contain;flex-shrink:0;
  border-radius:50%;background:rgba(255,255,255,0.05);
}
.cc-logo-placeholder{
  width:24px;height:24px;flex-shrink:0;border-radius:50%;
  background:rgba(124,124,124,0.1);
  border:1px dashed rgba(124,124,124,0.3);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;
}
.cc-name{flex:1;}
.cascade-club-item .cc-count{margin-left:auto;font-size:10px;color:var(--text-muted);background:rgba(124,124,124,0.1);padding:1px 6px;border-radius:6px;flex-shrink:0;}
.hnav-link{
  display:flex;align-items:center;gap:5px;
  padding:8px 13px;border-radius:8px;
  background:none;border:none;cursor:pointer;
  color:var(--text-sub);font-size:14px;font-weight:500;font-family:inherit;
  transition:color var(--t),background var(--t);
  white-space:nowrap;
}
.hnav-link:hover,.hnav-item:hover .hnav-link,.hnav-item:focus-within .hnav-link{
  color:var(--text);
  background:var(--bg-2);
}
.hnav-arrow{transition:transform var(--t);flex-shrink:0;color:var(--text-muted);}
.hnav-item:hover .hnav-arrow,.hnav-item:focus-within .hnav-arrow{transform:rotate(180deg);}

/* Dropdown */
.hnav-dropdown{
  position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);
  background:#131313;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  min-width:420px;
  padding:16px;
  display:none;
  grid-template-columns:1fr 1fr;
  gap:16px;
  z-index:200;
}
.hnav-item:hover .hnav-dropdown,.hnav-item:focus-within .hnav-dropdown{display:grid;}

/* Mega dropdown */
.hnav-dropdown-mega{
  min-width:min(920px,90vw);
  max-width:980px;
  grid-template-columns:repeat(4,1fr);
  max-height:80vh;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--border) transparent;
}
.hnav-mega:hover .hnav-dropdown,.hnav-mega:focus-within .hnav-dropdown{display:grid;}
.hnav-mega:first-child .hnav-dropdown{left:0;transform:none;}

.dropdown-group{display:flex;flex-direction:column;gap:1px;}
.dropdown-group-cta{grid-column:1/-1;border-top:1px solid var(--border);padding-top:10px;margin-top:4px;}
.dropdown-group-label{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;
  color:var(--text-muted);margin-bottom:4px;padding-left:10px;
}
.dropdown-item{
  display:flex;align-items:center;gap:10px;padding:7px 10px;
  border-radius:8px;font-size:13px;font-weight:500;
  color:var(--text-sub);
  transition:background var(--t),color var(--t);
}
.dropdown-item:hover{background:rgba(124,124,124,0.06);color:var(--text);}
.dropdown-item-featured{border:1px solid rgba(124,124,124,0.15);}
.dropdown-item-featured:hover{background:rgba(124,124,124,0.08);color:var(--purple);}
.dropdown-item-mystery:hover{background:rgba(124,124,124,0.06);color:var(--gold);}
.di-icon{
  width:30px;height:30px;border-radius:7px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:14px;
  background:var(--bg-2);
}
.di-flag{font-size:17px;flex-shrink:0;width:24px;text-align:center;}
.di-logo{width:24px;height:24px;object-fit:contain;flex-shrink:0;border-radius:50%;}
.di-badge{
  margin-left:auto;padding:2px 7px;border-radius:6px;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;
}
.di-badge.new{background:rgba(124,124,124,0.10);color:var(--cyan);}
.di-badge.limited{background:rgba(124,124,124,0.10);color:var(--gold);}
.di-badge.sale{background:rgba(124,124,124,0.10);color:var(--gold);}
.di-count{margin-left:auto;font-size:10px;font-weight:700;color:var(--text-muted);background:var(--bg-2);padding:1px 6px;border-radius:8px;flex-shrink:0;}

/* ===== HEADER ACTIONS ===== */
.header-actions{
  display:flex;align-items:center;gap:4px;
  margin-left:auto;
}
.hbtn{
  display:flex;align-items:center;justify-content:center;
  background:none;border:none;cursor:pointer;
  color:var(--text-sub);
  padding:8px;border-radius:9px;
  transition:color var(--t),background var(--t);
  position:relative;
}
.hbtn:hover{color:var(--text);background:var(--bg-2);}

.cart-badge{
  position:absolute;top:4px;right:4px;
  background:var(--red);color:#fff;
  font-size:9px;font-weight:700;
  width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  line-height:1;
}
.fav-btn-wrap{position:relative;}
.fav-badge{
  position:absolute;top:4px;right:4px;
  background:linear-gradient(135deg,#797979,#5d5d5d);color:#fff;
  font-size:9px;font-weight:700;
  min-width:16px;height:16px;padding:0 4px;border-radius:99px;
  display:flex;align-items:center;justify-content:center;line-height:1;
}
.fav-btn-wrap.has-favs svg{color:#999999;}

.account-wrap{position:relative;}
.account-btn{
  display:flex;align-items:center;gap:7px;padding:7px 13px;
  background:none;border:none;cursor:pointer;
  color:var(--text-sub);font-size:13.5px;font-weight:500;font-family:inherit;
  border-radius:9px;
  transition:color var(--t),background var(--t);
}
.account-btn:hover{color:var(--text);background:var(--bg-2);}
.account-label{white-space:nowrap;}
.account-arrow{transition:transform var(--t);}
.account-wrap:hover .account-arrow{transform:rotate(180deg);}
.account-dropdown{
  position:absolute;top:calc(100% + 8px);right:0;
  background:#131313;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  min-width:200px;padding:8px;
  display:none;z-index:200;
}
.account-wrap:hover .account-dropdown,.account-wrap:focus-within .account-dropdown,.account-dropdown.open{display:block;}
.account-dropdown a,.account-dropdown button{
  display:block;width:100%;padding:9px 14px;
  border-radius:8px;font-size:13.5px;color:var(--text-sub);
  background:none;border:none;cursor:pointer;font-family:inherit;
  text-align:left;text-decoration:none;
  transition:background var(--t),color var(--t);
}
.account-dropdown a:hover,.account-dropdown button:hover{
  background:var(--bg-2);color:var(--text);
}
/* ── Menu compte (connecté) ── */
.ad-menu-header{
  font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text-muted);padding:8px 14px 6px;
}
.ad-menu-item{
  display:block;width:100%;padding:10px 14px;border-radius:8px;
  font-size:13.5px;font-weight:500;color:var(--text-sub);
  background:none;border:none;cursor:pointer;font-family:inherit;
  text-align:left;text-decoration:none;transition:background .15s,color .15s;
}
.ad-menu-item:hover{background:rgba(124,124,124,.12);color:#c2c2c2;}
.ad-menu-sep{height:1px;background:var(--border);margin:6px 8px;}
.ad-menu-logout{color:#999999 !important;}
.ad-menu-logout:hover{background:rgba(121,121,121,.1) !important;color:#999999 !important;}

/* ===== HAMBURGER ===== */
.hamburger{
  display:none;flex-direction:column;justify-content:center;
  gap:5px;background:none;border:none;cursor:pointer;padding:10px;
}
.hamburger span{
  display:block;width:22px;height:2px;
  background:var(--text-sub);border-radius:2px;
  transition:transform .3s ease,opacity .3s ease;
}
.hamburger:hover span{background:var(--text);}

/* ===== MOBILE NAV ===== */
.mobile-nav{
  position:fixed;top:0;right:0;bottom:0;width:min(85vw,340px);
  background:#111111;
  border-left:1px solid var(--border);
  box-shadow:-8px 0 32px rgba(23,23,23,0.12);
  z-index:1200;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;border-bottom:1px solid var(--border);
}
.mobile-nav-logo{height:36px;}
.close-nav{
  background:var(--bg-2);border:1px solid var(--border);
  color:var(--text-sub);border-radius:8px;
  width:36px;height:36px;cursor:pointer;font-size:16px;
  display:flex;align-items:center;justify-content:center;
  transition:background var(--t),color var(--t);
}
.close-nav:hover{background:rgba(119,119,119,0.08);color:var(--red);}
.mobile-nav-links{padding:12px 0 40px;}
.mobile-nav-links a{
  display:block;padding:11px 24px;font-size:14px;color:var(--text-sub);
  transition:color var(--t),background var(--t);
}
.mobile-nav-links a:hover{background:var(--bg-2);color:var(--purple);}
.mnav-section{
  padding:16px 24px 6px;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);
}
.mobile-login-btn{
  width:100%;padding:12px 20px;border-radius:10px;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  border:none;
  color:#fff;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;
  transition:opacity var(--t),transform var(--t);
}
.mobile-login-btn:hover{opacity:.9;transform:translateY(-1px);}

/* ===== OVERLAY ===== */
.overlay{
  position:fixed;inset:0;background:rgba(23,23,23,0.40);
  backdrop-filter:blur(3px);
  z-index:1100;
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
}
.overlay.active{opacity:1;pointer-events:auto;}

/* ===== HERO v2 ===== */
.hero-v2{
  min-height:88vh;
  background:none;
  display:flex;align-items:center;
  position:relative;overflow:hidden;
  padding:80px 0;
}
/* Image de fond fixe via pseudo-élément — pas de glitch au scroll */
.hero-v2::after{
  content:'';
  position:absolute;inset:0;z-index:0;
  background-image:
    linear-gradient(to right, rgba(8,8,8,0.88) 0%, rgba(25,25,25,0.72) 50%, rgba(8,8,8,0.85) 100%),
    url('../images/hero-bg.jpg.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  pointer-events:none;
}
.hero-v2::before{display:none;}
.hero-v2-inner{position:relative;z-index:1;}
.hero-video-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0.15;pointer-events:none;display:none;
}
.hero-video-bg.active{display:block;}
.hero-right-video-wrap{
  position:absolute;right:0;top:0;bottom:0;width:50%;
  overflow:hidden;pointer-events:none;opacity:0;
}
.hero-right-video{width:100%;height:100%;object-fit:cover;opacity:.2;}

.hero-v2-inner{
  max-width:1440px;margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:1fr 480px;
  align-items:center;gap:80px;width:100%;
}

.hero-v2-left{
  display:flex;flex-direction:column;gap:24px;max-width:580px;
}
.hero-social-proof{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.22);
  padding:8px 14px;border-radius:40px;
  font-size:13px;color:rgba(255,255,255,0.90);
  width:fit-content;
  backdrop-filter:blur(10px);
}
.proof-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--cyan);
  animation:pulse-dot 2s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes pulse-dot{0%,100%{opacity:1;}50%{opacity:.4;}}
.proof-avatars{display:flex;margin-right:2px;}
.proof-avatar{
  width:24px;height:24px;border-radius:50%;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  border:2px solid rgba(255,255,255,0.3);
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;color:#fff;
  margin-left:-8px;
}
.proof-avatar:first-child{margin-left:0;}

.hero-v2-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#515151,#7a7a7a);
  border:none;
  color:#FFFFFF;
  padding:6px 16px;border-radius:40px;
  font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  width:fit-content;
}
.hero-v2-title{
  font-family:'Orbitron','Bebas Neue',sans-serif;
  font-size:clamp(56px,7vw,96px);
  line-height:.95;
  color:#FFFFFF;
  letter-spacing:1px;
  text-shadow:0 2px 24px rgba(0,0,0,0.5);
}
.hero-v2-title span{
  background:linear-gradient(135deg,#a0a0a0 0%,#9a9a9a 50%,#a0a0a0 100%);
  background-size:200%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:gradient-text 4s ease infinite;
}
@keyframes gradient-text{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.hero-v2-sub{
  font-size:16px;line-height:1.7;
  color:rgba(255,255,255,0.88);
  max-width:420px;
}
.hero-v2-stats{
  display:flex;align-items:center;gap:0;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.20);
  border-radius:var(--radius-lg);
  padding:20px;
  width:fit-content;
  backdrop-filter:blur(12px);
}
.hero-v2-stat{display:flex;flex-direction:column;gap:2px;padding:0 24px;text-align:center;}
.hero-v2-stat strong{font-size:26px;font-weight:800;color:#FFFFFF;}
.hero-v2-stat span{font-size:12px;color:rgba(255,255,255,0.72);font-weight:500;}
.hero-v2-sep{width:1px;height:36px;background:rgba(255,255,255,0.20);flex-shrink:0;}
.hero-v2-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.hero-v2-cta-main{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 28px;border-radius:12px;
  background:linear-gradient(135deg,#626262,#606060);
  color:#fff;font-weight:800;font-size:15px;
  box-shadow:0 4px 20px rgba(0,0,0,0.25);
  transition:transform var(--t),box-shadow var(--t);
}
.hero-v2-cta-main:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,0.30);}
.hero-v2-cta-sec{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 28px;border-radius:12px;
  background:rgba(124,124,124,0.15);
  border:1px solid rgba(124,124,124,0.4);
  color:#FFFFFF;font-weight:700;font-size:15px;
  transition:transform var(--t),opacity var(--t);
}
.hero-v2-cta-sec:hover{transform:translateY(-2px);opacity:.9;color:#FFFFFF;}

/* ===== VIDEO DECK — GPU only, zero reflow ===== */
.hero-video-deck{
  position:relative;height:520px;
  perspective:1400px;
}

/* Toutes les cartes partent du même coin — seul transform bouge */
.vdeck-card{
  position:absolute;
  left:0;top:44px;          /* position de base fixe */
  width:285px;height:410px;
  border-radius:22px;overflow:hidden;cursor:pointer;
  border:1px solid rgba(255,255,255,.1);
  will-change:transform,filter,box-shadow;
  /* Une seule propriété animée = pur GPU */
  transition:
    transform  1.1s cubic-bezier(.4,0,.2,1),
    filter     1.1s cubic-bezier(.4,0,.2,1),
    box-shadow 1.1s cubic-bezier(.4,0,.2,1);
}

/* Carte avant */
.vdeck-card[data-pos="0"]{
  z-index:3;
  transform:translateX(115px) rotate(3deg);
  box-shadow:0 28px 70px rgba(0,0,0,.7),0 0 30px rgba(124,124,124,.2);
  filter:brightness(1) saturate(1);
  animation:vdeck-float 4.5s ease-in-out infinite,
            vdeck-glow  3.5s ease-in-out 1s infinite;
}
/* Carte milieu */
.vdeck-card[data-pos="1"]{
  z-index:2;
  transform:translateX(50px) translateY(28px) rotate(-5deg);
  box-shadow:0 16px 44px rgba(0,0,0,.5);
  filter:brightness(.6) saturate(.65);
  animation:vdeck-float2 5.5s ease-in-out .7s infinite;
}
/* Carte derrière */
.vdeck-card[data-pos="2"]{
  z-index:1;
  transform:translateX(-16px) translateY(56px) rotate(-13deg);
  box-shadow:0 10px 28px rgba(0,0,0,.4);
  filter:brightness(.33) saturate(.42);
  animation:vdeck-float3 6.8s ease-in-out 1.5s infinite;
}

/* Hover */
.vdeck-card[data-pos="0"]:hover{
  transform:translateX(115px) rotate(1.5deg) translateY(-14px) scale(1.02);
  box-shadow:0 44px 84px rgba(0,0,0,.75),0 0 54px rgba(124,124,124,.35);
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,filter .35s ease;
}

/* Flottaison — transform only, GPU */
@keyframes vdeck-float{
  0%,100%{transform:translateX(115px) rotate(3deg) translateY(0);}
  50%{transform:translateX(115px) rotate(2.4deg) translateY(-14px);}
}
@keyframes vdeck-float2{
  0%,100%{transform:translateX(50px) translateY(28px) rotate(-5deg);}
  50%{transform:translateX(50px) translateY(20px) rotate(-5.4deg);}
}
@keyframes vdeck-float3{
  0%,100%{transform:translateX(-16px) translateY(56px) rotate(-13deg);}
  50%{transform:translateX(-16px) translateY(50px) rotate(-13.4deg);}
}
@keyframes vdeck-glow{
  0%,100%{box-shadow:0 28px 70px rgba(0,0,0,.7),0 0 20px rgba(124,124,124,.1);}
  50%{box-shadow:0 28px 70px rgba(0,0,0,.7),0 0 55px rgba(124,124,124,.38),0 0 90px rgba(122,122,122,.12);}
}
.vdeck-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.vdeck-ph{position:absolute;inset:0;}
.vdeck-ph-psg{background:linear-gradient(135deg,#1a1a1a 0%,#363636 40%,#1a1a1a 100%);}
.vdeck-ph-real{background:linear-gradient(135deg,#F0F0F0 0%,#acacac 40%,#F0F0F0 100%);}
.vdeck-ph-barca{background:linear-gradient(135deg,#3f3f3f 0%,#393939 50%,#3f3f3f 100%);}
.vdeck-label{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(0,0,0,0.75));
  padding:36px 16px 14px;
  font-size:14px;font-weight:700;color:#fff;
}
.vdeck-label small{display:block;font-size:12px;font-weight:400;opacity:.75;margin-top:2px;}
.vdeck-price-badge{
  position:absolute;top:12px;right:12px;
  background:var(--red);
  color:#fff;padding:4px 10px;border-radius:8px;
  font-size:12px;font-weight:800;letter-spacing:.5px;
}
.vdeck-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:10;}
.vdeck-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.25);cursor:pointer;transition:background .3s,transform .3s;}
.vdeck-dot.active{background:var(--cyan);transform:scale(1.4);}

/* ===== TRUST STRIP ===== */
.trust-strip{
  background:#111111;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:20px 0;
}
.trust-inner{
  max-width:1440px;margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
}
.trust-item{
  display:flex;align-items:center;gap:14px;
  padding:12px 24px;
  border-right:1px solid var(--border);
}
.trust-item:last-child{border-right:none;}
.trust-icon{font-size:24px;flex-shrink:0;}
.trust-text{display:flex;flex-direction:column;gap:2px;}
.trust-text strong{font-size:13.5px;color:var(--text);font-weight:700;}
.trust-text span{font-size:12px;color:var(--text-sub);}

/* ===== TICKER ===== */
.ticker-wrap{
  overflow:hidden;
  background:var(--bg-2);
  border-bottom:1px solid var(--border);
  padding:10px 0;
}
.ticker-inner{overflow:hidden;}
.ticker-track{
  display:flex;align-items:center;gap:32px;
  white-space:nowrap;
  font-size:13px;font-weight:500;color:var(--text-sub);
  animation:ticker-slide 30s linear infinite;
}
@keyframes ticker-slide{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.ticker-sep{color:var(--purple);opacity:.5;font-size:10px;}

/* ===== CLUBS TICKER ===== */
.clubs-ticker-wrap{
  padding:36px 0;
  background:linear-gradient(135deg,#0c0c0c 0%,#131313 40%,#141414 70%,#0c0c0c 100%);
  border-top:1px solid rgba(124,124,124,0.2);
  border-bottom:1px solid rgba(124,124,124,0.2);
  overflow:hidden;
  position:relative;
  box-shadow:inset 0 0 60px rgba(124,124,124,0.05);
}
.clubs-ticker-wrap::before{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 100% at 50% 50%,rgba(124,124,124,0.06) 0%,transparent 70%);
  pointer-events:none;
}
.clubs-ticker-label{
  text-align:center;font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:2px;
  color:var(--text-muted);margin-bottom:24px;
}
.clubs-ticker{overflow:hidden;width:100%;}
.clubs-ticker-inner{overflow:hidden;width:100%;display:flex;}
.clubs-track{
  display:flex;gap:48px;align-items:center;
  flex-shrink:0;flex-wrap:nowrap;
  min-width:max-content;
  animation:clubs-loop 40s linear infinite;
}
@keyframes clubs-loop{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.club-wrap{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  flex-shrink:0;
  transition:transform var(--t);
}
.club-wrap:hover{transform:translateY(-4px) scale(1.08);}
.club-badge{
  width:54px;height:54px;border-radius:50%;
  background:var(--bg-2);
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  padding:10px;
  transition:border-color var(--t),box-shadow var(--t);
}
.club-wrap:hover .club-badge{
  border-color:rgba(124,124,124,0.3);
  box-shadow:0 4px 12px rgba(124,124,124,0.12);
}
.club-badge img{width:32px;height:32px;object-fit:contain;}
.club-label{font-size:11px;color:var(--text-muted);font-weight:500;white-space:nowrap;}

/* ===== SECTIONS COMMON ===== */
.section{padding:80px 0;}
.section-inner{max-width:1440px;margin:0 auto;padding:0 28px;}
.section-header{text-align:center;margin-bottom:52px;}
.section-label{
  display:inline-block;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:3px;
  color:var(--purple);margin-bottom:10px;
  background:rgba(124,124,124,0.10);
  border:1px solid rgba(124,124,124,0.25);
  padding:5px 14px;border-radius:20px;
}
.section-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(34px,5vw,54px);
  color:var(--text);letter-spacing:1px;
  line-height:1;margin-bottom:12px;
}
.section-title span{
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.section-title-anim .section-title span{
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.section-sub{font-size:15px;color:var(--text-sub);max-width:500px;margin:0 auto;line-height:1.7;}

/* ===== MEGA MENU COLUMNS ===== */
.mega-col{display:flex;flex-direction:column;gap:1px;}
.mega-col-title{
  font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:2px;
  color:var(--text-muted);padding:0 10px 8px;
  border-bottom:1px solid var(--border);margin-bottom:6px;
}
/* Payment badges (footer) */
.pay-badge{
  background:var(--bg-2);border:1px solid var(--border);
  padding:5px 12px;border-radius:6px;font-size:11px;color:var(--text-muted);
}
/* Hero highlight text */
.hero-hl{color:#e2e2e2;}
/* Gold accent text */
.text-gold{color:#a0a0a0;font-weight:700;}
/* Section alt background */
.section-alt{background:#111111;}

/* ===== COLLECTIONS ===== */
.section-collections{padding:80px 0;background:var(--bg);}

/* ── Collection tabs ── */
.coll-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:32px;}
.coll-tab{display:flex;align-items:center;gap:8px;padding:13px 24px;border:2px solid var(--border);background:var(--bg-card);border-radius:100px;font-size:14px;font-weight:700;color:var(--text-sub);cursor:pointer;transition:all .2s;font-family:inherit;}
.coll-tab:hover{border-color:var(--purple);color:var(--purple);}
.coll-tab.active{background:linear-gradient(135deg,#515151,#606060);border-color:transparent;color:#fff;box-shadow:0 4px 20px rgba(124,124,124,.4);}
.coll-tab-icon{font-size:16px;}
.coll-colors{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;}
.color-swatch{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 14px;border:2px solid transparent;border-radius:12px;background:none;cursor:pointer;font-size:12px;font-weight:700;color:var(--text-sub);transition:all .2s;font-family:inherit;}
.color-swatch span{width:36px;height:36px;border-radius:50%;background:var(--sw);display:block;box-shadow:0 2px 8px rgba(0,0,0,.2);transition:transform .2s;}
.color-swatch:hover span{transform:scale(1.15);}
.color-swatch.active{border-color:var(--purple);background:rgba(124,124,124,.06);color:var(--purple);}
.color-swatch.active span{box-shadow:0 0 0 3px rgba(124,124,124,.35),0 2px 8px rgba(0,0,0,.2);}
.coll-tab-info{text-align:center;}
.coll-count-badge{display:inline-block;background:var(--bg-2);border:1px solid var(--border);border-radius:100px;padding:6px 18px;font-size:13px;font-weight:700;color:var(--text-sub);}
.collections-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
}
.coll-card{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:3/4;
  border:1px solid var(--border);
  transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .4s ease;
  display:flex;flex-direction:column;justify-content:flex-end;
  text-decoration:none;
  box-shadow:var(--shadow-sm);
}
.coll-card:hover{
  transform:translateY(-6px) scale(1.02);
  border-color:rgba(124,124,124,0.25);
  box-shadow:var(--shadow-lg);
}
.coll-card-bg{position:absolute;inset:0;transition:transform .6s ease;}
.coll-card:hover .coll-card-bg{transform:scale(1.06);}
.coll-home .coll-card-bg{background:linear-gradient(160deg,#3a3a3a 0%,#4b4b4b 50%,#676767 100%);}
.coll-away .coll-card-bg{background:linear-gradient(160deg,#363636 0%,#4f4f4f 50%,#7a7a7a 100%);}
.coll-third .coll-card-bg{background:linear-gradient(160deg,#3c3c3c 0%,#585858 50%,#898989 100%);}
.coll-retro .coll-card-bg{background:linear-gradient(160deg,#424242 0%,#626262 50%,#626262 100%);}
.coll-concept .coll-card-bg{background:linear-gradient(160deg,#212121 0%,#3f3f3f 50%,#959595 100%);}
.coll-mystery .coll-card-bg{background:linear-gradient(160deg,#494949 0%,#6a6a6a 50%,#b0b0b0 100%);}
.coll-card-overlay{position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(0,0,0,0.55) 100%);}
.coll-card-arrow{
  position:absolute;top:12px;right:12px;
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,0.20);border:1px solid rgba(255,255,255,0.30);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;color:#fff;
  opacity:0;transform:translateY(4px);
  transition:opacity .3s,transform .3s;
}
.coll-card:hover .coll-card-arrow{opacity:1;transform:translateY(0);}
.coll-jersey{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) translateY(-10px);
  font-size:40px;
  transition:transform .4s cubic-bezier(.22,1,.36,1);
  z-index:2;
}
.coll-card:hover .coll-jersey{transform:translate(-50%,-60%) scale(1.15);}
.coll-card-body{position:relative;z-index:2;padding:14px;display:flex;flex-direction:column;gap:3px;}
.coll-card-emoji{font-size:14px;}
.coll-card-name{font-size:14px;font-weight:800;color:#fff;letter-spacing:.3px;}
.coll-card-count{font-size:11px;color:rgba(255,255,255,.55);}

/* ===== MYSTERY SECTION ===== */
.section-mystery{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0c0c0c 0%,#101010 40%,#0f0f0f 70%,#070707 100%);
  border-top:1px solid rgba(124,124,124,0.25);
  border-bottom:1px solid rgba(124,124,124,0.25);
}
/* Effets de fond */
.section-mystery::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 80% at 20% 50%, rgba(81,81,81,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 80% 50%, rgba(96,96,96,0.08) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 50% 50%, rgba(124,124,124,0.06) 0%, transparent 70%);
  pointer-events:none;
}
/* Ligne néon en haut */
.section-mystery::after{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,#626262 30%,#a0a0a0 50%,#7a7a7a 70%,transparent);
  box-shadow:0 0 12px rgba(124,124,124,0.6);
}
.mystery-grid{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start;position:relative;z-index:1;}
.mystery-card{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  padding:36px;
  display:grid;grid-template-columns:260px 1fr;
  gap:36px;align-items:center;
  box-shadow:var(--shadow-sm);
  transition:border-color var(--t),box-shadow var(--t);
}
.mystery-card:hover{
  border-color:rgba(124,124,124,0.25);
  box-shadow:var(--shadow-md);
}
.mystery-box-wrap{position:relative;display:flex;justify-content:center;padding:24px 0;}
.mystery-glow{
  position:absolute;inset:-20px;
  background:radial-gradient(ellipse at center,rgba(124,124,124,0.12) 0%,transparent 70%);
  animation:mystery-glow-pulse 3s ease-in-out infinite;
}
@keyframes mystery-glow-pulse{0%,100%{opacity:.4;transform:scale(1);}50%{opacity:.8;transform:scale(1.08);}}
.mystery-box{
  width:130px;height:130px;border-radius:20px;
  background:linear-gradient(135deg,#515151,#7c7c7c,#7a7a7a);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-md);
  animation:float 4s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.mystery-qmarks{font-size:60px;font-weight:900;color:rgba(255,255,255,0.9);}
.mystery-shine{
  position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,0.12) 50%,transparent 70%);
  animation:shine 3s ease-in-out infinite;
}
@keyframes shine{0%{transform:translateX(-100%) rotate(-45deg);}100%{transform:translateX(200%) rotate(-45deg);}}
.mystery-particles{position:absolute;inset:0;pointer-events:none;}
.mystery-particles span{
  position:absolute;display:block;
  width:5px;height:5px;border-radius:50%;
  background:var(--gold);
  animation:particle-float 3s ease-in-out infinite;
}
.mystery-particles span:nth-child(1){left:15%;top:20%;animation-delay:0s;}
.mystery-particles span:nth-child(2){left:75%;top:30%;animation-delay:.5s;}
.mystery-particles span:nth-child(3){left:30%;top:70%;animation-delay:1s;}
.mystery-particles span:nth-child(4){left:80%;top:65%;animation-delay:1.5s;}
.mystery-particles span:nth-child(5){left:50%;top:15%;animation-delay:.8s;}
.mystery-particles span:nth-child(6){left:10%;top:55%;animation-delay:1.3s;}
@keyframes particle-float{0%,100%{transform:translateY(0) scale(1);opacity:.5;}50%{transform:translateY(-14px) scale(1.3);opacity:1;}}

.mystery-info{display:flex;flex-direction:column;gap:16px;}
.mystery-title{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:1px;color:var(--text);}
.mystery-desc{font-size:14px;line-height:1.7;color:var(--text-sub);}
.mystery-desc strong{color:var(--text);font-weight:700;}
.mystery-perks{display:flex;flex-direction:column;gap:6px;}
.mystery-perk{font-size:13.5px;color:var(--text-sub);}
.mystery-perk strong{color:var(--text);}
.mystery-sizes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.mystery-size-label{font-size:13px;font-weight:600;color:var(--text-sub);}
.mystery-size-btns{display:flex;gap:6px;}
.mystery-size-btn{
  width:38px;height:38px;border-radius:8px;
  background:var(--bg-card);border:1px solid var(--border);
  color:var(--text-sub);font-size:12.5px;font-weight:700;cursor:pointer;
  transition:background var(--t),border-color var(--t),color var(--t);
}
.mystery-size-btn:hover,.mystery-size-btn.active{
  background:rgba(124,124,124,0.06);
  border-color:rgba(124,124,124,0.4);
  color:var(--purple);
}
.mystery-price-row{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding-top:8px;border-top:1px solid var(--border);
}
.mystery-price{font-size:30px;font-weight:900;color:var(--text);}
.mystery-price-note{font-size:12px;color:var(--text-sub);display:block;margin-top:2px;}
.mystery-price-note strong{color:var(--purple);}
.mystery-cta{
  padding:13px 24px;border-radius:12px;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  border:none;
  color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;
  box-shadow:0 4px 16px rgba(124,124,124,0.25);
  transition:transform var(--t),box-shadow var(--t);
  white-space:nowrap;
}
.mystery-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(124,124,124,0.30);}

.mystery-side{display:flex;flex-direction:column;gap:12px;}
.mystery-info-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:16px;
  display:flex;gap:12px;
  box-shadow:var(--shadow-sm);
  transition:border-color var(--t),box-shadow var(--t);
}
.mystery-info-card:hover{border-color:rgba(124,124,124,0.2);box-shadow:var(--shadow-md);}
.mystery-info-icon{font-size:22px;flex-shrink:0;}
.mystery-info-text strong{display:block;font-size:13.5px;color:var(--text);margin-bottom:4px;}
.mystery-info-text p{font-size:12.5px;color:var(--text-sub);line-height:1.6;}

/* ===== PRODUCTS GRID ===== */
.section-bestsellers{background:var(--bg-2);}
.products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px;
}

/* ── Carte produit ── */
.product-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  cursor:pointer;
  transition:transform .3s cubic-bezier(.22,1,.36,1),
             box-shadow .3s ease,
             border-color .3s ease;
  display:flex;flex-direction:column;
  box-shadow:var(--shadow-sm);
}
.product-card:hover{
  transform:translateY(-5px);
  border-color:rgba(124,124,124,0.25);
  box-shadow:0 16px 40px rgba(23,23,23,0.12),0 4px 12px rgba(23,23,23,0.06);
}

/* ── Zone image ── */
.product-img-wrap{
  position:relative;
  aspect-ratio:1/1;
  background:#0f0f0f;
  overflow:hidden;
}
.product-img-wrap::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 65%,rgba(248,249,252,0.3));
  pointer-events:none;z-index:1;
}

/* ── Badges ── */
.product-badges{
  position:absolute;top:10px;left:10px;
  display:flex;flex-direction:column;gap:4px;z-index:3;
}
.badge-tag{
  display:inline-block;padding:3px 8px;border-radius:6px;
  font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
}
.badge-sale{background:rgba(119,119,119,0.90);color:#fff;}
.badge-new{background:rgba(124,124,124,0.90);color:#fff;}
.badge-best{background:rgba(124,124,124,0.90);color:#fff;}
.badge-limited{background:rgba(128,128,128,0.90);color:#fff;}

/* ── Wishlist ── */
.product-wishlist{
  position:absolute;top:10px;right:10px;z-index:3;
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,0.90);
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:14px;
  transition:background .2s,border-color .2s,transform .2s;
  box-shadow:var(--shadow-sm);
}
.product-wishlist:hover{
  background:var(--bg-card);border-color:rgba(119,119,119,0.4);
  transform:scale(1.1);
}
.product-wishlist.active{background:rgba(119,119,119,0.08);border-color:rgba(119,119,119,0.5);}

/* ── Image principale ── */
.product-jersey{
  width:82%;height:82%;
  object-fit:contain;
  display:block;
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  transition:transform .4s cubic-bezier(.22,1,.36,1);
  filter:drop-shadow(0 4px 12px rgba(23,23,23,0.12));
}
.product-card:hover .product-jersey{transform:translate(-50%,-54%) scale(1.05);}

/* ── Bouton ajouter au panier ── */
.product-quick-add{
  position:absolute;bottom:0;left:0;right:0;z-index:4;
  background:linear-gradient(135deg,var(--purple),#626262);
  color:#fff;font-size:13px;font-weight:700;letter-spacing:.3px;
  text-align:center;padding:12px;
  transform:translateY(101%);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.product-card:hover .product-quick-add{transform:translateY(0);}

/* ── Infos produit ── */
.product-info{
  padding:12px 14px 14px;
  flex:1;display:flex;flex-direction:column;gap:5px;
  background:var(--bg-card);
  border-top:1px solid var(--border);
}
.product-cat{
  font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:1.8px;color:var(--purple);
}
.product-name{
  font-size:13px;font-weight:600;color:var(--text);
  line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden;
}
.product-rating-row{display:flex;align-items:center;gap:5px;}
.product-stars{color:var(--gold);font-size:11px;letter-spacing:-1px;}
.product-rating-count{font-size:10px;color:var(--text-muted);}

/* ── Tailles ── */
.product-sizes{display:flex;gap:4px;flex-wrap:wrap;}
.size-dot{
  padding:2px 6px;border-radius:4px;
  background:var(--bg-2);
  border:1px solid var(--border);
  font-size:9.5px;font-weight:700;color:var(--text-sub);
  letter-spacing:.3px;
}

/* ── Prix ── */
.product-price{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-top:auto;
}
.price-current{font-size:16px;font-weight:800;color:var(--text);}
.price-old{font-size:12px;text-decoration:line-through;color:var(--text-muted);}
.price-save{
  font-size:10px;font-weight:800;padding:2px 6px;border-radius:5px;
  background:rgba(119,119,119,0.08);color:#5c5c5c;
  border:1px solid rgba(119,119,119,0.18);
}
.btn-voir-plus{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 30px;border-radius:10px;
  background:var(--bg-card);border:1px solid var(--border);
  color:var(--text-sub);font-size:15px;font-weight:600;
  box-shadow:var(--shadow-sm);
  transition:background var(--t),border-color var(--t),color var(--t),box-shadow var(--t),transform var(--t);
}
.btn-voir-plus:hover{
  background:rgba(124,124,124,0.05);
  border-color:rgba(124,124,124,0.3);
  color:var(--purple);
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
}

/* ===== PROMO BANNER v2 ===== */
.promo-banner-v2{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#090909 0%,#0f0f0f 35%,#101010 65%,#080808 100%);
  border-top:1px solid rgba(124,124,124,0.2);
  border-bottom:1px solid rgba(124,124,124,0.2);
  padding:48px 0;
}
.promo-banner-v2::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 100% at 0% 50%, rgba(81,81,81,0.1) 0%, transparent 55%),
    radial-gradient(ellipse 50% 100% at 100% 50%, rgba(96,96,96,0.08) 0%, transparent 55%);
  pointer-events:none;
}
.promo-banner-v2::after{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,#515151 30%,#7a7a7a 70%,transparent);
  box-shadow:0 0 10px rgba(124,124,124,0.5);
}
.promo-v2-inner{position:relative;z-index:1;}
.promo-v2-inner{
  max-width:1440px;margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:48px;
}
.promo-v2-left h2{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(26px,4vw,42px);
  color:var(--text);letter-spacing:1px;
  margin-bottom:10px;
}
.promo-v2-left h2 span{
  display:block;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.promo-v2-left p{font-size:14px;line-height:1.7;color:var(--text-sub);}
.promo-v2-sep{width:1px;height:72px;background:linear-gradient(transparent,var(--border),transparent);}
.promo-v2-right{display:flex;flex-direction:column;align-items:center;gap:8px;}
.promo-v2-code-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);}
.promo-v2-code,.promo-code{
  font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:5px;
  background:linear-gradient(135deg,var(--gold),#515151);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  cursor:pointer;
  padding:10px 20px;
  border:2px dashed rgba(124,124,124,0.35);
  border-radius:10px;
  transition:border-color var(--t),box-shadow var(--t),transform var(--t);
}
.promo-v2-code:hover,.promo-code:hover{
  border-color:rgba(124,124,124,0.6);
  box-shadow:0 4px 16px rgba(124,124,124,0.15);
  transform:scale(1.03);
}
.promo-v2-copy{font-size:11px;color:var(--text-muted);}
.promo-v2-cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 18px;border-radius:8px;
  background:rgba(124,124,124,0.07);border:1px solid rgba(124,124,124,0.20);
  color:var(--purple);font-size:13px;font-weight:600;
  transition:background var(--t),box-shadow var(--t);
}
.promo-v2-cta:hover{background:rgba(124,124,124,0.10);box-shadow:0 4px 12px rgba(124,124,124,0.12);}

/* ===== REVIEWS ===== */
.reviews-section{background:var(--bg);}
.reviews-rating-bar{
  display:flex;align-items:center;gap:48px;
  background:linear-gradient(135deg,rgba(124,124,124,.06),rgba(122,122,122,.04));
  border:1px solid rgba(124,124,124,.2);border-radius:24px;
  padding:36px 48px;margin-bottom:40px;
  box-shadow:0 8px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.04);
  position:relative;overflow:hidden;
}
.reviews-rating-bar::before{
  content:'';position:absolute;top:-60px;right:-60px;
  width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(124,124,124,.12),transparent 70%);
  pointer-events:none;
}
.reviews-big-score{
  text-align:center;min-width:120px;flex-shrink:0;
  border-right:1px solid rgba(255,255,255,.08);
  padding-right:48px;
}
.rbs-num{
  font-size:72px;font-weight:900;color:#fff;line-height:1;
  background:linear-gradient(135deg,#fff,#a0a0a0);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.rbs-stars{color:#cacaca;font-size:22px;letter-spacing:3px;margin:8px 0 4px;}
.rbs-count{font-size:12px;color:rgba(255,255,255,.4);font-weight:600;letter-spacing:.5px;}
.reviews-bars{display:flex;flex-direction:column;gap:10px;flex:1;}
.rbar-row{display:flex;align-items:center;gap:14px;font-size:13px;color:rgba(255,255,255,.5);}
.rbar-row > span:first-child{width:28px;text-align:right;flex-shrink:0;font-weight:700;}
.rbar-track{
  flex:1;height:12px;
  background:rgba(255,255,255,.06);
  border-radius:99px;overflow:hidden;
  border:1px solid rgba(255,255,255,.04);
}
.rbar-fill{
  height:100%;
  background:linear-gradient(90deg,#515151,#7c7c7c,#a0a0a0);
  border-radius:99px;
  transition:width 1.6s cubic-bezier(.22,1,.36,1);
  box-shadow:0 0 12px rgba(124,124,124,.6);
  position:relative;
}
.rbar-fill::after{
  content:'';position:absolute;top:0;left:0;right:0;bottom:0;
  background:linear-gradient(90deg,transparent 50%,rgba(255,255,255,.15));
  border-radius:99px;
}
.rbar-pct{width:36px;text-align:right;flex-shrink:0;font-weight:700;color:#a0a0a0;font-size:13px;}

.reviews-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px;
}
.review-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:22px;
  box-shadow:var(--shadow-sm);
  transition:border-color var(--t),box-shadow var(--t);
}
.review-card:hover{
  border-color:rgba(124,124,124,0.18);
  box-shadow:var(--shadow-md);
}
.review-card img, .review-featured img{
  display:block;
  width:100%;
  height:200px;
  object-fit:contain;
  background:rgba(255,255,255,.04);
  border-radius:12px;
  margin-top:14px;
  border:1px solid rgba(124,124,124,.15);
  padding:10px;
  box-sizing:border-box;
}
.review-featured{
  grid-column:1/-1;
  background:linear-gradient(135deg,rgba(124,124,124,0.06),rgba(122,122,122,0.04));
  border:1px solid rgba(124,124,124,0.20);
  border-radius:var(--radius-xl);
  padding:28px;
}
.review-header{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.review-avatar{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:800;color:#fff;
  flex-shrink:0;
}
.review-meta{display:flex;flex-direction:column;gap:2px;}
.review-meta strong{font-size:14px;color:var(--text);}
.review-meta span{font-size:11px;color:var(--text-muted);}
.review-stars{color:var(--gold);font-size:14px;letter-spacing:1px;margin-bottom:8px;}
.review-text{font-size:13.5px;line-height:1.7;color:var(--text-sub);}
.review-text strong{color:var(--text);}
.review-product{
  display:inline-block;margin-top:10px;
  font-size:11px;font-weight:700;
  background:rgba(124,124,124,0.06);border:1px solid rgba(124,124,124,0.15);
  color:var(--purple);padding:4px 10px;border-radius:6px;
}

/* ===== FAQ ===== */
.faq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:12px;}
.faq-item{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:border-color var(--t),box-shadow var(--t);
}
.faq-item:hover{border-color:rgba(124,124,124,0.18);}
.faq-item.open{border-color:rgba(124,124,124,0.25);box-shadow:var(--shadow-md);}
.faq-q{
  width:100%;padding:18px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:none;border:none;cursor:pointer;
  color:var(--text);font-size:14px;font-weight:600;font-family:inherit;
  text-align:left;
  transition:color var(--t);
}
.faq-q:hover{color:var(--purple);}
.faq-item.open .faq-q{color:var(--purple);}
.faq-arrow{flex-shrink:0;transition:transform .3s ease;color:var(--text-muted);}
.faq-item.open .faq-arrow{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),padding .4s ease;}
.faq-a p{padding:0 22px 18px;font-size:14px;color:var(--text-sub);line-height:1.7;}
.faq-a p strong{color:var(--text);}
.faq-item.open .faq-a{max-height:300px;}

/* ===== NEWSLETTER ===== */
/* WC2026 : remplacé par .hero-worldcup dans index.html */

.newsletter-section{
  background:linear-gradient(135deg,rgba(124,124,124,0.06) 0%,rgba(122,122,122,0.04) 100%);
  border-top:1px solid rgba(124,124,124,0.15);
  border-bottom:1px solid rgba(124,124,124,0.15);
  padding:72px 0;
  text-align:center;
}
.newsletter-inner{max-width:540px;margin:0 auto;padding:0 28px;}
.newsletter-label{
  display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:3px;
  color:var(--purple);margin-bottom:14px;
}
.newsletter-title{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(32px,5vw,48px);
  letter-spacing:1px;color:var(--text);margin-bottom:10px;line-height:1;
}
.newsletter-title span{
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.newsletter-sub{font-size:14px;color:var(--text-sub);line-height:1.7;margin-bottom:24px;}
.newsletter-form{display:flex;gap:10px;max-width:420px;margin:0 auto 10px;}
.newsletter-form input{
  flex:1;padding:12px 16px;border-radius:10px;
  background:var(--bg-card);border:1px solid var(--border);
  color:var(--text);font-size:14px;font-family:inherit;
  transition:border-color var(--t),box-shadow var(--t);
  outline:none;
  box-shadow:var(--shadow-sm);
}
.newsletter-form input:focus{
  border-color:rgba(124,124,124,0.4);
  box-shadow:0 0 0 3px rgba(124,124,124,0.08);
}
.newsletter-form input::placeholder{color:var(--text-muted);}
.newsletter-btn{
  padding:12px 20px;border-radius:10px;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  border:none;color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;
  white-space:nowrap;
  transition:transform var(--t),box-shadow var(--t);
}
.newsletter-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,124,124,0.25);}
.newsletter-note{font-size:11px;color:var(--text-muted);margin-bottom:16px;}
.newsletter-perks{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.newsletter-perk{
  font-size:12px;font-weight:600;
  background:rgba(124,124,124,0.06);border:1px solid rgba(124,124,124,0.15);
  color:var(--purple);padding:4px 12px;border-radius:20px;
}

/* ===== FOOTER ===== */
.footer{
  background:#090909;
  border-top:1px solid rgba(124,124,124,0.15);
  padding:0;position:relative;
}
.footer::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,#626262 30%,#7a7a7a 70%,transparent);
  box-shadow:0 0 12px rgba(124,124,124,0.4);
}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 40px;}

/* Newsletter */
.footer-newsletter-row{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;
  padding:32px 0;border-bottom:1px solid rgba(124,124,124,0.12);
}
.fn-text strong{display:block;font-size:15px;color:#f4f4f4;margin-bottom:4px;}
.fn-text p{font-size:13px;color:rgba(255,255,255,.5);}
.fn-form{display:flex;gap:10px;}
.fn-input{
  padding:10px 16px;border-radius:10px;
  background:rgba(124,124,124,.06);border:1px solid rgba(124,124,124,.2);
  color:#f4f4f4;font-size:13px;font-family:inherit;outline:none;width:240px;
  transition:border-color .2s,box-shadow .2s;
}
.fn-input:focus{border-color:rgba(124,124,124,.5);box-shadow:0 0 0 3px rgba(124,124,124,.08);}
.fn-input::placeholder{color:rgba(255,255,255,.3);}
.fn-btn{
  padding:10px 20px;border-radius:10px;
  background:linear-gradient(135deg,#515151,#606060);
  border:none;color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;
  white-space:nowrap;transition:transform .2s,box-shadow .2s;
  box-shadow:0 0 12px rgba(124,124,124,.25);
}
.fn-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(124,124,124,.4);}

/* Footer newsletter */
.footer-newsletter-row{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  padding:28px 0;border-bottom:1px solid rgba(124,124,124,.1);flex-wrap:wrap;
}
.fn-text strong{font-size:14px;color:#f4f4f4;font-weight:700;}
.fn-text p{font-size:12px;color:rgba(255,255,255,.4);margin-top:3px;}
.fn-form{display:flex;gap:8px;}
.fn-input{
  padding:9px 14px;border-radius:8px;
  background:rgba(255,255,255,.05);border:1px solid rgba(124,124,124,.2);
  color:#f4f4f4;font-size:13px;font-family:inherit;outline:none;width:220px;
}
.fn-input:focus{border-color:rgba(124,124,124,.5);}
.fn-input::placeholder{color:rgba(255,255,255,.25);}
.fn-btn{
  padding:9px 18px;border-radius:8px;
  background:linear-gradient(135deg,#515151,#606060);
  border:none;color:#fff;font-size:13px;font-weight:600;
  cursor:pointer;font-family:inherit;white-space:nowrap;
}
.fn-btn:hover{opacity:.9;}

/* Footer top */
.footer-top{
  display:grid;grid-template-columns:200px 1fr 1fr 1fr;
  gap:48px;padding:40px 0 36px;align-items:start;
}
.footer-brand{display:flex;flex-direction:column;gap:14px;}
.footer-logo{
  height:44px;width:auto;max-width:160px;
  object-fit:contain;filter:drop-shadow(0 0 8px rgba(124,124,124,.35));
}
.footer-name{
  font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:rgba(160,160,160,.8);
}
.footer-tagline{font-size:12px;color:rgba(255,255,255,.35);line-height:1.7;}
.footer-social{display:flex;gap:6px;}
.footer-social a{
  width:32px;height:32px;border-radius:8px;
  background:rgba(124,124,124,.07);border:1px solid rgba(124,124,124,.15);
  display:flex;align-items:center;justify-content:center;font-size:14px;
  transition:all .2s;
}
.footer-social a:hover{background:rgba(124,124,124,.18);border-color:rgba(124,124,124,.4);transform:translateY(-2px);}

/* Footer columns */
.footer-links{display:flex;flex-direction:column;gap:0;}
.footer-links h4{
  font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:2.5px;
  color:rgba(124,124,124,.6);margin-bottom:14px;
}
.footer-links a{
  font-size:13px;color:rgba(255,255,255,.45);
  padding:4px 0;transition:color .15s,padding-left .15s;
}
.footer-links a:hover{color:#c2c2c2;padding-left:4px;}

/* Pay badges */
.pay-badge{
  display:inline-flex;align-items:center;gap:4px;
  font-size:11px;color:rgba(255,255,255,.4);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  padding:3px 9px;border-radius:5px;
}

/* Footer bottom */
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 0;border-top:1px solid rgba(124,124,124,.08);
  font-size:11px;color:rgba(255,255,255,.25);
  flex-wrap:wrap;gap:8px;
}
.footer-bottom a{color:rgba(124,124,124,.5);}
.footer-bottom a:hover{color:#a0a0a0;}

@media(max-width:960px){.footer-top{grid-template-columns:1fr 1fr;gap:28px;}}
@media(max-width:540px){.footer-top{grid-template-columns:1fr;}.footer-inner{padding:0 20px;}.footer-newsletter-row{flex-direction:column;align-items:flex-start;}}

/* ===== SEARCH MODAL ===== */
.search-modal{
  position:fixed;inset:0;z-index:2000;
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:80px;
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
}
.search-modal.open{opacity:1;pointer-events:auto;}
.search-backdrop{
  position:absolute;inset:0;
  background:rgba(23,23,23,0.45);backdrop-filter:blur(8px);
}
.search-inner,.search-box{
  position:relative;z-index:1;
  background:#131313;
  border:1px solid var(--border);border-radius:var(--radius-xl);
  width:min(600px,90vw);padding:14px;
  box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;
}
.search-field-wrap,.search-input-wrap{
  display:flex;align-items:center;gap:12px;padding:8px 12px;
  background:var(--bg-2);border-radius:10px;
  border:1px solid var(--border);
}
.search-input-wrap input{flex:1;background:none;border:none;outline:none;font-size:16px;color:var(--text);font-family:inherit;}
.search-input-wrap input::placeholder{color:var(--text-muted);}
.search-field-wrap svg{color:var(--text-sub);flex-shrink:0;}
.search-field-wrap input{
  flex:1;background:none;border:none;outline:none;
  font-size:16px;color:var(--text);font-family:inherit;
}
.search-field-wrap input::placeholder{color:var(--text-muted);}
.search-close{
  background:none;border:none;cursor:pointer;
  color:var(--text-muted);font-size:20px;padding:4px;
  transition:color var(--t);
}
.search-close:hover{color:var(--text);}
.search-submit{display:none;}

/* ===== CART SIDEBAR ===== */
.cart-sidebar{
  position:fixed;top:0;right:0;bottom:0;
  width:min(400px,100vw);
  background:#111111;
  border-left:1px solid var(--border);
  box-shadow:-8px 0 40px rgba(23,23,23,0.12);
  z-index:1300;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
}
.cart-sidebar.open{transform:translateX(0);}
.cart-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.cart-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--text);}
.cart-close{
  background:var(--bg-2);border:1px solid var(--border);
  color:var(--text-sub);border-radius:8px;
  width:32px;height:32px;cursor:pointer;font-size:15px;
  display:flex;align-items:center;justify-content:center;
  transition:background var(--t),color var(--t);
}
.cart-close:hover{background:rgba(119,119,119,0.08);color:var(--red);}
.cart-body{flex:1;overflow-y:auto;padding:14px;}
.cart-empty{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;height:200px;
  text-align:center;
}
.cart-empty-icon{font-size:44px;opacity:.5;}
.cart-empty p{color:var(--text-sub);font-size:14px;}
.cart-empty-link{color:var(--purple);font-size:13px;font-weight:600;border-bottom:1px solid rgba(124,124,124,0.25);transition:color var(--t);}
.cart-items{display:flex;flex-direction:column;gap:10px;}
.cart-item{
  display:flex;gap:12px;align-items:stretch;
  background:rgba(255,255,255,.02);border:1px solid var(--border);
  border-radius:14px;padding:12px;margin-bottom:10px;
  position:relative;transition:border-color var(--t);
}
.cart-item:hover{border-color:rgba(124,124,124,.3);}
.cart-item-img{
  width:64px;height:80px;border-radius:8px;flex-shrink:0;
  background:#0e0e0e;overflow:hidden;
  display:flex;align-items:center;justify-content:center;font-size:26px;
}
.cart-item-img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;}
.cart-item-info{flex:1;min-width:0;display:flex;flex-direction:column;}
.cart-item-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:3px;padding-right:24px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cart-item-size{font-size:11px;color:var(--text-muted);margin-bottom:auto;}
.cart-item-meta{font-size:11px;color:var(--text-muted);}
.cart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;}
.cart-item-price{font-size:15px;font-weight:800;color:#a0a0a0;white-space:nowrap;}
.cart-qty-wrap{display:flex;align-items:center;gap:0;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.cart-qty-btn{
  width:28px;height:28px;border:none;background:none;color:#d3d3d3;
  font-size:16px;font-weight:700;cursor:pointer;line-height:1;
  display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;font-family:inherit;
}
.cart-qty-btn:hover{background:rgba(124,124,124,.2);color:#fff;}
.cart-qty-val{min-width:30px;text-align:center;font-size:13px;font-weight:700;color:var(--text);}
.cart-item-remove{
  position:absolute;top:8px;right:8px;
  background:none;border:none;cursor:pointer;color:var(--text-muted);
  font-size:14px;line-height:1;width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:all var(--t);
}
.cart-item-remove:hover{color:#999999;background:rgba(121,121,121,.12);}
.cart-footer{
  padding:18px 22px;border-top:1px solid var(--border);
  flex-shrink:0;display:flex;flex-direction:column;gap:8px;
}
.cart-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--text-sub);}
.cart-row-sub{color:var(--text);}
.cart-row-total{font-size:16px;font-weight:800;color:var(--text);padding-top:8px;border-top:1px solid var(--border);}
.cart-promo-row{display:flex;gap:8px;}
.cart-promo-input{
  flex:1;padding:8px 12px;border-radius:8px;
  background:var(--bg-2);border:1px solid var(--border);
  color:var(--text);font-size:13px;font-family:inherit;outline:none;
  transition:border-color var(--t);
}
.cart-promo-input:focus{border-color:rgba(124,124,124,0.35);}
.cart-promo-input::placeholder{color:var(--text-muted);}
.cart-promo-btn{
  padding:8px 14px;border-radius:8px;
  background:var(--bg-2);border:1px solid var(--border);
  color:var(--text-sub);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;
  white-space:nowrap;
  transition:background var(--t),color var(--t),border-color var(--t);
}
.cart-promo-btn:hover{background:rgba(124,124,124,0.07);color:var(--purple);border-color:rgba(124,124,124,0.25);}
.cart-checkout-btn{
  width:100%;padding:13px;border-radius:12px;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  border:none;color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;
  box-shadow:0 4px 16px rgba(124,124,124,0.25);
  transition:transform var(--t),box-shadow var(--t);
}
.cart-checkout-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(124,124,124,0.30);}
.cart-secure-note{text-align:center;font-size:11px;color:var(--text-muted);}

/* ===== CART FOOTER (drawer catalogue/product) ===== */
.cart-promo-wrap{display:flex;gap:8px;margin-bottom:4px;}
.cart-subtotals{display:flex;flex-direction:column;gap:7px;padding:12px 0;border-top:1px solid var(--border);}
.cart-subtotals .cart-row{font-size:13.5px;}
.cart-subtotals .cart-row span:first-child{display:flex;align-items:center;gap:6px;color:var(--text-sub);}
.cart-subtotals .cart-row span:last-child{font-weight:600;color:var(--text);white-space:nowrap;}
.cart-total-row{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:12px 0 14px;border-top:1px solid var(--border);
}
.cart-total-row span:first-child{font-size:14px;font-weight:600;color:var(--text-sub);text-transform:uppercase;letter-spacing:.5px;}
.cart-total-row span:last-child{font-size:22px;font-weight:900;color:var(--text);letter-spacing:-.5px;}
.cart-secure{text-align:center;font-size:11.5px;color:var(--text-muted);margin-top:10px;display:flex;align-items:center;justify-content:center;gap:5px;}

/* ===== TOAST ===== */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);
  background:#1b1b1b;
  border:1px solid rgba(124,124,124,.4);
  border-left:4px solid #7c7c7c;
  border-radius:12px;padding:13px 24px;
  color:#f4f4f4;font-size:14px;font-weight:600;
  box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 20px rgba(124,124,124,.15);
  z-index:3000;
  transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s ease;
  opacity:0;pointer-events:none;
  white-space:nowrap;
}
.toast-message{color:#f4f4f4;}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto;}

/* ===== BACK TO TOP ===== */
.back-to-top{
  position:fixed;bottom:28px;right:28px;
  width:42px;height:42px;border-radius:12px;
  background:#ffffff;
  border:1px solid var(--border);
  color:var(--purple);font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-md);
  transition:transform var(--t),box-shadow var(--t),opacity var(--t);
  opacity:0;pointer-events:none;
  z-index:500;
}
.back-to-top.visible{opacity:1;pointer-events:auto;}
.back-to-top:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}

/* ===== PAGES (catalogue, product, etc.) ===== */
/* Catalogue hero */
.catalogue-hero{
  padding:36px 0 24px;
  background:#ffffff;
  border-bottom:1px solid var(--border);
}
.catalogue-hero-inner{max-width:1440px;margin:0 auto;padding:0 28px;}
.catalogue-hero h1{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(32px,5vw,50px);
  letter-spacing:2px;color:var(--text);margin-bottom:6px;
}
.catalogue-hero h1 span{
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.catalogue-hero p{font-size:14px;color:var(--text-muted);}

/* Filtres */
.catalogue-filters{display:flex;gap:6px;flex-wrap:wrap;padding:18px 0 0;}
.filter-btn{
  padding:6px 14px;border-radius:8px;
  background:#ffffff;
  border:1px solid var(--border);
  color:var(--text-sub);
  font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;
  box-shadow:var(--shadow-sm);
  transition:background .18s,color .18s,border-color .18s,box-shadow .18s;
}
.filter-btn:hover{
  background:rgba(124,124,124,0.05);color:var(--purple);
  border-color:rgba(124,124,124,0.25);
}
.filter-btn.active{
  background:rgba(124,124,124,0.08);color:var(--purple);
  border-color:rgba(124,124,124,0.40);
  box-shadow:0 0 0 3px rgba(124,124,124,0.06);
}

/* Product Page */
.product-page{max-width:1200px;margin:0 auto;padding:40px 28px;}
.product-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.product-gallery{
  background:var(--bg-2);border:1px solid var(--border);
  border-radius:var(--radius-xl);
  padding:36px;aspect-ratio:1;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);
}
.product-gallery img{max-height:380px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(23,23,23,0.10));}
.product-detail{display:flex;flex-direction:column;gap:18px;}
.product-detail-cat{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--purple);}
.product-detail-name{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(26px,4vw,42px);
  letter-spacing:1px;color:var(--text);line-height:1;
}
.product-detail-price{display:flex;align-items:center;gap:12px;}
.product-detail-price .price-current{font-size:26px;font-weight:900;}
.btn-add-cart{
  width:100%;padding:14px;border-radius:12px;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  border:none;color:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;
  box-shadow:0 4px 18px rgba(124,124,124,0.25);
  transition:transform var(--t),box-shadow var(--t);
}
.btn-add-cart:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(124,124,124,0.30);}

/* Cart & Checkout pages */
.page-cart,.page-checkout{max-width:1000px;margin:0 auto;padding:40px 28px;}
.page-title{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(26px,4vw,42px);
  letter-spacing:1px;color:var(--text);margin-bottom:28px;
}
.page-title span{
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.cart-table{
  background:#ffffff;border:1px solid var(--border);
  border-radius:var(--radius-xl);overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.cart-table-head{
  display:grid;grid-template-columns:1fr 80px 80px 60px;
  padding:12px 22px;border-bottom:1px solid var(--border);
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  color:var(--text-muted);background:var(--bg-2);
}
.checkout-form{display:flex;flex-direction:column;gap:14px;}
.form-group{display:flex;flex-direction:column;gap:5px;}
.form-group label{font-size:13px;font-weight:600;color:var(--text-sub);}
.form-group input,.form-group select,.form-group textarea{
  padding:11px 14px;border-radius:9px;
  background:#ffffff;border:1px solid var(--border);
  color:var(--text);font-size:14px;font-family:inherit;outline:none;
  transition:border-color var(--t),box-shadow var(--t);
  box-shadow:var(--shadow-sm);
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:rgba(124,124,124,0.40);
  box-shadow:0 0 0 3px rgba(124,124,124,0.07);
}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);}
.form-group select option{background:#ffffff;color:var(--text);}
.btn-checkout{
  padding:14px;border-radius:12px;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  border:none;color:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;
  box-shadow:0 4px 18px rgba(124,124,124,0.25);
  transition:transform var(--t),box-shadow var(--t);
}
.btn-checkout:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(124,124,124,0.30);}

/* Login / Account */
.auth-wrap{max-width:420px;margin:72px auto;padding:0 28px;}
.auth-card{
  background:#ffffff;border:1px solid var(--border);
  border-radius:var(--radius-xl);padding:36px;
  box-shadow:var(--shadow-lg);
}
.auth-title{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:1px;color:var(--text);margin-bottom:6px;}
.auth-sub{font-size:14px;color:var(--text-sub);margin-bottom:24px;}
.btn-auth{
  width:100%;padding:13px;border-radius:12px;
  background:linear-gradient(135deg,var(--purple),var(--cyan));
  border:none;color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;
  box-shadow:0 4px 16px rgba(124,124,124,0.25);
  transition:transform var(--t),box-shadow var(--t);
}
.btn-auth:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(124,124,124,0.30);}

/* Legal pages */
.legal-page{max-width:740px;margin:0 auto;padding:56px 28px;}
.legal-page h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(26px,4vw,42px);letter-spacing:1px;color:var(--text);margin-bottom:20px;}
.legal-page h2{font-size:17px;font-weight:700;color:var(--text);margin:28px 0 10px;}
.legal-page p,.legal-page li{font-size:14px;color:var(--text-sub);line-height:1.8;}
.legal-page ul{padding-left:20px;list-style:disc;}
.legal-page a{color:var(--purple);text-decoration:underline;}

/* Contact page */
.contact-page{max-width:580px;margin:0 auto;padding:56px 28px;}
.contact-card{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-xl);padding:36px;box-shadow:var(--shadow-md);}

/* ===== RIPPLE ===== */
.btn-ripple{overflow:hidden;position:relative;}
.ripple-effect{
  position:absolute;border-radius:50%;
  background:rgba(255,255,255,0.25);
  animation:ripple-out .6s ease-out forwards;
  pointer-events:none;
}
@keyframes ripple-out{0%{opacity:.5;transform:scale(0);}100%{opacity:0;transform:scale(1);}}

/* ===== RESPONSIVE ===== */
@media(max-width:1200px){
  .hero-v2-inner{grid-template-columns:1fr 360px;gap:48px;}
  .collections-grid{grid-template-columns:repeat(3,1fr);}
  .mystery-grid{grid-template-columns:1fr;max-width:680px;margin:0 auto;}
  .mystery-card{grid-template-columns:190px 1fr;gap:24px;}
  .footer-top{grid-template-columns:1fr 1fr 1fr 1fr;gap:24px;}
}
@media(max-width:960px){
  .hero-v2-inner{grid-template-columns:1fr;gap:48px;}
  .hero-video-deck{display:none;}
  .trust-inner{grid-template-columns:repeat(2,1fr);}
  .trust-item:nth-child(2){border-right:none;}
  .trust-item:nth-child(3){border-right:1px solid var(--border);}
  .trust-item:nth-child(4){border-right:none;}
  .header-nav{display:none;}
  .hamburger{display:flex;}
  .account-label{display:none;}
  .promo-v2-inner{grid-template-columns:1fr;text-align:center;}
  .promo-v2-sep{display:none;}
  .promo-v2-right{margin:0 auto;}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px;}
  .footer-newsletter-row{grid-template-columns:1fr;text-align:center;}
  .fn-form{justify-content:center;}
  .reviews-rating-bar{grid-template-columns:1fr;text-align:center;}
  .product-page-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .hero-v2{min-height:auto;padding:60px 0;}
  .hero-v2-inner{padding:0 20px;}
  .hero-v2-title{font-size:clamp(44px,11vw,72px);}
  .hero-v2-stats{flex-direction:column;gap:8px;width:100%;}
  .hero-v2-sep{display:none;}
  .hero-v2-stat{padding:8px 0;}
  .hero-v2-ctas{flex-direction:column;}
  .hero-v2-cta-main,.hero-v2-cta-sec{justify-content:center;text-align:center;}
  .trust-inner{grid-template-columns:1fr;}
  .trust-item{border-right:none;border-bottom:1px solid var(--border);padding:14px 18px;}
  .trust-item:last-child{border-bottom:none;}
  .collections-grid{grid-template-columns:repeat(2,1fr);}
  .mystery-card{grid-template-columns:1fr;text-align:center;}
  .mystery-box-wrap{padding:16px 0;}
  .products-grid{grid-template-columns:repeat(2,1fr);}
  .faq-grid{grid-template-columns:1fr;}
  .newsletter-form{flex-direction:column;}
  .footer-top{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .reviews-grid{grid-template-columns:1fr;}
  .top-bar-promo{font-size:11.5px;gap:6px;}
  .section-inner{padding:0 16px;}
}
@media(max-width:420px){
  .collections-grid{grid-template-columns:1fr 1fr;}
  .products-grid{grid-template-columns:1fr 1fr;}
  .hero-v2-stats{width:100%;}
}

/* ============================================
   MOBILE PERFECT — tous écrans ≤ 768px
   ============================================ */
@media(max-width:768px){

  /* ── HEADER ── */
  .main-header{padding:0 14px;}
  .header-inner{height:56px;gap:8px;}
  .header-logo img{height:34px;}
  .header-actions{gap:6px;}
  .hbtn{padding:7px;min-width:36px;min-height:36px;}
  #logoutBtn{padding:5px 9px;font-size:11px;gap:4px;}
  #logoutBtn svg{width:11px;height:11px;}
  .account-btn{padding:6px 8px;gap:6px;min-height:36px;}
  .cart-badge{min-width:16px;height:16px;font-size:9px;top:-4px;right:-4px;}

  /* ── TOP BAR ── */
  .top-bar-promo{font-size:10px;gap:8px;padding:0 8px;flex-wrap:nowrap;overflow:hidden;}
  .top-bar-promo span{white-space:nowrap;}

  /* ── MOBILE NAV ── */
  .mobile-nav{width:88vw;}
  .mobile-nav-links a{padding:13px 20px;font-size:15px;}
  .mobile-login-btn{font-size:15px;padding:14px 20px;}

  /* ── CART SIDEBAR ── */
  .cart-sidebar{width:100vw;right:0;border-radius:0;}
  .cart-header{padding:16px 18px;}
  .cart-items{padding:0 14px;}
  .cart-footer{padding:14px 18px 28px;}
  .cart-item{padding:12px 0;gap:10px;}
  .cart-item-img{width:52px;height:52px;border-radius:8px;}
  .cart-item-name{font-size:13px;}
  .cart-item-size{font-size:11px;}
  .cart-item-price{font-size:13px;}
  .cart-qty-btn{width:28px;height:28px;font-size:15px;}
  .cart-qty-val{font-size:14px;min-width:22px;}
  .cart-checkout-btn{padding:15px;font-size:14px;border-radius:12px;}

  /* ── CATALOGUE FILTRES ── */
  .cat-filters{gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .cat-filters::-webkit-scrollbar{display:none;}
  .cat-filter-btn{white-space:nowrap;padding:8px 14px;font-size:12px;flex-shrink:0;}
  .cat-sort-row{flex-wrap:wrap;gap:8px;}
  .cat-sort-select,.cat-price-select{font-size:12px;padding:7px 10px;}
  .cat-results-count{font-size:12px;}

  /* ── CATALOGUE GRILLE ── */
  #catalogueGrid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .product-card{border-radius:12px;}
  .product-img-wrap{border-radius:12px 12px 0 0;}
  .product-info{padding:10px 10px 12px;}
  .product-name{font-size:12px;line-height:1.3;}
  .product-cat{font-size:9px;}
  .product-sizes{gap:4px;flex-wrap:wrap;}
  .size-dot{width:22px;height:22px;font-size:10px;}
  .price-current{font-size:14px;}
  .price-old{font-size:11px;}
  .product-quick-add{font-size:11px;padding:9px 6px;border-radius:0 0 12px 12px;}

  /* ── PRODUCT PAGE ── */
  .product-page-inner{padding:16px;}
  .product-gallery{border-radius:14px;}
  .product-info-box{padding:20px 16px;}
  .product-title{font-size:20px;}
  .product-price-main{font-size:24px;}
  .product-sizes-grid{gap:8px;}
  .product-size-btn{padding:10px 8px;font-size:13px;min-height:44px;}
  .product-add-btn{padding:15px;font-size:14px;min-height:52px;border-radius:14px;}
  .product-tabs{gap:0;overflow-x:auto;flex-wrap:nowrap;}
  .product-tab{white-space:nowrap;padding:10px 14px;font-size:12px;flex-shrink:0;}

  /* ── PANIER PAGE ── */
  .panier-layout{grid-template-columns:1fr;}
  .panier-items{gap:10px;}
  .panier-item{padding:14px;gap:10px;border-radius:12px;}
  .panier-item-img{width:64px;height:64px;border-radius:8px;}
  .panier-item-name{font-size:14px;}
  .panier-summary{padding:18px;border-radius:14px;}
  .panier-checkout-btn{padding:16px;font-size:14px;min-height:52px;}

  /* ── CHECKOUT ── */
  .co-body{padding:0 14px 60px;}
  .co-steps{padding:16px 14px;gap:4px;}
  .co-step-num{width:26px;height:26px;font-size:11px;}
  .co-step-label{font-size:10px;}
  .co-sep{width:18px;}
  .co-box{padding:18px 14px;border-radius:14px;margin-bottom:14px;}
  .co-box h3{font-size:12px;margin-bottom:14px;}
  .co-form-grid{grid-template-columns:1fr;}
  .co-form-group input,.co-form-group select{padding:13px 12px;font-size:16px;border-radius:10px;}
  .co-layout{grid-template-columns:1fr;}
  .co-summary{position:static;border-radius:14px;padding:16px;}
  .co-btn{padding:16px;font-size:14px;min-height:52px;border-radius:12px;}
  .co-confirm{padding:40px 16px;}
  .co-confirm-icon{font-size:56px;}
  .co-confirm h2{font-size:20px;}
  .pay-opt{padding:12px 14px;border-radius:10px;}

  /* ── LOGIN / INSCRIPTION ── */
  .login-page{padding:16px;align-items:flex-start;padding-top:40px;}
  .login-card{padding:28px 20px 24px;border-radius:18px;}
  .login-logo img{width:46px;height:46px;}
  .login-logo-name{font-size:17px;}
  .login-tab{padding:10px 8px;font-size:12px;}
  .login-form-group input{padding:14px 14px;font-size:16px;border-radius:10px;}
  .login-submit{padding:15px;font-size:14px;min-height:50px;border-radius:10px;}

  /* ── ACCOUNT PANEL ── */
  .account-panel .ap-sheet{width:100vw;height:100vh;border-radius:0;}
  .ap-header{padding:18px 16px;}
  .ap-tabs{gap:0;}
  .ap-tab{padding:11px 8px;font-size:12px;}
  .ap-body{padding:16px;}
  .ap-info-card{border-radius:12px;}
  .ap-info-row{padding:10px 14px;font-size:13px;}
  .ap-logout-btn{min-height:48px;font-size:14px;}

  /* ── AVIS / REVIEWS ── */
  .reviews-grid{grid-template-columns:1fr;}
  .review-card,.review-featured{padding:16px;}
  .review-card img,.review-featured img{height:170px;}
  .rbar-row{font-size:11px;}
  .rbar-track{height:9px;}

  /* ── FAQ ── */
  .faq-q{font-size:13px;padding:14px 16px;}
  .faq-a p{font-size:13px;padding:0 16px 14px;}

  /* ── SECTION HEADERS ── */
  .section-title{font-size:clamp(22px,6vw,36px);}
  .section-sub{font-size:13px;}

  /* ── FOOTER ── */
  .footer-top{padding:40px 16px 0;}
  .footer-col-title{font-size:13px;}
  .footer-bottom{padding:16px;}
  .footer-bottom-copy{font-size:11px;}

  /* ── TOAST ── */
  .toast{right:12px;left:12px;bottom:20px;max-width:none;font-size:13px;padding:12px 16px;}

  /* ── SEARCH MODAL ── */
  .search-modal{padding:20px 14px;}
  .search-inner input{font-size:16px;padding:14px 16px;}

  /* ── TOUCH TARGETS ── */
  button,a,.hbtn{-webkit-tap-highlight-color:transparent;}
  input,select,textarea{font-size:16px !important;} /* évite le zoom iOS */
}

/* ── Très petits écrans ≤ 360px ── */
@media(max-width:360px){
  #catalogueGrid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .product-name{font-size:11px;}
  .price-current{font-size:13px;}
  .product-quick-add{font-size:10px;}
  .co-form-grid{grid-template-columns:1fr;}
  .login-card{padding:24px 14px 20px;}
  .header-inner{height:52px;}
}

/* ════════════════════════════════════════════════════════════════
   ✨ PREMIUM ENHANCEMENTS — esthétique & animations (v60+)
   FOUC-safe : tout le "hidden" est soit gated @supports, soit
   sous une classe ajoutée par JS. prefers-reduced-motion respecté.
   ════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   1. SCROLL REVEAL — CSS pur via scroll-driven anim
   (Chrome/Edge/Firefox récents ; Safari → contenu normal)
   Utilise les propriétés indépendantes translate/scale
   pour ne JAMAIS entrer en conflit avec transform:hover.
   ───────────────────────────────────────────── */
@keyframes mp-reveal-up   { from{opacity:0; translate:0 42px;}  to{opacity:1; translate:0 0;} }
@keyframes mp-reveal-zoom { from{opacity:0; scale:.92;}         to{opacity:1; scale:1;} }

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .section-header,
    .cats-grid > *, .reviews-grid > *,
    .trust-band .trust-item,
    .feature-row, .value-card,
    .home-row .product-card,
    .wc-card, .mystery-section .mystery-card,
    .footer-col {
      animation: mp-reveal-up linear both;
      animation-timeline: view();
      animation-range: entry 2% entry 32%;
    }
    .product-grid .product-card,
    #catalogueGrid .product-card {
      animation: mp-reveal-zoom linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 26%;
    }
  }
}

/* ─────────────────────────────────────────────
   2. CATALOGUE STAGGER (fallback JS, FOUC-safe :
   le "hidden" est sous .catalogue-grid-anim ajouté par JS)
   ───────────────────────────────────────────── */
@supports not (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .catalogue-grid-anim .product-card{
      opacity:0; translate:0 28px;
      transition:opacity .55s var(--ease), translate .55s var(--ease);
    }
    .catalogue-grid-anim .product-card.card-visible{ opacity:1; translate:0 0; }
  }
}

/* ─────────────────────────────────────────────
   3. HERO — entrée séquencée au chargement (partout)
   ───────────────────────────────────────────── */
@keyframes mp-hero-in{ from{opacity:0; translate:0 26px;} to{opacity:1; translate:0 0;} }
@media (prefers-reduced-motion: no-preference){
  .hero-v2-left > *{ opacity:0; animation:mp-hero-in .7s var(--ease) forwards; }
  .hero-v2-left > *:nth-child(1){ animation-delay:.05s; }
  .hero-v2-left > *:nth-child(2){ animation-delay:.15s; }
  .hero-v2-left > *:nth-child(3){ animation-delay:.25s; }
  .hero-v2-left > *:nth-child(4){ animation-delay:.35s; }
  .hero-v2-left > *:nth-child(5){ animation-delay:.45s; }
  .hero-v2-left > *:nth-child(6){ animation-delay:.55s; }
  .hero-video-deck{ opacity:0; animation:mp-hero-in .9s var(--ease) .35s forwards; }
}

/* Titre hero : dégradé plus riche + halo */
.hero-v2-title span{
  background:linear-gradient(110deg,#a0a0a0 0%,#9a9a9a 30%,#c9c9c9 55%,#9a9a9a 75%,#a0a0a0 100%);
  background-size:250% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  filter:drop-shadow(0 0 18px rgba(124,124,124,.30));
}

/* Halos flottants décoratifs derrière le hero */
.hero-v2::before{
  display:block !important;
  content:''; position:absolute; z-index:0; pointer-events:none;
  width:46vw; height:46vw; max-width:640px; max-height:640px;
  top:-14%; right:-8%;
  background:radial-gradient(circle, rgba(124,124,124,.22) 0%, transparent 62%);
  filter:blur(20px);
  animation:mp-orb 16s ease-in-out infinite;
}
@keyframes mp-orb{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(-4%,5%) scale(1.12); }
}
@media (prefers-reduced-motion: reduce){ .hero-v2::before{ animation:none; } }

/* ─────────────────────────────────────────────
   4. BOUTONS — balayage lumineux au survol (shine)
   ───────────────────────────────────────────── */
.hero-v2-cta-main, .cart-checkout-btn, .product-quick-add,
.btn, .btn-primary, .co-btn, .checkout-btn{
  position:relative; overflow:hidden; isolation:isolate;
}
.hero-v2-cta-main::after, .cart-checkout-btn::after, .product-quick-add::after,
.btn::after, .btn-primary::after, .co-btn::after, .checkout-btn::after{
  content:''; position:absolute; top:0; left:-120%; width:80%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.38), transparent);
  transform:skewX(-18deg); pointer-events:none; z-index:1;
  transition:left .6s var(--ease);
}
.hero-v2-cta-main:hover::after, .cart-checkout-btn:hover::after, .product-quick-add:hover::after,
.btn:hover::after, .btn-primary:hover::after, .co-btn:hover::after, .checkout-btn:hover::after{
  left:130%;
}
.hero-v2-cta-main:active, .cart-checkout-btn:active{ transform:translateY(0) scale(.98); }

/* ─────────────────────────────────────────────
   5. CARTES PRODUITS — glow néon premium au survol
   ───────────────────────────────────────────── */
.product-card{ position:relative; }
.product-card::before{
  content:''; position:absolute; inset:0; border-radius:inherit; z-index:2;
  padding:1px; pointer-events:none; opacity:0;
  background:linear-gradient(135deg, rgba(160,160,160,.9), rgba(154,154,154,.55), transparent 60%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  transition:opacity .35s var(--ease);
}
.product-card:hover{
  transform:translateY(-7px);
  border-color:rgba(124,124,124,.45);
  box-shadow:0 22px 48px rgba(9,9,9,.55), 0 0 0 1px rgba(124,124,124,.12), 0 8px 22px rgba(124,124,124,.22);
}
.product-card:hover::before{ opacity:1; }
.product-card:hover .product-jersey{ transform:translate(-50%,-55%) scale(1.08) rotate(-1deg); }

/* Badge promo : pulse subtil */
.badge-sale{ animation:mp-badge 2.4s ease-in-out infinite; }
@keyframes mp-badge{ 0%,100%{ box-shadow:0 0 0 0 rgba(119,119,119,.5);} 50%{ box-shadow:0 0 0 6px rgba(119,119,119,0);} }
@media (prefers-reduced-motion: reduce){ .badge-sale{ animation:none; } }

/* ─────────────────────────────────────────────
   6. TITRES DE SECTION — dégradé qui ondule
   ───────────────────────────────────────────── */
.section-title span{
  background:linear-gradient(110deg,var(--purple),var(--cyan),#c9c9c9,var(--cyan),var(--purple));
  background-size:220% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:mp-title-flow 6s linear infinite;
}
@keyframes mp-title-flow{ to{ background-position:220% center; } }
@media (prefers-reduced-motion: reduce){ .section-title span{ animation:none; } }

/* ─────────────────────────────────────────────
   7. LIENS DE NAV — soulignement animé
   ───────────────────────────────────────────── */
.hnav-item > a{ position:relative; }
.hnav-item > a::after{
  content:''; position:absolute; left:12px; right:12px; bottom:6px; height:2px;
  background:linear-gradient(90deg,var(--purple),var(--cyan));
  border-radius:2px; transform:scaleX(0); transform-origin:left;
  transition:transform .3s var(--ease);
}
.hnav-item:hover > a::after{ transform:scaleX(1); }

/* ─────────────────────────────────────────────
   8. ACCESSIBILITÉ — focus visible élégant
   ───────────────────────────────────────────── */
:focus-visible{ outline:2px solid var(--purple); outline-offset:2px; border-radius:4px; }
*:focus:not(:focus-visible){ outline:none; }

/* ─────────────────────────────────────────────
   9. IMAGES — fondu doux au chargement
   ───────────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference){
  .product-jersey, .cat-card img, .club-badge img{
    animation:mp-img-fade .5s var(--ease) both;
  }
}
@keyframes mp-img-fade{ from{opacity:0;} to{opacity:1;} }

/* ─────────────────────────────────────────────
   10. Sélection de texte aux couleurs de la marque
   ───────────────────────────────────────────── */
::selection{ background:rgba(124,124,124,.35); color:#fff; }

/* ════════════════════════════════════════════════════════════════
   🏆 TEMPLATE V2 — refonte esthétique globale (v62)
   Atmosphère · Header glass · Sections aérées · Footer premium
   100% CSS, appliqué à toutes les pages. Override de l'existant.
   ════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   ATMOSPHÈRE — aurore animée en fond (fixe)
   ───────────────────────────────────────────── */
body::before{
  content:''; position:fixed; inset:-20%; z-index:0; pointer-events:none;
  background:
    radial-gradient(38% 34% at 16% 20%, rgba(124,124,124,.18), transparent 60%),
    radial-gradient(34% 30% at 84% 28%, rgba(122,122,122,.14), transparent 60%),
    radial-gradient(44% 40% at 62% 88%, rgba(160,160,160,.12), transparent 62%),
    radial-gradient(30% 28% at 40% 60%, rgba(154,154,154,.08), transparent 60%);
  animation:mp-aurora 26s ease-in-out infinite alternate;
}
@keyframes mp-aurora{
  0%  { transform:translate3d(-2%,-1%,0) scale(1);   }
  100%{ transform:translate3d(3%,2.5%,0)  scale(1.1); }
}
@media (prefers-reduced-motion: reduce){ body::before{ animation:none; } }

/* ─────────────────────────────────────────────
   HEADER — verre dépoli premium + filet lumineux
   ───────────────────────────────────────────── */
.header{
  background:rgba(9,9,9,.66);
  backdrop-filter:blur(24px) saturate(150%);
  -webkit-backdrop-filter:blur(24px) saturate(150%);
  border-bottom:1px solid rgba(124,124,124,.12);
}
.header::after{
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(124,124,124,.55) 30%,rgba(154,154,154,.55) 70%,transparent);
  opacity:.6;
}
.header.scrolled{
  background:rgba(9,9,9,.9);
  box-shadow:0 10px 40px rgba(0,0,0,.45), 0 1px 0 rgba(124,124,124,.08);
}
.header-inner{ height:72px; }
/* Nav : pastille douce au survol (en plus du soulignement) */
.hnav-item > a{
  padding:9px 13px; border-radius:10px;
  transition:background .2s var(--ease), color .2s var(--ease);
}
.hnav-item:hover > a{ background:rgba(124,124,124,.10); color:#fff; }

/* ─────────────────────────────────────────────
   SECTIONS — rythme plus aéré + en-tête élégant
   ───────────────────────────────────────────── */
.section{ padding:96px 0; }
.section-header{ margin-bottom:60px; }
.section-label{
  background:linear-gradient(135deg, rgba(124,124,124,.16), rgba(122,122,122,.10));
  border:1px solid rgba(124,124,124,.30);
  box-shadow:0 2px 16px rgba(124,124,124,.10);
  backdrop-filter:blur(6px);
}
.section-title{
  font-size:clamp(40px,5.6vw,62px);
  letter-spacing:1.5px;
  text-shadow:0 2px 30px rgba(124,124,124,.12);
}
/* Petit trait dégradé décoratif sous chaque en-tête de section */
.section-header::after{
  content:''; display:block; width:60px; height:3px; margin:20px auto 0;
  border-radius:3px;
  background:linear-gradient(90deg,var(--purple),var(--cyan));
  box-shadow:0 0 14px rgba(124,124,124,.5);
}
.section-sub{ font-size:16px; max-width:540px; color:var(--text-sub); }

/* Fonds de sections plus profonds (dégradé au lieu de plat) */
.section-alt{ background:linear-gradient(180deg,#0d0d0d 0%,#111111 100%); }
.section-bestsellers{ background:linear-gradient(180deg,#0b0b0b 0%,#0f0f0f 100%); }

/* ─────────────────────────────────────────────
   SURFACES — cartes produits légèrement vitrées (plus de relief)
   ───────────────────────────────────────────── */
.product-card{
  background:linear-gradient(180deg,#151515 0%,#111111 100%);
  border:1px solid rgba(124,124,124,.14);
}

/* ─────────────────────────────────────────────
   BOUTONS CTA — rayon & lueur unifiés (premium)
   ───────────────────────────────────────────── */
.hero-v2-cta-main{
  padding:15px 30px; border-radius:14px; font-size:15.5px;
  box-shadow:0 6px 26px rgba(98,98,98,.45), inset 0 1px 0 rgba(255,255,255,.18);
}
.hero-v2-cta-main:hover{ box-shadow:0 12px 38px rgba(98,98,98,.55); }
.hero-v2-cta-sec{ border-radius:14px; backdrop-filter:blur(8px); }

/* ─────────────────────────────────────────────
   FOOTER — premium, accent dégradé + finitions
   ───────────────────────────────────────────── */
.footer{
  background:linear-gradient(180deg,#0a0a0a 0%,#070707 100%);
  border-top:1px solid rgba(124,124,124,.14);
  position:relative;
}
.footer::before{
  content:''; position:absolute; top:-1px; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,rgba(124,124,124,.6),rgba(154,154,154,.6),transparent);
  opacity:.7;
}
.footer-links h4{
  position:relative; padding-bottom:10px; margin-bottom:6px;
}
.footer-links h4::after{
  content:''; position:absolute; left:0; bottom:0; width:24px; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--purple),var(--cyan));
}
.footer-links a{ transition:color .2s var(--ease), padding-left .2s var(--ease), transform .2s; }
.footer-social a{ transition:background .2s, border-color .2s, transform .2s, box-shadow .2s; }
.footer-social a:hover{ box-shadow:0 6px 18px rgba(124,124,124,.3); }

/* ─────────────────────────────────────────────
   NEWSLETTER (footer row) — surface vitrée
   ───────────────────────────────────────────── */
.footer-newsletter-row{
  background:linear-gradient(135deg, rgba(124,124,124,.12), rgba(122,122,122,.06));
  border:1px solid rgba(124,124,124,.22);
  border-radius:18px; backdrop-filter:blur(8px);
}

/* ─────────────────────────────────────────────
   RESPONSIVE — rythme réduit sur mobile
   ───────────────────────────────────────────── */
@media (max-width:768px){
  .section{ padding:60px 0; }
  .section-header{ margin-bottom:40px; }
  .section-title{ font-size:clamp(30px,8vw,44px); }
  .header-inner{ height:58px; }
}

/* ════════════════════════════════════════════════════════════════
   🔥 HERO STYLÉ — refonte visuelle de l'accueil (v64)
   Titre massif · fond étalonné · badge sticker · CTAs qui claquent
   ════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   FOND HERO — étalonnage branché + vignette
   (l'image stade/jungle devient cohérente & premium)
   ───────────────────────────────────────────── */
.hero-v2{ min-height:92vh; }
.hero-v2::after{
  background-image:
    radial-gradient(130% 100% at 78% 35%, transparent 28%, rgba(6,6,6,.78) 100%),
    linear-gradient(110deg, rgba(7,7,7,.95) 0%, rgba(20,20,20,.66) 40%, rgba(34,34,34,.48) 66%, rgba(7,7,7,.9) 100%),
    url('../images/hero-bg.jpg.png');
  background-size:cover, cover, cover;
  background-position:center, center, center;
  background-blend-mode:normal, multiply, normal;
}
/* ─────────────────────────────────────────────
   TITRE — massif, serré, néon
   ───────────────────────────────────────────── */
.hero-v2-title{
  font-size:clamp(60px,9vw,124px);
  line-height:.9;
  letter-spacing:1px;
  text-shadow:0 0 38px rgba(98,98,98,.45), 0 4px 30px rgba(0,0,0,.6);
}
.hero-v2-title span{
  filter:drop-shadow(0 0 26px rgba(124,124,124,.5)) !important;
}

/* ─────────────────────────────────────────────
   BADGE — sticker légèrement incliné + lueur
   ───────────────────────────────────────────── */
.hero-v2-badge{
  transform:rotate(-1.5deg);
  padding:8px 18px; font-size:12.5px; letter-spacing:1.5px;
  background:linear-gradient(135deg,#626262,#7a7a7a);
  box-shadow:0 8px 26px rgba(98,98,98,.5), inset 0 1px 0 rgba(255,255,255,.25);
  border:1px solid rgba(255,255,255,.18);
}

/* Bandeau social proof — plus net & vitré */
.hero-social-proof{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 8px 30px rgba(0,0,0,.25);
}

/* ─────────────────────────────────────────────
   SOUS-TITRE — plus lisible
   ───────────────────────────────────────────── */
.hero-v2-sub{
  font-size:17px; line-height:1.75; color:rgba(255,255,255,.92);
  max-width:440px;
}

/* ─────────────────────────────────────────────
   CARTE STATS — verre + bordure dégradée animée
   ───────────────────────────────────────────── */
.hero-v2-stats{
  position:relative;
  background:rgba(10,10,10,.45);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 16px 40px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(16px) saturate(140%);
}
.hero-v2-stats::before{
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none;
  background:linear-gradient(120deg, rgba(160,160,160,.7), rgba(154,154,154,.3), transparent 60%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}
.hero-v2-stat strong{ font-size:30px; letter-spacing:.5px; color:#fff; }

/* ─────────────────────────────────────────────
   CTAs — plus gros, plus bold, plus de lueur
   ───────────────────────────────────────────── */
.hero-v2-ctas{ gap:14px; margin-top:6px; }
.hero-v2-cta-main{
  padding:17px 34px; font-size:16px; font-weight:900;
  letter-spacing:.4px; border-radius:14px;
  background:linear-gradient(135deg,#7c7c7c,#515151 55%,#606060);
  box-shadow:0 10px 34px rgba(98,98,98,.55), inset 0 1px 0 rgba(255,255,255,.25);
}
.hero-v2-cta-main:hover{ transform:translateY(-3px) scale(1.02); box-shadow:0 16px 46px rgba(98,98,98,.65); }
.hero-v2-cta-sec{
  padding:17px 30px; font-size:15.5px; font-weight:800; border-radius:14px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(160,160,160,.45);
  backdrop-filter:blur(10px);
}
.hero-v2-cta-sec:hover{ transform:translateY(-3px); background:rgba(160,160,160,.16); border-color:rgba(160,160,160,.7); }

/* ─────────────────────────────────────────────
   DECK DE CARTES (droite) — ombre & relief premium
   ───────────────────────────────────────────── */
.hero-video-deck .vdeck-card,
.hero-video-deck img{ }
.hero-video-deck{ filter:drop-shadow(0 30px 60px rgba(0,0,0,.55)); }

/* ─────────────────────────────────────────────
   MOBILE — on garde l'impact mais on respire
   ───────────────────────────────────────────── */
@media (max-width:768px){
  .hero-v2{ min-height:auto; }
  .hero-v2-title{ font-size:clamp(46px,13vw,72px); }
  .hero-v2-sub{ font-size:15px; }
  .hero-v2-cta-main, .hero-v2-cta-sec{ padding:15px 22px; font-size:14.5px; }
}

/* ════════════════════════════════════════════════════════════════
   🆕 HERO X — refonte complète de l'accueil (v65)
   Layout neuf : contenu bold à gauche, showcase deck + stickers à droite
   Fond branché propre (gradient + spotlight), zéro photo chargée.
   ════════════════════════════════════════════════════════════════ */
.hero-x{
  position:relative; overflow:hidden;
  min-height:90vh; display:flex; align-items:center;
  padding:96px 0 72px;
  background:linear-gradient(180deg,#080808 0%,#0c0c0c 55%,#080808 100%);
}
.hx-spot{
  position:absolute; z-index:0; pointer-events:none;
  width:760px; height:760px; right:-6%; top:50%; transform:translateY(-50%);
  background:radial-gradient(circle, rgba(98,98,98,.30) 0%, rgba(122,122,122,.10) 42%, transparent 68%);
}
.hx-inner{
  position:relative; z-index:1;
  max-width:1320px; margin:0 auto; padding:0 32px; width:100%;
  display:grid; grid-template-columns:1.02fr .98fr; gap:48px; align-items:center;
}
.hx-content{ display:flex; flex-direction:column; gap:22px; max-width:600px; }

/* Kicker live */
.hx-kicker{
  display:inline-flex; align-items:center; gap:9px; width:fit-content;
  padding:8px 16px; border-radius:40px; font-size:13px; color:rgba(255,255,255,.85);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(8px);
}
.hx-kicker strong{ color:#fff; }
.hx-live{
  width:8px; height:8px; border-radius:50%; background:#a7a7a7; flex-shrink:0;
  animation:hx-ping 1.8s ease-out infinite;
}
@keyframes hx-ping{ 0%{box-shadow:0 0 0 0 rgba(167,167,167,.55);} 70%,100%{box-shadow:0 0 0 7px rgba(167,167,167,0);} }

/* Titre massif */
.hx-title{
  font-family:'Orbitron','Bebas Neue',sans-serif;
  font-size:clamp(52px,7.4vw,104px); line-height:.92; letter-spacing:1px;
  color:#fff; text-shadow:0 0 40px rgba(98,98,98,.35), 0 4px 26px rgba(0,0,0,.55);
}
.hx-grad{
  background:linear-gradient(110deg,#a0a0a0 0%,#9a9a9a 35%,#c9c9c9 60%,#a0a0a0 100%);
  background-size:240% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  filter:drop-shadow(0 0 24px rgba(124,124,124,.45));
  animation:mp-title-flow 6s linear infinite;
}
.hx-sub{ font-size:17px; line-height:1.7; color:rgba(255,255,255,.82); max-width:480px; }

/* CTAs */
.hx-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-top:4px; }
.hx-btn-main{
  display:inline-flex; align-items:center; gap:10px;
  padding:17px 32px; border-radius:14px; font-weight:900; font-size:16px; color:#fff;
  background:linear-gradient(135deg,#7c7c7c,#515151 55%,#606060);
  box-shadow:0 12px 36px rgba(98,98,98,.5), inset 0 1px 0 rgba(255,255,255,.25);
  position:relative; overflow:hidden; isolation:isolate;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease);
}
.hx-btn-main .hx-arrow{ transition:transform .25s var(--ease); font-size:18px; }
.hx-btn-main:hover{ transform:translateY(-3px) scale(1.02); box-shadow:0 18px 48px rgba(98,98,98,.62); }
.hx-btn-main:hover .hx-arrow{ transform:translateX(5px); }
.hx-btn-ghost{
  display:inline-flex; align-items:center; gap:8px;
  padding:17px 26px; border-radius:14px; font-weight:800; font-size:15px; color:#fff;
  background:rgba(255,255,255,.06); border:1px solid rgba(160,160,160,.4); backdrop-filter:blur(8px);
  transition:transform .2s var(--ease), background .2s, border-color .2s;
}
.hx-btn-ghost:hover{ transform:translateY(-3px); background:rgba(160,160,160,.16); border-color:rgba(160,160,160,.7); }

/* Bandeau confiance */
.hx-trust{ display:flex; gap:0; margin-top:8px; flex-wrap:wrap; }
.hx-trust-i{ display:flex; flex-direction:column; gap:2px; padding:0 22px; border-right:1px solid rgba(255,255,255,.12); }
.hx-trust-i:first-child{ padding-left:0; }
.hx-trust-i:last-child{ border-right:none; }
.hx-trust-i strong{ font-size:15px; color:#fff; font-weight:800; white-space:nowrap; }
.hx-trust-i span{ font-size:12px; color:rgba(255,255,255,.55); }

/* Showcase (deck + stickers) */
.hx-showcase{ position:relative; display:flex; align-items:center; justify-content:center; min-height:540px; }
.hx-showcase .hero-video-deck{ width:400px; }
.hx-sticker{
  position:absolute; z-index:6; font-weight:900; font-size:14px; color:#fff;
  padding:9px 15px; border-radius:12px; white-space:nowrap;
  box-shadow:0 12px 30px rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.2);
  animation:hx-float 5s ease-in-out infinite;
}
.hx-sticker-1{ top:4%;  left:0;    background:linear-gradient(135deg,#777777,#4b4b4b); transform:rotate(-8deg); font-size:19px; animation-delay:.2s; }
.hx-sticker-2{ bottom:9%; left:-3%; background:linear-gradient(135deg,#626262,#5b5b5b); transform:rotate(6deg);  animation-delay:1s; }
.hx-sticker-3{ top:12%; right:2%;   background:linear-gradient(135deg,#7a7a7a,#808080); transform:rotate(7deg);  animation-delay:1.6s; }
@keyframes hx-float{ 0%,100%{ translate:0 0; } 50%{ translate:0 -10px; } }
@media (prefers-reduced-motion:reduce){ .hx-sticker{ animation:none; } }

/* Entrée séquencée au chargement */
@media (prefers-reduced-motion:no-preference){
  .hx-content > *{ opacity:0; animation:mp-hero-in .7s var(--ease) forwards; }
  .hx-content > *:nth-child(1){ animation-delay:.05s; }
  .hx-content > *:nth-child(2){ animation-delay:.14s; }
  .hx-content > *:nth-child(3){ animation-delay:.23s; }
  .hx-content > *:nth-child(4){ animation-delay:.32s; }
  .hx-content > *:nth-child(5){ animation-delay:.41s; }
  .hx-showcase{ opacity:0; animation:mp-hero-in .9s var(--ease) .3s forwards; }
}

/* Responsive */
@media (max-width:980px){
  .hx-inner{ grid-template-columns:1fr; gap:32px; }
  .hx-showcase{ display:none; }
  .hero-x{ min-height:auto; padding:60px 0 44px; }
}
@media (max-width:768px){
  .hx-title{ font-size:clamp(44px,12vw,72px); }
  .hx-sub{ font-size:15px; }
  .hx-trust-i{ padding:0 14px; }
  .hx-btn-main, .hx-btn-ghost{ padding:15px 22px; font-size:14.5px; }
}

/* ════════════════════════════════════════════════════════════════
   ⬛⬜ THÈME NOIR & BLANC — CLAIR / MINIMALISTE / PRO (v66)
   Override total : fond blanc, texte noir, accents gris.
   Supprime néons, glows, dégradés colorés, aurore, curseur custom.
   ════════════════════════════════════════════════════════════════ */

/* ── 1. PALETTE (remap des variables → conversion automatique) ── */
:root{
  --bg:#ffffff; --bg-2:#f6f6f7; --bg-card:#ffffff; --bg-card-h:#fafafa;
  --text:#0a0a0a; --text-sub:#3d3d3d; --text-muted:#8a8a8a;
  --border:rgba(0,0,0,.10); --border-h:rgba(0,0,0,.30);
  --purple:#0a0a0a; --blue:#0a0a0a; --cyan:#555555; --gold:#0a0a0a; --red:#0a0a0a;
  --purple-glow:rgba(0,0,0,.06); --blue-glow:rgba(0,0,0,.06); --cyan-glow:rgba(0,0,0,.06);
  --red-glow:rgba(0,0,0,.06); --gold-glow:rgba(0,0,0,.06);
  --glow-blue:0 0 0 3px rgba(0,0,0,.08); --glow-cyan:0 0 0 3px rgba(0,0,0,.08); --glow-red:0 0 0 3px rgba(0,0,0,.08);
  --shadow-sm:0 1px 3px rgba(0,0,0,.06); --shadow-md:0 4px 16px rgba(0,0,0,.08); --shadow-lg:0 16px 44px rgba(0,0,0,.12);
  /* alias legacy */
  --navy:#0a0a0a; --navy-dark:#000000; --navy-mid:#222222; --red-dark:#0a0a0a;
  --white:#ffffff; --gold-light:#444444; --gray-light:#f6f6f7; --gray-mid:rgba(0,0,0,.10);
  --gray-text:#6b6b6b; --text-dark:#0a0a0a;
}

/* ── 2. BASE ── */
html,body{ background:#ffffff; color:#0a0a0a; }
body::before{ display:none !important; }          /* aurore supprimée */
::selection{ background:#0a0a0a; color:#fff; }
::-webkit-scrollbar-track{ background:#f0f0f0; }
::-webkit-scrollbar-thumb{ background:#cfcfcf; }
::-webkit-scrollbar-thumb:hover{ background:#0a0a0a; }

/* Curseur custom néon → curseur système propre */
@media (hover:hover) and (pointer:fine){
  *, *::before, *::after{ cursor:auto !important; }
  a, button, [role="button"], [onclick], input[type="submit"], input[type="button"],
  .product-card, .hnav-item > a, .cart-qty-btn, label, select, summary,
  .nav-hamburger, .hx-btn-main, .hx-btn-ghost, .product-wishlist, .product-compare{
    cursor:pointer !important;
  }
  input[type="text"], input[type="email"], input[type="password"], input[type="search"], textarea{
    cursor:text !important;
  }
}

/* ── 3. TOP BAR (bandeau annonce) ── */
.top-bar{ background:#0a0a0a; color:#fff; border-bottom:none; }
.top-bar-promo strong{ color:#fff; text-decoration:underline; text-underline-offset:2px; }
.countdown-badge{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.25); color:#fff; }

/* ── 4. HEADER ── */
.header{
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(16px) saturate(120%); -webkit-backdrop-filter:blur(16px) saturate(120%);
  border-bottom:1px solid rgba(0,0,0,.09);
}
.header::after{ display:none; }
.header.scrolled{ background:#fff; box-shadow:0 1px 0 rgba(0,0,0,.06), 0 8px 28px rgba(0,0,0,.06); }
.header-accent{ display:none; }
.header-logo img{ filter:none !important; box-shadow:none; }
.header-logo:hover img{ filter:none !important; transform:scale(1.04); }
.logo-name{ color:#0a0a0a; }
.logo-accent{ background:none; -webkit-text-fill-color:#8a8a8a; color:#8a8a8a; }
.nav-hamburger:hover{ background:rgba(0,0,0,.05); }
.nav-hamburger span{ background:#0a0a0a; }
.nav-hamburger:hover span{ background:#0a0a0a; }
.hnav-item > a{ color:#1a1a1a; }
.hnav-item:hover > a{ background:rgba(0,0,0,.05); color:#000; }
.hnav-item > a::after{ background:#0a0a0a; }
/* icônes header (recherche, panier, compte) */
.header-actions svg, .header-icon svg{ color:#0a0a0a; stroke:#0a0a0a; }

/* ── 5. HERO (refonte claire) ── */
.hero-x{ background:#ffffff; }
.hx-spot{ display:none; }
.hx-kicker{ background:#f4f4f5; border:1px solid rgba(0,0,0,.10); color:#3d3d3d; backdrop-filter:none; }
.hx-kicker strong{ color:#0a0a0a; }
.hx-live{ background:#0a0a0a; animation:none; }
.hx-title{
  font-family:'Bebas Neue','Inter',sans-serif; font-weight:400;
  color:#0a0a0a; letter-spacing:.5px; text-shadow:none;
}
.hx-grad{
  background:none; -webkit-background-clip:initial; -webkit-text-fill-color:#0a0a0a;
  background-clip:initial; color:#0a0a0a; filter:none; animation:none;
}
.hx-sub{ color:#4a4a4a; }
.hx-btn-main{
  background:#0a0a0a; color:#fff; box-shadow:none; border:1px solid #0a0a0a;
}
.hx-btn-main:hover{ background:#262626; transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.18); }
.hx-btn-ghost{ background:#fff; border:1px solid #0a0a0a; color:#0a0a0a; backdrop-filter:none; }
.hx-btn-ghost:hover{ background:#0a0a0a; color:#fff; border-color:#0a0a0a; transform:translateY(-2px); }
.hx-trust-i{ border-right-color:rgba(0,0,0,.12); }
.hx-trust-i strong{ color:#0a0a0a; }
.hx-trust-i span{ color:#8a8a8a; }
/* Stickers → monochrome sobre */
.hx-sticker{ box-shadow:0 8px 22px rgba(0,0,0,.16); border:1px solid rgba(0,0,0,.12); }
.hx-sticker-1{ background:#0a0a0a; color:#fff; }
.hx-sticker-2{ background:#fff; color:#0a0a0a; }
.hx-sticker-3{ background:#fff; color:#0a0a0a; }
/* Deck : retirer la lueur violette */
.vdeck-card[data-pos="0"]{
  box-shadow:0 24px 60px rgba(0,0,0,.28) !important;
  animation:vdeck-float 4.5s ease-in-out infinite !important;
}
.vdeck-card[data-pos="1"]{ box-shadow:0 16px 40px rgba(0,0,0,.20) !important; }
.vdeck-card[data-pos="2"]{ box-shadow:0 10px 26px rgba(0,0,0,.14) !important; }
.hero-video-deck{ filter:drop-shadow(0 24px 50px rgba(0,0,0,.22)) !important; }
.vdeck-price-badge{ background:#0a0a0a !important; color:#fff !important; }

/* ── 6. SECTIONS ── */
.section-alt{ background:#f6f6f7; }
.section-bestsellers{ background:#f6f6f7; }
.section-collections{ background:#fff; }
.section-label{
  background:#f1f1f2; border:1px solid rgba(0,0,0,.10); color:#0a0a0a;
  box-shadow:none; backdrop-filter:none;
}
.section-title{ color:#0a0a0a; text-shadow:none; }
.section-title span{
  background:none; -webkit-background-clip:initial; -webkit-text-fill-color:#0a0a0a;
  background-clip:initial; color:#0a0a0a; animation:none;
}
.section-header::after{ background:#0a0a0a; box-shadow:none; }
.section-sub{ color:#555; }

/* ── 7. CARTES PRODUITS ── */
.product-card{
  background:#ffffff; border:1px solid rgba(0,0,0,.10); box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.product-card::before{ display:none !important; }
.product-card:hover{
  transform:translateY(-4px); border-color:rgba(0,0,0,.28);
  box-shadow:0 14px 32px rgba(0,0,0,.12);
}
.product-card:hover .product-jersey{ transform:translate(-50%,-54%) scale(1.05); }
.product-img-wrap{ background:#f4f4f5; }
.product-img-wrap::after{ display:none; }
.product-jersey{ filter:none; }
.product-quick-add{ background:#0a0a0a; color:#fff; }
.product-wishlist{ background:#fff; border:1px solid rgba(0,0,0,.12); }
.product-wishlist:hover{ background:#fff; border-color:#0a0a0a; }
.product-wishlist.active{ background:#0a0a0a; border-color:#0a0a0a; }
.product-compare{ background:#fff; border:1px solid rgba(0,0,0,.12); color:#0a0a0a; }
/* Badges → monochrome */
.badge-sale, .badge-new, .badge-best, .badge-limited{ background:#0a0a0a !important; color:#fff !important; animation:none !important; box-shadow:none !important; }
.price-old, .price-strike, s{ color:#a0a0a0; }
.price-current, .price-now{ color:#0a0a0a; }

/* ── 8. BOUTONS génériques ── */
.btn, .btn-primary, .co-btn, .checkout-btn, .cart-checkout-btn,
.newsletter-btn, .fn-btn, .promo-btn, .cart-promo-btn{
  background:#0a0a0a !important; color:#fff !important; box-shadow:none !important; border:none;
}
.btn:hover, .btn-primary:hover, .co-btn:hover, .checkout-btn:hover, .cart-checkout-btn:hover,
.newsletter-btn:hover, .fn-btn:hover{ background:#262626 !important; }
.btn-secondary, .btn-outline{ background:#fff !important; color:#0a0a0a !important; border:1px solid #0a0a0a !important; }

/* ── 9. FOOTER (noir, ancrage pro) ── */
.footer{ background:#0a0a0a; border-top:1px solid rgba(0,0,0,.1); }
.footer::before{ display:none; }
.footer-name{ color:#fff; }
.footer-tagline{ color:rgba(255,255,255,.45); }
.footer-links h4{ color:#fff; }
.footer-links h4::after{ background:rgba(255,255,255,.5); }
.footer-links a{ color:rgba(255,255,255,.62); }
.footer-links a:hover{ color:#fff; }
.footer-social a{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); }
.footer-social a:hover{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.3); box-shadow:none; }
.footer-bottom{ color:rgba(255,255,255,.4); border-top-color:rgba(255,255,255,.1); }
.footer-bottom a{ color:rgba(255,255,255,.7); }
.pay-badge{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.65); }
.footer-newsletter-row{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); backdrop-filter:none; }
.fn-input{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); color:#fff; }

/* ── 10. NEWSLETTER (section) ── */
.newsletter-section{ background:#0a0a0a; }
.newsletter-title span{ background:none; -webkit-text-fill-color:#fff; color:#fff; }

/* ── 11. OVERLAYS : panier + recherche → clairs ── */
.cart-sidebar, .search-inner, .search-box, .cart-footer, .cart-body, .cart-header{ background:#ffffff; color:#0a0a0a; }
.cart-title, .cart-item-name{ color:#0a0a0a; }
.cart-item{ background:#fafafa; border:1px solid rgba(0,0,0,.08); }
.cart-item-img{ background:#f0f0f0; }
.cart-qty-wrap{ background:#f2f2f2; border:1px solid rgba(0,0,0,.10); }
.cart-qty-btn{ color:#0a0a0a; }
.cart-qty-btn:hover{ background:rgba(0,0,0,.08); color:#000; }
.cart-item-price{ color:#0a0a0a; }
.cart-total-row span:last-child, #cartTotal, #cartSubtotal{ color:#0a0a0a; }
.cart-promo-input, .search-inner input, .search-field-wrap input{ background:#f4f4f5; border:1px solid rgba(0,0,0,.12); color:#0a0a0a; }
.cart-close, .search-close{ color:#0a0a0a; }
.search-field-wrap{ background:#f4f4f5; border:1px solid rgba(0,0,0,.12); }
.search-field-wrap svg, .search-inner svg{ color:#0a0a0a; }
.search-submit{ background:#0a0a0a; color:#fff; }
.cart-backdrop, .search-backdrop{ background:rgba(0,0,0,.45); }

/* ── 12. DIVERS : neutraliser néons restants ── */
.section-mystery::before, .section-mystery::after{ display:none !important; }
.trust-strip, .trust-band, .trust-item{ background:#fff; border-color:rgba(0,0,0,.08); color:#0a0a0a; }
.proof-dot{ background:#0a0a0a; }
.proof-avatar{ background:#0a0a0a; color:#fff; border-color:#fff; }
.ticker, .clubs-bar{ background:#0a0a0a; }
.club-badge{ background:#fff; border:1px solid rgba(0,0,0,.08); }
/* Toute lueur portée violette résiduelle → ombre neutre */
.scroll-top, .back-to-top{ background:#0a0a0a !important; color:#fff !important; box-shadow:0 6px 18px rgba(0,0,0,.2) !important; }
/* Cascade mega menu desktop → clair N&B */
.cascade-col{background:#ffffff;border:1px solid rgba(0,0,0,.1);box-shadow:0 16px 40px rgba(0,0,0,.14);}
.cascade-col-title{color:#888;}
.cascade-item.active{color:#0a0a0a;border-left-color:#0a0a0a;background:#f0f0f0;}
.cascade-item:hover{border-left-color:#0a0a0a;}
.cc-logo{background:#f2f2f2;}
.cc-logo-placeholder{background:#f0f0f0;border:1px dashed rgba(0,0,0,.2);}


/* ════════════════════════════════════════════════════════════════
   ⬛ MODE FOND NOIR — inversion N&B (v68→ dark)
   Fond noir, texte blanc, boutons blancs. 100% monochrome.
   ════════════════════════════════════════════════════════════════ */
:root{
  --bg:#000000; --bg-2:#0c0c0c; --bg-card:#121212; --bg-card-h:#1a1a1a;
  --text:#f5f5f5; --text-sub:#c2c2c2; --text-muted:#8a8a8a;
  --border:rgba(255,255,255,.14); --border-h:rgba(255,255,255,.35);
  --navy:#ffffff; --white:#ffffff; --gray-light:#0c0c0c; --gray-text:#9a9a9a; --text-dark:#f5f5f5;
}
html,body{ background:#000000; color:#f5f5f5; }
::selection{ background:#ffffff; color:#000; }
::-webkit-scrollbar-track{ background:#0c0c0c; }
::-webkit-scrollbar-thumb{ background:#333; }
::-webkit-scrollbar-thumb:hover{ background:#fff; }

/* HEADER */
.header{ background:rgba(0,0,0,.8); border-bottom:1px solid rgba(255,255,255,.12); }
.header.scrolled{ background:rgba(0,0,0,.95); box-shadow:0 1px 0 rgba(255,255,255,.08),0 8px 28px rgba(0,0,0,.5); }
.logo-name{ color:#fff; }
.logo-accent{ color:#9a9a9a; -webkit-text-fill-color:#9a9a9a; }
.hnav-item > a{ color:#e6e6e6; }
.hnav-item:hover > a{ background:rgba(255,255,255,.08); color:#fff; }
.hnav-item > a::after{ background:#fff; }
.header-actions svg, .header-icon svg{ color:#fff; stroke:#fff; }
.nav-hamburger span{ background:#fff; }
.nav-hamburger:hover{ background:rgba(255,255,255,.08); }

/* HERO */
.hero-x{ background:#000000; }
.hx-kicker{ background:#141414; border-color:rgba(255,255,255,.14); color:#c2c2c2; }
.hx-kicker strong{ color:#fff; }
.hx-live{ background:#fff; }
.hx-title{ color:#fff; }
.hx-grad{ color:#fff; -webkit-text-fill-color:#fff; }
.hx-sub{ color:#bdbdbd; }
.hx-btn-main{ background:#fff; color:#000; border:1px solid #fff; }
.hx-btn-main:hover{ background:#e2e2e2; box-shadow:0 8px 22px rgba(255,255,255,.15); }
.hx-btn-ghost{ background:transparent; border:1px solid #fff; color:#fff; }
.hx-btn-ghost:hover{ background:#fff; color:#000; border-color:#fff; }
.hx-trust-i{ border-right-color:rgba(255,255,255,.14); }
.hx-trust-i strong{ color:#fff; }
.hx-trust-i span{ color:#8a8a8a; }
.hx-sticker-1{ background:#fff; color:#000; border-color:rgba(0,0,0,.2); }
.hx-sticker-2{ background:#000; color:#fff; border-color:rgba(255,255,255,.5); }
.hx-sticker-3{ background:#000; color:#fff; border-color:rgba(255,255,255,.5); }

/* SECTIONS */
.section-alt, .section-bestsellers{ background:#0a0a0a; }
.section-collections{ background:#000; }
.section-label{ background:#161616; border-color:rgba(255,255,255,.14); color:#fff; }
.section-title{ color:#fff; }
.section-title span{ color:#fff; -webkit-text-fill-color:#fff; }
.section-header::after{ background:#fff; }
.section-sub{ color:#bdbdbd; }

/* CARTES PRODUITS */
.product-card{ background:#121212; border:1px solid rgba(255,255,255,.12); box-shadow:0 1px 3px rgba(0,0,0,.5); }
.product-card:hover{ border-color:rgba(255,255,255,.32); box-shadow:0 14px 32px rgba(0,0,0,.6); }
.product-img-wrap{ background:#0a0a0a; }
.product-quick-add{ background:#fff; color:#000; }
.product-wishlist{ background:#161616; border:1px solid rgba(255,255,255,.16); }
.product-wishlist:hover{ border-color:#fff; }
.product-wishlist.active{ background:#fff; border-color:#fff; }
.product-compare{ background:#161616; border:1px solid rgba(255,255,255,.16); color:#fff; }
.badge-sale, .badge-new, .badge-best, .badge-limited{ background:#fff !important; color:#000 !important; }
.price-current, .price-now{ color:#fff; }
.price-old, .price-strike, s{ color:#777; }

/* BOUTONS */
.btn, .btn-primary, .co-btn, .checkout-btn, .cart-checkout-btn,
.newsletter-btn, .fn-btn, .promo-btn, .cart-promo-btn{
  background:#ffffff !important; color:#000 !important; border:none;
}
.btn:hover, .btn-primary:hover, .co-btn:hover, .checkout-btn:hover, .cart-checkout-btn:hover,
.newsletter-btn:hover, .fn-btn:hover{ background:#e2e2e2 !important; }
.btn-secondary, .btn-outline{ background:transparent !important; color:#fff !important; border:1px solid #fff !important; }

/* FOOTER (déjà sombre — on harmonise) */
.footer{ background:#060606; border-top:1px solid rgba(255,255,255,.1); }
.fn-input{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); color:#fff; }

/* OVERLAYS panier + recherche */
.cart-sidebar, .search-inner, .search-box, .cart-footer, .cart-body, .cart-header{ background:#0c0c0c; color:#f5f5f5; }
.cart-title, .cart-item-name{ color:#fff; }
.cart-item{ background:#161616; border:1px solid rgba(255,255,255,.1); }
.cart-item-img{ background:#000; }
.cart-qty-wrap{ background:#1c1c1c; border:1px solid rgba(255,255,255,.12); }
.cart-qty-btn{ color:#fff; }
.cart-qty-btn:hover{ background:rgba(255,255,255,.1); color:#fff; }
.cart-item-price{ color:#fff; }
.cart-total-row span:last-child, #cartTotal, #cartSubtotal{ color:#fff; }
.cart-promo-input, .search-inner input, .search-field-wrap input{ background:#161616; border:1px solid rgba(255,255,255,.14); color:#fff; }
.search-field-wrap{ background:#161616; border:1px solid rgba(255,255,255,.14); }
.search-field-wrap svg, .search-inner svg{ color:#fff; }
.search-submit{ background:#fff; color:#000; }
.cart-close, .search-close{ color:#fff; }

/* TRUST / TICKER */
.trust-strip, .trust-band, .trust-item{ background:#000; border-color:rgba(255,255,255,.1); color:#fff; }
.proof-dot{ background:#fff; }
.proof-avatar{ background:#fff; color:#000; border-color:#000; }
.ticker, .clubs-bar{ background:#0a0a0a; }
.club-badge{ background:#121212; border:1px solid rgba(255,255,255,.1); }

/* CASCADE (menu desktop) → sombre */
.cascade-col{ background:#0c0c0c; border:1px solid rgba(255,255,255,.12); box-shadow:0 16px 40px rgba(0,0,0,.6); }
.cascade-col-title{ color:#888; }
.cascade-item.active{ color:#fff; border-left-color:#fff; background:#1a1a1a; }
.cascade-item:hover{ border-left-color:#fff; background:#161616; }
.cc-logo{ background:#161616; }
.cc-logo-placeholder{ background:#161616; border:1px dashed rgba(255,255,255,.2); }

/* NEWSLETTER */
.newsletter-section{ background:#0a0a0a; }
.newsletter-title span{ color:#fff; -webkit-text-fill-color:#fff; }

/* SCROLL-TOP */
.scroll-top, .back-to-top{ background:#fff !important; color:#000 !important; }


/* ════════════════════════════════════════════════════════════════
   🎯 FINAL — cartes blanches · texte blanc · NOIR PROFOND #000
   ════════════════════════════════════════════════════════════════ */
:root{
  --bg:#000000; --bg-2:#000000; --bg-card:#0d0d0d; --bg-card-h:#141414;
  --text:#ffffff; --text-sub:#ffffff; --text-muted:#e6e6e6;
  --gray-text:#e6e6e6; --text-dark:#ffffff; --navy:#ffffff; --white:#ffffff;
}
html,body{ background:#000000 !important; color:#ffffff; }

/* ── NOIR PROFOND sur toutes les surfaces sombres ── */
.top-bar,.header.scrolled,.hero-x,.section,.section-alt,.section-bestsellers,.section-collections,
.section-mystery,.reviews-section,.newsletter-section,.ticker,.clubs-bar,.footer,
.cart-sidebar,.search-inner,.cart-footer,.cart-body,.cart-header,
.cascade-col,.trust-strip,.trust-band,.trust-item,.club-badge,.promo-banner-v2{ background:#000000 !important; }
.header{ background:rgba(0,0,0,.85) !important; }
.cart-item,.cart-item-img,.cart-qty-wrap,.cart-promo-input,.search-field-wrap,
.search-inner input,.fn-input{ background:#000000 !important; border:1px solid rgba(255,255,255,.18); }

/* ── TEXTE BLANC PUR partout (zones sombres) ── */
.section-title,.section-title span,
.hx-title,.hx-grad,.hx-sub,.section-sub,.hx-kicker,.hx-kicker strong,
.hx-trust-i strong,.hx-trust-i span,.hnav-item>a,.cart-title,.cart-item-name,.cart-item-price,
.footer-links h4,.footer-name,.cascade-item,.cascade-club-item,.cc-name,
#cartTotal,#cartSubtotal,.newsletter-title span{ color:#ffffff !important; }
.footer-links a{ color:#e8e8e8 !important; }
.footer-tagline,.footer-bottom,.cascade-col-title,.section-label{ color:#d8d8d8 !important; }

/* ════ CARTES PRODUITS BLANCHES (texte NOIR dedans) ════ */
.product-card{ background:#ffffff !important; border:1px solid #ffffff !important; box-shadow:0 2px 12px rgba(0,0,0,.5) !important; }
.product-card:hover{ border-color:#ffffff !important; box-shadow:0 16px 40px rgba(0,0,0,.7) !important; transform:translateY(-4px); }
.product-card::before{ display:none !important; }
.product-info{ background:#ffffff !important; border-top:1px solid rgba(0,0,0,.08) !important; }
.product-img-wrap{ background:#f2f2f2 !important; }
.product-img-wrap::after{ display:none !important; }
.product-card .product-cat, .product-cat{ color:#666666 !important; }
.product-card .product-name, .product-name{ color:#0a0a0a !important; }
.product-card .price-current, .price-current, .price-now{ color:#000000 !important; }
.product-card .price-old, .price-old, .price-strike{ color:#999999 !important; }
.price-save{ background:#000000 !important; color:#ffffff !important; border:1px solid #000 !important; }
.product-rating-count{ color:#777777 !important; }
.product-stars{ color:#000000 !important; }
.size-dot{ background:#f2f2f2 !important; border:1px solid rgba(0,0,0,.12) !important; color:#333333 !important; }
.badge-tag,.badge-sale,.badge-new,.badge-best,.badge-limited{ background:#000000 !important; color:#ffffff !important; }
.product-wishlist{ background:#ffffff !important; border:1px solid rgba(0,0,0,.16) !important; }
.product-wishlist.active{ background:#000000 !important; border-color:#000 !important; }
.product-compare{ background:#ffffff !important; border:1px solid rgba(0,0,0,.16) !important; color:#000000 !important; }
.product-quick-add{ background:#000000 !important; color:#ffffff !important; }
.cart-badge{ background:#ffffff !important; color:#000000 !important; }

/* ═══ BLINDAGE visibilité texte cartes blanches ═══ */
.product-card .product-info, .product-card .product-info *{ color:#111111 !important; }
.product-card .product-cat{ color:#6a6a6a !important; }
.product-card .price-old, .product-card .price-strike{ color:#9a9a9a !important; }
.product-card .badge-tag.badge-new, .product-card .badge-new,
.product-card .badge-tag.badge-limited, .product-card .badge-limited{
  background:#ffffff !important; color:#000000 !important;
  border:1px solid rgba(0,0,0,.25) !important; box-shadow:0 1px 5px rgba(0,0,0,.35) !important;
}
.product-card .badge-tag.badge-sale, .product-card .badge-sale,
.product-card .badge-tag.badge-best, .product-card .badge-best{
  background:#000000 !important; color:#ffffff !important; border:1px solid rgba(255,255,255,.25) !important;
}
.product-card .product-quick-add{ color:#ffffff !important; }
.hero-prod-badge{ background:#000000 !important; color:#ffffff !important; }

/* ═══ Badge Domicile/Extérieur : texte NOIR garanti (universel) ═══ */
.badge-new, span.badge-new, .badge-tag.badge-new{ color:#000000 !important; background:#ffffff !important; border:1px solid rgba(0,0,0,.25) !important; }

/* ═══ CARTES : contour blanc + bas noir + texte blanc ═══ */
.product-card{ background:#000000 !important; border:1.5px solid #ffffff !important; box-shadow:0 4px 18px rgba(0,0,0,.6) !important; overflow:hidden; }
.product-card:hover{ border-color:#ffffff !important; box-shadow:0 16px 40px rgba(0,0,0,.85) !important; transform:translateY(-4px); }
.product-img-wrap{ background:#000000 !important; }
.product-info{ background:#000000 !important; border-top:1px solid rgba(255,255,255,.15) !important; }
.product-card .product-info, .product-card .product-info *{ color:#ffffff !important; }
.product-card .product-cat{ color:#bdbdbd !important; }
.product-card .product-name{ color:#ffffff !important; }
.product-card .price-current, .product-card .price-now{ color:#ffffff !important; }
.product-card .price-old, .product-card .price-strike{ color:#888888 !important; }
.product-card .size-dot{ background:#1a1a1a !important; border:1px solid rgba(255,255,255,.25) !important; color:#ffffff !important; }
.product-card .price-save{ background:#ffffff !important; color:#000000 !important; border:1px solid #fff !important; }

/* ═══ MENU DÉROULANT DESKTOP GRIS ═══ */
.cascade-col{ background:#262626 !important; border:1px solid rgba(255,255,255,.14) !important; }
.cascade-item:hover,.cascade-item.active{ background:#3a3a3a !important; }
.cascade-club-item:hover{ background:#3a3a3a !important; }
.cc-logo{ background:#333333 !important; }

/* ═══ Menu déroulant desktop : inversion (colonne noire, lignes grises) ═══ */
.cascade-col{ background:#000000 !important; }
.cascade-item:hover,.cascade-item.active{ background:#2a2a2a !important; }
.cascade-club-item:hover{ background:#2a2a2a !important; }
.cc-logo{ background:#2a2a2a !important; }


/* ════════════════════════════════════════════════════════════════
   ⚡ ULTRA — finition premium monochrome (v77)
   Typographie designer · micro-interactions · hover · reveals
   100% noir/blanc/gris. prefers-reduced-motion respecté.
   ════════════════════════════════════════════════════════════════ */

/* ── 1. TYPOGRAPHIE & rendu ── */
html{ -webkit-text-size-adjust:100%; }
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
.section-title, .hx-title, .hx-grad{ letter-spacing:.5px; }
.section-sub, .hx-sub{ font-weight:400; }
p{ line-height:1.7; }

/* ── 2. TRANSITIONS douces sur tout l'interactif ── */
a, button, .product-card, .size-dot, .hnav-item>a, .product-wishlist, .product-compare,
.hx-btn-main, .hx-btn-ghost, .btn, .filter-chip, .cat-sidebar-item{
  transition:color .2s ease, background-color .25s ease, border-color .2s ease,
             transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, opacity .2s ease;
}

/* ── 3. BOUTONS : invert net & élégant ── */
.hx-btn-main{ letter-spacing:.4px; }
.hx-btn-main:hover{ background:#ffffff !important; color:#000000 !important; transform:translateY(-3px); }
.hx-btn-ghost:hover{ background:#ffffff !important; color:#000000 !important; }
.btn, .btn-primary, .cart-checkout-btn, .co-btn, .checkout-btn, .newsletter-btn, .fn-btn{
  letter-spacing:.4px;
}
.cart-checkout-btn:hover, .co-btn:hover, .checkout-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 28px rgba(255,255,255,.12) !important; }

/* ── 4. LIENS : soulignement animé (footer, breadcrumb, alt) ── */
.footer-links a, .footer-bottom a{ position:relative; display:inline-block; }
.footer-links a::after, .footer-bottom a::after{
  content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px;
  background:currentColor; transition:width .28s cubic-bezier(.22,1,.36,1);
}
.footer-links a:hover::after, .footer-bottom a:hover::after{ width:100%; }

/* ── 5. CARTES PRODUITS : hover premium (lift + zoom image) ── */
.product-card{ transition:transform .4s cubic-bezier(.22,1,.36,1), border-color .25s ease, box-shadow .35s ease !important; }
.product-card:hover{ transform:translateY(-6px) !important; box-shadow:0 22px 50px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.4) !important; }
.product-gallery-img, .product-jersey{ transition:transform .55s cubic-bezier(.22,1,.36,1) !important; }
.product-card:hover .product-gallery-img-main{ transform:scale(1.07); }
.product-quick-add{ letter-spacing:.6px; text-transform:uppercase; font-size:11px; font-weight:800; }
/* Tailles : invert au survol */
.size-dot:hover{ background:#ffffff !important; color:#000000 !important; border-color:#ffffff !important; transform:translateY(-1px); }
/* Wishlist / compare : invert au survol */
.product-wishlist:hover{ background:#ffffff !important; transform:scale(1.1); }
.product-compare:hover{ background:#ffffff !important; color:#000000 !important; transform:scale(1.1); }

/* ── 6. EN-TÊTES DE SECTION : éditorial ── */
.section-header{ position:relative; }
.section-title{ font-weight:400; }
.section-header::after{ background:#ffffff !important; height:2px !important; box-shadow:none !important; }
.section-label{ letter-spacing:3px !important; }

/* ── 7. SCROLL REVEAL (renforcé, monochrome, sans FOUC) ── */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .section-header, .product-card, .cat-card, .review-card, .value-card,
    .trust-item, .footer-col, .footer-links, .newsletter-inner{
      animation:ultra-rise linear both;
      animation-timeline:view();
      animation-range:entry 2% entry 30%;
    }
  }
}
@keyframes ultra-rise{ from{opacity:0; translate:0 36px;} to{opacity:1; translate:0 0;} }

/* ── 8. HEADER : raffinement ── */
.header{ transition:background .3s ease, box-shadow .3s ease, border-color .3s ease; }
.hnav-item > a{ letter-spacing:.3px; font-weight:600; }

/* ── 9. HERO : présence accrue ── */
.hx-title{ line-height:.9; }
.hx-kicker{ letter-spacing:.5px; }
.hx-live{ box-shadow:0 0 0 3px rgba(255,255,255,.12); }

/* ── 10. CHAMPS DE SAISIE : focus net ── */
input, textarea, select{ transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
input:focus, textarea:focus, select:focus{ border-color:#ffffff !important; box-shadow:0 0 0 3px rgba(255,255,255,.12) !important; }

/* ── 11. ACCESSIBILITÉ : focus clavier premium ── */
:focus-visible{ outline:2px solid #ffffff !important; outline-offset:3px !important; border-radius:3px; }
*:focus:not(:focus-visible){ outline:none; }

/* ── 12. DÉTAILS ── */
::selection{ background:#ffffff; color:#000000; }
::-webkit-scrollbar{ width:9px; height:9px; }
::-webkit-scrollbar-track{ background:#000000; }
::-webkit-scrollbar-thumb{ background:#333333; border-radius:0; border:2px solid #000; }
::-webkit-scrollbar-thumb:hover{ background:#ffffff; }
img{ -webkit-user-drag:none; }


/* ════════════════════════════════════════════════════════════════
   🤍🖤 GALERIE / LUXE MINIMAL — refonte design (v78)
   Inspiration SSENSE / Acne : typo fine, espace généreux, coins nets,
   les maillots comme des œuvres. 100% noir & blanc.
   ════════════════════════════════════════════════════════════════ */

/* ── TYPOGRAPHIE : fine, raffinée, tracking ── */
.section-title, .hx-title, h1, h2, h3{ font-family:'Inter','Helvetica Neue',Arial,sans-serif !important; }
body{ letter-spacing:.005em; }

/* ── HERO LUXE ── */
.lux-hero{
  min-height:84vh; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:140px 24px 110px; background:#000000; position:relative;
}
.lux-hero-inner{ max-width:780px; margin:0 auto; }
.lux-eyebrow{
  font-size:11px; letter-spacing:5px; text-transform:uppercase; color:#8a8a8a;
  font-weight:500; margin-bottom:30px;
}
.lux-hero-title{
  font-family:'Inter','Helvetica Neue',sans-serif; font-weight:300;
  font-size:clamp(46px,7.5vw,104px); line-height:1.0; letter-spacing:-1.5px;
  color:#ffffff; margin-bottom:30px;
}
.lux-hero-sub{
  font-size:16px; line-height:1.75; color:#b8b8b8; max-width:520px;
  margin:0 auto 42px; font-weight:400;
}
.lux-hero-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.lux-cta, .lux-cta-ghost{
  display:inline-block; padding:16px 40px; font-size:12px; font-weight:600;
  letter-spacing:2.5px; text-transform:uppercase; transition:all .35s cubic-bezier(.22,1,.36,1);
}
.lux-cta{ background:#ffffff; color:#000000; border:1px solid #ffffff; }
.lux-cta:hover{ background:transparent; color:#ffffff; }
.lux-cta-ghost{ background:transparent; color:#ffffff; border:1px solid rgba(255,255,255,.35); }
.lux-cta-ghost:hover{ border-color:#ffffff; background:#ffffff; color:#000000; }
.lux-hero-meta{
  margin-top:54px; display:flex; gap:16px; align-items:center; justify-content:center;
  flex-wrap:wrap; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:#7a7a7a;
}
.lux-hero-meta i{ width:3px; height:3px; border-radius:50%; background:#555; display:inline-block; }
@media (prefers-reduced-motion: no-preference){
  .lux-hero-inner > *{ opacity:0; animation:lux-rise .8s cubic-bezier(.22,1,.36,1) forwards; }
  .lux-hero-inner > *:nth-child(1){ animation-delay:.05s; }
  .lux-hero-inner > *:nth-child(2){ animation-delay:.16s; }
  .lux-hero-inner > *:nth-child(3){ animation-delay:.27s; }
  .lux-hero-inner > *:nth-child(4){ animation-delay:.38s; }
  .lux-hero-inner > *:nth-child(5){ animation-delay:.49s; }
}
@keyframes lux-rise{ from{opacity:0; translate:0 24px;} to{opacity:1; translate:0 0;} }
@media (max-width:768px){ .lux-hero{ min-height:auto; padding:90px 20px 70px; } .lux-hero-title{ letter-spacing:-.5px; } }

/* ── SECTIONS : espace généreux + en-tête raffiné ── */
.section{ padding:120px 0 !important; }
.section-inner, .section-header{ }
.section-header{ margin-bottom:64px !important; text-align:center; }
.section-label{
  display:inline-block !important; background:none !important; border:none !important;
  box-shadow:none !important; backdrop-filter:none !important; padding:0 !important;
  font-size:11px !important; letter-spacing:5px !important; text-transform:uppercase;
  color:#8a8a8a !important; font-weight:500 !important; margin-bottom:18px !important;
}
.section-title{
  font-weight:300 !important; font-size:clamp(30px,4.2vw,56px) !important;
  letter-spacing:-1px !important; color:#ffffff !important; line-height:1.05 !important;
  text-shadow:none !important; animation:none !important;
}
.section-title span{
  font-weight:300 !important; background:none !important; color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important; animation:none !important;
}
.section-header::after{
  content:'' !important; display:block !important; width:40px !important; height:1px !important;
  margin:24px auto 0 !important; background:rgba(255,255,255,.4) !important; box-shadow:none !important;
}
.section-sub{ color:#a8a8a8 !important; font-weight:400 !important; font-size:15px !important; }
@media (max-width:768px){ .section{ padding:70px 0 !important; } .section-header{ margin-bottom:42px !important; } }

/* ── CARTES PRODUITS : galerie (coins nets, hairline, typo fine) ── */
.product-card{
  background:#000000 !important; border:1px solid rgba(255,255,255,.13) !important;
  border-radius:0 !important; box-shadow:none !important; overflow:hidden;
  transition:border-color .4s ease, transform .55s cubic-bezier(.22,1,.36,1) !important;
}
.product-card:hover{
  border-color:rgba(255,255,255,.45) !important; transform:translateY(-5px) !important;
  box-shadow:none !important;
}
.product-img-wrap{ background:#000000 !important; }
.product-info{
  background:#000000 !important; padding:18px 16px 20px !important;
  border-top:1px solid rgba(255,255,255,.1) !important; gap:7px !important;
}
.product-card .product-cat{ font-size:10px !important; letter-spacing:2.5px !important; color:#888888 !important; font-weight:500 !important; text-transform:uppercase; }
.product-card .product-name{ font-size:13px !important; font-weight:400 !important; color:#efefef !important; letter-spacing:.2px !important; line-height:1.5 !important; }
.product-card .price-current{ font-size:14px !important; font-weight:500 !important; color:#ffffff !important; }
.product-card .price-old{ font-size:12px !important; color:#666666 !important; }
.product-card .size-dot{ background:#000 !important; border:1px solid rgba(255,255,255,.2) !important; color:#cfcfcf !important; border-radius:0 !important; }
.product-card .size-dot:hover{ background:#fff !important; color:#000 !important; }
.product-card .price-save{ background:transparent !important; color:#888 !important; border:1px solid rgba(255,255,255,.2) !important; border-radius:0 !important; font-weight:500 !important; }
/* badges coins nets */
.product-card .badge-tag, .product-card .badge-new, .product-card .badge-sale{ border-radius:0 !important; }
.product-card .badge-tag.badge-new, .product-card .badge-new{ background:#ffffff !important; color:#000 !important; border:none !important; box-shadow:none !important; }
.product-card .badge-tag.badge-sale, .product-card .badge-sale{ background:#000 !important; color:#fff !important; border:1px solid rgba(255,255,255,.35) !important; }
.product-quick-add{ background:#ffffff !important; color:#000000 !important; border-radius:0 !important; letter-spacing:1.5px; font-size:10px !important; }
.product-wishlist, .product-compare{ border-radius:50% !important; background:#000 !important; border:1px solid rgba(255,255,255,.25) !important; }
.product-wishlist:hover, .product-compare:hover{ background:#fff !important; }

/* grilles : gaps généreux */
#catalogueGrid{ gap:18px !important; }
.cats-grid, .reviews-grid{ gap:24px !important; }

/* ── CARROUSELS HOMEPAGE (Tendances/Bestsellers) : refinement ── */
.carousel-card-inner{ background:#000 !important; border:1px solid rgba(255,255,255,.13) !important; border-radius:0 !important; }
.carousel-card:hover .carousel-card-inner{ border-color:rgba(255,255,255,.4) !important; }

/* ── HEADER : raffiné, espacé ── */
.header-inner{ height:76px !important; }
.logo-name{ letter-spacing:3px !important; font-weight:600 !important; }
.hnav-item > a{ font-size:12.5px !important; letter-spacing:1px !important; font-weight:500 !important; text-transform:uppercase; }

/* ── FOOTER : raffiné ── */
.footer-links h4{ font-size:11px !important; letter-spacing:2.5px !important; font-weight:600 !important; text-transform:uppercase; }
.footer-links a{ font-size:13px !important; color:#9a9a9a !important; }
.footer-name{ letter-spacing:2px !important; font-weight:600 !important; }

/* ── BANDEAUX / TICKER : sobres ── */
.top-bar{ font-size:11px !important; letter-spacing:1.5px; }
.trust-strip, .trust-band{ border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }

/* ═══ FIX luxe : boutons blancs lisibles + logo monochrome ═══ */
.lux-cta{ color:#000000 !important; }
.lux-cta:hover{ color:#ffffff !important; }
.product-card .product-quick-add{ color:#000000 !important; background:#ffffff !important; }
.header-logo img{ filter:grayscale(1) brightness(1.9) contrast(1.05) !important; }

/* ═══ HERO : image de fond légendes (N&B + voile) ═══ */
.lux-hero{ overflow:hidden; }
.lux-hero::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:#000 url('../images/hero-players.jpg') center center / cover no-repeat;
  filter:grayscale(1) contrast(1.12) brightness(1);
}
.lux-hero::after{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.28) 42%, rgba(0,0,0,.68) 100%);
}
.lux-hero-inner{ position:relative; z-index:1; }


/* ════════════════════════════════════════════════════════════════
   🖤 LUXE PRO — harmonisation de TOUT le site (v82)
   Produit · Catalogue · Compte · Formulaires · Checkout
   Coins nets, hairlines, typo fine, boutons blanc/noir. Monochrome.
   ════════════════════════════════════════════════════════════════ */

/* ── BOUTONS : style luxe unifié (blanc → invert) ── */
.btn, .btn-primary, .prod-add-btn, .account-btn, .co-btn, .checkout-btn,
.cart-checkout-btn, .newsletter-btn, .fn-btn, .filter-btn, .cat-sidebar-promo-btn,
.lux-cta, .submit-btn{
  border-radius:0 !important; letter-spacing:1.5px !important; text-transform:uppercase;
  font-weight:600 !important; font-size:12px !important;
  transition:all .3s cubic-bezier(.22,1,.36,1) !important;
}
.prod-add-btn, .checkout-btn, .cart-checkout-btn, .co-btn, .newsletter-btn, .fn-btn{
  background:#ffffff !important; color:#000000 !important; border:1px solid #ffffff !important;
  padding:17px 28px !important;
}
.prod-add-btn:hover, .checkout-btn:hover, .cart-checkout-btn:hover, .co-btn:hover{
  background:transparent !important; color:#ffffff !important;
}

/* ── CHAMPS DE SAISIE : sobres, coins nets ── */
input[type="text"], input[type="email"], input[type="password"], input[type="search"],
input[type="tel"], input[type="number"], textarea, select, .filter-search, .promo-input, .cart-promo-input{
  background:#000000 !important; border:1px solid rgba(255,255,255,.2) !important;
  color:#ffffff !important; border-radius:0 !important; letter-spacing:.3px;
}
input::placeholder, textarea::placeholder{ color:#777 !important; }
input:focus, textarea:focus, select:focus{ border-color:#ffffff !important; box-shadow:none !important; }

/* ════ PAGE PRODUIT ════ */
.prod-breadcrumb{ font-size:11px !important; letter-spacing:1.5px !important; text-transform:uppercase; color:#888 !important; }
.prod-club-line, .prod-section-label{ font-size:11px !important; letter-spacing:3px !important; text-transform:uppercase; color:#8a8a8a !important; font-weight:500 !important; }
h1.prod-title, .prod-title, .prod-info h1{
  font-family:'Inter',sans-serif !important; font-weight:300 !important;
  font-size:clamp(28px,3.4vw,46px) !important; letter-spacing:-.5px !important;
  line-height:1.1 !important; color:#fff !important;
}
.prod-price{ font-size:26px !important; font-weight:400 !important; color:#fff !important; }
.prod-price-old{ color:#666 !important; font-weight:400 !important; }
.prod-price-save{ background:transparent !important; color:#999 !important; border:1px solid rgba(255,255,255,.25) !important; border-radius:0 !important; letter-spacing:1px; }
.prod-divider{ border-color:rgba(255,255,255,.1) !important; background:rgba(255,255,255,.1) !important; }
.prod-size-btn{
  border-radius:0 !important; background:#000 !important; border:1px solid rgba(255,255,255,.25) !important;
  color:#ddd !important; font-weight:500 !important; letter-spacing:.5px; transition:all .2s ease !important;
}
.prod-size-btn:hover{ border-color:#fff !important; }
.prod-size-btn.active, .prod-size-btn.selected{ background:#fff !important; color:#000 !important; border-color:#fff !important; }
.prod-qty-row, .prod-qty{ border-radius:0 !important; }
.prod-qty-label, .prod-qty-label{ letter-spacing:1px; text-transform:uppercase; font-size:11px; color:#999 !important; }
.prod-main-img, .prod-gallery, .prod-gallery img{ border-radius:0 !important; }
.prod-main-img{ background:#000 !important; border:1px solid rgba(255,255,255,.1) !important; }
.prod-meta-row{ color:#aaa !important; font-size:13px !important; }
.prod-related-title{ font-weight:300 !important; font-size:clamp(24px,3vw,40px) !important; letter-spacing:-.5px !important; }
.prod-flocage-toggle, .prod-flocage-fields, .prod-field{ border-radius:0 !important; }

/* ════ CATALOGUE : barre filtres + sidebar ════ */
.filter-bar{ background:#000 !important; border-top:1px solid rgba(255,255,255,.1) !important; border-bottom:1px solid rgba(255,255,255,.1) !important; }
.filter-label{ font-size:11px !important; letter-spacing:2.5px !important; text-transform:uppercase; color:#888 !important; }
.filter-btn{ background:#000 !important; border:1px solid rgba(255,255,255,.18) !important; color:#ddd !important; border-radius:0 !important; font-size:12px !important; letter-spacing:.5px; }
.filter-btn:hover, .filter-btn.active{ background:#fff !important; color:#000 !important; border-color:#fff !important; }
.filter-sep{ background:rgba(255,255,255,.12) !important; }
.filter-reset{ color:#999 !important; letter-spacing:1px; }
.cat-sidebar-title{ font-size:11px !important; letter-spacing:2.5px !important; text-transform:uppercase; color:#888 !important; font-weight:600 !important; }
.cat-sidebar-item{ color:#cfcfcf !important; border-radius:0 !important; letter-spacing:.3px; transition:all .2s ease !important; }
.cat-sidebar-item:hover, .cat-sidebar-item.active{ background:#161616 !important; color:#fff !important; }
.cat-sidebar-count{ color:#777 !important; }
.cat-sidebar-promo{ background:#0a0a0a !important; border:1px solid rgba(255,255,255,.14) !important; border-radius:0 !important; }
.cat-sidebar-promo-badge{ background:#fff !important; color:#000 !important; border-radius:0 !important; }

/* ════ COMPTE / DASHBOARD ════ */
.account-section, .account-sidebar, .account-content, .loyalty-card, .referral-card{
  background:#0a0a0a !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:0 !important;
}
.account-nav-item{ border-radius:0 !important; color:#cfcfcf !important; letter-spacing:.4px; transition:all .2s ease !important; }
.account-nav-item:hover, .account-nav-item.active{ background:#161616 !important; color:#fff !important; }
.account-pseudo{ font-weight:300 !important; letter-spacing:.2px; }
.account-avatar, .account-avatar-wrap{ border-radius:0 !important; background:#161616 !important; border:1px solid rgba(255,255,255,.15) !important; }

/* ── GÉNÉRIQUE : adoucir les arrondis pour le look galerie ── */
.review-card, .cat-card, .value-card, .wc-card, .co-box, .co-summary,
.cart-item, .newsletter-inner, .faq-item, .trust-item{ border-radius:0 !important; }


/* ════════════════════════════════════════════════════════════════
   ◐ CONTRASTE GARANTI (v83)
   Fond blanc → texte NOIR (élément + enfants).
   Fond noir → texte BLANC (défaut du site).
   ════════════════════════════════════════════════════════════════ */

/* ── Éléments à FOND BLANC → texte NOIR (+ tous les enfants) ── */
.btn, .btn-primary, .co-btn, .checkout-btn, .cart-checkout-btn, .newsletter-btn, .fn-btn,
.promo-btn, .cart-promo-btn, .search-submit, .product-quick-add, .prod-add-btn, .lux-cta,
.badge-new, .badge-tag.badge-new, .cat-sidebar-promo-badge, .cart-badge, .vdeck-price-badge,
.filter-btn.active, .filter-btn:hover, .prod-size-btn.active, .prod-size-btn.selected,
.size-dot:hover, .product-card .size-dot:hover, .pm-genre-btn.active, .pm-sport-card.active,
.proof-avatar,
.hx-btn-ghost:hover, .lux-cta-ghost:hover, .btn-secondary:hover, .btn-outline:hover{
  color:#000000 !important;
}
.btn *, .btn-primary *, .co-btn *, .checkout-btn *, .cart-checkout-btn *, .newsletter-btn *, .fn-btn *,
.promo-btn *, .cart-promo-btn *, .search-submit *, .product-quick-add *, .prod-add-btn *, .lux-cta *,
.badge-new *, .badge-tag.badge-new *, .cat-sidebar-promo-badge *, .cart-badge *,
.filter-btn.active *, .filter-btn:hover *, .prod-size-btn.active *, .prod-size-btn.selected *,
.pm-genre-btn.active *, .pm-sport-card.active *, .proof-avatar *,
.hx-btn-ghost:hover *, .lux-cta-ghost:hover *, .btn-secondary:hover *, .btn-outline:hover *{
  color:#000000 !important;
}

/* ── Boutons blancs qui s'INVERSENT (fond → transparent au survol) : texte BLANC ── */
.prod-add-btn:hover, .checkout-btn:hover, .cart-checkout-btn:hover, .co-btn:hover, .lux-cta:hover,
.prod-add-btn:hover *, .checkout-btn:hover *, .cart-checkout-btn:hover *, .co-btn:hover *, .lux-cta:hover *{
  color:#ffffff !important;
}

/* ═══ EMOJIS : police système en fallback (évite les boîtes ▯) ═══ */
body, button, input, select, textarea, .lux-cta, .lux-cta-ghost,
.section-title, .hx-title, .hx-grad, .lux-hero-title, .prod-title, h1, h2, h3, h4, h5, h6{
  font-family:'Inter','Helvetica Neue',Arial,'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji','Twemoji Mozilla','EmojiOne Color','Android Emoji',sans-serif !important;
}

/* ═══ Hero : accents VERTS (demande client) ═══ */
.lux-eyebrow{ color:#ffffff !important; }
.lux-hero-meta, .lux-hero-meta span{ color:#ededed !important; }
.lux-hero-meta i{ background:#777777 !important; }

/* ═══ TOP-BAR : marquee défilant (carousel) ═══ */
.top-bar{ overflow:hidden; }
.tb-track{ display:flex; width:max-content; white-space:nowrap; animation:tb-scroll 28s linear infinite; }
.tb-set{ display:inline-flex; align-items:center; gap:10px; flex-shrink:0; padding-right:10px; }
.top-bar:hover .tb-track{ animation-play-state:paused; }
@keyframes tb-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .tb-track{ animation:none; transform:none; } }

/* Gras des textes hero blancs */
.lux-eyebrow{ font-weight:700 !important; }
.lux-hero-meta, .lux-hero-meta span{ font-weight:700 !important; }
