/**
 * LearnPress Custom Styles — Formation 3677
 * Design system calqué sur 3677.fr :
 *   Primary: #D41116 | Secondary: #6A0927 | Text: #000 | Background: #EDEDED
 *   Font: Montserrat | Boutons: radius 25px, font-weight 900, uppercase
 *   Cards: shadow 0 0 10px rgba(0,0,0,0.2), radius 10px, PAS de border
 */

/* ═══════════════════════════════════════════════════════════════
   HOME — Cartes bâtiments (8 cartes Enquêtopolis)
   Scope  : .cards-batiments contient les cartes <a class="e-con">
   Hover  : overlay gradient bordeaux qui apparaît PAR-DESSUS la carte
            (sans changer la hauteur ni pousser le contenu)
   Inspiration : effet posts cards 3677.fr (elementor-posts__hover-gradient)
   ═══════════════════════════════════════════════════════════════ */

/* Carte = ancre, on garde sa taille intacte, hidden pour clipper l'overlay */
.cards-batiments a.e-con,
.cards-batiments a.e-con * {
    cursor: pointer !important;
}
.cards-batiments a.e-con {
    position: relative !important;
    text-decoration: none !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease !important;
    /* Carte en colonne flex pour que la cartouche occupe l'espace restant */
    display: flex !important;
    flex-direction: column !important;
}
/* KAISSA-COMMENT-START [box-shadow:hover cards-batiments] — 20/05/2026 : retiré à la demande user. Cette ombre rouge/violet apparaissait au hover AVANT que l'overlay rouge/noir remonte d'en bas. Décommenter pour réactiver.
.cards-batiments a.e-con:hover {
    box-shadow: 0 8px 20px rgba(106, 9, 39, 0.25) !important;
}
KAISSA-COMMENT-END */

/* Cartouche (titre + sous-titre bâtiment) = prend tout l'espace restant sous l'image.
   Permet d'uniformiser la hauteur des 8 cartes et d'éviter le "vide" en bas
   qui décalait le démarrage du hover slide-up. */
.cards-batiments a.e-con > .e-con.e-flex {
    flex: 1 1 auto !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* Bordure rouge du titre : même hauteur sur les 8 cartes, sur TOUS les viewports.
   Approche : le widget heading occupe tout l'espace disponible dans la cartouche
   via flex:1. Comme les cards sont uniformes (grid), les cadres rouges le sont aussi
   automatiquement — quel que soit le viewport. Évite le hack `min-height: 108px`
   qui ne couvrait que le desktop (titres wrappaient sur 4+ lignes en mobile). */
.cards-batiments a.e-con .elementor-widget-thim-ekits-heading {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
}
.cards-batiments a.e-con .elementor-widget-thim-ekits-heading > .elementor-widget-container {
    flex: 1 1 auto !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.cards-batiments a.e-con:focus-visible {
    outline: 3px solid #D41116 !important;
    outline-offset: 3px !important;
}

/* Panel description/durée = overlay absolu, slide-up depuis le bas */
.cards-batiments a.e-con .elementor-widget-text-editor.card-hover-panel,
.cards-batiments a.e-con .elementor-element.card-hover-panel {
    position: absolute !important;
    inset: 0 !important;            /* recouvre toute la carte */
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: translateY(100%) !important;
    opacity: 0 !important;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease !important;
    z-index: 5 !important;
    pointer-events: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}
.cards-batiments a.e-con:hover .elementor-widget-text-editor.card-hover-panel,
.cards-batiments a.e-con:hover .elementor-element.card-hover-panel {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* Apparence du panel : gradient bordeaux 3677, texte blanc.
   Le widget text-editor n'a pas de .elementor-widget-container intermédiaire :
   on stylise directement le wrapper .card-hover-panel. */
.cards-batiments a.e-con .card-hover-panel {
    background: linear-gradient(180deg, rgba(106, 9, 39, 0.95) 0%, #6A0927 100%) !important;
    color: #FFFFFF !important;
    padding: 16px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    text-align: center !important;
    box-sizing: border-box !important;
}
.cards-batiments a.e-con .card-hover-panel p,
.cards-batiments a.e-con .card-hover-panel .desc {
    font-size: 13px !important;
    line-height: 1.45 !important;
    margin: 0 0 10px !important;
    color: #FFFFFF !important;
    font-weight: 500 !important;
}
.cards-batiments a.e-con .card-hover-panel .duree {
    display: inline-block !important;
    background: #FFFFFF !important;
    color: #6A0927 !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
}

/* KAISSA-COMMENT-START [media hover: none — panel mobile] — désactivé 19/05/2026 : créait des cards plus hautes avec vide blanc dessous sur iPhone
@media (hover: none) {
    .cards-batiments a.e-con .elementor-widget-text-editor.card-hover-panel,
    .cards-batiments a.e-con .elementor-element.card-hover-panel {
        position: relative !important;
        transform: none !important;
    }
}
KAISSA-COMMENT-END */
@media (prefers-reduced-motion: reduce) {
    .cards-batiments a.e-con .elementor-widget-text-editor.card-hover-panel,
    .cards-batiments a.e-con .elementor-element.card-hover-panel {
        transition: opacity 0.2s ease !important;
    }
}

/* ─── Header sticky ───────────────────────────────────────────────
 * `sticky` au lieu de `fixed` : le header reste collé en haut au scroll
 * MAIS prend sa place dans le flow → plus AUCUN besoin de compenser via
 * padding-top body. Toute page (Elementor, LearnPress, template PHP custom,
 * page WP standard) fonctionne sans règle spéciale. */
.elementor-location-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
}
/* ─── Variables LearnPress (override jaune/violet par défaut) ─── */
:root, html, body, .learnpress, .learnpress-page {
    --lp-primary-color: #D41116 !important;
    --lp-secondary-color: #6A0927 !important;
    --lp-cotainer-padding: 1.5rem;
}

/* ─── Fix overflow (barre blanche à droite) ─── */
html, body {
    overflow-x: hidden !important;
}

/* ─── Accessibilité : taille de texte et zones tactiles ─── */
/* KAISSA-COMMENT-START 2026-05-19
   Retiré : créait une divergence d'interlignes du footer entre homepage et pages LearnPress.
   Désormais géré directement dans le modèle footer Elementor (règle primaire).
body.learnpress-page,
body.single-lp_course,
body.post-type-archive-lp_course {
    font-size: 16px !important;
    line-height: 1.6 !important;
}
   KAISSA-COMMENT-END */
/* Touch targets minimum 48px pour public senior
   Scopé strictement aux composants LearnPress dans le contenu (jamais l'admin bar,
   le header Elementor, ni le footer). */
.lp-content-area .learnpress a,
.lp-content-area .learnpress button,
.lp-content-area .learnpress input[type="submit"],
#learn-press-profile a,
.course-section__items .course-item__link,
.lp-button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
/* Focus visible pour navigation clavier */
.lp-content-area .learnpress a:focus-visible,
.lp-content-area .learnpress button:focus-visible,
#learn-press-profile a:focus-visible {
    outline: 3px solid #D41116 !important;
    outline-offset: 2px !important;
    border-radius: 4px;
}

/* ═══════════════════════════════════════════════════════════════
   GLOBAL
   ═══════════════════════════════════════════════════════════════ */

#learn-press-profile,
.learnpress,
.lp-content-area,
.learn-press-courses,
.thim-ekits-archive-course,
.thim-ekits-course {
    font-family: 'Montserrat', sans-serif;
    color: #000;
}

/* ─── Tous les boutons LP ─── */
.learnpress .lp-button,
.learnpress button,
.learnpress input[type="submit"],
#learn-press-profile .lp-button,
.lp-single-course .lp-button {
    background: #000 !important;
    color: #FFF !important;
    border: none !important;
    border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 12px 25px !important;
    cursor: pointer;
    transition: all 0.3s !important;
}

.learnpress .lp-button:hover,
.learnpress button:hover,
.learnpress input[type="submit"]:hover {
    background: #D41116 !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.2) !important;
}

/* ─── Barre de progression ─── */
.learn-press-progress .lp-progress-bar { background: #EDEDED; border-radius: 10px; overflow: hidden; height: 8px; }
.learn-press-progress .lp-progress-bar .lp-progress-value,
.lp-course-progress .lp-progress-bar span {
    background: linear-gradient(90deg, #D41116, #6A0927) !important;
    border-radius: 10px; height: 100%;
}

/* ─── Message d'alerte LP ─── */
.learn-press-message {
    background: #FFF0F0; border-left: 4px solid #D41116;
    padding: 15px 20px; font-family: 'Montserrat', sans-serif;
    font-size: 14px; border-radius: 0 8px 8px 0; margin: 20px 0;
}
.learn-press-message a { color: #D41116; font-weight: 600; }

/* ═══════════════════════════════════════════════════════════════
   MASQUER : prix, commerce, partage, sidebar WP, commentaires
   ═══════════════════════════════════════════════════════════════ */

.course-price, .lp-course-price, .course-origin-price,
.course-item-price, .thim-ekits-course__price,
.thim-ekits-course__price *, .inner_price, span.price,
.thim-ekits-course__duration,
.course-curriculum-info .course-duration,
.thim-ekit-single-course__meta__duration,
.course-share, .lp-course-share, [class*="course-share"],
.course-students, .lp-course-students,
[class*="enrolled-students"], [class*="view-list"],
.lp-wrap-btn-view-course-students,
/* KAISSA-COMMENT-START [instructor selectors] — audit 18/05/2026 : V1 a confirmé 0 occurrence .course-instructor/.course-author/.thim-ekits-course-instructor sur page cours. Les autres sélecteurs sont conservés (potentiellement actifs).
.course-instructor, .course-instructor-category,
.single-lp_course .course-author,
KAISSA-COMMENT-END */
.single-lp_course #comments, .single-lp_course .comments-area,
.single-lp_lesson #comments, .single-lp_quiz #comments {
    display: none !important;
}

/* Masquer "Tous niveaux" (pas pertinent pour formation interne obligatoire) */
.thim-ekits-course__level,
.thim-ekits-course__level::before,
.course-level,
.thim-ekits-course__meta,
.thim-ekit-single-course__meta__level {
    display: none !important;
}

/* Sidebar WP & widgets inutiles */
.learnpress-page .widget-area, .learnpress-page #secondary,
.single-lp_course .widget-area, .single-lp_course #secondary,
.single-lp_course .sidebar,
.post-type-archive-lp_course .widget-area,
.post-type-archive-lp_course #secondary,
.post-type-archive-lp_course .lp-archive-courses-sidebar,
.lp-single-course-sidebar .widget_block,
.lp-single-course-sidebar .widget_search,
.lp-archive-courses-sidebar .widget_block,
.learnpress-page .widget_recent_entries,
.learnpress-page .widget_recent_comments,
.learnpress-page .widget_archive,
.learnpress-page .widget_categories,
.learnpress-page .widget_search,
.learnpress-page .widget_meta { display: none !important; }

/* Recherche archive */
.post-type-archive-lp_course .search-courses,
.post-type-archive-lp_course form.search-courses { display: none !important; }

/* Full width */
.learnpress-page .site-main, .learnpress-page #primary,
.single-lp_course .site-main, .single-lp_course #primary,
.post-type-archive-lp_course .site-main,
.post-type-archive-lp_course #primary {
    width: 100% !important; max-width: 100% !important; float: none !important;
}
.post-type-archive-lp_course .lp-content-area.has-sidebar { display: block !important; }

/* ─── Spacing header/body ─── */
/* Header en sticky : aucun padding-top body nécessaire, le contenu pousse
   naturellement sous le header dans le flow. */
.elementor-location-header { margin-bottom: 0 !important; }
.elementor-location-header + .site-main,
.elementor-location-header ~ .site-main,
body.learnpress-page .site-main, body.single-lp_course .site-main { padding-top: 0; margin-top: 0 !important; }

/* ═══════════════════════════════════════════════════════════════
   HEADER — Identique à 3677.fr
   ═══════════════════════════════════════════════════════════════ */

.elementor-location-header .elementor-widget-image {
    flex-shrink: 0 !important; width: auto !important; min-width: 75px !important;
}
.elementor-location-header .elementor-widget-image img {
    width: 75px !important; height: auto !important;
}
.elementor-location-header .e-con .e-con:first-child { gap: 15px !important; }
.elementor-location-header .elementor-widget-heading { white-space: nowrap !important; }

/* Anciens boutons header retirés — remplacés par widget Nav Menu Elementor natif (tpl 26) */

/* "Espace Formation" label — opacité augmentée pour contraste WCAG AA */
.elementor-location-header .elementor-widget-heading .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: rgba(255,255,255,0.92) !important;
}

/* ═══════════════════════════════════════════════════════════════
   ARCHIVE COURS — Carte redesign (style 3677.fr)
   ═══════════════════════════════════════════════════════════════ */

.post-type-archive-lp_course .lp-content-area {
    max-width: 1000px !important; margin: 0 auto !important; padding: 0 20px;
}

/* Carte : shadow 3677, radius 10, PAS de border */
.thim-ekits-course__inner {
    display: flex !important;
    flex-direction: column !important;
    background: #FFF !important;
    border-radius: 10px !important;
    border: none !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.2) !important;
    overflow: hidden !important;
    transition: transform 0.3s, box-shadow 0.3s !important;
}
/* KAISSA-COMMENT-START [doublon .thim-ekits-course__inner:hover] — audit 18/05/2026 : règle dupliquée ligne ~370 avec !important partout, qui gagne la cascade. Cette 1ère version est écrasée. Décommenter si la 2e est retirée.
/*
.thim-ekits-course__inner:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
}
*/
/* KAISSA-COMMENT-END */

/* Thumbnail — gradient brandé si no-image */
.thim-ekits-course__thumbnail {
    position: relative !important;
    background: linear-gradient(135deg, #D41116 0%, #6A0927 100%) !important;
    width: 100% !important;
    height: 220px !important;
    max-height: 220px !important;
    overflow: hidden !important;
    order: -1 !important; /* thumbnail toujours en haut */
}
/* no-image déjà masqué globalement */
.thim-ekits-course__thumbnail a.course-thumbnail {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 250px !important;
}

/* Masquer le bouton overlay sur thumbnail (doublon du bouton bas de carte) */
.thim-ekits-course__thumbnail .thim-ekits-course__read-more {
    display: none !important;
}

/* Supprimer l'overlay noir immonde au hover (pseudo-element Thim Kit) */
.thim-ekits-course__thumbnail a.course-thumbnail::before,
.thim-ekits-course__thumbnail a.course-thumbnail::after {
    display: none !important;
    content: none !important;
}

/* Hover sur la carte : léger lift + shadow */
.thim-ekits-course__inner {
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.thim-ekits-course__inner:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
}

/* Contenu de la carte */
.thim-ekits-course__content {
    padding: 24px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* Titre */
.thim-ekits-course__title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}
.thim-ekits-course__title a { color: #000 !important; text-decoration: none !important; }
.thim-ekits-course__title a:hover { color: #D41116 !important; }

/* Meta (niveau) */
.thim-ekits-course__meta {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: 1.5px !important;
    color: #999 !important;
}

/* Extrait */
.thim-ekits-course__excerpt {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important; line-height: 1.7 !important;
    color: #555 !important; margin: 0 !important;
}

/* Bouton "En savoir plus" bas de carte */
.thim-ekits-course__content > .thim-ekits-course__read-more {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #000 !important; color: #FFF !important;
    border: none !important; border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important; font-size: 12px !important;
    text-transform: uppercase !important; letter-spacing: 1.5px !important;
    padding: 12px 28px !important; text-decoration: none !important;
    transition: all 0.3s !important; align-self: center !important;
    min-height: 44px !important; line-height: 1 !important;
}
.thim-ekits-course__content > .thim-ekits-course__read-more:hover {
    background: #D41116 !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.2) !important;
}

/* No bullets sur la liste */
ul.learn-press-courses { list-style: none !important; padding: 0 !important; margin: 0 !important; }

/* ═══════════════════════════════════════════════════════════════
   SINGLE COURSE — Page du cours
   ═══════════════════════════════════════════════════════════════ */

/* Hero title — styles désormais définis dans le template Elementor 33 (widget 2f9988c) */

/* Hero meta */
.thim-ekits-course-meta, .thim-ekits-course-extra {
    color: rgba(255,255,255,0.85) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important; font-weight: 500 !important;
}

/* ─── Supprimer les onglets : tout afficher d'un coup ─── */
/* Masquer la barre d'onglets */
.ekits-course-tabs[role="tablist"],
.thim-ekits-course-tabs .nav-tabs,
.thim-ekits-course-tabs .learn-press-nav-tabs {
    display: none !important;
}

/* Forcer tous les panels visibles */
.ekits-content-course-tabs [role="tabpanel"],
.course-tab-panel-overview,
.course-tab-panel-curriculum {
    display: block !important;
}

/* Style du contenu Présentation */
.course-tab-panel-overview {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important; line-height: 1.75 !important;
    color: #333 !important; padding: 0 0 24px !important;
    border-bottom: 1px solid #EDEDED !important;
    margin-bottom: 24px !important;
}

/* Style du contenu Programme (en dessous) */
.course-tab-panel-curriculum {
    font-family: 'Montserrat', sans-serif !important;
    padding: 0 !important;
}

/* Sidebar — card propre, shadow 3677 */
.thim-ekits-single-course-sidebar,
.single-lp_course .elementor-col-33,
.single-lp_course .elementor-col-30 {
    background: #FFF;
    border-radius: 10px;
    border: none !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    overflow: hidden;
}

/* Image placeholder sidebar → gradient */
.thim-ekits-single-course-sidebar .course-thumbnail,
.thim-ekit-single-course__image,
.single-lp_course .course-sidebar .course-thumbnail {
    background: linear-gradient(135deg, #D41116 0%, #6A0927 100%) !important;
    min-height: 200px !important;
}
.thim-ekit-single-course__image img[src*="no-image"],
.thim-ekits-single-course-sidebar .course-thumbnail img[src*="no-image"],
.single-lp_course .course-sidebar .course-thumbnail img[src*="placeholder"] { opacity: 0 !important; }

/* Bouton CTA "Commencer" — ROUGE VIF, pas noir */
.thim-ekits-course-buttons .lp-button,
.thim-ekits-course-buttons button,
.enroll-course .lp-button,
.enroll-course button.button-enroll-course,
button.button-enroll-course {
    width: 100% !important; text-align: center !important;
    background: #D41116 !important; color: #FFF !important;
    border: none !important; border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important; font-size: 15px !important;
    text-transform: uppercase !important;
    padding: 16px 32px !important; cursor: pointer;
    transition: all 0.3s !important; letter-spacing: 1.5px !important;
    box-shadow: none !important;
}
.thim-ekits-course-buttons .lp-button:hover,
.thim-ekits-course-buttons button:hover,
.enroll-course button.button-enroll-course:hover,
button.button-enroll-course:hover {
    background: #000 !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.2) !important;
    transform: translateY(-2px);
}

/* Sidebar buttons container */
.thim-ekits-course-buttons, .enroll-course {
    text-align: center !important; padding: 0 20px 20px !important;
    width: 100% !important; box-sizing: border-box !important;
}
.thim-ekits-course-buttons form, .enroll-course form { width: 100% !important; }

/* KAISSA-COMMENT-START [.thim-ekits-course-extra/.thim-ekits-course-instructor sidebar meta] — audit 18/05/2026 : V1 a confirmé 0 occurrence dans le DOM sur page cours. Style sans effet.
/* Sidebar meta */
/*
.thim-ekits-course-extra, .thim-ekits-course-instructor {
    font-family: 'Montserrat', sans-serif; font-size: 13px; color: #767676; padding: 0 20px;
}
*/
/* KAISSA-COMMENT-END */

/* Fond gris clair zone contenu */
.single-lp_course .lp-content-area,
.single-lp_course .site-main { background: #F9F9F9 !important; }
.single-lp_course .elementor-location-footer { margin-top: 0 !important; }

/* ─── Curriculum ─── */
.lp-single-course .section-header,
.lp-single-course .course-curriculum .section-title {
    background: #000; color: #FFF;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700; font-size: 14px;
    text-transform: uppercase; letter-spacing: 0.5px;
    padding: 14px 20px; border-radius: 5px 5px 0 0;
}
.lp-single-course .course-curriculum .course-item {
    padding: 14px 20px; border-bottom: 1px solid #F0F0F0;
    font-family: 'Montserrat', sans-serif; font-size: 14px;
    transition: background 0.2s;
}
.lp-single-course .course-curriculum .course-item:hover { background: #FFF5F5; }
.lp-single-course .course-curriculum .course-item:last-child { border-bottom: none; }
.lp-single-course .course-curriculum .course-item .item-name { color: #000; font-weight: 500; }
.lp-single-course .course-curriculum .course-item .item-name:hover { color: #D41116; }

/* ═══════════════════════════════════════════════════════════════
   PROFILE
   ═══════════════════════════════════════════════════════════════ */

#learn-press-profile .lp-profile-content {
    max-width: 1000px; margin: 0 auto; padding: 30px 20px;
}

#learn-press-profile .lp-profile-sidebar {
    background: #FFF; border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    border: none !important; padding: 20px;
}
/* Override de la border LearnPress par défaut (var --lp-border-color: #e2e0db) */
.lp-user-profile #profile-sidebar {
    border: none !important;
}
#learn-press-profile .lp-profile-sidebar .lp-profile-username {
    font-family: 'Montserrat', sans-serif; font-weight: 900;
    text-transform: uppercase; font-size: 18px;
}
#learn-press-profile .lp-profile-sidebar .lp-profile-avatar img,
#learn-press-profile .user-avatar .avatar,
#learn-press-profile .lp-profile-left .avatar {
    border-radius: 50%; border: 4px solid #D41116;
    box-shadow: 0 0 15px rgba(212,17,22,0.15);
}

/* Espacement haut du profil (avatar ne doit pas coller au header) */
#learn-press-profile {
    padding-top: 30px !important;
}

/* Centrer le bouton "Enregistrer modifications" du formulaire profil */
#learn-press-profile form.learn-press-form {
    text-align: center;
}

/* Titre "PROFIL" — masqué (redondant, le user sait qu'il est sur son profil) */
#learn-press-profile h1,
.learnpress-page h1.entry-title,
.page-header h1.entry-title {
    display: none !important;
}

/* Nav tabs profil */
#learn-press-profile .lp-profile-nav ul { list-style: none; padding: 0; margin: 0; }
#learn-press-profile .lp-profile-nav ul li a {
    font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 14px;
    color: #000; text-decoration: none; padding: 10px 15px;
    display: block; border-radius: 5px; transition: all 0.3s;
}
#learn-press-profile .lp-profile-nav ul li a:hover,
#learn-press-profile .lp-profile-nav ul li.active a { background: #D41116; color: #FFF; }

/* Override jaune LP → rouge */
.lp-profile-nav-tabs li.active,
#learn-press-profile .lp-profile-nav-tabs li.active {
    background: #D41116 !important; border-color: #D41116 !important;
}
.lp-profile-nav-tabs li.active a, .lp-profile-nav-tabs li.active i { color: #FFF !important; }
.lp-profile-nav-tabs li i { color: #000 !important; }
.lp-profile-nav-tabs li:hover { background: rgba(212,17,22,0.08) !important; }

/* Progress bars profil */
#learn-press-profile .lp-profile-course-progress .lp-progress-bar .lp-progress-value {
    background: linear-gradient(90deg, #D41116, #6A0927) !important;
}

/* Badges profil */
#learn-press-profile .lp-profile-info .lp-profile-info__value,
.lp-profile-content .course-count { color: #D41116 !important; }
#learn-press-profile a { color: #D41116; }
#learn-press-profile a:hover { color: #6A0927; }

/* Profil boutons */
#learn-press-profile .lp-button, #learn-press-profile button, #learn-press-profile .button {
    background: #000 !important; color: #FFF !important;
    border: none !important; border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important; font-size: 13px !important;
    text-transform: uppercase !important; padding: 10px 22px !important;
    cursor: pointer; transition: all 0.3s !important;
}
#learn-press-profile .lp-button:hover, #learn-press-profile button:hover { background: #D41116 !important; }
#learn-press-profile .lp-profile-nav .logout-link { color: #767676; }

/* Status badges */
.lp-course-status .lp-label-enrolled, .lp-label-completed, .lp-label-passed {
    background: #D41116 !important; color: #FFF !important;
    border-radius: 15px !important; padding: 3px 12px !important;
    font-size: 11px !important; font-weight: 600 !important;
}
.lp-label-in-progress {
    background: #000 !important; color: #FFF !important;
    border-radius: 15px !important; padding: 3px 12px !important;
    font-size: 11px !important; font-weight: 600 !important;
}
.lp-label-failed { background: #6A0927 !important; color: #FFF !important; border-radius: 15px !important; }

/* ═══════════════════════════════════════════════════════════════
   LOGIN PAGE
   ═══════════════════════════════════════════════════════════════ */

.fl-login-card {
    background: #FFF; border-radius: 10px;
    border: none !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    padding: 40px 36px; max-width: 420px; margin: 0 auto;
}
.fl-login-card .fl-field label {
    font-family: 'Montserrat', sans-serif; font-weight: 700;
    font-size: 11px; text-transform: uppercase; letter-spacing: 1px;
    color: #333; margin-bottom: 8px; display: block;
}
.fl-login-card .fl-field input {
    border: 1.5px solid #DADADA; border-radius: 8px;
    padding: 14px 16px; font-family: 'Montserrat', sans-serif;
    font-size: 14px; background: #FAFAFA;
    transition: border-color 0.25s, box-shadow 0.25s; width: 100%; box-sizing: border-box;
}
.fl-login-card .fl-field input:focus {
    border-color: #D41116 !important;
    box-shadow: 0 0 0 3px rgba(212,17,22,0.1) !important;
    background: #FFF !important; outline: none;
}
.fl-login-card button.fl-submit, .fl-login-card button[type="submit"] {
    background: #000 !important; color: #FFF !important;
    border: none !important; border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important; font-size: 14px !important;
    text-transform: uppercase !important; letter-spacing: 1.5px !important;
    padding: 14px 40px !important; width: 100% !important;
    cursor: pointer; transition: all 0.3s !important; margin-top: 10px;
}
.fl-login-card button.fl-submit:hover, .fl-login-card button[type="submit"]:hover {
    background: #D41116 !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.2) !important;
}
.fl-login-card .fl-remember {
    display: flex; align-items: center; gap: 8px; margin: 16px 0 20px;
    font-family: 'Montserrat', sans-serif; font-size: 13px; color: #555;
}
.fl-login-card .fl-remember input[type="checkbox"] { width: 16px; height: 16px; accent-color: #D41116; }
.fl-login-card a[href*="lostpassword"],
.fl-login-card a[href*="mot-de-passe-oublie"],
.fl-login-card a.fl-lost-pwd {
    color: #D41116; font-family: 'Montserrat', sans-serif;
    font-size: 13px; font-weight: 600; text-decoration: none;
    display: block; text-align: center;
    /* Margins alignés sur le bloc "Créer un compte" (.fl-request-access : 18px auto 18px)
       pour un rythme vertical homogène entre les deux CTAs secondaires. */
    margin: 18px auto 18px;
}
.fl-login-card a[href*="lostpassword"]:hover,
.fl-login-card a[href*="mot-de-passe-oublie"]:hover,
.fl-login-card a.fl-lost-pwd:hover { color: #6A0927; text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════════ */

/* Footer compact — espace de formation, sobriété */
.elementor-location-footer {
    font-family: 'Montserrat', sans-serif !important;
}
.elementor-location-footer .elementor-widget-image img,
body .elementor-location-footer .elementor-element .elementor-widget-image img,
body .elementor-location-footer .elementor-element.elementor-widget-image img {
    width: 70px !important;
    max-width: 70px !important;
    height: auto !important;
}
.elementor-location-footer .elementor-widget-button .elementor-button {
    padding: 4px 8px !important; font-size: 12px !important;
    background: transparent !important; box-shadow: none !important;
    border: none !important; color: #D41116 !important;
}
.elementor-location-footer .elementor-widget-button .elementor-button:hover {
    background: transparent !important; text-decoration: underline !important; color: #FFF !important;
}
.elementor-location-footer .elementor-widget-text-editor {
    font-size: 12px !important;
    line-height: 1.5 !important;
}

/* Mobile : logos côte à côte, tout plus resserré */
@media (max-width: 767px) {
    .elementor-location-footer .elementor-widget-image img,
    body .elementor-location-footer .elementor-element .elementor-widget-image img,
    body .elementor-location-footer .elementor-element.elementor-widget-image img {
        width: 55px !important;
        max-width: 55px !important;
    }
    .elementor-location-footer .elementor-widget-image {
        display: inline-block !important;
        width: auto !important;
    }
    .elementor-location-footer .e-con-inner,
    .elementor-location-footer .elementor-container {
        gap: 10px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   LESSON / QUIZ
   ═══════════════════════════════════════════════════════════════ */

/* PHASE-1 CLEANUP 2026-05-13 : retiré pour laisser Elementor gérer
.lp-content-area .lp-lesson-content {
    max-width: 800px; margin: 0 auto; padding: 30px 20px;
    font-family: 'Montserrat', sans-serif; font-size: 16px; line-height: 1.8;
}
*/
.lp-quiz-content { font-family: 'Montserrat', sans-serif; }
.lp-quiz-content .question-title { font-weight: 700; font-size: 18px; margin-bottom: 20px; }
.lp-quiz-content .answer-option {
    padding: 12px 20px; border: 2px solid #EDEDED;
    border-radius: 8px; margin-bottom: 10px; cursor: pointer; transition: all 0.3s;
}
.lp-quiz-content .answer-option:hover,
.lp-quiz-content .answer-option.selected { border-color: #D41116; background: #FFF0F0; }

/* ═══════════════════════════════════════════════════════════════
   LEARNING MODE — Page leçon immersive
   ═══════════════════════════════════════════════════════════════ */

/* Barre du haut — plus compacte, brandée */
#learn-press-course-header,
.lp-course-header {
    background: linear-gradient(90deg, #D41116, #6A0927) !important;
    font-family: 'Montserrat', sans-serif !important;
    height: 50px !important;
    min-height: 50px !important;
}
#learn-press-course-header .course-title,
.lp-course-header .course-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Barre de recherche — redesign complet */
.lp-course-sidebar .course-curriculum-search,
#learn-press-course-curriculum .curriculum-search,
.course-curriculum .search-course {
    background: #F5F5F5 !important;
    border: 1px solid #EDEDED !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin: 12px !important;
}
.lp-course-sidebar .course-curriculum-search input,
#learn-press-course-curriculum .curriculum-search input,
.course-curriculum .search-course input {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    border: none !important;
    background: transparent !important;
    padding: 10px 14px !important;
    color: #333 !important;
}
.lp-course-sidebar .course-curriculum-search button,
#learn-press-course-curriculum .curriculum-search button,
.course-curriculum .search-course button {
    background: #D41116 !important;
    border: none !important;
    color: #FFF !important;
    padding: 10px 14px !important;
    cursor: pointer !important;
    border-radius: 0 8px 8px 0 !important;
}

/* Sidebar gauche — liste des modules */
.lp-course-sidebar,
#learn-press-course-curriculum {
    font-family: 'Montserrat', sans-serif !important;
    background: #FFF !important;
    border-right: 1px solid #EDEDED !important;
}

/* Items de la sidebar */
.lp-course-sidebar .course-curriculum .course-item,
#learn-press-course-curriculum .course-item {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid #F0F0F0 !important;
    transition: background 0.2s !important;
}
.lp-course-sidebar .course-curriculum .course-item:hover,
#learn-press-course-curriculum .course-item:hover {
    background: #FFF5F5 !important;
}
.lp-course-sidebar .course-curriculum .course-item.current,
#learn-press-course-curriculum .course-item.current {
    background: #FFF0F0 !important;
    border-left: 3px solid #D41116 !important;
}

/* Titre des items sidebar */
.lp-course-sidebar .course-item .item-name,
#learn-press-course-curriculum .course-item .item-name {
    font-weight: 500 !important;
    color: #000 !important;
}
.lp-course-sidebar .course-item.current .item-name {
    font-weight: 700 !important;
    color: #D41116 !important;
}

/* Durée dans la sidebar */
.lp-course-sidebar .course-item .item-meta .duration,
#learn-press-course-curriculum .course-item .duration {
    font-size: 12px !important;
    color: #999 !important;
    font-weight: 500 !important;
}

/* Icône cadenas */
.lp-course-sidebar .course-item .item-meta .item-status,
#learn-press-course-curriculum .course-item .locked-icon {
    color: #CCC !important;
    font-size: 14px !important;
}

/* PHASE-1 CLEANUP 2026-05-13 : retiré — Elementor gère typo/spacing
Zone contenu leçon
.lp-content-area .lp-lesson-content,
.lp-course-content-area {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #333 !important;
    max-width: 800px !important;
    margin: 0 auto !important;
    padding: 40px 30px !important;
}

Titre de la leçon
.lp-content-area .lp-lesson-content h1,
.lp-course-content-area h1 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 26px !important;
    text-transform: uppercase !important;
    color: #000 !important;
    margin-bottom: 24px !important;
}
*/

/* Bouton Suivant/Précédent dans la leçon */
.lp-lesson-actions .next-lesson,
.lp-lesson-actions .prev-lesson,
.course-item-nav .prev a,
.course-item-nav .next a {
    background: #000 !important;
    color: #FFF !important;
    border: none !important;
    border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    padding: 12px 28px !important;
    text-decoration: none !important;
    transition: all 0.3s !important;
}
.lp-lesson-actions .next-lesson:hover,
.course-item-nav .next a:hover {
    background: #D41116 !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.2) !important;
}

/* Bouton "Marquer comme terminé" */
.lp-lesson-actions .complete-lesson-btn,
button.complete-lesson-btn {
    background: #D41116 !important;
    color: #FFF !important;
    border: none !important;
    border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
}
.lp-lesson-actions .complete-lesson-btn:hover {
    background: #000 !important;
}

/* ═══════════════════════════════════════════════════════════════
   CURRICULUM — Onglet Détails (page single course)
   ═══════════════════════════════════════════════════════════════ */

/* Titre "Programme" */
.lp-course-curriculum { font-family: 'Montserrat', sans-serif !important; }
.lp-course-curriculum__title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important; font-size: 18px !important;
    text-transform: uppercase !important; color: #000 !important;
    margin-bottom: 16px !important;
}

/* Stats "1 Section · 9 Leçons · 10 Semaines" */
.course-curriculum-info {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important; font-weight: 600 !important;
    text-transform: uppercase !important; letter-spacing: 1px !important;
    color: #999 !important; margin-bottom: 16px !important;
}
.course-curriculum-info ul { list-style: none !important; padding: 0 !important; display: flex !important; gap: 12px !important; }
.course-curriculum-info li { display: inline !important; }

/* "Tout déplier / replier" */
.course-toggle-all-sections {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important; font-weight: 700 !important;
    color: #D41116 !important; text-transform: uppercase !important;
    letter-spacing: 0.5px !important; cursor: pointer !important;
    background: none !important; border: none !important;
}

/* Header de section */
.course-section-header {
    background: #000 !important; color: #FFF !important;
    padding: 14px 20px !important; border-radius: 10px 10px 0 0 !important;
    display: flex !important; align-items: center !important; gap: 12px !important;
}
.course-section__title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important; font-size: 14px !important;
    text-transform: uppercase !important; letter-spacing: 0.5px !important;
    color: #FFF !important;
}
.course-section__description {
    font-size: 12px !important; color: rgba(255,255,255,0.7) !important; font-weight: 400 !important;
}
.section-count-items {
    background: #D41116 !important; color: #FFF !important;
    border-radius: 50% !important; width: 28px !important; height: 28px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: 12px !important; font-weight: 700 !important;
    margin-left: auto !important; flex-shrink: 0 !important;
}
.section-toggle i { color: #FFF !important; }

/* Items du curriculum */
ul.course-sections { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.course-section__items {
    list-style: none !important; padding: 0 !important; margin: 0 !important;
    background: #FFF !important; border-radius: 0 0 10px 10px !important;
    box-shadow: none !important; overflow: hidden !important;
    border: none !important;
}
.course-section__items .course-item {
    list-style: none !important;
    padding: 0 !important;
}
.course-section__items .course-item__link {
    display: flex !important; align-items: center !important;
    padding: 14px 20px !important; border-bottom: 1px solid #F0F0F0 !important;
    text-decoration: none !important; color: #000 !important;
    transition: background 0.2s !important; gap: 12px !important;
}
.course-section__items .course-item:last-child .course-item__link { border-bottom: none !important; }
.course-section__items .course-item__link:hover { background: #FFF5F5 !important; }

.course-item-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important; font-weight: 500 !important; color: #000 !important;
}
.course-item__link:hover .course-item-title { color: #D41116 !important; }

.course-item__right {
    margin-left: auto !important; display: flex !important;
    gap: 12px !important; align-items: center !important; flex-shrink: 0 !important;
}
.course-item__right .duration { font-size: 12px !important; color: #999 !important; font-weight: 500 !important; }
.course-item__right .question-count { font-size: 12px !important; color: #999 !important; }

/* Icônes */
.course-item-ico.lp_lesson::before { color: #D41116 !important; }
.course-item-ico.lp_quiz::before { color: #6A0927 !important; }
.course-item__status .course-item-ico.locked::before { color: #CCC !important; }

/* ─── Verrouillage séquentiel (classe is-locked posée par inc/formation/sequential-lock.php) ─── */
.course-item.is-locked .course-item__link.is-locked-link {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: auto !important; /* on garde le hover pour afficher le tooltip */
}
.course-item.is-locked .course-item__link.is-locked-link:hover {
    background: transparent !important; /* pas de surbrillance hover */
}
.course-item.is-locked .course-item-title {
    color: #999 !important;
}
.course-item.is-locked .course-item-ico.locked::before {
    color: #999 !important; /* cadenas un peu plus contrasté que le défaut #CCC */
}
/* Bouton "Suivant" grisé quand la leçon courante n'est pas terminée (override nav.php) */
.course-item-nav .next.is-locked a.is-locked-link {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: auto !important;
}
.course-item-nav .next.is-locked .course-item-nav__name {
    color: #999 !important;
}

/* ═══════════════════════════════════════════════════════════════
   CORRECTIFS VISUELS — Audit UX avril 2026
   ═══════════════════════════════════════════════════════════════ */

/* ─── CURRICULUM : selecteurs alternatifs Thimpress ─── */
/* Le markup reel du theme Eduma/Thimpress utilise des classes differentes
   de celles du LP standard. On cible les deux pour robustesse. */

/* Section header — fond noir, texte blanc (force) */
.lp-single-course .curriculum-sections .section-header,
.single-lp_course .curriculum-sections .section-header,
.single-lp_course .lp-curriculum .section-header,
.single-lp_course [class*="curriculum"] .section-header,
.single-lp_course .course-curriculum-header {
    background: #000 !important;
    color: #FFF !important;
    padding: 16px 20px !important;
    border-radius: 8px 8px 0 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    margin-top: 16px !important;
}
.single-lp_course .curriculum-sections .section-header .section-title,
.single-lp_course .curriculum-sections .section-header h4,
.single-lp_course .curriculum-sections .section-header h5,
.single-lp_course .curriculum-sections .section-header .section-left {
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #FFF !important;
    margin: 0 !important;
}
/* Compteur "10" dans le header section */
.single-lp_course .curriculum-sections .section-header .section-right,
.single-lp_course .curriculum-sections .section-header .section-meta {
    color: rgba(255,255,255,0.5) !important;
    font-size: 12px !important;
}
/* Description sous le titre de section */
.single-lp_course .curriculum-sections .section-header .section-desc {
    font-size: 12px !important;
    color: rgba(255,255,255,0.7) !important;
    margin-top: 6px !important;
    font-weight: 400 !important;
}

/* Conteneur de la liste des items — bordure arrondie en bas */
.single-lp_course .curriculum-sections .section-content {
    background: #FFF !important;
    border: 1px solid #F0F0F0 !important;
    border-top: none !important;
    border-radius: 0 0 8px 8px !important;
    overflow: hidden !important;
}

/* Items du curriculum — distinction lecon vs quiz */
.single-lp_course .curriculum-sections .course-item {
    padding: 14px 20px !important;
    border-bottom: 1px solid #F0F0F0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
    transition: background 0.2s !important;
}
.single-lp_course .curriculum-sections .course-item:last-child {
    border-bottom: none !important;
}
.single-lp_course .curriculum-sections .course-item:hover {
    background: #FFF5F5 !important;
}

/* Icone de lecon — couleur rouge */
.single-lp_course .curriculum-sections .course-item .item-icon,
.single-lp_course .curriculum-sections .course-item i,
.single-lp_course .curriculum-sections .course-item svg {
    color: #D41116 !important;
    fill: #D41116 !important;
    flex-shrink: 0 !important;
}

/* Quiz final — mise en evidence */
.single-lp_course .curriculum-sections .course-item.course-item-lp_quiz {
    background: #FAFAFA !important;
    border-left: 3px solid #D41116 !important;
}
.single-lp_course .curriculum-sections .course-item.course-item-lp_quiz:hover {
    background: #FFF0F0 !important;
}

/* Duree des items — plus visible */
.single-lp_course .curriculum-sections .course-item .course-item-meta,
.single-lp_course .curriculum-sections .course-item .item-meta {
    font-size: 12px !important;
    color: #767676 !important;
    font-weight: 600 !important;
    font-family: 'Montserrat', sans-serif !important;
    margin-left: auto !important;
    white-space: nowrap !important;
}

/* Masquer "0 Questions" quand vide */
.single-lp_course .curriculum-sections .course-item .course-item-meta .count.questions[data-count="0"],
.single-lp_course .curriculum-sections .course-item .item-meta .questions-count:empty {
    display: none !important;
}

/* Stats du curriculum (haut) — typo amelioree */
.single-lp_course .curriculum-sections > .course-curriculum-info,
.single-lp_course .course-curriculum > .course-info,
.single-lp_course .tab-content .course-curriculum-info {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #999 !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #EDEDED !important;
    margin-bottom: 8px !important;
}

/* Lien "Collapse All Sections" — rouge brande */
.single-lp_course .curriculum-sections .toggle-all-sections,
.single-lp_course .course-curriculum .toggle-sections {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #D41116 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
    transition: color 0.2s !important;
}
.single-lp_course .curriculum-sections .toggle-all-sections:hover {
    color: #6A0927 !important;
}

/* KAISSA-COMMENT-START [Stats instructor masquage] — audit 18/05/2026 : V1 a confirmé 0 occurrence .instructor-statistic/.instructor-stats/.instructor-info dans le DOM sur /mon-compte/. Le widget Thim-EKits LP n'expose pas ces classes pour les subscribers. Décommenter si LP réactive ces blocs natifs.
/* ─── PROFIL : masquer les stats instructeur pour les apprenants ─── */
/* Si l'utilisateur est un simple subscriber/apprenant, ces stats sont vides et inutiles */
/*
#learn-press-profile .lp-profile-content .lp-profile-info .instructor-statistic,
#learn-press-profile .lp-profile-content .lp-profile-dashboard .instructor-stats,
#learn-press-profile .lp-profile-content .statistic-box .instructor-info {
    display: none !important;
}
*/
/* KAISSA-COMMENT-END */

/* Cards statistiques profil — meilleur style */
#learn-press-profile .lp-profile-dashboard .statistic-box,
#learn-press-profile .lp-profile-info .info-box {
    background: #FFF !important;
    border-radius: 10px !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.1) !important;
    border: none !important;
    border-left: 4px solid #D41116 !important;
    padding: 16px 20px !important;
    font-family: 'Montserrat', sans-serif !important;
}
#learn-press-profile .lp-profile-dashboard .statistic-box .statistic-counter,
#learn-press-profile .lp-profile-info .info-box .info-value {
    font-size: 28px !important;
    font-weight: 900 !important;
    color: #D41116 !important;
    line-height: 1 !important;
}
#learn-press-profile .lp-profile-dashboard .statistic-box .statistic-text,
#learn-press-profile .lp-profile-info .info-box .info-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #767676 !important;
    margin-top: 6px !important;
}

/* Avatar profil — border plus epaisse */
#learn-press-profile .lp-profile-sidebar .lp-profile-avatar img,
#learn-press-profile .lp-user-avatar img {
    border: 4px solid #D41116 !important;
    box-shadow: 0 0 15px rgba(212,17,22,0.15) !important;
}

/* Sous-onglets profil (Historique complet / Publie / En attente) */
#learn-press-profile .lp-profile-content .lp-sub-menu,
#learn-press-profile .lp-profile-content .learn-press-subtabs,
#learn-press-profile .lp-profile-content .lp-profile-tab-filter {
    font-family: 'Montserrat', sans-serif !important;
    border-bottom: 2px solid #EDEDED !important;
    margin-bottom: 20px !important;
}
#learn-press-profile .lp-profile-content .lp-sub-menu li a,
#learn-press-profile .lp-profile-content .learn-press-subtabs li a,
#learn-press-profile .lp-profile-content .lp-profile-tab-filter a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #767676 !important;
    padding: 10px 16px !important;
    text-decoration: none !important;
    border-bottom: 3px solid transparent !important;
    transition: all 0.25s !important;
}
#learn-press-profile .lp-profile-content .lp-sub-menu li.active a,
#learn-press-profile .lp-profile-content .learn-press-subtabs li.active a,
#learn-press-profile .lp-profile-content .lp-profile-tab-filter a.active {
    color: #D41116 !important;
    border-bottom-color: #D41116 !important;
    font-weight: 900 !important;
}
/* Retirer l'underline hover sur les sous-onglets profil (Général / Avatar / Image de couverture / Mot de passe).
   Le DOM contient 2 versions du même <li> : une cachée dans .profile-tab-sections (sidebar),
   et la VISIBLE dans <li class="learn-press-tabs__item"> en haut du contenu. C'est cette
   dernière qui reçoit l'underline du kit Elementor au hover. */
body.learnpress-profile .learn-press-tabs__item a,
body.learnpress-profile .learn-press-tabs__item a:hover,
body.learnpress-profile .learn-press-tabs__item a:focus,
body.learnpress-profile .learn-press-tabs__item a:active {
    text-decoration: none !important;
}
/* Aligner les icônes de la sidebar profil avec le texte (LP ajoute margin-top: 3px qui décale).
   Sélecteur LP source : `.lp-user-profile .lp-profile-nav-tabs > li a > i { margin-top: 3px }` */
body.learnpress-profile .lp-user-profile .lp-profile-nav-tabs > li a > i,
body.learnpress-profile #profile-sidebar .lp-profile-nav-tabs > li a > i {
    margin-top: 0 !important;
}

/* Card cours dans le profil — image placeholder */
#learn-press-profile .lp-profile-course-item .course-thumbnail,
#learn-press-profile .learn-press-courses .course-item .course-thumbnail {
    background: linear-gradient(135deg, #D41116 0%, #6A0927 100%) !important;
    border-radius: 10px 10px 0 0 !important;
    min-height: 160px !important;
    overflow: hidden !important;
}
#learn-press-profile .lp-profile-course-item .course-thumbnail img,
#learn-press-profile .learn-press-courses .course-item .course-thumbnail img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
}
/* Masquer le placeholder gris si pas d'image reelle */
#learn-press-profile .course-thumbnail img[src*="placeholder"],
#learn-press-profile .course-thumbnail img[src*="no-image"],
#learn-press-profile .course-thumbnail img[src=""] {
    opacity: 0 !important;
}

/* Masquer le nombre d'etudiants dans les cards profil */
#learn-press-profile .course-students,
#learn-press-profile .lp-course-students,
#learn-press-profile .course-item .course-students {
    display: none !important;
}

/* Bouton S'inscrire dans la card profil — plus gros */
#learn-press-profile .lp-profile-course-item .lp-button,
#learn-press-profile .learn-press-courses .course-item .lp-button,
#learn-press-profile .lp-profile-course-item a[class*="enroll"],
#learn-press-profile .lp-profile-course-item a[class*="button"] {
    background: #000 !important;
    color: #FFF !important;
    border: none !important;
    border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 12px 28px !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.3s !important;
}
#learn-press-profile .lp-profile-course-item .lp-button:hover,
#learn-press-profile .lp-profile-course-item a[class*="button"]:hover {
    background: #D41116 !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.2) !important;
}

/* ═══════════════════════════════════════════════════════════════
   LEARNING MODE — Popup immersif LearnPress
   Structure: #popup-header > #popup-sidebar > #popup-content > #popup-footer
   ═══════════════════════════════════════════════════════════════ */

/* ── Header ── */
#popup-header {
    background: linear-gradient(90deg, #D41116, #6A0927) !important;
    border-bottom: none !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 24px 0 0 !important;
    box-sizing: border-box !important;
    gap: 0 !important;
}
#popup-header .popup-header__inner {
    height: 56px !important;
    padding: 0 24px 0 12px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}
/* Toggle sidebar (la flèche ◀) */
#popup-header #sidebar-toggle {
    width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    font-size: 14px !important;
    flex-shrink: 0 !important;
    background: rgba(255,255,255,0.12) !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
#popup-header #sidebar-toggle:hover {
    background: rgba(255,255,255,0.25) !important;
}
#popup-header #sidebar-toggle::before {
    font-size: 13px !important;
}
/* Titre du cours */
#popup-header .course-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex: 1 !important;
    height: auto !important;
    max-height: 56px !important;
    line-height: 56px !important;
    display: flex !important;
    align-items: center !important;
}
#popup-header .course-title a {
    color: #FFF !important;
    text-decoration: none !important;
    font-size: 15px !important;
    line-height: 56px !important;
    height: 56px !important;
    display: inline-block !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
}
/* Progression "0 sur 10 éléments" */
#popup-header .items-progress {
    font-size: 12px !important;
    opacity: 0.85 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}
#popup-header .items-progress .number {
    font-size: 12px !important;
}
#popup-header .learn-press-progress {
    height: 5px !important;
    border-radius: 3px !important;
    margin-top: 3px !important;
    background: rgba(255,255,255,0.2) !important;
}
#popup-header .learn-press-progress__active {
    background: #FFF !important;
    border-radius: 3px !important;
}
/* Croix fermer (X) — calée à droite */
#popup-header a.back-course,
#popup-header a.back-course:hover,
#popup-header a.back-course:focus,
#popup-header a.back-course:active {
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    background: rgba(255,255,255,0.12) !important;
    transition: background 0.2s !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
}
#popup-header a.back-course:hover {
    background: rgba(255,255,255,0.25) !important;
}
#popup-header a.back-course i {
    font-size: 16px !important;
    color: #FFF !important;
    line-height: 1 !important;
}

/* KAISSA-COMMENT-START [règle vide body.lp-sidebar-toggle__open] — audit 18/05/2026 : règle CSS sans aucune propriété (juste un commentaire interne). Sans effet.
/* ── Sidebar : fermée par défaut, n'afficher que le module en cours ── */
/*
body.lp-sidebar-toggle__open {
    /\* Forcer fermée par défaut — LP utilise ce cookie/classe *\/
}
*/
/* KAISSA-COMMENT-END */
/* KAISSA-COMMENT-START 2026-05-18 : hack CSS remplacé par override PHP propre
   (inc/formation/curriculum-overrides.php → filtre learn-press/course/html-section-item).
   Les sections non-courantes ne sont plus rendues côté serveur en mode leçon, donc
   plus besoin du display:none. Ancien code :
     #popup-sidebar .course-section.lp-collapse:not(:has(.course-item.current)) { display: none !important; }
     #popup-sidebar .course-section.lp-collapse:has(.course-item.current) .course-section__items,
     #popup-sidebar .course-section.lp-collapse:has(.course-item.current) .course-section__content { display: none !important; }
   KAISSA-COMMENT-END */

/* Sidebar : largeur réduite mais lisible (350px au lieu de 475px par défaut) */
:root {
    --thim-width-sidebar-items: 350px !important;
}
.course-summary {
    --thim-width-sidebar-items: 350px !important;
}
#popup-sidebar {
    font-family: 'Montserrat', sans-serif !important;
    border-right: 1px solid #EDEDED !important;
    background: #FFF !important;
    box-shadow: none !important;
    width: 350px !important;
    max-width: 350px !important;
    flex: 0 0 350px !important;
}
#popup-sidebar .course-curriculum {
    width: 350px !important;
    top: 0 !important; /* LP natif force top:70px pour laisser place à .search-course qu'on masque ci-dessous */
}
body.admin-bar #popup-sidebar .course-curriculum {
    top: 32px !important; /* compensation admin bar WP */
}
/* Masquer la recherche (1 seul cours) */
#popup-sidebar .search-course {
    display: none !important;
}
/* Masquer le titre "Programme" et les stats "1 Section · 9 Leçons" dans le popup */
#popup-sidebar .lp-course-curriculum__title,
#popup-sidebar .course-curriculum-info {
    display: none !important;
}
/* Section header (titre du parcours) */
#popup-sidebar .course-section-header {
    background: #F7F7F7 !important;
    padding: 8px 14px !important;
    border-bottom: 1px solid #EEE !important;
    min-height: auto !important;
}
#popup-sidebar .course-section__title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: #555 !important;
    line-height: 1.3 !important;
}
/* Toggle section (flèches) */
#popup-sidebar .section-toggle {
    font-size: 12px !important;
}
/* Badge nombre d'items */
#popup-sidebar .course-section-header .section-number,
#popup-sidebar .section-header .count {
    font-size: 9px !important;
    background: #D41116 !important;
    color: #FFF !important;
    border-radius: 8px !important;
    padding: 1px 6px !important;
    font-weight: 700 !important;
    min-width: 18px !important;
    text-align: center !important;
    line-height: 1.4 !important;
}
/* Items de leçon */
#popup-sidebar .course-item {
    padding: 0 !important;
    border-bottom: none !important;
    border-left: 3px solid transparent !important;
    transition: background 0.15s !important;
    min-height: auto !important;
    height: auto !important;
}
#popup-sidebar .course-item .course-item__link {
    padding: 14px 16px !important;
    border-bottom: 1px solid #F0F0F0 !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
/* Contenu sur une seule ligne : titre à gauche, durée à droite */
#popup-sidebar .course-item .course-item__content,
#popup-sidebar .lp-course-curriculum .course-item__content,
.course-item-popup .lp-course-curriculum .course-section .course-item__content {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex: 1 !important;
    gap: 8px !important;
}
#popup-sidebar .course-item .course-item__left {
    flex: 1 !important;
}
#popup-sidebar .course-item .course-item__right {
    flex-shrink: 0 !important;
}
#popup-sidebar .course-item:last-child .course-item__link {
    border-bottom: none !important;
}
/* Hover */
#popup-sidebar .course-item:hover {
    background: #F8F8F8 !important;
}
/* Item courant — PAS de double bordure, juste fond + bordure gauche */
#popup-sidebar .course-item.current {
    background: rgba(212,17,22,0.06) !important;
    border-left-color: #D41116 !important;
    box-shadow: none !important;
}
#popup-sidebar .course-item.current .course-item__link {
    border-bottom-color: transparent !important;
}
#popup-sidebar .course-item.current .course-item-title {
    color: #D41116 !important;
    font-weight: 700 !important;
}
/* Titre du module — taille remontée */
#popup-sidebar .course-item .course-item-title {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: #333 !important;
}
/* Durée */
#popup-sidebar .course-item .duration {
    font-size: 12px !important;
    color: #777 !important;
    white-space: nowrap !important;
}
/* Icônes — alignées avec le texte */
#popup-sidebar .course-item .course-item-ico {
    font-size: 14px !important;
    width: 18px !important;
    flex-shrink: 0 !important;
    color: #AAA !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
#popup-sidebar .course-item .course-item-ico.lp_lesson { color: #D41116 !important; }
#popup-sidebar .course-item .course-item-ico.lp_quiz { color: #6A0927 !important; }
/* Status icons */
#popup-sidebar .course-item .course-item__status {
    font-size: 14px !important;
}
#popup-sidebar .course-item.completed .course-item__status { color: #2ecc71 !important; }

/* PHASE-1 CLEANUP 2026-05-13 : retiré — Elementor gère le wrap (padding/max-width)
   ── Contenu ──
#popup-content {
    font-family: 'Montserrat', sans-serif !important;
}
#popup-content .content-item-wrap {
    padding: 30px !important;
    max-width: 800px !important;
}
*/

/* 2026-05-14 : neutraliser l'espace blanc LP par défaut sous le header en mode leçon Elementor.
   LP natif applique --lp-item-padding: 60px sur .content-item-wrap → on garde un padding minimal. */
#popup-content .content-item-wrap {
    --lp-item-padding: 16px;
}

/* 2026-05-14 : coller le #popup-content au header (56px) au lieu du margin-top 70px par défaut LP.
   Ça supprime la bande blanche de 14px entre le bas du bandeau rouge et le début du contenu. */
#popup-content {
    margin-top: 56px !important;
}

/* 2026-05-14 : masquer le breadcrumb LP natif (<ul.learn-press-breadcrumb>) qui apparaît
   tout en haut du body en mode leçon et qui pousse le contenu vers le bas (57px d'espace blanc
   au-dessus du #popup-header lors du scroll). Le breadcrumb LP n'a pas sa place dans le popup
   immersif, on a notre propre header. */
body.course-item-popup .learn-press-breadcrumb,
body.viewing-course-item .learn-press-breadcrumb {
    display: none !important;
}

/* ── Footer / Navigation ── */
#popup-footer {
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid #EDEDED !important;
    height: auto !important;
    min-height: auto !important;
    background: #FFF !important;
    box-shadow: 0 -2px 6px rgba(0,0,0,0.05) !important;
    right: 0 !important;
    max-width: none !important;
    width: auto !important;
}
/* PHASE-1 CLEANUP 2026-05-13 : retiré — Elementor gère max-width
#popup-content .content-item-wrap {
    max-width: 900px !important;
}
*/
.course-item-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 14px 24px !important;
    gap: 12px !important;
    border-top: none !important;
    font-size: 0 !important;
}
.course-item-nav .course-item-nav__name {
    display: none !important;
}
/* Boutons nav */
.course-item-nav .next a,
.course-item-nav .prev a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 10px 28px !important;
    border-radius: 25px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    height: auto !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    cursor: pointer !important;
}
.course-item-nav .next a {
    background: #000 !important;
    color: #FFF !important;
    border: none !important;
}
.course-item-nav .next a:hover { background: #D41116 !important; }
.course-item-nav .prev a {
    background: transparent !important;
    color: #555 !important;
    border: 1px solid #DDD !important;
}
.course-item-nav .prev a:hover { border-color: #333 !important; color: #333 !important; }
/* Pseudo-elements flèches — masquer */
.course-item-nav .next::after, .course-item-nav .next::before,
.course-item-nav .prev::after, .course-item-nav .prev::before,
.course-item-nav::after, .course-item-nav::before {
    display: none !important;
    content: none !important;
}

/* Bouton TERMINÉ */
button.lp-button.button-complete-lesson,
button.lp-btn-complete-item,
form.learn-press-form.form-button button {
    background: #D41116 !important;
    color: #FFF !important;
    border: none !important;
    border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 10px 28px !important;
    min-height: 40px !important;
    height: auto !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    letter-spacing: 0.5px !important;
}
button.lp-button.button-complete-lesson:hover,
button.lp-btn-complete-item:hover {
    background: #000 !important;
}

/* ═══════════════════════════════════════════════════════════════
   AMÉLIORATIONS ISSUES DE L'AUDIT UX
   ═══════════════════════════════════════════════════════════════ */

/* KAISSA-COMMENT-START [H1 viewer leçon] — décommenter pour réactiver
/\* ── Learning mode : titre du module avec accent rouge ── *\/
#popup-content .course-item-title.lesson-title,
#popup-content h1.course-item-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 24px !important;
    text-transform: uppercase !important;
    color: #1A1A1A !important;
    border-left: 4px solid #D41116 !important;
    padding-left: 14px !important;
    margin-bottom: 28px !important;
    line-height: 1.3 !important;
}
@media (max-width: 480px) {
    #popup-content .course-item-title.lesson-title,
    #popup-content h1.course-item-title { font-size: 22px !important; }
}
@media (min-width: 1200px) {
    #popup-content .course-item-title.lesson-title,
    #popup-content h1.course-item-title { font-size: 30px !important; }
}
KAISSA-COMMENT-END */

/* ── Learning mode : bouton TERMINÉ plus de marge ── */
#popup-content form.learn-press-form.form-button {
    margin-top: 32px !important;
}

/* PHASE-1 CLEANUP 2026-05-13 : retiré — Elementor gère typo paragraphes
── Learning mode : texte contenu lisible ──
#popup-content .content-item-description,
#popup-content .course-item-content,
#popup-content .quiz-content,
#popup-content p {
    color: #333 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}
*/

/* ── Learning mode : item actif sidebar — meilleur contraste ── */
#popup-sidebar .course-item.current .course-item-title {
    color: #B80D11 !important;
    font-weight: 800 !important;
}

/* ── Single course : sidebar sticky ──
 * Avec header sticky (65px), la sidebar se cale juste en-dessous + 20px de breath. */
.single-lp_course .thim-ekit-single-course__sidebar,
.single-lp_course .lp-entry-content > .lp-content-area + div {
    position: sticky !important;
    top: 85px !important;
    align-self: flex-start !important;
}

/* ── Single course : stats progression mieux formatées ── */
.single-lp_course .course-results-progress .items-progress .number {
    font-weight: 800 !important;
    color: #D41116 !important;
}

/* KAISSA-COMMENT-START [.formation-onboarding override single course] — audit 18/05/2026 : V1 a confirmé 0 occurrence .formation-onboarding dans le DOM. JS qui injecte ne déclenche jamais (showOnboarding toujours vide).
/* ── Single course : encadré onboarding plus visible ── */
/*
.formation-onboarding {
    border-left-width: 5px !important;
    background: linear-gradient(135deg, rgba(212,17,22,0.05) 0%, #FFF 100%) !important;
}
*/
/* KAISSA-COMMENT-END */

/* ── Profil : tableau aligné à gauche ── */
#learn-press-profile table td:first-child {
    text-align: left !important;
    padding-left: 16px !important;
    font-weight: 600 !important;
}
#learn-press-profile table td:first-child a {
    color: #D41116 !important;
    text-decoration: none !important;
}
#learn-press-profile table td:first-child a:hover {
    text-decoration: underline !important;
}

/* ── Profil : onglet actif plus visible ── */
#learn-press-profile .lp-profile-course-tab__filter li.active a,
#learn-press-profile .lp-profile-course-tab__filter a.active {
    border-bottom: 3px solid #D41116 !important;
    font-weight: 700 !important;
    color: #000 !important;
}
/* ── Profil : onglets inactifs plus discrets ── */
#learn-press-profile .lp-profile-course-tab__filter a {
    color: #888 !important;
    font-weight: 500 !important;
    border-bottom: 3px solid transparent !important;
    transition: all 0.2s !important;
}
/* ── Profil : onglets hover ── */
#learn-press-profile .lp-profile-course-tab__filter a:hover {
    color: #6A0927 !important;
    border-bottom-color: #6A0927 !important;
}

/* ─── État vide profil ─── */
#learn-press-profile .lp-profile-content .no-courses,
.lp-profile-courses-tab .no-data {
    font-family: 'Montserrat', sans-serif !important;
    text-align: center !important; padding: 60px 20px !important;
    color: #999 !important; font-size: 15px !important;
}

/* ─── Placeholder image : masquer visuellement mais garder le layout ─── */
img[src*="no-image"] {
    opacity: 0 !important;
}

/* ─── Profil settings : masquer champs inutiles (réseaux sociaux, bio, cover) ─── */
#learn-press-profile .form-field__facebook,
#learn-press-profile .form-field__twitter,
#learn-press-profile .form-field__youtube,
#learn-press-profile .form-field__linkedin,
#learn-press-profile .form-field__bio {
    display: none !important;
}
/* Masquer onglets Avatar et Image de couverture */
#learn-press-profile .lp-profile-content a[href*="avatar"],
#learn-press-profile .lp-profile-content a[href*="cover-image"],
#learn-press-profile .lp-profile-content li:has(a[href*="avatar"]),
#learn-press-profile .lp-profile-content li:has(a[href*="cover-image"]) {
    display: none !important;
}

/* ─── Profil settings : inputs plus grands pour accessibilité ─── */
#learn-press-profile input[type="text"],
#learn-press-profile input[type="email"],
#learn-press-profile input[type="password"],
#learn-press-profile input[type="url"],
#learn-press-profile textarea,
#learn-press-profile select {
    min-height: 44px !important;
    padding: 10px 16px !important;
    font-size: 15px !important;
    border-radius: 8px !important;
    border: 1px solid #CCC !important;
    font-family: 'Montserrat', sans-serif !important;
}
#learn-press-profile input:focus,
#learn-press-profile textarea:focus {
    border-color: #D41116 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(212,17,22,0.15) !important;
}

/* KAISSA-COMMENT-START [Accordéons .conseil] — décommenter pour réactiver
/\* ═══════════════════════════════════════════════════════════════
   ACCORDÉONS CONSEILS (details.conseil)
   ═══════════════════════════════════════════════════════════════ *\/

details.conseil {
    background: #FFF8E7;
    border-left: 4px solid #D41116;
    padding: 15px;
    border-radius: 8px;
    margin: 10px 0;
    font-family: 'Montserrat', sans-serif;
}

details.conseil summary {
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

details.conseil summary::-webkit-details-marker {
    display: none;
}

details.conseil summary::before {
    content: '▸';
    display: inline-block;
    transition: transform 0.2s ease;
    font-size: 0.9em;
}

details[open].conseil summary::before {
    transform: rotate(90deg);
}

details[open].conseil summary {
    margin-bottom: 10px;
}
KAISSA-COMMENT-END */

/* ═══════════════════════════════════════════════════════════════
   HEADER SUR LA PAGE SINGLE COURSE — vague 19 (21 avril 2026)
   Le header Elementor compact (vague 8, 65px + logo débordant) doit
   s'afficher sur la page cours. On ne masque QUE dans le popup
   immersif leçon/quiz (body.course-item-popup), où c'est #popup-header
   qui prend le relais.
   ═══════════════════════════════════════════════════════════════ */

body.course-item-popup .elementor-location-header,
body.course-item-popup header.elementor-location-header,
body.course-item-popup-activated .elementor-location-header,
body.course-item-popup-activated header.elementor-location-header {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Supprimer réserve d'espace résiduelle au-dessus du bandeau rouge dans le popup */
body.course-item-popup .site-main,
body.course-item-popup main,
body.course-item-popup #page,
body.course-item-popup .elementor {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* Page cours : resserrer l'espace entre header (65px) et bandeau rouge */
body.single-lp_course .site-main,
body.single-lp_course main#content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 767px) {
    /* Header mobile : colonne */
    .elementor-location-header > .e-con {
        flex-wrap: wrap !important; flex-direction: column !important;
        padding: 10px 15px !important; gap: 8px !important; min-height: auto !important;
    }
    .elementor-location-header .e-con .e-con {
        width: 100% !important; justify-content: center !important;
    }
    .elementor-location-header .elementor-widget-image img { width: 50px !important; }
    .elementor-location-header .elementor-widget-heading { display: none !important; }

    /* Carte en vertical */
    .thim-ekits-course__inner { flex-direction: column !important; }
    .thim-ekits-course__thumbnail {
        width: 100% !important; min-height: 180px !important;
        border-radius: 10px 10px 0 0 !important;
    }
    .thim-ekits-course__content { padding: 20px !important; }

    /* Hero titre mobile : géré dans le template Elementor 33 */

    /* ─── SINGLE COURSE MOBILE : unifier les blocs ─── */
    /* Le container parent (boxed) qui contient tabs + sidebar */
    .single-lp_course .elementor-element-d3c10fc {
        padding: 0 !important;
        overflow: hidden !important;
    }
    .single-lp_course .elementor-element-d3c10fc > .e-con-inner {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 15px 0 0 !important;
    }

    /* Container tabs : fond blanc, pas de marge */
    .single-lp_course .elementor-element-6474d69 {
        background: #FFF !important;
        border-radius: 10px 10px 0 0 !important;
        box-shadow: none !important;
        margin: 15px 0 0 !important;
        padding: 20px 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* KAISSA-COMMENT-START [IDs Elementor 90196b9 + 117d0d5 mobile single-lp_course] — audit 18/05/2026 : V1 a confirmé ces IDs absents du DOM sur page cours. Probable suppression/duplication widget Elementor sans nettoyage CSS.
    /* Container image sidebar : masquer le gradient décoratif sur mobile */
    /*
    .single-lp_course .elementor-element-90196b9 {
        margin: 0 !important;
        padding: 0 15px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
        order: unset !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .single-lp_course .elementor-element-90196b9 .thim-ekit-single-course__image {
        display: none !important;
    }
    */

    /* Container bouton : simple, pas de double carte */
    /*
    .single-lp_course .elementor-element-117d0d5 {
        margin: 0 !important;
        padding: 20px 15px !important;
        background: transparent !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        border: none !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    */
    /* KAISSA-COMMENT-END */

    /* Profil */
    #learn-press-profile .lp-profile-content { padding: 15px 10px; }
    .lp-single-course .course-title { font-size: 22px; }
    .lp-single-course .course-curriculum .section-title { font-size: 14px; padding: 10px 15px; }

    /* padding-top body retiré : header sticky pousse le contenu naturellement */

    .fl-login-card { padding: 25px 20px; margin: 0 10px; }

    /* Breadcrumb mobile */
    /* KAISSA-COMMENT-START [.formation-breadcrumb mobile] — audit 18/05/2026 : élément absent du DOM (V1).
    .formation-breadcrumb { padding: 12px 15px !important; font-size: 12px !important; }
    KAISSA-COMMENT-END */

    /* ─── LEARNING MODE MOBILE ─── */
    /* Header : titre plus petit, tout visible */
    #popup-header {
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
    }
    #popup-header .popup-header__inner {
        height: 48px !important;
        padding: 0 12px !important;
        gap: 8px !important;
    }
    #popup-header .course-title {
        font-size: 11px !important;
        line-height: 48px !important;
        max-height: 48px !important;
    }
    #popup-header .course-title a {
        font-size: 11px !important;
        line-height: 48px !important;
        height: 48px !important;
    }
    #popup-header .items-progress {
        font-size: 10px !important;
    }
    #popup-header #sidebar-toggle {
        width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
    }
    #popup-header a.back-course {
        width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        flex-shrink: 0 !important;
    }

    /* Sidebar mobile : pas de bordures entre modules */
    #popup-sidebar .course-item .course-item__link {
        border-bottom: none !important;
    }
    #popup-sidebar .course-item {
        border-left-width: 3px !important;
    }

    /* Learning mode : header full width en mobile */
    #popup-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 10000 !important;
    }

    /* Learning mode sidebar : 100% overlay en mobile quand ouverte */
    body.lp-sidebar-toggle__open #popup-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        position: fixed !important;
        z-index: 9999 !important;
        top: 48px !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        transform: none !important;
        overflow-y: auto !important;
        display: block !important;
    }
    /* Sidebar fermée : masquer */
    body.lp-sidebar-toggle__close #popup-sidebar {
        display: none !important;
    }

    /* Learning mode : contenu sous le header fixe */
    #popup-content {
        margin-top: 48px !important;
    }

    /* Learning mode : admin bar offset mobile */
    body.admin-bar #popup-header {
        top: 46px !important;
    }
    body.admin-bar .lp-sidebar-toggle__open #popup-sidebar {
        top: 94px !important; /* 46px admin bar + 48px header */
    }
    body.admin-bar #popup-content {
        margin-top: 94px !important;
    }
    body.admin-bar #popup-footer {
        bottom: 0 !important;
    }

    /* Learning mode : footer full width */
    #popup-footer {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 9998 !important;
    }

    /* Contenu mobile */
    #popup-content .content-item-wrap {
        padding: 20px 16px !important;
    }
    #popup-content .course-item-title.lesson-title,
    #popup-content h1.course-item-title {
        font-size: 16px !important;
        padding-left: 10px !important;
    }

    /* Footer mobile : boutons */
    .course-item-nav {
        padding: 10px 16px !important;
        gap: 8px !important;
    }
    .course-item-nav .next a,
    .course-item-nav .prev a {
        font-size: 12px !important;
        padding: 8px 20px !important;
        min-height: 44px !important;
    }
    .course-item-nav .prev a {
        border-color: #D41116 !important;
        color: #D41116 !important;
    }

    /* ─── CURRICULUM MOBILE : enlever bordures en trop ─── */
    .course-section__items .course-item {
        border: none !important;
        box-shadow: none !important;
    }
    .course-section__items .course-item__link {
        border-bottom: 1px solid #F5F5F5 !important;
        border-left: none !important;
        border-right: none !important;
        border-top: none !important;
    }
    .course-section__items .course-item:last-child .course-item__link {
        border-bottom: none !important;
    }

    /* Carte cours mobile : enlever la double ombre/bordure */
    .thim-ekits-course__inner {
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        border: none !important;
    }

    /* Bouton VOIR LE PROGRAMME : centrer le texte */
    .thim-ekits-course__read-more {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* ─── PROFIL MOBILE ─── */
    /* Sidebar profil : onglets en flex, pas de troncage */
    #learn-press-profile .lp-profile-left .lp-profile-nav,
    #learn-press-profile .lp-profile-left ul {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }
    #learn-press-profile .lp-profile-left {
        width: 100% !important;
        margin-bottom: 16px !important;
    }
    #learn-press-profile .lp-profile-left li {
        width: 100% !important;
    }
    #learn-press-profile .lp-profile-left li a {
        font-size: 13px !important;
        padding: 12px 16px !important;
        min-height: 44px !important;
    }

    /* Tableau profil : scroll horizontal */
    #learn-press-profile table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* Profil : onglets cours scroll horizontal */
    #learn-press-profile .lp-profile-course-tab__filter {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
    }
    #learn-press-profile .lp-profile-course-tab__filter li {
        flex-shrink: 0 !important;
    }
    #learn-press-profile .lp-profile-course-tab__filter li a {
        font-size: 12px !important;
        padding: 8px 10px !important;
    }

    /* Filtres profil : scroll horizontal au lieu de déborder */
    #learn-press-profile .learn-press-filters {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        white-space: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Conteneur cours profil : contenu scrollable */
    #learn-press-profile .lp-profile-course-tab__filter__content,
    #learn-press-profile .lp-profile-content {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
    }

    /* Double bordure profil sidebar : supprimer */
    #learn-press-profile .lp-profile-left .lp-profile-nav {
        border: none !important;
        box-shadow: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   FOOTER — espacement réduit + logo CNPA agrandi
   ═══════════════════════════════════════════════════════════════ */
.elementor-element-8985d02 {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
    gap: 10px !important;
}
.elementor-element-932c141 {
    gap: 15px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.elementor-element-e157c0a {
    gap: 5px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* Réduire gaps internes des sous-conteneurs */
.elementor-element-055ccad,
.elementor-element-07d125f {
    gap: 10px !important;
}
.elementor-element-df4ff8e,
.elementor-element-643fff7 {
    gap: 10px !important;
}
/* KAISSA-COMMENT-START 2026-05-17 : override par ID Elementor inutile (largeur logo CNPA footer)
   → la largeur du logo doit être réglée directement dans Elementor sur le widget, pas en CSS.
   Logo CNPA plus grand (override Elementor inline CSS) :
   .elementor-element-643fff7,
   .elementor-element-643fff7 a { width: 180px !important; }
   .elementor-27 .elementor-element.elementor-element-643fff7 img { width: 180px !important; height: auto !important; }
   KAISSA-COMMENT-END */

/* KAISSA-COMMENT-START [BREADCRUMBS + ONBOARDING MESSAGE] — audit 18/05/2026 : V1 a confirmé 0 occurrence .formation-breadcrumb / .formation-onboarding dans le DOM. Le JS qui injecte (formation-frontend.js) ne déclenche jamais (showOnboarding="", bloc isSingleCourse créé puis masqué). Décommenter pour réactiver.
/* ═══════════════════════════════════════════════════════════════
   BREADCRUMBS
   ═══════════════════════════════════════════════════════════════ */
/*
.formation-breadcrumb {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 500;
    padding: 12px 20px;
    color: #767676;
}
.formation-breadcrumb a {
    color: #D41116;
    text-decoration: none;
    font-weight: 600;
}
.formation-breadcrumb a:hover {
    text-decoration: underline;
}
.formation-breadcrumb .sep {
    margin: 0 8px;
    color: #CCC;
}
.formation-breadcrumb .current {
    color: #333;
    font-weight: 600;
}
*/

/* ═══════════════════════════════════════════════════════════════
   ONBOARDING MESSAGE
   ═══════════════════════════════════════════════════════════════ */
/*
.formation-onboarding {
    background: linear-gradient(135deg, #FFF5F5 0%, #FFF 100%);
    border-left: 4px solid #D41116;
    border-radius: 0 10px 10px 0;
    padding: 16px 20px;
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}
.formation-onboarding strong {
    color: #D41116;
    font-weight: 900;
}
*/
/* KAISSA-COMMENT-END */

/* KAISSA-COMMENT-START [Modules Enquêtopolis contenu] — décommenter pour réactiver
/\* ═══════════════════════════════════════════════════════════════
   MODULES ENQUÊTOPOLIS — Contenu des leçons
   ═══════════════════════════════════════════════════════════════ *\/
/\* Fix wpautop : masquer les <br> dans les grilles CSS (WordPress les ajoute automatiquement) *\/
#popup-content div[style*="grid"] > br,
.lp-lesson-content div[style*="grid"] > br,
.content-item-description div[style*="grid"] > br {
    display: none !important;
}
/\* Grilles d'images responsive : forcer 1fr au lieu de valeurs fixes en mobile *\/
@media (max-width: 767px) {
    #popup-content div[style*="grid-template-columns"],
    .lp-lesson-content div[style*="grid-template-columns"],
    .content-item-description div[style*="grid-template-columns"] {
        grid-template-columns: 1fr 1fr !important;
    }
}

/\* PHASE-1 CLEANUP 2026-05-13 : retiré — Elementor widget Heading gère
Hiérarchie typographique dans le contenu des leçons
#popup-content h2,
.lp-lesson-content h2,
.content-item-description h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 22px !important;
    color: #D41116 !important;
    margin: 30px 0 14px !important;
    line-height: 1.3 !important;
}
#popup-content h3,
.lp-lesson-content h3,
.content-item-description h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #333 !important;
    margin: 24px 0 10px !important;
    line-height: 1.4 !important;
}
*\/

/\* Module Bienvenue *\/
.module-bienvenue h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 25px 0 12px;
}
.module-bienvenue p {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    margin-bottom: 12px;
}
.module-bienvenue .user-prenom {
    color: #D41116;
    font-weight: 700;
}
.module-bienvenue .trombinoscope strong {
    font-size: 13px;
    color: #333;
}

/\* Module Enquêtopolis *\/
.module-enquetopolis h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 900;
    color: #D41116;
    margin-bottom: 20px;
}
.module-enquetopolis h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 25px 0 12px;
}
.module-enquetopolis p {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    margin-bottom: 12px;
}
/\* Texte blanc dans les bandeaux gradient rouge *\/
#popup-content .module-enquetopolis div[style*="linear-gradient"] p,
#popup-content .module-enquetopolis div[style*="linear-gradient"] strong,
.module-enquetopolis div[style*="linear-gradient"] p,
.module-enquetopolis div[style*="linear-gradient"] strong {
    color: #FFFFFF !important;
}
.module-enquetopolis ul {
    margin: 10px 0 15px 20px;
}
.module-enquetopolis li {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 6px;
}
.module-enquetopolis hr {
    border: none;
    border-top: 2px solid #F0F0F0;
    margin: 30px 0;
}

/\* Responsive modules *\/
@media (max-width: 767px) {
    .module-bienvenue .trombinoscope {
        gap: 20px !important;
    }
    .module-bienvenue .trombinoscope > div {
        width: 110px !important;
    }
    .module-enquetopolis .lieux-liste {
        grid-template-columns: 1fr !important;
    }
    .map-grid {
        grid-template-columns: 1fr !important;
    }
}
KAISSA-COMMENT-END */

/* ═══════════════════════════════════════════════════════════════
   CARTE INTERACTIVE ENQUÊTOPOLIS — Concept G (Village serpentin)
   ═══════════════════════════════════════════════════════════════ */

/* Masquer éléments redondants quand la carte est sur la page single course */
/* KAISSA-COMMENT-START [masquage formation-breadcrumb/onboarding sur single course] — audit 18/05/2026 : éléments absents du DOM (V1), masquage redondant. .course-tab-panel-overview conservé (potentiellement actif).
.single-lp_course .course-tab-panel-overview,
.single-lp_course .formation-breadcrumb,
.single-lp_course .formation-onboarding {
    display: none !important;
}
KAISSA-COMMENT-END */
.single-lp_course .course-tab-panel-overview {
    display: none !important;
}
/* KAISSA-COMMENT-START [ID Elementor d2e8d45 sidebar image style] — audit 18/05/2026 : V1 a confirmé d2e8d45 absent du DOM partout. Décommenter pour réactiver.
/* Sidebar : garder l'image du cours visible, styliser le bloc progression */
/*
.single-lp_course .elementor-element-d2e8d45 img {
    border-radius: 10px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
}
*/
/* KAISSA-COMMENT-END */

/* ── Bouton CONTINUER amélioré ── */
.single-lp_course .thim-ekits-course-buttons .button-enroll-course,
.single-lp_course .thim-ekits-course-buttons a {
    background: linear-gradient(135deg, #D41116 0%, #AC1241 100%) !important;
    color: #FFF !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border-radius: 25px !important;
    padding: 14px 35px !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(212,17,22,0.3) !important;
    transition: all 0.3s ease !important;
    display: block !important;
    text-align: center !important;
    width: 100% !important;
}
.single-lp_course .thim-ekits-course-buttons .button-enroll-course:hover,
.single-lp_course .thim-ekits-course-buttons a:hover {
    background: linear-gradient(135deg, #6A0927 0%, #D41116 100%) !important;
    box-shadow: 0 6px 20px rgba(212,17,22,0.4) !important;
    transform: translateY(-2px) !important;
}

/* ── Stats progression améliorées ── */
.single-lp_course .thim-ekits-course-user-progress,
.single-lp_course .course-results-progress {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    color: #333 !important;
    background: #F8F8F8 !important;
    border-radius: 10px !important;
    padding: 16px !important;
    margin-top: 12px !important;
}
.single-lp_course .thim-ekits-course-user-progress strong {
    color: #D41116 !important;
    font-weight: 800 !important;
}

/* Barre de progression visuelle */
.single-lp_course .lp-course-progress .lp-progress-bar {
    background: #EDEDED !important;
    border-radius: 10px !important;
    height: 12px !important;
    overflow: hidden !important;
    margin: 8px 0 !important;
}
.single-lp_course .lp-course-progress .lp-progress-bar span {
    background: linear-gradient(90deg, #D41116, #AC1241) !important;
    border-radius: 10px !important;
    height: 100% !important;
    transition: width 0.6s ease !important;
    position: relative !important;
}
.single-lp_course .lp-course-progress .lp-progress-bar span::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent) !important;
    animation: shimmer 2s ease-in-out infinite !important;
}
@keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

/* Le curriculum LP reste visible sous la carte (liste des modules) */
/* Réduire l'espace blanc au-dessus de la carte */
.single-lp_course .ekits-content-course-tabs {
    padding-top: 10px !important;
    margin-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   CORRECTIONS BATCH — 13 avril 2026
   ═══════════════════════════════════════════════════════════════ */

/* Bandeau titre : padding géré dans le template Elementor 33 (widget 81a9291) */

/* ─── Logo header plus grand ─── */
.elementor-location-header .elementor-widget-image img {
    width: 90px !important;
    height: 90px !important;
    max-width: none !important;
}

/* ─── Bouton Terminer = même style que Suivant ─── */
#popup-content .lp-button.complete-item,
#popup-content .lp-button[data-complete],
#popup-content button.complete-lesson {
    background: #000 !important;
    color: #FFF !important;
    border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 12px 25px !important;
}

/* ─── Page profil : bouton Enregistrer en rouge ─── */
#learn-press-profile input[type="submit"],
#learn-press-profile .lp-button.save {
    background: #D41116 !important;
}
#learn-press-profile input[type="submit"]:hover,
#learn-press-profile .lp-button.save:hover {
    background: #6A0927 !important;
}

/* ─── Page profil : onglets actifs en rouge ─── */
#learn-press-profile .lp-profile-nav .lp-profile-nav-item.active a,
#learn-press-profile .lp-profile-nav .lp-profile-nav-item a:hover {
    color: #D41116 !important;
    border-bottom: 3px solid #D41116 !important;
}
/* Onglets inactifs : meilleur contraste */
#learn-press-profile .lp-profile-nav .lp-profile-nav-item a {
    color: #555 !important;
}

/* ─── Footer : compact, espace de formation ─── */
/* KAISSA-COMMENT-START [footer-padding] — Provoquait une barre blanche entre
   le wrapper <footer> (bg transparent) et son .e-con interne (bg noir).
   À refaire dans Elementor si besoin de compacter. Décommenter pour réactiver.
footer.elementor-location-footer .elementor-element,
footer.elementor-location-footer .e-con {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}
footer.elementor-location-footer {
    padding: 10px 0 !important;
}
footer.elementor-location-footer .e-con-inner {
    gap: 8px !important;
}
@media (max-width: 767px) {
    footer.elementor-location-footer,
    footer.elementor-location-footer .elementor-element,
    footer.elementor-location-footer .e-con {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }
}
KAISSA-COMMENT-END */

/* ─── Learning mode : croix visible en mobile ─── */
@media (max-width: 768px) {
    #popup-header .popup-close,
    #popup-header .lp-btn-close,
    .lp-modal-close {
        position: fixed !important;
        top: 8px !important;
        right: 8px !important;
        z-index: 10000 !important;
        width: 40px !important;
        height: 40px !important;
        font-size: 24px !important;
    }
    /* Boutons Préc./Suivant côte à côte en mobile */
    #popup-footer,
    #popup-footer .course-item-nav,
    .lp-lesson-nav {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 12px 10px !important;
    }
    #popup-footer .course-item-nav .prev,
    #popup-footer .course-item-nav .next {
        margin: 0 !important;
    }
    #popup-footer .course-item-nav .prev a,
    #popup-footer .course-item-nav .next a {
        padding: 8px 14px !important;
        font-size: 12px !important;
    }
}

/* ─── Texte blanc sur tout fond rouge/foncé (sécurité contenu modules) ─── */
#popup-content [style*="background"][style*="D41116"],
#popup-content [style*="background"][style*="d41116"],
#popup-content [style*="background"][style*="6A0927"],
#popup-content [style*="background"][style*="6a0927"],
#popup-content [style*="background"][style*="red"] {
    color: #FFF !important;
}
#popup-content [style*="background"][style*="D41116"] *,
#popup-content [style*="background"][style*="d41116"] *,
#popup-content [style*="background"][style*="6A0927"] *,
#popup-content [style*="background"][style*="6a0927"] *,
#popup-content [style*="background"][style*="red"] * {
    color: #FFF !important;
}

/* ─── Profil : avatar pas coupé par le header fixe ─── */
body.learnpress-page #learn-press-profile,
body.learnpress-page .lp-user-profile {
    padding-top: 20px !important;
}

/* ─── Font-weight 900 sur labels curriculum et bouton Terminé ─── */
.course-section .section-header .section-title {
    font-weight: 900 !important;
}
#popup-content button.complete-lesson,
#popup-content .lp-button.complete-item {
    font-weight: 900 !important;
}

/* ═══════════════════════════════════════════════════════════════
   REFONTE PAGE PROFIL — 13 avril 2026
   ═══════════════════════════════════════════════════════════════ */

/* ─── Masquer le dashboard stats (inutile pour 1 seul cours) ─── */
.learn-press-profile-course__statistic,
.dashboard-statistic__row {
    display: none !important;
}

/* ─── Masquer les onglets redondants (garder seulement "En cours") ─── */
.learn-press-subtab-content .learn-press-filters li {
    display: none !important;
}
.learn-press-subtab-content .learn-press-filters li[data-tab="in-progress"],
.learn-press-subtab-content .learn-press-filters li:first-child {
    display: inline-flex !important;
}
/* Alternative : masquer tous les filtres si un seul cours */
.learn-press-subtab-content .learn-press-filters {
    display: none !important;
}

/* ─── Masquer la miniature pixelisée partout ─── */
/* KAISSA-COMMENT-START [retrait .elementor-element-d2e8d45] — audit 18/05/2026 : ID absent du DOM (V1). Anciennement dans la liste ci-dessous : `.single-lp_course .elementor-element-d2e8d45,`. */
.lp-profile-content .course-img,
.lp-profile-content img[src*="thumbnail"],
.lp-profile-course-progress__item .course-thumbnail,
table.lp-list-table .column-thumbnail,
.single-lp_course .thim-ekit-single-course__image {
    display: none !important;
}
/* KAISSA-COMMENT-END */

/* ─── Bandeau titre rouge cohérent avec les autres pages ─── */
.wrapper-profile-header {
    background: linear-gradient(90deg, #D41116 0%, #6A0927 100%) !important;
    padding: 25px 30px !important;
    margin: 0 !important;
    border-radius: 0 !important;
}
.wrapper-profile-header .lp-profile-username,
.wrapper-profile-header .lp-profile-right h2 {
    color: #FFF !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 22px !important;
    text-transform: uppercase !important;
}
.wrapper-profile-header .lp-profile-left {
    display: none !important; /* Masquer "edit avatar" dans le bandeau */
}

/* ─── Avatar : repositionner sous le bandeau ─── */
.lp-content-area.lp-profile-content-area {
    position: relative !important;
}

/* ─── Menu sidebar : épurer et styler ─── */
.profile-nav,
.lp-profile-nav-tabs {
    background: #FFF !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
    overflow: hidden !important;
    border: none !important;
}
.lp-profile-nav-tabs li {
    border: none !important;
}
.lp-profile-nav-tabs li.active a,
.lp-profile-nav-tabs li.my-courses.active a {
    background: linear-gradient(90deg, #D41116, #6A0927) !important;
    color: #FFF !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    margin: 5px !important;
    border: none !important;
}
.lp-profile-nav-tabs li a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: #555 !important;
    padding: 14px 20px !important;
    transition: all 0.2s !important;
}
.lp-profile-nav-tabs li a:hover {
    color: #D41116 !important;
    background: #FFF0F0 !important;
}

/* ─── Masquer "Mon profil" (inutile, tout est sur la même page) ─── */
.lp-profile-nav-tabs li.settings {
    display: none !important;
}

/* ─── Tableau des cours : design épuré ─── */
.lp-profile-content table,
.lp-list-table {
    border: none !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
}
.lp-profile-content table th,
.lp-list-table th {
    background: #F5F5F5 !important;
    color: #333 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 12px 16px !important;
    border: none !important;
    border-bottom: 2px solid #EDEDED !important;
}
.lp-profile-content table td,
.lp-list-table td {
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 1px solid #F0F0F0 !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}
.lp-profile-content table tr:last-child td {
    border-bottom: none !important;
}

/* ─── Lien du cours en rouge ─── */
.lp-profile-content table td a {
    color: #D41116 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.lp-profile-content table td a:hover {
    color: #6A0927 !important;
    text-decoration: underline !important;
}

/* ═══════════════════════════════════════════════════════════════
   BOUTON UNIQUE FUSIONNÉ — Masquage natifs + nouveau bouton
   ═══════════════════════════════════════════════════════════════ */

/* ── Masquer les boutons natifs LP (TERMINÉ + SUIVANT) ── */
.course-item-nav .next,
#popup-footer .next,
button.lp-btn-complete-item,
button.lp-button.button-complete-lesson,
form.form-button-complete-lesson,
form.learn-press-form.form-button {
    display: none !important;
}

/* ── PRÉC. discret : lien texte simple ── */
.course-item-nav .prev a {
    background: transparent !important;
    border: none !important;
    color: #999 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 8px 12px !important;
    min-height: 36px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: color 0.2s !important;
}
.course-item-nav .prev a:hover {
    color: #555 !important;
    text-decoration: underline !important;
    border: none !important;
    background: transparent !important;
}

/* ── Bouton unique .btn-continuer ── */
.btn-continuer {
    background: #D41116 !important;
    color: #FFF !important;
    border: none !important;
    border-radius: 25px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 14px 30px !important;
    min-height: 48px !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    transition: box-shadow 0.2s, background 0.2s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
}
.btn-continuer:hover:not([disabled]) {
    box-shadow: 0 4px 12px rgba(212, 17, 22, 0.4) !important;
    background: #B00E12 !important;
}
.btn-continuer:focus-visible {
    outline: 3px solid #D41116 !important;
    outline-offset: 3px !important;
}

/* ── Bouton désactivé (vidéo pas terminée) ── */
.btn-continuer[disabled] {
    background: #CCC !important;
    color: #FFF !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

/* ── Responsive : PRÉC. + .btn-continuer côte à côte ── */
@media (max-width: 768px) {
    #popup-footer .course-item-nav {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;
    }
    #popup-footer .btn-continuer {
        width: auto !important;
        flex: 0 1 auto !important;
        font-size: 13px !important;
        padding: 12px 20px !important;
    }
    #popup-footer .course-item-nav .prev {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }
    #popup-footer .course-item-nav .prev a {
        padding: 10px 16px !important;
        font-size: 12px !important;
    }
}

/* KAISSA-COMMENT-START [content-item-summary leçon] — décommenter pour réactiver
/\* Audit UI/UX 2026-04-21 — leçons LearnPress *\/

#popup-content .content-item-summary details {
    background: #FBF7F2;
    border-left: 4px solid #D41116;
    border-radius: 4px;
    padding: 12px 18px;
    margin: 20px 0;
}
#popup-content .content-item-summary details > summary {
    cursor: pointer;
    font-weight: 700;
    color: #6A0927;
    list-style: none;
    padding: 4px 0 4px 0;
    padding-right: 28px;
    position: relative;
}
#popup-content .content-item-summary details > summary::-webkit-details-marker { display: none; }
#popup-content .content-item-summary details > summary::after {
    content: "+";
    position: absolute; right: 4px; top: 50%;
    transform: translateY(-50%);
    font-size: 22px; font-weight: 900; color: #D41116;
    transition: transform .2s;
}
#popup-content .content-item-summary details[open] > summary::after { content: "−"; }
#popup-content .content-item-summary details[open] > summary {
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(212,17,22,.15);
}

#popup-content .content-item-summary h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #D41116;
    text-transform: none;
    margin: 36px 0 12px;
    line-height: 1.3;
}

#popup-content .content-item-summary hr {
    border: 0;
    height: 2px;
    background: linear-gradient(to right, transparent, rgba(212,17,22,.35), transparent);
    margin: 32px auto;
    width: 60%;
    opacity: 1;
}

#popup-content .content-item-summary {
    max-width: 68ch;
    margin: 0 auto;
}

#popup-content .content-item-summary ul {
    list-style: none;
    padding-left: 1.2em;
}
#popup-content .content-item-summary ul > li {
    position: relative;
    padding-left: 0.5em;
    margin-bottom: 6px;
}
#popup-content .content-item-summary ul > li::before {
    content: "";
    position: absolute;
    left: -1em; top: .7em;
    width: 6px; height: 6px;
    background: #D41116;
    border-radius: 50%;
}
KAISSA-COMMENT-END */

/* PRÉC. — border UNIQUEMENT sur le <a>, jamais sur le <li> parent */
#popup-footer .course-item-nav .prev,
#popup-footer .course-item-nav li.prev {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}
#popup-footer .course-item-nav .prev a,
#popup-footer .course-item-nav li.prev a {
    display: inline-block !important;
    border: 2px solid #1A1A1A !important;
    padding: 10px 22px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #1A1A1A !important;
    background: transparent !important;
    text-decoration: none !important;
}
#popup-footer .course-item-nav .prev a:hover,
#popup-footer .course-item-nav li.prev a:hover {
    background: #1A1A1A !important;
    color: #FFF !important;
}

/* KAISSA-COMMENT-START [Citations em + responsive content-item] — décommenter pour réactiver
#popup-content .content-item-summary p > em:only-child {
    display: block;
    text-align: center;
    color: #6A0927;
    font-style: italic;
    padding: 8px 16px;
    border-left: 2px dashed rgba(212,17,22,.3);
    border-right: 2px dashed rgba(212,17,22,.3);
    margin: 16px auto;
    max-width: 40ch;
}

@media (max-width: 480px) {
    #popup-content .content-item-summary { font-size: 15px; }
}
KAISSA-COMMENT-END */
/* Tablette : la sidebar se masque via les classes LP natives body.lp-sidebar-toggle__{open,close},
   on ne force plus de transform translateX qui pousserait la sidebar hors écran. */
@media (min-width: 481px) and (max-width: 1023px) {
    body.lp-sidebar-toggle__close #popup-sidebar { transform: translateX(-100%); }
    body.lp-sidebar-toggle__open #popup-sidebar { transform: none; }
}

@media (max-width: 768px) {
    .learn-press-course-tab__filter__content { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .learn-press-course-tab__filter__content table { min-width: 600px; }
}

/* ═══════════════════════════════════════════════════════════════
   PAGE PROFIL /mon-compte/ — fixes mobile (audit indé)
   ═══════════════════════════════════════════════════════════════ */

/* Sidebar nav profil : empêcher chevauchement des onglets */
#learn-press-profile .lp-profile-nav,
.learn-press-profile-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
#learn-press-profile .lp-profile-nav-tabs,
#learn-press-profile ul.lp-profile-nav-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#learn-press-profile .lp-profile-nav-tabs li,
#learn-press-profile .lp-profile-nav-item {
    display: block !important;
    width: auto !important;
    flex: 0 0 auto !important;
}

/* Table récap cours : scroll horizontal sur mobile */
@media (max-width: 767px) {
    #learn-press-profile,
    .learn-press-profile {
        padding: 12px !important;
    }
    #learn-press-profile .lp-profile-content,
    .learn-press-profile-content {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    #learn-press-profile table,
    .learn-press-profile table,
    #learn-press-profile .profile-course-progress table {
        min-width: 640px !important;
        font-size: 13px !important;
    }
    #learn-press-profile .lp-profile-nav-tabs li,
    #learn-press-profile .lp-profile-nav-item {
        flex: 1 1 45% !important;
        text-align: center !important;
    }
    #learn-press-profile .lp-profile-nav-tabs li a,
    #learn-press-profile .lp-profile-nav-item a {
        padding: 8px 10px !important;
        font-size: 12px !important;
        white-space: normal !important;
    }
}

/* KAISSA-COMMENT-START [Mini menu utilisateur .fl-user-menu] — audit 18/05/2026 : V1 a confirmé 0 occurrence .fl-user-menu dans le DOM sur toutes pages (cours/leçon/profil). Le menu réel utilise .elementor-item natif Elementor. Décommenter pour réactiver.
/* ─── Mini menu utilisateur (fix B2) — visible sur pages cours/leçon ─── */
/*
.fl-user-menu {
    position: fixed;
    top: 10px;
    right: 12px;
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 999px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.fl-user-menu .fl-user-name {
    font-weight: 600;
    color: #333;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.fl-user-menu .fl-user-link {
    color: #6A0927;
    text-decoration: none;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 999px;
    transition: background 0.2s ease, color 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.fl-user-menu .fl-user-link:hover {
    background: #6A0927;
    color: #fff;
}
.fl-user-menu .fl-user-logout {
    color: #D41116;
}
.fl-user-menu .fl-user-logout:hover {
    background: #D41116;
    color: #fff;
}
@media (max-width: 767px) {
    .fl-user-menu {
        top: 6px;
        right: 6px;
        padding: 4px 8px;
        gap: 4px;
        font-size: 11px;
    }
    .fl-user-menu .fl-user-name {
        display: none;
    }
    .fl-user-menu .fl-user-link span {
        display: none;
    }
}
*/
/* KAISSA-COMMENT-END */

/* ─── Footer mobile : logos côte à côte (fix M1) ─── */
@media (max-width: 767px) {
    footer.elementor-location-footer .e-con,
    footer.elementor-location-footer .e-con-inner {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
    }
    footer.elementor-location-footer .elementor-widget-image {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: 32% !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   FIXES VAGUE 3 — 21 avril 2026
   ═══════════════════════════════════════════════════════════════ */

/* ─── 3. Sidebar popup leçon : bouton toggle cliquable sur tablet/desktop ─── */
/* IMPORTANT : NE PAS cibler .lp-sidebar-toggle__close / __open nus — LearnPress
   ajoute ces classes sur <body> pour signaler l'état, donc `display: inline-flex`
   mettait le body en flex row et projetait le footer en sidebar droite (bug
   desktop ≥1200). On scope strictement au bouton dans #popup-header. */
@media (min-width: 768px) {
    #popup-header .lp-sidebar-toggle,
    #popup-header .lp-sidebar-toggle__open,
    #popup-header .lp-sidebar-toggle__close,
    button.lp-sidebar-toggle,
    a.lp-sidebar-toggle {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        cursor: pointer !important;
        z-index: 10001 !important;
    }
}

/* KAISSA-COMMENT-START [.fl-user-menu toggle popup leçon] — audit 18/05/2026 : élément absent du DOM (V1) — règle morte. Décommenter pour réactiver.
/* ─── 4. Menu utilisateur : visible UNIQUEMENT dans le popup leçon immersive ─── */
/* Sur /courses/ et /lp-profile/ le header Elementor est visible et suffit.
   Dans le popup leçon, le header Elementor est caché, d'où le besoin de ce menu. */
/*
.fl-user-menu {
    display: none !important;
}
body.course-item-popup .fl-user-menu,
body.learnpress-popup-open .fl-user-menu,
body.course-item-popup-activated .fl-user-menu,
body.lp-body-item-popup .fl-user-menu,
.course-item-popup .fl-user-menu {
    display: flex !important;
}
*/
/* KAISSA-COMMENT-END */

/* KAISSA-COMMENT-START [padding-top 130px/90px profile] — audit 18/05/2026 : règle inerte. Commentaire d'origine parle de "header fixed 110px" — refacto 14/05/2026 a passé le header en sticky (cf docs/header-sticky-refactor.md), et un override ultérieur (lignes ~3988-3992) force padding-top:0 sur les mêmes sélecteurs. Cette règle ne s'applique JAMAIS (vérifié via Chrome computedStyle = 0px). Décommenter pour réactiver.
/* ─── 5. Page /mon-compte/ : header fixed 110px masque le H2 — push content down ─── */
/*
body.learnpress-profile #learn-press-profile,
body.learnpress-profile .site-main,
body.learnpress-profile main#content,
body.learnpress-profile .lp-profile-content-area {
    padding-top: 130px !important;
}
@media (max-width: 767px) {
    body.learnpress-profile #learn-press-profile,
    body.learnpress-profile .site-main,
    body.learnpress-profile main#content,
    body.learnpress-profile .lp-profile-content-area {
        padding-top: 90px !important;
    }
}
*/
/* KAISSA-COMMENT-END */

/* ─── 6. Footer : logos plus gros + padding ultra-réduit ─── */
.elementor-location-footer .elementor-widget-image img,
body .elementor-location-footer .elementor-element .elementor-widget-image img,
body .elementor-location-footer .elementor-element.elementor-widget-image img {
    width: 90px !important;
    max-width: 90px !important;
}
/* KAISSA-COMMENT-START [footer-padding-compact] — 3e occurrence du padding 6px
   sur wrapper footer (cause de la barre blanche). Décommenter pour réactiver.
footer.elementor-location-footer,
footer.elementor-location-footer .elementor-element,
footer.elementor-location-footer .e-con {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}
footer.elementor-location-footer .e-con-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 6px !important;
}
footer.elementor-location-footer .elementor-widget {
    padding: 0 !important;
    margin: 0 !important;
}
footer.elementor-location-footer .elementor-widget-image,
footer.elementor-location-footer .elementor-widget-text-editor,
footer.elementor-location-footer .elementor-widget-heading {
    padding: 0 !important;
    margin: 0 !important;
}
@media (max-width: 767px) {
    .elementor-location-footer .elementor-widget-image img,
    body .elementor-location-footer .elementor-element .elementor-widget-image img,
    body .elementor-location-footer .elementor-element.elementor-widget-image img {
        width: 70px !important;
        max-width: 70px !important;
    }
    footer.elementor-location-footer,
    footer.elementor-location-footer .elementor-element,
    footer.elementor-location-footer .e-con,
    footer.elementor-location-footer .e-con-inner {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
}
KAISSA-COMMENT-END */

/* ─── 7. Boutons nav profil : fond plat, pas de gradient baveux ─── */
#learn-press-profile .lp-profile-nav-tabs li a,
#learn-press-profile .lp-profile-nav-item a,
.lp-profile-nav-tabs li a {
    background: #F5F5F5 !important;
    color: #333 !important;
    padding: 12px 18px !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: none !important;
    box-shadow: none !important;
    background-image: none !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    transition: background 0.2s, color 0.2s !important;
}
#learn-press-profile .lp-profile-nav-tabs li a:hover,
#learn-press-profile .lp-profile-nav-item a:hover,
.lp-profile-nav-tabs li a:hover {
    background: rgba(212,17,22,0.08) !important;
    color: #D41116 !important;
    background-image: none !important;
}
#learn-press-profile .lp-profile-nav-tabs li.active a,
#learn-press-profile .lp-profile-nav-item.active a,
.lp-profile-nav-tabs li.active a,
.lp-profile-nav-tabs li.my-courses.active a {
    background: #D41116 !important;
    background-image: none !important;
    color: #FFF !important;
    border: none !important;
    box-shadow: none !important;
}
/* Supprimer tout pseudo-element ">" parasite sur les items du menu profil */
#learn-press-profile .lp-profile-nav-tabs li a::after,
#learn-press-profile .lp-profile-nav-item a::after,
.lp-profile-nav-tabs li a::after {
    content: none !important;
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   FIXES VAGUE 4 — 21 avril 2026 (audit UX + a11y)
   ═══════════════════════════════════════════════════════════════ */

/* ─── V4.1 + V4.2 — Bouton CONTINUER + hiérarchie SUIVANTE/PRÉC. ─── */
/* Bouton CONTINUER (sidebar cours) : rouge primary plein */
.lp-button.course-btn-continue,
a.lp-button.course-btn-continue,
.learnpress .lp-button.course-btn-continue,
.lp-single-course .lp-button.course-btn-continue,
#learn-press-profile .lp-button.course-btn-continue {
    background: #D41116 !important;
    background-image: none !important;
    color: #FFF !important;
    border: none !important;
}
.lp-button.course-btn-continue:hover,
a.lp-button.course-btn-continue:hover,
.learnpress .lp-button.course-btn-continue:hover {
    background: #6A0927 !important;
    background-image: none !important;
    color: #FFF !important;
    box-shadow: 0 2px 10px rgba(212,17,22,0.3) !important;
}

/* SUIVANTE (primary) : rouge plein, pas noir */
#popup-footer .course-item-nav .next a,
.course-item-nav .next a {
    background: #D41116 !important;
    background-image: none !important;
    color: #FFF !important;
    border: none !important;
}
#popup-footer .course-item-nav .next a:hover,
.course-item-nav .next a:hover {
    background: #6A0927 !important;
    background-image: none !important;
    box-shadow: 0 2px 10px rgba(212,17,22,0.3) !important;
}

/* PRÉC. (secondary) : outline noir 2px fond transparent */
#popup-footer .course-item-nav .prev a,
.course-item-nav .prev a {
    background: transparent !important;
    background-image: none !important;
    color: #1A1A1A !important;
    border: 2px solid #1A1A1A !important;
}
#popup-footer .course-item-nav .prev a:hover,
.course-item-nav .prev a:hover {
    background: #1A1A1A !important;
    color: #FFF !important;
    border-color: #1A1A1A !important;
}

/* ─── V4.3 — Focus visible global (a11y clavier) ─── */
body.single-lp_course *:focus-visible,
body.single-lp_lesson *:focus-visible,
body.single-lp_quiz *:focus-visible,
body.learnpress-profile *:focus-visible,
body.learnpress-page *:focus-visible,
body.post-type-archive-lp_course *:focus-visible,
body.course-item-popup *:focus-visible,
body.lp-body-item-popup *:focus-visible,
body.page-id-8 *:focus-visible,
body.home *:focus-visible {
    outline: 2px solid #D41116 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 4px rgba(212,17,22,0.2) !important;
}
/* KAISSA-COMMENT-START [.fl-user-menu focus-visible] — audit 18/05/2026 : élément absent du DOM (V1). Décommenter pour réactiver.
/*
.fl-user-menu a:focus-visible,
.fl-user-menu button:focus-visible {
    outline: 2px solid #D41116 !important;
    outline-offset: 2px !important;
}
*/
/* KAISSA-COMMENT-END */

/* ─── V4.4 — Footer : contraste liens (crème sur noir, AA ≥ 4.5:1) ─── */
body footer.elementor-location-footer a,
body footer.elementor-location-footer a:link,
body footer.elementor-location-footer a:visited,
body footer.elementor-location-footer p a,
body footer.elementor-location-footer .elementor-widget-text-editor a,
body footer.elementor-location-footer .elementor-widget-heading a {
    color: #FBF7F2 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
body footer.elementor-location-footer a:hover,
body footer.elementor-location-footer a:focus {
    color: #FFA8AB !important;
    text-decoration: underline !important;
}

/* ─── V4.5 — Sidebar profil actif : aplat rouge, pas de gradient boîte-dans-boîte ─── */
#learn-press-profile .lp-profile-nav-tabs li.active a,
#learn-press-profile .lp-profile-nav-item.active a,
.lp-profile-nav-tabs li.active a,
.lp-profile-nav-tabs li.my-courses.active a,
#learn-press-profile .lp-profile-nav .lp-profile-nav-item.active a {
    background: #D41116 !important;
    background-image: none !important;
    color: #FFF !important;
    border-left: 3px solid #6A0927 !important;
    box-shadow: none !important;
}

/* KAISSA-COMMENT-START [V4.6 .fl-user-menu font + focus] — audit 18/05/2026 : élément absent du DOM (V1). Décommenter pour réactiver.
/* ─── V4.6 — fl-user-menu : font 14px + focus-visible ─── */
/*
.fl-user-menu,
.fl-user-menu a,
.fl-user-menu span {
    font-size: 14px !important;
}
@media (max-width: 767px) {
    .fl-user-menu,
    .fl-user-menu a,
    .fl-user-menu span {
        font-size: 13px !important;
    }
}
.fl-user-menu a:focus-visible {
    outline: 2px solid #D41116 !important;
    outline-offset: 2px !important;
    border-radius: 999px;
}
*/
/* KAISSA-COMMENT-END */

/* ─── V4.8 — Page mon-compte : H1/H2 forcés sur fond clair (pas blanc sur blanc)
   Scope: UNIQUEMENT hors du bandeau rouge (wrapper-profile-header).
   Cible #learn-press-profile et .lp-profile-content-area qui sont les zones blanches
   sous le bandeau. Le h2 "Test Enquêteur" reste blanc (dans .wrapper-profile-header
   rouge) grâce au rule natif `.wrapper-profile-header .lp-profile-right h2` du plugin. */
body.learnpress-profile #learn-press-profile h1:not(.lp-profile-username),
body.learnpress-profile #learn-press-profile h2:not(.lp-profile-username),
body.learnpress-profile .lp-profile-content-area > h1,
body.learnpress-profile .lp-profile-content-area > h2,
body.learnpress-profile .page-content > h1,
body.learnpress-profile .page-content > h2 {
    color: #1A1A1A !important;
}

/* ─── V4.9 — Hiérarchie h2/h3 sur page cours (inversion actuelle) ───
   Restreint aux H2 natifs LP (titres cours/section), n'attaque pas
   les H2 Elementor à l'intérieur du contenu d'une leçon. */
.single-lp_course .learn-press-course-title,
.single-lp_course .learn-press-course-title h2,
.single-lp_course .entry-title,
body.single-lp_course h2.entry-title {
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.3px !important;
}
.single-lp_course .course-curriculum h3,
.single-lp_course .lp-course-curriculum h3,
.single-lp_course .course-tab-panel h3,
.single-lp_course .section-header h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

/* ─── V4.10 — Popup : garantir que .back-course reste au-dessus du menu ─── */
body.course-item-popup #popup-header a.back-course,
body.lp-body-item-popup #popup-header a.back-course,
.course-item-popup #popup-header a.back-course {
    z-index: 10002 !important;
    pointer-events: auto !important;
}

/* ─── V4.13 — Carte Enquêtopolis : TOUS les bâtiments actifs (grisage 8/9 retiré) ─── */
/* Les règles V4.11 qui grisaient les bâtiments 8 et 9 ont été supprimées :
   tous les modules du niveau 1 sont désormais ouverts. */

/* ─── V4.12 — Footer : padding vertical radical (élimination espace noir) ─── */
/* KAISSA-COMMENT-START [footer-padding-V4.12] — Cause de la barre blanche entre
   le wrapper <footer> (bg transparent) et son .e-con interne (bg noir).
   Le wrapper footer recevait 6px top + 6px bottom, laissant voir le body en blanc.
   À refaire dans Elementor si besoin de compacter. Décommenter pour réactiver.
body footer.elementor-location-footer,
body footer.elementor-location-footer > *,
body footer.elementor-location-footer .e-con,
body footer.elementor-location-footer .e-con-inner,
body footer.elementor-location-footer section,
body footer.elementor-location-footer .elementor-section,
body footer.elementor-location-footer .elementor-container,
body footer.elementor-location-footer .elementor-column,
body footer.elementor-location-footer .elementor-column-wrap,
body footer.elementor-location-footer .elementor-widget-wrap {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
}
body footer.elementor-location-footer .elementor-widget:last-child,
body footer.elementor-location-footer .e-con:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
KAISSA-COMMENT-END */

/* ===============================================================
   FIXES VAGUE 5 — 21 avril 2026 (progression, social fields, divers)
   =============================================================== */

/* ─── V5.1 — Widget progression /mon-compte/ ─── */
.fl-progress-widget {
    margin: 0 0 24px 0;
    padding: 18px 20px;
    background: #FBF7F2;
    border-left: 4px solid #D41116;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.fl-progress-widget h3 {
    margin: 0 0 10px 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.fl-progress-widget .fl-pb {
    position: relative;
    width: 100%;
    height: 10px;
    background: #EDE6DC;
    border-radius: 5px;
    overflow: hidden;
}
.fl-progress-widget .fl-pb-fill {
    position: absolute;
    top: 0; left: 0; bottom: 0;
    background: linear-gradient(90deg, #D41116 0%, #6A0927 100%);
    border-radius: 5px;
    transition: width .4s ease;
}
.fl-progress-widget .fl-pb-meta {
    margin: 8px 0 0 0 !important;
    font-size: 14px !important;
    color: #1A1A1A !important;
}
.fl-progress-widget .fl-pb-meta strong {
    color: #D41116;
    font-size: 16px;
}
@media (max-width: 767px) {
    .fl-progress-widget { padding: 14px 14px; margin-bottom: 16px; }
    .fl-progress-widget h3 { font-size: 15px !important; }
    .fl-progress-widget .fl-pb-meta { font-size: 13px !important; }
}

/* ─── V5.2 — Masquer les champs réseaux sociaux du profil ─── */
/* Facebook/Twitter(X)/YouTube/LinkedIn : non pertinents pour un enquêteur */
.learn-press-form .form-field__profile-social,
.lp-form-settings .form-field__profile-social,
body.learnpress-profile li.form-field__profile-social,
body.learnpress-profile li.form-field__facebook,
body.learnpress-profile li.form-field__twitter,
body.learnpress-profile li.form-field__youtube,
body.learnpress-profile li.form-field__linkedin {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   FIXES VAGUE 6 — 21 avril 2026 — REFONTE /mon-compte/
   Cible : bandeau compact, sidebar uniforme, nettoyage halo actif,
   tableau pleine largeur, hiérarchie H2 "Ma formation en cours".
   ═══════════════════════════════════════════════════════════════ */

/* ─── V6.1 — Bandeau rouge compact ~120px avec avatar inline ─── */
body.learnpress-profile .wrapper-profile-header {
    display: flex !important;
    align-items: center !important;
    min-height: 120px !important;
    height: auto !important;
    padding: 20px 40px !important;
}
body.learnpress-profile .wrapper-profile-header .lp-content-area.lp-profile-content-area {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Réaffiche lp-profile-left (avatar) — la règle V4.x le masquait */
body.learnpress-profile .wrapper-profile-header .lp-profile-left {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.learnpress-profile .wrapper-profile-header .lp-profile-left .user-avatar {
    width: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}
body.learnpress-profile .wrapper-profile-header .lp-profile-left .user-avatar img.avatar {
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    border: 3px solid rgba(255,255,255,0.85) !important;
    object-fit: cover !important;
    display: block !important;
}
/* Masquer le lien "+ modifier la photo de profil" dans le bandeau */
body.learnpress-profile .wrapper-profile-header .lp-btn-to-edit-avatar {
    display: none !important;
}
body.learnpress-profile .wrapper-profile-header .lp-profile-right {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.learnpress-profile .wrapper-profile-header .lp-profile-username {
    margin: 0 !important;
    line-height: 1.2 !important;
    font-size: 22px !important;
}
/* Sous-titre "Enquêteur CNPA" via ::after sur le h2 */
body.learnpress-profile .wrapper-profile-header .lp-profile-username::after {
    content: "Enquêteur CNPA";
    display: block;
    margin-top: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 13px;
    color: rgba(255,255,255,0.85);
    text-transform: none;
    letter-spacing: 0.3px;
}
/* Masquer la bande "cover image" vide au-dessus du bandeau */
body.learnpress-profile .lp-user-cover-image_background {
    display: none !important;
}

/* ─── V6.2 — Sidebar nav : tous les li uniformes, pas de halo ─── */
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs,
body.learnpress-profile #learn-press-profile ul.lp-profile-nav-tabs {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
}
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li,
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li.active,
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li.my-courses,
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li.my-courses.active,
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li.settings,
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li.logout {
    display: block !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    background: #F5F5F5 !important;
    background-image: none !important;
    color: #1A1A1A !important;
    border: none !important;
    border-left: 3px solid transparent !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    transition: background .2s, color .2s, border-color .2s !important;
}
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li > a i,
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li > a [class^="lp-icon-"] {
    color: inherit !important;
    flex: 0 0 auto !important;
}
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li:hover > a {
    background: rgba(212,17,22,0.08) !important;
    color: #1A1A1A !important;
}
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li.active > a,
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li.my-courses.active > a {
    background: #D41116 !important;
    background-image: none !important;
    color: #FFF !important;
    border-left: 3px solid #6A0927 !important;
    box-shadow: none !important;
}
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li.active > a i,
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li.my-courses.active > a i {
    color: #FFF !important;
}
/* Masquer les sous-menus de "Mon profil" dans la sidebar (déjà masqué via .settings) */
body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs .profile-tab-sections {
    display: none !important;
}

/* ─── V6.3 — Content area + tableau pleine largeur ─── */
body.learnpress-profile .lp-profile-content {
    padding: 24px 28px !important;
}
body.learnpress-profile .lp-profile-content .learn-press-course-tab__filter__content {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
}
body.learnpress-profile .lp-profile-content table.lp_profile_course_progress,
body.learnpress-profile .lp-profile-content .lp-list-table {
    width: 100% !important;
    table-layout: auto !important;
    min-width: 0 !important;
}
/* Retirer nowrap forcé sur cellule titre — laisser wrapper naturellement */
body.learnpress-profile .lp-profile-content table.lp_profile_course_progress td,
body.learnpress-profile .lp-profile-content table.lp_profile_course_progress th {
    white-space: normal !important;
    vertical-align: middle !important;
}
body.learnpress-profile .lp-profile-content table.lp_profile_course_progress .course-title {
    display: inline-block !important;
    white-space: normal !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    max-width: none !important;
}
/* Première colonne (miniature masquée) : largeur 0 */
body.learnpress-profile .lp-profile-content table.lp_profile_course_progress th:first-child,
body.learnpress-profile .lp-profile-content table.lp_profile_course_progress td:first-child {
    width: 0 !important;
    padding: 0 !important;
    display: none !important;
}

/* ─── V6.4 — Titre H2 "Ma formation en cours" au-dessus du tableau ─── */
body.learnpress-profile .lp-profile-content .learn-press-profile-course__tab::before {
    content: "Ma formation en cours";
    display: block;
    margin: 8px 0 14px 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #1A1A1A;
    padding-bottom: 8px;
    border-bottom: 2px solid #EDEDED;
}
/* Masquer l'ancien filtre "Historique complet / En cours / Terminé…" (redondant, 1 seule formation) */
body.learnpress-profile .lp-profile-content .learn-press-course-tab-filters .learn-press-tabs {
    display: none !important;
}
/* Masquer le dashboard statistique (5 boîtes Cours inscrits / En cours / Terminé…) — redondant avec widget progression */
body.learnpress-profile .lp-profile-content #dashboard-statistic {
    display: none !important;
}

/* ─── V6.5 — Widget progression : lien visuel avec le tableau ─── */
body.learnpress-profile .lp-profile-content .fl-progress-widget {
    margin: 0 0 28px 0 !important;
}

/* ─── V6.6 — Responsive mobile 390 ─── */
@media (max-width: 767px) {
    body.learnpress-profile .wrapper-profile-header {
        min-height: 80px !important;
        padding: 12px 20px !important;
    }
    body.learnpress-profile .wrapper-profile-header .lp-profile-left,
    body.learnpress-profile .wrapper-profile-header .lp-profile-left .user-avatar,
    body.learnpress-profile .wrapper-profile-header .lp-profile-left .user-avatar img.avatar {
        width: 52px !important;
        height: 52px !important;
    }
    body.learnpress-profile .wrapper-profile-header .lp-profile-username {
        font-size: 16px !important;
    }
    body.learnpress-profile .wrapper-profile-header .lp-profile-username::after {
        font-size: 11px;
    }
    body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs {
        flex-direction: column !important;
    }
    body.learnpress-profile #learn-press-profile .lp-profile-nav-tabs > li {
        flex: 0 0 auto !important;
        width: 100% !important;
    }
    body.learnpress-profile .lp-profile-content {
        padding: 16px !important;
    }
    body.learnpress-profile .lp-profile-content table.lp_profile_course_progress,
    body.learnpress-profile .lp-profile-content .lp-list-table {
        font-size: 13px !important;
    }
    body.learnpress-profile .lp-profile-content .learn-press-profile-course__tab::before {
        font-size: 16px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   FIXES VAGUE 7 — 21 avril 2026 (retours user)
   ═══════════════════════════════════════════════════════════════ */

/* ─── V7.1 — Sidebar profil : retirer cadre blanc autour des 3 boutons ─── */
body.learnpress-profile #learn-press-profile .profile-nav,
body.learnpress-profile #learn-press-profile aside .profile-nav,
body.learnpress-profile #learn-press-profile .lp-profile-sidebar,
body.learnpress-profile .lp-profile-sidebar,
body.learnpress-profile #learn-press-profile .lp-profile-nav {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* ─── V7.2 — Bandeau profil : titre/sous-titre à gauche à côté de l'avatar ─── */
body.learnpress-profile .wrapper-profile-header,
body.learnpress-profile .wrapper-profile-header .lp-content-area.lp-profile-content-area {
    justify-content: flex-start !important;
}
body.learnpress-profile .wrapper-profile-header .lp-profile-right {
    align-items: flex-start !important;
    text-align: left !important;
}
body.learnpress-profile .wrapper-profile-header .lp-profile-username,
body.learnpress-profile .wrapper-profile-header h2 {
    text-align: left !important;
}
body.learnpress-profile .wrapper-profile-header .lp-profile-username::after {
    text-align: left !important;
}

/* Padding-top profil retiré : header sticky → le bandeau rouge se cale
   directement sous le header sans compensation. */
body.learnpress-profile main#content,
body.learnpress-profile main#content.site-main {
    padding-top: 0 !important;
}
body.learnpress-profile #learn-press-profile,
body.learnpress-profile .lp-profile-content-area,
body.learnpress-profile .lp-user-profile {
    padding-top: 0 !important;
}

/* ─── Sticky footer — body flex column ────────────────────────────
 * Garantit que le footer colle au bas du viewport même quand le contenu
 * est très court (page profil instructor, 404, etc.). Le contenu central
 * pousse le footer en bas via `flex: 1`. Avec ce pattern, plus aucune
 * "barre blanche" ni zone blanche visible sous le footer. */
html, body { min-height: 100vh; }
body {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
/* Le contenu central (Elementor page, LP archive, template custom) prend
   tout l'espace disponible entre header et footer. Tous les conteneurs
   directs de body autres que header/footer/script/style sont éligibles. */
body > .elementor:not(.elementor-location-header):not(.elementor-location-footer),
body > main,
body > #content {
    /* KAISSA-COMMENT-START 2026-05-17 : sélecteur .fl-pwd-wrap retiré ici (commenté ci-dessous).
       Le template page-mot-de-passe-oublie.php a été supprimé (refacto Elementor 17/05/2026),
       la page /mot-de-passe-oublie/ utilise désormais un widget HTML Elementor — couvert par
       le 1er sélecteur (body > .elementor:not(...)) au-dessus.
       Ancien sélecteur supprimé de la liste : body > .fl-pwd-wrap
       KAISSA-COMMENT-END */
    flex: 1 0 auto !important;
}
body > footer.elementor-location-footer {
    flex-shrink: 0 !important;
    margin-bottom: 0 !important;
}

/* ─── V7.5 — Logo CNPA footer plus grand ─── */
footer.elementor-location-footer .elementor-widget-image img {
    width: 110px !important;
    max-width: 110px !important;
    height: auto !important;
}
@media (max-width: 767px) {
    footer.elementor-location-footer .elementor-widget-image img {
        width: 80px !important;
        max-width: 80px !important;
    }
}

/* ─── V7.6 — Login : un seul focus (supprimer double border) ─── */
/* Neutraliser le :focus-visible global qui double le border rouge sur le form de connexion */
body.home :focus-visible,
body.home .fl-login-card :focus-visible,
body.home input:focus-visible,
body.home input:focus {
    outline: none !important;
    box-shadow: none !important;
}
body.home .fl-login-card .fl-field input:focus,
body.home .fl-login-card .fl-field input:focus-visible {
    border: 2px solid #D41116 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* ─── V7.7 — Masquer MON COMPTE / MA FORMATION dans header si non connecté ─── */
body:not(.logged-in) header.elementor-location-header .elementor-element:has(> a[href="/lp-profile/"]),
body:not(.logged-in) header.elementor-location-header .elementor-element:has(> a[href="/courses/"]),
body:not(.logged-in) header.elementor-location-header .elementor-widget:has(a[href="/lp-profile/"]),
body:not(.logged-in) header.elementor-location-header .elementor-widget:has(a[href="/courses/"]),
body:not(.logged-in) header.elementor-location-header a[href="/lp-profile/"],
body:not(.logged-in) header.elementor-location-header a[href="/courses/"],
body:not(.logged-in) header.elementor-location-header a[href*="/mon-compte/"],
body:not(.logged-in) header.elementor-location-header a[href*="/my-courses/"] {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   FIXES VAGUE 8 — 21 avril 2026 — Header compact + logo qui dépasse
   Technique identique à 3677.fr : bande header ~65px, logo 90px en
   position absolute top:0 qui déborde (overflow:visible) sous la bande.
   ═══════════════════════════════════════════════════════════════ */

/* Header bar compact : 65px au lieu de 110px */
header.elementor-location-header,
header.elementor-location-header > .e-con,
header.elementor-location-header > .e-con.e-parent {
    min-height: 65px !important;
    height: 65px !important;
    overflow: visible !important;
}

/* Les colonnes internes (header-left / header-right) : hauteur alignée à la bande */
header.elementor-location-header > .e-con > .e-con,
header.elementor-location-header .e-con.e-child {
    min-height: 65px !important;
    overflow: visible !important;
    align-items: center !important;
}

/* Widget logo : position absolute pour déborder vers le bas comme sur 3677.fr */
header.elementor-location-header .elementor-widget-image:has(img[src*="LogoFull"]),
header.elementor-location-header .elementor-element-b4161ad {
    position: absolute !important;
    top: 0 !important;
    left: 20px !important;
    height: 90px !important;
    width: auto !important;
    z-index: 10 !important;
}

/* Logo image plus grande que la bande — 90px (déborde de 25px) */
header.elementor-location-header .elementor-widget-image img {
    width: 90px !important;
    height: 90px !important;
    max-width: none !important;
}

/* Réserver la place du logo absolu dans la colonne de gauche */
header.elementor-location-header .elementor-element-3ae473c {
    padding-left: 125px !important; /* 20px (offset logo) + 90px (logo) + 15px gap */
}

/* Padding body : NON requis depuis passage du header en sticky (cf. ligne ~10).
   Le header reste en haut au scroll mais pousse le contenu naturellement. */

/* Page profil /mon-compte/ : pas de padding-top spécifique — header sticky
   gère le décalage. Le bandeau rouge commence directement sous le header. */

/* Mobile : logo légèrement plus petit, padding ajusté */
@media (max-width: 767px) {
    header.elementor-location-header,
    header.elementor-location-header > .e-con,
    header.elementor-location-header > .e-con.e-parent {
        min-height: 60px !important;
        height: 60px !important;
    }
    header.elementor-location-header > .e-con > .e-con,
    header.elementor-location-header .e-con.e-child {
        min-height: 60px !important;
    }
    header.elementor-location-header .elementor-widget-image:has(img[src*="LogoFull"]),
    header.elementor-location-header .elementor-element-b4161ad {
        height: 75px !important;
        left: 10px !important;
    }
    header.elementor-location-header .elementor-widget-image img {
        width: 75px !important;
        height: 75px !important;
    }
    header.elementor-location-header .elementor-element-3ae473c {
        padding-left: 95px !important;
    }
    /* padding-top body mobile retiré : header sticky gère le décalage */
}

/* Popup leçon LearnPress : le header principal est caché sur single-lp_course
   en mode popup (voir règle existante ligne 1806), donc rien à ajuster ici. */

/* ═══════════════════════════════════════════════════════════════
   FIXES VAGUE 20 — Refonte widget "CONTINUER + stats" (sidebar cours)
   Structure DOM (Elementor ThimPress kit) :
     .elementor-element-117d0d5 (container — la "card")
       └─ .thim-ekit-single-course__buttons            (bouton CONTINUER)
       └─ .thim-ekit-single-course__user-progress      (3 items: leçons, quiz, progression)
   Option B : pure CSS, pas de modif HTML.
   21 avril 2026
   ═══════════════════════════════════════════════════════════════ */

/* KAISSA-COMMENT-START [ID 117d0d5 — card wrapper + réordonnancement widgets sidebar] — audit 18/05/2026 : V1 a confirmé .elementor-element-117d0d5 absent du DOM partout. Probable refonte du template Elementor sans nettoyage CSS. Décommenter pour réactiver.
/* ─── Card wrapper : le container Elementor qui regroupe les 3 widgets ─── */
/*
body.single-lp_course .elementor-element.elementor-element-117d0d5 {
    background: #FFFFFF !important;
    border: 1px solid #EAEAEA !important;
    border-radius: 16px !important;
    padding: 24px 22px !important;
    box-shadow: 0 2px 14px rgba(0,0,0,0.05) !important;
    gap: 18px !important;
    max-width: 400px !important;
    flex-direction: column !important;
}
*/

/* Réordonner les 3 widgets Elementor : progress au-dessus, boutons en bas */
/*
body.single-lp_course .elementor-element-117d0d5 > .elementor-widget-thim-ekits-course-user-progress { order: 1 !important; }
body.single-lp_course .elementor-element-117d0d5 > .elementor-widget-thim-ekits-course-buttons { order: 2 !important; }
body.single-lp_course .elementor-element-117d0d5 > .elementor-widget-thim-ekits-course-extra { order: 3 !important; }
*/
/* KAISSA-COMMENT-END */

/* ─── Bloc progression (réordonné : % gros + barre + stats) ─── */
body.single-lp_course .thim-ekit-single-course__user-progress {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* Les 3 items en flex, on va les réordonner via order */
body.single-lp_course .thim-ekit-single-course__user-progress__item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #1A1A1A !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Item 1 : Leçons terminées → "✓ 2/48 leçons" — ordre 2 */
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(1) {
    order: 2;
    font-weight: 600 !important;
}
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(1)::before {
    content: "\2713"; /* ✓ */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: #D41116;
    color: #FFF;
    border-radius: 999px;
    font-weight: 900;
    font-size: 12px;
    flex-shrink: 0;
}

/* Item 2 : Quiz terminés → "✓ 1/1 quiz" — ordre 3 */
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(2) {
    order: 3;
    font-weight: 600 !important;
}
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(2)::before {
    content: "\2713";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: #D41116;
    color: #FFF;
    border-radius: 999px;
    font-weight: 900;
    font-size: 12px;
    flex-shrink: 0;
}

/* Item 3 : Progression → % géant au-dessus + barre épaisse — ordre 1
   DOM : <strong>Progression :</strong> "6" <span.percentage-sign>% Terminé</span> <div.learn-press-progress>
   flex row + wrap : "6" et span restent inline, la barre passe à la ligne. */
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(3) {
    order: 1;
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 0 !important;
    margin-bottom: 6px !important;
    font-size: 52px !important;
    font-weight: 900 !important;
    color: #D41116 !important;
    line-height: 1 !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
}
/* La barre de progression prend 100% de largeur, passe à la ligne suivante */
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(3) .learn-press-progress {
    flex: 0 0 100% !important;
    margin-top: 14px !important;
}

/* Cacher le heading "Progression :" (redondant) */
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(3) .thim-ekit-single-course__user-progress__heading {
    display: none !important;
}

/* Les headings "Leçons terminées :" et "Quiz terminés :" : texte original masqué,
   label propre réinjecté via ::after (pas de ":") */
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(1) .thim-ekit-single-course__user-progress__heading,
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(2) .thim-ekit-single-course__user-progress__heading {
    font-size: 0 !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 2;
    line-height: 1.4;
}
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(1) .thim-ekit-single-course__user-progress__heading::after {
    content: "leçons";
    font-size: 14px;
    font-weight: 500;
    color: #555;
}
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(2) .thim-ekit-single-course__user-progress__heading::after {
    content: "quiz";
    font-size: 14px;
    font-weight: 500;
    color: #555;
}

/* Le chiffre "2/48", "1/1" : gras noir, ordre 1 (avant le heading) */
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(1) .thim-ekit-single-course__user-progress__number,
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(2) .thim-ekit-single-course__user-progress__number {
    order: 1;
    font-weight: 900 !important;
    color: #1A1A1A !important;
    font-size: 15px !important;
    margin-right: 2px !important;
}

/* "% Terminé" → juste "%" (on cache le mot "Terminé" via font-size + ::before "%") */
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(3) .percentage-sign {
    font-size: 0 !important; /* cache le texte "% Terminé" */
    display: inline-block;
}
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(3) .percentage-sign::before {
    content: "%";
    font-size: 32px;
    font-weight: 900;
    color: #D41116;
    margin-left: 4px;
    vertical-align: top;
    line-height: 1;
}

/* Barre de progression épaisse, arrondie, gradient rouge→bordeaux */
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(3) .learn-press-progress {
    height: 12px !important;
    background: #F2F2F2 !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}
body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(3) .learn-press-progress .learn-press-progress__active {
    background: linear-gradient(90deg, #D41116 0%, #6A0927 100%) !important;
    background-image: linear-gradient(90deg, #D41116 0%, #6A0927 100%) !important;
    border-radius: 999px !important;
    height: 100% !important;
    top: 0 !important;
    transition: width .4s ease !important;
}

/* ─── Bouton CONTINUER : pleine largeur, pill, flèche à droite ─── */
body.single-lp_course .thim-ekit-single-course__buttons {
    display: block !important;
    width: 100% !important;
}
body.single-lp_course .thim-ekit-single-course__buttons > div[style*="margin-bottom"] {
    margin-bottom: 0 !important;
    width: 100% !important;
}
body.single-lp_course .thim-ekit-single-course__buttons a {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
}
body.single-lp_course .lp-button.course-btn-continue,
body.single-lp_course a .lp-button.course-btn-continue,
body.single-lp_course .thim-ekit-single-course__buttons .lp-button.course-btn-continue {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 14px 20px !important;
    background: #D41116 !important;
    background-image: none !important;
    color: #FFFFFF !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    border: none !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
    box-shadow: 0 4px 14px rgba(212,17,22,0.25) !important;
    min-height: 52px !important;
}
body.single-lp_course .lp-button.course-btn-continue::after {
    content: "\2192"; /* → */
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}
body.single-lp_course .lp-button.course-btn-continue:hover {
    background: #6A0927 !important;
    background-image: none !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(106,9,39,0.35) !important;
}

/* KAISSA-COMMENT-START [ID 117d0d5 — widget extra vide masquage] — audit 18/05/2026 : ID absent du DOM (V1).
/* Widget extra vide : réduit l'espace résiduel */
/*
body.single-lp_course .elementor-element-117d0d5 .elementor-widget-thim-ekits-course-extra:has(.thim-ekit-single-course__extra:empty) {
    display: none !important;
}
*/
/* KAISSA-COMMENT-END */

/* Mobile : card en pleine largeur, padding réduit */
@media (max-width: 767px) {
    /* KAISSA-COMMENT-START [ID 117d0d5 — card mobile] — audit 18/05/2026 : ID absent du DOM (V1).
    body.single-lp_course .elementor-element.elementor-element-117d0d5 {
        padding: 20px 18px !important;
        max-width: 100% !important;
    }
    KAISSA-COMMENT-END */
    body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(3) {
        font-size: 40px !important;
    }
    body.single-lp_course .thim-ekit-single-course__user-progress__item:nth-child(3) .percentage-sign::before {
        font-size: 26px;
    }
}

/* Header — layout géré nativement par Elementor (template 26) + widget Nav Menu
   Sauf : forcer le row sur mobile car Elementor mobile mode bascule en column par défaut
   et ferait disparaître le burger derrière le logo. */
@media (max-width: 767px) {
    header.elementor-location-header .elementor-element-4fc7f46 {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }
    header.elementor-location-header .elementor-element-3ae473c {
        flex: 0 1 auto !important;
        width: auto !important;
    }
    header.elementor-location-header .elementor-element-9aa8a8a {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
    }
    header.elementor-location-header .elementor-element-navhdr1 {
        width: auto !important;
    }
    /* Cache la liste menu inline sur mobile (seul le toggle burger reste) */
    header.elementor-location-header .elementor-nav-menu--main > ul {
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   FIXES VAGUE 28 — Popup leçon : synchro sidebar/header/content
   tous breakpoints. Constante : sidebar = 350px.
   - close : sidebar cachée, header + content pleine largeur
   - open : sidebar 350px visible, header + content décalés à 350px
   ═══════════════════════════════════════════════════════════════ */

/* Desktop & tablette landscape (≥768px) : sidebar en colonne fixe, content/header décalés selon état */
@media (min-width: 768px) {
    /* Transition fluide pour tous les éléments du popup learning mode */
    #popup-sidebar,
    #popup-header,
    #popup-content,
    #popup-footer {
        transition: left 0.25s ease, right 0.25s ease, width 0.25s ease, max-width 0.25s ease, margin-left 0.25s ease, transform 0.25s ease !important;
    }
    /* Sidebar close : cachée complètement, pas de trou */
    body.lp-sidebar-toggle__close #popup-sidebar {
        transform: translateX(-100%) !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 350px !important;
        max-width: 350px !important;
        flex: 0 0 0 !important;
        z-index: 9999 !important;
    }
    /* Sidebar open : visible à gauche */
    body.lp-sidebar-toggle__open #popup-sidebar {
        transform: none !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 350px !important;
        max-width: 350px !important;
        flex: 0 0 350px !important;
        z-index: 9999 !important;
        height: 100vh !important;
    }
    /* Header suit l'état sidebar : pleine largeur en close, décalé à 350 en open */
    body.lp-sidebar-toggle__close #popup-header {
        left: 0 !important;
        width: 100% !important;
    }
    body.lp-sidebar-toggle__open #popup-header {
        left: 350px !important;
        width: calc(100% - 350px) !important;
    }
    /* Content (position: relative) : margin-left pour décaler */
    body.lp-sidebar-toggle__close #popup-content {
        margin-left: 0 !important;
        width: 100% !important;
    }
    body.lp-sidebar-toggle__open #popup-content {
        margin-left: 350px !important;
        width: calc(100% - 350px) !important;
    }
    /* Footer (position: fixed) : aligné comme le header via left + width, jamais de margin-left */
    body.lp-sidebar-toggle__close #popup-footer {
        left: 0 !important;
        right: 0 !important;
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    body.lp-sidebar-toggle__open #popup-footer {
        left: 350px !important;
        right: 0 !important;
        margin-left: 0 !important;
        width: calc(100% - 350px) !important;
        max-width: calc(100% - 350px) !important;
    }
}

/* KAISSA-COMMENT-START [Homepage Enquêtopolis carte] — décommenter pour réactiver
/\* ─── Carte Enquêtopolis — palette SOS Maltraitance Animale ─── *\/
/\* Palette officielle (kit Elementor) : #D41116 primary, #6A0927 secondary (bordeaux), #AC1241 accent, #000 text *\/
.enq-grid-wrap {
    max-width: 960px;
    margin: 0 auto;
    padding: 32px 24px 56px;
    font-family: 'Montserrat', sans-serif;
    color: #1A1A1A;
    background: #FFF;
}
.enq-grid-header {
    text-align: center;
    margin-bottom: 28px;
}
.enq-grid-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #D41116 !important;
    margin: 0 0 6px !important;
    line-height: 1.1 !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
}
.enq-grid-subtitle {
    font-size: 14px;
    color: #767676;
    margin: 0;
    font-weight: 400;
}
.enq-welcome {
    display: flex !important;
    align-items: center;
    gap: 16px;
    width: 100%;
    max-width: 460px;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 28px;
    background: #FFF;
    border: 1px solid #EAEAEA;
    border-radius: 12px;
    padding: 14px 22px;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
    position: relative;
}
.enq-welcome:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(212, 17, 22, 0.18);
    border-color: #D41116;
}
.enq-welcome__icon {
    font-size: 26px;
    line-height: 1;
    flex-shrink: 0;
}
.enq-welcome__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    flex: 1;
    min-width: 0;
    text-align: left;
}
.enq-welcome__title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #D41116 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}
.enq-welcome__desc {
    font-size: 12px;
    color: #555;
    line-height: 1.4;
}
.enq-welcome__duration {
    font-size: 12px;
    font-weight: 600;
    color: #D41116;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}
.enq-welcome__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #D41116;
    color: #FFF;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 2px 6px rgba(212, 17, 22, 0.35);
    flex-shrink: 0;
    margin-left: 6px;
}
.enq-welcome.completed .enq-welcome__title { color: #D41116 !important; }
@media (max-width: 600px) {
    .enq-welcome {
        padding: 12px 14px;
        gap: 12px;
        max-width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .enq-welcome__icon { font-size: 22px; }
    .enq-welcome__body { flex: 1 1 auto; min-width: 0; }
    .enq-welcome__duration { font-size: 11px; margin-left: auto; }
}

.enq-grid-intro {
    text-align: center;
    margin: 8px 0 28px;
}
.enq-grid-intro h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #D41116 !important;
    margin: 0 0 4px !important;
    text-transform: none !important;
    line-height: 1.2 !important;
}
.enq-grid-intro p {
    font-size: 12px;
    color: #888;
    margin: 0;
    font-style: italic;
}
.enq-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 900px;
    margin: 0 auto;
}
.enq-card {
    position: relative;
    display: flex;
    flex-direction: column;
    aspect-ratio: 1 / 1;
    background: #FBF8F5;
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform .22s ease, box-shadow .22s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.enq-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(212, 17, 22, 0.16);
}
.enq-card__illu {
    flex: 1;
    width: 100%;
    background-color: transparent;
    background-size: 88% auto;
    background-repeat: no-repeat;
    background-position: center 60%;
}
.enq-card--mod2 .enq-card__illu { background-image: url('illustrations/m2.png'); }
.enq-card--mod3 .enq-card__illu { background-image: url('illustrations/m3.png'); }
.enq-card--mod4 .enq-card__illu { background-image: url('illustrations/m4.png'); }
.enq-card--mod5 .enq-card__illu { background-image: url('illustrations/m5.png'); }
.enq-card--mod6 .enq-card__illu { background-image: url('illustrations/m6.png'); }
.enq-card--mod7 .enq-card__illu { background-image: url('illustrations/m7.png'); }
.enq-card--mod8 .enq-card__illu { background-image: url('illustrations/m8.png'); }
.enq-card--mod9 .enq-card__illu { background-image: url('illustrations/m9.png'); }
.enq-card__body {
    padding: 4px 12px 14px;
    text-align: center;
    flex-shrink: 0;
}
.enq-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(106, 9, 39, 0.92) 0%, rgba(212, 17, 22, 0.92) 100%);
    color: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 18px 16px;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .22s ease, transform .22s ease;
    pointer-events: none;
    z-index: 4;
}
.enq-card:hover .enq-card__overlay,
.enq-card:focus-visible .enq-card__overlay {
    opacity: 1;
    transform: translateY(0);
}
.enq-card__overlay-desc {
    font-size: 13px;
    line-height: 1.45;
    margin: 0 0 12px;
    font-weight: 500;
}
.enq-card__overlay-duration {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 4px 12px;
    border: 1px solid rgba(255,255,255,0.6);
    border-radius: 20px;
}
.enq-card__title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #D41116 !important;
    margin: 0 0 4px !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.enq-card.completed .enq-card__title { color: #D41116 !important; }
.enq-card__sub {
    font-size: 11px;
    color: #888;
    font-style: italic;
    margin: 0;
    line-height: 1.3;
}
.enq-card__badge {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #D41116;
    color: #FFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 2px 6px rgba(212, 17, 22, 0.35);
    z-index: 3;
}

/\* Responsive *\/
@media (max-width: 1024px) {
    .enq-grid-wrap { padding: 28px 18px 50px; }
    .enq-grid-title { font-size: 26px; }
    .enq-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media (max-width: 600px) {
    .enq-grid-wrap { padding: 20px 14px 40px; }
    .enq-grid-title { font-size: 22px; }
    .enq-grid-subtitle { font-size: 12px; }
    .enq-grid-intro h3 { font-size: 18px; }
    .enq-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .enq-card__title { font-size: 12px; }
    .enq-card__sub { font-size: 10px; }
}

/\* Neutralisation safety : si du CSS résiduel .enquetopolis-village persiste *\/
.enquetopolis-village { display: none !important; }
KAISSA-COMMENT-END */

/* Menu mobile : géré par widget Nav Menu Elementor natif (template Header 26) */



/* KAISSA-COMMENT-START [Template 33 — Carte Enquêtopolis] — décommenter pour réactiver (CSS centralisé extrait des custom_css Elementor)
/\* ============================================================================
 * Template 33 — Enquêtopolis (grille modules)
 * ----------------------------------------------------------------------------
 * CSS centralisé issu des `custom_css` Elementor dupliqués sur les 15 widgets
 * du template 33. Chaque `selector` Elementor a été remplacé par la classe
 * CSS réelle du widget (.enq-grid-title, .enq-welcome-box, .enq-mod-card,
 * etc.). Les 8 cards .enq-mod-card partagent une règle commune ; seul le
 * `content` du ::after (description + durée) varie par module (.enq-mod-2
 * à .enq-mod-9).
 * Source : tmp/all-custom-css-dump.txt (1018 lignes, 14 blocs custom_css).
 * ============================================================================ *\/


/\* === Titre principal === *\/
.enq-grid-title {
    text-align: center !important;
    margin: 8px auto 4px !important;
}
.enq-grid-title .elementor-heading-title {
    text-align: center !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    color: #D41116 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}
@media (max-width: 768px) {
    .enq-grid-title .elementor-heading-title { font-size: 28px !important; }
}


/\* === Sous-titre === *\/
.enq-grid-subtitle {
    text-align: center !important;
    margin: 0 auto 16px !important;
}
.enq-grid-subtitle .elementor-heading-title {
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #777 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}


/\* === Skyline === *\/
.enq-grid-skyline {
    text-align: center !important;
    margin: 8px auto 24px !important;
}
.enq-grid-skyline .elementor-image,
.enq-grid-skyline img {
    max-width: 440px !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
}
@media (max-width: 768px) {
    .enq-grid-skyline img { max-width: 320px !important; }
}


/\* === Welcome box === *\/
.enq-welcome-box {
    max-width: 460px;
    margin: 0 auto 28px;
    position: relative;
}
.enq-welcome-box .elementor-image-box-wrapper {
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    gap: 16px;
    padding: 14px 22px;
    background: #FFF;
    border: 1px solid #EAEAEA;
    border-radius: 12px;
    box-shadow: 0 0 10px rgba(0,0,0,.06);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    text-align: left !important;
    position: relative;
    cursor: pointer;
}
.enq-welcome-box .elementor-image-box-wrapper:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(212,17,22,.18);
    border-color: #D41116;
}
.enq-welcome-box .elementor-image-box-img {
    margin: 0 !important;
    flex-shrink: 0;
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative;
}
.enq-welcome-box .elementor-image-box-img a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    position: static !important;
}
.enq-welcome-box .elementor-image-box-img a::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
}
.enq-welcome-box .elementor-image-box-img img {
    display: none !important;
}
.enq-welcome-box .elementor-image-box-img::after {
    content: '👋';
    font-size: 36px;
    line-height: 1;
    display: block;
}
.enq-welcome-box .elementor-image-box-content {
    flex: 1;
    text-align: left;
    position: relative;
    z-index: 1;
}
.enq-welcome-box .elementor-image-box-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #D41116 !important;
    margin: 0 0 2px 0 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.3 !important;
}
.enq-welcome-box .elementor-image-box-title a {
    color: #D41116 !important;
    text-decoration: none !important;
}
.enq-welcome-box .elementor-image-box-description {
    font-size: 12px !important;
    color: #555 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    text-transform: none !important;
}


/\* === Intro grille modules === *\/
.enq-grid-intro-title {
    text-align: center !important;
    margin: 24px auto 4px !important;
}
.enq-grid-intro-title .elementor-heading-title {
    text-align: center !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #D41116 !important;
    margin: 0 !important;
}

.enq-grid-intro-desc {
    text-align: center !important;
    margin: 0 auto 20px !important;
}
.enq-grid-intro-desc p,
.enq-grid-intro-desc em,
.enq-grid-intro-desc i {
    text-align: center !important;
    color: #888 !important;
    font-size: 14px !important;
    font-style: italic !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}


/\* === Grille (container colonnes) === *\/
.enq-grid-elementor > .elementor-container {
    flex-wrap: wrap !important;
}
.enq-grid-elementor > .elementor-container > .elementor-column {
    width: 25% !important;
    max-width: 25% !important;
}
@media (max-width: 1024px) {
    .enq-grid-elementor > .elementor-container > .elementor-column {
        width: 50% !important;
        max-width: 50% !important;
    }
}
@media (max-width: 600px) {
    .enq-grid-elementor > .elementor-container > .elementor-column {
        width: 50% !important;
        max-width: 50% !important;
    }
}


/\* ============================================================================
 * Modules (.enq-mod-card)
 * ----------------------------------------------------------------------------
 * Règle commune partagée par les 8 cards (.enq-mod-2 à .enq-mod-9).
 * Seul le `content` du ::after (description + durée) varie : voir
 * la section "Contenu ::after par module" plus bas.
 * ============================================================================ *\/

/\* === Card module — règle commune === *\/
.enq-mod-card {
    position: relative;
}
.enq-mod-card .elementor-image-box-wrapper {
    background: #FBF8F5;
    border-radius: 14px;
    overflow: hidden;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    transition: transform .22s ease, box-shadow .22s ease;
    position: relative;
    aspect-ratio: 1 / 1;
    display: flex !important;
    flex-direction: column;
    cursor: pointer;
}
.enq-mod-card .elementor-image-box-wrapper:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(212,17,22,.16);
}
.enq-mod-card .elementor-image-box-img {
    flex: 1 1 65% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 14px 4px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
.enq-mod-card .elementor-image-box-img a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}
.enq-mod-card .elementor-image-box-img img {
    width: auto !important;
    max-width: 85% !important;
    max-height: 140px !important;
    height: auto !important;
    object-fit: contain !important;
}
.enq-mod-card .elementor-image-box-content {
    padding: 4px 10px 14px;
    text-align: center;
    flex-shrink: 0;
}
.enq-mod-card .elementor-image-box-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #D41116 !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
.enq-mod-card .elementor-image-box-title a {
    color: #D41116 !important;
    text-decoration: none !important;
}
.enq-mod-card .elementor-image-box-title a::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
}
.enq-mod-card .elementor-image-box-description {
    font-size: 11px !important;
    color: #888 !important;
    font-style: italic !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

/\* === Overlay ::after (apparence partagée) === *\/
.enq-mod-card .elementor-image-box-wrapper::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(106,9,39,.94) 0%, rgba(212,17,22,.94) 100%);
    color: #FFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 18px 18px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .22s ease, transform .22s ease;
    pointer-events: none;
    z-index: 3;
    border-radius: 14px;
}
.enq-mod-card .elementor-image-box-wrapper:hover::after {
    opacity: 1;
    transform: translateY(0);
}


/\* === Contenu ::after par module (description + durée) === *\/
.enq-mod-2 .elementor-image-box-wrapper::after {
    content: "Visite guidée d'Enquêtopolis et des 7 lieux de ton parcours."
             " — ⏱ 4 min";
}
.enq-mod-3 .elementor-image-box-wrapper::after {
    content: "Ton rôle, tes valeurs et ce que l'on attend d'un enquêteur 3677."
             " — ⏱ 10 min";
}
.enq-mod-4 .elementor-image-box-wrapper::after {
    content: "La chaîne de protection et la qualification d'un signalement."
             " — ⏱ 25 min";
}
.enq-mod-5 .elementor-image-box-wrapper::after {
    content: "Mener une enquête de A à Z : acceptation, terrain et rapport."
             " — ⏱ 30 min";
}
.enq-mod-6 .elementor-image-box-wrapper::after {
    content: "Règles d'or, sécurité, cadre légal et posture sur le terrain."
             " — ⏱ 5 min";
}
.enq-mod-7 .elementor-image-box-wrapper::after {
    content: "Outils, matériel, documents et tenue pour partir prêt."
             " — ⏱ 10 min";
}
.enq-mod-8 .elementor-image-box-wrapper::after {
    content: "Identifier, gérer et désamorcer la charge émotionnelle."
             " — ⏱ 25 min";
}
.enq-mod-9 .elementor-image-box-wrapper::after {
    content: "Histoire, équipe, actions et projets du CNPA et du 3677."
             " — ⏱ 10 min";
}

KAISSA-COMMENT-END */

/* ────────────────────────────────────────────────────────────────
   Encadré "descriptif du module" dans la sidebar mode leçon
   Injecté par inc/formation/curriculum-overrides.php (filter learn-press/course/html-section-item)
   Source de vérité du contenu : champ natif section_description (PDFs Isabelle)
   ──────────────────────────────────────────────────────────────── */
.cnpa-module-description {
    margin: 0 0 12px 0;
    padding: 0;
    background: #f7f7f7;
    font-size: 12px;
    line-height: 1.45;
    color: #333;
}
/* Neutralise le cursor: pointer hérité du <li class="course-section"> (collapse handler LP) */
.cnpa-module-description,
.cnpa-module-description * {
    cursor: default;
}
.cnpa-module-description a {
    cursor: pointer;
}
.cnpa-module-description__inner {
    padding: 12px 14px;
}
.cnpa-module-description__images {
    display: flex;
    gap: 8px;
    margin: 0 0 10px 0;
}
.cnpa-module-description__image-col {
    flex: 1 1 50%;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cnpa-module-description__image-col img {
    max-width: 100%;
    height: auto;
    display: block;
}
/* Colonne 1 = bâtiment (taille normale) ; colonne 2 = avatar (réduit) */
.cnpa-module-description__image-col:nth-child(2) img {
    max-width: 80px;
    width: 80px;
}
/* Cas M1 (--solo) : avatar Loïc seul → on garde la taille réduite */
.cnpa-module-description__images--solo .cnpa-module-description__image-col img {
    max-width: 80px;
    width: 80px;
}
/* Cas M1 : 1 seule colonne (avatar Loïc seul, pas de bâtiment) */
.cnpa-module-description__images--solo {
    justify-content: center;
}
.cnpa-module-description__images--solo .cnpa-module-description__image-col {
    flex: 0 1 50%;
    max-width: 50%;
}
.cnpa-module-description__body {
    font-size: 12px;
    line-height: 1.45;
}
.cnpa-module-description__body p {
    margin: 0 0 8px 0;
    font-size: 12px;
    line-height: 1.45;
}
.cnpa-module-description__body p:last-child {
    margin-bottom: 0;
}
.cnpa-module-description__body strong {
    font-weight: 600;
    color: #6a0927;
}
.cnpa-module-description__body ul {
    margin: 4px 0 8px 0;
    padding-left: 18px;
    list-style: disc;
}
.cnpa-module-description__body ul li {
    margin: 2px 0;
    font-size: 12px;
    line-height: 1.4;
}
/* Label durée : reproduit le style "pastille rouge" du widget durée de la homepage
   (cf .elementor-element-1935dc7 — background rgba(212,17,22,0.08), border 1px #d41116, radius 5px) */
.cnpa-module-description__duration {
    display: inline-block;
    margin: 14px 0 0 0 !important;
    padding: 0 5px;
    background: rgba(212, 17, 22, 0.08);
    border: 1px solid #d41116;
    border-radius: 5px;
    color: #d41116;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
}

/* ────────────────────────────────────────────────────────────────
   Bannière citation Justin (leçon 66 "Bienvenue à Enquêtopolis")
   Aligner forme sur le modèle Kaïssa (page /templates/, widget #9870f52).
   Le widget Elementor de la leçon (#7f74a02) a des settings padding/fontSize
   différents — on les force ici pour reproduire le rendu /templates/.
   ──────────────────────────────────────────────────────────────── */
.elementor-66 .elementor-element.elementor-element-7f74a02 {
    padding-left: 60px !important;
    padding-right: 60px !important;
}
.elementor-66 .elementor-element-63a7900 h3.title,
.elementor-66 .elementor-element-63a7900 h4.title {
    font-size: 24px !important;
}


/* ════════════════════════════════════════════════════════════════
   QUIZ LP4 — Charte couleur SOS 3677 (#D41116)
   Date : 2026-06-24
   Scope : body.course-item-popup (écrans quiz uniquement)
   Sélecteurs validés via inspection DOM Chrome MCP — pas de devinette

   Défauts ciblés :
   - A1 : bordure verte autour de l'option sélectionnée (LP default #46a049)
   - A2 : badges "Incorrect" orange (LP default #FD7E14)
   - A3 : badge "Non validé" rouge orangé sur écran résultat (LP default rouge LP)
   - A5 : cercle SVG de progression résultat gris/blanc
   ──────────────────────────────────────────────────────────────── */

/* KAISSA-COMMENT-START [quiz-couleurs-charte-20260624] */

/* ── A1 : option de quiz sélectionnée → rouge SOS ── */
body.course-item-popup .answer-options .answer-option:has(input:checked) {
    border-color: var(--lp-primary-color) !important;
    background-color: rgba(212, 17, 22, 0.06) !important;
}
body.course-item-popup .answer-options .answer-option:has(input:checked) .option-title {
    color: var(--lp-primary-color);
}
/* Le rond bleu LP par défaut (#00adff) est dessiné par input::after quand input:checked.
   On force le rouge SOS dans le contexte popup. */
body.course-item-popup .answer-options .answer-option input[type="radio"]:checked::after,
body.course-item-popup .answer-options .answer-option input[type="checkbox"]:checked::after {
    background-color: var(--lp-primary-color) !important;
}
body.course-item-popup .answer-options .answer-option input[type="radio"]:checked,
body.course-item-popup .answer-options .answer-option input[type="checkbox"]:checked {
    border-color: var(--lp-primary-color) !important;
}

/* ── A2 : badges Incorrect / Wrong (mode review) → rouge SOS ── */
/* Badge "Incorrect" rendu par LP4 sous l'option choisie : .question-response.incorrect > .label */
body.course-item-popup .question-response.incorrect .label,
body.course-item-popup .question.incorrect .question-status,
body.course-item-popup .question-wrap.question-incorrect .question-result {
    background-color: var(--lp-primary-color) !important;
    color: #fff !important;
    border-color: var(--lp-primary-color) !important;
}

/* Option choisie qui est fausse : bordure rouge sur fond rouge clair */
body.course-item-popup .answer-option.answer-wrong,
body.course-item-popup .answer-option.answered-wrong {
    border-color: var(--lp-primary-color) !important;
    background-color: rgba(212, 17, 22, 0.06) !important;
}
body.course-item-popup .answer-option.answer-wrong .option-title,
body.course-item-popup .answer-option.answered-wrong .option-title {
    color: var(--lp-primary-color) !important;
}

/* Badge "Correct" rendu par LP4 sous une option juste : .question-response.correct > .label */
body.course-item-popup .question-response.correct .label {
    background-color: #1F8C3D !important;
    color: #fff !important;
    border-color: #1F8C3D !important;
}

/* Texte des options en mode review : doit être lisible sur fond plein (vert pour correct, rouge clair pour wrong) */
body.course-item-popup .answer-option.answer-correct .option-title,
body.course-item-popup .answer-option.answered-correct .option-title {
    color: #fff !important;
    font-weight: 600;
}
body.course-item-popup .answer-option.answer-wrong .option-title,
body.course-item-popup .answer-option.answered-wrong .option-title {
    color: var(--lp-primary-color) !important;
    font-weight: 600;
}

/* Badges Correct (mode review) → vert sobre cohérent avec la charte
   (on garde un vert "discret" pour différencier bon/mauvais, pas le vert flashy LP) */
body.course-item-popup .question.correct .question-status,
body.course-item-popup .answer-option.answer-correct,
body.course-item-popup .answer-option.answered-correct {
    background-color: #1F8C3D !important;
    color: #fff !important;
    border-color: #1F8C3D !important;
}

/* ── A3 : écran de résultat quiz "Non validé" / "Validé" ── */

/* Le badge global "Non validé" sous le donut résultat */
body.course-item-popup .quiz-result.failed .result-message {
    background-color: var(--lp-primary-color) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 10px 28px !important;
    display: inline-block;
    margin: 16px auto !important;
}
body.course-item-popup .quiz-result.passed .result-message {
    background-color: #1F8C3D !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 10px 28px !important;
    display: inline-block;
    margin: 16px auto !important;
}

/* ── A5 : cercle SVG donut progression de résultat → rouge SOS ── */
body.course-item-popup .quiz-result .circle-progress-bar__circle {
    stroke: var(--lp-primary-color) !important;
    transition: stroke-dashoffset 0.6s ease !important;
}
body.course-item-popup .quiz-result.passed .circle-progress-bar__circle {
    stroke: #1F8C3D !important;
}
/* Le % au centre du cercle reprend la même teinte */
body.course-item-popup .quiz-result.failed .result-achieved {
    color: var(--lp-primary-color) !important;
}
body.course-item-popup .quiz-result.passed .result-achieved {
    color: #1F8C3D !important;
}

/* KAISSA-COMMENT-END [quiz-couleurs-charte-20260624] */


/* ════════════════════════════════════════════════════════════════
   QUIZ LP4 — Style global cohérent charte SOS (suite 24/06)
   - Pagination quiz : ne plus chevaucher la barre de nav LP (PRÉC / LEÇON SUIVANTE)
   - Bouton actif pagination : fond rouge SOS + texte blanc (au lieu de transparent + rouge)
   - Bouton "RÉSULTAT" (mode review) : pilule rouge SOS (au lieu de noir)
   ──────────────────────────────────────────────────────────────── */

/* KAISSA-COMMENT-START [quiz-style-global-20260624] */

/* ── Pagination quiz : laisser de l'espace pour la nav LP (PRÉC / LEÇON SUIVANTE) ── */
/* Le wrapper .button-left.fixed est position:fixed z-index:999 et chevauche la course-item-nav.
   On ajoute un margin-bottom pour décoller la pagination du bas et éviter le chevauchement. */
body.course-item-popup .button-left.fixed {
    bottom: 90px !important; /* laisse la place à la nav LP qui fait ~76px */
}

/* Si le wrapper n'est pas fixed (cas légacy), on assure un margin-bottom */
body.course-item-popup .questions-pagination {
    margin-bottom: 16px;
}

/* ── Page active de la pagination : fond rouge SOS + texte blanc ── */
body.course-item-popup .questions-pagination .page-numbers.current,
body.course-item-popup .nav-pagination .page-numbers.current {
    background-color: var(--lp-primary-color) !important;
    color: #fff !important;
    border-color: var(--lp-primary-color) !important;
}

/* ── Bouton "RÉSULTAT" (mode review) : pilule rouge SOS au lieu de noir ── */
body.course-item-popup .lp-button.back-quiz,
body.course-item-popup button.back-quiz {
    background-color: var(--lp-primary-color) !important;
    color: #fff !important;
    border-color: var(--lp-primary-color) !important;
}
body.course-item-popup .lp-button.back-quiz:hover,
body.course-item-popup button.back-quiz:hover {
    background-color: #6A0927 !important; /* bordeaux SOS pour le hover */
    border-color: #6A0927 !important;
}

/* KAISSA-COMMENT-END [quiz-style-global-20260624] */


/* ════════════════════════════════════════════════════════════════
   QUIZ LP4 — Design system charte 3677 stricte (26/06)
   - Remplace le vert hors charte (#1F8C3D) par NOIR + icône ✓
   - Bordeaux #6A0927 pour le succès final (cercle/badge Validé)
   - Harmonise pagination en pilule uniforme
   - Ajoute coche/croix visible en mode REVOIR (bug LP4 input.disabled)
   - Aligne tailles boutons (h=44 CTA / h=40 nav)
   - Sémantique : rouge=erreur, noir+✓=correct, bordeaux=passed final
   ──────────────────────────────────────────────────────────────── */

/* KAISSA-COMMENT-START [quiz-design-system-20260626] */

/* ─── 1. Remplacer le vert hors charte par NOIR + icône ✓ blanche ─── */

/* Option correcte (mode review) : fond noir + texte blanc gras */
body.course-item-popup .answer-options .answer-option.answer-correct,
body.course-item-popup .answer-options .answer-option.answered-correct {
    background-color: #1A1A1A !important; /* noir charte */
    border-color: #1A1A1A !important;
    color: #fff !important;
    position: relative;
}
/* Le <label.option-title> à l'intérieur reçoit aussi un border-color vert LP par défaut (#4CAF50).
   On override pour matcher le fond noir (sinon liseré vert visible autour du fond noir). */
body.course-item-popup .answer-options .answer-option.answer-correct .option-title,
body.course-item-popup .answer-options .answer-option.answered-correct .option-title {
    border-color: #1A1A1A !important;
    background-color: transparent !important;
}

/* Badge "Correct" → noir au lieu de vert */
body.course-item-popup .question-response.correct .label {
    background-color: #1A1A1A !important;
    color: #fff !important;
    border-color: #1A1A1A !important;
}

/* Cercle SVG résultat passed → bordeaux (succès final dans la charte) */
body.course-item-popup .quiz-result.passed .circle-progress-bar__circle {
    stroke: #6A0927 !important;
}
/* % résultat passed */
body.course-item-popup .quiz-result.passed .result-achieved {
    color: #6A0927 !important;
}
/* Badge "Validé" → pilule bordeaux */
body.course-item-popup .quiz-result.passed .result-message {
    background-color: #6A0927 !important;
}

/* ─── 2. Icônes visibles en mode REVOIR (✓ correct / ✕ wrong) ─── */
/* Le bug LP4 : input[type=radio/checkbox] disabled n'est pas marqué visuellement
   en mode review, même si la classe .answer-correct/.answered-wrong est sur le LI.
   On force une icône via ::after pour la lisibilité. */

body.course-item-popup .answer-options .answer-option.answer-correct::after,
body.course-item-popup .answer-options .answer-option.answered-correct::after {
    content: '\2713'; /* ✓ */
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
    z-index: 2;
}

body.course-item-popup .answer-options .answer-option.answer-wrong::after,
body.course-item-popup .answer-options .answer-option.answered-wrong::after {
    content: '\2715'; /* ✕ */
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lp-primary-color);
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
    z-index: 2;
}

/* Décale le texte de l'option pour laisser la place à l'icône */
body.course-item-popup .answer-options .answer-option.answer-correct .option-title,
body.course-item-popup .answer-options .answer-option.answered-correct .option-title,
body.course-item-popup .answer-options .answer-option.answer-wrong .option-title,
body.course-item-popup .answer-options .answer-option.answered-wrong .option-title {
    padding-left: 48px;
}
/* Masquer le radio/checkbox natif disabled en mode review (remplacé par notre icône) */
body.course-item-popup .answer-options .answer-option.answer-correct input[disabled],
body.course-item-popup .answer-options .answer-option.answered-correct input[disabled],
body.course-item-popup .answer-options .answer-option.answer-wrong input[disabled],
body.course-item-popup .answer-options .answer-option.answered-wrong input[disabled] {
    visibility: hidden;
}

/* ─── 3. Pagination quiz : tout en pilule uniforme ─── */
body.course-item-popup .questions-pagination .page-numbers,
body.course-item-popup .nav-pagination .page-numbers {
    border-radius: 999px !important;
    padding: 10px 22px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    min-height: 40px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* État actif : fond rouge SOS, mêmes dimensions que les voisins noirs */
body.course-item-popup .questions-pagination .page-numbers.current,
body.course-item-popup .nav-pagination .page-numbers.current {
    background-color: var(--lp-primary-color) !important;
    color: #fff !important;
    border-color: var(--lp-primary-color) !important;
}
/* Dots "..." : transparent, pas de pilule visible */
body.course-item-popup .questions-pagination .page-numbers.dots {
    background: transparent !important;
    color: #767676 !important;
    border-color: transparent !important;
    padding: 10px 8px !important;
    min-width: auto !important;
}

/* Pagination responsive : wrap sur 2 lignes uniquement si manque de place réel (mobile/petits écrans) */
body.course-item-popup .questions-pagination .nav-links,
body.course-item-popup .nav-pagination {
    gap: 6px !important;
    padding: 0 8px;
    box-sizing: border-box;
}
@media (max-width: 767px) {
    body.course-item-popup .questions-pagination .page-numbers,
    body.course-item-popup .nav-pagination .page-numbers {
        padding: 8px 14px !important;
        font-size: 12px !important;
        min-height: 36px !important;
        letter-spacing: 0.5px !important;
    }
    body.course-item-popup .questions-pagination .nav-links,
    body.course-item-popup .nav-pagination {
        flex-wrap: wrap !important;
        gap: 4px !important;
    }
}

/* ─── 4. Nav LP (PRÉC / LEÇON SUIVANTE) : harmonisé ─── */
/* "PRÉC" outline gris → pilule noire outline cohérente */
body.course-item-popup .course-item-nav .prev,
body.course-item-popup .course-item-nav-buttons .prev,
body.course-item-popup a.prev.lp-button,
body.course-item-popup .lp-button.prev {
    border-radius: 999px !important;
    padding: 10px 22px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    min-height: 40px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background: transparent !important;
    color: #1A1A1A !important;
    border: 2px solid #1A1A1A !important;
}
body.course-item-popup .course-item-nav .prev:hover,
body.course-item-popup .lp-button.prev:hover {
    background: #1A1A1A !important;
    color: #fff !important;
}

/* "LEÇON SUIVANTE" : pilule noire pleine */
body.course-item-popup .course-item-nav .next,
body.course-item-popup .course-item-nav-buttons .next,
body.course-item-popup a.next.lp-button,
body.course-item-popup .lp-button.next {
    border-radius: 999px !important;
    padding: 10px 22px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    min-height: 40px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background: #1A1A1A !important;
    color: #fff !important;
    border: 2px solid #1A1A1A !important;
}
body.course-item-popup .course-item-nav .next:hover,
body.course-item-popup .lp-button.next:hover {
    background: var(--lp-primary-color) !important;
    border-color: var(--lp-primary-color) !important;
}

/* ─── 5. Tailles de boutons cohérentes ─── */
/* RÉSULTAT CTA → h=44 */
body.course-item-popup .lp-button.back-quiz,
body.course-item-popup button.back-quiz {
    min-height: 44px !important;
    padding: 12px 28px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* ─── 6. Badge "Incorrect" : pilule comme "Non validé" ─── */
body.course-item-popup .question-response.incorrect .label,
body.course-item-popup .question-response.correct .label {
    border-radius: 999px !important;
    padding: 4px 14px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* ─── 7. Option fausse choisie : bordure rouge + fond rouge clair (cohérence) ─── */
body.course-item-popup .answer-options .answer-option.answered-wrong:not(.answer-correct) {
    background-color: #FFE5E5 !important;
    border-color: var(--lp-primary-color) !important;
}

/* KAISSA-COMMENT-END [quiz-design-system-20260626] */
