body {
    font-family: var(--wp--preset--font-family--switzer), sans-serif;
    font-weight: 400;
    font-size: var(--text-body);
    line-height: var(--vui-body-lh);
    letter-spacing: var(--text-body-letter-spacing);
    overflow-x: hidden
}

/* --- Title font (H1 to H2) --- */
.vui-h1, .vui-h2 {
    font-family: var(--wp--preset--font-family--boska), serif;
    font-weight: 500;
    letter-spacing: var(--text-h-letter-spacing);
    margin: 0;
}

.vui-h3, .vui-h4 {
    font-family: inherit;
    font-weight: 600;
    letter-spacing: var(--text-h-letter-spacing);
    margin: 0;
}

.vui-h5, .vui-h6 {
    font-family: inherit;
    font-weight: 400;
    letter-spacing: var(--text-body-letter-spacing);
    margin: 0;
}

.vui-h1 {
    font-size: var(--text-h1);
    line-height: var(--text-h1-lh);
}

.vui-h2 {
    font-size: var(--text-h2);
    line-height: var(--text-h2-lh);
}

.vui-h3 {
    font-size: var(--text-h3);
    line-height: var(--text-h3-lh);
}

.vui-h4 {
    font-size: var(--text-h4);
    line-height: var(--text-h4-lh);
}

.vui-h5 {
    font-size: var(--text-h5);
    line-height: var(--text-h4-lh); /* Utilise la LH standard titres */
}

.vui-h6 {
    font-size: var(--text-h6);
    line-height: var(--vui-body-lh);
}


/* ==========================================================================
   LAYOUT (LES RÈGLES DE STRUCTURE)
   ========================================================================== */

.grid-container {
    width: 100%;
    max-width: calc(var(--content-large) + (var(--vui-global) * 2));
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--vui-global);
    padding-right: var(--vui-global);
}

/* 2. L'adaptation pour GenerateBlocks */
.gb-container.grid-container > .gb-inner-container {
    max-width: calc(var(--content-large) + (var(--vui-global) * 2)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--vui-global) !important;
    padding-right: var(--vui-global) !important;
}
/* ==========================================================================
   LAYOUT (FULL-WIDTH)
   ========================================================================== */

/* class images full-width */
.grid-container-full {
    width: 100%;
    padding-inline: var(--sp20);
    box-sizing: border-box;
}

/* ==========================================================================
   HOVER DECORATION <a>
   ========================================================================== */

a:not(.gb-button):not(.gb-container):not(.wp-block-button__link):not(:has(img)) {
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

a:not(.gb-button):not(.gb-container):not(.wp-block-button__link):not(:has(img))::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: currentColor;
    transition: width 0.3s ease;
}

/* 3. Animation au survol */
a:not(.gb-button):not(.gb-container):not(.wp-block-button__link):not(:has(img)):hover::after {
    width: 100%;
}

.wp-block-navigation-item:hover a::after {
    width: 100%;
}



/* Enlever la bordure et le fond du bouton Burger */
button.wp-block-navigation__responsive-container-open {
    border: none !important;
    background-color: transparent !important;
    padding: 0 !important;
}

/* Optionnel : Ajuster la couleur de l'icône (SVG) pour qu'elle utilise ta variable */
button.wp-block-navigation__responsive-container-open svg {
    fill: var(--color-dark);
}

/* ==========================================================================
   BOUTONS
========================================================================== */
/* 1. Button primary */
.wp-block-button__link,
.gb-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--sp12) var(--sp24) !important;
    font-size: 16px;
    font-weight: 500;
    border-radius: 4px;
    border: 2px solid transparent !important;
    text-decoration: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

/* 2. STYLE PRINCIPAL (Par défaut) */
.wp-block-button__link,
.gb-button {
    background-color: var(--color-dark);
    color: var(--color-accent) !important;
}

.wp-block-button__link:hover,
.gb-button:hover {
    background-color: oklch(from var(--color-accent) calc(l - 0.1) c h);
    color: var(--color-white) !important;
    transform: translateY(-2px);
}

/* 3. Button Secondary (Outline) */
.gb-button.is-style-outline,
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent !important;
    color: var(--color-accent) !important;
    border-color: var(--color-accent) !important;
}

.gb-button.is-style-outline:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--color-accent) !important;
    color: var(--color-white) !important;
    /* Le transform est déjà hérité du hover global, pas besoin de le réécrire sauf si différent */
}

/* ==========================================================================
   MENU MOBILE Overlay
   ========================================================================== */

/* Regroupement du Logo et de la Croix (même positionnement) */
.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container .wp-block-site-logo {
    position: fixed !important;
    top: var(--vui-global) !important;
    z-index: 10000 !important;
    margin: 0 !important;
}

/* Select logo */
.wp-block-navigation__responsive-container-close {
    right: var(--vui-global) !important;
    border: none !important;
    height: 57px !important; 
    display: flex !important;
    align-items: center !important;
}

.wp-block-navigation__responsive-container .wp-block-site-logo {
    left: var(--vui-global) !important;
}

/* Container de liens */
.wp-block-navigation__responsive-container .wp-block-navigation__container {
    padding-top: var(--sp40) !important;
    width: 100%;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: var(--sp24); /* Ajoute un gap régulier entre tes liens */
}

/* Boutons dans le menu mobile */
.wp-block-navigation__responsive-container .wp-block-buttons {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 320px;
    margin-top: var(--sp40) !important;
    gap: var(--sp16) !important;
}

/* Optimisation de l'affichage des boutons 100% */
.wp-block-navigation__responsive-container .wp-block-button,
.wp-block-navigation__responsive-container .wp-block-button__link {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
}

/* Correction du 2ème bouton (Outline) avec tes variables */
.wp-block-navigation__responsive-container .wp-block-button:nth-child(2) .wp-block-button__link {
    background-color: transparent !important;
    border: 2px solid var(--color-accent) !important;
    color: var(--color-accent) !important;
}

/* ==========================================================================
   MENU MOBILE : Icone burger
   ========================================================================== */

/* On définit une base pour l'icône */
.wp-block-navigation__responsive-container-open svg {
    width: 32px !important;
    height: auto;
    transition: color 0.3s ease, fill 0.3s ease;
}

/* Gestion de la couleur selon le contexte (Overlay ou non) */
.wp-block-navigation__responsive-container-open svg {
    color: var(--color-accent) !important; /* Utilise ta variable plutôt que #000 */
    fill: var(--color-accent) !important;
}

.vui-header-overlay .wp-block-navigation__responsive-container-open svg {
    color: var(--color-white) !important;
    fill: var(--color-white) !important;
}


/* ==========================================================================
   MENU MOBILE : ANIMATION D'ENTRÉE (DÉSACTIVÉE POUR ÉDITION)
========================================================================== 

@keyframes menuSlideInRight {
    0% {
        transform: translateY(100%); 
        opacity: 0;
    }
    100% {
        transform: translateX(0); 
        opacity: 1;
    }
}

.wp-block-navigation__responsive-container.is-menu-open {
    animation: menuSlideInRight 0.8s cubic-bezier(0.25, 1, 0.35, 1) forwards !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    opacity: 0; 
    transition: opacity 0.1s;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container li {
    overflow: hidden !important;
    display: block !important;
}

.vui-reveal-text {
    display: block;
    will-change: transform;
}
*/

/* ==========================================
                    BREAKPOINT
   ========================================== */
@media (min-width: 1025px) {

    .vui-hide-desktop {
        display: none !important;
    }
}

/* ==========================================
   2. TABLETTE (1024px à 768px)
   ========================================== */
@media (max-width: 1024px) {

    .vui-hide-tablet {
       display: none !important;
    } 
}

/* ==========================================
   3. MOBILE (En dessous de 768px)
   ========================================== */
@media (max-width: 767px) {   

    /* Ton menu burger déclenchement */
    .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }
    .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none !important;
    }
}
