/* =========================================================================
   Style C SAMA (novembre 2026)
   Couleurs du logo, police Lexend, logo animé.
   Chargé EN DERNIER sur toutes les pages.
   ========================================================================= */

:root {
    --c-texte: #13294B;
    --c-texte-doux: #3E4C63;
    --c-fond: #F4F6FA;
    --c-bord: #E6EAF1;
    --c-bouton: #1B3F7A;
    --c-rouge: #D7262E;
    --c-violet: #8E2C8E;
    --c-bleu: #1E88D0;
    --c-vert: #4C9A2A;
    --c-orange: #E8821E;
    --ff-head: Lexend, system-ui, sans-serif;
    --ff-body: Lexend, system-ui, sans-serif;
    /* variables du thème clair, passées en style C */
    --clair-fond: #F4F6FA;
    --clair-bord: #E6EAF1;
    --clair-texte: #13294B;
    --clair-texte-doux: #3E4C63;
    --clair-accent: #1B3F7A;
    --clair-accent-fond: #EAF1FA;
}

html, body { font-family: Lexend, system-ui, sans-serif !important; }
body { background: var(--c-fond) !important; color: var(--c-texte); }
main h1, main h2, main h3, main h4, h1, h2, h3, h4 { font-family: Lexend, system-ui, sans-serif !important; }
main h1, main h2 { font-weight: 700 !important; }
button, input, select, textarea { font-family: inherit; }

/* ── Bande aux couleurs du logo ───────────────────────────────────────── */
.sama-stripe { height: 6px; display: flex; }
.sama-stripe span { flex: 1; }
.sama-stripe span:nth-child(1) { background: #D7262E; }
.sama-stripe span:nth-child(2) { background: #8E2C8E; }
.sama-stripe span:nth-child(3) { background: #1E88D0; }
.sama-stripe span:nth-child(4) { background: #4C9A2A; }
.sama-stripe span:nth-child(5) { background: #E8821E; }
.sama-stripe span:nth-child(6) { background: #1B3F7A; }
footer .sama-stripe { height: 4px; }

/* ── Logo animé ───────────────────────────────────────────────────────── */
.sama-logo-wrap { position: relative; width: 60px; height: 60px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sama-ring { position: absolute; inset: 0; border-radius: 50%;
    background: conic-gradient(#D7262E, #8E2C8E, #1E88D0, #4C9A2A, #E8821E, #1B3F7A, #D7262E);
    animation: samaRing 14s linear infinite; }
.sama-ring-in { position: absolute; inset: 4px; border-radius: 50%; background: #FFFFFF; }
.sama-logo-wrap img.sama-logo { position: relative; width: 46px !important; height: 46px !important; object-fit: contain;
    animation: samaIn 1.4s cubic-bezier(.2,.8,.2,1) both; transition: transform .9s ease; }
.sama-logo-wrap:hover img.sama-logo, a:focus-visible .sama-logo { transform: rotate(360deg); }
@keyframes samaIn { 0% { opacity: 0; transform: rotate(-200deg) scale(.3); } 70% { opacity: 1; } 100% { opacity: 1; transform: rotate(0) scale(1); } }
@keyframes samaRing { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sama-ring, .sama-logo-wrap img.sama-logo { animation: none; } }

/* ── En-tête ──────────────────────────────────────────────────────────── */
.sh-nav { gap: 6px 10px !important; }
.sh-nav a { padding: 6px 12px; border-radius: 8px; color: #13294B; }
.sh-nav a:hover { background: #F4F6FA; color: #1B3F7A; }
.sh-nav a[aria-current="page"] { background: #EAF1FA; color: #1B3F7A !important; font-weight: 700; }
.sh-phone { background: #1B3F7A !important; border-radius: 12px !important; font-weight: 600 !important; }
.sh-toggle { background: #1B3F7A !important; border-radius: 12px !important; font-family: Lexend, system-ui, sans-serif !important; font-weight: 600 !important; }
@media (max-width: 820px) {
    .sama-logo-wrap { width: 50px; height: 50px; }
    .sama-logo-wrap img.sama-logo { width: 38px !important; height: 38px !important; }
    .sh-nav.open a { border-radius: 0; border-bottom-color: #E6EAF1 !important; }
    .sh-nav.open { border-top-color: #E6EAF1 !important; }
}

/* ── Boutons et repères ───────────────────────────────────────────────── */
.btn, .btn-primary, button[type="submit"], .btn-modal-primary { background: #1B3F7A !important; border-radius: 12px !important; font-weight: 600 !important; }
.btn:hover, .btn-primary:hover, button[type="submit"]:hover, .btn-modal-primary:hover { background: #13294B !important; }
.section-label, .hero-eyebrow, .team-section-label, .modal-section-title { color: #1B3F7A !important; font-weight: 600 !important; }
.section-label::before, .hero-eyebrow::before { background: #E8821E !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: #1E88D0 !important; }
main a:not(.btn):not([class*="btn-"]):not(.axis-btn):not(.partner-logo-item):hover { color: #1B5FA3 !important; }

/* Cartes : sans bordure, sur fond gris clair */
.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, .formation-card {
    border-color: transparent !important;
    box-shadow: 0 1px 3px rgba(19, 41, 75, .06) !important;
}
.simple-card-icon { background: #EAF1FA !important; color: #1B3F7A !important; }
.simple-card-icon svg { color: #1B3F7A !important; }
.contact-box { background: #F4F6FA !important; border-left: 5px solid #1E88D0; }
.contact-box p { color: #13294B !important; }
.modal-hero-band { background: #13294B !important; }
.cgv-table th { background: #13294B !important; }
.cgv-table tr:nth-child(even) td { background: #F7F9FC !important; }

/* ── Page Formations : héros ──────────────────────────────────────────── */
.formations-hero h1 em, .formations-hero h1 span { color: #1B3F7A !important; }
.hero-stat { background: #FFFFFF !important; border-color: transparent !important; border-left: 5px solid #E8821E !important; }
.hero-stat + .hero-stat { border-left-color: #4C9A2A !important; }

/* ── Page Formations : onglets illustrés ──────────────────────────────── */
.axis-nav-wrap { background: #F4F6FA !important; position: static !important; }
.axis-nav-title { margin: 24px 0 14px; font-size: 1.15rem; font-weight: 600; color: #13294B; }
.axis-nav.axis-tiles {
    display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px; padding: 0 0 8px !important; overflow: visible !important; background: transparent !important; border: 0 !important;
}
.axis-tiles .axis-btn {
    display: flex !important; align-items: center; gap: 14px; text-align: left;
    padding: 16px !important; min-height: 92px; border-radius: 18px !important;
    background: #FFFFFF !important; color: #13294B !important;
    border: 3px solid transparent !important; white-space: normal !important;
    font: inherit !important; cursor: pointer; box-shadow: 0 1px 3px rgba(19,41,75,.06) !important;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.axis-tiles .axis-btn:hover { transform: translateY(-2px); }
.axis-tiles .axis-btn .ax-icon {
    flex-shrink: 0; width: 60px; height: 60px; border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
}
.axis-tiles .axis-btn .ax-icon svg { width: 34px; height: 34px; }
.axis-tiles .axis-btn .ax-txt { display: flex; flex-direction: column; gap: 2px; }
.axis-tiles .axis-btn .ax-label { font-weight: 700; font-size: 1.1rem; color: #13294B; }
.axis-tiles .axis-btn .ax-obj { font-weight: 400; font-size: .92rem; line-height: 1.4; color: #3E4C63; }
.axis-tiles .ax-quotidien .ax-icon { background: #FDEEDF; color: #B05A0E; }
.axis-tiles .ax-emploi .ax-icon { background: #E3F1FB; color: #1067A3; }
.axis-tiles .ax-numerique .ax-icon { background: #EAF5E3; color: #3A7A1F; }
.axis-tiles .ax-autres .ax-icon { background: #F3E6F3; color: #7A2479; }
.axis-tiles .ax-quotidien.active { border-color: #E8821E !important; background: #FFF6EC !important; }
.axis-tiles .ax-emploi.active { border-color: #1E88D0 !important; background: #EFF7FD !important; }
.axis-tiles .ax-numerique.active { border-color: #4C9A2A !important; background: #F2F9EE !important; }
.axis-tiles .ax-autres.active { border-color: #8E2C8E !important; background: #FAF2FA !important; }
.axis-tiles .axis-btn.active { color: #13294B !important; box-shadow: 0 8px 24px rgba(19,41,75,.08) !important; }

/* ── Page Formations : cartes ─────────────────────────────────────────── */
.formation-card { border-top: 6px solid var(--card-accent, #1B3F7A) !important; border-radius: 18px !important; }
.formation-card::before { display: none !important; }
.formation-card .card-head { display: flex; align-items: center; gap: 12px; }
.formation-card .card-icon {
    flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: var(--badge-bg, #EAF1FA); color: var(--icon-color, #1B3F7A);
}
.formation-card .card-icon svg { width: 26px; height: 26px; }
.formation-card .card-code-badge {
    background: var(--badge-bg, #EAF1FA) !important; color: var(--badge-color, #1B3F7A) !important;
    border-radius: 8px !important; font-weight: 700 !important; letter-spacing: .05em;
    margin: 0 !important; position: static !important;
}
.formation-card .card-title { font-weight: 600 !important; }
.formation-card .card-meta-pill { background: #F4F6FA !important; border-color: transparent !important; color: #13294B !important; }
.formation-card .card-cta { color: #FFFFFF !important; background: #1B3F7A !important; padding: 10px 16px !important; border-radius: 12px !important; font-size: .9rem !important; }
.formation-card:hover .card-cta { background: #13294B !important; }

/* ── Bandeau cookies ──────────────────────────────────────────────────── */
#cookie-banner { background: rgba(19, 41, 75, .98) !important; font-family: Lexend, system-ui, sans-serif; }
#cookie-banner .cookie-btn { border-radius: 12px !important; font-family: inherit !important; }
#cookie-banner .cookie-btn-accept { background: #FFFFFF !important; color: #13294B !important; }
#cookie-banner a { color: #F2B37A !important; }

/* ── Retouches de mise en page ────────────────────────────────────────── */
.section-label { font-size: .9rem !important; letter-spacing: .08em !important; }
.section-block.page-container { padding-left: 20px !important; padding-right: 20px !important; }
@media (max-width: 640px) {
    .section-block.page-container { padding-left: 16px !important; padding-right: 16px !important; }
    .axis-tiles .axis-btn { min-height: 0; padding: 12px !important; }
    .axis-tiles .axis-btn .ax-icon { width: 48px; height: 48px; border-radius: 14px; }
    .axis-tiles .axis-btn .ax-icon svg { width: 28px; height: 28px; }
}
h1, h2, h3, h4 { color: #13294B; }

/* ── Fenêtre de détail d'une formation (03/11/2026) ───────────────────── */
.modal-close { background: #F4F6FA !important; border-color: #E6EAF1 !important; color: #13294B; }
.modal-close:hover { background: #EAF1FA !important; }
.contact-box { border: 0 !important; border-left: 5px solid #1E88D0 !important; }
