/* ============================================================
   ANMC — Charte Graphique Officielle (Edition 2025)
   Fichier de surcharge global : à charger EN DERNIER dans tous
   les layouts (base.html.twig, baseAuth.html.twig, etc.)
   ============================================================ */

/* ----------------------------------------------------------
   1. VARIABLES
   ---------------------------------------------------------- */
:root {
    --anmc-vert:        #1A3B2B;   /* Vert Institutionnel — couleur principale */
    --anmc-vert-2:      #2D6B47;   /* Vert Secondaire — hover, variantes       */
    --anmc-orange:      #D4730A;   /* Orange Accent — CTA, alertes, liens      */
    --anmc-beige:       #F5F0E8;   /* Beige Neutre — fonds, cards              */
    --anmc-texte:       #3D3D3D;   /* Gris Texte — corps de texte              */
    --anmc-blanc:       #FFFFFF;

    /* Remplacement des variables Bootstrap / template existant */
    --primary:          #1A3B2B;
    --secondary:        #D4730A;
    --light:            #F5F0E8;
    --dark:             #1A3B2B;
    --orange:           #D4730A;

    /* Bootstrap overrides */
    --bs-primary:       #1A3B2B;
    --bs-primary-rgb:   26, 59, 43;
    --bs-secondary:     #D4730A;
    --bs-secondary-rgb: 212, 115, 10;
    --bs-body-color:    #3D3D3D;
    --bs-body-bg:       #FFFFFF;

    /* Typographie */
    --font-titre:       'Georgia', 'Garamond', 'Times New Roman', serif;
    --font-corps:       'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;

    /* Rayons (charte) */
    --radius-sm:        4px;
    --radius-md:        8px;
    --radius-lg:        12px;
    --radius-pill:      99px;

    /* Espacements (charte : 4 8 12 16 24 32 48) */
    --sp-1: 4px;
    --sp-2: 8px;
    --sp-3: 12px;
    --sp-4: 16px;
    --sp-5: 24px;
    --sp-6: 32px;
    --sp-7: 48px;
}

/* ----------------------------------------------------------
   2. TYPOGRAPHIE GLOBALE
   ---------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@300;400;600&display=swap');

body {
    font-family: var(--font-corps);
    color: var(--anmc-texte);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--font-titre);
    color: var(--anmc-vert);
    font-weight: 700;
    line-height: 1.15;
    text-transform: none;
}

p, li, label, td, th, small, span {
    font-family: var(--font-corps);
    line-height: 1.6;
}

a {
    color: var(--anmc-orange);
}

a:hover {
    color: var(--anmc-vert-2);
}

/* ----------------------------------------------------------
   3. SPINNER
   ---------------------------------------------------------- */
#spinner .spinner-grow {
    color: var(--anmc-orange) !important;
}

/* ----------------------------------------------------------
   4. TOPBAR
   ---------------------------------------------------------- */
.anmc-topbar {
    background-color: var(--anmc-vert);
    border-bottom: 2px solid var(--anmc-orange);
    padding: 0;
    height: 38px;
}

.anmc-topbar .container-fluid {
    height: 100%;
}

.anmc-topbar .container-fluid > div {
    height: 100%;
}

.anmc-topbar-item {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-corps);
    font-size: 12.5px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.85);
    padding: 0 14px;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, 0.10);
}

.anmc-topbar-item:first-child {
    padding-left: 0;
    border-left: none;
}

.anmc-topbar-item span {
    color: rgba(255, 255, 255, 0.85);
    font-family: var(--font-corps);
    font-size: 12.5px;
    white-space: nowrap;
}

.anmc-topbar-icon {
    color: var(--anmc-orange);
    font-size: 12px;
    flex-shrink: 0;
}

.anmc-topbar-social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.80) !important;
    font-size: 13px;
    text-decoration: none !important;
    transition: background-color 0.2s, color 0.2s, transform 0.2s;
    flex-shrink: 0;
    line-height: 1;
}

.anmc-topbar-social i {
    color: inherit !important;
    font-size: 13px;
    line-height: 1;
}

.anmc-topbar-social:hover {
    background-color: var(--anmc-orange);
    color: #fff !important;
    transform: translateY(-1px);
}

.anmc-topbar-social:hover i {
    color: #fff !important;
}

/* ----------------------------------------------------------
   5. NAVBAR
   ---------------------------------------------------------- */

/* Redéfinition des variables héritées du thème (form/style.css) */
:root {
    --section-bg:      #D4730A;
    --headding-color:  #ffffff;
    --bg2-overly:      #e8e2d8;
    --text-color:      #1A3B2B;
    --body-color:      #F5F0E8;
}

/* ---- Barre navbar ---- */
.navbar.sticky-top,
nav.navbar {
    background-color: var(--anmc-blanc) !important;
    border-bottom: 3px solid var(--anmc-orange);
    box-shadow: 0 2px 16px rgba(26, 59, 43, 0.08);
    padding-top: 0;
    padding-bottom: 0;
    z-index: 1030;
}

.navbar-brand img {
    max-height: 64px;
}

/* ---- Liens principaux — couleurs charte ---- */
/* Vert au repos — surcharge form/style.css (.mean-menu ul li a + .current > a) */
nav.navbar .mean-menu ul#section-time > li > a,
nav.navbar .mean-menu ul#section-time > li.current > a,
nav.navbar .mean-menu ul#section-time > li.current1 > a {
    color: var(--anmc-vert) !important;
    font-family: var(--font-corps);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: none;
    transition: color 0.2s;
}

/* Orange au survol */
nav.navbar .mean-menu ul#section-time > li > a:hover,
nav.navbar .mean-menu ul#section-time > li:hover > a {
    color: var(--anmc-orange) !important;
}

/* Flèche principale du menu — simple, discrète */
.mean-menu ul li a i.fa-angle-down {
    color: var(--anmc-orange);
    font-size: 11px;
    margin-left: 5px;
    vertical-align: middle;
    transition: transform 0.18s ease;
}

.mean-menu ul#section-time > li:hover > a i.fa-angle-down {
    transform: rotate(180deg);
}

/* Soulignement animé (::before) — couleur orange */
.mean-menu ul li a::before {
    background: var(--anmc-orange) !important;
    height: 2px;
}

/* ---- Toggler mobile ---- */
.navbar-toggler {
    border: 2px solid var(--anmc-vert) !important;
    border-radius: var(--radius-sm) !important;
    padding: 6px 10px;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 3px rgba(212, 115, 10, 0.25) !important;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%231A3B2B' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* ---- Bouton CTA "Espace personnel" ---- */
.navbar .btn.btn-primary,
nav.navbar a.btn.btn-primary {
    background-color: var(--anmc-vert) !important;
    border-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
    font-family: var(--font-corps);
    font-size: 13px;
    font-weight: 600;
    border-radius: var(--radius-sm);
    padding: 9px 20px;
    letter-spacing: 0.03em;
    transition: background-color 0.2s, border-color 0.2s;
    white-space: nowrap;
}

.navbar .btn.btn-primary:hover,
nav.navbar a.btn.btn-primary:hover {
    background-color: var(--anmc-orange) !important;
    border-color: var(--anmc-orange) !important;
}

.navbar .btn.btn-primary i {
    color: rgba(255, 255, 255, 0.85);
}

/* ============================================================
   DESKTOP ≥ 992px — dropdown au HOVER uniquement
   ============================================================ */
@media (min-width: 992px) {

    /* Collapse horizontal */
    #navbarCollapse {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
    }

    .mean-menu ul#section-time {
        display: flex !important;
        flex-direction: row;
        align-items: center;
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .mean-menu ul#section-time > li {
        display: inline-block !important;
        margin-right: 24px;
        position: relative;
    }

    .mean-menu ul#section-time > li:last-child {
        margin-right: 0;
    }

    .mean-menu ul#section-time > li > a {
        padding: 26px 0 !important;
        display: block !important;
    }

    /* ---- Sabmenu desktop : CACHÉ par défaut, visible au hover ---- */
    /* On prend le contrôle total : opacity + visibility + transition */
    .mean-menu ul li ul,
    .mean-menu ul li ul.sabmenu {
        display: block !important;          /* doit être block pour la transition */
        position: absolute !important;
        top: 110% !important;               /* légèrement sous le lien */
        left: 0 !important;
        min-width: 240px;
        width: auto !important;
        z-index: 9999;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none;               /* désactive les clics quand invisible */
        transform: translateY(6px);
        /* Fermeture (état par défaut = quand souris quitte) */
        transition: opacity 0.45s ease, visibility 0.45s ease, transform 0.45s ease !important;
        /* Styles visuels */
        background: var(--anmc-blanc) !important;
        border-top: 3px solid var(--anmc-orange) !important;
        border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
        box-shadow: 0 8px 24px rgba(26, 59, 43, 0.13) !important;
        padding: 6px 0 !important;
        margin: 0 !important;
    }

    /* Affichage AU HOVER du li parent uniquement */
    .mean-menu ul li:hover > ul,
    .mean-menu ul li:hover > ul.sabmenu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto;
        top: 100% !important;
        transform: translateY(0);
        /* Ouverture un peu plus lente que la fermeture */
        transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease !important;
    }

    /* ---- Items sabmenu desktop ---- */
    .mean-menu ul li ul.sabmenu li {
        display: block !important;
        margin-right: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #ede8df !important;
        position: relative;
    }

    .mean-menu ul li ul.sabmenu li:last-child {
        border-bottom: none !important;
    }

    .mean-menu ul li ul.sabmenu li a {
        display: block !important;
        color: var(--anmc-vert) !important;
        font-family: var(--font-corps);
        font-size: 13px !important;
        font-weight: 600;
        text-transform: none !important;
        padding: 10px 20px !important;
        transition: color 0.18s, padding-left 0.18s, background-color 0.18s;
        white-space: nowrap;
    }

    .mean-menu ul li ul.sabmenu li a::before {
        display: none !important;
    }

    .mean-menu ul li ul.sabmenu li a:hover {
        color: var(--anmc-orange) !important;
        background-color: var(--anmc-beige) !important;
        padding-left: 26px !important;
        margin-left: 0 !important;
    }

    /* Barre animée sabmenu */
    .mean-menu ul li ul.sabmenu li:after {
        border-color: var(--anmc-orange) !important;
    }

    /* ---- Dropdown Bootstrap imbriqué (Produits, Documentations) ---- */
    /* Ces éléments sont gérés par Bootstrap JS (data-bs-toggle="dropdown") */
    /* On ne touche PAS à display — Bootstrap l'ajoute via .show */
    .mean-menu .dropdown-menu {
        position: absolute !important;
        top: 100% !important;
        left: 100% !important;             /* s'ouvre à droite du sabmenu */
        margin-top: -2px;
        min-width: 200px;
        border: none !important;
        border-left: 3px solid var(--anmc-orange) !important;
        border-radius: 0 var(--radius-md) var(--radius-md) var(--radius-md) !important;
        box-shadow: 0 8px 24px rgba(26, 59, 43, 0.12) !important;
        background: var(--anmc-blanc) !important;
        padding: 4px 0 !important;
        z-index: 10000;
    }

    .mean-menu .dropdown-menu li a,
    .mean-menu .dropdown-menu a {
        color: var(--anmc-vert) !important;
        font-family: var(--font-corps);
        font-size: 13px;
        font-weight: 500;
        padding: 9px 18px !important;
        text-transform: none !important;
        transition: background-color 0.15s, color 0.15s;
        display: block;
    }

    .mean-menu .dropdown-menu li a:hover,
    .mean-menu .dropdown-menu a:hover {
        background-color: var(--anmc-beige) !important;
        color: var(--anmc-orange) !important;
    }

    /* Lien "Produits" / "Documentations" dans le sabmenu */
    .mean-menu .dropdown-toggle {
        color: var(--anmc-vert) !important;
        font-family: var(--font-corps);
        font-size: 13px !important;
        font-weight: 600;
        cursor: pointer;
        display: inline-flex !important;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 10px 20px !important;
        text-transform: none !important;
        line-height: 1;
        transition: color 0.18s, background-color 0.18s;
    }

    .mean-menu .dropdown-toggle:hover {
        color: var(--anmc-orange) !important;
        background-color: var(--anmc-beige) !important;
    }

    /* Chevron simple aligné avec le texte */
    .mean-menu .dropdown-toggle::after {
        display: inline-block;
        content: "\f054";               /* fa-chevron-right */
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: 9px;
        line-height: 1;
        color: var(--anmc-orange);
        background: none;
        border: none;
        margin-left: auto;
        padding-left: 10px;
        flex-shrink: 0;
        transition: color 0.18s ease;
        /* Alignement vertical parfait avec le texte */
        position: relative;
        top: 0;
        vertical-align: baseline;
    }

    .mean-menu .dropdown-toggle:hover::after {
        color: var(--anmc-vert);
    }

    .mean-menu .dropdown-toggle.show::after {
        content: "\f078";               /* fa-chevron-down */
        color: var(--anmc-vert);
    }

    /* Soulignement actif desktop */
    .mean-menu ul#section-time > li > a::before {
        display: block !important;
    }
}

/* ============================================================
   TABLETTE & MOBILE < 992px — menu vertical accordéon
   ============================================================ */
@media (max-width: 991.98px) {

    nav.navbar {
        padding: 10px 16px;
    }

    .navbar-brand img {
        max-height: 48px !important;
    }

    /* Panneau collapse */
    #navbarCollapse {
        background-color: var(--anmc-blanc);
        border-top: 2px solid var(--anmc-orange);
        margin-top: 8px;
        padding: 8px 0 16px;
        border-radius: 0 0 var(--radius-md) var(--radius-md);
        box-shadow: 0 8px 24px rgba(26, 59, 43, 0.10);
    }

    .navbar-nav,
    .mean-menu {
        width: 100%;
    }

    /* Liste principale verticale */
    .mean-menu ul#section-time {
        display: flex !important;
        flex-direction: column;
        width: 100%;
        padding: 0 16px;
        list-style: none;
        margin: 0;
    }

    .mean-menu ul#section-time > li {
        display: block !important;
        margin-right: 0 !important;
        border-bottom: 1px solid #ede8df;
        position: relative;
    }

    .mean-menu ul#section-time > li:last-child {
        border-bottom: none;
    }

    /* Liens principaux */
    .mean-menu ul#section-time > li > a {
        padding: 13px 4px !important;
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        color: var(--anmc-vert) !important;
        font-size: 14px;
        font-weight: 600;
    }

    /* Soulignement animé inutile en vertical */
    .mean-menu ul li a::before {
        display: none !important;
    }

    /* ---- Sabmenu mobile : caché par défaut via display:none ---- */
    .mean-menu ul li ul,
    .mean-menu ul li ul.sabmenu {
        display: none !important;
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: none !important;
        top: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        box-shadow: none !important;
        border-top: none !important;
        border-left: 3px solid var(--anmc-orange) !important;
        border-radius: 0 !important;
        background-color: var(--anmc-beige) !important;
        padding: 4px 0 4px 8px !important;
        margin: 0 0 6px !important;
        z-index: auto !important;
        pointer-events: auto !important;
    }

    /* Révéler le sabmenu au hover/touch du parent */
    .mean-menu ul#section-time > li:hover > ul,
    .mean-menu ul#section-time > li:focus-within > ul {
        display: block !important;
    }

    /* Items sabmenu mobile */
    .mean-menu ul li ul.sabmenu li {
        display: block !important;
        padding: 0 !important;
        border-bottom: 1px solid #ddd7cc !important;
    }

    .mean-menu ul li ul.sabmenu li:last-child {
        border-bottom: none !important;
    }

    .mean-menu ul li ul.sabmenu li a {
        display: block !important;
        font-size: 13px !important;
        padding: 9px 10px !important;
        color: var(--anmc-vert) !important;
        font-weight: 600;
        text-transform: none !important;
    }

    .mean-menu ul li ul.sabmenu li a:hover {
        color: var(--anmc-orange) !important;
        background-color: transparent !important;
        margin-left: 0 !important;
        padding-left: 16px !important;
    }

    /* Dropdown Bootstrap imbriqué mobile */
    .mean-menu .dropdown-menu {
        position: static !important;
        display: block !important;          /* toujours visible dans le sabmenu mobile */
        box-shadow: none !important;
        border: none !important;
        border-left: 2px solid #ddd7cc !important;
        border-radius: 0 !important;
        padding: 0 0 0 8px !important;
        background-color: transparent !important;
        z-index: auto !important;
        min-width: 0 !important;
    }

    .mean-menu .dropdown-menu li a {
        padding: 8px 10px !important;
        font-size: 12px !important;
        color: var(--anmc-vert) !important;
        font-weight: 500;
        display: block;
    }

    .mean-menu .dropdown-menu li a:hover {
        color: var(--anmc-orange) !important;
        background-color: transparent !important;
    }

    .mean-menu .dropdown-toggle {
        color: var(--anmc-vert) !important;
        font-family: var(--font-corps);
        font-size: 13px;
        font-weight: 600;
        display: inline-flex !important;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 9px 10px !important;
        text-transform: none !important;
        line-height: 1;
        cursor: default;
    }

    /* Chevron simple en mobile */
    .mean-menu .dropdown-toggle::after {
        display: inline-block;
        content: "\f054";               /* fa-chevron-right */
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: 9px;
        line-height: 1;
        color: var(--anmc-orange);
        background: none;
        border: none;
        margin-left: auto;
        padding-left: 8px;
        flex-shrink: 0;
        vertical-align: baseline;
    }

    .mean-menu .dropdown-toggle.show::after {
        content: "\f078";               /* fa-chevron-down */
        color: var(--anmc-vert);
    }

    /* Bouton CTA pleine largeur */
    .navbar a.btn.btn-primary {
        display: block !important;
        margin: 12px 16px 4px !important;
        text-align: center;
        padding: 11px 20px;
        font-size: 14px;
    }
}

/* ============================================================
   MOBILE pur < 576px
   ============================================================ */
@media (max-width: 575.98px) {

    nav.navbar {
        padding: 8px 12px;
    }

    .navbar-brand img {
        max-height: 42px !important;
    }

    .mean-menu ul#section-time > li > a {
        font-size: 13px;
        padding: 11px 4px !important;
    }

    .mean-menu ul li ul.sabmenu li a {
        font-size: 12px !important;
    }

    .navbar a.btn.btn-primary {
        margin: 10px 12px 4px !important;
        font-size: 13px;
    }
}

/* ----------------------------------------------------------
   6. BOUTONS GLOBAUX
   ---------------------------------------------------------- */
.btn-primary {
    background-color: var(--anmc-vert) !important;
    border-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
    font-family: var(--font-corps);
    font-weight: 600;
    border-radius: var(--radius-sm);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--anmc-vert-2) !important;
    border-color: var(--anmc-vert-2) !important;
}

.btn-secondary {
    background-color: var(--anmc-orange) !important;
    border-color: var(--anmc-orange) !important;
    color: var(--anmc-blanc) !important;
    font-family: var(--font-corps);
    font-weight: 600;
    border-radius: var(--radius-sm);
}

.btn-secondary:hover,
.btn-secondary:focus {
    background-color: #b8600a !important;
    border-color: #b8600a !important;
}

.btn-outline-primary {
    color: var(--anmc-vert) !important;
    border-color: var(--anmc-vert) !important;
    font-family: var(--font-corps);
    font-weight: 600;
    border-radius: var(--radius-sm);
}

.btn-outline-primary:hover {
    background-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
}

.btn-light {
    background-color: var(--anmc-beige) !important;
    border-color: transparent !important;
    color: var(--anmc-vert) !important;
    font-weight: 600;
    border-radius: var(--radius-sm);
}

.btn-light:hover {
    background-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
}

/* Bouton "retour en haut" */
.back-to-top {
    background-color: var(--anmc-orange) !important;
    border-color: var(--anmc-orange) !important;
    color: var(--anmc-blanc) !important;
    border-radius: var(--radius-md);
}

.back-to-top:hover {
    background-color: var(--anmc-vert) !important;
}

/* ----------------------------------------------------------
   7. BANNIÈRE — carousel principal
   ---------------------------------------------------------- */

/* Wrapper */
.anmc-banniere {
    position: relative;
    width: 100%;
    margin-top: 0;
    overflow: hidden;
}

/* Inner */
.anmc-banniere-inner {
    height: 520px;
}

/* Chaque slide */
.anmc-banniere-item {
    position: relative;
    height: 520px;
    overflow: hidden;
}

/* Image — couvre tout le slide */
.anmc-banniere-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Overlay dégradé vert institutionnel */
.anmc-banniere-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(26, 59, 43, 0.82) 0%,
        rgba(26, 59, 43, 0.50) 55%,
        rgba(26, 59, 43, 0.10) 100%
    );
    z-index: 1;
}

/* Bloc texte — aligné à gauche, centré verticalement */
.anmc-banniere-caption {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 2;
    padding: 0 64px 0 96px;  /* gauche : bouton (44px) + 20px pos + 32px espace */
    max-width: 680px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Badge "Actualité" */
.anmc-banniere-tag {
    display: inline-block;
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc);
    font-family: var(--font-corps);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: none;
    padding: 4px 14px;
    border-radius: var(--radius-pill);
    width: fit-content;
}

/* Titre du slide */
.anmc-banniere-titre {
    font-family: var(--font-titre);
    font-size: 2rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    line-height: 1.2;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.anmc-banniere-titre a {
    color: var(--anmc-blanc) !important;
    text-decoration: none;
    transition: color 0.2s;
}

.anmc-banniere-titre a:hover {
    color: rgba(255, 255, 255, 0.80) !important;
}

/* Bouton CTA du slide */
.anmc-banniere-btn {
    display: inline-flex;
    align-items: center;
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc) !important;
    font-family: var(--font-corps);
    font-size: 13px;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: var(--radius-sm);
    text-decoration: none;
    width: fit-content;
    transition: background-color 0.2s, transform 0.2s;
    letter-spacing: 0.03em;
}

.anmc-banniere-btn:hover {
    background-color: var(--anmc-blanc) !important;
    color: var(--anmc-vert) !important;
    transform: translateX(4px);
}

/* ---- Indicateurs ---- */
.anmc-banniere-indicators {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    gap: 8px;
}

.anmc-banniere-indicators button {
    width: 28px;
    height: 4px;
    border-radius: 2px;
    border: none;
    background-color: rgba(255, 255, 255, 0.40);
    padding: 0;
    cursor: pointer;
    transition: background-color 0.2s, width 0.2s;
}

.anmc-banniere-indicators button.active {
    background-color: var(--anmc-orange);
    width: 44px;
}

/* ---- Contrôles précédent / suivant ---- */
.anmc-banniere-ctrl {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(26, 59, 43, 0.55);
    color: var(--anmc-blanc);
    border: 1.5px solid rgba(255, 255, 255, 0.30);
    border-radius: var(--radius-md);
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.2s, border-color 0.2s;
}

.anmc-banniere-ctrl:hover {
    background-color: var(--anmc-orange);
    border-color: var(--anmc-orange);
}

.anmc-banniere-prev { left: 20px; }
.anmc-banniere-next { right: 20px; }

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
    .anmc-banniere-inner,
    .anmc-banniere-item {
        height: 380px;
    }

    .anmc-banniere-caption {
        padding: 0 32px;
        max-width: 90%;
    }

    .anmc-banniere-titre {
        font-size: 1.5rem;
    }
}

@media (max-width: 575.98px) {
    .anmc-banniere-inner,
    .anmc-banniere-item {
        height: 300px;
    }

    .anmc-banniere-caption {
        padding: 0 20px;
        gap: 10px;
    }

    .anmc-banniere-titre {
        font-size: 1.15rem;
    }

    .anmc-banniere-btn {
        font-size: 12px;
        padding: 8px 16px;
    }

    .anmc-banniere-ctrl {
        width: 36px;
        height: 36px;
        font-size: 12px;
    }
}

/* ----------------------------------------------------------
   8. EN-TÊTES DE SECTION GLOBAUX
   ---------------------------------------------------------- */
.anmc-section-header {
    margin-bottom: 48px;
}

.anmc-section-tag {
    display: inline-block;
    background-color: rgba(212, 115, 10, 0.10);
    color: var(--anmc-orange);
    font-family: var(--font-corps);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: none;
    padding: 5px 16px;
    border-radius: var(--radius-pill);
    margin-bottom: 12px;
}

.anmc-section-titre {
    font-family: var(--font-titre);
    font-size: 2rem;
    font-weight: 700;
    color: var(--anmc-vert);
    margin-bottom: 12px;
    line-height: 1.15;
}

.anmc-section-divider {
    width: 48px;
    height: 3px;
    background: linear-gradient(90deg, var(--anmc-orange) 60%, transparent 100%);
    border-radius: 2px;
    margin: 0 auto 16px;
}

.anmc-section-sous-titre {
    font-family: var(--font-corps);
    font-size: 15px;
    color: #6b6b6b;
    margin: 0;
}

/* ----------------------------------------------------------
   9. PRESTATIONS
   ---------------------------------------------------------- */
.anmc-prestations {
    background-color: var(--anmc-beige);
}

/* ---- En-tête vert pleine largeur ---- */
.anmc-prestations-header {
    background-color: var(--anmc-vert);
    border-top: 4px solid var(--anmc-orange);
    padding: 56px 0 88px;
    position: relative;
}

.anmc-prestations-titre {
    font-family: var(--font-titre);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    margin: 12px 0 16px;
    line-height: 1.15;
}

.anmc-prestations-sous-titre {
    font-family: var(--font-corps);
    font-size: 15px;
    color: rgba(255, 255, 255, 0.70);
    line-height: 1.7;
    margin: 0;
    max-width: 520px;
}

/* ---- Cartes remontées sur l'en-tête ---- */
.anmc-prestations-body {
    margin-top: -52px;
    padding-bottom: 64px;
    position: relative;
    z-index: 2;
}

/* ---- Cartes ---- */
.anmc-service-card {
    background-color: var(--anmc-blanc);
    border: 1px solid #e8e2d8;
    border-top: 3px solid transparent;
    padding: 36px 28px 28px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    box-shadow: 0 4px 24px rgba(26, 59, 43, 0.08);
    transition: box-shadow 0.25s ease, transform 0.25s ease, border-top-color 0.25s ease;
}

.anmc-service-card--accent {
    background-color: #fdfaf6;
}

.anmc-service-card:hover {
    box-shadow: 0 12px 40px rgba(26, 59, 43, 0.14);
    transform: translateY(-6px);
    border-top-color: var(--anmc-orange);
}

/* Numéro fantôme */
.anmc-service-num {
    position: absolute;
    top: 16px;
    right: 20px;
    font-family: var(--font-titre);
    font-size: 2.8rem;
    font-weight: 700;
    color: rgba(26, 59, 43, 0.06);
    line-height: 1;
    user-select: none;
    transition: color 0.25s;
}

.anmc-service-card:hover .anmc-service-num {
    color: rgba(212, 115, 10, 0.12);
}

/* Icône */
.anmc-service-icon {
    width: 52px;
    height: 52px;
    background-color: rgba(26, 59, 43, 0.07);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--anmc-vert);
    flex-shrink: 0;
    transition: background-color 0.25s, color 0.25s;
}

.anmc-service-card:hover .anmc-service-icon {
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc);
}

/* Titre */
.anmc-service-titre {
    font-family: var(--font-titre);
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    line-height: 1.25;
}

.anmc-service-titre a {
    color: var(--anmc-vert) !important;
    text-decoration: none;
    transition: color 0.2s;
}

.anmc-service-titre a:hover {
    color: var(--anmc-orange) !important;
}

/* Description */
.anmc-service-desc {
    font-family: var(--font-corps);
    font-size: 13px;
    color: #6b6b6b;
    line-height: 1.65;
    margin: 0;
    flex: 1;
}

/* Lien */
.anmc-service-lien {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-corps);
    font-size: 12px;
    font-weight: 700;
    color: var(--anmc-vert) !important;
    text-decoration: none;
    letter-spacing: 0.05em;
    text-transform: none;
    gap: 6px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #ede8df;
    transition: color 0.2s, gap 0.2s;
}

.anmc-service-lien i {
    font-size: 9px;
    transition: transform 0.2s;
}

.anmc-service-lien:hover {
    color: var(--anmc-orange) !important;
    gap: 10px;
}

.anmc-service-lien:hover i {
    transform: translateX(3px);
}

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
    .anmc-prestations-header {
        padding: 40px 0 72px;
    }

    .anmc-prestations-titre {
        font-size: 1.7rem;
    }

    .anmc-prestations-body {
        margin-top: -40px;
        padding-bottom: 48px;
    }
}

@media (max-width: 575.98px) {
    .anmc-prestations-header {
        padding: 32px 0 64px;
        text-align: center;
    }

    .anmc-prestations-sous-titre {
        margin: 0 auto;
    }

    .anmc-prestations-titre {
        font-size: 1.5rem;
    }

    .anmc-prestations-body {
        margin-top: -32px;
        padding-bottom: 32px;
    }

    .anmc-service-card {
        padding: 24px 18px 18px;
    }

    .anmc-service-num {
        font-size: 2rem;
    }
}

/* ----------------------------------------------------------
   À PROPOS
   ---------------------------------------------------------- */

/* Section wrapper */
.anmc-apropos {
    background-color: var(--anmc-beige);
    overflow: hidden;
}

/* ---- Header vert ---- */
.anmc-apropos-header {
    background-color: var(--anmc-vert);
    border-top: 4px solid var(--anmc-orange);
    padding: 72px 0 108px;
}

.anmc-apropos-header-desc {
    font-family: var(--font-corps);
    font-size: 15px;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.75;
    max-width: 600px;
    margin: 0 auto;
}

/* ---- Corps flottant ---- */
.anmc-apropos-body {
    margin-top: -56px;
    padding-bottom: 80px;
}

/* ---- Bloc visuel ---- */
.anmc-apropos-media {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: visible;
}

.anmc-apropos-img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: var(--radius-lg);
    box-shadow: 0 16px 48px rgba(26, 59, 43, 0.18);
}

/* Bouton play vidéo */
.anmc-apropos-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc) !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    padding-left: 4px;
    box-shadow: 0 0 0 10px rgba(212, 115, 10, 0.20);
    transition: background-color 0.2s, box-shadow 0.2s, transform 0.2s;
    z-index: 2;
}

.anmc-apropos-play:hover {
    background-color: var(--anmc-vert);
    box-shadow: 0 0 0 14px rgba(26, 59, 43, 0.15);
    transform: translate(-50%, -50%) scale(1.08);
}

/* Carte stat flottante */
.anmc-apropos-stat {
    position: absolute;
    bottom: -20px;
    right: -20px;
    background-color: var(--anmc-orange);
    border-radius: var(--radius-md);
    padding: 18px 24px;
    box-shadow: 0 8px 24px rgba(212, 115, 10, 0.28);
    z-index: 3;
}

.anmc-apropos-stat-number {
    display: block;
    font-family: var(--font-titre);
    font-size: 2rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    line-height: 1;
}

.anmc-apropos-stat-label {
    display: block;
    font-family: var(--font-corps);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.85);
    margin-top: 5px;
}

/* ---- Bloc contenu ---- */
.anmc-apropos-content {
    padding: 32px 28px 32px 36px;
    background-color: var(--anmc-blanc);
    border-radius: var(--radius-lg);
    box-shadow: 0 8px 40px rgba(26, 59, 43, 0.10);
    border-top: 4px solid var(--anmc-orange);
}

.anmc-apropos-texte {
    font-family: var(--font-corps);
    font-size: 15px;
    color: #5a5a5a;
    line-height: 1.75;
    margin-bottom: 24px;
}

/* Liste missions */
.anmc-apropos-missions {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.anmc-apropos-missions li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: var(--font-corps);
    font-size: 14px;
    color: var(--anmc-texte);
    line-height: 1.5;
}

.anmc-apropos-mission-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-color: rgba(212, 115, 10, 0.12);
    color: var(--anmc-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    margin-top: 1px;
}

/* Bouton CTA */
.anmc-apropos-btn {
    display: inline-flex;
    align-items: center;
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc) !important;
    font-family: var(--font-corps);
    font-size: 13px;
    font-weight: 600;
    padding: 11px 26px;
    border-radius: var(--radius-sm);
    text-decoration: none;
    letter-spacing: 0.03em;
    transition: background-color 0.2s, transform 0.2s;
    gap: 8px;
}

.anmc-apropos-btn:hover {
    background-color: var(--anmc-vert);
    transform: translateX(4px);
}

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
    .anmc-apropos-header {
        padding: 56px 0 88px;
    }

    .anmc-apropos-body {
        margin-top: -40px;
        padding-bottom: 56px;
    }

    .anmc-apropos-img {
        height: 340px;
    }

    .anmc-apropos-stat {
        bottom: -16px;
        right: 16px;
    }

    .anmc-apropos-content {
        padding: 24px;
    }
}

@media (max-width: 575.98px) {
    .anmc-apropos-header {
        padding: 40px 0 72px;
    }

    .anmc-apropos-body {
        margin-top: -24px;
        padding-bottom: 40px;
    }

    .anmc-apropos-img {
        height: 260px;
    }

    .anmc-apropos-stat {
        bottom: -14px;
        right: 12px;
        padding: 12px 16px;
    }

    .anmc-apropos-stat-number {
        font-size: 1.5rem;
    }

    .anmc-apropos-play {
        width: 52px;
        height: 52px;
        font-size: 16px;
    }
}

/* Section CTA "Comment bénéficier" */
.parallax-content.bg-overlay-68 {
    background-color: rgba(26, 59, 43, 0.85) !important;
}

/* ----------------------------------------------------------
   10. FORMATIONS
   ---------------------------------------------------------- */

/* Section wrapper */
.anmc-formations {
    background-color: var(--anmc-beige);
}

/* ---- Header vert ---- */
.anmc-formations-header {
    background-color: var(--anmc-vert);
    border-top: 4px solid var(--anmc-orange);
    padding: 56px 0 88px;
    position: relative;
}

/* ---- Corps flottant ---- */
.anmc-formations-body {
    margin-top: -52px;
    padding-bottom: 72px;
    position: relative;
    z-index: 2;
}

/* ---- Carte formation ---- */
.anmc-formation-card {
    background-color: var(--anmc-blanc);
    border: 1px solid #e8e2d8;
    border-top: 3px solid transparent;
    border-radius: var(--radius-md);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: box-shadow 0.25s, border-top-color 0.25s;
}

.anmc-formation-card:hover {
    box-shadow: 0 8px 32px rgba(26, 59, 43, 0.12);
    border-top-color: var(--anmc-orange);
}

/* Image */
.anmc-formation-img-wrap {
    position: relative;
    overflow: hidden;
    height: 200px;
    flex-shrink: 0;
}

.anmc-formation-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.4s ease;
}

.anmc-formation-card:hover .anmc-formation-img {
    transform: scale(1.04);
}

/* Corps texte */
.anmc-formation-body {
    padding: 24px 24px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.anmc-formation-titre {
    font-family: var(--font-titre);
    font-size: 1rem;
    font-weight: 700;
    color: var(--anmc-vert);
    line-height: 1.4;
    margin: 0 0 12px;
}

.anmc-formation-resume {
    font-family: var(--font-corps);
    font-size: 14px;
    color: #5a5a5a;
    line-height: 1.65;
    flex: 1;
    margin: 0 0 20px;
}

/* Lien CTA */
.anmc-formation-lien {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-corps);
    font-size: 12px;
    font-weight: 700;
    color: var(--anmc-orange) !important;
    text-decoration: none;
    letter-spacing: 0.06em;
    text-transform: none;
    padding-top: 14px;
    border-top: 1px solid #e8e2d8;
    transition: color 0.2s, gap 0.2s;
    margin-top: auto;
}

.anmc-formation-lien:hover {
    color: var(--anmc-vert) !important;
    gap: 10px;
}

.anmc-formation-lien i {
    font-size: 10px;
    transition: transform 0.2s;
}

.anmc-formation-lien:hover i {
    transform: translateX(3px);
}

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
    .anmc-formations-header {
        padding: 40px 0 72px;
    }
    .anmc-formations-body {
        margin-top: -40px;
        padding-bottom: 48px;
    }
}

@media (max-width: 575.98px) {
    .anmc-formations-header {
        padding: 32px 0 64px;
    }
    .anmc-formations-body {
        margin-top: -28px;
        padding-bottom: 32px;
    }
    .anmc-formation-img-wrap {
        height: 180px;
    }
}

/* ----------------------------------------------------------
   11. CTA — Comment bénéficier
   ---------------------------------------------------------- */
.anmc-cta {
    overflow: hidden;
}

.anmc-cta-inner {
    padding: 100px 0 !important;
}

.anmc-cta-titre {
    font-family: var(--font-titre);
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    line-height: 1.25;
    margin: 16px 0 20px;
}

.anmc-cta-desc {
    font-family: var(--font-corps);
    font-size: 16px;
    color: rgba(255, 255, 255, 0.80);
    line-height: 1.75;
    max-width: 580px;
    margin: 0 auto 32px;
}

@media (max-width: 767.98px) {
    .anmc-cta-inner {
        padding: 72px 0 !important;
    }
    .anmc-cta-titre {
        font-size: 1.8rem;
    }
}

/* ----------------------------------------------------------
   12. CHIFFRES CLÉS — Stats bar
   ---------------------------------------------------------- */
.anmc-stats {
    background-color: var(--anmc-vert);
    border-top: 4px solid var(--anmc-orange);
}

.anmc-stat-item {
    padding: 44px 16px;
    text-align: center;
    position: relative;
}

.anmc-stat-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 52px;
    background-color: rgba(255, 255, 255, 0.12);
}

.anmc-stat-number {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 3px;
    font-family: var(--font-titre);
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--anmc-orange);
    line-height: 1;
}

.anmc-stat-suffix {
    font-size: 1.6rem;
    color: var(--anmc-orange);
}

.anmc-stat-label {
    font-family: var(--font-corps);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
    margin-top: 10px;
}

@media (max-width: 767.98px) {
    .anmc-stat-item {
        padding: 32px 12px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .anmc-stat-item::after {
        display: none;
    }
    .anmc-stat-number {
        font-size: 2.2rem;
    }
}

/* ----------------------------------------------------------
   13. PARTENAIRES
   ---------------------------------------------------------- */
.anmc-partenaires {
    background-color: var(--anmc-blanc);
    padding: 80px 0;
}

.anmc-partenaire-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 28px;
    border: 1px solid #e8e2d8;
    border-radius: var(--radius-md);
    background-color: var(--anmc-blanc);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.25s;
    min-height: 100px;
}

.anmc-partenaire-logo:hover {
    border-color: var(--anmc-orange);
    box-shadow: 0 6px 20px rgba(26, 59, 43, 0.10);
    transform: translateY(-4px);
}

.anmc-partenaire-logo img {
    max-width: 100%;
    max-height: 72px;
    object-fit: contain;
    filter: grayscale(50%) opacity(0.75);
    transition: filter 0.25s;
}

.anmc-partenaire-logo:hover img {
    filter: grayscale(0%) opacity(1);
}

@media (max-width: 575.98px) {
    .anmc-partenaires {
        padding: 56px 0;
    }
}

/* ----------------------------------------------------------
   14. CLIENTS
   ---------------------------------------------------------- */
.anmc-clients {
    background-color: var(--anmc-beige);
    padding: 80px 0;
    border-top: 1px solid #e8e2d8;
}

.anmc-client-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 28px;
    border: 1px solid #e8e2d8;
    border-radius: var(--radius-md);
    background-color: var(--anmc-blanc);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.25s;
    min-height: 100px;
}

.anmc-client-logo:hover {
    border-color: var(--anmc-vert);
    box-shadow: 0 6px 20px rgba(26, 59, 43, 0.12);
    transform: translateY(-4px);
}

.anmc-client-logo img {
    max-width: 100%;
    max-height: 72px;
    object-fit: contain;
    filter: grayscale(50%) opacity(0.75);
    transition: filter 0.25s;
}

.anmc-client-logo:hover img {
    filter: grayscale(0%) opacity(1);
}

@media (max-width: 575.98px) {
    .anmc-clients {
        padding: 56px 0;
    }
}

/* ----------------------------------------------------------
   15. TÉMOIGNAGES
   ---------------------------------------------------------- */
.anmc-temoignages {
    background-color: var(--anmc-beige);
}

.anmc-temoignages-header {
    background-color: var(--anmc-vert);
    border-top: 4px solid var(--anmc-orange);
    padding: 56px 0 88px;
}

.anmc-temoignages-body {
    margin-top: -52px;
    padding-bottom: 72px;
    position: relative;
    z-index: 2;
}

.anmc-temoignage-card {
    background-color: var(--anmc-blanc);
    border: 1px solid #e8e2d8;
    border-top: 3px solid transparent;
    border-radius: var(--radius-md);
    padding: 32px 28px 24px;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.25s, border-top-color 0.25s, transform 0.25s;
}

.anmc-temoignage-card:hover {
    box-shadow: 0 8px 32px rgba(26, 59, 43, 0.10);
    border-top-color: var(--anmc-orange);
    transform: translateY(-4px);
}

.anmc-temoignage-card--featured {
    background-color: var(--anmc-vert);
    border-top-color: var(--anmc-orange);
}

.anmc-temoignage-card--featured:hover {
    background-color: var(--anmc-vert);
    box-shadow: 0 12px 40px rgba(26, 59, 43, 0.22);
}

.anmc-temoignage-quote {
    font-size: 1.6rem;
    color: var(--anmc-orange);
    line-height: 1;
    margin-bottom: 16px;
    opacity: 0.80;
}

.anmc-temoignage-texte {
    font-family: var(--font-corps);
    font-size: 14px;
    line-height: 1.75;
    color: var(--anmc-texte);
    flex: 1;
    margin: 0 0 24px;
    font-style: italic;
}

.anmc-temoignage-card--featured .anmc-temoignage-texte {
    color: rgba(255, 255, 255, 0.88);
}

.anmc-temoignage-auteur {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-top: 20px;
    border-top: 1px solid #e8e2d8;
}

.anmc-temoignage-card--featured .anmc-temoignage-auteur {
    border-top-color: rgba(255, 255, 255, 0.15);
}

.anmc-temoignage-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--anmc-orange);
}

.anmc-temoignage-nom {
    display: block;
    font-family: var(--font-titre);
    font-size: 14px;
    font-weight: 700;
    color: var(--anmc-vert);
    line-height: 1.2;
}

.anmc-temoignage-card--featured .anmc-temoignage-nom {
    color: var(--anmc-blanc);
}

.anmc-temoignage-role {
    display: block;
    font-family: var(--font-corps);
    font-size: 12px;
    color: #888;
    letter-spacing: 0.04em;
}

.anmc-temoignage-card--featured .anmc-temoignage-role {
    color: rgba(255, 255, 255, 0.60);
}

@media (max-width: 991.98px) {
    .anmc-temoignages-header { padding: 40px 0 72px; }
    .anmc-temoignages-body { margin-top: -40px; padding-bottom: 48px; }
}
@media (max-width: 575.98px) {
    .anmc-temoignages-header { padding: 32px 0 64px; }
    .anmc-temoignages-body { margin-top: -28px; padding-bottom: 32px; }
}

/* ----------------------------------------------------------
   15. ANNONCES
   ---------------------------------------------------------- */
.anmc-annonces {
    background-color: var(--anmc-blanc);
}

.anmc-annonces-header {
    background-color: var(--anmc-vert);
    border-top: 4px solid var(--anmc-orange);
    padding: 56px 0 88px;
}

.anmc-annonces-body {
    margin-top: -52px;
    padding-bottom: 72px;
    position: relative;
    z-index: 2;
}

.anmc-annonce-card {
    background-color: var(--anmc-blanc);
    border: 1px solid #e8e2d8;
    border-top: 3px solid transparent;
    border-radius: var(--radius-md);
    padding: 36px 28px 28px;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    transition: box-shadow 0.25s, border-top-color 0.25s;
}

.anmc-annonce-card:hover {
    box-shadow: 0 8px 32px rgba(26, 59, 43, 0.10);
    border-top-color: var(--anmc-orange);
}

.anmc-annonce-num {
    font-family: var(--font-titre);
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--anmc-vert);
    opacity: 0.08;
    line-height: 1;
    position: absolute;
    top: 16px;
    right: 20px;
    letter-spacing: -2px;
}

.anmc-annonce-icon {
    font-size: 1.8rem;
    color: var(--anmc-orange);
    margin-bottom: 16px;
    opacity: 0.85;
}

.anmc-annonce-titre {
    font-family: var(--font-titre);
    font-size: 1rem;
    font-weight: 700;
    color: var(--anmc-vert);
    line-height: 1.5;
    flex: 1;
    margin: 0 0 24px;
}

.anmc-annonce-lien {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-corps);
    font-size: 12px;
    font-weight: 700;
    color: var(--anmc-orange) !important;
    text-decoration: none;
    letter-spacing: 0.06em;
    text-transform: none;
    padding-top: 16px;
    border-top: 1px solid #e8e2d8;
    margin-top: auto;
    transition: color 0.2s, gap 0.2s;
}

.anmc-annonce-lien:hover {
    color: var(--anmc-vert) !important;
    gap: 10px;
}

.anmc-annonce-lien i {
    font-size: 10px;
    transition: transform 0.2s;
}

.anmc-annonce-lien:hover i {
    transform: translateX(3px);
}

@media (max-width: 991.98px) {
    .anmc-annonces-header { padding: 40px 0 72px; }
    .anmc-annonces-body { margin-top: -40px; padding-bottom: 48px; }
}
@media (max-width: 575.98px) {
    .anmc-annonces-header { padding: 32px 0 64px; }
    .anmc-annonces-body { margin-top: -28px; padding-bottom: 32px; }
}

/* ----------------------------------------------------------
   16. PHOTOTHÈQUE
   ---------------------------------------------------------- */
.anmc-phototheque {
    background-color: var(--anmc-beige);
}

.anmc-phototheque-header {
    background-color: var(--anmc-vert);
    border-top: 4px solid var(--anmc-orange);
    padding: 56px 0 88px;
}

.anmc-phototheque-body {
    margin-top: -52px;
    padding-bottom: 72px;
    position: relative;
    z-index: 2;
}

/* =============================================
   MÉDIATHÈQUE — boutons de filtre
   ============================================= */
.anmc-media-filter {
    display: inline-flex;
    gap: 0;
    background: rgba(255,255,255,0.12);
    border: 1.5px solid rgba(255,255,255,0.25);
    border-radius: 50px;
    padding: 4px;
}

.anmc-media-filter-btn {
    padding: 0.45rem 1.4rem;
    border: none;
    background: transparent;
    color: rgba(255,255,255,0.75);
    font-family: var(--font-corps);
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 50px;
    cursor: pointer;
    transition: background 0.25s, color 0.25s;
}

.anmc-media-filter-btn.active {
    background: var(--anmc-orange);
    color: #fff;
}

.anmc-media-filter-btn:not(.active):hover {
    background: rgba(255,255,255,0.15);
    color: #fff;
}

/* =============================================
   MÉDIATHÈQUE — sous-titres de section
   ============================================= */
.anmc-media-section-header {
    font-family: var(--font-titres);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.08em;
    color: var(--anmc-vert);
    border-left: 3px solid var(--anmc-orange);
    padding-left: 0.75rem;
    margin-bottom: 1.25rem;
}

/* =============================================
   CARTE VIDÉO
   ============================================= */
.anmc-media-video-card {
    border-radius: var(--radius-md);
    overflow: hidden;
    background-color: #0d0d0d;
    box-shadow: 0 6px 24px rgba(0,0,0,0.22);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.anmc-media-video-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.28);
}

.anmc-media-video-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 200px;
    background-color: #000;
    overflow: hidden;
}

.anmc-media-video-player {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.anmc-media-video-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.anmc-media-video-footer {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 1rem;
    background-color: var(--anmc-vert);
}

.anmc-media-video-badge {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background-color: var(--anmc-orange);
    border-radius: 50%;
    color: #fff;
    font-size: 0.75rem;
}

.anmc-media-video-titre {
    font-family: var(--font-corps);
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(255,255,255,0.92);
    line-height: 1.35;
}

/* =============================================
   CARTE PHOTO
   ============================================= */
.anmc-media-photo-card {
    border-radius: var(--radius-md);
    overflow: hidden;
    background-color: #e8e3da;
    box-shadow: 0 3px 12px rgba(0,0,0,0.10);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.anmc-media-photo-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.16);
}

.anmc-media-photo-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.anmc-media-photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.4s ease;
}

.anmc-media-photo-card:hover .anmc-media-photo-img {
    transform: scale(1.07);
}

.anmc-media-photo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(26,59,43,0.55) 0%, rgba(0,0,0,0.0) 60%);
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 10px;
}

.anmc-media-photo-card:hover .anmc-media-photo-overlay {
    opacity: 1;
}

.anmc-media-photo-zoom {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background-color: var(--anmc-orange);
    color: #fff !important;
    border-radius: 50%;
    font-size: 14px;
    text-decoration: none;
    transform: scale(0.7);
    transition: transform 0.3s ease, background-color 0.2s;
}

.anmc-media-photo-card:hover .anmc-media-photo-zoom {
    transform: scale(1);
}

.anmc-media-photo-zoom:hover {
    background-color: #fff;
    color: var(--anmc-vert) !important;
}

.anmc-media-photo-footer {
    padding: 0.5rem 0.75rem;
    font-family: var(--font-corps);
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--anmc-texte);
    background-color: #fff;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 991.98px) {
    .anmc-phototheque-header { padding: 40px 0 72px; }
    .anmc-phototheque-body { margin-top: -40px; padding-bottom: 48px; }
}
@media (max-width: 575.98px) {
    .anmc-phototheque-header { padding: 32px 0 64px; }
    .anmc-phototheque-body { margin-top: -28px; padding-bottom: 32px; }
}

/* ----------------------------------------------------------
   9. FORMATIONS — service-item (héritage)
   ---------------------------------------------------------- */
.service-item {
    border: 1px solid #e0dbd2;
    border-radius: var(--radius-md) !important;
    background-color: var(--anmc-blanc);
    transition: box-shadow 0.2s;
}

.service-item:hover {
    box-shadow: 0 4px 24px rgba(26, 59, 43, 0.10);
}

.service-item h4 {
    color: var(--anmc-vert) !important;
    font-family: var(--font-titre);
}

/* ----------------------------------------------------------
   10. ANNONCES — chooseus-wraper
   ---------------------------------------------------------- */
.chooseus-wraper.box-bg {
    border-radius: var(--radius-lg) !important;
    border: 1px solid #e0dbd2;
    background-color: var(--anmc-beige) !important;
    transition: box-shadow 0.2s;
}

.chooseus-wraper.box-bg:hover {
    box-shadow: 0 4px 24px rgba(26, 59, 43, 0.12);
}

.big-number {
    color: var(--anmc-orange) !important;
    font-family: var(--font-titre);
    font-weight: 700;
    font-size: 2.5rem;
    opacity: 0.7;
}

.chooseus-wraper p {
    color: var(--anmc-texte) !important;
    font-family: var(--font-corps);
}

.chooseus-wraper a.learn-more {
    color: var(--anmc-orange) !important;
    font-weight: 600;
}

.chooseus-wraper .bi.bi-megaphone {
    color: var(--anmc-vert) !important;
    opacity: 0.12;
}

/* ----------------------------------------------------------
   11. COMPTEURS "counter-amy"
   ---------------------------------------------------------- */
.counter-amy-number {
    color: var(--anmc-vert) !important;
    font-family: var(--font-titre);
    font-size: 2rem;
    font-weight: 700;
}

.counter-amy-title {
    color: var(--anmc-orange) !important;
    font-family: var(--font-corps);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 11px;
}

.title-decoration-lines-left {
    color: var(--anmc-vert) !important;
    font-family: var(--font-titre);
    border-left: 4px solid var(--anmc-orange);
    padding-left: 12px;
}

/* ----------------------------------------------------------
   12. TÉMOIGNAGES — quote-modern
   ---------------------------------------------------------- */
.quote-modern-cite a {
    color: var(--anmc-vert) !important;
    font-family: var(--font-titre);
}

.quote-modern-status {
    color: var(--anmc-orange) !important;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.quote-modern-text p {
    color: var(--anmc-texte);
    font-family: var(--font-corps);
    font-style: italic;
}

.img-circles {
    border: 2px solid var(--anmc-orange) !important;
}

/* ----------------------------------------------------------
   13. PHOTOTHÈQUE — thumbnail-classic
   ---------------------------------------------------------- */
.thumbnail-classic-title a {
    color: var(--anmc-vert) !important;
    font-family: var(--font-titre);
}

.thumbnail-classic-title a:hover {
    color: var(--anmc-orange) !important;
}

/* ----------------------------------------------------------
   14. FOOTER (ancien .bg-footer – conservé pour compatibilité)
   ---------------------------------------------------------- */
.bg-footer.footer {
    background-color: var(--anmc-beige) !important;
    border-top: 3px solid var(--anmc-orange);
}

.bg-footer .footer-title,
.bg-footer h1,
.bg-footer h5 {
    color: var(--anmc-vert) !important;
    font-family: var(--font-titre);
}

.bg-footer p,
.bg-footer small,
.bg-footer .fa,
.bg-footer i {
    color: var(--anmc-texte) !important;
}

.bg-footer .btn.btn-square {
    color: var(--anmc-vert) !important;
    border-color: var(--anmc-vert) !important;
    border-radius: var(--radius-sm);
    transition: background-color 0.2s;
}

.bg-footer .btn.btn-square:hover {
    background-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
}

/* Newsletter input + bouton */
.bg-footer .form-control {
    background-color: var(--anmc-blanc) !important;
    border-color: #c8c0b0 !important;
    color: var(--anmc-texte) !important;
    border-radius: var(--radius-sm);
}

.bg-footer .form-control::placeholder {
    color: #999 !important;
}

.bg-footer .btn.btn-secondary {
    background-color: var(--anmc-orange) !important;
    border-color: var(--anmc-orange) !important;
    color: var(--anmc-blanc) !important;
    font-weight: 600;
}

.bg-footer .btn.btn-secondary:hover {
    background-color: var(--anmc-vert) !important;
    border-color: var(--anmc-vert) !important;
}

/* Barre copyright */
.footer.copyright,
.copyright {
    background-color: var(--anmc-vert) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.copyright,
.copyright a,
.footer .copyright,
.footer .copyright a {
    color: rgba(255, 255, 255, 0.75) !important;
}

.footer .copyright a:hover {
    color: var(--anmc-orange) !important;
}

/* ----------------------------------------------------------
   14b. PAGES INTÉRIEURES — hero + contenu (.anmc-page-*)
   ---------------------------------------------------------- */

/* Hero banner (pattern identique aux sections de l'accueil) */
.anmc-page-hero {
    background-color: var(--anmc-beige);
}

.anmc-page-hero-header {
    background-color: var(--anmc-vert);
    border-top: 4px solid var(--anmc-orange);
    padding: 52px 0 88px;
}

.anmc-page-hero-titre {
    font-family: var(--font-titre);
    font-size: 2rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    margin-bottom: 0.75rem;
}

.anmc-page-hero-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.65);
    list-style: none;
    padding: 0;
    margin: 0;
}

.anmc-page-hero-breadcrumb a {
    color: rgba(255, 255, 255, 0.80) !important;
    text-decoration: none;
    transition: color 0.2s;
}

.anmc-page-hero-breadcrumb a:hover {
    color: var(--anmc-orange) !important;
}

.anmc-page-hero-breadcrumb i {
    color: rgba(255, 255, 255, 0.40) !important;
    font-size: 0.75rem;
}

/* Section conteneur */
.anmc-page-content {
    background-color: var(--anmc-beige);
    padding-bottom: 72px;
}

/* Carte principale flottante (même principe que les sections accueil) */
.anmc-page-body {
    background-color: var(--anmc-blanc);
    border-radius: var(--radius-md);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.09);
    padding: 2.5rem 2.5rem 2rem;
    margin-top: -52px;
    position: relative;
    z-index: 2;
}

@media (max-width: 575.98px) {
    .anmc-page-body {
        padding: 1.5rem 1rem;
        margin-top: -32px;
    }
    .anmc-page-hero-titre {
        font-size: 1.5rem;
    }
}

/* Titre de section dans le contenu */
.anmc-page-heading {
    font-family: var(--font-titre);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--anmc-vert);
    border-left: 4px solid var(--anmc-orange);
    padding-left: 1rem;
    margin-bottom: 1.25rem;
    line-height: 1.3;
}

/* Badge date */
.anmc-page-date {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.82rem;
    color: #777;
    background-color: var(--anmc-beige);
    border-left: 3px solid var(--anmc-orange);
    padding: 0.3rem 0.85rem;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    margin-bottom: 1.5rem;
}

.anmc-page-date i {
    color: var(--anmc-orange) !important;
}

/* Contenu riche (|raw) */
.anmc-page-richtext {
    font-family: var(--font-corps);
    font-size: 0.97rem;
    color: var(--anmc-texte);
    line-height: 1.75;
    text-align: justify;
}

.anmc-page-richtext h1,
.anmc-page-richtext h2,
.anmc-page-richtext h3,
.anmc-page-richtext h4 {
    font-family: var(--font-titre);
    color: var(--anmc-vert);
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.anmc-page-richtext a {
    color: var(--anmc-orange);
}

.anmc-page-richtext a:hover {
    color: var(--anmc-vert);
}

/* Séparateur interne */
.anmc-page-divider {
    border-color: rgba(26, 59, 43, 0.12);
    margin: 2rem 0;
}

/* Carousel intérieur */
.anmc-page-carousel {
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
}

.anmc-page-carousel-img {
    max-height: 420px;
    object-fit: cover;
    border-radius: var(--radius-md);
}

/* --- Documents téléchargeables --- */
.anmc-doc-section-titre {
    font-family: var(--font-titre);
    font-size: 1.1rem;
    color: var(--anmc-vert);
    font-weight: 700;
    border-bottom: 2px solid var(--anmc-orange);
    padding-bottom: 0.5rem;
    margin-bottom: 1.25rem;
}

.anmc-doc-section-titre i {
    color: var(--anmc-orange) !important;
}

.anmc-doc-card {
    display: block;
    background-color: var(--anmc-beige);
    border: 1px solid rgba(26, 59, 43, 0.10);
    border-radius: var(--radius-md);
    padding: 1.25rem 0.75rem;
    text-align: center;
    text-decoration: none !important;
    transition: box-shadow 0.22s, transform 0.22s, border-color 0.22s;
    height: 100%;
}

.anmc-doc-card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.11);
    transform: translateY(-3px);
    border-color: var(--anmc-orange);
}

.anmc-doc-card-icon img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    margin-bottom: 0.75rem;
}

.anmc-doc-card-label {
    font-size: 0.82rem;
    color: var(--anmc-vert);
    font-weight: 600;
    word-break: break-word;
    line-height: 1.35;
    margin-bottom: 0.35rem;
}

.anmc-doc-card-ext {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--anmc-blanc);
    background-color: var(--anmc-orange);
    border-radius: var(--radius-pill);
    padding: 0.1rem 0.55rem;
}

/* --- Enquête publique --- */
.anmc-enquete-list {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.anmc-enquete-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-left: 3px solid var(--anmc-orange);
    background-color: var(--anmc-beige);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    transition: border-color 0.2s, background-color 0.2s;
}

.anmc-enquete-item:hover {
    border-color: var(--anmc-vert);
    background-color: #eceae3;
}

.anmc-enquete-num {
    font-family: var(--font-titre);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--anmc-orange);
    min-width: 28px;
    line-height: 1.4;
}

.anmc-enquete-content {
    flex: 1;
}

.anmc-enquete-content a {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--anmc-vert) !important;
    text-decoration: none;
    transition: color 0.2s;
    display: block;
    margin-bottom: 0.2rem;
}

.anmc-enquete-content a:hover {
    color: var(--anmc-orange) !important;
}

.anmc-enquete-date {
    font-size: 0.80rem;
    color: #888;
}

.anmc-enquete-date i {
    color: var(--anmc-orange) !important;
}

.anmc-enquete-arrow {
    color: var(--anmc-orange) !important;
    font-size: 1.2rem;
    opacity: 0.5;
    align-self: center;
    transition: opacity 0.2s, transform 0.2s;
}

.anmc-enquete-item:hover .anmc-enquete-arrow {
    opacity: 1;
    transform: translateX(4px);
}

/* --- État vide --- */
.anmc-page-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: #aaa;
}

.anmc-page-empty-icon {
    font-size: 3rem;
    color: var(--anmc-orange);
    opacity: 0.45;
    display: block;
    margin-bottom: 1rem;
}

.anmc-page-empty p {
    font-size: 0.95rem;
    color: #999;
}

/* ----------------------------------------------------------
   14c. MÉTROLOGIE — cartes secteurs + formulaire plainte
   ---------------------------------------------------------- */

/* Carte secteur (Prestations) */
.anmc-secteur-card {
    background-color: var(--anmc-blanc);
    border: 1px solid rgba(26, 59, 43, 0.10);
    border-radius: var(--radius-md);
    overflow: hidden;
    height: 100%;
    transition: box-shadow 0.22s, transform 0.22s;
}

.anmc-secteur-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
    transform: translateY(-3px);
}

.anmc-secteur-card-header {
    background-color: var(--anmc-vert);
    padding: 1.1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.anmc-secteur-card-icon {
    font-size: 1.3rem;
    color: var(--anmc-orange) !important;
    flex-shrink: 0;
}

.anmc-secteur-card-titre {
    font-family: var(--font-titre);
    font-size: 1rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    margin: 0;
    line-height: 1.3;
}

.anmc-secteur-card-list {
    list-style: none;
    padding: 1rem 1.25rem;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.anmc-secteur-card-item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    font-size: 0.88rem;
    color: var(--anmc-texte);
    line-height: 1.45;
}

.anmc-secteur-card-item i {
    color: var(--anmc-orange) !important;
    font-size: 1rem;
    margin-top: 1px;
    flex-shrink: 0;
}

/* Formulaire Plaintes */
.anmc-plainte-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: rgba(212, 115, 10, 0.12);
    color: var(--anmc-orange) !important;
    font-size: 1.75rem;
    margin-bottom: 1rem;
}

.anmc-plainte-intro {
    font-size: 0.92rem;
    color: #777;
    margin-bottom: 1.75rem;
}

.anmc-plainte-form {
    background-color: var(--anmc-beige);
    border-radius: var(--radius-md);
    padding: 2rem;
}

.anmc-form-label {
    display: block;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--anmc-vert);
    margin-bottom: 0.4rem;
}

.anmc-form-required {
    color: var(--anmc-orange);
    margin-left: 2px;
}

.anmc-form-control {
    display: block;
    width: 100%;
    padding: 0.6rem 0.9rem;
    font-size: 0.9rem;
    font-family: var(--font-corps);
    color: var(--anmc-texte);
    background-color: var(--anmc-blanc);
    border: 1px solid rgba(26, 59, 43, 0.20);
    border-radius: var(--radius-sm);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.anmc-form-control:focus {
    border-color: var(--anmc-orange);
    box-shadow: 0 0 0 3px rgba(212, 115, 10, 0.15);
}

.anmc-form-control::placeholder {
    color: #bbb;
}

.anmc-form-select {
    appearance: auto;
    cursor: pointer;
}

.anmc-form-textarea {
    resize: vertical;
    min-height: 130px;
}

.anmc-form-file {
    padding: 0.45rem 0.75rem;
    cursor: pointer;
}

.anmc-form-section-label {
    font-family: var(--font-titres);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.06em;
    color: var(--anmc-vert);
    border-bottom: 1.5px solid rgba(26,59,43,0.12);
    padding-bottom: 0.4rem;
    margin-bottom: 0.75rem;
}

.anmc-form-hint {
    font-size: 0.78rem;
    color: #999;
    margin-top: 0.35rem;
}

.anmc-form-hint i {
    color: var(--anmc-orange) !important;
}

.anmc-btn-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 2.2rem;
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc);
    font-family: var(--font-corps);
    font-size: 0.95rem;
    font-weight: 700;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background-color 0.2s, transform 0.2s;
    text-decoration: none;
}

.anmc-btn-submit:hover {
    background-color: #b85f06;
    transform: translateY(-2px);
    color: var(--anmc-blanc);
}

/* ----------------------------------------------------------
   14e. CERTIFICATION — cartes produits + détail produit
   ---------------------------------------------------------- */

/* Carte produit (listes assujetti / interdit / local / importer) */
.anmc-produit-card {
    background-color: var(--anmc-blanc);
    border: 1px solid rgba(26, 59, 43, 0.10);
    border-radius: var(--radius-md);
    overflow: hidden;
    height: 100%;
    transition: box-shadow 0.22s, transform 0.22s;
    display: flex;
    flex-direction: column;
}

.anmc-produit-card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
    transform: translateY(-4px);
}

.anmc-produit-card--interdit .anmc-produit-card-img-wrap::after {
    content: 'Interdit';
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #c0392b;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 0.15rem 0.55rem;
    border-radius: var(--radius-pill);
}

.anmc-produit-card-img-wrap {
    position: relative;
    background-color: var(--anmc-beige);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 190px;
    overflow: hidden;
}

.anmc-produit-card-img {
    max-height: 170px;
    max-width: 100%;
    object-fit: contain;
    transition: transform 0.3s;
}

.anmc-produit-card:hover .anmc-produit-card-img {
    transform: scale(1.05);
}

.anmc-produit-card-body {
    padding: 1rem 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0.75rem;
}

.anmc-produit-card-titre {
    font-family: var(--font-titre);
    font-size: 0.97rem;
    font-weight: 700;
    color: var(--anmc-vert);
    margin: 0;
    line-height: 1.35;
    flex: 1;
}

.anmc-produit-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 1.1rem;
    background-color: var(--anmc-vert);
    color: var(--anmc-blanc) !important;
    font-size: 0.85rem;
    font-weight: 600;
    font-family: var(--font-corps);
    border-radius: var(--radius-sm);
    text-decoration: none !important;
    transition: background-color 0.2s, transform 0.15s;
    align-self: flex-start;
}

.anmc-produit-card-btn:hover {
    background-color: var(--anmc-orange);
    transform: translateX(2px);
}

.anmc-produit-card-img-placeholder {
    width: 100%;
    height: 100%;
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f0ea;
}

.anmc-produit-card-desc {
    font-size: 0.82rem;
    color: #666;
    line-height: 1.55;
    margin: 0 0 0.75rem;
    font-family: 'Source Sans 3', Arial, sans-serif;
}

.anmc-produit-card-type {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--anmc-vert);
    background: rgba(26, 59, 43, 0.07);
    border-radius: 20px;
    padding: 3px 10px;
    font-family: 'Source Sans 3', Arial, sans-serif;
}

/* Page détail produit */
.anmc-detail-img-wrap {
    background-color: var(--anmc-beige);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    min-height: 260px;
    border: 1px solid rgba(26, 59, 43, 0.08);
}

.anmc-detail-img {
    max-width: 100%;
    max-height: 280px;
    object-fit: contain;
    border-radius: var(--radius-sm);
}

.anmc-detail-meta {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.anmc-detail-meta-item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 0.85rem;
    border-bottom: 1px solid rgba(26, 59, 43, 0.08);
    padding-bottom: 0.4rem;
}

.anmc-detail-meta-label {
    color: #888;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
}

.anmc-detail-meta-val {
    color: var(--anmc-texte);
    font-weight: 500;
}

.anmc-detail-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.anmc-detail-badge {
    display: inline-flex;
    align-items: center;
    background-color: rgba(26, 59, 43, 0.08);
    color: var(--anmc-vert);
    font-size: 0.82rem;
    font-weight: 600;
    padding: 0.3rem 0.75rem;
    border-radius: var(--radius-pill);
}

.anmc-detail-badge--orange {
    background-color: rgba(212, 115, 10, 0.12);
    color: var(--anmc-orange);
}

.anmc-detail-badge i {
    color: inherit !important;
}

.anmc-detail-section-titre {
    font-family: var(--font-titre);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--anmc-vert);
    margin-bottom: 0.75rem;
}

/* ----------------------------------------------------------
   14f. AUTHENTIFICATION — Login & Inscription (.anmc-auth-*)
   ---------------------------------------------------------- */

/* Reset global page auth */
.anmc-auth-body {
    margin: 0;
    padding: 0;
    font-family: var(--font-corps, 'Source Sans 3', Arial, sans-serif);
    background-color: var(--anmc-beige, #F5F0E8);
    min-height: 100vh;
}

/* Layout split-screen */
.anmc-auth-page {
    display: flex;
    min-height: 100vh;
}

/* ---- Panneau gauche (brand) ---- */
.anmc-auth-brand-panel {
    flex: 0 0 420px;
    background-color: var(--anmc-vert);
    border-right: 4px solid var(--anmc-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 2.5rem;
    position: relative;
    overflow: hidden;
}

/* Motif subtil en arrière-plan */
.anmc-auth-brand-panel::before {
    content: '';
    position: absolute;
    top: -80px;
    right: -80px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.04);
    pointer-events: none;
}

.anmc-auth-brand-panel::after {
    content: '';
    position: absolute;
    bottom: -60px;
    left: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background-color: rgba(212, 115, 10, 0.08);
    pointer-events: none;
}

.anmc-auth-brand-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 1;
    width: 100%;
}

.anmc-auth-brand-logo-link {
    display: inline-block;
    margin-bottom: 1.5rem;
}

.anmc-auth-brand-logo {
    max-width: 110px;
    height: auto;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.25));
}

.anmc-auth-brand-titre {
    font-family: var(--font-titre);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    letter-spacing: 0.04em;
    margin-bottom: 0.5rem;
}

.anmc-auth-brand-desc {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.6;
    margin-bottom: 0;
}

.anmc-auth-brand-divider {
    width: 48px;
    height: 3px;
    background-color: var(--anmc-orange);
    border-radius: 99px;
    margin: 1.75rem auto;
}

/* Piliers métiers */
.anmc-auth-brand-features {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    width: 100%;
    max-width: 240px;
}

.anmc-auth-brand-feature {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background-color: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: var(--radius-sm);
    padding: 0.6rem 1rem;
}

.anmc-auth-brand-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: rgba(212, 115, 10, 0.20);
    color: var(--anmc-orange) !important;
    font-size: 1rem;
    flex-shrink: 0;
}

.anmc-auth-brand-feature-icon i {
    color: var(--anmc-orange) !important;
}

.anmc-auth-brand-feature-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
}

.anmc-auth-brand-footer {
    margin-top: 2.5rem;
}

.anmc-auth-brand-back {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.55) !important;
    text-decoration: none;
    transition: color 0.2s;
}

.anmc-auth-brand-back:hover {
    color: var(--anmc-orange) !important;
}

.anmc-auth-brand-back i {
    color: inherit !important;
}

/* ---- Panneau droit (formulaire) ---- */
.anmc-auth-form-panel {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1.5rem;
    background-color: var(--anmc-beige);
    overflow-y: auto;
}

/* Conteneur intérieur formulaire */
.anmc-auth-form-inner {
    width: 100%;
    max-width: 440px;
}

.anmc-auth-form-inner--register {
    max-width: 500px;
}

/* En-tête du formulaire */
.anmc-auth-form-header {
    text-align: center;
    margin-bottom: 2rem;
}

.anmc-auth-form-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: rgba(26, 59, 43, 0.08);
    color: var(--anmc-vert) !important;
    font-size: 1.6rem;
    margin-bottom: 1rem;
    border: 2px solid rgba(26, 59, 43, 0.12);
}

.anmc-auth-form-icon-wrap i {
    color: var(--anmc-vert) !important;
}

.anmc-auth-form-titre {
    font-family: var(--font-titre);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--anmc-vert);
    margin-bottom: 0.35rem;
}

.anmc-auth-form-sous-titre {
    font-size: 0.9rem;
    color: #888;
    margin: 0;
}

/* Alertes */
.anmc-auth-alert {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-sm);
    font-size: 0.88rem;
    font-weight: 500;
    margin-bottom: 1.25rem;
}

.anmc-auth-alert--danger {
    background-color: #fdecea;
    color: #b91c1c;
    border-left: 3px solid #ef4444;
}

.anmc-auth-alert i {
    color: inherit !important;
    flex-shrink: 0;
}

/* Formulaire */
.anmc-auth-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.anmc-auth-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.anmc-auth-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--anmc-vert);
}

.anmc-auth-label i {
    color: var(--anmc-orange) !important;
    font-size: 0.9rem;
}

.anmc-auth-input {
    width: 100%;
    padding: 0.65rem 1rem;
    font-size: 0.92rem;
    font-family: var(--font-corps);
    color: var(--anmc-texte);
    background-color: var(--anmc-blanc);
    border: 1.5px solid rgba(26, 59, 43, 0.18);
    border-radius: var(--radius-sm);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.anmc-auth-input:focus {
    border-color: var(--anmc-orange);
    box-shadow: 0 0 0 3px rgba(212, 115, 10, 0.15);
}

.anmc-auth-input::placeholder {
    color: #c0bab0;
}

/* Groupe input + toggle visibilité */
.anmc-auth-input-group {
    position: relative;
    display: flex;
}

.anmc-auth-input-group .anmc-auth-input {
    padding-right: 2.8rem;
    flex: 1;
}

.anmc-auth-input-toggle {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 42px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #aaa;
    transition: color 0.2s;
}

.anmc-auth-input-toggle:hover {
    color: var(--anmc-orange);
}

.anmc-auth-input-toggle i {
    color: inherit !important;
    font-size: 1rem;
}

.anmc-auth-hint {
    font-size: 0.78rem;
    color: #999;
    margin-top: 0.25rem;
}

/* Ligne mot de passe oublié */
.anmc-auth-row-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: -0.25rem;
}

.anmc-auth-link-forgot {
    font-size: 0.82rem;
    color: var(--anmc-orange) !important;
    text-decoration: none;
    transition: color 0.2s;
}

.anmc-auth-link-forgot:hover {
    color: var(--anmc-vert) !important;
    text-decoration: underline;
}

/* Case à cocher */
.anmc-auth-field-check {
    margin-top: 0.25rem;
}

.anmc-auth-check-label {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.88rem;
    color: var(--anmc-texte);
    cursor: pointer;
}

.anmc-auth-checkbox {
    width: 16px;
    height: 16px;
    accent-color: var(--anmc-orange);
    flex-shrink: 0;
    cursor: pointer;
}

/* Bouton soumettre */
.anmc-auth-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.75rem;
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc) !important;
    font-family: var(--font-corps);
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background-color 0.2s, transform 0.15s;
    margin-top: 0.5rem;
}

.anmc-auth-submit:hover {
    background-color: #b85f06;
    transform: translateY(-1px);
}

.anmc-auth-submit i {
    color: inherit !important;
}

/* Pied de formulaire */
.anmc-auth-form-footer {
    text-align: center;
    margin-top: 1.5rem;
    font-size: 0.88rem;
    color: #888;
}

.anmc-auth-link {
    color: var(--anmc-orange) !important;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}

.anmc-auth-link:hover {
    color: var(--anmc-vert) !important;
    text-decoration: underline;
}

/* Responsive — mobile : panneau gauche masqué */
@media (max-width: 900px) {
    .anmc-auth-brand-panel {
        display: none;
    }
    .anmc-auth-form-panel {
        background-color: var(--anmc-beige);
        padding: 2rem 1rem;
    }
}

/* ----------------------------------------------------------
   14g. CENTRE DE FORMATION — cartes, détail, inscription
   ---------------------------------------------------------- */

/* Carte formation (liste) */
.anmc-formation-card {
    background-color: var(--anmc-blanc);
    border: 1px solid rgba(26, 59, 43, 0.10);
    border-radius: var(--radius-md);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.22s, transform 0.22s;
}

.anmc-formation-card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.11);
    transform: translateY(-4px);
}

.anmc-formation-card-img-wrap {
    height: 200px;
    overflow: hidden;
    background-color: var(--anmc-beige);
}

.anmc-formation-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s;
}

.anmc-formation-card:hover .anmc-formation-card-img {
    transform: scale(1.06);
}

.anmc-formation-card-body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0.6rem;
}

.anmc-formation-card-titre {
    font-family: var(--font-titre);
    font-size: 1rem;
    font-weight: 700;
    color: var(--anmc-vert);
    margin: 0;
    line-height: 1.35;
}

.anmc-formation-card-resume {
    font-size: 0.87rem;
    color: #777;
    line-height: 1.55;
    flex: 1;
    margin: 0;
}

.anmc-formation-card-btn {
    display: inline-flex;
    align-items: center;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--anmc-orange) !important;
    text-decoration: none;
    transition: color 0.2s, gap 0.2s;
    gap: 0.3rem;
    align-self: flex-start;
}

.anmc-formation-card-btn:hover {
    color: var(--anmc-vert) !important;
    gap: 0.6rem;
}

.anmc-formation-card-btn i {
    color: inherit !important;
}

/* Infos rapides — détail formation */
.anmc-formation-info-card {
    background-color: var(--anmc-beige);
    border-radius: var(--radius-md);
    border: 1px solid rgba(26, 59, 43, 0.08);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.anmc-formation-info-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.anmc-formation-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 50%;
    background-color: rgba(212, 115, 10, 0.12);
    color: var(--anmc-orange) !important;
    font-size: 0.9rem;
    margin-top: 1px;
}

.anmc-formation-info-icon i {
    color: var(--anmc-orange) !important;
}

.anmc-formation-info-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #999;
    line-height: 1;
    margin-bottom: 0.15rem;
}

.anmc-formation-info-val {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--anmc-texte);
}

/* Résumé formation (détail) */
.anmc-formation-resume {
    background-color: rgba(26, 59, 43, 0.05);
    border-left: 3px solid var(--anmc-orange);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    padding: 0.75rem 1rem;
    font-size: 0.92rem;
    color: var(--anmc-texte);
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.anmc-formation-resume i {
    color: var(--anmc-orange) !important;
    margin-top: 2px;
    flex-shrink: 0;
}

/* Notice candidature */
.anmc-candidature-notice {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    background: rgba(212, 115, 10, 0.07);
    border: 1.5px solid rgba(212, 115, 10, 0.25);
    border-radius: var(--radius-sm);
    padding: 1rem 1.1rem;
    font-size: 0.88rem;
    color: var(--anmc-texte);
    line-height: 1.6;
}

.anmc-candidature-notice-icon {
    flex-shrink: 0;
    font-size: 1.3rem;
    color: var(--anmc-orange);
    margin-top: 1px;
}

/* Documents requis — liste numérotée */
.anmc-doc-requis {
    background: rgba(26, 59, 43, 0.04);
    border-left: 3px solid var(--anmc-vert);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    padding: 0.85rem 1.1rem;
}

.anmc-doc-requis-titre {
    font-family: var(--font-corps);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--anmc-vert);
    margin-bottom: 0.5rem;
}

.anmc-doc-requis-liste {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.anmc-doc-requis-liste li {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.88rem;
    color: var(--anmc-texte);
}

.anmc-doc-requis-num {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--anmc-orange);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.anmc-upload-filename {
    display: none;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--anmc-vert);
}

/* Toggle Particulier / Entreprise */
.anmc-inscription-toggle {
    display: flex;
    border: 1.5px solid rgba(26, 59, 43, 0.15);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.anmc-inscription-toggle-btn {
    flex: 1;
    padding: 0.65rem 1rem;
    background: var(--anmc-blanc);
    border: none;
    font-family: var(--font-corps);
    font-size: 0.9rem;
    font-weight: 600;
    color: #888;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.anmc-inscription-toggle-btn.active {
    background-color: var(--anmc-vert);
    color: var(--anmc-blanc);
}

.anmc-inscription-toggle-btn i {
    color: inherit !important;
}

.anmc-inscription-intro {
    font-size: 0.88rem;
    color: #888;
    margin-bottom: 1rem;
}

/* Alert succès (partagée) */
.anmc-auth-alert--success {
    background-color: #e8f5ee;
    color: #15703a;
    border-left: 3px solid #22c55e;
}

/* ----------------------------------------------------------
   14h. BLOG — Actualités & Annonces
   ---------------------------------------------------------- */

/* === Carte Actualité (liste) === */
.anmc-blog-card {
    background-color: var(--anmc-blanc);
    border: 1px solid rgba(26, 59, 43, 0.09);
    border-radius: var(--radius-md);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.22s, transform 0.22s;
}

.anmc-blog-card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.11);
    transform: translateY(-4px);
}

.anmc-blog-card-img-wrap {
    position: relative;
    height: 200px;
    overflow: hidden;
    background-color: var(--anmc-beige);
}

.anmc-blog-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s;
}

.anmc-blog-card:hover .anmc-blog-card-img {
    transform: scale(1.06);
}

.anmc-blog-card-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 0.2rem 0.65rem;
    border-radius: var(--radius-pill);
    text-transform: uppercase;
}

.anmc-blog-card-body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0.55rem;
}

.anmc-blog-card-titre {
    font-family: var(--font-titre);
    font-size: 1rem;
    font-weight: 700;
    color: var(--anmc-vert);
    margin: 0;
    line-height: 1.35;
}

.anmc-blog-card-resume {
    font-size: 0.87rem;
    color: #777;
    line-height: 1.55;
    flex: 1;
    margin: 0;
}

.anmc-blog-card-lien {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--anmc-orange) !important;
    text-decoration: none;
    align-self: flex-start;
    transition: gap 0.2s, color 0.2s;
}

.anmc-blog-card-lien:hover {
    color: var(--anmc-vert) !important;
    gap: 0.65rem;
}

.anmc-blog-card-lien i {
    color: inherit !important;
    font-size: 0.9rem;
}

/* === Détail Actualité === */
.anmc-blog-detail-img-wrap {
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.09);
}

.anmc-blog-detail-img {
    width: 100%;
    max-height: 320px;
    object-fit: cover;
    display: block;
}

.anmc-blog-detail-meta {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.anmc-blog-detail-meta-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #888;
}

.anmc-blog-detail-meta-item i {
    color: var(--anmc-orange) !important;
    font-size: 0.9rem;
}

/* Bouton retour */
.anmc-blog-back-btn {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1.25rem;
    background-color: var(--anmc-beige);
    border: 1.5px solid rgba(26, 59, 43, 0.15);
    border-radius: var(--radius-sm);
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--anmc-vert) !important;
    text-decoration: none;
    transition: background-color 0.2s, border-color 0.2s;
}

.anmc-blog-back-btn:hover {
    background-color: var(--anmc-vert);
    border-color: var(--anmc-vert);
    color: var(--anmc-blanc) !important;
}

.anmc-blog-back-btn i {
    color: inherit !important;
}

/* === Liste Annonces === */
.anmc-annonce-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.anmc-annonce-list-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    background-color: var(--anmc-blanc);
    border: 1px solid rgba(26, 59, 43, 0.09);
    border-left: 3px solid var(--anmc-orange);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.anmc-annonce-list-item:hover {
    border-left-color: var(--anmc-vert);
    box-shadow: 0 4px 16px rgba(0,0,0,0.07);
}

.anmc-annonce-list-num {
    font-family: var(--font-titre);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--anmc-orange);
    min-width: 32px;
    line-height: 1.3;
    flex-shrink: 0;
}

.anmc-annonce-list-content {
    flex: 1;
    min-width: 0;
}

.anmc-annonce-list-date {
    font-size: 0.78rem;
    color: #aaa;
    margin-bottom: 0.25rem;
    display: flex;
    align-items: center;
}

.anmc-annonce-list-date i {
    color: var(--anmc-orange) !important;
}

.anmc-annonce-list-titre {
    font-family: var(--font-titre);
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
    line-height: 1.3;
}

.anmc-annonce-list-titre a {
    color: var(--anmc-vert) !important;
    text-decoration: none;
    transition: color 0.2s;
}

.anmc-annonce-list-titre a:hover {
    color: var(--anmc-orange) !important;
}

.anmc-annonce-list-resume {
    font-size: 0.87rem;
    color: #777;
    margin: 0;
    line-height: 1.5;
}

.anmc-annonce-list-arrow {
    font-size: 1.4rem;
    color: var(--anmc-orange) !important;
    opacity: 0.45;
    align-self: center;
    flex-shrink: 0;
    text-decoration: none;
    transition: opacity 0.2s, transform 0.2s;
}

.anmc-annonce-list-item:hover .anmc-annonce-list-arrow {
    opacity: 1;
    transform: translateX(4px);
}

/* === Détail Annonce === */
.anmc-annonce-detail-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.anmc-annonce-detail-badge {
    display: inline-flex;
    align-items: center;
    background-color: rgba(212, 115, 10, 0.12);
    color: var(--anmc-orange);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 0.3rem 0.8rem;
    border-radius: var(--radius-pill);
    text-transform: uppercase;
}

.anmc-annonce-detail-badge i {
    color: inherit !important;
}

.anmc-annonce-detail-date {
    font-size: 0.85rem;
    color: #999;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.anmc-annonce-detail-date i {
    color: var(--anmc-orange) !important;
}

/* ----------------------------------------------------------
   14i. BLOG — Offres d'emploi
   ---------------------------------------------------------- */

.anmc-emploi-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.anmc-emploi-card {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    padding: 1.25rem 1.5rem;
    background-color: var(--anmc-blanc);
    border: 1px solid rgba(26, 59, 43, 0.1);
    border-left: 4px solid var(--anmc-orange);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    text-decoration: none;
    transition: box-shadow 0.22s, border-color 0.22s, transform 0.22s;
}

.anmc-emploi-card:hover {
    border-left-color: var(--anmc-vert);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.anmc-emploi-card-logo {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-sm);
    object-fit: contain;
    border: 1px solid rgba(26, 59, 43, 0.1);
    flex-shrink: 0;
    background-color: var(--anmc-beige);
    padding: 4px;
}

.anmc-emploi-card-logo-placeholder {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-sm);
    background-color: var(--anmc-beige);
    border: 1px solid rgba(26, 59, 43, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: var(--anmc-orange);
    flex-shrink: 0;
}

.anmc-emploi-card-content {
    flex: 1;
    min-width: 0;
}

.anmc-emploi-card-titre {
    font-family: var(--font-titre);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--anmc-vert);
    margin: 0 0 0.4rem;
    transition: color 0.2s;
    line-height: 1.3;
}

.anmc-emploi-card:hover .anmc-emploi-card-titre {
    color: var(--anmc-orange);
}

.anmc-emploi-card-metas {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    margin-bottom: 0.5rem;
}

.anmc-emploi-meta {
    font-size: 0.82rem;
    color: #777;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.anmc-emploi-meta i {
    color: var(--anmc-orange) !important;
    font-size: 0.85rem;
}

.anmc-emploi-card-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.75rem;
    flex-shrink: 0;
}

.anmc-emploi-expiration {
    font-size: 0.78rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.7rem;
    border-radius: var(--radius-pill);
}

.anmc-emploi-expiration--active {
    background-color: #e6f5ed;
    color: #15703a;
}

.anmc-emploi-expiration--active i {
    color: #15703a !important;
}

.anmc-emploi-expiration--expire {
    background-color: #fdecea;
    color: #c0392b;
}

.anmc-emploi-expiration--expire i {
    color: #c0392b !important;
}

.anmc-emploi-card-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--anmc-orange) !important;
    text-decoration: none;
    padding: 0.3rem 0.85rem;
    border: 1.5px solid var(--anmc-orange);
    border-radius: var(--radius-pill);
    transition: background-color 0.2s, color 0.2s;
    white-space: nowrap;
}

.anmc-emploi-card-btn:hover {
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc) !important;
}

/* === Détail offre d'emploi === */
.anmc-emploi-type-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 0.3rem 0.85rem;
    border-radius: var(--radius-pill);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.anmc-emploi-type-badge--stage {
    background-color: rgba(26, 59, 43, 0.1);
    color: var(--anmc-vert);
}

.anmc-emploi-type-badge--cdd {
    background-color: rgba(212, 115, 10, 0.12);
    color: var(--anmc-orange);
}

.anmc-emploi-type-badge--cdi {
    background-color: #e6f5ed;
    color: #15703a;
}

.anmc-emploi-postuler-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-corps);
    font-size: 1rem;
    font-weight: 700;
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc) !important;
    border: none;
    padding: 0.7rem 2rem;
    border-radius: var(--radius-pill);
    text-decoration: none;
    transition: background-color 0.2s, transform 0.2s;
    cursor: pointer;
}

.anmc-emploi-postuler-btn:hover {
    background-color: #b35e08;
    transform: translateY(-2px);
    color: var(--anmc-blanc) !important;
}

/* ----------------------------------------------------------
   14j. CONTACT
   ---------------------------------------------------------- */

.anmc-contact-map-wrap {
    border-radius: var(--radius-md);
    overflow: hidden;
    border: 1px solid rgba(26, 59, 43, 0.1);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07);
    line-height: 0;
}

.anmc-contact-map-wrap iframe {
    display: block;
    width: 100%;
    height: 420px;
    border: none;
}

.anmc-contact-section-titre {
    font-family: var(--font-titre);
    font-size: 1rem;
    font-weight: 700;
    color: var(--anmc-vert);
    margin: 0 0 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--anmc-orange);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

@media (max-width: 767px) {
    .anmc-emploi-card {
        flex-direction: column;
    }
    .anmc-emploi-card-right {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .anmc-contact-map-wrap iframe {
        height: 280px;
    }
}

/* ----------------------------------------------------------
   14d. FOOTER — nouveau design charte (.anmc-footer)
   ---------------------------------------------------------- */

/* Conteneur principal */
.anmc-footer {
    background-color: var(--anmc-vert);
    border-top: 4px solid var(--anmc-orange);
    color: rgba(255, 255, 255, 0.80);
    font-family: var(--font-corps);
}

/* Colonne marque */
.anmc-footer-brand-titre {
    font-family: var(--font-titre);
    font-size: 2rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    letter-spacing: 0.04em;
    margin-bottom: 0.75rem;
}

.anmc-footer-brand-desc {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.65;
    margin-bottom: 1.4rem;
}

/* Boutons réseaux sociaux */
.anmc-footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.anmc-footer-social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.30);
    color: rgba(255, 255, 255, 0.80) !important;
    font-size: 0.85rem;
    text-decoration: none;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.anmc-footer-social-btn i,
.anmc-footer-social-btn .fab,
.anmc-footer-social-btn .fas,
.anmc-footer-social-btn .far {
    color: inherit !important;
}

.anmc-footer-social-btn:hover {
    background-color: var(--anmc-orange);
    border-color: var(--anmc-orange);
    color: var(--anmc-blanc) !important;
    text-decoration: none;
}

/* Titres de colonnes */
.anmc-footer-heading {
    font-family: var(--font-titre);
    font-size: 1rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    text-transform: none;
    letter-spacing: 0.06em;
    padding-bottom: 0.6rem;
    margin-bottom: 1.1rem;
    border-bottom: 2px solid var(--anmc-orange);
    display: inline-block;
}

/* Liens rapides */
.anmc-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.anmc-footer-links li {
    margin-bottom: 0.45rem;
}

.anmc-footer-links li::before {
    content: '\f105';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: var(--anmc-orange);
    margin-right: 0.45rem;
    font-size: 0.8rem;
}

.anmc-footer-links a {
    color: rgba(255, 255, 255, 0.75) !important;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s, padding-left 0.2s;
}

.anmc-footer-links a:hover {
    color: var(--anmc-orange) !important;
    padding-left: 4px;
}

/* Infos de contact */
.anmc-footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.anmc-footer-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 50%;
    background-color: rgba(212, 115, 10, 0.20);
    color: var(--anmc-orange) !important;
    font-size: 0.85rem;
    margin-top: 2px;
}

.anmc-footer-contact-icon i,
.anmc-footer-contact-icon .fab,
.anmc-footer-contact-icon .fas,
.anmc-footer-contact-icon .far,
.anmc-footer-contact-icon .bi {
    color: var(--anmc-orange) !important;
}

.anmc-footer-contact-text,
.anmc-footer p,
.anmc-footer small {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.75) !important;
    margin: 0;
    line-height: 1.5;
}

/* Newsletter */
.anmc-footer-newsletter-desc {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 1rem;
    line-height: 1.6;
}

.anmc-footer-newsletter-form {
    display: flex;
    gap: 0;
    border-radius: var(--radius-sm);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.20);
}

.anmc-footer-newsletter-input {
    flex: 1;
    padding: 0.6rem 0.9rem;
    background-color: rgba(255, 255, 255, 0.08);
    border: none;
    outline: none;
    color: var(--anmc-blanc);
    font-size: 0.88rem;
    font-family: var(--font-corps);
}

.anmc-footer-newsletter-input::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.anmc-footer-newsletter-btn {
    padding: 0.6rem 1.1rem;
    background-color: var(--anmc-orange);
    border: none;
    color: var(--anmc-blanc);
    font-weight: 600;
    font-size: 0.85rem;
    font-family: var(--font-corps);
    cursor: pointer;
    transition: background-color 0.2s;
    white-space: nowrap;
}

.anmc-footer-newsletter-btn:hover {
    background-color: #b85f06;
}

/* Séparateur */
.anmc-footer-divider {
    border-color: rgba(255, 255, 255, 0.12);
    margin: 0;
}

/* Barre copyright */
.anmc-footer-copyright {
    background-color: rgba(0, 0, 0, 0.25);
    padding: 1rem 0;
}

.anmc-footer-copyright-text {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.65);
    margin: 0;
}

.anmc-footer-copyright-text a {
    color: rgba(255, 255, 255, 0.75) !important;
    text-decoration: none;
}

.anmc-footer-copyright-text a:hover {
    color: var(--anmc-orange) !important;
}

/* Bouton retour en haut — contrôlé par jQuery .fadeIn/.fadeOut */
.anmc-back-to-top {
    display: none; /* jQuery gère l'affichage */
    align-items: center;
    justify-content: center;
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc) !important;
    font-size: 1.1rem;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    transition: background-color 0.2s, transform 0.2s;
    z-index: 999;
}

/* Quand jQuery met display:inline-block, on force inline-flex */
.anmc-back-to-top[style*="display: inline"] {
    display: inline-flex !important;
}

.anmc-back-to-top:hover {
    background-color: var(--anmc-vert);
    transform: translateY(-3px);
    color: var(--anmc-blanc) !important;
}

/* ----------------------------------------------------------
   16. ESPACE PERSONNEL — Profil / Dashboard
   ---------------------------------------------------------- */

:root {
    --anmc-sidebar-w: 240px;
}

/* Body de la page profil */
.anmc-profile-body {
    background-color: var(--anmc-beige);
    font-family: var(--font-corps);
    overflow-x: hidden;
}

/* ── Sidebar ────────────────────────────────────────────── */
.anmc-ps-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: var(--anmc-sidebar-w);
    background-color: var(--anmc-vert);
    z-index: 1030;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    transition: transform 0.28s ease;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.15) transparent;
}

.anmc-ps-sidebar-brand {
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    gap: 0.7rem;
    text-decoration: none;
    flex-shrink: 0;
}

.anmc-ps-sidebar-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
    border-radius: 6px;
}

.anmc-ps-sidebar-brand-name {
    font-family: var(--font-titre);
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--anmc-blanc);
    letter-spacing: 0.04em;
    line-height: 1.15;
}

.anmc-ps-sidebar-brand-sub {
    font-size: 0.65rem;
    color: rgba(255,255,255,0.5);
    font-family: var(--font-corps);
    font-weight: 400;
    letter-spacing: 0;
}

.anmc-ps-sidebar-nav {
    padding: 0.75rem 0;
    flex: 1;
}

.anmc-ps-sidebar-section-label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.38);
    padding: 0.85rem 1.25rem 0.3rem;
}

.anmc-ps-sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.62rem 1.25rem;
    color: rgba(255,255,255,0.78) !important;
    text-decoration: none !important;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s;
    border-left: 3px solid transparent;
    cursor: pointer;
    background: none;
    border-top: none;
    border-right: none;
    border-bottom: none;
    width: 100%;
    text-align: left;
}

.anmc-ps-sidebar-link:hover,
.anmc-ps-sidebar-link.active {
    background-color: rgba(255,255,255,0.09);
    color: var(--anmc-blanc) !important;
    border-left-color: var(--anmc-orange);
}

.anmc-ps-sidebar-link i {
    font-size: 1.05rem;
    color: var(--anmc-orange) !important;
    flex-shrink: 0;
    width: 18px;
    text-align: center;
}

.anmc-ps-sidebar-link .anmc-ps-caret {
    margin-left: auto;
    font-size: 0.72rem;
    color: rgba(255,255,255,0.35) !important;
    transition: transform 0.2s;
}

.anmc-ps-sidebar-link[aria-expanded="true"] {
    background-color: rgba(255,255,255,0.09);
    color: var(--anmc-blanc) !important;
    border-left-color: var(--anmc-orange);
}

.anmc-ps-sidebar-link[aria-expanded="true"] .anmc-ps-caret {
    transform: rotate(90deg);
}

.anmc-ps-sidebar-submenu {
    background-color: rgba(0,0,0,0.12);
}

.anmc-ps-sidebar-sublink {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.25rem 0.5rem 3rem;
    color: rgba(255,255,255,0.62) !important;
    text-decoration: none !important;
    font-size: 0.83rem;
    transition: color 0.15s, background-color 0.15s;
}

.anmc-ps-sidebar-sublink:hover,
.anmc-ps-sublink-active {
    color: var(--anmc-blanc) !important;
    background-color: rgba(255,255,255,0.09);
    font-weight: 600;
}

.anmc-ps-sublink-active::before {
    background-color: var(--anmc-orange);
    width: 7px;
    height: 7px;
}

.anmc-ps-sidebar-sublink::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: var(--anmc-orange);
    flex-shrink: 0;
}

.anmc-ps-sidebar-footer {
    padding: 1rem 1.25rem;
    border-top: 1px solid rgba(255,255,255,0.1);
    flex-shrink: 0;
}

.anmc-ps-user-info {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 0.75rem;
}

.anmc-ps-user-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--anmc-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-titre);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    flex-shrink: 0;
}

.anmc-ps-user-name {
    font-size: 0.87rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    line-height: 1.2;
}

.anmc-ps-user-role {
    font-size: 0.72rem;
    color: rgba(255,255,255,0.45);
}

.anmc-ps-logout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.42rem 0.75rem;
    font-size: 0.83rem;
    font-weight: 600;
    color: rgba(255,255,255,0.7) !important;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: var(--radius-sm);
    text-decoration: none !important;
    transition: background-color 0.15s, color 0.15s;
    cursor: pointer;
}

.anmc-ps-logout-btn:hover {
    background-color: rgba(212,115,10,0.3);
    color: var(--anmc-blanc) !important;
    border-color: rgba(212,115,10,0.5);
}

.anmc-ps-logout-btn i {
    color: inherit !important;
    font-size: 0.9rem;
}

/* ── Topbar ─────────────────────────────────────────────── */
.anmc-ps-topbar {
    position: fixed;
    top: 0;
    left: var(--anmc-sidebar-w);
    right: 0;
    height: 58px;
    background-color: var(--anmc-blanc);
    border-bottom: 2px solid rgba(26,59,43,0.08);
    z-index: 1020;
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
    gap: 0.85rem;
}

.anmc-ps-topbar-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.35rem;
    color: var(--anmc-vert);
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.anmc-ps-topbar-brand {
    display: none;
    font-family: var(--font-titre);
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--anmc-vert);
    text-decoration: none !important;
}

.anmc-ps-topbar-search {
    flex: 1;
    max-width: 320px;
}

.anmc-ps-topbar-search form {
    display: flex;
    align-items: center;
    background-color: var(--anmc-beige);
    border: 1px solid rgba(26,59,43,0.1);
    border-radius: var(--radius-pill);
    padding: 0.28rem 0.8rem;
    gap: 0.5rem;
    transition: border-color 0.2s;
}

.anmc-ps-topbar-search form:focus-within {
    border-color: var(--anmc-orange);
}

.anmc-ps-topbar-search input {
    background: none;
    border: none;
    outline: none;
    font-size: 0.855rem;
    color: var(--anmc-texte);
    width: 100%;
    font-family: var(--font-corps);
}

.anmc-ps-topbar-search input::placeholder {
    color: #bbb;
}

.anmc-ps-topbar-search button {
    background: none;
    border: none;
    color: var(--anmc-orange);
    cursor: pointer;
    padding: 0;
    font-size: 0.95rem;
    line-height: 1;
}

.anmc-ps-topbar-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.anmc-ps-home-link {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.83rem;
    font-weight: 600;
    color: var(--anmc-vert) !important;
    text-decoration: none !important;
    padding: 0.32rem 0.85rem;
    border: 1.5px solid rgba(26,59,43,0.18);
    border-radius: var(--radius-pill);
    transition: background-color 0.15s, border-color 0.15s;
    white-space: nowrap;
}

.anmc-ps-home-link:hover {
    border-color: var(--anmc-orange);
    background-color: rgba(212,115,10,0.06);
}

.anmc-ps-home-link i {
    color: var(--anmc-orange) !important;
    font-size: 0.85rem;
}

/* Dropdown utilisateur */
.anmc-ps-user-dropdown .dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: none;
    border: 1.5px solid rgba(26,59,43,0.15);
    border-radius: var(--radius-pill);
    padding: 0.28rem 0.75rem 0.28rem 0.4rem;
    color: var(--anmc-texte);
    font-size: 0.855rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s;
    font-family: var(--font-corps);
}

.anmc-ps-user-dropdown .dropdown-toggle:hover,
.anmc-ps-user-dropdown .dropdown-toggle:focus {
    border-color: var(--anmc-orange);
    outline: none;
    box-shadow: none;
}

.anmc-ps-user-dropdown .dropdown-toggle::after {
    display: none;
}

.anmc-ps-topbar-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: var(--anmc-vert);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-titre);
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--anmc-blanc);
    flex-shrink: 0;
}

.anmc-ps-user-dropdown .dropdown-menu {
    border: none;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    border-radius: var(--radius-md);
    padding: 0.5rem 0;
    min-width: 200px;
    margin-top: 0.5rem !important;
}

.anmc-ps-user-dropdown .dropdown-item {
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
    color: var(--anmc-texte) !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.anmc-ps-user-dropdown .dropdown-item:hover {
    background-color: var(--anmc-beige);
    color: var(--anmc-vert) !important;
}

.anmc-ps-user-dropdown .dropdown-item i {
    color: var(--anmc-orange) !important;
    font-size: 0.9rem;
    width: 16px;
}

.anmc-ps-user-dropdown .dropdown-item.text-danger {
    color: #c0392b !important;
}

.anmc-ps-user-dropdown .dropdown-item.text-danger i {
    color: #c0392b !important;
}

.anmc-ps-user-dropdown .dropdown-header {
    font-size: 0.78rem;
    color: #aaa;
    padding: 0.5rem 1rem 0.25rem;
    font-weight: 600;
}

/* ── Contenu principal ─────────────────────────────────── */
.anmc-ps-main {
    margin-left: var(--anmc-sidebar-w);
    padding-top: 58px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--anmc-beige);
}

.anmc-ps-content {
    flex: 1;
    padding: 1.75rem 2rem;
}

/* Neutraliser les wrappers Metronic dans les pages enfants */
.anmc-ps-content .content {
    background: transparent !important;
    padding: 0 !important;
    margin-top: 0 !important;
}

.anmc-ps-content .app-container,
.anmc-ps-content .app-main,
.anmc-ps-content #kt_app_main,
.anmc-ps-content #kt_app_content,
.anmc-ps-content .d-flex.flex-column-fluid {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex: 1;
}

.anmc-ps-content .overlay {
    display: none !important; /* masquer les images bannières décoratives */
}

.anmc-ps-content .mb-18 { margin-bottom: 0 !important; }
.anmc-ps-content .mb-10 { margin-bottom: 0 !important; }

.anmc-ps-content .card {
    background-color: var(--anmc-blanc) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    border: none !important;
    margin-bottom: 1.5rem;
}

.anmc-ps-content .card-body,
.anmc-ps-content .card-body.p-lg-30 {
    padding: 1.75rem !important;
}

.anmc-ps-content h2#heading,
.anmc-ps-content h2 {
    font-family: var(--font-titre);
    color: var(--anmc-vert);
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
    border-left: 4px solid var(--anmc-orange);
    padding-left: 0.75rem;
}

/* Bouton "Nouvelle demande" */
.anmc-ps-content .btn.bg-primary {
    background-color: var(--anmc-orange) !important;
    border: none;
    border-radius: var(--radius-pill);
    padding: 0.5rem 1.5rem;
    font-weight: 700;
    font-size: 0.87rem;
    color: var(--anmc-blanc) !important;
    transition: background-color 0.2s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.anmc-ps-content .btn.bg-primary:hover {
    background-color: #b35e08 !important;
}

.anmc-ps-content .btn.btn-light.text-white {
    background-color: var(--anmc-orange) !important;
    border: none;
    border-radius: var(--radius-pill);
    color: var(--anmc-blanc) !important;
    font-weight: 700;
    padding: 0.5rem 1.5rem;
}

/* Tables DataTables */
.anmc-ps-content .table thead tr th {
    background-color: rgba(26,59,43,0.05) !important;
    color: var(--anmc-vert) !important;
    font-family: var(--font-titre);
    font-weight: 700;
    font-size: 0.82rem;
    border-bottom: 2px solid rgba(26,59,43,0.1) !important;
    white-space: nowrap;
}

.anmc-ps-content .table tbody tr:hover td {
    background-color: rgba(245,240,232,0.6) !important;
}

/* Compatibilité badges Metronic → Bootstrap 5 */
.badge.badge-warning,
.badge-warning { background-color: #ffc107 !important; color: #000 !important; display: inline-block; padding: 0.3em 0.6em; border-radius: 0.35em; font-size: 0.78em; font-weight: 700; }

.badge.badge-success,
.badge-success { background-color: var(--anmc-vert) !important; color: #fff !important; display: inline-block; padding: 0.3em 0.6em; border-radius: 0.35em; font-size: 0.78em; font-weight: 700; }

.badge.badge-info,
.badge-info { background-color: #0dcaf0 !important; color: #000 !important; display: inline-block; padding: 0.3em 0.6em; border-radius: 0.35em; font-size: 0.78em; font-weight: 700; }

.badge.badge-danger,
.badge-danger { background-color: #c0392b !important; color: #fff !important; display: inline-block; padding: 0.3em 0.6em; border-radius: 0.35em; font-size: 0.78em; font-weight: 700; }

.badge.badge-primary,
.badge-primary { background-color: var(--anmc-vert) !important; color: #fff !important; display: inline-block; padding: 0.3em 0.6em; border-radius: 0.35em; font-size: 0.78em; font-weight: 700; }

/* Icône d'action dans les tables */
.anmc-ps-content .bi.bi-eye { color: var(--anmc-vert) !important; }
.anmc-ps-content .bi.bi-eye:hover { color: var(--anmc-orange) !important; }

/* ── Dashboard ──────────────────────────────────────────── */
.anmc-dash-welcome {
    background: linear-gradient(135deg, var(--anmc-vert) 0%, #1e3528 100%);
    border-top: 4px solid var(--anmc-orange);
    border-radius: var(--radius-md);
    padding: 2rem 2.25rem;
    margin-bottom: 2.5rem;
    color: var(--anmc-blanc);
    position: relative;
    overflow: hidden;
}

.anmc-dash-welcome::after {
    content: 'ANMC';
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--font-titre);
    font-size: 6rem;
    font-weight: 900;
    color: rgba(255,255,255,0.05);
    pointer-events: none;
    letter-spacing: 0.05em;
}

.anmc-dash-welcome-titre {
    font-family: var(--font-titre);
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 0.3rem;
    position: relative;
}

.anmc-dash-welcome-sub {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.72);
    margin: 0;
    position: relative;
}

.anmc-dash-section-titre {
    font-family: var(--font-titre);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--anmc-vert);
    margin-bottom: 1.25rem;
    padding-bottom: 0.6rem;
    border-bottom: 2px solid var(--anmc-orange);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.anmc-dash-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.75rem 1.25rem;
    background-color: var(--anmc-blanc);
    border-radius: var(--radius-md);
    border: 1px solid rgba(26,59,43,0.08);
    border-top: 4px solid var(--anmc-orange);
    text-decoration: none !important;
    transition: box-shadow 0.22s, transform 0.22s, border-top-color 0.22s;
    height: 100%;
    gap: 0.3rem;
}

.anmc-dash-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
    transform: translateY(-3px);
    border-top-color: var(--anmc-vert);
}

.anmc-dash-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background-color: rgba(26,59,43,0.07);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--anmc-vert);
    margin-bottom: 0.75rem;
    transition: background-color 0.22s, color 0.22s;
}

.anmc-dash-card:hover .anmc-dash-card-icon {
    background-color: rgba(212,115,10,0.1);
    color: var(--anmc-orange);
}

.anmc-dash-card-label {
    font-family: var(--font-titre);
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--anmc-vert);
    line-height: 1.3;
    margin-bottom: 0.25rem;
}

.anmc-dash-card-desc {
    font-size: 0.78rem;
    color: #888;
    line-height: 1.4;
    margin: 0;
}

/* Dossier tracker */
.anmc-dash-tracker {
    background-color: var(--anmc-blanc);
    border-radius: var(--radius-md);
    padding: 2rem 1.75rem;
    border: 1px solid rgba(26,59,43,0.08);
    height: 100%;
}

.anmc-dash-tracker-form {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: flex-end;
}

.anmc-dash-tracker-input-wrap {
    flex: 1;
    min-width: 180px;
}

.anmc-dash-tracker-input {
    width: 100%;
    border: 1.5px solid rgba(26,59,43,0.15);
    border-radius: var(--radius-sm);
    padding: 0.5rem 0.85rem;
    font-size: 0.87rem;
    font-family: var(--font-corps);
    outline: none;
    transition: border-color 0.2s;
}

.anmc-dash-tracker-input:focus {
    border-color: var(--anmc-orange);
    box-shadow: 0 0 0 3px rgba(212,115,10,0.12);
}

.anmc-dash-tracker-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.52rem 1.25rem;
    background-color: var(--anmc-vert);
    color: var(--anmc-blanc) !important;
    border: none;
    border-radius: var(--radius-sm);
    font-size: 0.87rem;
    font-weight: 700;
    font-family: var(--font-corps);
    cursor: pointer;
    text-decoration: none !important;
    transition: background-color 0.2s;
}

.anmc-dash-tracker-btn:hover {
    background-color: var(--anmc-orange);
    color: var(--anmc-blanc) !important;
}

/* ── Footer profil ───────────────────────────────────────── */
.anmc-ps-footer {
    padding: 0.9rem 2rem;
    background-color: var(--anmc-blanc);
    border-top: 1px solid rgba(26,59,43,0.08);
    font-size: 0.8rem;
    color: #aaa;
    text-align: center;
}

/* ── Responsive mobile ───────────────────────────────────── */
@media (max-width: 991px) {
    .anmc-ps-sidebar {
        transform: translateX(-100%);
    }

    .anmc-ps-sidebar.show {
        transform: translateX(0);
    }

    .anmc-ps-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.45);
        z-index: 1025;
    }

    .anmc-ps-overlay.show {
        display: block;
    }

    .anmc-ps-topbar {
        left: 0;
    }

    .anmc-ps-topbar-toggle {
        display: block;
    }

    .anmc-ps-topbar-brand {
        display: block;
    }

    .anmc-ps-main {
        margin-left: 0;
    }

    .anmc-ps-content {
        padding: 1.25rem 1rem;
    }
}

@media (max-width: 576px) {
    .anmc-ps-topbar-search {
        display: none;
    }

    .anmc-dash-welcome {
        padding: 1.25rem 1.25rem;
    }
}

/* ----------------------------------------------------------
   16b. PAGES DÉTAIL — Demandes (champs label/valeur)
   ---------------------------------------------------------- */

/* Ligne label + valeur dans les pages de détail */
.anmc-ps-content .row.mb-7 {
    padding: 0.7rem 0.25rem;
    border-bottom: 1px solid rgba(26, 59, 43, 0.07);
    margin-bottom: 0 !important;
    align-items: center;
}

.anmc-ps-content .row.mb-7:last-of-type {
    border-bottom: none;
}

.anmc-ps-content .row.mb-7 label.fw-semibold,
.anmc-ps-content .row.mb-7 label.col-lg-4.fw-semibold,
.anmc-ps-content .row.mb-7 label.col-lg-6.fw-semibold {
    color: #888 !important;
    font-weight: 600 !important;
    font-size: 0.84rem;
    font-family: var(--font-corps);
    padding-right: 1rem;
}

.anmc-ps-content .row.mb-7 .fw-bold.fs-6,
.anmc-ps-content .row.mb-7 .fw-bold.text-gray-800,
.anmc-ps-content .row.mb-7 span.fw-bold {
    color: var(--anmc-texte) !important;
    font-size: 0.9rem !important;
    font-family: var(--font-corps);
}

/* Texte de rejet en rouge */
.anmc-ps-content .link-danger {
    color: #c0392b !important;
    font-weight: 600;
    text-decoration: none !important;
}

/* Icône PDF dans les détails */
.anmc-ps-content .symbol-60px img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    cursor: pointer;
    transition: transform 0.2s, opacity 0.2s;
    display: block;
}

.anmc-ps-content .symbol-60px img:hover {
    transform: scale(1.08);
    opacity: 0.85;
}

/* Titre page détail */
.anmc-ps-content .card > h2#heading {
    background-color: var(--anmc-vert);
    color: var(--anmc-blanc) !important;
    font-family: var(--font-titre);
    font-size: 1.05rem;
    font-weight: 700;
    border-left: none !important;
    padding: 1rem 1.75rem;
    margin: 0;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
}

/* Card détail : retirer padding-top (déjà dans le h2) */
.anmc-ps-content .card > h2#heading + .card-body {
    padding-top: 0.5rem !important;
}

/* Bouton "Valider" dans les modaux */
.anmc-ps-content .btn.btn-primary,
.modal .btn.btn-primary {
    background-color: var(--anmc-vert) !important;
    border-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
    border-radius: var(--radius-sm) !important;
    font-weight: 700;
    transition: background-color 0.2s;
}

.anmc-ps-content .btn.btn-primary:hover,
.modal .btn.btn-primary:hover {
    background-color: var(--anmc-orange) !important;
    border-color: var(--anmc-orange) !important;
}

/* ── Modal charte (upload document signé) ───────────────── */
.modal-content {
    border: none !important;
    border-radius: var(--radius-md) !important;
    overflow: hidden;
}

.modal-header {
    background-color: var(--anmc-vert) !important;
    border-bottom: 3px solid var(--anmc-orange) !important;
    padding: 1rem 1.5rem !important;
}

.modal-header h2,
.modal-header h3 {
    color: var(--anmc-blanc) !important;
    font-family: var(--font-titre);
    font-size: 1rem;
    margin: 0;
    border-left: none !important;
    background: none !important;
    padding: 0 !important;
}

/* Bouton "Imprimer le fichier" dans le modal */
.modal-header .badge a {
    color: var(--anmc-blanc) !important;
    text-decoration: none;
}

.modal-header .badge[style*="background:#01a60c"] {
    background-color: var(--anmc-orange) !important;
    border-radius: var(--radius-pill);
    padding: 0.45rem 1.1rem;
    font-weight: 700;
    font-size: 0.84rem;
    font-family: var(--font-corps);
}

/* Bouton fermeture modal (SVG ×) */
.modal-header .btn-active-color-danger svg rect {
    fill: rgba(255, 255, 255, 0.7);
}

.modal-header .btn-active-color-danger:hover svg rect {
    fill: var(--anmc-orange);
}

.modal-body {
    padding: 1.5rem !important;
}

.modal-body h2.fw-bold {
    font-family: var(--font-titre);
    color: var(--anmc-vert) !important;
    font-size: 1rem;
    border-left: 3px solid var(--anmc-orange);
    padding-left: 0.65rem !important;
    margin-bottom: 0.75rem;
    background: none !important;
    border-radius: 0 !important;
}

.modal-body .text-muted.fw-semibold {
    font-size: 0.87rem;
    color: #777 !important;
}

.modal-body .link-danger.fw-bold {
    color: #c0392b !important;
    font-size: 0.84rem;
}

.modal-body .list-group-item {
    padding: 0.5rem 0.85rem;
    font-size: 0.87rem;
    border-color: rgba(26, 59, 43, 0.1) !important;
}

.modal-body .list-group-item::before {
    content: '›';
    color: var(--anmc-orange);
    margin-right: 0.5rem;
    font-weight: 700;
}

/* ── Drawer Metronic (#kt_activities) ───────────────────── */
#kt_activities {
    background-color: var(--anmc-blanc) !important;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.12) !important;
    border-left: 4px solid var(--anmc-orange) !important;
    z-index: 1050 !important;
}

#kt_activities_header {
    border-bottom: 1px solid rgba(26, 59, 43, 0.1) !important;
    padding: 1rem 1.5rem !important;
    background-color: var(--anmc-beige);
}

#kt_activities_header .card-title {
    font-family: var(--font-titre);
    color: var(--anmc-vert) !important;
    font-size: 1rem;
    font-weight: 700;
}

#kt_activities_header .btn-icon svg rect {
    fill: rgba(26, 59, 43, 0.5);
}

#kt_activities_header .btn-icon:hover svg rect {
    fill: var(--anmc-orange);
}

#kt_activities_body {
    padding: 1rem !important;
}

/* ── Centre de formation ────────────────────────────────── */
.anmc-ps-content .card-xl-stretch {
    background-color: var(--anmc-blanc);
    border: 1px solid rgba(26, 59, 43, 0.08);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: box-shadow 0.22s, transform 0.22s;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.anmc-ps-content .card-xl-stretch:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(-3px);
}

.anmc-ps-content .overlay-wrapper {
    min-height: 175px !important;
    background-size: cover !important;
    background-position: center !important;
    background-color: var(--anmc-beige) !important;
}

.anmc-ps-content .overlay-layer {
    background-color: rgba(26, 59, 43, 0.35) !important;
    opacity: 0;
    transition: opacity 0.22s;
}

.anmc-ps-content .overlay:hover .overlay-layer {
    opacity: 1;
}

.anmc-ps-content .overlay-layer .ki-outline.ki-eye,
.anmc-ps-content .overlay-layer i {
    color: var(--anmc-blanc) !important;
    font-size: 1.8rem;
}

.anmc-ps-content .card-xl-stretch .m-0.text-center {
    padding: 1rem 0.75rem 1.25rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.anmc-ps-content .card-xl-stretch .fs-4.text-dark.fw-bold,
.anmc-ps-content .card-xl-stretch a.fs-4.text-dark {
    font-family: var(--font-titre);
    color: var(--anmc-vert) !important;
    font-size: 0.97rem !important;
    font-weight: 700;
    text-decoration: none !important;
    transition: color 0.2s;
    line-height: 1.3;
}

.anmc-ps-content .card-xl-stretch a.fs-4.text-dark:hover {
    color: var(--anmc-orange) !important;
}

.anmc-ps-content .card-xl-stretch .fw-semibold.fs-5.text-gray-600 {
    font-size: 0.82rem !important;
    color: #888 !important;
}

.anmc-ps-content .card-xl-stretch .fs-6.fw-bold .text-primary {
    color: var(--anmc-orange) !important;
    font-size: 0.82rem;
    font-weight: 600 !important;
}

/* Titre section formations */
.anmc-ps-content .fs-2hx.text-dark {
    font-family: var(--font-titre);
    color: var(--anmc-vert) !important;
    font-size: 1.35rem !important;
    font-weight: 700;
    border-left: 4px solid var(--anmc-orange);
    padding-left: 0.75rem;
    margin-bottom: 0.5rem;
}

.anmc-ps-content .fs-5.text-primary.fw-semibold {
    color: var(--anmc-texte) !important;
    font-size: 0.9rem !important;
}

/* ── Détails formation ──────────────────────────────────── */
.anmc-ps-content .card-rounded.min-h-175px {
    border-radius: var(--radius-md) !important;
    min-height: 220px !important;
}

.anmc-ps-content .fw-bold.d-flex.align-items-center.text-dark.mb-3 {
    font-family: var(--font-titre);
    color: var(--anmc-vert) !important;
    font-size: 1.1rem;
}

/* ── Formulaires des pages demande (form multistep) ─────── */
.anmc-ps-content .form-card { padding: 1rem 0; }

.anmc-ps-content .fieldlabels {
    font-size: 0.84rem;
    color: #666;
    font-weight: 600;
    margin-bottom: 0.3rem;
    display: block;
}

.anmc-ps-content .form-control:focus {
    border-color: var(--anmc-orange) !important;
    box-shadow: 0 0 0 3px rgba(212, 115, 10, 0.12) !important;
}

.anmc-ps-content .steps {
    font-size: 0.82rem;
    color: var(--anmc-orange);
    font-weight: 700;
    text-align: right;
}

/* ── Barre de recherche dossier (profile/index) ─────────── */
.anmc-ps-content #kt_content_container {
    max-width: 100% !important;
    padding: 0 !important;
}

/* ── Neutraliser le margin-top négatif Metronic (.content) ─ */
.anmc-ps-content .content[style*="margin-top"] {
    margin-top: 0 !important;
}

/* ── Couleurs utilitaires Metronic → charte ANMC ─────────── */
/* text-primary → vert ANMC (liens, titres, dates) */
.anmc-ps-content .text-primary {
    color: var(--anmc-vert) !important;
}

/* text-gray-400 → gris clair (sous-titres, labels légers) */
.anmc-ps-content .text-gray-400 {
    color: #9aabb3 !important;
}

/* text-gray-600 → gris moyen (descriptions) */
.anmc-ps-content .text-gray-600 {
    color: #6c7a80 !important;
}

/* fs-1 (formation title) */
.anmc-ps-content .fs-1 {
    font-size: 1.35rem !important;
    font-family: var(--font-titre);
    font-weight: 700;
    color: var(--anmc-vert) !important;
    line-height: 1.3;
}

/* fs-7 (fine legend / subtitle) */
.anmc-ps-content .fs-7 {
    font-size: 0.78rem !important;
}

/* badge-light-primary → vert pâle + texte vert */
.anmc-ps-content .badge-light-primary,
.anmc-ps-content .badge.badge-light-primary {
    background-color: rgba(26, 59, 43, 0.09) !important;
    color: var(--anmc-vert) !important;
    font-weight: 600;
    border-radius: var(--radius-pill);
}

/* badge-primary → vert plein */
.anmc-ps-content .badge-primary,
.anmc-ps-content .badge.badge-primary {
    background-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
    border-radius: var(--radius-pill);
    font-weight: 600;
}

/* Boîtes de stat dashed (dates de formation) */
.anmc-ps-content .border.border-gray-300.border-dashed.rounded {
    border-color: rgba(26, 59, 43, 0.18) !important;
    border-style: dashed !important;
    background-color: var(--anmc-blanc);
    border-radius: var(--radius-sm) !important;
    transition: border-color 0.2s;
}

.anmc-ps-content .border.border-gray-300.border-dashed.rounded:hover {
    border-color: var(--anmc-orange) !important;
}

/* Image de couverture formation (bgi-*) */
.anmc-ps-content [class*="bgi-no-repeat"].card-rounded {
    border-radius: var(--radius-md) !important;
    min-height: 280px;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

/* Card flush (pas de border, fond blanc) */
.anmc-ps-content .card.card-flush {
    border: 1px solid rgba(26, 59, 43, 0.08) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    border-radius: var(--radius-md) !important;
}

/* Bouton S'inscrire / Se désinscrire dans la fiche formation */
.anmc-ps-content .btn.btn-primary.align-self-center,
.anmc-ps-content a.badge.badge-primary.align-self-center {
    background-color: var(--anmc-orange) !important;
    border-color: var(--anmc-orange) !important;
    color: var(--anmc-blanc) !important;
    border-radius: var(--radius-pill) !important;
    padding: 0.5rem 1.4rem;
    font-weight: 700;
    font-size: 0.88rem;
    text-decoration: none !important;
    transition: background-color 0.2s, transform 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.anmc-ps-content .btn.btn-primary.align-self-center:hover,
.anmc-ps-content a.badge.badge-primary.align-self-center:hover {
    background-color: #b86209 !important;
    border-color: #b86209 !important;
    transform: translateY(-1px);
}

/* ==========================================================
   16c. LISTES & FORMULAIRES — Sous-menus espace personnel
        (presMetro, agrement, norme, achatNorme)
   ========================================================== */

/* ── Bouton CTA "Nouvelle demande" ───────────────────────── */
.anmc-ps-content .btn.bg-primary,
.anmc-ps-content .btn.bg-primary.text-white {
    background-color: var(--anmc-orange) !important;
    border: 2px solid var(--anmc-orange) !important;
    color: var(--anmc-blanc) !important;
    font-family: var(--font-corps);
    font-weight: 700;
    font-size: 0.88rem;
    padding: 0.55rem 1.4rem;
    border-radius: var(--radius-pill) !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: background-color 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 2px 8px rgba(212, 115, 10, 0.25);
}

.anmc-ps-content .btn.bg-primary:hover,
.anmc-ps-content .btn.bg-primary.text-white:hover {
    background-color: #b86209 !important;
    border-color: #b86209 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(212, 115, 10, 0.35);
}

/* ── 1. Neutraliser les gutters Bootstrap de la row externe ─ */
/*    Ciblage précis : seules les rows Metronic des pages liste */
/*    .row.g-5 et .row.g-xxl-8 causent un overflow             */
.anmc-ps-content .row.g-5,
.anmc-ps-content .row.g-xxl-8 {
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* ── 2. Supprimer le padding de container-fluid ────────────── */
.anmc-ps-content .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    overflow: visible;
}

/* ── 3. Layout vertical : bouton + card-tableau ─────────────── */
/*    .justify-content-center est ici un simple div (pas .row)  */
.anmc-ps-content .container-fluid > .justify-content-center {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1rem !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── 4. Neutraliser les col-* sans .row parent ──────────────── */
/*    Ils héritent des paddings de gutter Bootstrap inutiles     */
.anmc-ps-content .container-fluid > .justify-content-center > div {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Bouton : auto-largeur, pas full width */
.anmc-ps-content .container-fluid > .justify-content-center > div:has(> .btn) {
    width: auto !important;
}

/* ── 5. Carte intérieure (tableau) ──────────────────────────── */
.anmc-ps-content .card.px-0,
.anmc-ps-content .card.px-0.pt-4,
.anmc-ps-content .card.px-0.pt-4.pb-0 {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07) !important;
    border: 1px solid rgba(26, 59, 43, 0.08) !important;
}

/* ── 6. DataTables : wrapper responsive ─────────────────────── */
.anmc-ps-content .dataTables_wrapper {
    width: 100% !important;
    overflow-x: auto !important;
    padding: 0.75rem 1rem 1rem !important;
}

/* Gutters des rows internes générées par DataTables */
.anmc-ps-content .dataTables_wrapper .row {
    --bs-gutter-x: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    flex-wrap: wrap;
    gap: 0.5rem 0;
}

.anmc-ps-content .dataTables_wrapper .row > [class*="col-"] {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
}

/* Table wrapper scroll horizontal */
.anmc-ps-content .dataTables_wrapper .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    margin: 0 !important;
}

/* Longueur + Recherche DataTables */
.anmc-ps-content .dataTables_length label,
.anmc-ps-content .dataTables_filter label {
    font-size: 0.82rem;
    color: #777;
    font-family: var(--font-corps);
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.anmc-ps-content .dataTables_length select,
.anmc-ps-content .dataTables_filter input {
    font-size: 0.82rem;
    border: 1px solid #d5dde0;
    border-radius: var(--radius-sm);
    padding: 0.3rem 0.5rem;
    color: var(--anmc-texte);
    background-color: var(--anmc-blanc);
    outline: none;
}

.anmc-ps-content .dataTables_filter input:focus {
    border-color: var(--anmc-orange);
    box-shadow: 0 0 0 2px rgba(212, 115, 10, 0.1);
}

/* Info + Pagination DataTables */
.anmc-ps-content .dataTables_info {
    font-size: 0.8rem;
    color: #888;
    padding-top: 0.3rem;
}

.anmc-ps-content .dataTables_paginate .paginate_button {
    font-size: 0.8rem;
    padding: 0.25rem 0.6rem;
    border-radius: var(--radius-sm) !important;
    color: var(--anmc-vert) !important;
    border: 1px solid transparent;
    cursor: pointer;
    background: none;
    transition: background-color 0.15s;
}

.anmc-ps-content .dataTables_paginate .paginate_button:hover {
    background-color: rgba(26, 59, 43, 0.08) !important;
    border-color: rgba(26, 59, 43, 0.15) !important;
    color: var(--anmc-vert) !important;
}

.anmc-ps-content .dataTables_paginate .paginate_button.current,
.anmc-ps-content .dataTables_paginate .paginate_button.current:hover {
    background-color: var(--anmc-vert) !important;
    border-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
}

.anmc-ps-content .dataTables_paginate .paginate_button.disabled,
.anmc-ps-content .dataTables_paginate .paginate_button.disabled:hover {
    color: #bbb !important;
    cursor: default;
    background: none !important;
}

/* ── En-tête de la card liste ────────────────────────────── */
.anmc-ps-content .card.px-0 > h2#heading,
.anmc-ps-content .card.px-0.pt-4 > h2#heading {
    background-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
    font-family: var(--font-titre);
    font-size: 1rem;
    font-weight: 700;
    text-transform: none !important;
    padding: 0.85rem 1.5rem;
    margin: 0;
    border-radius: 0 !important;
    letter-spacing: 0;
    border-left: 5px solid var(--anmc-orange) !important;
}

/* ── Table ANMC ──────────────────────────────────────────── */
.anmc-ps-content .table {
    font-family: var(--font-corps);
    font-size: 0.87rem;
    color: var(--anmc-texte);
    margin-bottom: 0;
}

/* En-tête */
.anmc-ps-content .table thead tr {
    background-color: rgba(26, 59, 43, 0.04);
    border-bottom: 2px solid var(--anmc-orange) !important;
}

.anmc-ps-content .table thead th {
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--anmc-vert) !important;
    padding: 0.85rem 0.75rem;
    border-bottom: none !important;
    white-space: nowrap;
}

/* text-gray-800 dans les thead → vert */
.anmc-ps-content .table .fw-bold.fs-6.text-gray-800,
.anmc-ps-content .table .text-gray-800 {
    color: var(--anmc-vert) !important;
}

/* Lignes */
.anmc-ps-content .table tbody td {
    padding: 0.8rem 0.75rem;
    vertical-align: middle;
    border-color: rgba(26, 59, 43, 0.07) !important;
    color: var(--anmc-texte);
    font-size: 0.86rem;
}

/* Lignes alternées (table-striped) */
.anmc-ps-content .table.table-striped tbody tr:nth-child(odd) {
    background-color: rgba(245, 240, 232, 0.45);
}

/* Hover */
.anmc-ps-content .table tbody tr:hover {
    background-color: rgba(26, 59, 43, 0.04) !important;
    transition: background-color 0.15s;
}

/* Ligne "état vide" */
.anmc-ps-content .table tbody tr td[colspan] {
    text-align: center;
    color: #999;
    font-style: italic;
    padding: 2.5rem 1rem;
    font-size: 0.88rem;
}

/* Icône action (œil) */
.anmc-ps-content .menu-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    transition: background-color 0.18s, color 0.18s;
    color: var(--anmc-vert) !important;
    text-decoration: none !important;
}

.anmc-ps-content .menu-link:hover {
    background-color: var(--anmc-vert);
    color: var(--anmc-blanc) !important;
}

.anmc-ps-content .menu-link .bi {
    font-size: 1.05rem;
}

/* Marges Metronic dans les listes → déjà neutralisées en Section 16 */

/* ==========================================================
   16d. FORMULAIRES MULTI-ÉTAPES (demandes)
   ========================================================== */

/* ── Paragraphe d'intro sous le titre ────────────────────── */
.anmc-ps-content .card.px-0 > p,
.anmc-ps-content .card.px-0.pt-4 > p {
    color: #888;
    font-size: 0.85rem;
    margin: 0.4rem 0 0.75rem;
    font-family: var(--font-corps);
}

/* ── Barre de progression Bootstrap ─────────────────────── */
.anmc-ps-content .progress {
    height: 6px !important;
    border-radius: var(--radius-pill) !important;
    background-color: rgba(26, 59, 43, 0.1) !important;
    margin: 0.75rem 1rem 1.5rem !important;
    overflow: hidden;
}

.anmc-ps-content .progress .progress-bar {
    background-color: var(--anmc-orange) !important;
    border-radius: var(--radius-pill) !important;
    transition: width 0.4s ease !important;
}

/* ── Barre d'étapes #progressbar ─────────────────────────── */
.anmc-ps-content #progressbar {
    margin: 1.25rem 0 0.5rem;
    padding: 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
    gap: 0;
    list-style: none;
}

.anmc-ps-content #progressbar li {
    list-style-type: none;
    font-size: 0.78rem;
    font-family: var(--font-corps);
    font-weight: 600;
    color: #bbb;
    text-align: center;
    position: relative;
    flex: 1;
    min-width: 0;
}

/* Cercle de l'étape */
.anmc-ps-content #progressbar li:before {
    width: 42px;
    height: 42px;
    line-height: 40px;
    display: block;
    font-size: 1rem;
    font-family: var(--font-corps);
    font-weight: 700;
    color: #bbb;
    background: #e9eef0;
    border-radius: 50%;
    margin: 0 auto 8px;
    border: 2px solid #dde2e4;
    transition: background 0.3s, border-color 0.3s, color 0.3s;
    position: relative;
    z-index: 1;
}

/* Ligne de connexion entre étapes */
.anmc-ps-content #progressbar li:after {
    content: '';
    width: 100%;
    height: 2px;
    background: #dde2e4;
    position: absolute;
    left: -50%;
    top: 20px;
    z-index: 0;
    transition: background 0.3s;
}

/* Étape active */
.anmc-ps-content #progressbar li.active {
    color: var(--anmc-vert) !important;
}

.anmc-ps-content #progressbar li.active:before {
    background: var(--anmc-vert) !important;
    border-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
    box-shadow: 0 2px 8px rgba(26, 59, 43, 0.3);
}

.anmc-ps-content #progressbar li.active:after {
    background: var(--anmc-vert) !important;
}

/* Numéros d'étape (remplace les icônes FontAwesome) */
.anmc-ps-content #progressbar #personal:before      { content: "1"; font-family: var(--font-corps); }
.anmc-ps-content #progressbar #identification:before { content: "2"; font-family: var(--font-corps); }
.anmc-ps-content #progressbar #product:before       { content: "2"; font-family: var(--font-corps); }
.anmc-ps-content #progressbar #metro:before         { content: "3"; font-family: var(--font-corps); }
.anmc-ps-content #progressbar #normeInfo:before     { content: "3"; font-family: var(--font-corps); }

/* ── Champs de formulaire ────────────────────────────────── */
.anmc-ps-content #msform input:not([type=button]),
.anmc-ps-content #msform textarea,
.anmc-ps-content #msform select {
    width: 100% !important;
    padding: 0.55rem 0.85rem !important;
    font-size: 0.88rem !important;
    font-family: var(--font-corps) !important;
    color: var(--anmc-texte) !important;
    background-color: var(--anmc-blanc) !important;
    border: 1px solid #d5dde0 !important;
    border-radius: var(--radius-sm) !important;
    margin-bottom: 1rem !important;
    margin-top: 3px !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    letter-spacing: 0 !important;
}

.anmc-ps-content #msform input:not([type=button]):focus,
.anmc-ps-content #msform textarea:focus,
.anmc-ps-content #msform select:focus {
    border-color: var(--anmc-orange) !important;
    box-shadow: 0 0 0 3px rgba(212, 115, 10, 0.12) !important;
    outline: none !important;
    background-color: var(--anmc-blanc) !important;
}

/* Champs en lecture seule (pré-remplis) */
.anmc-ps-content #msform input[readonly] {
    background-color: #f4f6f7 !important;
    color: #888 !important;
    cursor: not-allowed !important;
    border-color: #e0e4e6 !important;
}

/* Labels */
.anmc-ps-content #msform .fieldlabels {
    display: block;
    text-align: left;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: #666 !important;
    margin-bottom: 3px;
    font-family: var(--font-corps);
}

/* Zone de contenu de chaque étape */
.anmc-ps-content #msform .form-card {
    background-color: var(--anmc-blanc);
    border: 1px solid rgba(26, 59, 43, 0.08);
    border-radius: var(--radius-md);
    padding: 1.5rem 1.75rem;
    margin-bottom: 1rem;
    text-align: left;
}

/* Titre de section dans la form-card */
.anmc-ps-content #msform .fs-title {
    font-family: var(--font-titre);
    color: var(--anmc-vert) !important;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 1rem;
    text-align: left;
}

/* Compteur d'étape (Etape X - Y) */
.anmc-ps-content #msform .steps {
    font-size: 0.82rem !important;
    color: var(--anmc-orange) !important;
    font-weight: 700 !important;
    text-align: right;
    margin-bottom: 0;
}

/* ── Boutons de navigation ────────────────────────────────── */
/* Suivant */
.anmc-ps-content #msform .action-button,
.anmc-ps-content #msform input.next {
    background-color: var(--anmc-orange) !important;
    color: var(--anmc-blanc) !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    padding: 0.55rem 1.5rem !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    font-family: var(--font-corps) !important;
    cursor: pointer !important;
    float: right;
    transition: background-color 0.2s, transform 0.15s !important;
    margin: 0.5rem 0 0.5rem 0.5rem !important;
    width: auto !important;
}

.anmc-ps-content #msform .action-button:hover,
.anmc-ps-content #msform input.next:hover {
    background-color: #b86209 !important;
    transform: translateY(-1px);
}

/* Précédent */
.anmc-ps-content #msform .action-button-previous,
.anmc-ps-content #msform input.previous {
    background-color: #6c757d !important;
    color: var(--anmc-blanc) !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    padding: 0.55rem 1.5rem !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    font-family: var(--font-corps) !important;
    cursor: pointer !important;
    float: right;
    transition: background-color 0.2s !important;
    margin: 0.5rem 0 0.5rem 0.5rem !important;
    width: auto !important;
}

.anmc-ps-content #msform .action-button-previous:hover,
.anmc-ps-content #msform input.previous:hover {
    background-color: #495057 !important;
}

/* Valider / Soumettre */
.anmc-ps-content #msform .valider,
.anmc-ps-content #msform .submit,
.anmc-ps-content #msform .payer,
.anmc-ps-content #msform input[name="initiation"] {
    background-color: var(--anmc-vert) !important;
    color: var(--anmc-blanc) !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    padding: 0.55rem 1.75rem !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    font-family: var(--font-corps) !important;
    cursor: pointer !important;
    float: right;
    transition: background-color 0.2s, transform 0.15s !important;
    margin: 0.5rem 0 0.5rem 0.5rem !important;
    width: auto !important;
}

.anmc-ps-content #msform .valider:hover,
.anmc-ps-content #msform .submit:hover,
.anmc-ps-content #msform .payer:hover {
    background-color: #122c1f !important;
    transform: translateY(-1px);
}

/* Clearfix après les boutons */
.anmc-ps-content #msform fieldset::after {
    content: '';
    display: table;
    clear: both;
}

/* ── Textarea ─────────────────────────────────────────────── */
.anmc-ps-content #msform .appointment-massage {
    min-height: 100px;
    resize: vertical;
}

/* ── Radio image (img-boxF / img-boxP) ───────────────────── */
.anmc-ps-content #msform .img-boxF [type=radio]:checked + img,
.anmc-ps-content #msform .img-boxP [type=radio]:checked + img {
    outline: 3px solid var(--anmc-orange) !important;
    border-radius: var(--radius-sm);
}

/* ── Responsive listes & formulaires ────────────────────── */
@media (max-width: 991px) {
    /* Table : scroll horizontal sur mobile/tablette */
    .anmc-ps-content .dataTables_wrapper .table-responsive {
        overflow-x: auto !important;
    }

    .anmc-ps-content .dataTables_wrapper .row {
        flex-direction: column;
        align-items: flex-start;
    }

    .anmc-ps-content .dataTables_length,
    .anmc-ps-content .dataTables_filter {
        width: 100% !important;
        max-width: 100%;
        justify-content: flex-start;
    }

    .anmc-ps-content .dataTables_filter {
        justify-content: flex-end !important;
    }
}

@media (max-width: 767px) {
    /* Progressbar steps */
    .anmc-ps-content #progressbar {
        gap: 0;
    }

    .anmc-ps-content #progressbar li {
        font-size: 0.68rem;
    }

    .anmc-ps-content #progressbar li:before {
        width: 34px;
        height: 34px;
        line-height: 32px;
        font-size: 0.85rem;
    }

    /* Formulaire */
    .anmc-ps-content #msform .form-card {
        padding: 1rem;
    }

    .anmc-ps-content #msform .action-button,
    .anmc-ps-content #msform .action-button-previous,
    .anmc-ps-content #msform .valider {
        width: 100% !important;
        float: none !important;
        margin: 0.35rem 0 !important;
        display: block;
    }

    /* Table */
    .anmc-ps-content .table {
        font-size: 0.78rem;
    }

    .anmc-ps-content .table thead th {
        font-size: 0.7rem;
        padding: 0.6rem 0.4rem;
        white-space: nowrap;
    }

    .anmc-ps-content .table tbody td {
        padding: 0.55rem 0.4rem;
        font-size: 0.78rem;
    }

    /* Pagination sur mobile */
    .anmc-ps-content .dataTables_paginate {
        text-align: left !important;
    }

    /* Card-body padding réduit */
    .anmc-ps-content .card-body,
    .anmc-ps-content .card-body.p-lg-30 {
        padding: 0.85rem !important;
    }
}

/* ----------------------------------------------------------
   15. ALERTES FLASH
   ---------------------------------------------------------- */
.alert-success {
    background-color: #e1f5ee;
    border-color: var(--anmc-vert-2);
    color: var(--anmc-vert);
    border-radius: var(--radius-md);
}

/* ============================================================
   FONAP — STYLE ISOLÉ (SECTION UNIQUEMENT)
   ============================================================ */

/* BACKGROUND GLOBAL */
.anmc-fonap {
    position: relative;
    background: linear-gradient(
        to bottom,
        var(--anmc-vert) 0%,
        var(--anmc-vert) 42%,
        var(--anmc-beige) 42%,
        var(--anmc-beige) 100%
    );
    overflow: hidden;
}

/* ----------------------------------------------------------
   HEADER
   ---------------------------------------------------------- */
.anmc-fonap .anmc-fonap-header {
    padding: 60px 0 110px;
    border-top: 4px solid var(--anmc-orange);
}

.anmc-fonap .anmc-fonap-titre {
    font-size: 2.2rem;
    color: #fff;
}

.anmc-fonap .anmc-fonap-sous-titre {
    color: rgba(255,255,255,0.75);
    font-size: 15px;
}

/* DEADLINE BADGE */
.anmc-fonap .anmc-fonap-deadline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    padding: 10px 16px;
    border-radius: 50px;
    color: #fff;
    font-size: 13px;
    backdrop-filter: blur(6px);
}

/* ----------------------------------------------------------
   BODY FLOATING EFFECT
   ---------------------------------------------------------- */
.anmc-fonap .anmc-fonap-body {
    margin-top: -70px;
    padding-bottom: 70px;
    position: relative;
    z-index: 2;
}

/* ----------------------------------------------------------
   CARD GAUCHE
   ---------------------------------------------------------- */
.anmc-fonap .anmc-fonap-card {
    background: #fff;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 12px 40px rgba(26,59,43,0.12);
    border-top: 4px solid var(--anmc-orange);
    transition: all 0.3s ease;
}

.anmc-fonap .anmc-fonap-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 60px rgba(26,59,43,0.18);
}

.anmc-fonap .anmc-fonap-intro {
    font-size: 14.5px;
    color: #5a5a5a;
}

/* MISSIONS HOVER */
.anmc-fonap .anmc-apropos-missions li {
    transition: transform 0.2s ease;
}

.anmc-fonap .anmc-apropos-missions li:hover {
    transform: translateX(5px);
}

/* ----------------------------------------------------------
   TAGS SECTEURS
   ---------------------------------------------------------- */
.anmc-fonap .anmc-fonap-sectors-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--anmc-vert);
    margin-bottom: 10px;
}

.anmc-fonap .anmc-fonap-sectors-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.anmc-fonap .anmc-fonap-tag {
    background: var(--anmc-beige);
    border: 1px solid #e6dfd5;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
    color: var(--anmc-vert);
    transition: all 0.25s ease;
}

.anmc-fonap .anmc-fonap-tag:hover {
    background: var(--anmc-orange);
    color: #fff;
    transform: translateY(-2px);
}

/* ----------------------------------------------------------
   CARD DROITE (ACTION)
   ---------------------------------------------------------- */
.anmc-fonap .anmc-fonap-action-card {
    background: linear-gradient(145deg, #ffffff, #f8f5ef);
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 12px 40px rgba(26,59,43,0.12);
    border-top: 4px solid var(--anmc-vert);
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* STATS */
.anmc-fonap .anmc-fonap-stats {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.anmc-fonap .anmc-fonap-stat-number {
    font-size: 2rem;
    font-family: var(--font-titre);
    color: var(--anmc-orange);
}

.anmc-fonap .anmc-fonap-stat-label {
    font-size: 11px;
    color: #777;
    text-align: center;
}

.anmc-fonap .anmc-fonap-stat-divider {
    width: 1px;
    height: 40px;
    background: #e5ded3;
}

/* ----------------------------------------------------------
   CTA
   ---------------------------------------------------------- */
.anmc-fonap .anmc-fonap-action-titre {
    font-size: 1rem;
    font-weight: 700;
    color: var(--anmc-vert);
}

.anmc-fonap .anmc-fonap-action-desc {
    font-size: 13.5px;
    color: #6a6a6a;
}

/* BOUTON PRINCIPAL */
.anmc-fonap .anmc-fonap-btn-primary {
    display: flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--anmc-orange), #b8600a);
    color: #fff !important;
    padding: 12px 18px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s ease;
}

.anmc-fonap .anmc-fonap-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(212,115,10,0.35);
}

/* BOUTON SECOND */
.anmc-fonap .anmc-fonap-btn-secondary {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--anmc-beige);
    border: 1px solid #e4ddd2;
    padding: 12px 18px;
    border-radius: 8px;
    font-weight: 600;
}

.anmc-fonap .anmc-fonap-btn-secondary:hover {
    background: var(--anmc-vert);
    color: #fff;
}

/* ----------------------------------------------------------
   DROPDOWN
   ---------------------------------------------------------- */
.anmc-fonap .anmc-fonap-dropdown-menu {
    border-radius: 8px;
    border: none;
    box-shadow: 0 12px 30px rgba(0,0,0,0.1);
    padding: 6px;
}

.anmc-fonap .anmc-fonap-dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border-radius: 6px;
    transition: background 0.2s;
}

.anmc-fonap .anmc-fonap-dropdown-item:hover {
    background: var(--anmc-beige);
}

/* ----------------------------------------------------------
   CONTACT
   ---------------------------------------------------------- */
.anmc-fonap .anmc-fonap-contact-note {
    display: flex;
    gap: 10px;
    font-size: 12px;
    color: #777;
    align-items: center;
}