/* ==========================================================================
   1. VARIABLES & RESET
   ========================================================================== */
:root {
    --header-height: 64px;
}

/* On évite les débordements horizontaux dus aux paddings */
* { box-sizing: border-box; }

body {
    padding-top: var(--header-height);
    margin: 0;
}

/* ==========================================================================
   2. COMPENSATION BARRE ADMIN (LOGGED IN)
   ========================================================================== */

/* Désactive les paddings spécifiques home pour éviter les conflits */
body.home, 
body.logged-in.page-template-page-home {
    padding-top: 0;
}

/* Cas Desktop : L'admin bar fait 32px et est fixe */
@media (min-width: 601px) {
    body.logged-in .header-standard {
        margin-top: 32px !important;
    }
}

/* Cas Mobile : L'admin bar fait 46px et est absolue/fixe selon WP */
@media (max-width: 600px) {
    body.logged-in .header-standard {
        margin-top: 46px !important;
        z-index: 9999;
    }
}

/* ==========================================================================
   3. LAYOUT PRINCIPAL (STICKY FOOTER)
   ========================================================================== */
.wp-site-blocks {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - var(--header-height));
}

.wp-site-blocks > header,
.wp-site-blocks > footer {
    flex: 0 0 auto;
}

.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group.site-content {
    flex: 1 0 auto; /* Pousse le footer vers le bas */
    min-height: 0;
}

/* ==========================================================================
   4. RESPONSIVE : ULTRA LARGE (1920px+)
   ========================================================================== */
@media (min-width: 1920px) {
    /* :root {
        --wp--preset--font-size--xx-small: 1rem;
        --wp--preset--font-size--x-small: 1.2rem;
        --wp--preset--font-size--small: 1.35rem;
        --wp--preset--font-size--medium: 1.7rem;
        --wp--preset--font-size--large: 2.2rem;
        --wp--preset--font-size--x-large: 3rem;
        --wp--preset--font-size--xx-large: 4rem;
    } */

    .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
        max-width: 1500px;
    }

    .is-layout-constrained > .alignwide {
        max-width: 1800px;
    }

    .header-home .wp-block-group,
    .header-standard .wp-block-group {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .congress-timer {
        max-width: 600px;
        margin: 72px auto 0 auto;
    }
}

/* ==========================================================================
   5. RESPONSIVE : LAPTOP (1440px)
   ========================================================================== */
@media (max-width: 1440px) {
    section {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .header-home .wp-block-group,
    .header-standard .wp-block-group {
        padding-left: 48px !important;
        padding-right: 48px !important;
    }

    .header-home .wp-block-navigation__container,
    .header-standard .wp-block-navigation__container {
        gap: 6px !important;
    }
}

/* ==========================================================================
   6. RESPONSIVE : TABLETTE / MOBILE NAV (1024px)
   ========================================================================== */
@media (max-width: 1024px) {
    /* Affichage du menu hamburger */
    .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none !important;
    }

    .wp-block-navigation__responsive-container-open,
    .wp-block-navigation__responsive-container.is-menu-open {
        display: flex !important;
    }

    /* Menu Overlay plein écran */
    .wp-block-navigation__responsive-container.is-menu-open {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw !important;
        height: 100vh !important;
        z-index: 99999 !important;
        background-color: var(--wp--preset--color--background-dark) !important;
        color: var(--wp--preset--color--text-light);
    }

    .header-home .wp-block-navigation__container,
    .header-standard .wp-block-navigation__container {
        padding: 24px !important; /* Augmenté pour mobile */
        gap: 24px !important;
        flex-direction: column;
    }

    .header-home .wp-block-navigation-item,
    .header-standard .wp-block-navigation-item {
        font-size: var(--wp--preset--font-size--medium) !important;
    }

    /* Icônes menu */
    .wp-block-navigation__responsive-container-open svg,
    .wp-block-navigation__responsive-container-close svg {
        width: 32px !important;
        height: 32px !important;
    }

    .wp-block-navigation__responsive-container-close {
        position: absolute;
        top: 20px;
        right: 20px;
    }


    .header-home .wp-block-navigation__container li a,
    .header-standard .wp-block-navigation__container li a {
        padding: 6px 24px !important;
    }
    .header-standard .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__label::after,
    .header-standard .wp-block-navigation-item.current-menu-ancestor .wp-block-navigation-item__label::after {
        background-color: var(--wp--preset--color--text-light) !important;
    }
    .animated-nav .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__label::after {
        animation: underlineActive 0s forwards ease-out !important;
    }
}

/* ==========================================================================
   7. RESPONSIVE : PETIT MOBILE (600px)
   ========================================================================== */
@media (max-width: 600px) {
    .header-home .wp-block-group,
    .header-standard .wp-block-group {
        padding: 18px !important;
    }

    .header-home .wp-block-image {
        width: 200px;
    }

    .section-hero {
        padding-top: 120px !important;
    }

    .nav-organisation .wp-block-navigation__container {
        gap: 15px !important;
        font-size: var(--wp--preset--font-size--xx-small) !important;
    }
}