/* Layout : carte, en-tête, stepper, conteneur étapes */

.eic-fw-card {
    background: #ffffff;
    border-radius: var(--eic-fw-card-radius, 16px);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.eic-formulaire-wizard .eic-fw-card {
    overflow: hidden;
    border-radius: var(--eic-fw-card-radius, 16px);
}
.eic-fw-layout.eic-desktop-version {
    display: block;
    background-color: none;
    border-radius: var(--eic-fw-card-radius, 16px);
}
.eic-fw-layout.eic-mobile-wizard {
    display: none;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.eic-formulaire-wizard__steps {
    min-height: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background-color: #ffffff;
}

@media (min-width: 1025px) {
    .eic-fw-layout.eic-mobile-wizard {
        display: none !important;
        pointer-events: none !important;
        visibility: hidden !important;
        position: absolute !important;
        left: -99999px !important;
        top: 0 !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip-path: inset(50%) !important;
        margin: -1px !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .eic-fw-layout.eic-desktop-version {
        display: block !important;
        pointer-events: auto;
        visibility: visible;
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        overflow: visible !important;
        clip-path: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
}

@media (max-width: 1024px) {
    /*
     * !important : certains thèmes / Elementor forcent display sur les sections ;
     * sans cela la variante desktop peut rester « au-dessus » et bloquer les clics (Suivant).
     */
    .eic-fw-layout.eic-desktop-version {
        display: none !important;
        pointer-events: none !important;
        visibility: hidden !important;
        position: absolute !important;
        left: -99999px !important;
        top: 0 !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip-path: inset(50%) !important;
        margin: -1px !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .eic-fw-layout.eic-mobile-wizard {
        display: block !important;
        pointer-events: auto;
        visibility: visible;
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
        clip-path: none !important;
    }
}
.eic-fw-card__header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    padding: 18px 24px;
    border-radius: var(--eic-fw-card-radius, 16px) var(--eic-fw-card-radius, 16px) 0 0;
    background: linear-gradient(
        to right,
        var(--eic-fw-header-gradient-start),
        var(--eic-fw-header-gradient-end)
    );
    color: #ffffff;
    font-size: 19px;
    font-weight: 600;
}
.eic-fw-card__header-steps {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    width: 100%;
    min-width: 0;
    gap: 0;
}
.eic-fw-card__header-left {
    flex: 1.4 1 0;
    min-width: 0;
    text-align: center;
    box-sizing: border-box;
}
.eic-fw-card__header-right {
    flex: 0.9 1 0;
    min-width: 0;
    text-align: center;
    box-sizing: border-box;
}
.eic-fw-card__header--stacked {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}
.eic-fw-card__header--stacked .eic-fw-card__header-steps {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}
.eic-fw-card__header--stacked .eic-fw-card__header-left,
.eic-fw-card__header--stacked .eic-fw-card__header-right {
    flex: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}
.eic-fw-card__header--stacked .eic-fw-card__header-right {
    font-size: 13px;
    font-weight: 500;
    opacity: 0.95;
}
.eic-fw-card__body {
    display: flex;
    align-items: stretch;
    height: auto;
    min-height: 300px;
    background-color: #ffffff;
    border-radius: 0 0 var(--eic-fw-card-radius, 16px) var(--eic-fw-card-radius, 16px);
    transition: min-height 0.42s cubic-bezier(0.33, 1, 0.68, 1);
}

@media (prefers-reduced-motion: reduce) {
    .eic-fw-card__body,
    .eic-fw-card__main,
    .eic-formulaire-wizard .eic-fw-card,
    .eic-mobile-wizard .eic-fw-card,
    .eic-mobile-wizard .eic-fw-card__main,
    .eic-mobile-wizard .eic-fw-card__body--mobile,
    .eic-mobile-wizard .eic-formulaire-wizard__steps,
    .eic-mobile-wizard .eic-fw-mobile-simulation-top,
    .eic-formulaire-wizard .eic-mobile-wizard .eic-fw-stepper__list::after {
        transition-duration: 0.01ms !important;
    }
}
.eic-formulaire-wizard.eic-formulaire-wizard--steps-form .eic-desktop-version .eic-fw-card__main {
    padding: 24px 28px 20px;
}
.eic-fw-card__body--mobile {
    flex-direction: column;
}
.eic-fw-card__main {
    flex: 1.4;
    padding: 24px 28px 20px;
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    background-color: #ffffff;
    transition: padding 0.42s cubic-bezier(0.33, 1, 0.68, 1);
}
.eic-fw-stepper {
    margin: 0 0 18px;
}
.eic-fw-stepper__list {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    list-style: none;
    margin: 0;
    padding: 0 8px;
    position: relative;
}
.eic-fw-stepper__item {
    flex: 1;
    text-align: center;
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 0;
}
.eic-fw-stepper__item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: calc(50% + 18px);
    right: calc(-50% + 18px);
    top: 17px;
    height: 3px;
    background: #e0e4eb;
    z-index: -1;
    transition: background-color 0.55s cubic-bezier(0.33, 1, 0.68, 1);
    transform-origin: left center;
}
.eic-fw-stepper__item.is-done:not(:last-child)::after,
.eic-fw-stepper__item.is-current:not(:last-child)::after {
    background: var(--eic-fw-accent);
}
.eic-fw-stepper__node {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-family: Roboto, system-ui, -apple-system, "Segoe UI", Arial, Helvetica, sans-serif;
    font-weight: 900;
    font-size: 15px;
    line-height: 1;
    border: none;
    box-sizing: border-box;
    box-shadow: none;
    transition:
        background 0.55s cubic-bezier(0.33, 1, 0.68, 1),
        color 0.55s cubic-bezier(0.33, 1, 0.68, 1),
        box-shadow 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}
.eic-fw-stepper__item.is-upcoming .eic-fw-stepper__node {
    background: #eef3fb;
    color: var(--eic-fw-accent);
}
.eic-fw-stepper__item.is-done .eic-fw-stepper__node,
.eic-fw-stepper__item.is-current .eic-fw-stepper__node {
    background: var(--eic-fw-accent);
    color: #ffffff;
}
.eic-fw-stepper__item.is-current .eic-fw-stepper__node {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--eic-fw-accent);
}
.eic-fw-stepper__item.is-done .eic-fw-stepper__node {
    box-shadow: none;
}

/* Étapes 1–4 : même hauteur utile (min = plus grande étape, voir --eic-fw-steps-min-height) */
.eic-formulaire-wizard[data-eic-fw-step="1"] .eic-formulaire-wizard__steps,
.eic-formulaire-wizard[data-eic-fw-step="2"] .eic-formulaire-wizard__steps,
.eic-formulaire-wizard[data-eic-fw-step="3"] .eic-formulaire-wizard__steps,
.eic-formulaire-wizard[data-eic-fw-step="4"] .eic-formulaire-wizard__steps {
    min-height: var(--eic-fw-steps-min-height);
    box-sizing: border-box;
}

.eic-formulaire-wizard .eic-wizard-step[data-step="1"],
.eic-formulaire-wizard .eic-wizard-step[data-step="2"],
.eic-formulaire-wizard .eic-wizard-step[data-step="3"],
.eic-formulaire-wizard .eic-wizard-step[data-step="4"] {
    min-height: var(--eic-fw-steps-min-height);
    box-sizing: border-box;
}

.eic-formulaire-wizard .eic-wizard-step[data-step] .eic-wizard-title {
    flex-shrink: 0;
}

.eic-formulaire-wizard .eic-wizard-step[data-step] .eic-wizard-nav,
.eic-formulaire-wizard .eic-wizard-step[data-step] .eic-wizard-nav--single,
.eic-formulaire-wizard .eic-wizard-step[data-step] .eic-wizard-nav--compact {
    margin-top: auto;
    flex-shrink: 0;
}

@media (min-width: 1025px) {
    .eic-formulaire-wizard[data-eic-fw-step="1"] .eic-desktop-version .eic-fw-card__body,
    .eic-formulaire-wizard[data-eic-fw-step="2"] .eic-desktop-version .eic-fw-card__body,
    .eic-formulaire-wizard[data-eic-fw-step="3"] .eic-desktop-version .eic-fw-card__body,
    .eic-formulaire-wizard[data-eic-fw-step="4"] .eic-desktop-version .eic-fw-card__body {
        min-height: calc(var(--eic-fw-steps-min-height) + 120px);
    }

    .eic-formulaire-wizard[data-eic-fw-step="1"] .eic-desktop-version .eic-fw-card__main,
    .eic-formulaire-wizard[data-eic-fw-step="2"] .eic-desktop-version .eic-fw-card__main,
    .eic-formulaire-wizard[data-eic-fw-step="3"] .eic-desktop-version .eic-fw-card__main,
    .eic-formulaire-wizard[data-eic-fw-step="4"] .eic-desktop-version .eic-fw-card__main {
        padding-bottom: var(--eic-fw-steps-shell-pad-bottom);
    }
}

@media (prefers-reduced-motion: reduce) {
    .eic-fw-stepper__item:not(:last-child)::after,
    .eic-fw-stepper__node {
        transition-duration: 0.01ms !important;
    }

    .eic-fw-stepper__item.is-current .eic-fw-stepper__node {
        box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(0, 103, 237, 0.35);
    }
}
