/* ============================================================
   YOU1S — Refonte design (inspiration The Last Step)
   Typographie plus fine, hero XXL, menu mobile épuré,
   espacements premium. Chargée EN DERNIER → surcharge propre.
   ============================================================ */

/* ── 1. TYPOGRAPHIE PLUS FINE & ÉLÉGANTE ─────────────────────
   Les titres étaient en 800/900 (trop épais). On descend en
   600/500 pour un rendu premium et aéré, sans perdre en lisibilité. */
.header__logo { font-weight: 800; letter-spacing: 0.01em; }

/* Logo officiel (image) — remplace le texte quand un logo existe */
.brand-logo-img { height: 34px; width: auto; display: block; object-fit: contain; }
.brand-logo-img--footer { height: 28px; }
/* Footer sombre : logo noir → blanc */
.brand-logo-img--invert { filter: invert(1); }
.brand-logo-img--drawer { height: 60px; margin: 0 auto; }
@media (min-width: 768px) { .header__logo .brand-logo-img { height: 44px; } }

/* ── Header desktop épuré façon The Last Step ─────────────────
   Logo YOU1S gros tout à gauche · catégories fines & espacées ·
   icônes à droite. Nav = DM Sans 15px regular, Title Case, hairline. */
@media (min-width: 768px) {
  :root { --header-h: 85px; }
  .header {
    box-sizing: border-box;
    height: 85.14px;
    display: block;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }
  .header__top {
    height: 100%;
    box-sizing: border-box;
    justify-content: flex-start;   /* logo tout à gauche */
    padding: 0 var(--page-px);
  }
  .header__logo { font-size: 32px; letter-spacing: 0.005em; }
  /* Catégories espacées sur toute la largeur, parfaitement centrées */
  .header__nav-row {
    display: flex !important;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    align-items: center;
    height: auto;
    margin: 0;
    padding: 0;
    gap: 46px;
  }
}
/* Nav catégories — DM Sans fin & épuré (rendu identique à The Last Step) :
   regular (pas de gras), Title Case, soulignement animé au survol. */
.header__nav-link {
  font-family: 'Chivo', Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #0a0a0a !important;
  position: relative;
}
.header__nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 1px;
  background: #0a0a0a;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(.22, 1, .36, 1);
}
.header__nav-link:hover::after { transform: scaleX(1); }

/* !important : ces éléments sont stylés en <style> inline dans index.html
   (qui vient après ce fichier dans le <head>) — il faut donc forcer. */
.cat-hero__title { font-weight: 600 !important; letter-spacing: -0.005em !important; }
.cat-hero__label { font-weight: 500 !important; letter-spacing: 0.28em !important; }
.cat-hero__sub { font-weight: 400 !important; letter-spacing: 0.12em !important; }
.cat-hero__cta { font-weight: 600 !important; letter-spacing: 0.16em !important; }

.section__title { font-weight: 600; letter-spacing: -0.005em; }
.section-label { font-weight: 500; letter-spacing: 0.2em; }
.section-label--big, .editorial__label, .essentials-label,
.brand-feature__title, .drop-card__brand { font-weight: 600; }

.product-card__brand { font-weight: 500; letter-spacing: 0.1em; }
.product-card__name { font-weight: 500; }

.hp-newsletter__title { font-weight: 600; }
.btn, .cat-hero__cta { font-weight: 600; }

/* ── 2. HERO PLEIN CADRE, PLUS GRAND & PLUS PROPRE ───────────
   Image mise davantage en avant (overlay allégé), texte plus fin. */
/* ── Taille du slider hero — RESPONSIVE ──────────────────────
   Desktop : hauteur fixe conservée (rendu inchangé).
   Tablette : hauteur adaptée à l'écran (viewport).
   Mobile : ratio 4/5 — l'image n'est plus écrasée dans une boîte trop haute. */
.cat-hero.cat-hero--fullscreen { height: 1185.86px !important; min-height: 0 !important; max-height: none !important; }
/* Tablette (≤1024px) : plus de hauteur fixe, on suit l'écran */
@media (max-width: 1024px) {
  .cat-hero.cat-hero--fullscreen {
    height: 82svh !important;
    min-height: 460px !important;
    max-height: none !important;
  }
}
/* Mobile (≤768px) : hero immersif « bord à bord » (rendu façon thelaststep).
   Les images admin sont en PAYSAGE (éditoriales/larges) : dans un cadre portrait
   plein écran, seul l'axe HORIZONTAL est rogné. On règle donc un POINT FOCAL par
   slide, calé sur la compo réelle de chaque visuel, pour garder le produit dans
   le champ (fini le cadrage figé/périmé qui donnait l'effet « mal cropté »).
   NB : 2 visuels (Saucony, Menilo) sont des flat-lays sur toute la largeur : au
   plein écran ils perdent un peu les bords → idéal = versions portrait. */
@media (max-width: 768px) {
  .cat-hero.cat-hero--fullscreen {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 4 !important;      /* portrait immersif, remplit l'écran */
    min-height: 0 !important;
    max-height: 82svh !important;
    overflow: hidden !important;
  }
  .cat-hero__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% center !important;
    display: block !important;
  }
  /* Point focal par slide (compo actuelle des visuels admin) */
  .cat-hero__slide[data-idx="0"] .cat-hero__img { object-position: 76% center !important; } /* Nike : sneakers à droite */
  .cat-hero__slide[data-idx="1"] .cat-hero__img { object-position: 46% center !important; } /* Essentials : sweat centre-gauche */
  .cat-hero__slide[data-idx="2"] .cat-hero__img { object-position: 52% center !important; } /* Asics : sujet centré */
  .cat-hero__slide[data-idx="3"] .cat-hero__img { object-position: 50% center !important; } /* Saucony : étalé pleine largeur */
  .cat-hero__slide[data-idx="4"] .cat-hero__img { object-position: 50% center !important; } /* Menilo : flat-lay pleine largeur */
}
.cat-hero__overlay {
  background: linear-gradient(180deg, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0.05) 40%, rgba(0,0,0,0.45) 100%) !important;
}
.cat-hero__img { transition: transform 8s ease-out; }
.cat-hero__title { font-size: clamp(2.6rem, 9vw, 6.2rem) !important; line-height: 0.92 !important; }

/* ── 3. ESPACEMENTS PREMIUM (plus d'air entre les sections) ── */
.brand-feature { padding-top: 100px; padding-bottom: 100px; }
.hp-newsletter { padding-top: 96px; padding-bottom: 96px; }
.section__header { margin-bottom: 44px; }

/* ── 4. VERSION MOBILE ──────────────────────────────────────── */
@media (max-width: 767px) {
  /* (hauteur du hero gérée plus haut par le bloc ratio 4/5 ≤768px) */
  .cat-hero__title { font-size: clamp(1.9rem, 9vw, 2.8rem) !important; }

  /* Sections un peu plus resserrées sur mobile */
  .brand-feature { padding-top: 56px; padding-bottom: 56px; }
  .hp-newsletter { padding-top: 60px; padding-bottom: 60px; }
}

/* ── 5. MENU MOBILE PLEIN ÉCRAN (style streetwear premium) ──────
   Grands liens capitales en gras, plein écran blanc, croix de
   fermeture, liens secondaires + contact + réseaux. Visible < 1024px. */
.drawer {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100svh !important;
  min-height: 100svh;
  padding: 58px 30px 24px !important;
  display: flex !important;
  flex-direction: column;
  background: #ffffff !important;
  border: none !important;
  overflow-y: auto;
}
.drawer__close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: #0a0a0a;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.drawer__close:hover { transform: rotate(90deg); }

.drawer__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 0;
}
.drawer__big {
  font-family: 'Chivo', Arial, sans-serif;
  font-size: clamp(27px, 8.8vw, 38px);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.015em;
  line-height: 1.1;
  padding: 2px 0;
  border: none;
  background: none;
  color: #0a0a0a;
  -webkit-text-fill-color: #0a0a0a;
  transition: transform 0.2s ease, opacity 0.15s ease;
}
.drawer__big:active { opacity: 0.55; }
.drawer__big:hover { transform: translateX(6px); }
/* Restocks : boîte noire + texte blanc (style « surligné », comme la réf) */
.drawer__big--accent {
  background: #0a0a0a;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  color: #fff;
  -webkit-text-fill-color: #fff;
  padding: 4px 14px 6px;
  border-radius: 4px;
}
.drawer__big--accent:hover { transform: translateX(6px); }

/* ── Originalité : entrée en cascade des liens à l'ouverture ── */
@keyframes drawerItemIn {
  from { opacity: 0; transform: translateX(-26px); }
  to { opacity: 1; transform: translateX(0); }
}
.drawer--open .drawer__main .drawer__big { animation: drawerItemIn 0.5s cubic-bezier(.22,1,.36,1) both; }
.drawer--open .drawer__main .drawer__big:nth-child(1) { animation-delay: 0.10s; }
.drawer--open .drawer__main .drawer__big:nth-child(2) { animation-delay: 0.16s; }
.drawer--open .drawer__main .drawer__big:nth-child(3) { animation-delay: 0.22s; }
.drawer--open .drawer__main .drawer__big:nth-child(4) { animation-delay: 0.28s; }
.drawer--open .drawer__main .drawer__big:nth-child(5) { animation-delay: 0.34s; }
.drawer--open .drawer__main .drawer__big:nth-child(6) { animation-delay: 0.40s; }
.drawer--open .drawer__sec { animation: drawerItemIn 0.5s 0.46s cubic-bezier(.22,1,.36,1) both; }
.drawer--open .drawer__util { animation: drawerItemIn 0.5s 0.52s cubic-bezier(.22,1,.36,1) both; }
.drawer--open .drawer__social { animation: drawerItemIn 0.5s 0.58s cubic-bezier(.22,1,.36,1) both; }
@media (prefers-reduced-motion: reduce) {
  .drawer--open .drawer__main .drawer__big,
  .drawer--open .drawer__sec,
  .drawer--open .drawer__util,
  .drawer--open .drawer__social { animation: none; }
}

/* ══ Drill-down mobile : catégorie → sous-catégories (on reste dans le menu) ══ */
.drawer { overflow-x: hidden !important; }   /* clippe le sous-panneau hors écran */
.drawer__close { z-index: 5; }               /* la croix reste cliquable par-dessus */

/* La catégorie devient un bouton (même DA que .drawer__big) + chevron discret */
.drawer__cat-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  text-align: left;
}
.drawer__cat-chev {
  width: 18px; height: 18px;
  color: #c0c0c0;
  flex-shrink: 0;
  transition: transform 0.2s ease, color 0.2s ease;
}
.drawer__cat-btn:hover .drawer__cat-chev,
.drawer__cat-btn:active .drawer__cat-chev { color: #0a0a0a; transform: translateX(3px); }

/* Sous-panneau qui glisse par-dessus le menu principal */
.drawer__sub-pane {
  position: absolute;
  inset: 0;
  background: #ffffff;
  padding: 58px 30px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  overflow-y: auto;
  transform: translateX(100%);
  visibility: hidden;
  z-index: 3;
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0.42s;
}
.drawer--sub .drawer__sub-pane {
  transform: translateX(0);
  visibility: visible;
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s;
}
.drawer__sub { gap: 24px; margin-top: 4px; }

/* Bouton retour — sobre, en haut du sous-panneau */
.drawer__back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: none;
  border: none;
  cursor: pointer;
  color: #9a9a9a;
  font-family: 'Chivo', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 4px 0;
}
.drawer__back:hover { color: #0a0a0a; }
.drawer__big--all { opacity: 0.5; }
.drawer__big--all:hover { opacity: 1; }

/* Entrée en cascade des sous-catégories quand le panneau s'ouvre */
.drawer--sub .drawer__sub .drawer__big { animation: drawerItemIn 0.5s cubic-bezier(.22,1,.36,1) both; }
.drawer--sub .drawer__sub .drawer__big:nth-child(1) { animation-delay: 0.14s; }
.drawer--sub .drawer__sub .drawer__big:nth-child(2) { animation-delay: 0.20s; }
.drawer--sub .drawer__sub .drawer__big:nth-child(3) { animation-delay: 0.26s; }
.drawer--sub .drawer__sub .drawer__big:nth-child(4) { animation-delay: 0.32s; }
.drawer--sub .drawer__sub .drawer__big:nth-child(5) { animation-delay: 0.38s; }
.drawer--sub .drawer__sub .drawer__big:nth-child(6) { animation-delay: 0.44s; }
.drawer--sub .drawer__sub .drawer__big:nth-child(n+7) { animation-delay: 0.50s; }
@media (prefers-reduced-motion: reduce) {
  .drawer__sub-pane { transition: visibility 0s; }
  .drawer--sub .drawer__sub .drawer__big { animation: none; }
}

.drawer__sec {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
  margin: 30px 0 24px;
  padding-top: 22px;
  border-top: 1px solid #ececec;
}
.drawer__sec a { font-size: 14px; font-weight: 600; color: #0a0a0a; letter-spacing: 0.01em; }

.drawer__util {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 22px;
}
.drawer__util a {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 13.5px;
  font-weight: 500;
  color: #333;
}
.drawer__util svg { width: 18px; height: 18px; flex-shrink: 0; }

.drawer__social { display: flex; gap: 20px; }
.drawer__social a { color: #0a0a0a; display: inline-flex; transition: opacity 0.15s; }
.drawer__social a:active { opacity: 0.55; }
.drawer__social svg { width: 22px; height: 22px; }

/* Logo YOU1S poussé tout en bas, centré horizontalement */
.drawer__brand {
  margin-top: auto;
  padding-top: 22px;
  align-self: center;
  text-align: center;
  font-family: 'Chivo', Arial, sans-serif;
  font-weight: 900;
  font-size: clamp(42px, 13.5vw, 58px);
  letter-spacing: -0.02em;
  line-height: 0.9;
  color: #0a0a0a;
  user-select: none;
}

/* ── 6. TYPO ÉDITORIALE — Bricolage Grotesque ──────────────────
   Police à fort caractère (pas générique), grasse et premium.
   Une seule famille pour les TITRES et les NOMS DE PRODUITS des grilles.
   !important car ces éléments sont stylés par classe (et en <style> inline
   dans index.html qui suit ce fichier). Le hero reste en Anton. */
h1, h2, h3,
.section__title, .cat-header__title, .cpage-subcats__head,
.legal__title, .editorial__title, .brand-feature__title, .hp-newsletter__title,
.essentials-title, .mega__col-title {
  font-family: 'Archivo', 'Chivo', Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
}
/* Noms de produits dans les grilles */
.pcard__name, .brand-card__name {
  font-family: 'Archivo', 'Chivo', Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.005em !important;
}
/* Noms de CATÉGORIES & sous-catégories → Archivo ExtraBold */
.cpage-hero__title, .cpage-card__name {
  font-family: 'Archivo', 'Chivo', Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
}
/* La grille catalogue : nom centré, un peu plus grand (affichage thelaststep) */
.pcard__name {
  font-size: 15px !important;
  line-height: 1.35 !important;
}
/* Hero : titre en Chivo ExtraBold */
.cat-hero__brand {
  font-family: 'Chivo', Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

/* Prix → Chivo Bold (hiérarchie demandée) */
.tablet__card-price, .cart-item__price,
.product__price, .brand-card__price {
  font-weight: 700 !important;
}
/* Cartes produits (grille) : nom en gras, prix en poids normal */
.pcard__price, .pcard__price-now {
  font-weight: 400 !important;
}

/* ══════════════════════════════════════════════════════════════
   CHIVO PARTOUT — filet de sécurité.
   Force Chivo sur absolument tous les éléments (y compris styles
   inline et polices spécifiques : Bebas, Helvetica, Montserrat…).
   On ne touche QUE la police : les graisses/tailles/design restent.
   `* !important` bat toute règle NON-!important quelle que soit sa
   spécificité ; les règles Chivo ci-dessus (plus spécifiques) gardent
   leurs graisses précises. ══════════════════════════════════════ */
*, *::before, *::after,
input, textarea, select, button, optgroup, option {
  font-family: 'Archivo', 'Chivo', Arial, sans-serif !important;
}

/* ══════════════════════════════════════════════════════════════
   TYPO PRODUITS — Archivo (équivalent libre du Neue Haas Display
   de thelaststep.fr). Uniquement les produits : noms, prix,
   marques — partout (grilles, sliders, panier, fiche produit).
   Les titres de sections / accueil restent en Chivo.
   Spécificité classe > `*` → ces règles gagnent. ═══════════════ */
.pcard__name, .pcard__brand, .pcard__price, .pcard__price-now, .pcard__price-old,
.promo-card__name, .promo-card__brand, .promo-card__sale, .promo-card__original,
.drop-card__name, .drop-card__brand, .drop-card__price,
.brand-card__name, .brand-card__price,
.cart-item__name, .cart-item__brand, .cart-item__price,
.product__name, .product__brand, .product__price,
.bs-name, .bs-price,
.pap-brand, .pap-name, .pap-price {
  font-family: 'Archivo', 'Chivo', Arial, sans-serif !important;
}

/* Nav desktop (catégories du header) + mega menu : Archivo aussi,
   comme la nav de thelaststep. */
.header__nav-link,
.mega__col-title, .mega__col-links a, .mega__all {
  font-family: 'Archivo', 'Chivo', Arial, sans-serif !important;
}

/* Fiche produit : titre façon thelaststep (mesuré : 36px / 700 / -0.01em) */
.product__name {
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

/* Noms de produits (grilles + sliders) : médium comme thelaststep —
   en gras 700, Archivo est indiscernable de Chivo ; en 500 le
   caractère Neue Haas devient visible. */
.pcard__name, .brand-card__name, .bs-name, .pap-name,
.promo-card__name, .drop-card__name {
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
}

/* Noms de produits : casse naturelle — affichés exactement comme
   saisis dans l'admin (plus aucun uppercase forcé par le CSS). */
.pcard__name, .brand-card__name, .promo-card__name, .drop-card__name,
.cart-item__name, .bs-name, .pap-name, .product__name {
  text-transform: none !important;
}

/* ══════════════════════════════════════════════════════════════
   EXCEPTION : le SLIDER HERO de l'accueil garde sa typo Chivo.
   Placé en fin de fichier → gagne les égalités de spécificité. */
.cat-hero, .cat-hero *, .cat-hero *::before, .cat-hero *::after {
  font-family: 'Chivo', Arial, sans-serif !important;
}
