/* =========================================================
   event.cm — Design tokens & composants partagés
   DJANGO: servir via {% static 'css/eventcm.css' %}
   ========================================================= */
:root {
    /* Thème de l'ÉVÉNEMENT (ici SaiEF-CEEAC 2026).
       DJANGO: surcharger par événement avec Evenement.couleur_primaire / couleur_accent.
       Les classes *-emerald sont conservées pour compatibilité : elles suivent --ev-primary. */
    --ev-dark: #1A1026;
    --ev-dark-soft: #2a1b3d;
    --ev-primary: #4B1E7A;
    --ev-primary-dark: #2E0F52;
    --ev-primary-light: #6B2FA3;
    --ev-primary-soft: #F3ECFA;
    --ev-accent: #F5C21B;
    --ev-bronze: #B8862D;
    --ev-gray: #64748b;
    --ev-light: #f8fafc;
    --ev-border: #e2e8f0;
}

body {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    color: var(--ev-dark);
    background-color: #fff;
    overflow-x: hidden;
}

.text-emerald { color: var(--ev-primary) !important; }
.bg-emerald { background-color: var(--ev-primary) !important; }
.bg-emerald-soft { background-color: var(--ev-primary-soft) !important; }
.bg-dark-slate { background-color: var(--ev-dark) !important; }
.border-emerald { border-color: var(--ev-primary) !important; }
.fw-extrabold { font-weight: 800; }

.btn-emerald {
    background-color: var(--ev-primary);
    color: #fff;
    font-weight: 600;
    border-radius: 0.75rem;
    border: 1px solid var(--ev-primary);
    transition: all .2s ease;
}
.btn-emerald:hover, .btn-emerald:focus {
    background-color: var(--ev-primary-dark);
    border-color: var(--ev-primary-dark);
    color: #fff;
}
.btn-outline-emerald {
    color: var(--ev-primary);
    border: 2px solid var(--ev-primary);
    font-weight: 600;
    border-radius: 0.75rem;
}
.btn-outline-emerald:hover { background-color: var(--ev-primary); color: #fff; }

.brand-logo {
    font-weight: 800;
    font-size: 1.35rem;
    letter-spacing: -0.5px;
    color: var(--ev-dark);
    text-decoration: none;
}
.brand-logo span { color: var(--ev-primary); }

/* Conteneur QR (SVG généré par eventcm-demo.js) */
.qr-holder svg { width: 100%; height: auto; display: block; }
.qr-holder { background: #fff; line-height: 0; }

/* Toasts */
.ev-toast-zone { position: fixed; top: 16px; left: 50%; transform: translateX(-50%); z-index: 2000; width: min(92vw, 380px); }

/* Avertissement file:// */
.file-warning { display: none; }
.is-file-protocol .file-warning { display: block; }

@media print {
    .no-print { display: none !important; }
}

.min-w-0 { min-width: 0; }
