/* ══════════════════════════════════════════════════════════════
   GA-PUBLIC.CSS — Design « Atelier » pour les pages de connexion,
   système et publiques (connexion, mot de passe, administration, scan,
   dons, réservations, boutique, événements…).
   Chargé après les styles de la page. Le mode sombre est conservé.
══════════════════════════════════════════════════════════════ */

:root {
    --g:      var(--ga-v, #3cb371);
    --g-600:  color-mix(in srgb, var(--g) 80%, #000);
    --g-700:  color-mix(in srgb, var(--g) 64%, #000);
    --g-800:  color-mix(in srgb, var(--g) 46%, #000);
    --g-900:  color-mix(in srgb, var(--g) 30%, #000);
    --g-50:   color-mix(in srgb, var(--g) 8%, #fff);
    --police: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
:root, [data-theme="light"], [data-theme="dark"] {
    --v:  var(--g) !important;
    --v2: var(--g-700) !important;
    --v3: var(--g-800) !important;
    --fd: var(--police) !important;
    --fc: var(--police) !important;
    --fb: var(--police) !important;
    --fu: var(--police) !important;
    /* panneau de gauche : vert profond, texte blanc lisible */
    --lp1: var(--g-600) !important;
    --lp2: var(--g-700) !important;
    --lp3: var(--g-900) !important;
    --lp-txt: #fff !important;
    --lp-muted: rgba(255,255,255,.78) !important;
    --lp-faint: rgba(255,255,255,.5) !important;
    --gold: color-mix(in srgb, var(--g) 35%, #fff) !important;
    --r: 12px;
}
:root:not([data-theme="dark"]) {
    --v-pale: var(--g-50) !important;
    --v-soft: color-mix(in srgb, var(--g) 9%, transparent) !important;
    --v-med:  color-mix(in srgb, var(--g) 18%, transparent) !important;
    --v-glow: color-mix(in srgb, var(--g) 26%, transparent) !important;
    --v-border: color-mix(in srgb, var(--g) 30%, transparent) !important;
    --border-h: color-mix(in srgb, var(--g) 35%, transparent) !important;
    --bg: #faf8f6 !important; --bg2: #f5f2ef !important;
}

html body { font-family: var(--police) !important; word-spacing: .04em; }
html body *:not(i):not(svg):not(.fa):not([class*="fa-"]) { letter-spacing: 0 !important; }
.lp-dots, .lp-dots-tl, .bg-dots, .page-bg { opacity: .35; }

/* Titres */
html body h1, html body h2, html body .brand-h1, html body .hero-title, html body .page-title, html body .card-title {
    font-weight: 800 !important; letter-spacing: -.03em !important;
}
html body .brand-h1 strong { letter-spacing: -.02em !important; }

/* Libellés en petites capitales : plus sobres */
html body .eyebrow, html body .hero-eyebrow, html body .sec-label, html body .section-label, html body .fl, html body .label {
    letter-spacing: .06em !important;
}

/* Boutons et champs */
html body button, html body .btn, html body [class*="btn-"], html body .rc {
    text-transform: none !important; border-radius: 12px; font-family: var(--police) !important;
}
html body input:not([type="checkbox"]):not([type="radio"]), html body select, html body textarea { border-radius: 12px; font-family: var(--police); }
html body input:focus, html body select:focus, html body textarea:focus { outline: 0; box-shadow: 0 0 0 4px color-mix(in srgb, var(--g) 22%, transparent) !important; border-color: var(--g) !important; }

/* En-tête des pages publiques (même gabarit que la buvette) */
html body .site-header { background: color-mix(in srgb, var(--surface, #fff) 92%, transparent); backdrop-filter: blur(12px); box-shadow: none; }
html body .site-header::before { display: none; }
html body .header-name { font-size: 15px; font-weight: 800; text-transform: none; }
html body .header-name span { font-size: 12px; font-weight: 500; text-transform: none; color: var(--muted); }
html body .btn-back { min-height: 40px; padding: 0 15px; font-size: 14px; font-weight: 700; text-transform: none; border-radius: 12px; }

/* Pages à variables --primary (annonceurs…) : couleur de l'amicale */
:root, [data-theme] {
    --primary: var(--g-600) !important;
    --primary-dark: var(--g-700) !important;
    --primary-light: var(--g-50) !important;
}
