/*
   Feuille de style du site facilaires.com.

   ⚠ AUCUNE REQUÊTE VERS UN TIERS, et ce n'est pas une coquetterie : le site
   sert une politique de confidentialité qui affirme que l'application ne
   parle à personne. Charger une police Google ou un script d'analyse sur
   cette page-là ferait exactement ce qu'elle promet d'éviter, et le premier
   visiteur qui ouvre l'inspecteur le verrait. D'où : polices du système,
   aucune image distante, aucun script.

   Les couleurs reprennent la charte de l'app (cf. ui/Theme.kt) : bleu de
   marque #0134C5, encre sombre, gris muets. Le thème suit celui du visiteur.
*/

:root {
    --bleu: #0134C5;
    --bleu-clair: #4B83F0;
    --encre: #12161F;
    --muet: #5B6472;
    --fond: #F7F8FA;
    --carte: #FFFFFF;
    --bord: #E4E7EC;
    --large: 46rem;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bleu: #4B83F0;
        --bleu-clair: #7BA6F5;
        --encre: #ECEFF4;
        --muet: #98A1B0;
        --fond: #10141B;
        --carte: #171C25;
        --bord: #262D3A;
    }
}

* { box-sizing: border-box; }

body {
    margin: 0;
    padding: 0 1.25rem 4rem;
    background: var(--fond);
    color: var(--encre);
    /* Pile système : rendu net partout, zéro téléchargement. */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.65;
    -webkit-text-size-adjust: 100%;
}

.contenu { max-width: var(--large); margin: 0 auto; }

/* ------------------------------- En-tête -------------------------------- */

header.marque {
    max-width: var(--large);
    margin: 0 auto;
    padding: 2rem 0 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

header.marque img { width: 44px; height: 44px; }

header.marque .nom {
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--bleu);
    text-decoration: none;
}

/* -------------------------------- Titres -------------------------------- */

h1 {
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 1.5rem 0 1rem;
}

h2 {
    font-size: 1.3rem;
    line-height: 1.3;
    margin: 2.75rem 0 0.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--bord);
}

h3 {
    font-size: 1.08rem;
    margin: 2rem 0 0.5rem;
}

p { margin: 0 0 1rem; }

ul { margin: 0 0 1rem; padding-left: 1.25rem; }
li { margin-bottom: 0.5rem; }

strong { font-weight: 600; }

code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.88em;
    background: var(--carte);
    border: 1px solid var(--bord);
    border-radius: 4px;
    padding: 0.1em 0.35em;
}

a { color: var(--bleu); }
a:hover { text-decoration: none; }

hr { border: 0; border-top: 1px solid var(--bord); margin: 2.5rem 0; }

/* -------------------------------- Tables --------------------------------
   ⚠ Le conteneur défile horizontalement plutôt que la page : la politique
   porte une table de cinq colonnes qui ne tient pas sur un téléphone, et un
   corps de page qui défile de côté est une plaie sur mobile.
*/

.table-defilante {
    overflow-x: auto;
    margin: 0 0 1.5rem;
    border: 1px solid var(--bord);
    border-radius: 10px;
    background: var(--carte);
}

table { border-collapse: collapse; width: 100%; font-size: 0.94rem; }
th, td { text-align: left; padding: 0.7rem 0.9rem; vertical-align: top; }
th { font-weight: 600; background: var(--fond); white-space: nowrap; }
tr + tr td { border-top: 1px solid var(--bord); }

/* ------------------------------ Page d'accueil -------------------------- */

.chapeau {
    font-size: 1.15rem;
    color: var(--muet);
    margin-bottom: 2rem;
}

.cartes { display: grid; gap: 1rem; margin: 2rem 0; }
@media (min-width: 40rem) { .cartes { grid-template-columns: 1fr 1fr; } }

.carte {
    background: var(--carte);
    border: 1px solid var(--bord);
    border-radius: 12px;
    padding: 1.1rem 1.25rem;
}

.carte h3 { margin: 0 0 0.35rem; font-size: 1.02rem; }
.carte p { margin: 0; color: var(--muet); font-size: 0.96rem; }

.note {
    background: var(--carte);
    border: 1px solid var(--bord);
    border-left: 3px solid var(--bleu);
    border-radius: 8px;
    padding: 0.9rem 1.1rem;
    margin: 1.5rem 0;
    color: var(--muet);
    font-size: 0.96rem;
}

.note p:last-child { margin-bottom: 0; }

/* --------------------------------- Pied --------------------------------- */

footer {
    max-width: var(--large);
    margin: 4rem auto 0;
    padding-top: 1.5rem;
    border-top: 1px solid var(--bord);
    color: var(--muet);
    font-size: 0.9rem;
}

footer p { margin: 0 0 0.4rem; }
footer a { color: var(--muet); }

.liens-pied { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-bottom: 0.75rem; }
