/* ============================================================
   SOCLE refonte V2.5 — fashioncurvyshop.com (02/08/2026, refonte-code)
   Déployé dans : wp-content/themes/enfold-child/refonte-socle.css (STAGING)
   Source de vérité : maintenance-fcs/ux/refonte-socle.css
   Enfilé par : functions.php (enfold-child), hook wp_enqueue_scripts, prio 999

   Ce fichier ne change RIEN visuellement à ce stade : il pose les
   fondations (polices auto-hébergées + variables CSS --fcs-*) sans les
   appliquer à un seul élément du site. L'application aux gabarits vient
   dans les livraisons suivantes (un gabarit à la fois).

   Polices : woff2 auto-hébergés (RGPD — aucun appel navigateur vers
   fonts.googleapis.com / fonts.gstatic.com), subset latin + latin-ext,
   téléchargés depuis Google Fonts (fonts.gstatic.com) le 02/08/2026 :
     - Jost v20     (variable, wght 100-900)
     - Marcellus v14 (regular 400)
     - Birthstone v16 (regular 400)
   Poids total des 6 fichiers (2 subsets x 3 familles) : voir rapport de
   livraison (~121 Ko, sous le budget de 200 Ko).
   ============================================================ */

/* ---------- Jost (variable, wght 100-900) — texte courant ---------- */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/jost-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/jost-var-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------- Marcellus (regular 400) — titres ---------- */
@font-face {
  font-family: 'Marcellus';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/marcellus-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Marcellus';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/marcellus-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------- Birthstone (regular 400) — décorative, usages courts ---------- */
@font-face {
  font-family: 'Birthstone';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/birthstone-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Birthstone';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/birthstone-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ============================================================
   VARIABLES CSS — charte V2.5 (extraites du prototype validé :
   refonte-maquettes/v25/.../Prototype Fashion Curvy.dc.html)
   Ces variables ne sont consommées par AUCUN sélecteur ici : elles sont
   disponibles pour les prochaines livraisons (gabarit par gabarit).
   ============================================================ */
:root {
  /* --- Polices --- */
  --fcs-font-text: 'Jost', system-ui, sans-serif;       /* texte courant, wght 100-900 dispo */
  --fcs-font-title: 'Marcellus', serif;                  /* titres */
  --fcs-font-script: 'Birthstone', cursive;              /* touche manuscrite, usages courts */

  /* --- Couleurs de marque --- */
  --fcs-rose: #ef88a5;            /* rose décoratif (fonds, formes, bandeaux) — PAS en aplats de texte/CTA */
  --fcs-rose-clair: #f5b8c9;      /* variante plus claire du rose décoratif */
  --fcs-framboise: #b04d6b;       /* framboise accessible — CTA, liens, icônes actives (contraste ~5,1:1 sur blanc, AA) */
  --fcs-framboise-clair: #c05a78; /* variante claire de la framboise — utilisée en eyebrow/label et hover secondaire.
                                      /!\ contraste ~4,2:1 sur blanc pour DU TEXTE : sous le seuil AA (4,5:1) en
                                      texte normal < 18px — à réserver au gras/large ou à vérifier avec refonte-seo/compat. */
  --fcs-prune: #2a1620;           /* texte foncé sur fond rose/clair, titres (contraste ~7,1:1 sur --fcs-rose) */
  --fcs-ink: #1c0e15;             /* quasi-noir — fonds sombres (ex. footer) */

  /* --- Neutres (texte) --- */
  --fcs-text-secondary: #3a2a31;  /* texte secondaire (nav, labels de catégorie) */
  --fcs-text-muted: #6b5560;      /* texte atténué */
  --fcs-text-subtle: #8a6b77;     /* texte discret / placeholder */

  /* --- Neutres (fonds & bordures) --- */
  --fcs-bg-soft: #fdeef2;         /* fond de section doux */
  --fcs-bg-card: #f3e3e8;         /* fond de carte / bloc */
  --fcs-border: #e9d3db;          /* bordures / séparateurs sur fond clair */
  --fcs-border-light: #f3c6cf;    /* bordures très légères */
  --fcs-white: #fff;
  --fcs-black: #000;

  /* --- Rayons (fréquences relevées dans le prototype) --- */
  --fcs-radius-pill: 999px;   /* boutons, badges — le plus utilisé */
  --fcs-radius-lg: 20px;
  --fcs-radius-md: 14px;
  --fcs-radius-sm: 10px;

  /* --- Ombres (teintées --fcs-prune, cohérent avec le prototype) --- */
  --fcs-shadow-sm: 0 1px 4px rgba(42, 22, 32, .06);
  --fcs-shadow-md: 0 8px 24px rgba(42, 22, 32, .06);
  --fcs-shadow-lg: 0 16px 40px rgba(42, 22, 32, .1);
  --fcs-shadow-xl: 0 22px 50px rgba(42, 22, 32, .14);

  /* --- Motion (transform/opacity uniquement, cf. règles refonte) --- */
  --fcs-ease-out: cubic-bezier(.16, 1, .3, 1);
  --fcs-duration-micro: 150ms;   /* micro-interactions (hover, focus) */
  --fcs-duration-fast: 200ms;    /* transitions douces, plafond du socle */
  --fcs-duration-enter: 500ms;   /* entrées au scroll (gabarits futurs) */
}

/* ============================================================
   Garde-fou accessibilité motion — posé dès le socle même si aucun
   composant n'anime encore rien : filet de sécurité pour toutes les
   prochaines livraisons (chaque gabarit n'aura rien à refaire).
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
