
/* Masquage immédiat de l'ancien accueil, indépendamment du thème. */
body:not(.local-isauhome-enhanced) .isau-home {
    display: none !important;
}


/* Évite l'apparition momentanée de l'ancienne page d'accueil. */
body.pagelayout-frontpage:not(.local-isauhome-enhanced) #page-content {
    visibility: hidden !important;
    opacity: 0 !important;
}

body.pagelayout-frontpage.local-isauhome-enhanced #page-content {
    visibility: visible !important;
    opacity: 1 !important;
}

:root {
    --isau-navy: #082b42;
    --isau-blue: #009fe3;
    --isau-cyan: #63dcff;
    --isau-paper: #f2f6f9;
    --isau-ink: #102534;
    --isau-muted: #627987;
}

body.local-isauhome-enhanced #page-header,
body.local-isauhome-enhanced #frontpage-category-names,
body.local-isauhome-enhanced .course_category_tree,
body.local-isauhome-enhanced [data-region="course-content"] .course_category_tree {
    display: none !important;
}

body.local-isauhome-enhanced #page,
body.local-isauhome-enhanced #page-content,
body.local-isauhome-enhanced #region-main,
body.local-isauhome-enhanced .main-inner {
    max-width: none !important;
}

body.local-isauhome-enhanced #page-content,
body.local-isauhome-enhanced #region-main,
body.local-isauhome-enhanced .main-inner {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.isau-home {background: var(--isau-paper); color: var(--isau-ink); overflow: hidden; font-family: Inter, "Segoe UI", sans-serif;}
.isau-hero {position: relative; isolation: isolate; overflow: hidden; padding: 70px max(5vw, 28px); color: #fff; background: linear-gradient(120deg, #082b42, #07577c 70%, #009fe3);}
.isau-hero__grid {position: absolute; inset: 0; z-index: -1; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px); background-size: 54px 54px; -webkit-mask-image: linear-gradient(90deg, #000, transparent 88%); mask-image: linear-gradient(90deg, #000, transparent 88%);}
.isau-hero__orbit {position: absolute; width: 360px; height: 360px; right: 4%; top: -115px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; animation: isau-orbit 24s linear infinite;}
.isau-hero__orbit::after {content: ""; position: absolute; width: 12px; height: 12px; left: -6px; top: 48%; border-radius: 50%; background: var(--isau-cyan); box-shadow: 0 0 25px var(--isau-cyan);}
.isau-hero__content {position: relative; z-index: 1; max-width: 820px;}
.isau-home__brand {display: flex; align-items: center; gap: 13px; margin-bottom: 36px; font-size: 14px; font-weight: 700; letter-spacing: .14em;}
.isau-home__logo {width: 50px; height: 58px; object-fit: contain; filter: drop-shadow(0 7px 11px rgba(0,0,0,.25));}
.isau-hero__kicker {display: flex; align-items: center; gap: 10px; color: var(--isau-cyan); text-transform: uppercase; letter-spacing: .18em; font-size: 12px; font-weight: 700;}
.isau-hero__kicker::before {content: ""; width: 30px; height: 2px; background: var(--isau-cyan);}
.isau-hero h1 {max-width: 750px; margin: 17px 0; color: #fff; font: 400 clamp(42px, 6vw, 72px)/1.02 Georgia, serif;}
.isau-hero h1 em {color: var(--isau-cyan); font-style: normal;}
.isau-hero p {max-width: 660px; color: #d8ebf3; font-size: 17px; line-height: 1.65;}
.isau-hero__actions {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px;}
.isau-hero__actions a {padding: 13px 19px; border: 1px solid rgba(255,255,255,.4); border-radius: 10px; color: #fff; font-weight: 650; text-decoration: none; transition: transform .25s ease, background .25s ease;}
.isau-hero__actions a:first-child {border-color: #fff; background: #fff; color: var(--isau-navy);}
.isau-hero__actions a:hover {transform: translateY(-3px); background: rgba(255,255,255,.12);}
.isau-hero__actions a:first-child:hover {background: #eaf9ff;}
.isau-programmes {padding: 52px max(5vw, 28px) 66px;}
.isau-programmes__heading {display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 26px;}
.isau-programmes__heading h2 {margin: 0; color: var(--isau-ink); font: 400 34px/1.2 Georgia, serif;}
.isau-programmes__heading p {margin: 7px 0 0; color: var(--isau-muted);}
.isau-programmes__search {padding: 11px 15px; border: 1px solid #d9e3e9; border-radius: 10px; background: #fff; color: var(--isau-muted); text-decoration: none; white-space: nowrap;}
.isau-courses {display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px;}
.isau-course {position: relative; display: flex; min-height: 190px; padding: 25px; overflow: hidden; flex-direction: column; justify-content: flex-end; border-radius: 17px; color: #fff !important; text-decoration: none !important; background: linear-gradient(145deg, #123f59, #071e2c); box-shadow: 0 13px 34px rgba(5,35,52,.14); transition: transform .28s ease, box-shadow .28s ease;}
.isau-course::after {content: ""; position: absolute; z-index: 0; width: 160px; height: 160px; right: -60px; bottom: -80px; border-radius: 50%; background: var(--isau-glow, #13b5ea); opacity: .2; transition: transform .42s ease;}
.isau-course:hover {transform: translateY(-7px); box-shadow: 0 22px 44px rgba(5,35,52,.25);}
.isau-course:hover::after {transform: scale(1.38);}
.isau-course > * {position: relative; z-index: 1;}
.isau-course strong {display: block; margin-bottom: 7px; font: 400 27px/1.2 Georgia, serif;}
.isau-course > span:last-child {color: rgba(255,255,255,.75); font-size: 13px;}
.isau-course__icon {display: grid; width: 43px; height: 43px; margin-bottom: 32px; place-items: center; border-radius: 12px; background: rgba(255,255,255,.12); font-size: 22px;}
.isau-course__arrow {position: absolute; right: 22px; top: 22px; display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; transition: transform .3s ease;}
.isau-course:hover .isau-course__arrow {transform: rotate(45deg);}
.isau-course--wide {grid-column: span 7;}
.isau-course--medium {grid-column: span 5;}
.isau-course--third {grid-column: span 4;}
.isau-course--urbanisme {--isau-glow: #56dfcb; background: linear-gradient(145deg, #144d55, #082b35);}
.isau-course--preparatoires {--isau-glow: #8eaef3; background: linear-gradient(145deg, #354c70, #14253f);}
.isau-course--transversaux {--isau-glow: #b59bff; background: linear-gradient(145deg, #49436f, #201c42);}
.isau-course--ressources {--isau-glow: #f3aa75; background: linear-gradient(145deg, #5b4237, #2a201d);}

@keyframes isau-orbit {to {transform: rotate(360deg);}}

@media (max-width: 767px) {
    .isau-hero {padding-top: 46px; padding-bottom: 50px;}
    .isau-hero__orbit {right: -190px;}
    .isau-programmes__heading {align-items: stretch; flex-direction: column;}
    .isau-programmes__search {white-space: normal;}
    .isau-course--wide, .isau-course--medium, .isau-course--third {grid-column: span 12;}
    .isau-course {min-height: 170px;}
}

@media (prefers-reduced-motion: reduce) {
    .isau-hero__orbit {animation: none;}
    .isau-course, .isau-course::after, .isau-course__arrow, .isau-hero__actions a {transition: none;}
}

/* Le bouton d'inscription est réservé aux visiteurs non connectés. */
body.loggedin .isau-hero__actions a[href*="/login/signup.php"] {
    display: none !important;
}

/* Carrousel automatique des villes de Kinshasa. */
.isau-hero {
    background: #082b42 !important;
}

.isau-city-stage {
    position: absolute;
    z-index: -1;
    inset: 0;
    overflow: hidden;
}

.isau-city-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(4, 31, 48, 0.96) 0%,
            rgba(5, 42, 62, 0.82) 34%,
            rgba(5, 42, 62, 0.26) 68%,
            rgba(5, 42, 62, 0.08) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 25, 39, 0.28),
            transparent 45%,
            rgba(3, 25, 39, 0.42)
        );
    pointer-events: none;
}

.isau-city-slide {
    position: absolute;
    inset: -2%;
    opacity: 0;
    background-position: center;
    background-size: cover;
    transform: scale(1.035);
    transition:
        opacity 1.35s ease,
        transform 9s linear;
}

.isau-city-slide.is-active {
    opacity: 1;
    transform: scale(1);
}

.isau-city-controls {
    position: absolute;
    z-index: 4;
    right: max(5vw, 28px);
    bottom: 28px;
    display: flex;
    gap: 8px;
}

.isau-city-controls button {
    display: grid;
    width: 34px;
    height: 34px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.48);
    border-radius: 50%;
    background: rgba(4, 31, 48, 0.38);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    backdrop-filter: blur(6px);
}

.isau-city-controls button[aria-pressed="true"] {
    border-color: #ffffff;
    background: #ffffff;
    color: #082b42;
}

@media (max-width: 767px) {
    .isau-city-slide {
        background-position: 62% center;
    }

    .isau-city-controls {
        right: 20px;
        bottom: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .isau-city-slide {
        transition: none;
        transform: none;
    }
}

/* Nouvelle typographie du titre principal. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&display=swap');

.isau-hero h1 {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em;
}

/* Illustrations animées des cinq espaces de formation. */
.isau-course::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background-position: center;
    background-size: cover;
    filter: grayscale(1) saturate(0.15) contrast(1.06);
    transform: scale(1.02);
    transition:
        filter 0.65s ease,
        transform 0.85s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.isau-course--architecture::before {
    background-image:
        linear-gradient(
            90deg,
            rgba(7, 29, 43, 0.94),
            rgba(7, 29, 43, 0.55)
        ),
        url("/local/isauhome/tile-images/architecture.webp");
}

.isau-course--urbanisme::before {
    background-image:
        linear-gradient(
            90deg,
            rgba(7, 39, 45, 0.94),
            rgba(7, 39, 45, 0.55)
        ),
        url("/local/isauhome/tile-images/urbanisme.webp");
}

.isau-course--preparatoires::before {
    background-image:
        linear-gradient(
            90deg,
            rgba(25, 37, 65, 0.94),
            rgba(25, 37, 65, 0.55)
        ),
        url("/local/isauhome/tile-images/preparatoires.webp");
}

.isau-course--transversaux::before {
    background-image:
        linear-gradient(
            90deg,
            rgba(37, 30, 66, 0.94),
            rgba(37, 30, 66, 0.55)
        ),
        url("/local/isauhome/tile-images/transversaux.webp");
}

.isau-course--ressources::before {
    background-image:
        linear-gradient(
            90deg,
            rgba(48, 34, 29, 0.94),
            rgba(48, 34, 29, 0.55)
        ),
        url("/local/isauhome/tile-images/ressources.webp");
}

.isau-course:hover::before {
    filter: grayscale(0) saturate(1.08) contrast(1.02);
    transform: scale(1.09);
}

.isau-course > * {
    position: relative;
    z-index: 2;
}

/* Sur téléphone, les images restent en couleur puisqu’il n’y a pas de survol. */
@media (hover: none) {
    .isau-course::before {
        filter: grayscale(0) saturate(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .isau-course::before {
        transition: none;
        transform: none;
    }
}

/* ISAUHOME — correction définitive des images des tuiles */
.isau-course::before {
    filter: grayscale(100%) !important;
    transition: transform .85s cubic-bezier(.2, .8, .2, 1) !important;
}

.isau-course:hover::before,
.isau-course:focus-within::before {
    filter: grayscale(0%) !important;
    transform: scale(1.09);
}

/* Sur téléphone : affichage directement en couleur */
@media (hover: none) {
    .isau-course::before {
        filter: grayscale(0%) !important;
    }
}

/* ISAUHOME — images naturelles : N&B puis couleur instantanée */
.isau-course--architecture::before {
    background-image: url("/local/isauhome/tile-images/architecture.webp") !important;
}

.isau-course--urbanisme::before {
    background-image: url("/local/isauhome/tile-images/urbanisme.webp") !important;
}

.isau-course--preparatoires::before {
    background-image: url("/local/isauhome/tile-images/preparatoires.webp") !important;
}

.isau-course--transversaux::before {
    background-image: url("/local/isauhome/tile-images/transversaux.webp") !important;
}

.isau-course--ressources::before {
    background-image: url("/local/isauhome/tile-images/ressources.webp") !important;
}

.isau-course::before {
    opacity: 1 !important;
    background-size: cover !important;
    background-position: center !important;
    background-blend-mode: normal !important;
    filter: grayscale(100%) !important;
    transform: scale(1.02);
    transition: transform .7s ease !important;
}

/* Retire l’ancienne teinte décorative */
.isau-course::after {
    background: transparent !important;
    opacity: 0 !important;
}

.isau-course:hover::before,
.isau-course:focus-within::before {
    filter: grayscale(0%) !important;
    transform: scale(1.07);
}

/* Garde les textes lisibles sans colorer la photographie */
.isau-course > * {
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .85);
}

@media (hover: none) {
    .isau-course::before {
        filter: grayscale(0%) !important;
    }
}

/* Masquer « Créer un compte » pour les utilisateurs connectés */
body.loggedin .isau-home a[href*="/login/signup.php"],
body.loggedin .isau-home a[href*="login/signup.php"],
body.loggedin a.isau-signup,
body.loggedin .isau-signup {
    display: none !important;
}

/* ISAU Digital — bannière animée sur toute la largeur de l’écran */
.isau-home .isau-hero {
    position: relative !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
}

/* Empêcher l’apparition d’une barre de défilement horizontale */
html,
body {
    overflow-x: clip;
}

/* Préserver correctement la bannière sur téléphone */
@media (max-width: 767px) {
    .isau-home .isau-hero {
        width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
}

/* =========================================================
   ISAU DIGITAL — CORRECTION DU BANDEAU PLEINE LARGEUR
   ========================================================= */

/* C’est désormais le conteneur complet qui occupe l’écran */
.isau-home {
    position: relative !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: visible !important;
}

/* La bannière suit correctement son nouveau conteneur */
.isau-home .isau-hero {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

/* Les textes restent correctement alignés et ne sont plus coupés */
.isau-home .isau-hero__content {
    position: relative !important;
    width: min(1180px, calc(100% - 64px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Les espaces de formation restent centrés et non étirés */
.isau-home .isau-programmes {
    width: min(1180px, calc(100% - 64px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Replacer les numéros du diaporama dans la largeur utile */
.isau-home .isau-city-controls {
    right: max(32px, calc((100vw - 1180px) / 2)) !important;
}

/* Éviter toute barre horizontale */
html,
body {
    overflow-x: hidden !important;
}

/* Adaptation téléphone */
@media (max-width: 767px) {
    .isau-home .isau-hero__content,
    .isau-home .isau-programmes {
        width: calc(100% - 32px) !important;
    }

    .isau-home .isau-city-controls {
        right: 16px !important;
    }
}

/* Le bandeau externe reste dans le flux normal de la page */
.isau-my-courses-hero {
    position: relative !important;
    display: block !important;
    clear: both !important;
    width: 100vw !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    overflow: visible !important;
}

/* La zone Moodle commence obligatoirement après le bandeau */
#isau-page-content {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    clear: both !important;
    width: 100% !important;
    height: auto !important;
    min-height: 300px !important;
    margin-top: 0 !important;
}

/* Le bandeau garde sa hauteur et ne flotte pas sur les cours */
.isau-my-courses-hero .isau-hero {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 620px !important;
    margin: 0 !important;
}

/* Sur petits écrans */
@media (max-width: 767px) {
    .isau-my-courses-hero .isau-hero {
        min-height: 560px !important;
    }
}

/* Conserver obligatoirement l’identifiant officiel #page-content */
#page-content.isau-page-content {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    clear: both !important;
    width: 100% !important;
    height: auto !important;
    min-height: 300px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Neutraliser l’ancienne règle basée sur l’identifiant supprimé */
#isau-page-content {
    display: block !important;
}

/* =========================================================
   ISAU DIGITAL — RÉAFFICHAGE DÉFINITIF DES COURS
   ========================================================= */

/* La zone générale des catégories doit conserver sa hauteur */
body.path-course #course-category-listings,
body.path-course #course-category-listings > div,
body.path-course .course_category_tree,
body.path-course .category-browse,
body.path-course .category-browse-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 1px !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Afficher le conteneur de la liste des cours */
body.path-course #course-category-listings .courses,
body.path-course #course-category-listings .course-listing,
body.path-course #course-category-listings [data-region="courses"],
body.path-course #course-category-listings [data-region="course-content"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Afficher chaque cours */
body.path-course #course-category-listings .coursebox,
body.path-course #course-category-listings .course-listitem,
body.path-course #course-category-listings li.course {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    height: auto !important;
    min-height: 74px !important;
    max-height: none !important;
    margin: 14px 0 !important;
    padding: 20px 24px !important;
    overflow: visible !important;
    transform: none !important;
    background: #ffffff !important;
    border: 1px solid rgba(29, 62, 88, .13) !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 24px rgba(18, 42, 61, .08) !important;
}

/* Afficher les informations et les noms */
body.path-course #course-category-listings .coursebox .info,
body.path-course #course-category-listings .coursebox .content,
body.path-course #course-category-listings .coursename,
body.path-course #course-category-listings .coursename a,
body.path-course #course-category-listings .course-listitem a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    color: #18364f !important;
}

/* Effet vivant, sans masquer le contenu */
body.path-course #course-category-listings .coursebox {
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease !important;
}

body.path-course #course-category-listings .coursebox:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(58, 151, 207, .38) !important;
    box-shadow: 0 16px 36px rgba(18, 42, 61, .15) !important;
}

/* L’espace réservé au contenu ne doit pas s’effondrer */
body.path-course #page-content,
body.path-course #region-main,
body.path-course .isau-page-content {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* =========================================================
   ISAU DIGITAL — CARTES DE CATÉGORIES FONCTIONNELLES
   ========================================================= */

/* Zone qui contient les sous-catégories */
body.path-course
#course-category-listings
.course_category_tree
.subcategories {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    margin-top: 24px !important;
}

/* Chaque catégorie devient une carte */
body.path-course
#course-category-listings
.course_category_tree
.subcategories
> .category {
    position: relative !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-height: 92px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid rgba(35, 69, 94, .14) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 25px rgba(20, 45, 65, .08) !important;
    transform: translateY(0) !important;
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease !important;
}

/* Fond légèrement différent pour alterner les cartes */
body.path-course
.course_category_tree
.subcategories
> .category:nth-child(4n + 1),
body.path-course
.course_category_tree
.subcategories
> .category:nth-child(4n + 4) {
    background:
        linear-gradient(135deg, #ffffff, #edf6fb) !important;
}

body.path-course
.course_category_tree
.subcategories
> .category:nth-child(4n + 2),
body.path-course
.course_category_tree
.subcategories
> .category:nth-child(4n + 3) {
    background:
        linear-gradient(135deg, #ffffff, #f2f4f8) !important;
}

/* Trait vertical architectural */
body.path-course
.course_category_tree
.subcategories
> .category::before {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 5px !important;
    background:
        linear-gradient(180deg, #6fd2f2, #2e6189) !important;
    transition: width .3s ease !important;
}

/* En-tête interne de la carte */
body.path-course
.course_category_tree
.subcategories
> .category
> .info {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    min-height: 92px !important;
    margin: 0 !important;
    padding: 18px 58px 18px 24px !important;
    background: transparent !important;
}

/* Icône circulaire */
body.path-course
.course_category_tree
.subcategories
> .category
> .info::before {
    content: "⌂" !important;
    display: grid !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    margin-right: 16px !important;
    place-items: center !important;
    color: #ffffff !important;
    font-family: Arial, sans-serif !important;
    font-size: 20px !important;
    background:
        linear-gradient(135deg, #315f87, #58b7df) !important;
    border-radius: 13px !important;
    box-shadow: 0 7px 18px rgba(42, 99, 137, .22) !important;
}

/* Nom de la catégorie */
body.path-course
.course_category_tree
.subcategories
> .category
> .info
.categoryname {
    display: block !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;
    font-size: 1.32rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

/* Le lien occupe toute la partie utile */
body.path-course
.course_category_tree
.subcategories
> .category
> .info
.categoryname a {
    display: block !important;
    color: #18364e !important;
    text-decoration: none !important;
}

/* Flèche décorative à droite */
body.path-course
.course_category_tree
.subcategories
> .category
> .info::after {
    content: "→" !important;
    position: absolute !important;
    top: 50% !important;
    right: 20px !important;
    display: grid !important;
    width: 32px !important;
    height: 32px !important;
    place-items: center !important;
    color: #315f87 !important;
    font-family: Arial, sans-serif !important;
    border: 1px solid rgba(49, 95, 135, .25) !important;
    border-radius: 50% !important;
    transform: translateY(-50%) !important;
    transition:
        color .3s ease,
        background-color .3s ease !important;
}

/* Animation au survol */
body.path-course
.course_category_tree
.subcategories
> .category:hover {
    border-color: rgba(57, 147, 199, .38) !important;
    box-shadow: 0 16px 35px rgba(20, 45, 65, .15) !important;
    transform: translateY(-5px) !important;
}

body.path-course
.course_category_tree
.subcategories
> .category:hover::before {
    width: 9px !important;
}

body.path-course
.course_category_tree
.subcategories
> .category:hover
> .info::after {
    color: #ffffff !important;
    background-color: #315f87 !important;
}

/* Contenu visible lorsqu’une catégorie est dépliée */
body.path-course
.course_category_tree
.subcategories
> .category
> .content {
    position: relative !important;
    z-index: 2 !important;
    width: auto !important;
    height: auto !important;
    padding: 0 20px 20px 24px !important;
    background: transparent !important;
}

/* Les catégories fermées conservent le comportement Moodle */
body.path-course
.course_category_tree
.subcategories
> .category.collapsed
> .content {
    display: none !important;
}

/* Améliorer la zone de recherche */
body.path-course #course-category-listings {
    padding: 28px 32px 36px !important;
    background: #f7f9fb !important;
    border-radius: 0 0 22px 22px !important;
}

/* Bouton Tout déplier */
body.path-course #course-category-listings .collapseexpand {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 40px !important;
    padding: 8px 15px !important;
    color: #294f6d !important;
    background: #ffffff !important;
    border: 1px solid rgba(41, 79, 109, .18) !important;
    border-radius: 10px !important;
    text-decoration: none !important;
}

/* Une colonne sur téléphone */
@media (max-width: 767px) {
    body.path-course
    #course-category-listings
    .course_category_tree
    .subcategories {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    body.path-course #course-category-listings {
        padding: 18px 14px 26px !important;
    }

    body.path-course
    .course_category_tree
    .subcategories
    > .category
    > .info {
        min-height: 82px !important;
        padding: 14px 50px 14px 18px !important;
    }

    body.path-course
    .course_category_tree
    .subcategories
    > .category
    > .info::before {
        width: 40px !important;
        height: 40px !important;
        flex-basis: 40px !important;
        margin-right: 12px !important;
    }
}

/* ISAU Digital — typographie Tw Cen MT pour les catégories */
body.path-course
.course_category_tree
.subcategories
> .category
> .info
.categoryname,

body.path-course
.course_category_tree
.subcategories
> .category
> .info
.categoryname a {
    font-family:
        "Tw Cen MT",
        "Century Gothic",
        "Avenir Next",
        Avenir,
        Arial,
        sans-serif !important;

    font-size: 1.25rem !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
    line-height: 1.25 !important;
}

/* Même cohérence pour les titres des cours */
body.path-course
#course-category-listings
.coursename,

body.path-course
#course-category-listings
.coursename a {
    font-family:
        "Tw Cen MT",
        "Century Gothic",
        "Avenir Next",
        Avenir,
        Arial,
        sans-serif !important;

    font-weight: 600 !important;
    letter-spacing: .01em !important;
}

/* ISAU Digital — police du grand titre de la bannière */
.isau-home .isau-hero h1,
.isau-home .isau-hero h1 em {
    font-family:
        "Tw Cen MT",
        "Century Gothic",
        "Avenir Next",
        Avenir,
        Arial,
        sans-serif !important;

    font-weight: 500 !important;
    letter-spacing: -.025em !important;
    line-height: 1.02 !important;
}

/* Conserver bâtir demain en couleur, sans italique */
.isau-home .isau-hero h1 em {
    color: #7bd4ff !important;
    font-style: normal !important;
}
