.elementor-868 .elementor-element.elementor-element-b105ab0{--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-868 .elementor-element.elementor-element-b105ab0:not(.elementor-motion-effects-element-type-background), .elementor-868 .elementor-element.elementor-element-b105ab0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#3E3D3D;background-image:url("https://www.conseils-dartisans.fr/wp-content/uploads/2026/03/harmvdb-heat-pump-6209793_1280.jpg");background-repeat:no-repeat;background-size:cover;}.elementor-868 .elementor-element.elementor-element-b105ab0::before, .elementor-868 .elementor-element.elementor-element-b105ab0 > .elementor-background-video-container::before, .elementor-868 .elementor-element.elementor-element-b105ab0 > .e-con-inner > .elementor-background-video-container::before, .elementor-868 .elementor-element.elementor-element-b105ab0 > .elementor-background-slideshow::before, .elementor-868 .elementor-element.elementor-element-b105ab0 > .e-con-inner > .elementor-background-slideshow::before, .elementor-868 .elementor-element.elementor-element-b105ab0 > .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-868 .elementor-element.elementor-element-87a096a{text-align:center;}.elementor-868 .elementor-element.elementor-element-87a096a .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-868 .elementor-element.elementor-element-0bfee97{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-868 .elementor-element.elementor-element-d6750e4{--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-868 .elementor-element.elementor-element-23d4ae9 .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-868 .elementor-element.elementor-element-23d4ae9 .elementor-button:hover, .elementor-868 .elementor-element.elementor-element-23d4ae9 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-secondary );}.elementor-868 .elementor-element.elementor-element-23d4ae9 .elementor-button:hover svg, .elementor-868 .elementor-element.elementor-element-23d4ae9 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-868 .elementor-element.elementor-element-23105a6 .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-868 .elementor-element.elementor-element-23105a6 .elementor-button:hover, .elementor-868 .elementor-element.elementor-element-23105a6 .elementor-button:focus{background-color:var( --e-global-color-text );}.elementor-868 .elementor-element.elementor-element-f1fd035{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:60px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-868 .elementor-element.elementor-element-2f465db{--display:flex;}.elementor-868 .elementor-element.elementor-element-a96fcfa .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-868 .elementor-element.elementor-element-2798feb{--display:flex;}.elementor-868 .elementor-element.elementor-element-0802ee8{--display:flex;}.elementor-868 .elementor-element.elementor-element-928ea60{--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;}: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-868 .elementor-element.elementor-element-87a096a .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-868 .elementor-element.elementor-element-0bfee97{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-868 .elementor-element.elementor-element-23d4ae9 .elementor-button{font-size:14px;}.elementor-868 .elementor-element.elementor-element-23105a6 .elementor-button{font-size:14px;}.elementor-868 .elementor-element.elementor-element-a96fcfa .elementor-heading-title{font-size:45px;}}@media(max-width:767px){.elementor-868 .elementor-element.elementor-element-b105ab0{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.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-868 .elementor-element.elementor-element-87a096a .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-868 .elementor-element.elementor-element-a96fcfa .elementor-heading-title{font-size:28px;line-height:1.1em;}.elementor-868 .elementor-element.elementor-element-928ea60{--content-width:100%;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS for shortcode, class: .elementor-element-a3d25fa *//* =========================================================
   FORMULAIRE CHAUFFAGE / ÉCONOMIES - NINJA FORMS
   À coller après ton CSS existant
========================================================= */

:root {
    --form-blue: #2563eb;
    --form-green: #2f963e;
    --form-green-dark: #1f7a31;
    --form-green-soft: #f3f9ec;
    --form-yellow: #f4d525;
    --form-yellow-soft: #fffbea;
    --form-border: #d8e2ec;
    --form-text: #0f172a;
    --form-muted: #64748b;
}

/* Wrapper général */
.nf-form-wrap {
    max-width: 960px;
    margin: 0 auto;
    font-family: inherit;
}

.nf-form-layout form {
    background: #ffffff;
    padding: 28px;
    border-radius: 20px;
    border: 1px solid #e6edf5;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

.nf-form-fields-required {
    margin-bottom: 22px;
    font-size: 14px;
    color: var(--form-muted);
}

.ninja-forms-req-symbol {
    color: #e11d48;
}

/* =========================================================
   LAYOUT COMPACT EN 2 COLONNES
========================================================= */

.nf-form-content nf-fields-wrap,
.nf-form-content nf-field {
    display: contents !important;
}

@media (min-width: 768px) {
    .nf-form-content {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }
}

.nf-field-container {
    margin-bottom: 0 !important;
}

/* Champs qui prennent toute la largeur */
#nf-field-9-container,
#nf-field-14-container,
#nf-field-42-container,
#nf-field-8-container {
    grid-column: 1 / -1 !important;
}

/* =========================================================
   LABELS
========================================================= */

.nf-field-label label,
.nf-field-label .nf-label-span {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 800;
    color: var(--form-text);
    line-height: 1.35;
}

/* =========================================================
   INPUTS / SELECTS
========================================================= */

.nf-form-content input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.nf-form-content select,
.nf-form-content textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid #d4dde8;
    border-radius: 14px;
    background: #f8fafc;
    color: var(--form-text);
    font-size: 15px;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

.nf-form-content input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):focus,
.nf-form-content select:focus,
.nf-form-content textarea:focus {
    outline: none;
    border-color: var(--form-blue);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.10);
}

/* Select custom */
.nf-form-content select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 42px;
    background-image:
        linear-gradient(45deg, transparent 50%, #64748b 50%),
        linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position:
        calc(100% - 20px) calc(50% - 3px),
        calc(100% - 14px) calc(50% - 3px);
    background-size: 6px 6px;
    background-repeat: no-repeat;
}

/* =========================================================
   RADIOS EN CARTES
========================================================= */

.listradio-wrap ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.listradio-wrap li {
    margin: 0;
}

.listradio-wrap input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.listradio-wrap label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 14px;
    border: 1px solid #d4dde8;
    border-radius: 14px;
    background: #f8fafc;
    color: #334155;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.listradio-wrap label:hover {
    background: #ffffff;
    border-color: #93c5fd;
}

.listradio-wrap input[type="radio"]:checked + label,
.listradio-wrap label.nf-checked-label {
    background: #89ac3b29;
    border-color: #89ac3b;
    color: #547a00;
    box-shadow: 0 0 3px 4px #89ac3b1c;
}

/* =========================================================
   BLOC RÉSULTAT VERT - PLEINE LARGEUR
========================================================= */

#nf-field-14-container {
    margin-top: 6px !important;
}

#nf-field-14-wrap .nf-field-label {
    display: none !important;
}

#nf-field-14-wrap .nf-field-element {
    width: 100% !important;
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: 90px minmax(220px, 1fr) minmax(320px, 1.15fr);
    gap: 24px 30px;
    align-items: center;
    padding: 30px;
    border-radius: 18px;
    border: 1px solid #cfe6bd;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,0.95), transparent 34%),
        linear-gradient(135deg, #f4faec 0%, #fbfff4 100%);
    box-shadow: 0 14px 32px rgba(47, 150, 62, 0.10);
    color: var(--form-text);
}

/* Icône */
#nf-field-14-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(--form-green);
    font-size: 38px;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(47, 150, 62, 0.12);
}

/* Supprime le paragraphe vide */
#nf-field-14-wrap .nf-field-element p:nth-of-type(3) {
    display: none !important;
}

/* Consommation actuelle */
#nf-field-14-wrap .nf-field-element p:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    font-size: 0;
}

#nf-field-14-wrap .nf-field-element p:nth-of-type(1)::before {
    content: "Consommation actuelle";
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 800;
    color: var(--form-text);
}

#nf-field-14-wrap span[data-key="calc:chauffage_actuel"] {
    display: inline-block;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.04em;
    color: var(--form-green);
}

#nf-field-14-wrap span[data-key="calc:chauffage_actuel"]::after {
    content: "€";
}

/* Projection */
#nf-field-14-wrap .nf-field-element p:nth-of-type(2) {
    grid-column: 2;
    grid-row: 2;
    margin: 0 !important;
    font-size: 0;
}

#nf-field-14-wrap .nf-field-element p:nth-of-type(2)::before {
    content: "Projection annuelle estimée";
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 800;
    color: var(--form-text);
}

#nf-field-14-wrap span[data-key="calc:cout_annuelle_estime"] {
    display: inline-block;
    font-size: clamp(26px, 2.8vw, 36px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: #475569;
}

#nf-field-14-wrap span[data-key="calc:cout_annuelle_estime"]::after {
    content: "€";
}

/* Économie principale */
#nf-field-14-wrap .nf-field-element p:nth-of-type(4) {
    grid-column: 3;
    grid-row: 1 / span 2;
    margin: 0 !important;
    padding: 10px 28px;
    text-align: center;
    border-left: 1px solid rgba(47, 150, 62, 0.20);
}

#nf-field-14-wrap .nf-field-element p:nth-of-type(4) strong {
    display: block;
    font-size: 0;
}

#nf-field-14-wrap .nf-field-element p:nth-of-type(4) strong::before {
    content: "Votre économie estimée";
    display: block;
    margin-bottom: 8px;
    font-size: 17px;
    font-weight: 900;
    color: var(--form-text);
}

#nf-field-14-wrap span[data-key="calc:difference"] {
    display: inline-block;
    font-size: clamp(54px, 6vw, 55px);
    line-height: 0.95;
    font-weight: 950;
    letter-spacing: -0.06em;
    color: var(--form-green);
    text-shadow: 0 10px 24px rgba(47, 150, 62, 0.13);
}

#nf-field-14-wrap span[data-key="calc:difference"]::after {
    content: "€";
}

#nf-field-14-wrap .nf-field-element p:nth-of-type(4) strong::after {
    content: "d'économie par an";
    display: block;
    margin-top: 10px;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 900;
    color: var(--form-text);
}

#nf-field-14-wrap .nf-field-element p:nth-of-type(4)::after {
    content: "";
    display: block;
    width: 190px;
    height: 4px;
    margin: 14px auto 0;
    border-radius: 999px;
    background: var(--form-green);
    transform: rotate(-1deg);
}

/* =========================================================
   ZONE CONVERSION / CONTACT
========================================================= */

#nf-field-42-container {
    margin-top: 4px !important;
}

#nf-field-42-wrap .nf-field-label {
    display: none !important;
}

#nf-field-42-wrap .nf-field-element {
    position: relative;
    padding: 24px 28px 24px 86px;
    border-radius: 18px 18px 0 0;
    border: 1px solid rgba(234, 179, 8, 0.38);
    background: linear-gradient(135deg, #fffdf1, #fffaf0);
    box-shadow: 0 14px 30px rgba(234, 179, 8, 0.10);
}

#nf-field-42-wrap .nf-field-element::before {
    content: "☎";
    position: absolute;
    top: 24px;
    left: 28px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--form-yellow);
    color: var(--form-text);
    font-size: 20px;
    font-weight: 900;
}

#nf-field-42-wrap .nf-field-element::after {
    content: "Pour être recontacté";
    display: block;
    margin-bottom: 4px;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 950;
    color: var(--form-text);
}

#nf-field-42-wrap p {
    margin: 0 !important;
    max-width: 760px;
    font-size: 15px;
    line-height: 1.55;
    color: #334155;
}

/* Champs contact en cartes */
#nf-field-17-container,
#nf-field-18-container,
#nf-field-19-container,
#nf-field-20-container {
    padding: 18px;
    border-radius: 16px;
    border: 1px solid rgba(234, 179, 8, 0.28);
    background: linear-gradient(180deg, #fffdf6, #ffffff);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

#nf-field-17-container .nf-field-label label,
#nf-field-18-container .nf-field-label label,
#nf-field-19-container .nf-field-label label,
#nf-field-20-container .nf-field-label label {
    font-size: 14px;
    font-weight: 900;
}

/* Icônes dans les champs contact */
#nf-field-17-container .nf-field-element,
#nf-field-18-container .nf-field-element,
#nf-field-19-container .nf-field-element,
#nf-field-20-container .nf-field-element {
    position: relative;
}

#nf-field-17-container .nf-field-element::before,
#nf-field-18-container .nf-field-element::before,
#nf-field-19-container .nf-field-element::before,
#nf-field-20-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-17-container .nf-field-element::before {
    content: "👤";
}

#nf-field-18-container .nf-field-element::before {
    content: "👤";
}

#nf-field-19-container .nf-field-element::before {
    content: "✉";
}

#nf-field-20-container .nf-field-element::before {
    content: "☎";
}

#nf-field-17-container input,
#nf-field-18-container input,
#nf-field-19-container input,
#nf-field-20-container input {
    padding-left: 46px !important;
    background: #ffffff !important;
}

#nf-field-17-container input:focus,
#nf-field-18-container input:focus,
#nf-field-19-container input:focus,
#nf-field-20-container input:focus {
    border-color: var(--form-yellow) !important;
    box-shadow: 0 0 0 4px rgba(244, 213, 37, 0.24) !important;
}

/* Bouton conversion */
#nf-field-8-container {
    padding: 4px 0 0;
    text-align: center;
}

#nf-field-8-wrap .nf-field-element {
    display: flex;
    justify-content: center;
}

#nf-field-8,
#nf-field-8-wrap input[type="submit"] {
    width: auto !important;
    min-width: 330px;
    min-height: 56px;
    padding: 14px 34px !important;
    border: none !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg, #f8df35, var(--form-yellow)) !important;
    color: var(--form-text) !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    cursor: pointer;
    box-shadow: 0 16px 30px rgba(234, 179, 8, 0.30) !important;
    transition: all 0.2s ease;
}

#nf-field-8:hover,
#nf-field-8-wrap input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 36px rgba(234, 179, 8, 0.38) !important;
}

/* Erreurs */
.nf-error-msg,
.nf-error-wrap,
.nf-form-errors {
    margin-top: 6px;
    font-size: 13px;
    color: #dc2626;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 980px) {
    #nf-field-14-wrap .nf-field-element {
        grid-template-columns: 80px 1fr;
    }

    #nf-field-14-wrap .nf-field-element p:nth-of-type(4) {
        grid-column: 1 / -1;
        grid-row: auto;
        border-left: none;
        border-top: 1px solid rgba(47, 150, 62, 0.20);
        padding-top: 24px;
    }
}

@media (max-width: 767px) {
    .nf-form-layout form {
        padding: 18px;
        border-radius: 16px;
    }

    .nf-form-content {
        display: block !important;
    }

    .nf-field-container {
        margin-bottom: 18px !important;
    }

    #nf-field-14-wrap .nf-field-element {
        display: block !important;
        padding: 22px;
    }

    #nf-field-14-wrap .nf-field-element::before {
        margin: 0 auto 18px;
    }

    #nf-field-14-wrap .nf-field-element p {
        margin-bottom: 16px !important;
        text-align: left !important;
        border: none !important;
        padding: 0 !important;
    }

    #nf-field-14-wrap .nf-field-element p:nth-of-type(4) {
        text-align: center !important;
        padding-top: 18px !important;
        border-top: 1px solid rgba(47, 150, 62, 0.20) !important;
    }

    #nf-field-14-wrap span[data-key="calc:difference"] {
        font-size: clamp(48px, 18vw, 68px);
    }

    #nf-field-42-wrap .nf-field-element {
        padding: 22px 20px 22px 72px;
        border-radius: 16px;
    }

    #nf-field-42-wrap .nf-field-element::before {
        left: 20px;
        top: 22px;
        width: 38px;
        height: 38px;
        font-size: 18px;
    }

    #nf-field-42-wrap .nf-field-element::after {
        font-size: 20px;
    }

    #nf-field-8,
    #nf-field-8-wrap input[type="submit"] {
        width: 100% !important;
        min-width: 0;
    }

    .listradio-wrap ul {
        grid-template-columns: 1fr;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9a45e4c *//* =========================================================
   SIMULATEUR PAC - BLOCS APRES FORMULAIRE
   VERSION PROPRE ET RESPONSIVE
   ========================================================= */

.cda-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-sim-after,
.cda-sim-after *{
  box-sizing:border-box;
}

.cda-sim-after img,
.cda-sim-after svg,
.cda-sim-after video,
.cda-sim-after iframe{
  max-width:100%;
  height:auto;
}

/* -----------------------------
   BLOCS GLOBAUX
----------------------------- */

.cda-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-sim-block__intro{
  min-width:0;
  max-width:860px;
  margin-bottom:22px;
}

.cda-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-sim-block h2,
.cda-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-sim-block__intro p:last-child,
.cda-sim-finalcta p{
  margin:14px 0 0;
  color:rgba(62,61,61,0.82);
  font-size:1rem;
  line-height:1.72;
}

/* -----------------------------
   NOTE
----------------------------- */

.cda-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-sim-note p{
  margin:0;
  color:var(--cda-charcoal);
  font-size:.98rem;
  line-height:1.65;
}

/* -----------------------------
   TABLEAU RESPONSIVE
----------------------------- */

.cda-sim-table-hint{
  display:none;
  margin:0 0 12px;
  color:rgba(62,61,61,0.68);
  font-size:.84rem;
  line-height:1.45;
}

.cda-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-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-sim-table-scroll::-webkit-scrollbar{
  height:8px;
}

.cda-sim-table-scroll::-webkit-scrollbar-track{
  background:rgba(62,61,61,0.08);
  border-radius:999px;
}

.cda-sim-table-scroll::-webkit-scrollbar-thumb{
  background:#89AC3B;
  border-radius:999px;
}

.cda-sim-table{
  width:max-content;
  min-width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
}

.cda-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-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-sim-table tbody td:first-child{
  min-width:190px;
  font-weight:700;
}

.cda-sim-table tbody tr:nth-child(even) td{
  background:#fcfbf8;
}

/* -----------------------------
   CARTES EDITORIALES
----------------------------- */

.cda-sim-editorial__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}

.cda-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-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-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-sim-faq__list{
  display:grid;
  gap:12px;
}

.cda-sim-faq__item{
  min-width:0;
  border:1px solid var(--cda-line);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}

.cda-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-sim-faq__item summary::-webkit-details-marker{
  display:none;
}

.cda-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-sim-faq__item[open] summary::after{
  content:"−";
}

.cda-sim-faq__content{
  padding:0 18px 18px;
}

.cda-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-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-sim-finalcta__inner{
  position:relative;
  z-index:1;
  width:100%;
  min-width:0;
  max-width:760px;
}

.cda-sim-finalcta .cda-sim-eyebrow{
  color:rgba(255,253,244,0.74);
}

.cda-sim-finalcta h2{
  color:#FFFDF4;
}

.cda-sim-finalcta p{
  color:rgba(255,253,244,0.86);
}

.cda-sim-finalcta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.cda-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-btn:hover{
  transform:translateY(-2px);
  color:#ffffff
}

.cda-btn--primary{
  background:linear-gradient(180deg, #6fb732 0%, #89AC3B 100%);
  color:#fff;
  box-shadow:0 12px 24px rgba(137,172,59,0.24);
}

.cda-btn--ghost{
  border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.06);
  color:#FFFDF4;
}

/* -----------------------------
   TABLET
----------------------------- */

@media (max-width: 980px){
  .cda-sim-after{
    gap:24px;
    margin-top:24px;
  }

  .cda-sim-block{
    padding:22px;
  }

  .cda-sim-editorial__grid{
    grid-template-columns:1fr;
  }
}

/* -----------------------------
   MOBILE
----------------------------- */

@media (max-width: 767px){
  .cda-sim-after{
    gap:18px;
    margin-top:20px;
  }

  .cda-sim-block{
    padding:16px;
    border-radius:18px;
  }

  .cda-sim-block__intro{
    margin-bottom:16px;
  }

  .cda-sim-eyebrow{
    margin:0 0 8px;
    font-size:.68rem;
    letter-spacing:.12em;
  }

  .cda-sim-block h2,
  .cda-sim-finalcta h2{
    font-size:1.34rem;
    line-height:1.12;
    letter-spacing:-0.02em;
  }

  .cda-sim-block__intro p:last-child,
  .cda-sim-finalcta p,
  .cda-sim-card p,
  .cda-sim-note p,
  .cda-sim-faq__content p{
    font-size:.93rem;
    line-height:1.58;
  }

  .cda-sim-note{
    padding:14px 14px 14px 15px;
    border-radius:12px;
  }

  .cda-sim-table-hint{
    display:block;
  }

  .cda-sim-table-wrap{
    border-radius:14px;
  }

  .cda-sim-table thead th,
  .cda-sim-table tbody td{
    padding:12px 12px;
    font-size:.88rem;
  }

  .cda-sim-table tbody td{
    min-width:150px;
  }

  .cda-sim-table tbody td:first-child{
    min-width:170px;
  }

  .cda-sim-card{
    padding:16px;
    border-radius:16px;
  }

  .cda-sim-card h3{
    font-size:1rem;
    line-height:1.28;
  }

  .cda-sim-faq__list{
    gap:10px;
  }

  .cda-sim-faq__item{
    border-radius:14px;
  }

  .cda-sim-faq__item summary{
    padding:14px 42px 14px 14px;
    font-size:.93rem;
  }

  .cda-sim-faq__item summary::after{
    right:12px;
    width:24px;
    height:24px;
    font-size:16px;
  }

  .cda-sim-faq__content{
    padding:0 14px 14px;
  }

  .cda-sim-finalcta{
    padding:20px 16px;
    border-radius:18px;
  }

  .cda-sim-finalcta__actions{
    flex-direction:column;
    gap:10px;
    margin-top:16px;
  }

  .cda-btn{
    width:100%;
    min-height:46px;
    padding:0 14px;
    border-radius:12px;
    font-size:.92rem;
  }
}/* End custom CSS */