/* =========================================================================
   Thème clair SAMA (octobre 2026)
   Chargé APRÈS style.css sur toutes les pages sauf l'accueil.
   Fond crème, textes bleu marine, accent orange, cartes blanches.
   ========================================================================= */

:root {
    --clair-fond: #F4F6FA;
    --clair-carte: #FFFFFF;
    --clair-bord: #E6EAF1;
    --clair-texte: #13294B;
    --clair-texte-doux: #3E4C63;
    --clair-accent: #1B3F7A;
    --clair-accent-fond: #FDEEDF;
}

html, body {
    background: var(--clair-fond) !important;
    background-image: none !important;
    color: var(--clair-texte);
    font-family: Lexend, system-ui, sans-serif;
}
body::before, body::after { display: none !important; }
#hero-background { display: none !important; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid var(--clair-accent); outline-offset: 3px;
}

/* ── Contenu ───────────────────────────────────────────────────────────── */
main { padding-top: 8px; }
main h1, main h2, main h3, main h4 {
    color: var(--clair-texte) !important;
    font-family: Lexend, system-ui, sans-serif;
    text-shadow: none !important;
    -webkit-text-fill-color: currentColor;
    background: none;
}
main h1 { font-size: clamp(2rem, 4vw, 2.9rem); line-height: 1.15; }
main h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; }
main p, main li, main .lead, main td, main label, main .text-muted {
    color: var(--clair-texte-doux) !important;
    text-shadow: none !important;
}
main strong { color: var(--clair-texte); }
main a:not(.btn):not([class*="btn-"]):not(.axis-btn):not(.partner-logo-item) { color: var(--clair-texte); font-weight: 600; }
main a:not(.btn):not([class*="btn-"]):not(.axis-btn):not(.partner-logo-item):hover { color: var(--clair-accent); }

.section-label, .hero-eyebrow, .team-section-label {
    color: #1B3F7A !important;
    background: none !important;
    border: none !important;
    padding-left: 0 !important;
    letter-spacing: .06em;
}
.section-label::before, .hero-eyebrow::before { background: var(--clair-accent) !important; }

/* Boutons */
.btn, .btn-primary, button[type="submit"] {
    background: var(--clair-accent) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    padding: 14px 22px !important;
    box-shadow: none !important;
}
.btn:hover, .btn-primary:hover, button[type="submit"]:hover { background: #13294B !important; }

/* Cartes génériques */
.card, .feature-card, .simple-card, .pedagogy-item, .contact-info, .contact-form,
.team-card-v2, .team-featured-card, .news-card, .cta-section, .legal-content,
.partner-logo-item {
    background: var(--clair-carte) !important;
    border: 1px solid var(--clair-bord) !important;
    border-radius: 20px !important;
    box-shadow: 0 2px 10px rgba(18, 48, 92, 0.04) !important;
    color: var(--clair-texte-doux) !important;
    backdrop-filter: none !important;
}
.card *, .feature-card *, .simple-card *, .pedagogy-item *, .news-card * { text-shadow: none !important; }
.simple-card h4, .simple-card h3, .feature-card h3, .pedagogy-item h3, .news-card h3 { color: var(--clair-texte) !important; }
.simple-card-icon { background: var(--clair-accent-fond) !important; color: var(--clair-accent) !important; }

/* ── Page Formations ───────────────────────────────────────────────────── */
.formations-hero {
    background: var(--clair-fond) !important;
    background-image: none !important;
    color: var(--clair-texte) !important;
    padding: 56px 0 40px !important;
    min-height: 0 !important;
}
.formations-hero::before, .formations-hero::after { display: none !important; }
.formations-hero h1 em, .formations-hero h1 span { color: var(--clair-accent) !important; -webkit-text-fill-color: currentColor; font-style: normal; }
.hero-stat { background: var(--clair-carte) !important; border: 1px solid var(--clair-bord) !important; color: var(--clair-texte) !important; border-radius: 14px !important; }
.hero-stat * { color: var(--clair-texte) !important; }
.axis-nav-wrap, .axis-nav {
    background: var(--clair-fond) !important;
    border-color: var(--clair-bord) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
.axis-btn {
    background: var(--clair-carte) !important;
    color: var(--clair-texte) !important;
    border: 1px solid var(--clair-bord) !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
}
.axis-btn.active { background: var(--clair-texte) !important; color: #FFFFFF !important; border-color: var(--clair-texte) !important; }
.axis-panel, .section-block { background: transparent !important; }
.formation-card {
    background: var(--clair-carte) !important;
    border: 1px solid var(--clair-bord) !important;
    border-radius: 20px !important;
    box-shadow: 0 2px 10px rgba(18, 48, 92, 0.05) !important;
    backdrop-filter: none !important;
    color: var(--clair-texte-doux) !important;
}
.formation-card:hover { box-shadow: 0 14px 34px rgba(18, 48, 92, 0.12) !important; }
.formation-card .card-title { color: var(--clair-texte) !important; }
.formation-card .card-accroche { color: var(--clair-texte-doux) !important; }
.formation-card .card-code-badge { background: var(--clair-accent-fond) !important; color: #8A4A0C !important; }
.formation-card .card-meta-pill {
    background: #F4F6FA !important;
    border: 1px solid var(--clair-bord) !important;
    color: var(--clair-texte) !important;
}
.formation-card .card-cta { color: var(--clair-accent) !important; background: none !important; }
.formation-card .financeurs-label { color: var(--clair-texte-doux) !important; }
.financeur-logo { background: #FFFFFF !important; border: 1px solid var(--clair-bord) !important; }

/* Fenêtre « En savoir plus » : panneau clair */
.modal-panel { background: var(--clair-fond) !important; }
.modal-section-title { color: #1B3F7A !important; border-bottom-color: var(--clair-bord) !important; }
.modal-list li, .modal-text { color: var(--clair-texte-doux) !important; }
.modal-body p, .modal-body li { color: var(--clair-texte-doux) !important; }

/* ── Page Actualités ───────────────────────────────────────────────────── */
.actu-hero {
    background: var(--clair-fond) !important;
    background-image: none !important;
    min-height: 0 !important;
    padding: 56px 0 24px !important;
    color: var(--clair-texte) !important;
}
.actu-hero::before, .actu-hero::after { display: none !important; }
.news-card time { color: var(--clair-texte-doux) !important; }
.news-card .news-cta { background: var(--clair-texte) !important; color: #FFFFFF !important; }

/* ── Page Partenaires ──────────────────────────────────────────────────── */
.partner-logo-item { padding: 14px !important; }
.partner-logo-item img { filter: none !important; opacity: 1 !important; }

/* ── Page Contact ──────────────────────────────────────────────────────── */
.contact-form input, .contact-form select, .contact-form textarea {
    background: #FFFFFF !important;
    color: var(--clair-texte) !important;
    border: 1px solid #C6D0DE !important;
    border-radius: 10px !important;
    padding: 12px !important;
    font-size: 16px !important;
}
.contact-form label { color: var(--clair-texte) !important; font-weight: 600; }

/* ── Page L'Association ────────────────────────────────────────────────── */
.internal-nav a {
    background: var(--clair-carte) !important;
    color: var(--clair-texte) !important;
    border: 1px solid var(--clair-bord) !important;
}
.team-card-v2 h4, .team-featured-card h4, .team-details h4 { color: var(--clair-texte) !important; }
.team-card-v2 .role, .team-featured-card .role, .team-details .role { color: var(--clair-accent) !important; }
.team-card-v2 .diploma, .team-details .diploma, .team-lieux { color: var(--clair-texte-doux) !important; }
.team-section-label { font-weight: 700 !important; }

/* ── Pages légales ─────────────────────────────────────────────────────── */
.legal-content { padding: 40px !important; margin-top: 32px !important; margin-bottom: 48px !important; }
.legal-section h2 { color: var(--clair-texte) !important; border-bottom-color: var(--clair-bord) !important; }
.legal-section p, .legal-section li { color: var(--clair-texte-doux) !important; }

@media (max-width: 640px) {
    .legal-content { padding: 22px !important; }
}

/* Retouches */
.contact-info, .contact-form { padding: 28px !important; }
.contact-info address { font-style: normal; line-height: 1.8; }
.contact-grid { gap: 24px !important; }
.hero-stat { padding: 10px 16px !important; }
.card, .feature-card, .simple-card, .pedagogy-item { padding: 24px; }
@media (max-width: 640px) {
    .contact-info, .contact-form { padding: 20px !important; }
}

/* ── Lisibilité : corrections du 02/11/2026 ───────────────────────────── */
/* Texte d'une actualité (page détail) */
.news-detail, .news-detail-text, .news-detail-text--full, .news-content, .news-item, .news-item * {
    color: var(--clair-texte-doux) !important;
}
.news-detail h1, .news-item h2, .news-item h3 { color: var(--clair-texte) !important; }
.news-detail .date, .news-detail small { color: #4A5872 !important; }
.news-detail-image img { border-radius: 16px; max-width: 100%; height: auto; }
.back-link { color: var(--clair-texte) !important; font-weight: 700; }

/* Bandeau foncé « Parlons de votre projet » (page Formations) */
main .cta-dark h2, main .cta-dark p { color: #FFFFFF !important; }
main .cta-dark p:first-child { color: #F2B37A !important; }

/* Fenêtre « En savoir plus » */
.modal-hero-band { background: #13294B !important; }
.modal-hero-band h2 { color: #FFFFFF !important; }
.info-chip-text strong { color: #1B3F7A !important; }
.btn-modal-primary { background: #1B3F7A !important; color: #FFFFFF !important; }
.btn-modal-primary:hover { background: #13294B !important; }
.contact-box { background: #FDEEDF !important; }
.contact-box p { color: #13294B !important; }

/* Liens et petits textes trop clairs */
main small, main time, main .text-muted { color: #4A5872 !important; }

/* ── Actualités : images à taille raisonnable sur tous les écrans (02/11/2026) ── */
.news-item { align-items: flex-start; }
.news-item .news-image { flex: 0 0 240px !important; width: 240px; max-width: 100%; }
.news-item .news-image img {
    width: 100% !important; height: 180px; object-fit: cover; object-position: center 25%;
    border-radius: 14px !important; display: block;
}
.news-item .news-content { flex: 1 1 0; min-width: 0; }
.news-detail-body { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }
.news-detail-image { flex: 0 1 380px; max-width: 100%; }
.news-detail-image img {
    width: 100% !important; max-height: 420px; object-fit: cover; object-position: center 25%;
    border-radius: 16px !important; display: block;
}
.news-detail-text { flex: 1 1 320px; min-width: 0; font-size: 1.05rem; line-height: 1.75; }
@media (max-width: 760px) {
    .news-item { flex-direction: column !important; gap: 16px !important; }
    .news-item .news-image { flex: none !important; width: 100%; }
    .news-item .news-image img { height: 200px; }
    .news-detail-image img { max-height: 280px; }
    .news-detail-body { display: block !important; }
    .news-detail-image { margin-bottom: 20px; }
    .news-detail-text { min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
}

/* ── Page CGV (02/11/2026) ── */
.cgv-page { max-width: min(900px, calc(100vw - 24px)) !important; width: auto !important; box-sizing: border-box; min-width: 0; }
.cgv-page > * { max-width: 100%; }
.cgv-page h1 { margin-bottom: .5rem; }
.cgv-page .cgv-intro { color: #4A5872 !important; margin-bottom: 1.25rem; }
.cgv-page h2 { font-size: 1.25rem !important; margin: 2.2rem 0 .8rem; padding-bottom: .4rem; border-bottom: 1px solid var(--clair-bord); }
.cgv-page p, .cgv-page li { line-height: 1.7; }
.cgv-page ul { padding-left: 1.2rem; }
.cgv-page a:not(.btn) { word-break: break-word; }
.cgv-table { max-width: 100%; overflow-x: auto; margin: 1rem 0 1.5rem; border: 1px solid var(--clair-bord); border-radius: 12px; }
.cgv-table table { border-collapse: collapse; min-width: 720px; width: 100%; font-size: .92rem; }
.cgv-table th { background: #13294B !important; color: #FFFFFF !important; text-align: left; padding: 10px 12px; text-transform: none; letter-spacing: 0; }
.cgv-table td { padding: 10px 12px; border-top: 1px solid var(--clair-bord); vertical-align: top; color: var(--clair-texte-doux) !important; background: #FFFFFF; }
.cgv-table tr:nth-child(even) td { background: #F7F9FC; }
