.elementor-kit-6{--e-global-color-primary:#1CAFB9;--e-global-color-secondary:#11182A;--e-global-color-text:#404040;--e-global-color-accent:#1CAFB9;--e-global-color-79b25f6:#1A3A4D;--e-global-color-7081164:#8FCFD6;--e-global-typography-primary-font-family:"Figtree";--e-global-typography-secondary-font-family:"Figtree";--e-global-typography-text-font-family:"Figtree";--e-global-typography-accent-font-family:"Figtree";color:var( --e-global-color-text );font-size:16px;line-height:22px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );color:#FFFFFF;border-radius:100px 100px 100px 100px;padding:14px 28px 14px 28px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-79b25f6 );color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-accent );}.elementor-kit-6 a:hover{color:#1CAFB999;}.elementor-kit-6 h1{color:var( --e-global-color-secondary );font-size:48px;font-weight:bold;line-height:58px;}.elementor-kit-6 h2{color:var( --e-global-color-secondary );font-size:32px;font-weight:700;line-height:42px;}.elementor-kit-6 h3{color:var( --e-global-color-secondary );font-size:24px;font-weight:700;line-height:30px;}.elementor-kit-6 h4{color:var( --e-global-color-secondary );font-size:16px;font-weight:700;line-height:22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{font-size:16px;line-height:22px;}.elementor-kit-6 h1{font-size:40px;line-height:48px;}.elementor-kit-6 h2{font-size:30px;line-height:38px;}.elementor-kit-6 h3{font-size:22px;line-height:28px;}.elementor-kit-6 h4{font-size:16px;line-height:22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-kit-6{font-size:16px;}.elementor-kit-6 h1{font-size:32px;line-height:40px;}.elementor-kit-6 h2{font-size:26px;line-height:32px;}.elementor-kit-6 h3{font-size:20px;line-height:26px;}.elementor-kit-6 h4{font-size:16px;line-height:22px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{padding:14px 28px 14px 28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}
/* Start custom CSS */.elementor-widget-text-editor p:last-child {
    margin-bottom: 0px;
}


/*---Soulignement bouton---*/
.btn-underline .pp-info-box-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    width: fit-content;
    padding-bottom: 8px!important;
}

.btn-underline .pp-info-box-button::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: currentColor;
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 0.3s ease;
}

.btn-underline .pp-info-box-button:hover::before {
    transform: scaleX(0);
    transform-origin: left center;
}


.realisations-grid .elementor-loop-container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 24px;
}
/* On force les balises style à ne pas s'afficher */
.realisations-grid .elementor-loop-container > style {
    display: none;
}
/* Le motif s'applique uniquement aux items réels (les .e-loop-item) */
.realisations-grid .elementor-loop-container > .e-loop-item:nth-of-type(4n+1) { grid-column: span 5; }
.realisations-grid .elementor-loop-container > .e-loop-item:nth-of-type(4n+2) { grid-column: span 7; }
.realisations-grid .elementor-loop-container > .e-loop-item:nth-of-type(4n+3) { grid-column: span 7; }
.realisations-grid .elementor-loop-container > .e-loop-item:nth-of-type(4n+4) { grid-column: span 5; }

/* ---- Transition douce du voile noir au survol ---- */
.realisations-grid .e-loop-item .elementor-element-1fee7da::before {
    transition: background-color 0.4s ease, opacity 0.4s ease !important;
}
.realisations-grid .e-loop-item .elementor-element-1fee7da {
    transition: box-shadow 0.4s ease!important;
    overflow: hidden;
}
/* ---- L'infobox : cachée au repos, glisse de bas en haut au survol ---- */
.realisations-grid .e-loop-item .elementor-widget-pp-info-box {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.45s ease, transform 0.45s ease!important;
}
.realisations-grid .e-loop-item:hover .elementor-widget-pp-info-box {
    opacity: 1;
    transform: translateY(0)!important;
}


/* Mobile : 1 seule colonne */
@media (max-width: 767px) {
    .realisations-grid .elementor-loop-container > .e-loop-item:nth-of-type(n) {
        grid-column: span 12;
    }
    /* L'infobox reste visible sur mobile (pas de survol au doigt) */
    .realisations-grid .e-loop-item .elementor-widget-pp-info-box {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Le conteneur du widget laisse déborder les flèches */
.slider-arrows-out .elementor-widget-container {
    overflow: visible;
}

/* Le swiper garde son masquage des slides */
.slider-arrows-out .elementor-main-swiper {
    overflow: hidden;
}

/* Les flèches sortent, positionnées par rapport au widget */
.slider-arrows-out .elementor-swiper-button-prev {
    left: -16px!important;
    z-index: 10;
}
.slider-arrows-out .elementor-swiper-button-next {
    right: -16px!important;
    z-index: 10;
}

/* Tablette : on rapproche un peu les flèches */
@media (max-width: 1024px) {
    .slider-arrows-out .elementor-swiper-button-prev {
        left: 0px!important;
    }
    .slider-arrows-out .elementor-swiper-button-next {
        right: 0px!important;
    }
}

/* Mobile : les flèches reviennent à l'intérieur du carrousel */
@media (max-width: 767px) {
    .slider-arrows-out .elementor-swiper-button-prev {
        left: 5px!important;
    }
    .slider-arrows-out .elementor-swiper-button-next {
        right: 5px!important;
    }
}


/*--- Alignement et taille icone bouton ---*/
.btn-icone-xl .elementor-button-content-wrapper {
    display: flex !important;
    align-items: center !important;
}

.btn-icone-xl .elementor-button-icon svg {
    width: 50px !important;
    height: 50px !important;
}





/* ---- Panneaux : masqués par défaut, transition douce au changement ---- */
.tab-panel {
    display: none !important;
    opacity: 0;
    transform: translateY(20px);
}

.tab-panel.is-active {
    display: flex !important;
    flex-direction: column;
    animation: tabFadeIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes tabFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---- Boutons : transition douce sur tous les états ---- */
.tab-btn,
.tab-btn * {
    transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease !important;
}

.tab-btn.is-active .elementor-button,
.tab-btn.is-active .pp-info-box {
    background-color: #1CAFB9;
    color: #FFFFFF;
}

/* ---- Mobile : boutons en carrousel horizontal ---- */
@media (max-width: 767px) {
    .tabs-scroll {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        gap: 12px;
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .tabs-scroll::-webkit-scrollbar {
        display: none;
    }
    .tabs-scroll > * {
        flex: 0 0 auto;
    }
    .tabs-scroll .pp-info-box-icon img,
    .tabs-scroll .pp-info-box-icon svg,
    .tabs-scroll .elementor-button-icon img,
    .tabs-scroll .elementor-button-icon svg {
        width: 40px !important;
        height: 40px !important;
    }
}


/* Supprime l'espace sous le bouton */
.form-contact .gform_footer {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Icône avion à gauche du texte du bouton */
.form-contact .gform_button {
    background-image: url("https://staging.webcrea74.fr/app/uploads/2026/07/plane_sending.svg")!important;
    background-repeat: no-repeat!important;
    background-position: 24px center!important;
    background-size: 18px 18px!important;
    padding-left: 52px !important;
}/* End custom CSS */