/**
 * Variables FRONT du plugin — namespace de contrat partagé
 *
 * Définit les REPLIS theme-agnostic des tokens consommés par les surfaces
 * frontend du plugin : couleurs (`--cc-couleur-front-*`), polices, rayons,
 * ombres et échelle typographique. Le plugin reste autonome : sous un thème
 * tiers ne fournissant aucune apparence, ces valeurs assurent le look
 * « origine ».
 *
 * Bloc unique `:where(:root)` (spécificité nulle) : tout `:root` ou
 * `html[data-cc-palette]` du thème l'emporte, quel que soit l'ordre de
 * chargement. Les valeurs ci-dessous sont donc des replis, sans obligation
 * d'être identiques à celles du thème.
 *
 * ⚠️ NE PAS confondre avec le design-system ADMIN (`--cc-primary`, `--cc-gray-*`…
 * dans css/core/cc-variables.css) : namespace distinct, périmètre distinct.
 *
 * @package    CaisseConnect
 * @subpackage Frontend
 * @since      1.2.4
 * @version    1.7.2
 */

:where(:root) {
    /* Couleurs de marque et de fond */
    --cc-couleur-front-primaire:        #f1c40f;
    --cc-couleur-front-primaire-texte:  #ffffff;
    --cc-couleur-front-secondaire:      #fff6e6;
    --cc-couleur-front-arriere-plan:    #fff9f2;
    --cc-couleur-front-forte:           #2a8c7a;
    --cc-couleur-front-forte-texte:     #ffffff;
    --cc-couleur-front-texte-principal: #000000;

    /* Ombres (couleur) */
    --cc-couleur-front-ombre-legere:   rgba(0, 0, 0, 0.2);
    --cc-couleur-front-ombre-standard: rgba(0, 0, 0, 0.3);
    --cc-couleur-front-ombre-moyenne:  rgba(0, 0, 0, 0.4);

    /* Surfaces, bordures et texte de corps (le thème les redéfinit) */
    --cc-couleur-front-surface-blockwc: #ffffff;
    --cc-couleur-front-surface-champ:   #ffffff;
    --cc-couleur-front-bordures:        #00000014;
    --cc-couleur-front-bordure-champ:   #d1d5db;
    --cc-couleur-front-texte-corps:     #334155;

    /* Dérivés : recalculés sous chaque palette (html porte ce bloc et le set actif) */
    --cc-couleur-front-texte-attenue: color-mix(in srgb, var(--cc-couleur-front-texte-corps) 75%, transparent);

    --cc-couleur-front-succes: #2e9d4e;
    --cc-couleur-front-erreur: #d64545;
    --cc-couleur-front-alerte: #e08a1e;

    --cc-couleur-front-succes-fond: color-mix(in srgb, var(--cc-couleur-front-succes) 16%, var(--cc-couleur-front-surface-blockwc));
    --cc-couleur-front-erreur-fond: color-mix(in srgb, var(--cc-couleur-front-erreur) 16%, var(--cc-couleur-front-surface-blockwc));
    --cc-couleur-front-alerte-fond: color-mix(in srgb, var(--cc-couleur-front-alerte) 16%, var(--cc-couleur-front-surface-blockwc));

    --cc-couleur-front-succes-bordure: color-mix(in srgb, var(--cc-couleur-front-succes) 40%, var(--cc-couleur-front-surface-blockwc));
    --cc-couleur-front-erreur-bordure: color-mix(in srgb, var(--cc-couleur-front-erreur) 40%, var(--cc-couleur-front-surface-blockwc));
    --cc-couleur-front-alerte-bordure: color-mix(in srgb, var(--cc-couleur-front-alerte) 40%, var(--cc-couleur-front-surface-blockwc));

    --cc-couleur-front-succes-texte: color-mix(in srgb, var(--cc-couleur-front-succes) 65%, var(--cc-couleur-front-texte-principal));
    --cc-couleur-front-erreur-texte: color-mix(in srgb, var(--cc-couleur-front-erreur) 65%, var(--cc-couleur-front-texte-principal));
    --cc-couleur-front-alerte-texte: color-mix(in srgb, var(--cc-couleur-front-alerte) 65%, var(--cc-couleur-front-texte-principal));

    /* Polices (le moteur ou le thème les redéfinit) */
    --cc-police-texte:  system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --cc-police-titres: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    /* Rayons */
    --cc-rayon:       5px;
    --cc-rayon-grand: 10px;

    /* Ombres */
    --cc-ombre-petite:  0 2px 5px var(--cc-couleur-front-ombre-legere);
    --cc-ombre-panneau: 0 6px 18px var(--cc-couleur-front-ombre-legere);
    --cc-ombre-modale:  0 10px 40px var(--cc-couleur-front-ombre-legere);

    /* Échelle typographique */
    --cc-titre-section-taille:    1.3em;
    --cc-titre-bloc-taille:       1.1em;
    --cc-titre-sous-bloc-taille:  1em;
    --cc-texte-petit-taille:      0.9em;
    --cc-texte-etiquette-taille:  0.85em;
    --cc-graisse-titre:           700;
    --cc-graisse-forte:           600;
}
