/*
Theme Name:   LaDanseAimeLesGens
Theme URI:    https://ladanseaimelesgens.com
Description:  Thème enfant de Divi pour le festival LaDanseAimeLesGens — Cie pm
Author:       Alice Lescanne
Template:     Divi
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  ldalg
*/


/* ============================================================
   0. POLICES
   ============================================================ */

@font-face {
    font-family: 'BBB Karik';
    src: url('assets/fonts/BBB_Karrik.woff2') format('woff2'),
         url('assets/fonts/BBB_Karrik.woff')  format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    font-feature-settings: "liga" 1;
}

@font-face {
    font-family: 'Amiamie';
    src: url('assets/fonts/Amiamie-Light.woff2') format('woff2'),
         url('assets/fonts/Amiamie-Light.woff')  format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    font-feature-settings: "liga" 1;
}

@font-face {
    font-family: 'Amiamie';
    src: url('assets/fonts/Amiamie-LightItalic.woff2') format('woff2'),
         url('assets/fonts/Amiamie-LightItalic.woff')  format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
    font-feature-settings: "liga" 1;
}

@font-face {
    font-family: 'Amiamie';
    src: url('assets/fonts/Amiamie-Regular.woff2') format('woff2'),
         url('assets/fonts/Amiamie-Regular.woff')  format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    font-feature-settings: "liga" 1;
}

@font-face {
    font-family: 'Amiamie';
    src: url('assets/fonts/Amiamie-Italic.woff2') format('woff2'),
         url('assets/fonts/Amiamie-Italic.woff')  format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
    font-feature-settings: "liga" 1;
}

@font-face {
    font-family: 'Amiamie';
    src: url('assets/fonts/Amiamie-Black.woff2') format('woff2'),
         url('assets/fonts/Amiamie-Black.woff')  format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    font-feature-settings: "liga" 1;
}

@font-face {
    font-family: 'Amiamie';
    src: url('assets/fonts/Amiamie-BlackItalic.woff2') format('woff2'),
         url('assets/fonts/Amiamie-BlackItalic.woff')  format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
    font-feature-settings: "liga" 1;
}

@font-face {
    font-family: 'Amiamie Round';
    src: url('assets/fonts/Amiamie-RegularRound.woff2') format('woff2'),
         url('assets/fonts/Amiamie-RegularRound.woff')  format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    font-feature-settings: "liga" 1;
}

@font-face {
    font-family: 'Amiamie Round';
    src: url('assets/fonts/Amiamie-ItalicRound.woff2') format('woff2'),
         url('assets/fonts/Amiamie-ItalicRound.woff')  format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
    font-feature-settings: "liga" 1;
}

@font-face {
    font-family: 'Amiamie Round';
    src: url('assets/fonts/Amiamie-BlackRound.woff2') format('woff2'),
         url('assets/fonts/Amiamie-BlackRound.woff')  format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    font-feature-settings: "liga" 1;
}

@font-face {
    font-family: 'Amiamie Round';
    src: url('assets/fonts/Amiamie-BlackItalicRound.woff2') format('woff2'),
         url('assets/fonts/Amiamie-BlackItalicRound.woff')  format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
    font-feature-settings: "liga" 1;
}


/* ============================================================
   1. VARIABLES CSS — Palette LDALG
   ============================================================ */

:root {
    --ldalg-rouge-pinpin:   #e7332a;
    --ldalg-bleu-neuneu:    #0064af;
    --ldalg-vert-gaga:      #00a14e;
    --ldalg-jaune-tete:     #f9dc00;
    --ldalg-noir-nuit:      #1e2123;

    --color-primary:        var(--ldalg-rouge-pinpin);
    --color-secondary:      var(--ldalg-bleu-neuneu);
    --color-dark:           var(--ldalg-noir-nuit);
    --color-white:          #ffffff;
    --color-bg:             #ffffff;

    --font-titres:          'BBB Karik', 'Helvetica Neue', Arial, sans-serif;
    --font-corps:           'Amiamie Round', 'Amiamie', 'Helvetica Neue', Arial, sans-serif;
    --font-corps-standard:  'Amiamie', 'Helvetica Neue', Arial, sans-serif;

    --font-features:        "liga" 1;

    --fs-h1:    4rem;
    --fs-h2:    2.5rem;
    --fs-h3:    1.8rem;
    --fs-h4:    1.5rem;
    --fs-h5:    1.2rem;
    --fs-h6:    1rem;
    --fs-label: 1.2rem;
    --fs-body:  1rem;

    --lh-titres: 1.15;
    --lh-corps:  1.6;

    --spacing-xs:   0rem;
    --spacing-sm:   1rem;
    --spacing-md:   2rem;
    --spacing-lg:   4rem;
    --spacing-xl:   6rem;

    --radius-sm:  2px;
    --radius-md:  4px;
    --transition-base: 0.2s ease;
}


/* ============================================================
   2. BASE — couleur de fond et fonte globale
   ============================================================ */

html,
body,
#page-container,
#main-content,
.et_pb_section {
    background-color: var(--color-bg) !important;
}


/* Fontes globales sans préfixe — nécessaire pour que Divi 5
   applique les bonnes familles dans les modules texte */
p, span, td {
    font-family: var(--font-corps);
    font-feature-settings: "liga" 1;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-titres);
    font-feature-settings: "liga" 1;
}

#et-main-area,
#et-main-area p,
#et-main-area li {
    font-family: var(--font-corps);
    font-size: var(--fs-body);
    line-height: var(--lh-corps);
    color: var(--color-dark);
    font-feature-settings: "liga" 1;
}

#et-main-area .et_pb_section .et_pb_row {
    max-width: 1200px;
}


/* ============================================================
   3. TYPOGRAPHIE
   ============================================================ */

#et-main-area h1,
#et-main-area .et_pb_text h1 {
    font-family: var(--font-titres);
    font-size: var(--fs-h1);
    font-weight: 400;
    line-height: var(--lh-titres);
    color: var(--color-dark);
    margin-top: 0;
    margin-bottom: var(--spacing-sm);
    letter-spacing: -0.05em;
}

#et-main-area h2,
#et-main-area .et_pb_text h2 {
    font-family: var(--font-titres);
    font-size: var(--fs-h2);
    font-weight: 400;
    line-height: var(--lh-titres);
    color: var(--color-dark);
    margin-top: 0;
    margin-bottom: var(--spacing-xs);
    letter-spacing: -0.04em;
}

#et-main-area h3,
#et-main-area .et_pb_text h3 {
    font-family: var(--font-titres);
    font-size: var(--fs-h3);
    font-weight: 400;
    line-height: var(--lh-titres);
    color: var(--color-dark);
    margin-top: 0;
    margin-bottom: var(--spacing-xs);
    letter-spacing: -0.03em;
}

#et-main-area h4,
#et-main-area .et_pb_text h4 {
    font-family: var(--font-titres);
    font-size: var(--fs-h4);
    font-weight: 400;
    line-height: var(--lh-titres);
    color: var(--color-dark);
    letter-spacing: -0.03em;
    
}

#et-main-area h5,
#et-main-area .et_pb_text h5,
#et-main-area .ldalg-label {
    font-family: var(--font-corps);
    font-weight: 400;
    font-size: var(--fs-h5);
    text-transform: uppercase;
    letter-spacing: 0em;
    color: var(--color-dark);
    line-height: var(--lh-titres);
}

#et-main-area h6,
#et-main-area .et_pb_text h6,
#et-main-area .ldalg-label {
    font-family: var(--font-corps);
    font-weight: 400;
    font-size: var(--fs-h6);
    text-transform: uppercase;
    letter-spacing: 0em;
    color: var(--color-dark);
    line-height: var(--lh-titres);
}

#et-main-area .ldalg-chapo,
#et-main-area .et_pb_text .chapo {
    font-family: var(--font-titres);
    font-size: var(--fs-h4);
    font-weight: 400;
    line-height: 1.4;
}

#et-main-area .et_pb_text a {
    color: var(--ldalg-noir-nuit);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Survol géré par ldalg-menu.js (couleur aléatoire) */
#et-main-area .et_pb_text a:hover {
    text-decoration: none;
}

::selection {
    background-color: var(--ldalg-jaune-tete);
    color: var(--color-dark);
}


/* ============================================================
   4. HEADER ET NAVIGATION
   ============================================================ */

#main-header,
.et-fixed-header {
    background-color: var(--color-white) !important;
    border-bottom: 2px solid var(--color-dark);
}

#top-menu > li > a,
#top-menu-nav > li > a {
    font-family: var(--font-titres) !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    color: var(--color-dark) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

#top-menu > li > a:hover,
#top-menu > li.current-menu-item > a {
    color: var(--ldalg-rouge-pinpin) !important;
}

#top-menu .sub-menu {
    background-color: var(--color-white) !important;
    border: 2px solid var(--color-dark) !important;
    border-top: none !important;
    box-shadow: none !important;
}

#top-menu .sub-menu li a {
    font-family: var(--font-corps) !important;
    color: var(--color-dark) !important;
}

#top-menu .sub-menu li a:hover {
    background-color: var(--ldalg-jaune-tete) !important;
    color: var(--color-dark) !important;
}

#mobile_menu {
    background-color: var(--color-white) !important;
    border-top: 2px solid var(--color-dark) !important;
}

#mobile_menu li a {
    font-family: var(--font-titres) !important;
    color: var(--color-dark) !important;
}


/* ============================================================
   5. BOUTONS
   ============================================================ */

#et-main-area a.et_pb_button,
#et-main-area .et_pb_button {
    font-family: var(--font-titres) !important;
    font-size: 1.3rem !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--ldalg-noir-nuit) !important;
    /*background-color: var(--ldalg-noir-nuit) !important;*/
    border: 2px solid var(--ldalg-noir-nuit) !important;
    border-radius: var(--radius-sm) !important;
    padding: 0.6rem 1.5rem !important;
    transition: background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base);
}

/* Survol boutons géré par ldalg-menu.js (couleur aléatoire) */
#et-main-area a.et_pb_button:hover,
#et-main-area .et_pb_button:hover {
    color: var(--color-white) !important;
}

#et-main-area .et_pb_button:after { display: none !important; }

#et-main-area a.et_pb_button.btn-outline,
#et-main-area .et_pb_button.btn-outline {
    background-color: transparent !important;
    color: var(--ldalg-noir-nuit) !important;
    border-color: var(--ldalg-noir-nuit) !important;
}

#et-main-area a.et_pb_button.btn-rouge { background-color: var(--ldalg-rouge-pinpin) !important; border-color: var(--ldalg-rouge-pinpin) !important; }
#et-main-area a.et_pb_button.btn-jaune { background-color: var(--ldalg-jaune-tete) !important; border-color: var(--ldalg-jaune-tete) !important; color: var(--color-dark) !important; }


/* ============================================================
   6. SECTIONS COLORÉES
   ============================================================ 

#et-main-area .et_pb_section.bg-rouge { background-color: var(--ldalg-rouge-pinpin) !important; }
#et-main-area .et_pb_section.bg-rouge h1,
#et-main-area .et_pb_section.bg-rouge h2,
#et-main-area .et_pb_section.bg-rouge h3,
#et-main-area .et_pb_section.bg-rouge p,
#et-main-area .et_pb_section.bg-rouge a { color: var(--color-white) !important; }

#et-main-area .et_pb_section.bg-bleu { background-color: var(--ldalg-bleu-neuneu) !important; }
#et-main-area .et_pb_section.bg-bleu h1,
#et-main-area .et_pb_section.bg-bleu h2,
#et-main-area .et_pb_section.bg-bleu h3,
#et-main-area .et_pb_section.bg-bleu p,
#et-main-area .et_pb_section.bg-bleu a { color: var(--color-white) !important; }

#et-main-area .et_pb_section.bg-vert { background-color: var(--ldalg-vert-gaga) !important; }
#et-main-area .et_pb_section.bg-vert h1,
#et-main-area .et_pb_section.bg-vert h2,
#et-main-area .et_pb_section.bg-vert h3,
#et-main-area .et_pb_section.bg-vert p,
#et-main-area .et_pb_section.bg-vert a { color: var(--color-white) !important; }

#et-main-area .et_pb_section.bg-jaune { background-color: var(--ldalg-jaune-tete) !important; }
#et-main-area .et_pb_section.bg-jaune h1,
#et-main-area .et_pb_section.bg-jaune h2,
#et-main-area .et_pb_section.bg-jaune h3,
#et-main-area .et_pb_section.bg-jaune p { color: var(--color-dark) !important; }

#et-main-area .et_pb_section.bg-noir { background-color: var(--ldalg-noir-nuit) !important; }
#et-main-area .et_pb_section.bg-noir h1,
#et-main-area .et_pb_section.bg-noir h2,
#et-main-area .et_pb_section.bg-noir h3,
#et-main-area .et_pb_section.bg-noir p { color: var(--color-white) !important; }
#et-main-area .et_pb_section.bg-noir a { color: var(--ldalg-jaune-tete) !important; }


/* ============================================================
   7. CARTES PROGRAMME
   ============================================================ 

#et-main-area .ldalg-card {
    background-color: var(--color-white);
    border: 2px solid var(--color-dark);
    padding: var(--spacing-md);
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}
#et-main-area .ldalg-card:hover {
    transform: translateY(-3px);
    box-shadow: 4px 4px 0 var(--color-dark);
}
#et-main-area .ldalg-card--rouge { border-top: 6px solid var(--ldalg-rouge-pinpin); }
#et-main-area .ldalg-card--bleu  { border-top: 6px solid var(--ldalg-bleu-neuneu);  }
#et-main-area .ldalg-card--vert  { border-top: 6px solid var(--ldalg-vert-gaga);    }
#et-main-area .ldalg-card--jaune { border-top: 6px solid var(--ldalg-jaune-tete);   }

#et-main-area .ldalg-badge {
    display: inline-block;
    font-family: var(--font-corps);
    font-weight: 900;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background-color: var(--ldalg-jaune-tete);
    color: var(--color-dark);
    padding: 0.15rem 0.5rem;
}
#et-main-area .ldalg-badge--rouge { background-color: var(--ldalg-rouge-pinpin); color: var(--color-white); }
#et-main-area .ldalg-badge--bleu  { background-color: var(--ldalg-bleu-neuneu);  color: var(--color-white); }
#et-main-area .ldalg-badge--vert  { background-color: var(--ldalg-vert-gaga);    color: var(--color-white); }


/* ============================================================
   8. FORMULAIRES
   ============================================================ */

#et-main-area input[type="text"],
#et-main-area input[type="email"],
#et-main-area input[type="tel"],
#et-main-area textarea,
#et-main-area select {
    font-family: var(--font-corps) !important;
    font-size: var(--fs-body) !important;
    color: var(--color-dark) !important;
    background-color: var(--color-white) !important;
    border: 2px solid var(--color-dark) !important;
    border-radius: var(--radius-sm) !important;
    padding: 0.5rem 0.75rem !important;
    width: 100%;
}

#et-main-area input[type="text"]:focus,
#et-main-area input[type="email"]:focus,
#et-main-area textarea:focus {
    border-color: var(--ldalg-bleu-neuneu) !important;
    outline: none;
}


/* ============================================================
   9. SÉPARATEURS
   ============================================================ 

#et-main-area hr,
#et-main-area .et_pb_divider { border: none; border-top: 2px solid var(--color-dark); margin: var(--spacing-md) 0; }
#et-main-area .et_pb_divider.divider-rouge { border-top-color: var(--ldalg-rouge-pinpin); }
#et-main-area .et_pb_divider.divider-bleu  { border-top-color: var(--ldalg-bleu-neuneu);  }
#et-main-area .et_pb_divider.divider-vert  { border-top-color: var(--ldalg-vert-gaga);    }
#et-main-area .et_pb_divider.divider-jaune { border-top-color: var(--ldalg-jaune-tete);   }


/* ============================================================
   10. FOOTER
   ============================================================ 
#main-footer {
    background-color: var(--ldalg-noir-nuit) !important;
    border-top: 3px solid var(--ldalg-rouge-pinpin);
}
#main-footer h1, #main-footer h2, #main-footer h3,
#main-footer h4, #main-footer p, #main-footer li { color: var(--color-white) !important; }
#main-footer a { color: var(--ldalg-jaune-tete) !important; text-decoration: none; }
#main-footer a:hover { color: var(--color-white) !important; text-decoration: underline; }

#footer-bottom { background-color: var(--ldalg-noir-nuit) !important; border-top: 1px solid rgba(255,255,255,0.15); }
#footer-bottom, #footer-bottom p, #footer-bottom a {
    font-size: 0.625rem !important;
    color: rgba(255,255,255,0.6) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}


/* ============================================================
   11. ACCESSIBILITÉ
   ============================================================ */

#et-main-area a:focus-visible,
#et-main-area button:focus-visible,
#et-main-area input:focus-visible,
#et-main-area textarea:focus-visible {
    outline: 3px solid var(--ldalg-bleu-neuneu);
    outline-offset: 3px;
}

.skip-link {
    position: absolute;
    top: -100%;
    left: var(--spacing-sm);
    z-index: 9999;
    padding: 0.5rem 1rem;
    background-color: var(--ldalg-bleu-neuneu);
    color: var(--color-white);
    font-family: var(--font-corps);
    font-weight: 900;
    text-decoration: none;
}
.skip-link:focus { top: var(--spacing-sm); }


/* ============================================================
   12. UTILITAIRES
   ============================================================ */

.text-rouge  { color: var(--ldalg-rouge-pinpin) !important; }
.text-bleu   { color: var(--ldalg-bleu-neuneu)  !important; }
.text-vert   { color: var(--ldalg-vert-gaga)    !important; }
.text-jaune  { color: var(--ldalg-jaune-tete)   !important; }
.text-blanc  { color: var(--color-white)         !important; }

.bg-rouge  { background-color: var(--ldalg-rouge-pinpin) !important; }
.bg-bleu   { background-color: var(--ldalg-bleu-neuneu)  !important; }
.bg-vert   { background-color: var(--ldalg-vert-gaga)    !important; }
.bg-jaune  { background-color: var(--ldalg-jaune-tete)   !important; }
.bg-noir   { background-color: var(--ldalg-noir-nuit)     !important; }


/* ============================================================
   13. RESPONSIVE
   ============================================================ */

/* Tablette (≤ 980px) — ratio ~0.65 du desktop */
@media (max-width: 980px) {
    :root {
        --fs-h1: 2.6rem;
        --fs-h2: 1.75rem;
        --fs-h3: 1.4rem;
        --fs-h4: 1.2rem;
        --fs-h5: 1.1rem;
        --fs-h6: 1rem;
        --spacing-lg: 3rem;
        --spacing-xl: 4rem;
    }
}

/* Mobile (≤ 767px) — ratio ~0.45 du desktop */
@media (max-width: 767px) {
    :root {
        --fs-h1: 2rem;
        --fs-h2: 1.5rem;
        --fs-h3: 1.25rem;
        --fs-h4: 1.1rem;
        --fs-h5: 1rem;
        --fs-h6: 0.9rem;
        --spacing-lg: 2rem;
        --spacing-xl: 3rem;
    }
    #et-main-area .et_pb_section {
        padding-top: var(--spacing-md);
        padding-bottom: var(--spacing-md);
    }
}


/* ============================================================
   14. OVERRIDE FONTES DIVI 5
   Divi 5 impose ses fontes via des variables CSS sur .et_pb_text
   et .et_pb_text_inner. Ces règles les écrasent.
   ============================================================ */

/* Écrase la variable globale Divi pour le body text */
:root {
    --et_global_body_font_he: var(--font-corps);
    --et_global_heading_font: var(--font-titres);
}

/* Cible direct sur .et_pb_text_inner */
#et-main-area .et_pb_text_inner,
#et-main-area .et_pb_text_inner p,
#et-main-area .et_pb_text_inner li,
#et-main-area .et_pb_text_inner span {
    font-family: var(--font-corps) !important;
    font-feature-settings: "liga" 1;
}

#et-main-area .et_pb_text_inner h1,
#et-main-area .et_pb_text_inner h2,
#et-main-area .et_pb_text_inner h3,
#et-main-area .et_pb_text_inner h4,
#et-main-area .et_pb_text_inner h5,
#et-main-area .et_pb_text_inner h6 {
    font-family: var(--font-titres) !important;
    font-feature-settings: "liga" 1;
}

/* Modules Divi spécifiques */
#et-main-area .et_pb_blurb_description,
#et-main-area .et_pb_blurb_description p,
#et-main-area .et_pb_blurb_title,
#et-main-area .et_pb_slide_description,
#et-main-area .et_pb_slide_description p,
#et-main-area .et_pb_code_inner,
#et-main-area .et_pb_tab,
#et-main-area .et_pb_accordion_item p {
    font-family: var(--font-corps) !important;
    font-feature-settings: "liga" 1;
}

/* Theme Builder layouts (header, footer) */
.et-l .et_pb_text_inner,
.et-l .et_pb_text_inner p {
    font-family: var(--font-corps) !important;
    font-feature-settings: "liga" 1;
}


/* ============================================================
   MENU LDALG — styles globaux
   Les styles de la barre desktop (nav, liste, liens, séparateurs)
   sont dans le module Code du Theme Builder pour contourner Divi.
   ============================================================ */

/* ----- Header sticky ----- */

.ldalg-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--color-white);
  border-bottom: 2px solid var(--ldalg-noir-nuit);
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
}

/* ----- Logo ----- */

.ldalg-nav__logo {
  position: absolute;
  left: 2rem;
  font-family: var(--font-titres);
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--ldalg-noir-nuit);
  text-decoration: none;
  letter-spacing: 0.02em;
}

/* Liens nav — couleur et typographie de base */
.ldalg-nav__link {
  font-family: var(--font-titres);
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--ldalg-noir-nuit);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.ldalg-nav__link:hover { color: var(--ldalg-rouge-pinpin); }

/* ----- Burger ----- */

.ldalg-menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--ldalg-noir-nuit);
  transition: transform 0.2s ease, opacity 0.2s ease;
  transform-origin: center;
}

.ldalg-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ldalg-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.ldalg-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ----- Overlay mobile (dialog natif) ----- */

dialog.ldalg-menu-overlay:not([open]) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

dialog.ldalg-menu-overlay[open] {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  max-width: none;
  max-height: none;
  border: 0;
  padding: 0;
  margin: 0;
  z-index: 99999;
  background-color: var(--ldalg-noir-nuit);
  overflow: hidden;
}

dialog.ldalg-menu-overlay::backdrop {
  background: rgba(30, 33, 35, 0.6);
}

/* Bouton fermer */
.ldalg-menu-close {
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 100000;
}

.ldalg-menu-close::before,
.ldalg-menu-close::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 24px;
  height: 2px;
  background-color: var(--color-white);
  border-radius: 1px;
}
.ldalg-menu-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.ldalg-menu-close::after  { transform: translate(-50%, -50%) rotate(-45deg); }

/* Liste mobile */
dialog.ldalg-menu-overlay nav ul {
  list-style: none !important;
  margin: 0;
  padding: 0 2rem;
  text-align: center;
  width: 100vw;
}

dialog.ldalg-menu-overlay nav li {
  list-style: none !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
dialog.ldalg-menu-overlay nav li::before,
dialog.ldalg-menu-overlay nav li::marker { display: none !important; content: none !important; }
dialog.ldalg-menu-overlay nav li:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

dialog.ldalg-menu-overlay nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-family: var(--font-titres);
  font-size: clamp(1.75rem, 7vw, 3rem);
  font-weight: 400;
  color: var(--color-white) !important;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 1rem 0;
  transition: color 0.2s ease;
}

dialog.ldalg-menu-overlay nav a:hover { color: var(--ldalg-jaune-tete) !important; }

/* Carrés colorés items mobiles */
.ldalg-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}
.ldalg-dot--rouge { background-color: var(--ldalg-rouge-pinpin); }
.ldalg-dot--jaune { background-color: var(--ldalg-jaune-tete);  }
.ldalg-dot--vert  { background-color: var(--ldalg-vert-gaga);   }
.ldalg-dot--bleu  { background-color: var(--ldalg-bleu-neuneu); }

/* ----- Responsive ----- */

@media (prefers-reduced-motion: reduce) {
  .ldalg-menu-toggle span { transition: none; }
}




/* ============================================================
   CLASSE LÉGENDE
   Usage : ajouter la classe CSS "legende" sur un module Texte Divi
   ============================================================ */

#et-main-area .et_pb_text.legende,
#et-main-area .et_pb_text.legende p,
#et-main-area .et_pb_text.legende li,
#et-main-area .et_pb_text.legende span {
    font-size: 0.8rem;
}