/* ==========================================================================
   IDENTITÉ VISUELLE ANFEP
   Couche de marque chargée après style.css. Tout est préfixé par
   body.anfep-id : retirer cette classe (inc/theme-setup.php) désactive la couche.

   Palette sobre : le vert ANFEP est la seule couleur d'accent.
   Le liseré tricolore (drapeau gabonais) n'apparaît qu'en bas du carrousel
   et en haut du pied de page.
   ========================================================================== */

:root {
    --id-flag-green: #009e60;
    --id-flag-yellow: #fcd116;
    --id-flag-blue: #3a75c4;
    --id-ink: #1c2434;            /* texte principal, légèrement bleuté */
    --id-muted: #5b6475;          /* texte secondaire */
    --id-line: #e3e7ee;           /* bordures */
    --id-surface: #ffffff;
    --id-surface-alt: #f5f7f4;    /* fond de section alterné, teinté vert */
    --id-radius: 12px;
    --id-radius-sm: 8px;
    --id-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px rgba(16, 24, 40, 0.06);
    --id-shadow-hover: 0 2px 4px rgba(16, 24, 40, 0.05), 0 18px 36px rgba(16, 24, 40, 0.10);
    --id-tricolore: linear-gradient(90deg,
        var(--id-flag-green) 0 33.33%,
        var(--id-flag-yellow) 33.33% 66.66%,
        var(--id-flag-blue) 66.66% 100%);
    --font-body: 'Public Sans', 'Segoe UI', Arial, Helvetica, sans-serif;
}

/* ---------- Typographie ---------- */
body.anfep-id {
    font-family: var(--font-body);
    color: var(--id-ink);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.anfep-id h1, body.anfep-id h2, body.anfep-id h3 { text-wrap: balance; }

/* Sur-titres : petit trait jaune + capitales espacées */
body.anfep-id .section-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    color: var(--color-green, #287837);
}
body.anfep-id .section-subtitle::before {
    content: '';
    width: 22px;
    height: 3px;
    border-radius: 2px;
    background: currentColor;
    opacity: 0.6;
}

/* Titres de section : trait vert aligné sur le titre */
body.anfep-id .section-title {
    letter-spacing: -0.01em;
    line-height: 1.15;
    padding-bottom: 18px;
}
body.anfep-id .section-title::after {
    width: 56px;
    height: 4px;
    border-radius: 2px;
    background: var(--color-green, #287837);
}
/* Titre centré => trait centré (corrige le trait resté à gauche) */
body.anfep-id [style*="text-align:center"] .section-title::after,
body.anfep-id [style*="text-align: center"] .section-title::after {
    left: 50%;
    transform: translateX(-50%);
}

/* ---------- Boutons ---------- */
body.anfep-id .btn {
    border-radius: var(--id-radius-sm) !important;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
body.anfep-id .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(16, 24, 40, 0.14); }
body.anfep-id .btn:focus-visible,
body.anfep-id a:focus-visible,
body.anfep-id button:focus-visible { outline: 3px solid rgba(40, 120, 55, 0.45); outline-offset: 2px; }

/* ---------- Héros (carrousel) ---------- */
body.anfep-id .carousel-container { position: relative; }
body.anfep-id .carousel-container::after {        /* liseré tricolore en pied du héros */
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 4px;
    background: var(--id-tricolore);
    z-index: 5;
}
body.anfep-id .slide-title { letter-spacing: -0.015em; text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35); }

/* ---------- Bloc « Trouver une formation » ---------- */
body.anfep-id .find-section { background: var(--id-surface-alt); border-bottom: 0; }
body.anfep-id .find-box {
    position: relative;
    border-radius: var(--id-radius);
    border-color: var(--id-line);
    box-shadow: var(--id-shadow-hover);
    overflow: hidden;
}

/* ---------- Accès rapides ---------- */
body.anfep-id .quick-access-section { padding: 64px 0; }
body.anfep-id .quick-access-item {
    position: relative;
    align-items: flex-start;
    text-align: left;
    gap: 16px;
    padding: 26px 24px 24px;
    border-radius: var(--id-radius);
    border-color: var(--id-line);
    background: var(--id-surface);
    box-shadow: var(--id-shadow);
    overflow: hidden;
}
body.anfep-id .quick-access-item::after {          /* flèche d'action */
    content: '\2192';
    position: absolute;
    right: 22px;
    bottom: 20px;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--color-green, #287837);
    opacity: 0.35;
    transition: transform 0.25s ease, opacity 0.25s ease;
}
body.anfep-id .quick-access-item i {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-size: 1.35rem;
    color: var(--color-green, #287837);
    background: rgba(40, 120, 55, 0.10);
    transition: background-color 0.25s ease, color 0.25s ease;
}
body.anfep-id .quick-access-item span { font-size: 1rem; color: var(--id-ink); padding-right: 24px; }
body.anfep-id .quick-access-item:hover { border-color: var(--color-green, #287837); box-shadow: var(--id-shadow-hover); }
body.anfep-id .quick-access-item:hover i { background: var(--color-green, #287837); color: #fff; }
body.anfep-id .quick-access-item:hover::after { opacity: 1; transform: translateX(4px); }

/* ---------- Cartes des centres ---------- */
body.anfep-id .centre-card {
    border-radius: var(--id-radius) !important;
    border-color: var(--id-line) !important;
    box-shadow: var(--id-shadow) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
body.anfep-id .centre-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--id-shadow-hover) !important;
    border-color: rgba(40, 120, 55, 0.45) !important;
}

/* ---------- Actualités ---------- */
body.anfep-id .news-section { background: var(--id-surface-alt); }
body.anfep-id .news-card {
    position: relative;
    border-radius: var(--id-radius);
    border-color: var(--id-line);
    box-shadow: var(--id-shadow);
}
body.anfep-id .news-card:hover { box-shadow: var(--id-shadow-hover); }
body.anfep-id .news-card-badge { border-radius: 20px; letter-spacing: 0.06em; background: rgba(40, 120, 55, 0.10); color: var(--color-green, #287837); }
body.anfep-id .news-card h4 { color: var(--id-ink); font-size: 1.08rem; }
body.anfep-id .news-card:hover h4 { color: var(--color-green, #287837); }

/* ---------- L'ANFEP en chiffres ---------- */
body.anfep-id .stats-section {
    position: relative;
    padding: 56px 0;
    border-bottom: 0;
    background-color: var(--color-blue);
}
body.anfep-id .stat-card { border-right-color: rgba(255, 255, 255, 0.16); }
body.anfep-id .stat-number { font-size: 3.2rem; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
body.anfep-id .stat-label { color: rgba(255, 255, 255, 0.88); font-weight: 600; letter-spacing: 0.08em; font-size: 0.78rem; line-height: 1.5; }

/* ---------- Mot du Directeur Général ---------- */
body.anfep-id .director-card-wrapper img { border-radius: var(--id-radius); }

/* ---------- Pages intérieures : cartes génériques ---------- */
body.anfep-id .sector-card,
body.anfep-id .concours-card {
    border-radius: var(--id-radius) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
body.anfep-id .sector-card:hover,
body.anfep-id .concours-card:hover { transform: translateY(-2px); box-shadow: var(--id-shadow-hover); }

/* ---------- Fil d'Ariane ---------- */
body.anfep-id .breadcrumbs,
body.anfep-id .anfep-breadcrumbs { font-size: 0.85rem; }

/* ---------- Accessibilité ---------- */
@media (prefers-reduced-motion: reduce) {
    body.anfep-id *, body.anfep-id *::before, body.anfep-id *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (max-width: 768px) {
    body.anfep-id .stat-number { font-size: 2.5rem; }
    body.anfep-id .quick-access-item { padding: 20px 18px; }
}
