:root {
    /* Typographie */
    --font-title: "Ranade", Sans-serif;
    --font-text: "Montserrat", Sans-serif;

    /* Layout */
    --admin-bar: 32px;
    --px-global: 20px;
    --listing-gap: 64px;
    --header-height: 90px;
    --nav-height: 90px;

    /* Couleurs Principales (Mapping direct) */
    --dark:        #191C15; /* Ancien Primary */
    --green-brand: #BCC16B; /* Ancien Secondary */
    --text:        #FAFAFA; /* Ancien Text */
    --grey-light:  #EAEBD9; /* Ancien Accent */

    /* Couleurs Custom / Verts */
    --green2:      #21241B; 
    --green3:      #3D483A;
    --green-light: #E3F2DC;
    --grey:        #ADABA2;
    --dark2:       #0E1108;
}

.big-space-list ol, .big-space-list ul{
    margin-bottom: 0 !important;
}

h1, h2, h3, h4, h5, h6{

}

.clr-primary{
    color: var(--dark);
}

.clr-secondary{
    color: var(--green-brand);
}

.elementor-button-link{
    transition: .2s;
}

.elementor-button-link:hover{
    opacity: .7;
    transition: .2s;
}

.is-button-style-2 a{
    padding: 8px 24px !important;
    background-color: var(--green-light) !important;
    border-color: var(--green-light) !important;
    color: var(--green3) !important;
    font-family: var(--font-title) !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.block-ndmln89{
    max-width: 750px !important;
}

.cards-xbcn82 > *{
    max-width: 250px !important;
}

.cards-ndmp3x > *{
    max-width: 279px !important;
}

.block-nd120w{
    max-width: 510px !important;
}

.big-space-list ul li:not(.big-space-list ul li:last-child),
.big-space-list ol li:not(.big-space-list ol li:last-child){
	margin-bottom: 18px !important;
}

ul li::marker,
ol li::marker{
    font-size: 13px !important;
}

.custom-listing-overlay-link{
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    top: 0;
    left: 0;
}

.custom-listing-overlay-link *{
    width: 100% !important;
    height: 100% !important;
}

.custom-listing-overlay-link a{
    display: block !important;
    position: relative;
    z-index: 2;
}

.img-ndj30kx img{
    aspect-ratio: 342 / 220;
    height: auto !important;
    object-fit: cover;
}

.is-listing-tag{
    position: absolute !important;
    top: 16px;
    right: 16px;
    z-index: 2;
}

.listing-head{
    position: relative !important;
}

.listing-featured-image-overlay{
    position: absolute !important;
    width: 100%;
    height: 100% !important;
    top: 0;
    left: 0;
}

.has-flex-post-tags .jet-listing-dynamic-terms{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px;
}

.block-mlsp20{
    backdrop-filter: blur(4px);
}

.wpforms-submit{
    width: 100% !important;
    margin-top: 24px;
    background-color: var(--green2) !important;
    font-weight: 500 !important;
    font-size: 18px !important;
    letter-spacing: 0 !important;
}

.wpforms-field-container > .wpforms-field:not(.wpforms-field:last-child){
    margin-bottom: 8px !important;
}

[type="text"],
[type="email"],
.wpforms-form select{
    height: 56px !important;
}

[type="text"],
[type="email"],
textarea,
.wpforms-form select{
    background-color: rgba(173, 171, 162, 0.6) !important;
    border-radius: 4px !important;
    border: 1px solid var(--green-brand) !important;
    color: var(--grey) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

[type="text"]::placeholder,
[type="email"]::placeholder,
textarea::placeholder{
    color: var(--grey) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

select {
    /* On retire la flèche par défaut du navigateur */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    
    /* Positionnement de l'icône */
    background-repeat: no-repeat;
    /* background-position: calc(100% - 15px) center; */
    
    /* L'icône via Mask */
    position: relative;
}

/* On utilise un pseudo-élément pour l'icône afin de pouvoir utiliser le masque indépendamment */
.wpforms-field-select {
    position: relative;
    /* display: inline-block; */
}

.wpforms-field-select::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 8px;
    
    /* Couleur de l'icône (utilisant ta variable) */
    background-color: var(--green-brand); 
    
    /* Le masque SVG */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.37629 7.37629C7.18876 7.56376 6.93445 7.66907 6.66929 7.66907C6.40412 7.66907 6.14982 7.56376 5.96229 7.37629L0.305288 1.71929C0.209778 1.62704 0.133596 1.5167 0.0811869 1.39469C0.0287779 1.27269 0.00119157 1.14147 3.77564e-05 1.00869C-0.00111606 0.87591 0.0241859 0.744231 0.0744668 0.621335C0.124748 0.498438 0.199001 0.386786 0.292893 0.292893C0.386786 0.199 0.498438 0.124747 0.621334 0.0744663C0.74423 0.0241854 0.87591 -0.00111606 1.00869 3.77571e-05C1.14147 0.00119157 1.27269 0.0287779 1.39469 0.0811869C1.5167 0.133596 1.62704 0.209778 1.71929 0.305288L6.66929 5.25529L11.6193 0.305288C11.8079 0.12313 12.0605 0.0223355 12.3227 0.0246139C12.5849 0.0268924 12.8357 0.132061 13.0211 0.317469C13.2065 0.502877 13.3117 0.75369 13.314 1.01589C13.3162 1.27808 13.2154 1.53069 13.0333 1.71929L7.37629 7.37629Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.37629 7.37629C7.18876 7.56376 6.93445 7.66907 6.66929 7.66907C6.40412 7.66907 6.14982 7.56376 5.96229 7.37629L0.305288 1.71929C0.209778 1.62704 0.133596 1.5167 0.0811869 1.39469C0.0287779 1.27269 0.00119157 1.14147 3.77564e-05 1.00869C-0.00111606 0.87591 0.0241859 0.744231 0.0744668 0.621335C0.124748 0.498438 0.199001 0.386786 0.292893 0.292893C0.386786 0.199 0.498438 0.124747 0.621334 0.0744663C0.74423 0.0241854 0.87591 -0.00111606 1.00869 3.77571e-05C1.14147 0.00119157 1.27269 0.0287779 1.39469 0.0811869C1.5167 0.133596 1.62704 0.209778 1.71929 0.305288L6.66929 5.25529L11.6193 0.305288C11.8079 0.12313 12.0605 0.0223355 12.3227 0.0246139C12.5849 0.0268924 12.8357 0.132061 13.0211 0.317469C13.2065 0.502877 13.3117 0.75369 13.314 1.01589C13.3162 1.27808 13.2154 1.53069 13.0333 1.71929L7.37629 7.37629Z' fill='black'/%3E%3C/svg%3E");
    
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    pointer-events: none; /* Pour que le clic passe à travers l'icône vers le select */
}

.profil-round{
    width: 100px !important;
    height: 100px !important;
}

.equipe-profil-flex > *{
    max-width: 200px !important;
}

.backgroundOverlay{
    position: fixed !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1998 !important;
    background-color: #00000050;
    cursor: pointer;
    transition: .2s;
    opacity: 0;
    pointer-events: none;
}

.popupActive .backgroundOverlay{
    pointer-events: all;
    opacity: 1;
    transition: .2s;
}

#popupContact{
    position: fixed !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    max-width: 450px !important;
    width: 100% !important;
    z-index: 10 !important;
    pointer-events: none;
    opacity: 0;
    transition: .2s;
    z-index: 1999 !important;
}

.popupActive #popupContact{
    pointer-events: all;
    opacity: 1;
    transition: .2s;
}

@media only screen and (max-width: 1024px) and (min-width: 0px){
    .cards-xbcn82 > *{

    }

    :root {
        --listing-gap: 24px;
        --px-global: 16px;
        --header-height: 90px;
        --admin-bar: 46px;
    }
}

@media only screen and (max-width: 767px) and (min-width: 0px){
    .cards-xbcn82 > *{
        max-width: 100% !important;
    }

    .cards-ndmp3x > *{
        max-width: 100% !important;
    }

    .block-nd120w{
        max-width: 100% !important;
    }

    .listing-cards > *,
    .is-card{
        padding: 24px 16px !important;
    }

    .has-py-120{
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }

    .equipe-profil-flex{
        gap: 16px !important;
    }

    .equipe-profil-flex > *{
        width: calc(100% / 2 - 16px + 16px / 2) !important;
    }

    .listing-espace .jet-listing-grid__items{
        overflow: scroll;
        flex-wrap: nowrap !important;
    }

    .listing-espace .jet-listing-grid__items > .jet-listing-grid__item{
        width: 80% !important;
        flex: none !important;
    }

    .has-out-of-box-content .jet-listing-grid__items{
        padding-left: calc(var(--px-global) * 2) !important;
    }

    .block-mlsp20 {
        position: relative !important;
        background-color: unset !important;
        border: none !important;
    }

    .block-mlsp20::after {
        content: "";
        position: absolute;
        top: 0;
        left: var(--px-global);
        right: var(--px-global);
        bottom: 0;
        
        /* Couleur de fond avec transparence (99 à la fin du hexa) */
        background-color: #191C1599; 
        border: 1px solid var(--green-brand);
        
        /* L'effet de flou en arrière-plan */
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px); /* Pour la compatibilité Safari */
        
        /* On le place derrière le contenu */
        z-index: -1;
        
        /* Optionnel : un petit arrondi rend souvent le flou plus élégant */
        border-radius: 10px;
    }
}