.elementor-152 .elementor-element.elementor-element-cfa0328{--display:flex;--min-height:1px;--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;--justify-content:center;--align-items:center;}#elementor-popup-modal-152 .dialog-widget-content{background-color:#FFFFFF00;}#elementor-popup-modal-152{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-152 .dialog-message{width:1100px;height:auto;}#elementor-popup-modal-152 .dialog-close-button{display:flex;}@media(min-width:768px){.elementor-152 .elementor-element.elementor-element-cfa0328{--content-width:1140px;}}/* Start custom CSS for html, class: .elementor-element-8a98044 *//* ==========================================================
   FAMILY DÔME
   CORRECTION POPUP / HEADER / MOBILE
========================================================== */

/* La popup passe TOUJOURS devant le header sticky */
.elementor-popup-modal {
    z-index: 2147483000 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
}

/* Fenêtre Elementor */
.elementor-popup-modal .dialog-widget-content {
    position: relative !important;
    z-index: 2147483001 !important;

    width: min(1100px, calc(100vw - 20px)) !important;
    max-width: 1100px !important;

    max-height: calc(100dvh - 20px) !important;

    overflow: hidden !important;

    border-radius: 28px !important;
}

/* Le bouton X doit rester accessible */
.elementor-popup-modal .dialog-close-button {
    position: absolute !important;

    top: 10px !important;
    right: 10px !important;

    z-index: 2147483005 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 40px !important;

    margin: 0 !important;

    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #263A56 !important;

    box-shadow:
        0 5px 20px rgba(38,58,86,.16) !important;
}

/* Le X reste cliquable quoi qu'il arrive */
.elementor-popup-modal .dialog-close-button,
.elementor-popup-modal .dialog-close-button * {
    pointer-events: auto !important;
}


/* ==========================================================
   SÉCURITÉ CONTRE LE SCROLL HORIZONTAL
========================================================== */

.fd-devis-modal,
.fd-wizard,
.fd-wizard-shell,
.fd-wizard-main {
    max-width: 100% !important;
}

.fd-devis-modal {
    overflow: visible !important;
}

.fd-wizard-shell,
.fd-wizard-main {
    overflow-x: hidden !important;
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 650px) {

    .elementor-popup-modal {
        padding: 6px !important;

        align-items: flex-start !important;
        justify-content: center !important;
    }

    .elementor-popup-modal .dialog-widget-content {

        width: calc(100vw - 12px) !important;
        max-width: none !important;

        max-height: calc(100dvh - 12px) !important;

        margin: 6px auto 0 !important;

        border-radius: 20px !important;

        overflow: hidden !important;
    }

    .elementor-popup-modal .dialog-close-button {

        top: 8px !important;
        right: 8px !important;

        width: 38px !important;
        height: 38px !important;

        background: #ffffff !important;
    }

    .fd-wizard-shell {

        width: 100% !important;
        max-width: none !important;

        min-height: 0 !important;

        max-height: calc(100dvh - 12px) !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;

        overscroll-behavior: contain;

        -webkit-overflow-scrolling: touch;
    }

    /*
     * Le header Family Dôme de la popup devient
     * volontairement beaucoup plus compact.
     */

    .fd-wizard-visual {

        min-height: 100px !important;

        padding:
            15px 18px !important;
    }

    .fd-visual-pill {

        margin-bottom: 7px !important;

        padding:
            4px 8px !important;

        font-size: 7px !important;
    }

    .fd-wizard-visual h2 {

        width: 68% !important;

        font-size: 23px !important;

        line-height: .98 !important;
    }

    .fd-wizard-visual p {
        display: none !important;
    }

    .fd-mountain {

        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;

        width: 42% !important;
        height: 95px !important;
    }

    .fd-mountain svg {
        height: 82px !important;
    }

    .fd-mountain-sun {

        top: 16px !important;

        width: 39px !important;
        height: 39px !important;
    }

    .fd-credit-badge,
    .fd-deco-cloud {
        display: none !important;
    }

    /*
     * Zone questionnaire
     */

    .fd-wizard-main {

        padding:
            19px 15px 20px !important;

        overflow: visible !important;
    }

    .fd-progress-area {
        margin-bottom: 17px !important;
    }

    .fd-step h1 {

        padding-right: 20px;

        font-size: 26px !important;

        line-height: 1.03 !important;
    }

    .fd-intro {

        margin:
            8px 0 16px !important;

        font-size: 10px !important;
    }

    /*
     * 2 services par ligne
     */

    .fd-services {

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 8px !important;
    }

    .fd-service {

        min-width: 0 !important;
        min-height: 104px !important;

        padding:
            9px 5px !important;

        border-radius: 15px !important;

        pointer-events: auto !important;
        touch-action: manipulation;
    }

    .fd-service-icon {

        width: 47px !important;
        height: 47px !important;

        pointer-events: none;
    }

    .fd-service-label {

        font-size: 9px !important;

        pointer-events: none;
    }

    /*
     * Questions
     */

    .fd-options-2,
    .fd-options-3 {

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    .fd-option {

        min-height: 57px !important;

        padding:
            10px 7px !important;

        font-size: 10px !important;

        touch-action: manipulation;
    }

    /*
     * CF7
     */

    .fd-cf7-final {

        width: 100% !important;
        max-width: none !important;

        max-height: calc(100dvh - 12px) !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;

        padding:
            22px 16px 25px !important;

        border-radius: 20px !important;
    }

}

/* ==========================================================
   CF7 — RGPD + RÉASSURANCE + ENVOI
========================================================== */

.fd-cf7-rgpd {
    margin: 4px 0 8px !important;
    padding: 13px 15px !important;

    border-radius: 13px !important;

    background: #F7F8F4 !important;

    color: #263A56 !important;

    font-size: 11px !important;
    line-height: 1.45 !important;
}

.fd-cf7-rgpd .wpcf7-list-item {
    margin: 0 !important;
}

.fd-cf7-rgpd label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 9px !important;

    margin: 0 !important;

    cursor: pointer;
}

.fd-cf7-rgpd input[type="checkbox"] {
    flex: 0 0 auto;

    width: 17px !important;
    height: 17px !important;
    min-height: 0 !important;

    margin: 2px 0 0 !important;

    accent-color: #7564B4;
}


/* Petite phrase sécurité */

.fd-cf7-reassurance {
    margin: 8px 0 16px !important;
    padding: 0 !important;

    color: #77808E !important;

    font-size: 10px !important;
    line-height: 1.45 !important;

    text-align: left !important;
}


/* Actions */

.fd-cf7-actions {
    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 15px !important;

    margin-top: 8px !important;
}


/* Bouton envoyer */

.fd-cf7-final input[type="submit"] {
    position: relative !important;

    min-height: 48px !important;

    padding: 14px 27px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #263A56 !important;
    color: #fff !important;

    font-weight: 600 !important;

    cursor: pointer !important;

    opacity: 1;

    pointer-events: auto !important;
}


/* Si CF7 bloque le bouton car le consentement manque */

.fd-cf7-final input[type="submit"]:disabled {
    opacity: .42 !important;
    cursor: not-allowed !important;
}


/* Erreurs CF7 bien visibles */

.fd-cf7-final .wpcf7-not-valid-tip {
    display: block !important;

    margin-top: 5px !important;

    color: #B42318 !important;

    font-size: 10px !important;
    line-height: 1.35 !important;
}

.fd-cf7-final .wpcf7-response-output {
    margin: 15px 0 0 !important;
    padding: 11px 13px !important;

    border-radius: 12px !important;

    font-size: 11px !important;
    line-height: 1.4 !important;
}


/* MOBILE */

@media (max-width:650px) {

    .fd-cf7-rgpd {
        padding: 11px 12px !important;

        font-size: 10px !important;
    }

    .fd-cf7-reassurance {
        margin: 7px 0 13px !important;

        font-size: 9px !important;
    }

    .fd-cf7-actions {
        margin-top: 5px !important;
    }

}/* End custom CSS */