.elementor-4282 .elementor-element.elementor-element-73907443{--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-4282 .elementor-element.elementor-element-3c4e58a0{--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;--overlay-opacity:0.15;--padding-top:210px;--padding-bottom:120px;--padding-left:20px;--padding-right:20px;}.elementor-4282 .elementor-element.elementor-element-3c4e58a0:not(.elementor-motion-effects-element-type-background), .elementor-4282 .elementor-element.elementor-element-3c4e58a0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-abbea88 );}.elementor-4282 .elementor-element.elementor-element-3c4e58a0::before, .elementor-4282 .elementor-element.elementor-element-3c4e58a0 > .elementor-background-video-container::before, .elementor-4282 .elementor-element.elementor-element-3c4e58a0 > .e-con-inner > .elementor-background-video-container::before, .elementor-4282 .elementor-element.elementor-element-3c4e58a0 > .elementor-background-slideshow::before, .elementor-4282 .elementor-element.elementor-element-3c4e58a0 > .e-con-inner > .elementor-background-slideshow::before, .elementor-4282 .elementor-element.elementor-element-3c4e58a0 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://www.renovation76.com/wp-content/uploads/2026/08/group-of-architects-and-engineers-work-together-to-4QS7WFY.webp");--background-overlay:'';background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-4282 .elementor-element.elementor-element-3c4e58a0::before{filter:brightness( 88% ) contrast( 158% ) saturate( 0% ) blur( 0px ) hue-rotate( 0deg );}.elementor-4282 .elementor-element.elementor-element-34131c5{--display:flex;}.elementor-4282 .elementor-element.elementor-element-12aecedd{text-align:center;}.elementor-4282 .elementor-element.elementor-element-12aecedd .elementor-heading-title{font-size:2em;letter-spacing:0.4px;color:var( --e-global-color-0a57e5c );}.elementor-4282 .elementor-element.elementor-element-56c667de{--display:flex;--position:absolute;bottom:-1px;--z-index:2;}.elementor-4282 .elementor-element.elementor-element-56c667de:not(.elementor-motion-effects-element-type-background), .elementor-4282 .elementor-element.elementor-element-56c667de > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.renovation76.com/wp-content/uploads/2026/08/Gp-22.png");background-position:bottom right;background-repeat:no-repeat;background-size:1000px auto;}body:not(.rtl) .elementor-4282 .elementor-element.elementor-element-56c667de{left:0px;}body.rtl .elementor-4282 .elementor-element.elementor-element-56c667de{right:0px;}.elementor-4282 .elementor-element.elementor-element-2b9c60de{--spacer-size:40px;}.elementor-4282 .elementor-element.elementor-element-16a1f028{--display:flex;--position:absolute;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;bottom:-1px;--z-index:1;}.elementor-4282 .elementor-element.elementor-element-16a1f028:not(.elementor-motion-effects-element-type-background), .elementor-4282 .elementor-element.elementor-element-16a1f028 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.renovation76.com/wp-content/uploads/2026/08/Gp-21.png");background-position:bottom left;background-repeat:no-repeat;background-size:1000px auto;}body:not(.rtl) .elementor-4282 .elementor-element.elementor-element-16a1f028{right:0px;}body.rtl .elementor-4282 .elementor-element.elementor-element-16a1f028{left:0px;}.elementor-4282 .elementor-element.elementor-element-1989f67c{--spacer-size:40px;}.elementor-4282 .elementor-element.elementor-element-19b46710{--display:flex;--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:stretch;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--padding-top:10%;--padding-bottom:10%;--padding-left:0%;--padding-right:0%;}.elementor-4282 .elementor-element.elementor-element-10be159f{--display:flex;--justify-content:space-between;--gap:1px 1px;--row-gap:1px;--column-gap:1px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4282 .elementor-element.elementor-element-3d5de12{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-4282 .elementor-element.elementor-element-0764391 .elementor-heading-title{font-family:var( --e-global-typography-9bc0a73-font-family ), Sans-serif;font-size:var( --e-global-typography-9bc0a73-font-size );font-weight:var( --e-global-typography-9bc0a73-font-weight );line-height:var( --e-global-typography-9bc0a73-line-height );color:var( --e-global-color-secondary );}@media(max-width:1024px){.elementor-4282 .elementor-element.elementor-element-56c667de:not(.elementor-motion-effects-element-type-background), .elementor-4282 .elementor-element.elementor-element-56c667de > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:bottom right;background-repeat:no-repeat;background-size:1000px auto;}.elementor-4282 .elementor-element.elementor-element-2b9c60de{--spacer-size:35px;}.elementor-4282 .elementor-element.elementor-element-16a1f028:not(.elementor-motion-effects-element-type-background), .elementor-4282 .elementor-element.elementor-element-16a1f028 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:bottom left;background-repeat:no-repeat;background-size:1000px auto;}.elementor-4282 .elementor-element.elementor-element-1989f67c{--spacer-size:35px;}.elementor-4282 .elementor-element.elementor-element-19b46710{--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-4282 .elementor-element.elementor-element-10be159f.e-con{--order:-99999 /* order start hack */;}.elementor-4282 .elementor-element.elementor-element-0764391 .elementor-heading-title{font-size:var( --e-global-typography-9bc0a73-font-size );line-height:var( --e-global-typography-9bc0a73-line-height );}}@media(min-width:768px){.elementor-4282 .elementor-element.elementor-element-34131c5{--width:100%;}.elementor-4282 .elementor-element.elementor-element-56c667de{--width:32%;}.elementor-4282 .elementor-element.elementor-element-16a1f028{--width:32%;}.elementor-4282 .elementor-element.elementor-element-10be159f{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-4282 .elementor-element.elementor-element-56c667de{--width:30%;}.elementor-4282 .elementor-element.elementor-element-16a1f028{--width:30%;}.elementor-4282 .elementor-element.elementor-element-10be159f{--width:100%;}}@media(max-width:767px){.elementor-4282 .elementor-element.elementor-element-3c4e58a0{--padding-top:180px;--padding-bottom:110px;--padding-left:0px;--padding-right:0px;}.elementor-4282 .elementor-element.elementor-element-12aecedd .elementor-heading-title{font-size:16px;}.elementor-4282 .elementor-element.elementor-element-56c667de{--width:30%;}.elementor-4282 .elementor-element.elementor-element-56c667de:not(.elementor-motion-effects-element-type-background), .elementor-4282 .elementor-element.elementor-element-56c667de > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:bottom right;background-repeat:no-repeat;background-size:800px auto;}.elementor-4282 .elementor-element.elementor-element-2b9c60de{--spacer-size:25px;}.elementor-4282 .elementor-element.elementor-element-16a1f028{--width:30%;}.elementor-4282 .elementor-element.elementor-element-16a1f028:not(.elementor-motion-effects-element-type-background), .elementor-4282 .elementor-element.elementor-element-16a1f028 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:bottom left;background-repeat:no-repeat;background-size:800px auto;}.elementor-4282 .elementor-element.elementor-element-1989f67c{--spacer-size:25px;}.elementor-4282 .elementor-element.elementor-element-19b46710{--padding-top:15%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-4282 .elementor-element.elementor-element-0764391 .elementor-heading-title{font-size:var( --e-global-typography-9bc0a73-font-size );line-height:var( --e-global-typography-9bc0a73-line-height );}}/* Start custom CSS for shortcode, class: .elementor-element-3d5de12 *//* ==========================================================================
   R76 — WIZARD DEVIS
   MARKUP ISOLÉ / RESPONSIVE / ELEMENTOR-SAFE
   ========================================================================== */


/* ==========================================================================
   VARIABLES + RESET
   ========================================================================== */

.r76-wizard,
.r76-wizard *,
.r76-wizard *::before,
.r76-wizard *::after {
    box-sizing: border-box;
}


.r76-wizard {
    --r76-red: #ef3e1b;
    --r76-black: #111111;
    --r76-white: #ffffff;

    --r76-soft: #f5f5f2;
    --r76-soft-hover: #efefeb;
    --r76-soft-2: #fafaf8;

    --r76-border: #e5e5df;

    --r76-text: #111111;
    --r76-muted: #6f6f6a;
    --r76-muted-light: #94948f;

    --r76-danger: #b42318;

    --r76-ease: cubic-bezier(.22, 1, .36, 1);

    width: 100%;
    max-width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--r76-text);
}


/* ==========================================================================
   NEUTRALISATION WORDPRESS / CF7 / TEMPLATE
   ========================================================================== */

.r76-wizard div,
.r76-wizard span,
.r76-wizard label {
    box-sizing: border-box;
}


.r76-wizard .wpcf7-form-control-wrap {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


.r76-wizard .wpcf7-list-item {
    margin: 0 !important;
    padding: 0 !important;
}


.r76-wizard .wpcf7-radio,
.r76-wizard .wpcf7-checkbox {
    margin: 0 !important;
    padding: 0 !important;
}


.r76-wizard br {
    display: none !important;
}


/*
 * CF7 / WP peuvent parfois injecter des paragraphes.
 * On les neutralise même si notre markup n'en contient pas.
 */

.r76-wizard p {
    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================================
   CARD
   ========================================================================== */

.r76-wizard-card {
    width: 100%;
    max-width: 920px;

    margin: 0 auto !important;

    padding:
        clamp(34px, 5vw, 56px);

    background: #ffffff;

    border:
        1px solid
        var(--r76-border);

    border-radius: 24px;

    box-shadow:
        0 24px 60px
        rgba(0, 0, 0, .05);
}


/* ==========================================================================
   HEADER
   ========================================================================== */

.r76-wizard-header {
    margin: 0 0 30px !important;

    padding: 0 0 25px !important;

    border-bottom:
        1px solid
        var(--r76-border);
}


.r76-wizard-kicker {
    display: block;

    margin: 0 0 8px !important;

    color: var(--r76-red);

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size: 10px;

    font-weight: 700;

    line-height: 1.2;

    letter-spacing: .09em;

    text-transform: uppercase;
}


.r76-wizard-title {
    max-width: 680px;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--r76-black);

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        clamp(34px, 5vw, 50px);

    font-weight: 600;

    line-height: 1.03;

    letter-spacing: -.045em;
}


.r76-wizard-description {
    max-width: 580px;

    margin: 13px 0 0 !important;
    padding: 0 !important;

    color: var(--r76-muted);

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size: 14px;

    font-weight: 400;

    line-height: 1.5;
}


/* ==========================================================================
   STEPPER
   ========================================================================== */

.r76-stepper {
    display: flex;

    align-items: flex-start;

    width: 100%;

    margin: 25px 0 0 !important;
}


.r76-stepper-item {
    flex: 0 0 auto;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 6px;

    margin: 0 !important;
    padding: 0 !important;

    color: #a5a5a0;
}


.r76-stepper-number {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 32px;
    height: 32px;

    margin: 0 !important;
    padding: 0 !important;

    border:
        1px solid
        #ddddda;

    border-radius: 50%;

    background: #ffffff;

    color: #969691;

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size: 10px;

    font-weight: 600;

    line-height: 1;

    transition:
        all .3s
        var(--r76-ease);
}


.r76-stepper-label {
    margin: 0 !important;
    padding: 0 !important;

    color: inherit;

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size: 9px;

    line-height: 1;
}


.r76-stepper-line {
    flex: 1 1 auto;

    height: 1px;

    margin:
        16px
        9px
        0 !important;

    background: #e5e5e0;
}


/* ACTIVE */

.r76-stepper-item.is-active {
    color: var(--r76-black);
}


.r76-stepper-item.is-active
.r76-stepper-number {
    border-color: var(--r76-red);

    background: var(--r76-red);

    color: #ffffff;

    box-shadow:
        0 7px 18px
        rgba(239, 62, 27, .17);

    transform: scale(1.06);
}


/* COMPLETE */

.r76-stepper-item.is-complete {
    color: var(--r76-black);
}


.r76-stepper-item.is-complete
.r76-stepper-number {
    border-color: var(--r76-black);

    background: var(--r76-black);

    color: #ffffff;
}


/* ==========================================================================
   PROGRESS
   ========================================================================== */

.r76-progress {
    width: 100%;
    height: 4px;

    margin: 16px 0 0 !important;
    padding: 0 !important;

    overflow: hidden;

    border-radius: 999px;

    background: #eeeeea;
}


.r76-progress-fill {
    display: block;

    width: 25%;
    height: 100%;

    margin: 0 !important;

    border-radius: inherit;

    background: var(--r76-red);

    transition:
        width
        .5s
        var(--r76-ease);
}


/* ==========================================================================
   STEPS
   ========================================================================== */

.r76-form-step[hidden] {
    display: none !important;
}


.r76-form-step {
    margin: 0 !important;
    padding: 0 !important;
}


.r76-form-step.is-active {
    animation:
        r76StepIn
        .42s
        var(--r76-ease)
        both;
}


@keyframes r76StepIn {
    from {
        opacity: 0;

        transform:
            translate3d(
                0,
                10px,
                0
            );
    }

    to {
        opacity: 1;

        transform:
            translate3d(
                0,
                0,
                0
            );
    }
}


/* ==========================================================================
   STEP HEADING
   ========================================================================== */

.r76-step-heading {
    margin: 0 0 22px !important;
    padding: 0 !important;
}


.r76-step-meta {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    margin: 0 0 7px !important;
    padding: 0 !important;
}


.r76-step-kicker {
    margin: 0 !important;
    padding: 0 !important;

    color: var(--r76-red);

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size: 9px;

    font-weight: 700;

    line-height: 1.2;

    letter-spacing: .08em;

    text-transform: uppercase;
}


.r76-step-count {
    margin: 0 !important;
    padding: 0 !important;

    color: #9f9f9a;

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size: 10px;

    line-height: 1;
}


.r76-step-title {
    max-width: 650px;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--r76-black);

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        clamp(26px, 4vw, 36px);

    font-weight: 600;

    line-height: 1.08;

    letter-spacing: -.035em;
}


.r76-step-description {
    max-width: 580px;

    margin: 7px 0 0 !important;
    padding: 0 !important;

    color: var(--r76-muted);

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size: 13px;

    font-weight: 400;

    line-height: 1.5;
}


/* ==========================================================================
   SERVICE SELECTION
   ========================================================================== */

.r76-service-select {
    margin: 0 !important;
    padding: 0 !important;
}


.r76-service-select
.wpcf7-radio {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 9px;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;
}


.r76-service-select
.wpcf7-list-item {
    display: block;

    width: 100%;
}


.r76-service-select label {
    position: relative;

    display: flex !important;

    align-items: center !important;

    justify-content: flex-start !important;

    width: 100%;

    min-height: 70px;

    margin: 0 !important;

    padding:
        13px
        50px
        13px
        15px !important;

    border:
        1px solid
        transparent;

    border-radius: 13px;

    background:
        var(--r76-soft);

    cursor: pointer;

    transition:
        transform .24s var(--r76-ease),
        border-color .2s ease,
        background-color .2s ease,
        box-shadow .24s ease;
}


.r76-service-select
input[type="radio"] {
    position: absolute;

    width: 1px !important;
    height: 1px !important;

    margin: 0 !important;

    opacity: 0;
}


.r76-service-select
.wpcf7-list-item-label {
    display: flex !important;

    align-items: center !important;

    min-height: 22px;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--r76-black);

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size: 12px;

    font-weight: 600;

    line-height: 1.25;

    overflow-wrap: anywhere;
}


/* CHECK CIRCLE */

.r76-service-select
label::before {
    content: "";

    position: absolute;

    top: 50%;
    right: 15px;

    width: 25px;
    height: 25px;

    margin: 0 !important;

    border:
        1px solid
        #d7d7d2;

    border-radius: 50%;

    background: #ffffff;

    transform:
        translateY(-50%);

    transition:
        all .24s
        var(--r76-ease);
}


.r76-service-select
label::after {
    content: "✓";

    position: absolute;

    top: 50%;
    right: 21px;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 13px;
    height: 13px;

    margin: 0 !important;

    color: #ffffff;

    font-family:
        Arial,
        sans-serif;

    font-size: 10px;

    font-weight: 700;

    line-height: 1;

    opacity: 0;

    transform:
        translateY(-50%)
        scale(.5);

    transition:
        all .24s
        var(--r76-ease);
}


/* SELECTED */

.r76-service-select
label:has(input:checked) {
    border-color: var(--r76-black);

    background: var(--r76-black);

    box-shadow:
        0 11px 24px
        rgba(0, 0, 0, .09);
}


.r76-service-select
label:has(input:checked)
.wpcf7-list-item-label {
    color: #ffffff;
}


.r76-service-select
label:has(input:checked)::before {
    border-color: var(--r76-red);

    background: var(--r76-red);
}


.r76-service-select
label:has(input:checked)::after {
    opacity: 1;

    transform:
        translateY(-50%)
        scale(1);
}


@media
(hover: hover)
and
(pointer: fine) {

    .r76-service-select
    label:hover {
        transform:
            translateY(-2px);

        border-color:
            rgba(239, 62, 27, .22);

        box-shadow:
            0 9px 22px
            rgba(0, 0, 0, .05);
    }

}


/* ==========================================================================
   FIELD GRID
   ========================================================================== */

.r76-fields {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    column-gap: 16px;

    /*
     * Important :
     * distance entre DEUX champs.
     */
    row-gap: 20px;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;
}


.r76-field {
    min-width: 0;

    margin: 0 !important;
    padding: 0 !important;
}


.r76-field-wide {
    grid-column:
        1 / -1;
}


/* ==========================================================================
   LABEL
   ========================================================================== */

.r76-field-label {
    display: flex !important;

    flex-direction: row !important;

    flex-wrap: wrap !important;

    align-items: center !important;

    justify-content: flex-start !important;

    gap: 4px !important;

    width: fit-content !important;

    max-width: 100%;

    min-height: 18px;

    /*
     * Le champ commence seulement
     * 7px après le label.
     */
    margin:
        0 0 7px !important;

    padding:
        0 !important;

    color:
        var(--r76-black) !important;

    font-family:
        "Poppins",
        Arial,
        sans-serif !important;

    font-size:
        11px !important;

    font-weight:
        600 !important;

    line-height:
        1.25 !important;
}


.r76-field-label-text {
    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    font: inherit !important;

    line-height: inherit !important;
}


.r76-field-required {
    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    color:
        var(--r76-red) !important;

    font-family:
        inherit !important;

    font-size:
        inherit !important;

    font-weight:
        700 !important;

    line-height:
        inherit !important;
}


.r76-field-optional {
    display: inline-flex !important;

    align-items: center;

    margin:
        0 0 0 3px !important;

    padding:
        2px 6px !important;

    border-radius:
        999px;

    background:
        #f0f0ed;

    color:
        #8c8c87 !important;

    font-family:
        "Lato",
        Arial,
        sans-serif !important;

    font-size:
        9px !important;

    font-weight:
        400 !important;

    line-height:
        1.2 !important;

    white-space: nowrap;
}


/* ==========================================================================
   INPUTS
   ========================================================================== */

.r76-wizard
input[type="text"],

.r76-wizard
input[type="email"],

.r76-wizard
input[type="tel"],

.r76-wizard
input[type="file"],

.r76-wizard
textarea {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    border:
        1px solid
        transparent !important;

    border-radius:
        11px !important;

    outline:
        none !important;

    background:
        var(--r76-soft) !important;

    color:
        var(--r76-black) !important;

    box-shadow:
        none !important;

    font-family:
        "Lato",
        Arial,
        sans-serif !important;

    font-size:
        13px !important;

    font-weight:
        400 !important;

    line-height:
        1.4 !important;

    transition:
        border-color .2s ease,
        background-color .2s ease,
        box-shadow .2s ease;
}


.r76-wizard
input[type="text"],

.r76-wizard
input[type="email"],

.r76-wizard
input[type="tel"] {
    height: 48px !important;

    padding:
        0 14px !important;
}


.r76-wizard textarea {
    display: block !important;

    min-height: 130px !important;

    padding:
        13px 14px !important;

    resize: vertical;
}


.r76-wizard
input:focus,

.r76-wizard
textarea:focus {
    border-color:
        var(--r76-red) !important;

    background:
        #ffffff !important;

    box-shadow:
        0 0 0 4px
        rgba(239, 62, 27, .07) !important;
}


.r76-wizard
input::placeholder,

.r76-wizard
textarea::placeholder {
    color:
        #989893 !important;

    opacity: 1 !important;
}


/* ==========================================================================
   HELP
   ========================================================================== */

.r76-field-help {
    display: block;

    /*
     * Seulement 6px sous le champ.
     */
    margin:
        6px 0 0 !important;

    padding: 0 !important;

    color:
        var(--r76-muted-light);

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size:
        9.5px;

    font-weight:
        400;

    line-height:
        1.35;
}


/* ==========================================================================
   TIMING
   ========================================================================== */

.r76-timing-select {
    margin: 0 !important;
    padding: 0 !important;
}


.r76-timing-select
.wpcf7-radio {
    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 7px;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;
}


.r76-timing-select
.wpcf7-list-item {
    display: block;
}


.r76-timing-select label {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    cursor: pointer;
}


.r76-timing-select
input[type="radio"] {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;
}


.r76-timing-select
.wpcf7-list-item-label {
    display: flex !important;

    align-items: center;

    justify-content: center;

    min-height: 35px;

    margin: 0 !important;

    padding:
        0 12px !important;

    border:
        1px solid
        var(--r76-border);

    border-radius:
        999px;

    background:
        #ffffff;

    color:
        #585853;

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size:
        10.5px;

    font-weight:
        400;

    line-height:
        1;

    white-space: nowrap;

    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease;
}


.r76-timing-select
label:has(input:checked)
.wpcf7-list-item-label {
    border-color:
        var(--r76-black);

    background:
        var(--r76-black);

    color:
        #ffffff;
}


/* ==========================================================================
   FILE INPUT
   ========================================================================== */

.r76-file-field {
    width: 100%;

    margin: 0 !important;
    padding: 0 !important;
}


.r76-wizard
input[type="file"] {
    display: block;

    min-height: 48px;

    padding:
        6px !important;

    cursor: pointer;
}


.r76-wizard
input[type="file"]::file-.elementor-4282 .elementor-element.elementor-element-3d5de12-button {
    min-height: 34px;

    margin-right: 10px;

    padding:
        0 12px;

    border: 0;

    border-radius: 7px;

    background:
        var(--r76-black);

    color:
        #ffffff;

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        9px;

    font-weight:
        600;

    cursor: pointer;

    transition:
        background-color .2s ease;
}


.r76-wizard
input[type="file"]::file-.elementor-4282 .elementor-element.elementor-element-3d5de12-button:hover {
    background:
        var(--r76-red);
}


/* ==========================================================================
   SUMMARY
   ========================================================================== */

.r76-summary {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 9px;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;
}


.r76-summary-item {
    min-width: 0;

    margin: 0 !important;

    padding:
        15px !important;

    border-radius:
        11px;

    background:
        var(--r76-soft);
}


.r76-summary-label {
    display: block;

    margin:
        0 0 5px !important;

    color:
        #90908b;

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size:
        9px;

    letter-spacing:
        .06em;

    text-transform:
        uppercase;
}


.r76-summary-value {
    display: block;

    margin: 0 !important;

    color:
        var(--r76-black);

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        12px;

    font-weight:
        600;

    line-height:
        1.4;

    overflow-wrap:
        anywhere;
}


/* ==========================================================================
   CONSENT
   ========================================================================== */

.r76-consent {
    margin:
        16px 0 0 !important;

    padding:
        13px !important;

    border:
        1px solid
        var(--r76-border);

    border-radius:
        10px;

    background:
        var(--r76-soft-2);

    color:
        #71716c;

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size:
        10px;

    line-height:
        1.45;
}


.r76-consent
.wpcf7-list-item {
    display: block;
}


.r76-consent label {
    display: flex !important;

    flex-direction: row !important;

    align-items: flex-start !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;
}


.r76-consent
input[type="checkbox"] {
    flex: 0 0 auto;

    width: 16px !important;
    height: 16px !important;

    margin:
        1px 0 0 !important;

    accent-color:
        var(--r76-red);
}


/* ==========================================================================
   ACTIONS
   ========================================================================== */

.r76-actions {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    width: 100%;

    margin:
        23px 0 0 !important;

    padding: 0 !important;
}


.r76-actions-end {
    justify-content: flex-end;
}


/* ==========================================================================
   BUTTON
   ========================================================================== */

.r76-button {
    -webkit-appearance: none !important;
    appearance: none !important;

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 12px !important;

    min-height: 48px;

    margin: 0 !important;

    padding:
        0 11px
        0 17px !important;

    border-radius:
        9px !important;

    box-shadow:
        none !important;

    font-family:
        "Poppins",
        Arial,
        sans-serif !important;

    font-size:
        11px !important;

    font-weight:
        600 !important;

    line-height:
        1 !important;

    cursor: pointer;

    transition:
        transform .24s var(--r76-ease),
        background-color .2s ease,
        border-color .2s ease;
}


.r76-button-primary {
    min-width: 154px;

    border:
        1px solid
        var(--r76-red) !important;

    background:
        var(--r76-red) !important;

    color:
        #ffffff !important;
}


.r76-button-text {
    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;
}


/* ==========================================================================
   BUTTON ICON — CENTRAGE STRICT
   ========================================================================== */

.r76-button-icon,
.r76-submit-icon {
    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    flex: 0 0 27px;

    width: 27px !important;
    height: 27px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50%;

    background:
        #ffffff;

    color:
        var(--r76-red);

    line-height: 0 !important;

    overflow: hidden;

    pointer-events: none;

    transition:
        transform .24s
        var(--r76-ease);
}


.r76-button-icon svg,
.r76-submit-icon svg {
    display: block !important;

    flex: none;

    width: 15px !important;
    height: 15px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible;

    fill: none !important;

    stroke:
        currentColor !important;

    stroke-width:
        2 !important;

    stroke-linecap:
        round !important;

    stroke-linejoin:
        round !important;

    transform: none !important;
}


.r76-button-icon svg path,
.r76-submit-icon svg path {
    fill: none !important;

    stroke:
        currentColor !important;

    stroke-width:
        2 !important;
}


/* HOVER */

.r76-button-primary:hover {
    border-color:
        var(--r76-black) !important;

    background:
        var(--r76-black) !important;

    transform:
        translateY(-2px);
}


.r76-button-primary:hover
.r76-button-icon {
    color:
        var(--r76-black);

    transform:
        translateX(2px);
}


/* BACK */

.r76-button-back {
    min-width: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    background:
        transparent !important;

    color:
        #74746f !important;
}


.r76-button-back:hover {
    background:
        transparent !important;

    color:
        var(--r76-black) !important;

    transform:
        translateX(-2px);
}


/* ==========================================================================
   SUBMIT
   ========================================================================== */

.r76-submit-wrap {
    position: relative;

    display: inline-flex;

    align-items: center;

    margin: 0 !important;
    padding: 0 !important;
}


.r76-wizard
.r76-submit {
    -webkit-appearance: none !important;
    appearance: none !important;

    min-width: 190px;
    min-height: 48px;

    margin: 0 !important;

    padding:
        0 48px
        0 17px !important;

    border:
        1px solid
        var(--r76-red) !important;

    border-radius:
        9px !important;

    background:
        var(--r76-red) !important;

    color:
        #ffffff !important;

    font-family:
        "Poppins",
        Arial,
        sans-serif !important;

    font-size:
        11px !important;

    font-weight:
        600 !important;

    line-height:
        1 !important;

    cursor: pointer;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .24s var(--r76-ease);
}


.r76-submit-icon {
    position: absolute;

    right: 10px;

    top: 50%;

    transform:
        translateY(-50%) !important;
}


.r76-submit-wrap:hover
.r76-submit {
    border-color:
        var(--r76-black) !important;

    background:
        var(--r76-black) !important;

    transform:
        translateY(-2px);
}


.r76-submit-wrap:hover
.r76-submit-icon {
    color:
        var(--r76-black);

    transform:
        translate(2px, -50%) !important;
}


/* ==========================================================================
   ERRORS
   ========================================================================== */

.r76-step-error {
    min-height: 15px;

    margin:
        8px 0 0 !important;

    padding: 0 !important;

    color:
        var(--r76-danger);

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size:
        10px;

    line-height:
        1.4;
}


.r76-wizard
.wpcf7-not-valid {
    border-color:
        var(--r76-danger) !important;
}


.r76-wizard
.wpcf7-not-valid-tip {
    display: block;

    margin:
        4px 0 0 !important;

    padding: 0 !important;

    color:
        var(--r76-danger);

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size:
        9.5px;

    line-height:
        1.35;
}


/* ==========================================================================
   SECURITY
   ========================================================================== */

.r76-security {
    display: flex;

    align-items: center;

    gap: 7px;

    margin:
        12px 0 0 !important;

    padding: 0 !important;

    color:
        #979792;

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size:
        9px;

    line-height:
        1.4;
}


.r76-security-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 17px;

    width: 17px;
    height: 17px;

    margin: 0 !important;

    border-radius: 50%;

    background:
        #e9f5ec;

    color:
        #27864b;

    font-size:
        9px;

    line-height: 1;
}


/* ==========================================================================
   SUCCESS
   ========================================================================== */

.r76-success[hidden] {
    display: none !important;
}


.r76-success {
    margin: 0 !important;
    padding: 12px 0 !important;

    animation:
        r76StepIn
        .45s
        var(--r76-ease)
        both;
}


.r76-success-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 56px;
    height: 56px;

    margin:
        0 0 20px !important;

    border-radius: 50%;

    background:
        var(--r76-red);
}


.r76-success-icon svg {
    display: block;

    width: 25px;
    height: 25px;

    fill: none;

    stroke: #ffffff;

    stroke-width: 2.2;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.r76-success-kicker {
    margin: 0 !important;

    color:
        var(--r76-red);

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        .08em;
}


.r76-success-title {
    max-width: 650px;

    margin:
        8px 0 0 !important;

    color:
        var(--r76-black);

    font-family:
        "Poppins",
        Arial,
        sans-serif;

    font-size:
        clamp(
            29px,
            5vw,
            44px
        );

    font-weight:
        600;

    line-height:
        1.06;

    letter-spacing:
        -.042em;
}


.r76-success-description {
    max-width: 550px;

    margin:
        14px 0 0 !important;

    color:
        var(--r76-muted);

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size:
        13px;

    line-height:
        1.55;
}


.r76-success-note {
    max-width: 550px;

    margin:
        20px 0 0 !important;

    padding:
        13px 15px !important;

    border-radius:
        10px;

    background:
        var(--r76-soft);

    color:
        #5c5c57;

    font-family:
        "Lato",
        Arial,
        sans-serif;

    font-size:
        10.5px;

    line-height:
        1.45;
}


/* ==========================================================================
   TABLETTE
   ========================================================================== */

@media
(max-width: 1024px) {

    .r76-wizard-card {
        max-width: 820px;

        padding:
            38px;
    }

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media
(max-width: 767px) {

    .r76-wizard-card {
        width: 100%;

        padding:
            23px
            16px
            20px;

        border-radius:
            17px;

        box-shadow:
            0 16px 38px
            rgba(0, 0, 0, .045);
    }


    /* HEADER */

    .r76-wizard-header {
        margin-bottom:
            23px !important;

        padding-bottom:
            19px !important;
    }


    .r76-wizard-kicker {
        margin-bottom:
            7px !important;

        font-size:
            8px;
    }


    .r76-wizard-title {
        max-width:
            300px;

        font-size:
            clamp(
                27px,
                8vw,
                33px
            );

        line-height:
            1.04;
    }


    .r76-wizard-description {
        max-width:
            320px;

        margin-top:
            10px !important;

        font-size:
            11.5px;

        line-height:
            1.45;
    }


    /* STEPPER */

    .r76-stepper {
        margin-top:
            20px !important;
    }


    .r76-stepper-number {
        width:
            27px;

        height:
            27px;

        font-size:
            9px;
    }


    .r76-stepper-label {
        display:
            none;
    }


    .r76-stepper-line {
        margin:
            13px
            5px
            0 !important;
    }


    .r76-progress {
        margin-top:
            13px !important;
    }


    /* STEP */

    .r76-step-heading {
        margin-bottom:
            17px !important;
    }


    .r76-step-meta {
        margin-bottom:
            6px !important;
    }


    .r76-step-kicker {
        font-size:
            8px;
    }


    .r76-step-title {
        font-size:
            clamp(
                22px,
                6.5vw,
                27px
            );

        line-height:
            1.08;
    }


    .r76-step-description {
        margin-top:
            5px !important;

        font-size:
            11.5px;

        line-height:
            1.4;
    }


    /* SERVICES — 2 COLONNES */

    .r76-service-select
    .wpcf7-radio {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            7px;
    }


    .r76-service-select
    label {
        min-height:
            64px;

        padding:
            9px
            33px
            9px
            10px !important;

        border-radius:
            10px;
    }


    .r76-service-select
    .wpcf7-list-item-label {
        font-size:
            9.5px;

        line-height:
            1.2;
    }


    .r76-service-select
    label::before {
        right:
            8px;

        width:
            19px;

        height:
            19px;
    }


    .r76-service-select
    label::after {
        right:
            13px;

        width:
            9px;

        height:
            9px;

        font-size:
            8px;
    }


    /* FIELDS */

    .r76-fields {
        grid-template-columns:
            1fr;

        column-gap:
            0;

        /*
         * 16px entre deux groupes
         * au lieu des énormes espaces précédents.
         */
        row-gap:
            16px;
    }


    .r76-field-wide {
        grid-column:
            auto;
    }


    .r76-field-label {
        margin-bottom:
            6px !important;

        font-size:
            10.5px !important;
    }


    .r76-field-optional {
        font-size:
            8.5px !important;
    }


    .r76-wizard
    input[type="text"],

    .r76-wizard
    input[type="email"],

    .r76-wizard
    input[type="tel"] {
        height:
            45px !important;

        padding:
            0 12px !important;
    }


    .r76-wizard
    input[type="text"],

    .r76-wizard
    input[type="email"],

    .r76-wizard
    input[type="tel"],

    .r76-wizard
    input[type="file"],

    .r76-wizard
    textarea {
        border-radius:
            9px !important;

        font-size:
            12px !important;
    }


    .r76-wizard
    textarea {
        min-height:
            115px !important;

        padding:
            11px 12px !important;
    }


    .r76-field-help {
        margin-top:
            5px !important;

        font-size:
            9px;
    }


    /* TIMING */

    .r76-timing-select
    .wpcf7-radio {
        gap:
            6px;
    }


    .r76-timing-select
    .wpcf7-list-item-label {
        min-height:
            32px;

        padding:
            0 10px !important;

        font-size:
            9.5px;
    }


    /* FILE */

    .r76-wizard
    input[type="file"] {
        min-height:
            45px;

        font-size:
            10px !important;
    }


    .r76-wizard
    input[type="file"]::file-.elementor-4282 .elementor-element.elementor-element-3d5de12-button {
        min-height:
            31px;

        font-size:
            8.5px;
    }


    /* SUMMARY */

    .r76-summary {
        grid-template-columns:
            1fr;

        gap:
            7px;
    }


    .r76-summary-item {
        padding:
            12px !important;
    }


    /* ACTIONS */

    .r76-actions {
        margin-top:
            19px !important;
    }


    .r76-button {
        min-height:
            45px;

        font-size:
            10px !important;
    }


    .r76-actions-end
    .r76-button-primary {
        width:
            100%;

        min-width:
            0;
    }


    .r76-button-primary {
        min-width:
            140px;
    }


    .r76-button-icon,
    .r76-submit-icon {
        flex-basis:
            24px;

        width:
            24px !important;

        height:
            24px !important;
    }


    .r76-button-icon svg,
    .r76-submit-icon svg {
        width:
            13px !important;

        height:
            13px !important;
    }


    .r76-submit-wrap {
        flex:
            1 1 auto;

        max-width:
            210px;
    }


    .r76-wizard
    .r76-submit {
        width:
            100%;

        min-width:
            0;

        min-height:
            45px;

        font-size:
            10px !important;
    }

}


/* ==========================================================================
   PETIT MOBILE
   ========================================================================== */

@media
(max-width: 390px) {

    .r76-wizard-card {
        padding:
            20px
            13px
            18px;
    }


    .r76-wizard-title {
        font-size:
            26px;
    }


    .r76-step-title {
        font-size:
            21px;
    }


    .r76-service-select
    .wpcf7-radio {
        gap:
            6px;
    }


    .r76-service-select
    label {
        min-height:
            61px;

        padding:
            8px
            30px
            8px
            9px !important;
    }


    .r76-service-select
    .wpcf7-list-item-label {
        font-size:
            9px;
    }


    .r76-fields {
        row-gap:
            15px;
    }

}


/* ==========================================================================
   ACCESSIBILITÉ
   ========================================================================== */

@media
(prefers-reduced-motion: reduce) {

    .r76-wizard *,
    .r76-wizard *::before,
    .r76-wizard *::after {
        animation:
            none !important;

        transition:
            none !important;
    }

}/* End custom CSS */