.elementor-2716 .elementor-element.elementor-element-5f954e46{--display:flex;--min-height:404px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.6;--padding-top:2%;--padding-bottom:2%;--padding-left:0%;--padding-right:0%;}.elementor-2716 .elementor-element.elementor-element-5f954e46:not(.elementor-motion-effects-element-type-background), .elementor-2716 .elementor-element.elementor-element-5f954e46 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://fermelux.lu/wp-content/uploads/2026/10/hero-opt-ferme-lux-hero-contact-d.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-2716 .elementor-element.elementor-element-5f954e46::before, .elementor-2716 .elementor-element.elementor-element-5f954e46 > .elementor-background-video-container::before, .elementor-2716 .elementor-element.elementor-element-5f954e46 > .e-con-inner > .elementor-background-video-container::before, .elementor-2716 .elementor-element.elementor-element-5f954e46 > .elementor-background-slideshow::before, .elementor-2716 .elementor-element.elementor-element-5f954e46 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2716 .elementor-element.elementor-element-5f954e46 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-2716 .elementor-element.elementor-element-3c7ce6f1{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2716 .elementor-element.elementor-element-3c7ce6f1.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2716 .elementor-element.elementor-element-1b8c6747{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2716 .elementor-element.elementor-element-73f0064{background-color:var( --e-global-color-secondary );padding:1% 1% 1% 1%;}.elementor-2716 .elementor-element.elementor-element-73f0064.elementor-element{--align-self:flex-start;}.elementor-2716 .elementor-element.elementor-element-73f0064 .elementor-heading-title{font-family:"Archivo Narrow", Sans-serif;font-size:1.2rem;font-weight:500;color:var( --e-global-color-accent );}.elementor-2716 .elementor-element.elementor-element-3185ea44 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:#FFFFFF;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2716 .elementor-element.elementor-element-313ae460{text-align:justify;color:#FFFFFF;}.elementor-2716 .elementor-element.elementor-element-17666db{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:64px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-2716 .elementor-element.elementor-element-3244bfe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2716 .elementor-element.elementor-element-3b11693 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-2716 .elementor-element.elementor-element-449db0a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-2716 .elementor-element.elementor-element-ddb83ff{padding:3% 3% 3% 3%;border-style:solid;border-width:2px 2px 2px 2px;border-color:#E5E7EB;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-field-group > label, .elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-field-type-html{padding-bottom:0px;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-text );color:#ffffff;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-button[type="submit"]{background-color:var( --e-global-color-text );color:#ffffff;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-2716 .elementor-element.elementor-element-ddb83ff .e-form__buttons__wrapper__button-next:hover{background-color:#FFFFFF;color:var( --e-global-color-text );}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-button[type="submit"]:hover{background-color:#FFFFFF;color:var( --e-global-color-text );}.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-text );}.elementor-2716 .elementor-element.elementor-element-ddb83ff .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-2716 .elementor-element.elementor-element-adc75f5{--display:flex;--padding-top:64px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-2716 .elementor-element.elementor-element-adc75f5:not(.elementor-motion-effects-element-type-background), .elementor-2716 .elementor-element.elementor-element-adc75f5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2716 .elementor-element.elementor-element-b48ec63{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 24px) 0px;}.elementor-2716 .elementor-element.elementor-element-4728346{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:05%;--margin-bottom:5%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2716 .elementor-element.elementor-element-28baa53{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2716 .elementor-element.elementor-element-2d02ea5e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.5;--padding-top:6%;--padding-bottom:3%;--padding-left:0%;--padding-right:0%;}.elementor-2716 .elementor-element.elementor-element-2d02ea5e::before, .elementor-2716 .elementor-element.elementor-element-2d02ea5e > .elementor-background-video-container::before, .elementor-2716 .elementor-element.elementor-element-2d02ea5e > .e-con-inner > .elementor-background-video-container::before, .elementor-2716 .elementor-element.elementor-element-2d02ea5e > .elementor-background-slideshow::before, .elementor-2716 .elementor-element.elementor-element-2d02ea5e > .e-con-inner > .elementor-background-slideshow::before, .elementor-2716 .elementor-element.elementor-element-2d02ea5e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-2716 .elementor-element.elementor-element-2d02ea5e > .elementor-shape-top svg, .elementor-2716 .elementor-element.elementor-element-2d02ea5e > .e-con-inner > .elementor-shape-top svg{height:78px;}.elementor-2716 .elementor-element.elementor-element-6142f157{--display:flex;}.elementor-2716 .elementor-element.elementor-element-3fd1cb34{text-align:center;}.elementor-2716 .elementor-element.elementor-element-3fd1cb34 .elementor-heading-title{font-size:2.5rem;font-weight:700;color:var( --e-global-color-text );}.elementor-2716 .elementor-element.elementor-element-5c6c7960{text-align:center;}.elementor-2716 .elementor-element.elementor-element-63128069{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:2%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-2716 .elementor-element.elementor-element-77e0bb23 .elementor-button{background-color:var( --e-global-color-text );border-style:solid;border-width:3px 3px 3px 3px;border-color:#0E0000;border-radius:0px 0px 0px 0px;}.elementor-2716 .elementor-element.elementor-element-77e0bb23 .elementor-button:hover, .elementor-2716 .elementor-element.elementor-element-77e0bb23 .elementor-button:focus{background-color:#02010100;color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-2716 .elementor-element.elementor-element-77e0bb23 .elementor-button:hover svg, .elementor-2716 .elementor-element.elementor-element-77e0bb23 .elementor-button:focus svg{fill:var( --e-global-color-text );}.elementor-2716 .elementor-element.elementor-element-7dd26cb8 .elementor-button{background-color:#00A5E700;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-style:solid;border-width:3px 3px 3px 3px;border-color:var( --e-global-color-text );border-radius:0px 0px 0px 0px;}.elementor-2716 .elementor-element.elementor-element-7dd26cb8 .elementor-button:hover, .elementor-2716 .elementor-element.elementor-element-7dd26cb8 .elementor-button:focus{background-color:var( --e-global-color-text );color:var( --e-global-color-accent );border-color:var( --e-global-color-text );}.elementor-2716 .elementor-element.elementor-element-7dd26cb8 .elementor-button:hover svg, .elementor-2716 .elementor-element.elementor-element-7dd26cb8 .elementor-button:focus svg{fill:var( --e-global-color-accent );}@media(max-width:1024px){.elementor-2716 .elementor-element.elementor-element-5f954e46{--min-height:429px;--padding-top:2%;--padding-bottom:2%;--padding-left:2%;--padding-right:2%;}.elementor-2716 .elementor-element.elementor-element-5f954e46:not(.elementor-motion-effects-element-type-background), .elementor-2716 .elementor-element.elementor-element-5f954e46 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:50% 25%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-2716 .elementor-element.elementor-element-3185ea44 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:767px){.elementor-2716 .elementor-element.elementor-element-5f954e46:not(.elementor-motion-effects-element-type-background), .elementor-2716 .elementor-element.elementor-element-5f954e46 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://fermelux.lu/wp-content/uploads/2026/10/hero-opt-ferme-lux-hero-contact-m.webp");background-position:50% 25%;}.elementor-2716 .elementor-element.elementor-element-5f954e46{--min-height:648px;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-2716 .elementor-element.elementor-element-73f0064{padding:2% 2% 2% 2%;}.elementor-2716 .elementor-element.elementor-element-73f0064 .elementor-heading-title{font-size:1.3rem;}.elementor-2716 .elementor-element.elementor-element-3185ea44 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-2716 .elementor-element.elementor-element-3244bfe{--width:100%;}.elementor-2716 .elementor-element.elementor-element-3244bfe.e-con{--order:-99999 /* order start hack */;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );}.elementor-2716 .elementor-element.elementor-element-2d02ea5e{--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-2716 .elementor-element.elementor-element-3fd1cb34 .elementor-heading-title{font-size:1.7rem;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(min-width:768px){.elementor-2716 .elementor-element.elementor-element-3c7ce6f1{--width:60%;}.elementor-2716 .elementor-element.elementor-element-3244bfe{--width:760px;}.elementor-2716 .elementor-element.elementor-element-449db0a{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-2716 .elementor-element.elementor-element-3244bfe{--width:100%;}}/* Start custom CSS for form, class: .elementor-element-ddb83ff */.devis-form {
    /* 🎨 Variables modifiables */
    --df-color: #0E0000;
    --df-color-dark: #045A95;
    --df-border: #D1D5DB;
    --df-border-hover: #9CA3AF;
    --df-border-focus: #0E0000;
    --df-border-error: #C0392B;
    --df-bg: #FFFFFF;
    --df-text: #1F2937;
    --df-placeholder: #9CA3AF;
    --df-label: #374151;
    --df-padding-y: 12px;
    --df-padding-x: 14px;
    --df-gap: 18px;
    --df-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Espacement entre champs --- */
.devis-form .elementor-form-fields-wrapper {
    gap: var(--df-gap) !important;
}

/* --- Labels --- */
.devis-form .elementor-field-label {
    color: var(--df-label) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
    display: block !important;
    letter-spacing: 0.2px;
}

.devis-form .elementor-mark-required .elementor-field-label::after {
    color: var(--df-border-error) !important;
    margin-left: 4px;
    font-weight: 700;
}

/* --- Inputs, Textarea, Select - styles communs --- */
.devis-form input.elementor-field,
.devis-form textarea.elementor-field,
.devis-form select.elementor-field {
    background: var(--df-bg) !important;
    border: 1.5px solid var(--df-border) !important;
    border-radius: 0 !important;
    padding: var(--df-padding-y) var(--df-padding-x) !important;
    font-size: 15px !important;
    color: var(--df-text) !important;
    width: 100% !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
    outline: none !important;
    transition:
        border-color var(--df-transition),
        box-shadow var(--df-transition),
        background-color var(--df-transition) !important;
}

/* --- Placeholder --- */
.devis-form input.elementor-field::placeholder,
.devis-form textarea.elementor-field::placeholder {
    color: var(--df-placeholder) !important;
    opacity: 1;
    font-weight: 400;
}

/* --- Hover --- */
.devis-form input.elementor-field:hover:not(:focus),
.devis-form textarea.elementor-field:hover:not(:focus),
.devis-form select.elementor-field:hover:not(:focus) {
    border-color: var(--df-border-hover) !important;
    background: #FAFBFC !important;
}

/* --- Focus avec glow bleu --- */
.devis-form input.elementor-field:focus,
.devis-form textarea.elementor-field:focus,
.devis-form select.elementor-field:focus {
    border-color: var(--df-border-focus) !important;
    box-shadow: 0 0 0 4px rgba(5, 115, 187, 0.1) !important;
    background: var(--df-bg) !important;
}

/* --- Select : flèche custom en bleu --- */
.devis-form select.elementor-field {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%230573BB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 12px 8px !important;
    padding-right: 40px !important;
    cursor: pointer;
}

/* --- Textarea --- */
.devis-form textarea.elementor-field {
    min-height: 120px !important;
    resize: vertical;
    font-family: inherit !important;
}

/* --- Upload de fichier (zone drag-and-drop visuelle) --- */
.devis-form .elementor-field-type-upload input[type="file"] {
    border: 2px dashed var(--df-border) !important;
    border-radius: 0 !important;
    padding: 16px !important;
    background: #F9FAFB !important;
    cursor: pointer;
    font-size: 14px !important;
    color: var(--df-placeholder) !important;
    transition: all var(--df-transition);
    width: 100% !important;
}

.devis-form .elementor-field-type-upload input[type="file"]:hover {
    border-color: var(--df-color) !important;
    background: rgba(5, 115, 187, 0.04) !important;
}

/* Bouton "Parcourir" custom */
.devis-form input[type="file"]::file-.elementor-2716 .elementor-element.elementor-element-ddb83ff-button {
    background: var(--df-color) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer;
    margin-right: 12px;
    transition: background var(--df-transition);
}

.devis-form input[type="file"]::file-.elementor-2716 .elementor-element.elementor-element-ddb83ff-button:hover {
    background: var(--df-color-dark) !important;
}

/* --- Validation visuelle --- */
.devis-form input:valid:not(:placeholder-shown):not(:focus),
.devis-form textarea:valid:not(:placeholder-shown):not(:focus) {
    border-color: #10B981 !important;
}

.devis-form input:invalid:not(:placeholder-shown):not(:focus),
.devis-form textarea:invalid:not(:placeholder-shown):not(:focus) {
    border-color: var(--df-border-error) !important;
    background: #FEF2F2 !important;
}



.devis-form .elementor-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(5, 115, 187, 0.2) !important;
}

/* --- Messages de succès / erreur --- */
.devis-form .elementor-message {
    padding: 14px 18px !important;
    border-radius: 0 !important;
    margin-top: 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.devis-form .elementor-message-success {
    background: #ECFDF5 !important;
    color: #065F46 !important;
    border: 1px solid #10B981 !important;
}

.devis-form .elementor-message-danger {
    background: #FEF2F2 !important;
    color: #991B1B !important;
    border: 1px solid var(--df-border-error) !important;
}

/* --- Loader pendant envoi --- */
.devis-form .elementor-button.elementor-state-loading {
    opacity: 0.7;
    pointer-events: none;
}

/* --- Mobile --- */
@media (max-width: 768px) {
    .devis-form {
        --df-gap: 14px;
    }

    .devis-form input.elementor-field,
    .devis-form textarea.elementor-field,
    .devis-form select.elementor-field {
        font-size: 16px !important; /* Anti-zoom iOS au focus */
    }
}

/* --- Choix Services / Réparations (boutons) – 30/09/2026 --- */
.devis-form .elementor-field-type-radio .elementor-field-subgroup{display:flex !important;gap:10px;flex-wrap:wrap;width:100%}
.devis-form .elementor-field-type-radio .elementor-field-option{flex:1 1 200px;margin:0 !important;position:relative}
.devis-form .elementor-field-type-radio .elementor-field-option input{position:absolute;opacity:0;width:1px;height:1px}
.devis-form .elementor-field-type-radio .elementor-field-option label{display:block !important;text-align:center;padding:12px 14px;border:2px solid var(--df-border);background:#fff;color:var(--df-text);font-size:14px;font-weight:600;cursor:pointer;margin:0 !important;transition:var(--df-transition)}
.devis-form .elementor-field-type-radio .elementor-field-option label:hover{border-color:var(--df-border-hover)}
.devis-form .elementor-field-type-radio .elementor-field-option input:checked + label{background:var(--df-color);border-color:var(--df-color);color:#fff}
.devis-form .elementor-field-type-radio .elementor-field-option input:focus-visible + label{outline:2px solid var(--df-color);outline-offset:2px}
/* Formulaire 11 champs – colonnes côte à côte (01/10/2026) */
.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-form-fields-wrapper{column-gap:0 !important;margin-left:-9px !important;margin-right:-9px !important}
.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-field-group{padding-left:9px !important;padding-right:9px !important}
@media(max-width:767px){.elementor-2716 .elementor-element.elementor-element-ddb83ff .elementor-field-group{width:100% !important}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3244bfe *//* ==========================================================
   SECTION STICKY — Suit le formulaire au scroll
========================================================== */

.sticky-side {
    position: sticky !important;
    top: 100px;              /* Offset du haut (ajuste selon ton header) */
    align-self: flex-start !important;
    height: fit-content;
    z-index: 1;
}

/* Désactiver sur mobile (le sticky n'a pas de sens quand tout est empilé) */
@media (max-width: 768px) {
    .sticky-side {
        position: relative !important;
        top: auto;
        align-self: stretch !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2d02ea5e */.bg-pattern-halo {
    background: 
        radial-gradient(ellipse at top right, rgba(5, 115, 187, 0.10), transparent 60%),
        radial-gradient(ellipse at bottom left, rgba(5, 115, 187, 0.06), transparent 55%),
        #ffffff;
}/* End custom CSS */