/* ============================================================
   ORIASUP — base commune (site vitrine + application)
   Couleurs tirées du logo ; police Lexend (pensée pour la lecture).
   Motif signature : le réglage Seyès des cahiers d'école + marge rouge.
   ============================================================ */

@font-face { font-family: "Lexend"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/lexend-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Lexend"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/lexend-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Lexend"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/lexend-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Lexend"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/lexend-latin-700-normal.woff2") format("woff2"); }

:root {
    /* Palette */
    --o-encre: #02315B;        /* bleu du logo : titres, boutons, barre latérale */
    --o-encre-2: #0A4378;      /* survol */
    --o-encre-3: #E6EDF6;      /* fond teinté encre */
    --o-stylo: #1D5BD0;        /* liens, éléments interactifs */
    --o-marge: #D6423A;        /* marge rouge du cahier : un seul accent */
    --o-seyes: #C9D6EE;        /* grandes lignes Seyès */
    --o-seyes-fin: #E5ECF7;    /* lignes fines Seyès */
    --o-papier: #FFFFFF;
    --o-fond: #F4F6FA;         /* fond de l'application */
    --o-graphite: #172033;     /* texte */
    --o-ardoise: #5A667A;      /* texte secondaire */
    --o-trait: #DFE5EF;        /* bordures */
    --o-valide: #17845A;       /* présence validée, paiement reçu */
    --o-alerte: #B7791F;       /* en attente */

    /* Bootstrap */
    --bs-primary: var(--o-encre);
    --bs-primary-rgb: 2, 49, 91;
    --bs-link-color: var(--o-stylo);
    --bs-link-color-rgb: 29, 91, 208;
    --bs-link-hover-color: var(--o-encre);
    --bs-body-font-family: "Lexend", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --bs-body-color: var(--o-graphite);
    --bs-body-color-rgb: 23, 32, 51;
    --bs-secondary-color: var(--o-ardoise);
    --bs-border-color: var(--o-trait);
    --bs-border-radius: .5rem;
    --bs-border-radius-lg: .75rem;
    --bs-success: var(--o-valide);
    --bs-success-rgb: 23, 132, 90;
    --bs-danger: var(--o-marge);
    --bs-danger-rgb: 214, 66, 58;
    --bs-focus-ring-color: rgba(29, 91, 208, .35);
}

body {
    font-family: var(--bs-body-font-family);
    color: var(--o-graphite);
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "kern";
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--o-encre);
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.2;
}

/* Boutons */
.btn { font-weight: 500; border-radius: .5rem; }
.btn-primary {
    --bs-btn-bg: var(--o-encre); --bs-btn-border-color: var(--o-encre);
    --bs-btn-hover-bg: var(--o-encre-2); --bs-btn-hover-border-color: var(--o-encre-2);
    --bs-btn-active-bg: #01264A; --bs-btn-active-border-color: #01264A;
    --bs-btn-disabled-bg: var(--o-encre); --bs-btn-disabled-border-color: var(--o-encre);
}
.btn-outline-primary {
    --bs-btn-color: var(--o-encre); --bs-btn-border-color: var(--o-encre);
    --bs-btn-hover-bg: var(--o-encre); --bs-btn-hover-border-color: var(--o-encre);
    --bs-btn-active-bg: var(--o-encre); --bs-btn-active-border-color: var(--o-encre);
}
.btn-success {
    --bs-btn-bg: var(--o-valide); --bs-btn-border-color: var(--o-valide);
    --bs-btn-hover-bg: #126B49; --bs-btn-hover-border-color: #126B49;
}
.btn-danger {
    --bs-btn-bg: var(--o-marge); --bs-btn-border-color: var(--o-marge);
    --bs-btn-hover-bg: #B8352E; --bs-btn-hover-border-color: #B8352E;
}
.text-primary { color: var(--o-encre) !important; }
.bg-primary { background-color: var(--o-encre) !important; }

/* Focus visible au clavier */
:focus-visible { outline: 3px solid rgba(29, 91, 208, .45); outline-offset: 2px; }
.form-control:focus, .form-select:focus {
    border-color: var(--o-stylo);
    box-shadow: 0 0 0 .2rem rgba(29, 91, 208, .18);
}

/* Motif Seyès : grandes lignes tous les 32px, fines tous les 8px, marge rouge */
.seyes {
    background-color: var(--o-papier);
    background-image:
        linear-gradient(to bottom, var(--o-seyes) 1px, transparent 1px),
        linear-gradient(to bottom, var(--o-seyes-fin) 1px, transparent 1px),
        linear-gradient(to right, var(--o-seyes-fin) 1px, transparent 1px);
    background-size: 100% 32px, 100% 8px, 32px 100%;
}
.seyes-marge { position: relative; }
.seyes-marge::before {
    content: "";
    position: absolute; top: 0; bottom: 0; left: var(--marge-x, 56px);
    width: 2px; background: var(--o-marge); opacity: .75;
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Boutons secondaires recalés sur la palette (anciennes pages : info, warning) */
.btn-info { --bs-btn-color: #fff; --bs-btn-bg: var(--o-stylo); --bs-btn-border-color: var(--o-stylo); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #174BB0; --bs-btn-hover-border-color: #174BB0; --bs-btn-active-bg: #174BB0; --bs-btn-active-color: #fff; }
.btn-outline-info { --bs-btn-color: var(--o-stylo); --bs-btn-border-color: #A9C2EE; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--o-stylo); --bs-btn-hover-border-color: var(--o-stylo); --bs-btn-active-bg: var(--o-stylo); --bs-btn-active-color: #fff; }
.btn-warning { --bs-btn-color: #fff; --bs-btn-bg: var(--o-alerte); --bs-btn-border-color: var(--o-alerte); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #9A6518; --bs-btn-hover-border-color: #9A6518; --bs-btn-active-bg: #9A6518; --bs-btn-active-color: #fff; }
.btn-outline-warning { --bs-btn-color: #8A5A10; --bs-btn-border-color: #E3C27E; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--o-alerte); --bs-btn-hover-border-color: var(--o-alerte); --bs-btn-active-bg: var(--o-alerte); --bs-btn-active-color: #fff; }
.btn-outline-success { --bs-btn-color: var(--o-valide); --bs-btn-border-color: #9ED3BC; --bs-btn-hover-bg: var(--o-valide); --bs-btn-hover-border-color: var(--o-valide); --bs-btn-hover-color: #fff; }
.btn-outline-secondary { --bs-btn-color: #44506A; --bs-btn-border-color: #CBD3E0; --bs-btn-hover-bg: #EEF2F8; --bs-btn-hover-color: var(--o-encre); --bs-btn-hover-border-color: #B8C3D6; }
.text-info { color: var(--o-stylo) !important; }
.text-warning { color: var(--o-alerte) !important; }
