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

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

    /* Couleurs Principales */
    --vert:   #7199A1;
    --blanc:  #FFFFFC;
    --black:  #262823;
}

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

.font-title-family{
    font-family: var(--font-title) !important;
}

.font-text-family{
    font-family: var(--font-text) !important;
}

.normal-case{
    text-transform: capitalize !important;
}

.logo-text{
    display: flex !important;
    align-items: center !important;
}

.home .footer-wrapper{
    border-top: none !important;
}

@media only screen and (min-width: 1025px){
    .home .header-nav-menu *{
        color: #fff !important;
    }
}

.home .logo-text *{
    color: #fff !important;
}

.is-bg-img-shadow{
    position: absolute !important;
	width: 100% !important;
	height: 100% !important;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.36) !important;
}

.hero-slider,
.hero-slider .swiper,
.hero-slider figure,
.hero-slider figure *{
    height: 100% !important;
}

.vp-filter{
    gap: 10px !important;
}

.vp-filter__item>*{
    color: var(--vert) !important;
}

.vp-filter__item.vp-filter__item-active > *,
.vp-filter__item:hover > *{
    color: var(--blanc) !important;
}

.vp-filter__item.vp-filter__item-active,
.vp-filter__item:hover{
    background-color: var(--vert) !important;
}

.vp-filter__item-count{
    background-color: var(--vert) !important;
    color: var(--blanc) !important;
    padding: 0;
    width: 20px;
    height: 20px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.vp-pagination__load-more{
    color: var(--vert) !important;
}

.vp-portfolio__items-wrap, .vp-portfolio__layout-elements, .vp-portfolio__thumbnails-wrap{
    margin-bottom: 40px !important;
}

.is-mobile-menu-overlay{
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    background-color: #00000020;
    z-index: 98 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: 200ms ease !important;
}

.is-mobile-menu-active .is-mobile-menu-overlay{
    opacity: 1 !important;
    pointer-events: all !important;
    transition: 200ms ease !important;
}

.vp-portfolio__item-popup-title{
    line-height: normal !important;
    text-align: center !important;
}

[type="text"],
[type="email"],
textarea{
    padding: 16px !important;
    border-radius: 8px !important;
    border: 2px solid #7199A1 !important;
    color: #7199A1 !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    background-color: transparent !important;
}

[type="text"]::placeholder,
[type="email"]::placeholder,
textarea::placeholder{
    color: #7199A1 !important;
    font-size: 20px !important;
    font-weight: 600 !important;
}

.wpforms-submit{
        width: 100% !important;
    background-color: #7199A1 !important;
    color: #fff !important;
    border-radius: 8px !important;
    border: none !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
        font-size: 20px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

.wpforms-submit:hover{
    background-color: #516c71 !important;
}

.pswp__top-bar > *{
    background-repeat: no-repeat !important;
    padding: 0 !important;
}

/* #wpforms-form-1108{
    max-width: 600px !important;
} */

.hero{
    height: 100vh !important;
}

.home footer{
    display: none !important;
}


.home-footer{
    position: absolute !important;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
}

.block-vcwxsa01{
    pointer-events: none !important;
}


.has-content table{

}

.has-content > * + *{
    margin-top: 10px !important;
}

/* Conteneur pour forcer le responsive sur mobile */
.has-content {
    width: 100%;
    overflow-x: auto; /* Active le scroll horizontal si la table déborde sur mobile */
}

/* Style de base de la table */
.has-content table {
    width: 100%;
    border-collapse: collapse; /* Aligne les bordures proprement */
    margin: 0;
    padding: 0;
    font-family: sans-serif;
    /* font-size: 15px; */
    text-align: left;
    border: 1px solid #e0e0e0;
    margin-top: 16px !important;
}

/* Style des cellules d'en-tête (Th) */
table th,
table tbody > tr:first-child{
    background-color: #7199a124; /* Couleur de fond de l'en-tête */
    color: #333333;            /* Couleur du texte */
    font-weight: 600 !important;
    padding: 12px 15px;
}

table tbody > tr:first-child{
    font-weight: 600 !important;
}

/* Style des cellules de contenu (Td) */
table td {
    padding: 12px 15px;
    border-bottom: 1px solid #e0e0e0;
    color: #555555;
}

/* Optionnel : Lignes alternées (effet zèbre) */
table tbody tr:nth-child(even) {
    /* background-color: #fcfcfc; */
}

.has-content table + *{
    margin-top: 24px !important;
}

.has-content table + *.sub-table{
    margin-top: 8px !important;
}

.sub-table{
    font-size: 14px !important;
    margin-bottom: 24px !important;
    color: #555555 !important;
}

p.custom-vp-excerpt {
    display: block !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    margin-top: 6px !important;
}

.vp-portfolio__item-meta-title{
    margin-bottom: 16px !important;
}

.vp-portfolio__item-popup-description{
    text-align: center !important;
    font-size: 15px !important;
}







@media only screen and (max-width: 1300px) and (min-width: 0px){
    .vp-portfolio__items {
        --vp-items__gap: 56px !important;
        --vp-items__gap-vertical: 56px !important;
    }
}


@media only screen and (max-width: 1024px) and (min-width: 0px){
    :root {
        --listing-gap: 24px;
        --px-global: 16px;
        /* --header-height: 90px; */
    }
    
    .home-footer{
        bottom: 56px;
    }

    .vp-filter{
        flex-wrap: nowrap !important;
        overflow: scroll !important;
        justify-content: start !important;
        scrollbar-width: none;
        padding-right: 60px !important;
    }

    .vp-filter::-webkit-scrollbar {
        display: none;
    }

    .vp-filter::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 80px;
        background: linear-gradient(to right, #F5F8FA00, #F5F8FA);
        pointer-events: none;
        z-index: 2;
    }

    [type="text"],
    [type="email"],
    textarea,
    .wpforms-submit{
        font-size: 17px !important;
    }

    [type="text"]::placeholder,
    [type="email"]::placeholder,
    textarea::placeholder{
        font-size: 17px !important;
    }
}

@media only screen and (max-width: 993px) and (min-width: 0px){
    :root {
        --admin-bar: 46px;
    }
}

@media only screen and (max-width: 767px) and (min-width: 0px){
    .vp-filter__item>*{
        font-size: 13px !important;
        padding: 6px 8px !important;
    }

    .vp-portfolio__item-popup-title{
        font-size: 24px !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    .vp-filter__item-count{
        margin-top: -1px !important;
    }

    .home-footer{
        bottom: 60px;
    }
}

@media only screen and (max-width: 500px) and (min-width: 0px){
    body.home {
        overflow: hidden !important;
        height: 100vh !important;
    }
}

@media only screen and (orientation: landscape) and (max-height: 767px) {
    .hero{
        height: 100vh !important;
        min-height: 800px !important;
    }
}

/* .hero-slider.pc {
    display: none !important;
}
.hero-slider.mobile {
    display: block !important;
}

@media (min-width: 768px) {
    .hero-slider.pc {
        display: block !important;
    }
    .hero-slider.mobile {
        display: none !important;
    }
} */

/* Conteneur global si tes deux sliders sont dans la même section */

/* ÉTAT PAR DÉFAUT : MOBILE */
.hero-slider.pc {
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none !important; /* Désactive les clics quand il est caché */
}
.hero-slider.mobile {
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    pointer-events: auto !important;
}

/* MODE PC / TABLETTE (À partir de 768px) */
@media (min-width: 768px) {
    .hero-slider.pc {
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        pointer-events: auto !important;
    }
    .hero-slider.mobile {
        visibility: hidden !important;
        opacity: 0 !important;
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100%;
        pointer-events: none !important;
    }
}

