.menu-mobile {
    display: none;
}

#wpadminbar {
    z-index: 999999999;
}

.vert-bouton-menu-header__link {
    text-decoration: none !important;
}

.vert-bouton-menu-header__text {
    text-decoration: none !important;
}

.gap-12px {
    gap: 12px;
    display: flex;
}

.menu-mobile-content {
    box-shadow: 0px 5px 8px 4px #5f595930;
    overflow-y: auto;
    max-height: var(--available-height, 80vh);
}

.btn-rechercher-menu {
    margin-top: 12px;
}

.margin-bottom-12-px {
    margin-bottom: 12px !important;
}

.menu-mobile.is-open {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;

    a {
        box-shadow: none !important;
        white-space: nowrap !important;
    }
}

.rangee-menu {
    display: flex;
}

.range-interne-menu {
    display: flex;
    gap: 0;
    white-space: nowrap;

    p {
        white-space: nowrap;
    }
}

@media (max-width: 1250px) {
    .second-groupe-menu {
        display: none !important;
    }
}

.button-mobile {
    cursor: pointer;
    display: flex;
    flex-wrap: nowrap;
}

.site-header {
    position: relative;
    z-index: 99999;
}


.wp-block-vert-toggle-default.button-mobile {
    width: 100px;


}

.wp-block-vert-toggle-active.button-mobile {
    width: 160px;
}

@media (max-width: 768px) {
    .wp-block-vert-toggle-default.button-mobile {
        width: 30px;
    }

    .wp-block-vert-toggle-active.button-mobile {
        width: 30px;
    }
}

.site-header {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow: visible;

    /* Masquer la scrollbar */
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE/Edge */
}

.site-header::-webkit-scrollbar {
    display: none;
    /* Chrome/Safari */
}

.menu-header {
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;

    &>* {
        flex-shrink: 0;
        white-space: nowrap;
    }
}

/* Sur mobile, forcer l'alignement à gauche pour éviter le débordement gauche
   inaccessible causé par justify-content:center sur un contenu plus large que
   le viewport (scrollLeft ne peut pas être négatif). */
@media (max-width: 768px) {
    .menu-header {
        justify-content: flex-start !important;
    }
}

.menu-header::-webkit-scrollbar {
    display: none;
}

/* show-on-scroll : tout l'élément scrolle, enfants non compressibles */
.show-on-scroll.menu-header>* {
    flex-shrink: 0 !important;
}

/* Groupe nav central : prend tout l'espace disponible entre logo et CTA,
   items centrés. Spécificité 3 classes > 2 classes, override le flex-shrink:0 ci-dessus. */
.show-on-scroll.menu-header>.hide-on-mobile {
    flex: 1 !important;
    min-width: 0;
    justify-content: center;
}

/* --- Fondu de droite sur le menu scrollable --- */
.menu-header-fade {
    position: fixed;
    right: 0;
    width: 35px;
    pointer-events: none;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.493));
    opacity: 0;
    transition: opacity 0.15s ease;
    z-index: 9999;
}

.menu-header-fade.is-visible {
    opacity: 1;
}



.menu-mobile {
    .bouton-se-connecter {
        border: 1px solid #004352 !important;
        width: 100%;
        display: flex;
        justify-content: center;
        padding-top: 10px;
        padding-bottom: 10px;
        border-radius: 6px;
    }

    .bouton-se-connecter:hover {
        &:after {
            content: none;
        }
    }

    .vert-bouton-menu-header.is-current-page:after {
        content: none !important;
    }

    .bouton-je-fais-un-don {
        width: 100%;
    }
}

.display-flex {
    display: flex;
}

.margin-right-12-px {
    margin-right: 12px !important;
}

@media (max-width: 768px) {

    .group-header-elements {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .hide-on-mobile {
        display: flex;
    }

    .hide-on-scroll,
    .show-on-scroll {
        padding-right: 0px !important;
        padding-left: 0px !important;
        margin-left: 0px !important;
        margin-right: 0px !important;
    }

    .rangee-bouton-don-show-on-scroll {
        padding-right: 6px !important;
    }

    .show-on-scroll {
        justify-content: space-between !important;
    }

    .show-on-scroll.is-content-justification-space-between {
        justify-content: start;
        column-gap: 0 !important;
    }

    /* Child 0 du show-on-scroll (hamburger + logo) : 404px sur 375px → hors écran.
       Réduction du padding-left (48px→12px), du gap interne (24px→8px)
       et de la largeur du logo pour ramener le bloc à ~130px. */
    .show-on-scroll>.wp-block-group:first-child {
        padding-left: 12px !important;
        gap: 8px !important;
        column-gap: 8px !important;
    }

    .show-on-scroll .wp-block-image img {
        width: 80px !important;
        height: auto !important;
    }

    .wp-block-column.is-vertically-aligned-center.col-button-menu.is-layout-flow.wp-block-column-is-layout-flow {
        flex-basis: 15% !important;

    }

    .rangee-button-mobile {
        width: fit-content !important;
    }

    .je-fais-un-don a {
        display: flex !important;
        flex-wrap: nowrap;
    }

    .je-fais-un-don a::after {
        display: none !important;
    }

    .cta-bar-header {
        display: flex;
        flex-wrap: nowrap !important;
    }

    .button-mobile-active {
        gap: 5px !important;
    }
}

.button-mobile-active {
    gap: 10px !important;
}

.anim-slide .letter {
    opacity: 0;
    animation: slideIn 0.45s ease-out forwards;
}

.anim-slide .letter-v {
    transform: translateX(-40px);
    animation-delay: 0s;
}

.anim-slide .letter-e {
    transform: translateX(-30px);
    animation-delay: 0.08s;
}

.anim-slide .letter-r {
    transform: translateX(-20px);
    animation-delay: 0.16s;
}

.anim-slide .letter-t {
    transform: translateX(-10px);
    animation-delay: 0.24s;
}

@keyframes slideIn {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.anim-drop {
    width: 120px;
    margin-bottom: 10px;
}

.anim-drop .letter {
    opacity: 0;
    transform: translateY(-30px);
    animation: dropBounce 0.3s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.anim-drop .letter-v {
    animation-delay: 0.3s;
}

.anim-drop .letter-e {
    animation-delay: 0.4s;
}

.anim-drop .letter-r {
    animation-delay: 0.5s;
}

.anim-drop .letter-t {
    animation-delay: 0.6s;
}

@keyframes dropBounce {
    0% {
        opacity: 0;
        transform: translateY(-30px);
    }

    50% {
        opacity: 1;
        transform: translateY(4px);
    }

    70% {
        transform: translateY(-2px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.groupe-menu {
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.groupe-menu:hover {
    .groupe-menu-parag {
        text-decoration: underline;
    }
}


.btn-besoin:hover {
    a {
        text-decoration: underline;
    }
}