.elementor-kit-6{--e-global-color-primary:#578C70;--e-global-color-secondary:#FDC700;--e-global-color-text:#6A6A6A;--e-global-color-accent:#4ADC80;--e-global-color-2b6ecac:#FFFFFF;--e-global-color-29161e4:#000000;--e-global-color-f1857de:#F3F3F5;--e-global-color-3b275ee:#101828;--e-global-color-67c2d0d:#4A5565;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:3rem;--e-global-typography-primary-font-weight:900;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:3.75rem;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:2.188rem;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-line-height:2.5rem;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:1.125rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-line-height:1.875rem;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:1.25rem;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-line-height:1.75rem;--e-global-typography-3086bae-font-size:1.125rem;--e-global-typography-3086bae-font-weight:600;--e-global-typography-3086bae-text-transform:none;--e-global-typography-3086bae-line-height:1.875rem;--e-global-typography-ba6ad11-font-family:"Inter";--e-global-typography-ba6ad11-font-size:0.875rem;--e-global-typography-ba6ad11-font-weight:500;--e-global-typography-ba6ad11-text-transform:none;--e-global-typography-ba6ad11-line-height:1.25rem;--e-global-typography-928c2cf-font-family:"Inter";--e-global-typography-928c2cf-font-size:0.875rem;--e-global-typography-928c2cf-font-weight:500;--e-global-typography-928c2cf-text-transform:none;--e-global-typography-928c2cf-line-height:1.25rem;--e-global-typography-4729997-font-family:"Roboto";--e-global-typography-4729997-font-size:1.25rem;--e-global-typography-4729997-font-weight:500;--e-global-typography-4729997-text-transform:none;--e-global-typography-4729997-line-height:1.75rem;--e-global-typography-013dc3f-font-size:1.75rem;--e-global-typography-013dc3f-font-weight:800;--e-global-typography-013dc3f-text-transform:none;--e-global-typography-013dc3f-line-height:1.813rem;--e-global-typography-3dc5ad3-font-family:"Roboto";--e-global-typography-3dc5ad3-font-size:1.063rem;--e-global-typography-3dc5ad3-font-weight:500;--e-global-typography-3dc5ad3-text-transform:none;--e-global-typography-3dc5ad3-line-height:1.563rem;--e-global-typography-333b83d-font-family:"Poppins";--e-global-typography-333b83d-font-size:1.375rem;--e-global-typography-333b83d-font-weight:600;--e-global-typography-333b83d-text-transform:none;--e-global-typography-333b83d-line-height:2rem;--e-global-typography-8f2fc42-font-family:"Inter";--e-global-typography-8f2fc42-font-size:1rem;--e-global-typography-8f2fc42-font-weight:400;--e-global-typography-8f2fc42-text-transform:none;--e-global-typography-8f2fc42-line-height:1.5rem;--e-global-typography-c590df0-font-family:"Poppins";--e-global-typography-c590df0-font-size:1.125rem;--e-global-typography-c590df0-font-weight:600;--e-global-typography-c590df0-text-transform:none;--e-global-typography-c590df0-line-height:2rem;--e-global-typography-dd8213d-font-family:"Poppins";--e-global-typography-dd8213d-font-size:0.875rem;--e-global-typography-dd8213d-font-weight:700;--e-global-typography-dd8213d-text-transform:uppercase;--e-global-typography-dd8213d-line-height:1.25rem;--e-global-typography-4e1123d-font-family:"Poppins";--e-global-typography-4e1123d-font-size:3.75rem;--e-global-typography-4e1123d-font-weight:600;--e-global-typography-4e1123d-text-transform:none;--e-global-typography-4e1123d-line-height:2.5rem;--e-global-typography-bf6cfcc-font-family:"Poppins";--e-global-typography-bf6cfcc-font-size:1.5rem;--e-global-typography-bf6cfcc-font-weight:500;--e-global-typography-bf6cfcc-text-transform:none;--e-global-typography-bf6cfcc-line-height:2rem;--e-global-typography-d607d08-font-family:"Inter";--e-global-typography-d607d08-font-size:1.125rem;--e-global-typography-d607d08-font-weight:600;--e-global-typography-d607d08-text-transform:none;--e-global-typography-d607d08-line-height:1.125rem;--e-global-typography-c5ba51d-font-family:"Poppins";--e-global-typography-c5ba51d-font-size:0.875rem;--e-global-typography-c5ba51d-font-weight:600;--e-global-typography-c5ba51d-text-transform:none;--e-global-typography-c5ba51d-line-height:1.25rem;--e-global-typography-6a2677f-font-family:"Poppins";--e-global-typography-6a2677f-font-size:0.8rem;--e-global-typography-6a2677f-font-weight:700;--e-global-typography-6a2677f-text-transform:uppercase;--e-global-typography-6a2677f-line-height:1.25rem;--e-global-typography-ce0831b-font-family:"Poppins";--e-global-typography-ce0831b-font-size:1.2rem;--e-global-typography-ce0831b-font-weight:700;--e-global-typography-ce0831b-text-transform:none;--e-global-typography-ce0831b-line-height:1.375rem;--e-global-typography-2a0058b-font-family:"Poppins";--e-global-typography-2a0058b-font-size:0.938rem;--e-global-typography-2a0058b-font-weight:700;--e-global-typography-2a0058b-text-transform:uppercase;--e-global-typography-2a0058b-line-height:1rem;--e-global-typography-3375236-font-family:"Poppins";--e-global-typography-3375236-font-size:1.125rem;--e-global-typography-3375236-font-weight:700;--e-global-typography-3375236-text-transform:uppercase;--e-global-typography-3375236-line-height:1.125rem;--e-global-typography-0db3e5d-font-family:"Poppins";--e-global-typography-0db3e5d-font-size:1.125rem;--e-global-typography-0db3e5d-font-weight:600;--e-global-typography-0db3e5d-text-transform:none;--e-global-typography-0db3e5d-line-height:1.25rem;--e-global-typography-24e1844-font-family:"Poppins";--e-global-typography-24e1844-font-size:1.063rem;--e-global-typography-24e1844-font-weight:600;--e-global-typography-24e1844-text-transform:none;--e-global-typography-24e1844-line-height:1.063rem;--e-global-typography-1c4242d-font-family:"Poppins";--e-global-typography-1c4242d-font-size:0.875rem;--e-global-typography-1c4242d-font-weight:500;--e-global-typography-1c4242d-text-transform:none;--e-global-typography-1c4242d-line-height:0.875rem;--e-global-typography-f05f1cd-font-family:"Poppins";--e-global-typography-f05f1cd-font-size:0.875rem;--e-global-typography-f05f1cd-font-weight:600;--e-global-typography-f05f1cd-text-transform:uppercase;--e-global-typography-f05f1cd-line-height:0.875rem;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{border-radius:30px 30px 30px 30px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:58.4375vw;}.e-con{--container-max-width:58.4375vw;}.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:1700px){.elementor-kit-6{--e-global-typography-primary-font-size:2.4rem;--e-global-typography-primary-line-height:2.4rem;--e-global-typography-secondary-font-size:1.8rem;--e-global-typography-secondary-line-height:1.8rem;--e-global-typography-text-font-size:1rem;--e-global-typography-text-line-height:1.2rem;--e-global-typography-accent-font-size:1.1rem;--e-global-typography-accent-line-height:1.2rem;--e-global-typography-3086bae-font-size:1rem;--e-global-typography-3086bae-line-height:1rem;--e-global-typography-ba6ad11-font-size:0.8rem;--e-global-typography-ba6ad11-line-height:0.8rem;--e-global-typography-928c2cf-font-size:0.8rem;--e-global-typography-928c2cf-line-height:0.8rem;--e-global-typography-4729997-font-size:1.1rem;--e-global-typography-4729997-line-height:1.2rem;--e-global-typography-013dc3f-font-size:1.4rem;--e-global-typography-013dc3f-line-height:1.4rem;--e-global-typography-3dc5ad3-font-size:1rem;--e-global-typography-3dc5ad3-line-height:1rem;--e-global-typography-333b83d-font-size:1.2rem;--e-global-typography-333b83d-line-height:1.4rem;--e-global-typography-c590df0-font-size:1rem;--e-global-typography-c590df0-line-height:1.4rem;--e-global-typography-6a2677f-font-size:0.8rem;--e-global-typography-6a2677f-line-height:0.8rem;--e-global-typography-ce0831b-font-size:0.8rem;--e-global-typography-ce0831b-line-height:0.8rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:75vw;}.e-con{--container-max-width:75vw;}}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:80vw;}.e-con{--container-max-width:80vw;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:95vw;}.e-con{--container-max-width:95vw;}}/* Start custom CSS *//* ============================================================
   SECTION 1 : GÉNÉRAL & UTILITAIRES
   ============================================================ */

.pointer { cursor: pointer; }
.jaune { color: #FDC700 !important; }
/* --- Classe Générale pour l'animation des boutons --- */
.btn-decouvrir svg {
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

/* On déclenche l'anim quand on survol le bouton lui-même... */
.btn-decouvrir:hover svg {
    transform: translateX(8px) !important;
}

/* ...OU quand on survole un conteneur parent (comme tes cartes) */
.slide-nuisible:hover .btn-decouvrir svg,
.service-pro-container:hover .btn-decouvrir svg {
    transform: translateX(8px) !important;
}

/* ============================================================
   SECTION 2 : HEADER (ORDINATEUR & MOBILE) - VERSION CORRIGÉE
   ============================================================ */

/* --- 1. FORCE LA PLEINE LARGEUR EN TOUTE CIRCONSTANCE --- */
.header-ordi, 
.header-mobile {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
    background-color: transparent !important;
    transition: all 0.4s ease-in-out !important;
    box-shadow: 0px 0px 0px rgba(0,0,0,0) !important;
}

/* --- 2. SÉCURITÉ ANTI-ÉCRASEMENT DES ÉLÉMENTS --- */
.header-logo,
.header-logo svg,
.btn-tel-header,
.header-ordi .elementor-item {
    flex-shrink: 0 !important;       /* Interdit à Elementor de ratatiner ces blocs */
    white-space: nowrap !important; /* Empêche les textes et numéros de se couper */
}

/* --- Fix pour l'éditeur Elementor --- */
.elementor-editor-active .header-ordi {
    position: relative !important; 
    width: 100% !important;        
    left: 0 !important;
    top: 0 !important;
    margin: 0 !important;
}

.elementor-editor-active .header-ordi > .e-con,
.elementor-editor-active .header-ordi > .e-con-full {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    display: flex !important;
}

/* --- Typographie & Icônes (État Initial) --- */
.header-ordi .elementor-item,
.btn-tel-header .elementor-button-text,
.header-mobile .elementor-menu-toggle svg,
.elementor-nav-menu .sub-arrow svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    transition: all 0.3s ease-in-out !important;
}

/* --- Logo & Icônes SVG (État Initial) --- */
.header-logo svg {
    transition: all 0.4s ease-in-out !important;
}

.header-logo svg path {
    fill: #ffffff !important;
}

.btn-tel-header svg path,
.btn-tel-header svg {
    stroke: #ffffff !important;
    fill: none !important; 
}

/* --- État au Scroll (Header Blanc) --- */
.header-ordi.is-scrolled,
.header-mobile.is-scrolled {
    background-color: #ffffff !important;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08) !important; 
}

.is-scrolled .header-logo svg {
    height: 55px !important;
    width: auto !important; /* Sécurité : conserve les proportions du logo sans bloquer la largeur */
} 

.is-scrolled .elementor-item,
.is-scrolled .btn-tel-header .elementor-button-text {
    color: #578C70 !important;
}

.is-scrolled .header-logo svg path,
.is-scrolled .header-mobile .elementor-menu-toggle svg,
.is-scrolled .elementor-nav-menu .sub-arrow svg {
    fill: #578C70 !important;
}

.is-scrolled .btn-tel-header svg path,
.is-scrolled .btn-tel-header svg {
    stroke: #578C70 !important;
    fill: none !important;
}

/* --- 3. BASCULE RESPONSIVE (Évite le conflit de largeur) --- */
@media (max-width: 1024px) {
    .header-ordi {
        display: none !important; /* Cache le header ordi pour qu'il ne pousse pas les murs */
    }
    .header-mobile {
        display: flex !important; /* Active le mode mobile proprement */
    }
}

@media (min-width: 1025px) {
    .header-mobile {
        display: none !important;
    }
    .header-ordi {
        display: flex !important;
    }
}

/* ============================================================
   SECTION 3 : FORMULAIRE DE DEVIS (GRAVITY FORMS)
   ============================================================ */

/* --- Structure & Labels --- */
.form-devis-simple-home #gform_fields_1 {
    font-family: 'Poppins', sans-serif;
    grid-row-gap: 0 !important;
}

.form-devis-simple-home .gfield_label, 
.form-devis-simple-home .gfield_required {
    display: none !important;
}

/* --- Champs de saisie (Texte, Email, Tel) --- */
.form-devis-simple-home input[type="text"],
.form-devis-simple-home input[type="email"],
.form-devis-simple-home input[type="tel"] {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 0 30px !important;
    height: 55px !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #364153 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* --- Champ de sélection (Menu déroulant) --- */
.form-devis-simple-home select {
    appearance: none;
    -webkit-appearance: none;
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    height: 55px !important; 
    line-height: 55px !important; 
    padding: 0 50px 0 30px !important; 
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #364153 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.292893 0.292893C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='%23364153'/%3E%3C/svg%3E");
    background-repeat: no-repeat !important;
    background-position: right 25px center !important;
    background-size: 12px !important;
}

/* --- Champ Message (Textarea) --- */
.form-devis-simple-home textarea.textarea {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 20px 30px !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #364153 !important;
    height: 87px !important; 
    min-height: 87px !important;
    resize: none;
}

/* --- Placeholders --- */
.form-devis-simple-home ::placeholder { color: #364153 !important; opacity: 1; }
.form-devis-simple-home :-ms-input-placeholder { color: #364153 !important; }
.form-devis-simple-home ::-ms-input-placeholder { color: #364153 !important; }

/* --- Bouton d'envoi --- */
.form-devis-simple-home .gform_footer {
    padding: 0 !important;
    margin-top: 20px !important;
    display: flex !important;
    justify-content: center !important;
}

.form-devis-simple-home .gform_footer input[type="submit"] {
    background-color: #4ADC80 !important;
    color: #000000 !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px;
    padding: 15px 0 !important;
    border-radius: 50px !important;
    border: none !important;
    width: 85% !important; 
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.form-devis-simple-home .gform_footer input[type="submit"]:hover {
    background-color: #2bc972 !important;
    transform: translateY(-2px);
}

/* --- Mise en page & Responsive Formulaire --- */
.form-devis-simple-home .gfield {
    margin-bottom: 15px !important;
    padding-right: 0 !important;
}

.form-devis-simple-home input:focus, 
.form-devis-simple-home textarea:focus, 
.form-devis-simple-home select:focus {
    outline: none !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}

@media only screen and (min-width: 1400px) {
    .form-devis-simple-home { max-width: 600px; margin: 0 auto; }
}

@media only screen and (max-width: 1200px) {
    .form-devis-simple-home { max-width: 550px; margin: 0 auto; }
    .form-devis-simple-home .gform_footer input[type="submit"] { width: 90% !important; }
}


@media only screen and (max-width: 767px) {
    .form-devis-simple-home { padding: 0 15px; }
    .form-devis-simple-home input[type="text"],
    .form-devis-simple-home input[type="email"],
    .form-devis-simple-home input[type="tel"],
    .form-devis-simple-home select { height: 50px !important; line-height: 50px !important; font-size: 13px !important; }
    .form-devis-simple-home textarea.textarea { height: 100px !important; }
    .form-devis-simple-home .gform_footer input[type="submit"] { width: 100% !important; font-size: 14px !important; padding: 12px 0 !important; }
    .form-devis-simple-home .gfield { grid-column: span 12 !important; }
}


/* ============================================================
   SECTION 4 : SLIDER NUISIBLES (CARDS ET HOVER)
   ============================================================ */

/* --- 4.1 État Initial (Repos) --- */
.slide-nuisible {
    transition: background-color 0.3s ease-in-out !important;
    cursor: pointer;
    overflow: hidden;
}

.slide-nuisible .boite-icone-nuisible .elementor-icon {
    background-color: #FFFFFF !important;
    border-radius: 15px; 
    display: inline-flex;
    padding: 10px;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.slide-nuisible .boite-icone-nuisible svg path {
    fill: #000000 !important;
}

.slide-nuisible .elementor-icon-box-title span,
.slide-nuisible .elementor-icon-box-description,
.slide-nuisible .btn-nuisible .elementor-button-text {
    color: #FFFFFF !important;
    transition: color 0.3s ease !important;
}

.slide-nuisible .icone-nuisible svg path,
.slide-nuisible .btn-nuisible svg path {
    stroke: #FFFFFF !important;
    transition: stroke 0.3s ease, transform 0.3s ease !important;
}

.slide-nuisible .btn-nuisible .elementor-button {
    border: 1px solid transparent !important;
    transition: all 0.3s ease-in-out !important;
    background-color: transparent !important;
}

.slide-nuisible .elementor-divider-separator {
    border-top-color: #FFFFFF !important;
    transition: border-color 0.3s ease !important;
}

/* --- 4.2 État au Survol (Hover) --- */
.slide-nuisible:hover {
    background-color: #FFC333 !important;
}

.slide-nuisible:hover .boite-icone-nuisible .elementor-icon {
    transform: scale(1.15);
}

.slide-nuisible:hover .btn-nuisible svg {
    transform: translateX(8px);
}

.slide-nuisible:hover .btn-nuisible {
    border-color: #E0B000 !important;
}

.slide-nuisible:hover .elementor-icon-box-title span,
.slide-nuisible:hover .elementor-icon-box-description,
.slide-nuisible:hover .btn-nuisible .elementor-button-text {
    color: #000000 !important;
}

.slide-nuisible:hover .icone-nuisible svg path,
.slide-nuisible:hover .btn-nuisible svg path {
    stroke: #000000 !important;
}

.slide-nuisible:hover .elementor-divider-separator {
    border-top-color: #000000 !important;
}


/* ============================================================
   SECTION 5 : SERVICES PRO (STRUCTURE & HOVER)
   ============================================================ */

/* 1. Structure des cartes (Hauteur égale) */
.service-pro-container {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    transition: box-shadow 0.4s ease, transform 0.4s ease;
    background-color: #ffffff; /* Fond par défaut si nécessaire */
}

/* 2. Gestion du texte et du bouton */
.service-pro-boite-texte {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    transition: background-color 0.4s ease !important;
}

.btn-service-pro {
    margin-top: auto !important;
}

/* 3. Animation de l'image (Effet Zoom) */
.service-pro-img {
    overflow: hidden;
}

.service-pro-img img {
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
    transform: scale(1);
    display: block;
    width: 100%;
}

/* ============================================================
   ÉTAT AU SURVOL (HOVER)
   ============================================================ */

/* Changement du fond de la boîte au survol du parent */
.service-pro-container:hover .service-pro-boite-texte {
    background-color: #FDC700 !important;
}

/* Zoom image au survol */
.service-pro-container:hover .service-pro-img img {
    transform: scale(1.1) translateY(-5px);
}

/* Passage de TOUS les textes et icônes en noir au survol */
.service-pro-container:hover .service-pro-boite-texte h2, 
.service-pro-container:hover .service-pro-boite-texte p,
.service-pro-container:hover .service-pro-boite-texte .elementor-button-text,
.service-pro-container:hover .service-pro-boite-texte .elementor-button-icon svg path {
    color: #000000 !important;
    stroke: #000000 !important;
    fill: none; /* Garde le tracé de l'icône propre */
}

/* Ombre portée sur la carte entière */
.service-pro-container:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}
/* ============================================================
   PAGINATION SWIPER & ACCORDÉON
   ============================================================ */

.swiper-pagination-bullet {
    background: #D9D9D9 !important;
    opacity: 1 !important;
}
.swiper-pagination-bullet-active {
    background: #FDC700 !important;
    opacity: 1 !important;
}

/* FAQ radius */
.faq-radius .e-n-accordion:not(.border-none) .e-n-accordion-item{
    border-radius: 3.188vw;
    transition: border-bottom-left-radius 0.3s ease;
}
.faq-radius .e-n-accordion:not(.border-none) .e-n-accordion-item[open] summary {
    border-radius: 3.188vw 3.188vw 0 0;
}


/* ============================================================
   FORMULAIRE DE CONTACT LARGE (ID 2)
   ============================================================ */
#gform_2 .gform_fields {
    row-gap: 20px !important;
    column-gap: 39px !important;
}
/* --- Champs de saisie (Input & Select) --- */
#gform_2 input[type="text"],
#gform_2 input[type="email"],
#gform_2 input[type="tel"],
#gform_2 select {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 0 30px !important;
    height: 60px !important; /* Hauteur légèrement augmentée pour le look premium */
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #364153 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
    box-sizing: border-box !important;
}

/* --- Champ Message (Textarea) --- */
#gform_2 textarea {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 30px !important;
    padding: 25px 30px !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #364153 !important;
    min-height: 180px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
    resize: none !important;
}

/* --- Select (Flèche personnalisée) --- */
#gform_2 select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.292893 0.292893C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='%23364153'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 25px center !important;
    background-size: 12px !important;
}

/* --- Placeholders --- */
#gform_2 ::placeholder { color: #364153 !important; opacity: 1; }

/* --- Alignement vertical parfait des Selects (ID 2) --- */

#gform_2 .gfield select {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    /* On utilise line-height égal à la hauteur pour centrer le texte */
    line-height: 60px !important; 
    height: 60px !important;
}

/* Ajustement pour les navigateurs basés sur Webkit (Chrome, Safari, Edge) */
#gform_2 select::-webkit-select-placeholder {
    line-height: 60px !important;
}

/* Correction du décalage sur les champs texte pour être raccord */
#gform_2 input[type="text"],
#gform_2 input[type="email"],
#gform_2 input[type="tel"] {
    line-height: 60px !important;
    height: 60px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Si les flèches SVG sont trop hautes, on ajuste leur position */
#gform_2 .gfield select {
    background-position: right 25px center !important;
}

/* --- Bouton d'envoi --- */
#gform_2 .gform_footer {
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
}

#gform_2 .gform_button {
    background-color: #7ce09d !important; /* Vert clair de la maquette */
    color: #000000 !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 18px 60px !important;
    border-radius: 50px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

#gform_2 .gform_button:hover {
    background-color: #4ADC80 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
}

/* --- Focus State --- */
#gform_2 input:focus, #gform_2 select:focus, #gform_2 textarea:focus {
    outline: none !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}

/* --- Responsive --- */
@media only screen and (max-width: 1024px) {
    #gform_2 .gform_fields {
        grid-template-columns: repeat(2, 1fr) !important; /* 2 colonnes sur tablette */
    }
}

@media only screen and (max-width: 767px) {
    #gform_2 .gform_fields {
        grid-template-columns: 1fr !important; /* 1 colonne sur mobile */
        grid-row-gap: 15px !important;
    }
    #gform_2 input[type="text"],
    #gform_2 input[type="email"],
    #gform_2 input[type="tel"],
    #gform_2 select { 
    font-size: 10px !important;
    height: 40px !important;
    }
    #gform_2 textarea {
    font-size: 10px !important;
    min-height: 80px !important;
    }
    #gform_2 .gfield select {
    line-height: 40px !important; 
    height: 40px !important;
}
    #gform_2 .gform_button {
    font-size: 12px !important;
     padding: 10px 30px !important;
}
}
/* ============================================================
   NAVIGATION D'ANCRES AVEC GLISSEMENT FLUIDE
   ============================================================ */

/* 1. État de base (Géré par Elementor, on ajoute la transition) */
.nav-fixe {
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex !important;
    /* On prépare les marges pour l'animation */
}

/* On cible le premier enfant (la liste) et le dernier (les boutons) */
.nav-fixe > .elementor-element {
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 2. État Sticky activé */
.nav-fixe.elementor-sticky--active {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    border-radius: 0px !important;
    box-shadow: 0px 4px 15px rgba(0,0,0,0.1);
    
    /* On utilise le gap pour l'espace final au centre */
    gap: 50px; 
}

/* L'ASTUCE DU GLISSEMENT : */
.nav-fixe.elementor-sticky--active > .elementor-element:first-child {
    /* Pousse le premier élément vers la droite */
    margin-left: 25% !important; 
}

.nav-fixe.elementor-sticky--active > .elementor-element:last-child {
    /* Pousse le dernier élément vers la gauche */
    margin-right: auto !important;
}

/* ============================================================
   VERSION MOBILE (Responsive)
   ============================================================ */
@media (max-width: 767px) {
    .nav-fixe.elementor-sticky--active {
        /* On réduit le gap car l'espace est limité sur mobile */
        gap: 15px !important;
        width: 99vw !important;
    }

    .nav-fixe.elementor-sticky--active > .elementor-element:first-child {
        /* On annule le décalage de 25% pour centrer naturellement */
        margin-left: 0 !important; 
    }

    .nav-fixe.elementor-sticky--active > .elementor-element:last-child {
        /* On annule la marge auto pour éviter un décalage visuel */
        margin-right: 0 !important;
    }
    
}/* End custom CSS */