.elementor-1158 .elementor-element.elementor-element-2c2be431{--display:flex;--min-height:90vh;--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;--justify-content:center;--overlay-opacity:0.72;--padding-top:60px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1158 .elementor-element.elementor-element-2c2be431:not(.elementor-motion-effects-element-type-background), .elementor-1158 .elementor-element.elementor-element-2c2be431 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#3E3D3D;background-image:url("https://www.conseils-dartisans.fr/wp-content/uploads/2026/07/PHOTO-2026-03-09-15-04-47.jpg");background-repeat:no-repeat;background-size:cover;}.elementor-1158 .elementor-element.elementor-element-2c2be431::before, .elementor-1158 .elementor-element.elementor-element-2c2be431 > .elementor-background-video-container::before, .elementor-1158 .elementor-element.elementor-element-2c2be431 > .e-con-inner > .elementor-background-video-container::before, .elementor-1158 .elementor-element.elementor-element-2c2be431 > .elementor-background-slideshow::before, .elementor-1158 .elementor-element.elementor-element-2c2be431 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1158 .elementor-element.elementor-element-2c2be431 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-text );--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-1158 .elementor-element.elementor-element-3a5125{text-align:center;}.elementor-1158 .elementor-element.elementor-element-3a5125 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:55px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;color:var( --e-global-color-secondary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );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-1158 .elementor-element.elementor-element-5a924738{text-align:center;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;color:var( --e-global-color-secondary );}.elementor-1158 .elementor-element.elementor-element-1c418551{--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;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;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 );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1158 .elementor-element.elementor-element-767ca5cc .elementor-button{background-color:#EDD53B;font-family:"Montserrat", Sans-serif;font-size:1.1rem;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:10px 10px 10px 10px;padding:15px 25px 15px 25px;}.elementor-1158 .elementor-element.elementor-element-767ca5cc .elementor-button:hover, .elementor-1158 .elementor-element.elementor-element-767ca5cc .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-secondary );}.elementor-1158 .elementor-element.elementor-element-767ca5cc .elementor-button:hover svg, .elementor-1158 .elementor-element.elementor-element-767ca5cc .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-1158 .elementor-element.elementor-element-1194a955 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:1.1rem;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;fill:var( --e-global-color-secondary );color:var( --e-global-color-secondary );border-radius:10px 10px 10px 10px;padding:15px 25px 15px 25px;}.elementor-1158 .elementor-element.elementor-element-1194a955 .elementor-button:hover, .elementor-1158 .elementor-element.elementor-element-1194a955 .elementor-button:focus{background-color:var( --e-global-color-text );}.elementor-1158 .elementor-element.elementor-element-3ed15794{--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:40px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1158 .elementor-element.elementor-element-15281bf5 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:39px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;}.elementor-1158 .elementor-element.elementor-element-2dc5e9f5{--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-1158 .elementor-element.elementor-element-7e1f57fd{--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:60px;--margin-bottom:80px;--margin-left:0px;--margin-right:0px;}.elementor-1158 .elementor-element.elementor-element-23ff4187{--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;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1158 .elementor-element.elementor-element-3a5125 .elementor-heading-title{font-size:45px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-1158 .elementor-element.elementor-element-5a924738{font-size:15px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1158 .elementor-element.elementor-element-767ca5cc .elementor-button{font-size:14px;}.elementor-1158 .elementor-element.elementor-element-1194a955 .elementor-button{font-size:14px;}.elementor-1158 .elementor-element.elementor-element-3ed15794{--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-1158 .elementor-element.elementor-element-15281bf5 .elementor-heading-title{font-size:45px;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1158 .elementor-element.elementor-element-3a5125 .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1158 .elementor-element.elementor-element-3ed15794{--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-1158 .elementor-element.elementor-element-15281bf5 .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-1158 .elementor-element.elementor-element-7e1f57fd{--content-width:100%;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS for shortcode, class: .elementor-element-6bf4cb4e *//* === Wrapper global === */
.nf-form-wrap {
    max-width: 100%;
    margin: 0 auto;
    font-family: inherit;
}

.nf-form-layout form {
    background: #ffffff;
    padding: 24px;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
    border: 1px solid #e9edf3;
}

/* === Message obligatoire === */
.nf-form-fields-required {
    margin-bottom: 18px;
    font-size: 13px;
    color: #6b7280;
}

/* === Espacement général des champs === */
.nf-field-container {
    margin-bottom: 14px !important;
}

.field-wrap {
    margin: 0;
}

/* === Labels === */
.nf-field-label label,
.nf-field-label .nf-label-span {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    line-height: 1.4;
}

.ninja-forms-req-symbol {
    color: #e11d48;
}

/* === Inputs / Selects === */
.nf-form-content input:not([type="radio"]):not([type="submit"]),
.nf-form-content select,
.nf-form-content textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    background: #f9fafb;
    font-size: 14px;
    color: #111827;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.nf-form-content input:not([type="radio"]):not([type="submit"]):focus,
.nf-form-content select:focus,
.nf-form-content textarea:focus {
    outline: none;
    border-color: #2563eb;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.10);
}

/* Placeholder */
.nf-form-content input::placeholder,
.nf-form-content textarea::placeholder {
    color: #9ca3af;
}

/* === Select plus joli === */
.nf-form-content select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%),
                      linear-gradient(135deg, #6b7280 50%, transparent 50%);
    background-position: calc(100% - 18px) calc(50% - 3px),
                         calc(100% - 12px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 40px;
}

/* === Radios en cartes compactes === */
.listradio-wrap ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.listradio-wrap ul li {
    margin: 0;
}

.listradio-wrap input[type="radio"] {
    display: none;
}

.listradio-wrap label {
    display: block;
    padding: 12px 14px;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    background: #f9fafb;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    text-align: center;
    transition: all 0.2s ease;
}

.listradio-wrap input[type="radio"]:checked + label {
    background: #ffffff;
    border-color: #89ac3b;
    color: #89ac3b;
}

.listradio-wrap label:hover {
    border-color: #89ac3b;
    background: #ffffff;
}

/* === Bloc résultat / HTML === */
#nf-field-28-wrap .nf-field-element {
    background: #89ac3b1f;
    border-radius: 14px;
    padding: 16px 18px;
    font-size: 14px;
    color: #1f2937;
}

#nf-field-28-wrap .nf-field-label {
    display: none;
}

#nf-field-28-wrap p {
    margin: 0 0 8px;
}

#nf-field-28-wrap p:last-child {
    margin-bottom: 0;
}

#nf-field-28-wrap strong {
    font-size: 16px;
    color: #0f172a;
}

/* === Bouton submit === */
.submit-wrap input[type="submit"],
.nf-form-content input[type="submit"] {
    width: 100%;
    min-height: 48px;
    padding: 12px 20px;
    border: none;
    border-radius: 14px;
    background: #EDD53B;
    color: #3E3D3D;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s ease;
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.22);
}

.submit-wrap input[type="submit"]:hover,
.nf-form-content input[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.28);
}

.submit-wrap input[type="submit"]:active,
.nf-form-content input[type="submit"]:active {
    transform: translateY(0);
}

/* === Erreurs === */
.nf-error-msg,
.nf-error-wrap,
.nf-form-errors {
    font-size: 13px;
    color: #dc2626;
    margin-top: 6px;
}

/* === Icône aide === */
.nf-help {
    color: #6b7280;
    margin-left: 6px;
    font-size: 13px;
}

/* === Version compacte desktop : 2 colonnes sur certains champs === */
@media (min-width: 768px) {
    .nf-form-content {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px 18px;
    }

    .nf-form-content > nf-fields-wrap {
        display: contents;
    }

    #nf-field-15-container,
    #nf-field-11-container,
    #nf-field-7-container,
    #nf-field-9-container,
    #nf-field-16-container,
    #nf-field-13-container,
    #nf-field-12-container {
        margin-bottom: 0 !important;
    }

    #nf-field-14-container,
    #nf-field-8-container {
        grid-column: 1 / -1;
    }
}

/* === Mobile === */
@media (max-width: 767px) {
    .nf-form-layout form {
        padding: 18px;
        border-radius: 14px;
    }

    .listradio-wrap ul {
        grid-template-columns: 1fr;
    }

    .nf-form-content input:not([type="radio"]):not([type="submit"]),
    .nf-form-content select,
    .nf-form-content textarea {
        font-size: 14px;
    }
}

/* =========================================================
   AMÉLIORATION FORMULAIRE SOLAIRE
   À coller APRÈS le CSS déjà existant
========================================================= */

:root {
    --solar-green: #2f963e;
    --solar-green-dark: #1f7a31;
    --solar-green-soft: #f2f8e9;
    --solar-yellow: #f4d525;
    --solar-yellow-soft: #fffbea;
    --solar-border: #d8e2ec;
    --solar-text: #0f172a;
}

/* Corrige le layout Ninja Forms pour que les champs ciblés puissent prendre toute la largeur */
@media (min-width: 768px) {
    .nf-form-content {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 24px;
        row-gap: 24px;
    }

    .nf-form-content > nf-fields-wrap,
    .nf-form-content nf-fields-wrap,
    .nf-form-content nf-field {
        display: contents !important;
    }
}

/* =========================================================
   BLOC RÉSULTAT / ÉCONOMIES FULL WIDTH
========================================================= */

#nf-field-28-container {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}

#nf-field-28-wrap .nf-field-label {
    display: none !important;
}

#nf-field-28-wrap .nf-field-element {
    width: 100% !important;
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: 96px minmax(180px, 1fr) minmax(250px, 1.1fr) minmax(220px, 0.9fr);
    gap: 22px 28px;
    align-items: center;
    padding: 28px 30px;
    border-radius: 16px;
    border: 1px solid #cfe6bd;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,0.9), transparent 32%),
        linear-gradient(135deg, #f4faec 0%, #fbfff4 100%);
    box-shadow: 0 12px 28px rgba(47, 150, 62, 0.08);
    color: var(--solar-text);
}

/* Icône visuelle à gauche */
#nf-field-28-wrap .nf-field-element::before {
    content: "☀";
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 82px;
    height: 82px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 2px solid rgba(47, 150, 62, 0.35);
    color: var(--solar-green);
    font-size: 38px;
    box-shadow: 0 10px 24px rgba(47, 150, 62, 0.10);
}

/* Supprime les paragraphes vides */
#nf-field-28-wrap .nf-field-element p:nth-of-type(3),
#nf-field-28-wrap .nf-field-element p:nth-of-type(5) {
    display: none !important;
}

/* Coût du kWh solaire */
#nf-field-28-wrap .nf-field-element p:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
}

#nf-field-28-wrap .nf-field-element p:nth-of-type(1) strong {
    display: block;
    font-size: 0;
}

#nf-field-28-wrap .nf-field-element p:nth-of-type(1) strong::before {
    content: "Coût d'un kWh solaire produit chez vous";
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 800;
    color: var(--solar-text);
}

#nf-field-28-wrap span[data-key="calc:cout_kw"] {
    display: inline-block;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: var(--solar-green);
}

#nf-field-28-wrap span[data-key="calc:cout_kw"]::after {
    content: "€";
}

/* Texte comparaison */
#nf-field-28-wrap .nf-field-element p:nth-of-type(2) {
    grid-column: 2;
    grid-row: 2;
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.55;
    color: #334155;
}

/* Économie mise en avant */
#nf-field-28-wrap .nf-field-element p:nth-of-type(4) {
    grid-column: 3;
    grid-row: 1 / span 2;
    margin: 0 !important;
    padding: 8px 26px;
    text-align: center;
    border-left: 1px solid rgba(47, 150, 62, 0.18);
    border-right: 1px solid rgba(47, 150, 62, 0.18);
}

#nf-field-28-wrap .nf-field-element p:nth-of-type(4) strong {
    display: block;
    font-size: 0;
}

#nf-field-28-wrap .nf-field-element p:nth-of-type(4) strong::before {
    content: "Votre économie estimée";
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 800;
    color: var(--solar-text);
}

#nf-field-28-wrap span[data-key="calc:econmie_facture"] {
    display: inline-block;
    font-size: clamp(52px, 6vw, 50px);
    line-height: 0.95;
    font-weight: 950;
    letter-spacing: -0.06em;
    color: var(--solar-green);
    text-shadow: 0 10px 24px rgba(47, 150, 62, 0.12);
}

#nf-field-28-wrap span[data-key="calc:econmie_facture"]::after {
    content: "€";
}

#nf-field-28-wrap .nf-field-element p:nth-of-type(4) strong::after {
    content: "d'économie par an sur votre facture";
    display: block;
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 800;
    color: var(--solar-text);
}

/* Petit trait style “surlignage” */
#nf-field-28-wrap .nf-field-element p:nth-of-type(4)::after {
    content: "";
    display: block;
    width: 180px;
    height: 4px;
    margin: 12px auto 0;
    border-radius: 999px;
    background: var(--solar-green);
    transform: rotate(-1deg);
    opacity: 0.85;
}

/* Disclaimer */
#nf-field-28-wrap .nf-field-element p:nth-of-type(6) {
    grid-column: 4;
    grid-row: 1 / span 2;
    margin: 0 !important;
    padding: 18px 20px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.48);
    color: #334155;
    font-size: 13px;
    line-height: 1.55;
}

#nf-field-28-wrap .nf-field-element p:nth-of-type(6)::before {
    content: "“";
    display: block;
    height: 20px;
    margin-bottom: 4px;
    font-size: 42px;
    line-height: 1;
    font-weight: 900;
    color: rgba(47, 150, 62, 0.45);
}

#nf-field-28-wrap .nf-field-element p:nth-of-type(6) em {
    color: #334155;
}

/* =========================================================
   ZONE CONTACT / CONVERSION
========================================================= */

#nf-field-31-container,
#nf-field-32-container,
#nf-field-33-container,
#nf-field-34-container,
#nf-field-23-container {
    position: relative;
}

/* Décalage pour intégrer le titre de la zone conversion */
@media (min-width: 768px) {
    #nf-field-31-container,
    #nf-field-32-container {
        padding-top: 104px !important;
    }

    #nf-field-31-container::before {
        content: "Pour être recontacté\A Merci de nous laisser vos coordonnées, nous vous recontacterons rapidement.";
        white-space: pre-line;
        position: absolute;
        z-index: 5;
        top: 0;
        left: 0;
        width: calc(200% + 24px);
        min-height: 82px;
        box-sizing: border-box;
        padding: 22px 26px 18px 82px;
        border-radius: 18px 18px 0 0;
        border: 1px solid rgba(234, 179, 8, 0.35);
        background: linear-gradient(135deg, #fffdf1, #fffaf0);
        color: var(--solar-text);
        font-size: 14px;
        line-height: 1.45;
        font-weight: 600;
        box-shadow: 0 12px 28px rgba(234, 179, 8, 0.08);
    }

    #nf-field-31-container::after {
        content: "☎";
        position: absolute;
        z-index: 6;
        top: 21px;
        left: 24px;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--solar-yellow);
        color: var(--solar-text);
        font-size: 20px;
        font-weight: 800;
    }
}

/* Cartes autour des champs contact */
#nf-field-31-container,
#nf-field-32-container,
#nf-field-33-container,
#nf-field-34-container {
    padding: 18px 18px 20px;
    border-radius: 16px;
    border: 1px solid rgba(234, 179, 8, 0.28);
    background: linear-gradient(180deg, #fffdf5, #fffefa);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    margin-bottom: 0 !important;
}

#nf-field-31-container .nf-field-label label,
#nf-field-32-container .nf-field-label label,
#nf-field-33-container .nf-field-label label,
#nf-field-34-container .nf-field-label label {
    font-size: 14px;
    font-weight: 800;
    color: var(--solar-text);
}

/* Icônes dans les inputs contact */
#nf-field-31-container .nf-field-element,
#nf-field-32-container .nf-field-element,
#nf-field-33-container .nf-field-element,
#nf-field-34-container .nf-field-element {
    position: relative;
}

#nf-field-31-container .nf-field-element::before,
#nf-field-32-container .nf-field-element::before,
#nf-field-33-container .nf-field-element::before,
#nf-field-34-container .nf-field-element::before {
    position: absolute;
    z-index: 2;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
    font-size: 16px;
    pointer-events: none;
}

#nf-field-31-container .nf-field-element::before {
    content: "👤";
}

#nf-field-32-container .nf-field-element::before {
    content: "👤";
}

#nf-field-33-container .nf-field-element::before {
    content: "✉";
}

#nf-field-34-container .nf-field-element::before {
    content: "☎";
}

#nf-field-31-container input,
#nf-field-32-container input,
#nf-field-33-container input,
#nf-field-34-container input {
    padding-left: 46px !important;
    background: #ffffff !important;
    border-color: #d7dde5 !important;
}

#nf-field-31-container input:focus,
#nf-field-32-container input:focus,
#nf-field-33-container input:focus,
#nf-field-34-container input:focus {
    border-color: var(--solar-yellow) !important;
    box-shadow: 0 0 0 4px rgba(244, 213, 37, 0.22) !important;
}

/* Bouton centré dans la zone conversion */
#nf-field-23-container {
    grid-column: 1 / -1 !important;
    margin-top: -4px !important;
    margin-bottom: 0 !important;
    padding: 8px 20px 0;
    text-align: center;
}

#nf-field-23-wrap .nf-field-element {
    display: flex;
    justify-content: center;
}

#nf-field-23 input[type="submit"],
#nf-field-23-wrap input[type="submit"] {
    width: auto !important;
    min-width: 320px;
    min-height: 54px;
    padding: 14px 30px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #f7df34, var(--solar-yellow)) !important;
    color: var(--solar-text) !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    box-shadow: 0 14px 28px rgba(234, 179, 8, 0.28) !important;
}

#nf-field-23 input[type="submit"]:hover,
#nf-field-23-wrap input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(234, 179, 8, 0.34) !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 980px) {
    #nf-field-28-wrap .nf-field-element {
        grid-template-columns: 80px 1fr 1fr;
    }

    #nf-field-28-wrap .nf-field-element p:nth-of-type(6) {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}

@media (max-width: 767px) {
    #nf-field-28-container,
    #nf-field-23-container {
        grid-column: auto !important;
    }

    #nf-field-28-wrap .nf-field-element {
        display: block !important;
        padding: 22px;
    }

    #nf-field-28-wrap .nf-field-element::before {
        margin: 0 auto 18px;
    }

    #nf-field-28-wrap .nf-field-element p {
        margin-bottom: 14px !important;
        text-align: left !important;
        border: none !important;
        padding: 0 !important;
    }

    #nf-field-28-wrap .nf-field-element p:nth-of-type(4) {
        text-align: center !important;
        padding: 18px 0 !important;
    }

    #nf-field-28-wrap span[data-key="calc:econmie_facture"] {
        font-size: clamp(46px, 18vw, 66px);
    }

    #nf-field-31-container,
    #nf-field-32-container {
        padding-top: 18px !important;
    }

    #nf-field-31-container::before {
        content: "Pour être recontacté\A Merci de nous laisser vos coordonnées, nous vous recontacterons rapidement.";
        white-space: pre-line;
        display: block;
        margin-bottom: 16px;
        padding: 18px 18px 18px 66px;
        border-radius: 16px;
        background: linear-gradient(135deg, #fffdf1, #fffaf0);
        border: 1px solid rgba(234, 179, 8, 0.35);
        font-size: 14px;
        line-height: 1.45;
        font-weight: 600;
    }

    #nf-field-31-container::after {
        content: "☎";
        position: absolute;
        top: 34px;
        left: 36px;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--solar-yellow);
        color: var(--solar-text);
        font-size: 17px;
        font-weight: 800;
    }

    #nf-field-23 input[type="submit"],
    #nf-field-23-wrap input[type="submit"] {
        width: 100% !important;
        min-width: 0;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-329c50ca *//* =========================================================
   SIMULATEUR PHOTOVOLTAÏQUE - BLOCS APRES FORMULAIRE
   VERSION PROPRE ET RESPONSIVE
   ========================================================= */

.cda-solar-sim-after{
  --cda-olive:#89AC3B;
  --cda-ivory:#FFFDF4;
  --cda-charcoal:#3E3D3D;
  --cda-lime:#B1FF05;
  --cda-yellow:#f5ee00;
  --cda-line:rgba(62,61,61,0.10);
  --cda-soft:#f7f5ee;
  --cda-white:#ffffff;

  display:grid;
  gap:32px;
  margin-top:32px;
}

.cda-solar-sim-after,
.cda-solar-sim-after *{
  box-sizing:border-box;
}

.cda-solar-sim-after img,
.cda-solar-sim-after svg,
.cda-solar-sim-after video,
.cda-solar-sim-after iframe{
  max-width:100%;
  height:auto;
}

/* -----------------------------
   BLOCS GLOBAUX
----------------------------- */

.cda-solar-sim-block{
  width:100%;
  min-width:0;
  padding:28px;
  border:1px solid var(--cda-line);
  border-radius:24px;
  background:var(--cda-white);
  box-shadow:0 16px 36px rgba(62,61,61,0.06);
}

.cda-solar-sim-block__intro{
  min-width:0;
  max-width:860px;
  margin-bottom:22px;
}

.cda-solar-sim-eyebrow{
  margin:0 0 10px;
  color:var(--cda-olive);
  font-size:.76rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.cda-solar-sim-block h2,
.cda-solar-sim-finalcta h2{
  margin:0;
  color:var(--cda-charcoal);
  font-size:clamp(1.5rem, 2.1vw, 2.2rem);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.03em;
  text-wrap:balance;
}

.cda-solar-sim-block__intro p:last-child,
.cda-solar-sim-finalcta p{
  margin:14px 0 0;
  color:rgba(62,61,61,0.82);
  font-size:1rem;
  line-height:1.72;
}

/* -----------------------------
   NOTE
----------------------------- */

.cda-solar-sim-note{
  width:100%;
  min-width:0;
  padding:16px 18px;
  border-left:4px solid var(--cda-olive);
  border-radius:14px;
  background:rgba(137,172,59,0.08);
}

.cda-solar-sim-note p{
  margin:0;
  color:var(--cda-charcoal);
  font-size:.98rem;
  line-height:1.65;
}

/* -----------------------------
   TABLEAU RESPONSIVE
----------------------------- */

.cda-solar-sim-table-hint{
  display:none;
  margin:0 0 12px;
  color:rgba(62,61,61,0.68);
  font-size:.84rem;
  line-height:1.45;
}

.cda-solar-sim-table-wrap{
  width:100%;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(62,61,61,0.10);
  border-radius:18px;
  background:var(--cda-white);
}

.cda-solar-sim-table-scroll{
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#89AC3B rgba(62,61,61,0.08);
}

.cda-solar-sim-table-scroll::-webkit-scrollbar{
  height:8px;
}

.cda-solar-sim-table-scroll::-webkit-scrollbar-track{
  background:rgba(62,61,61,0.08);
  border-radius:999px;
}

.cda-solar-sim-table-scroll::-webkit-scrollbar-thumb{
  background:#89AC3B;
  border-radius:999px;
}

.cda-solar-sim-table{
  width:max-content;
  min-width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
}

.cda-solar-sim-table thead th{
  padding:16px 18px;
  background:#3E3D3D;
  color:#FFFDF4;
  font-size:.92rem;
  line-height:1.4;
  font-weight:700;
  text-align:left;
  white-space:nowrap;
}

.cda-solar-sim-table tbody td{
  padding:16px 18px;
  color:#3E3D3D;
  font-size:.97rem;
  line-height:1.6;
  vertical-align:top;
  border-top:1px solid rgba(62,61,61,0.08);
  background:#fff;
  min-width:160px;
}

.cda-solar-sim-table tbody td:first-child{
  min-width:190px;
  font-weight:700;
}

.cda-solar-sim-table tbody tr:nth-child(even) td{
  background:#fcfbf8;
}

/* -----------------------------
   CARTES EDITORIALES
----------------------------- */

.cda-solar-sim-editorial__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}

.cda-solar-sim-card{
  min-width:0;
  padding:22px;
  border:1px solid var(--cda-line);
  border-radius:20px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfaf6 100%);
}

.cda-solar-sim-card h3{
  margin:0;
  color:var(--cda-charcoal);
  font-size:1.14rem;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-0.02em;
  word-break:break-word;
}

.cda-solar-sim-card p{
  margin:12px 0 0;
  color:rgba(62,61,61,0.82);
  font-size:.98rem;
  line-height:1.72;
  overflow-wrap:anywhere;
}

/* -----------------------------
   FAQ
----------------------------- */

.cda-solar-sim-faq__list{
  display:grid;
  gap:12px;
}

.cda-solar-sim-faq__item{
  min-width:0;
  border:1px solid var(--cda-line);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}

.cda-solar-sim-faq__item summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:18px 52px 18px 18px;
  color:var(--cda-charcoal);
  font-size:1rem;
  line-height:1.45;
  font-weight:700;
  overflow-wrap:anywhere;
}

.cda-solar-sim-faq__item summary::-webkit-details-marker{
  display:none;
}

.cda-solar-sim-faq__item summary::after{
  content:"+";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(137,172,59,0.10);
  color:var(--cda-olive);
  font-size:18px;
  font-weight:800;
}

.cda-solar-sim-faq__item[open] summary::after{
  content:"−";
}

.cda-solar-sim-faq__content{
  padding:0 18px 18px;
}

.cda-solar-sim-faq__content p{
  margin:0;
  color:rgba(62,61,61,0.82);
  font-size:.97rem;
  line-height:1.7;
  overflow-wrap:anywhere;
}

/* -----------------------------
   CTA FINAL
----------------------------- */

.cda-solar-sim-finalcta{
  position:relative;
  overflow:hidden;
  width:100%;
  min-width:0;
  padding:34px;
  border-radius:26px;
  background:
    radial-gradient(circle at top right, rgba(177,255,5,0.12), transparent 24%),
    linear-gradient(180deg, #454343 0%, #353434 100%);
  box-shadow:0 18px 42px rgba(0,0,0,0.14);
}

.cda-solar-sim-finalcta__inner{
  position:relative;
  z-index:1;
  width:100%;
  min-width:0;
  max-width:760px;
}

.cda-solar-sim-finalcta .cda-solar-sim-eyebrow{
  color:rgba(255,253,244,0.74);
}

.cda-solar-sim-finalcta h2{
  color:var(--cda-ivory);
}

.cda-solar-sim-finalcta p{
  color:rgba(255,253,244,0.86);
}

.cda-solar-sim-finalcta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.cda-solar-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 18px;
  border-radius:14px;
  font-size:.96rem;
  line-height:1;
  font-weight:800;
  text-decoration:none;
  text-align:center;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    color .22s ease,
    border-color .22s ease;
}

.cda-solar-btn:hover{
  transform:translateY(-2px);
  color:#ffffff
}

.cda-solar-btn--primary{
  background:linear-gradient(180deg, #6fb732 0%, var(--cda-olive) 100%);
  color:#fff;
  box-shadow:0 12px 24px rgba(137,172,59,0.24);
}

.cda-solar-btn--ghost{
  border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.06);
  color:var(--cda-ivory);
}

/* -----------------------------
   TABLET
----------------------------- */

@media (max-width: 980px){
  .cda-solar-sim-after{
    gap:24px;
    margin-top:24px;
  }

  .cda-solar-sim-block{
    padding:22px;
  }

  .cda-solar-sim-editorial__grid{
    grid-template-columns:1fr;
  }
}

/* -----------------------------
   MOBILE
----------------------------- */

@media (max-width: 767px){
  .cda-solar-sim-after{
    gap:18px;
    margin-top:20px;
  }

  .cda-solar-sim-block{
    padding:16px;
    border-radius:18px;
  }

  .cda-solar-sim-block__intro{
    margin-bottom:16px;
  }

  .cda-solar-sim-eyebrow{
    margin:0 0 8px;
    font-size:.68rem;
    letter-spacing:.12em;
  }

  .cda-solar-sim-block h2,
  .cda-solar-sim-finalcta h2{
    font-size:1.34rem;
    line-height:1.12;
    letter-spacing:-0.02em;
  }

  .cda-solar-sim-block__intro p:last-child,
  .cda-solar-sim-finalcta p,
  .cda-solar-sim-card p,
  .cda-solar-sim-note p,
  .cda-solar-sim-faq__content p{
    font-size:.93rem;
    line-height:1.58;
  }

  .cda-solar-sim-note{
    padding:14px 14px 14px 15px;
    border-radius:12px;
  }

  .cda-solar-sim-table-hint{
    display:block;
  }

  .cda-solar-sim-table-wrap{
    border-radius:14px;
  }

  .cda-solar-sim-table thead th,
  .cda-solar-sim-table tbody td{
    padding:12px 12px;
    font-size:.88rem;
  }

  .cda-solar-sim-table tbody td{
    min-width:150px;
  }

  .cda-solar-sim-table tbody td:first-child{
    min-width:170px;
  }

  .cda-solar-sim-card{
    padding:16px;
    border-radius:16px;
  }

  .cda-solar-sim-card h3{
    font-size:1rem;
    line-height:1.28;
  }

  .cda-solar-sim-faq__list{
    gap:10px;
  }

  .cda-solar-sim-faq__item{
    border-radius:14px;
  }

  .cda-solar-sim-faq__item summary{
    padding:14px 42px 14px 14px;
    font-size:.93rem;
  }

  .cda-solar-sim-faq__item summary::after{
    right:12px;
    width:24px;
    height:24px;
    font-size:16px;
  }

  .cda-solar-sim-faq__content{
    padding:0 14px 14px;
  }

  .cda-solar-sim-finalcta{
    padding:20px 16px;
    border-radius:18px;
  }

  .cda-solar-sim-finalcta__actions{
    flex-direction:column;
    gap:10px;
    margin-top:16px;
  }

  .cda-solar-btn{
    width:100%;
    min-height:46px;
    padding:0 14px;
    border-radius:12px;
    font-size:.92rem;
  }
}

.bloc-liens a {
    color:#8aad3d;
}
.bloc-liens a:hover {
   text-decoration:underline;
}/* End custom CSS */