/* ==========================================
   MFIN-CERT - FORMINATOR FORM
========================================== */
.forminator-ui {
    width: 100%;
}

/* Rows */

.forminator-ui .forminator-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

.forminator-ui .forminator-row-last {
    justify-content: flex-end;
}

/* Columns */

.forminator-ui .forminator-col {
    margin: 0 !important;
}

.forminator-ui .forminator-col-6 {
    width: calc(50% - 10px);
}

.forminator-ui .forminator-col-12 {
    width: 100%;
}

/* Fields */

.forminator-ui .forminator-field {
    margin: 0 !important;
}

.forminator-ui .forminator-field input {
    height: 60px !important;
}

/* Labels */

.forminator-ui .forminator-label {
    display: block;
    margin-bottom: 8px;
    color: #101928;
    font-size: 18px !important;
    font-weight: 600;
}

.forminator-ui .forminator-required {
    color: #101928;
}

/* HTML field (used for notices like "Privacy notice: ...") */

.forminator-ui .forminator-merge-tags {
    background-color: #000C321A;
    padding: 20px 24px;
}

.forminator-ui .forminator-merge-tags .forminator-label {
    margin-bottom: 4px;
    font-size: 16px !important;
    font-weight: 700;
    color: #303030CC;
}

.forminator-ui .forminator-merge-tags p {
    padding: 14px;
    margin: 4px 0 0;
    font-size: 16px;
    font-weight: 400;
    color: #303030CC;
    line-height: 1.5;
}

/* Inputs */

.forminator-ui input:not([type="checkbox"]):not([type="radio"]),
.forminator-ui textarea,
.forminator-ui .select2-selection {
    width: 100%;
    background: #F4F4F4 !important;
    border: none !important;
    border-radius: 0 !important;
    min-height: 60px;
    padding: 16px;
    color: rgba(48, 48, 48, .8);
    font-size: 16px;
    box-shadow: none !important;

}

/* Placeholder */

.forminator-ui input::placeholder,
.forminator-ui textarea::placeholder {
    color: #767676;
}

/* Textarea */

.forminator-ui textarea {
    min-height: 180px;
    resize: none;
}

/* Focus */

.forminator-ui input:focus,
.forminator-ui input.forminator-input:focus,
.forminator-ui textarea:focus,
.forminator-ui textarea.forminator-textarea:focus,
.forminator-ui .select2-selection:focus,
.forminator-ui .select2-selection.select2-selection--single:focus {
    outline: none;
    border: 2px solid #000D34 !important;

}

/* ==========================================
   SELECT2
========================================== */

.forminator-ui .select2 {
    width: 100% !important;
}

.forminator-ui .select2-selection {
    display: flex !important;
    align-items: center;
    height: 52px !important;
    border-radius: 0 !important;
}

.forminator-ui .select2-dropdown {
    border-radius: 0 !important;
}

.forminator-ui .select2-selection__rendered {
    color: rgba(48, 48, 48, .8) !important;
    font-size: 16px;
    padding-left: 12px !important;

}

.forminator-ui .select2-selection__placeholder {
    color: #767676 !important;

}

.forminator-ui .select2-selection__arrow {
    height: 52px !important;
}

/* ==========================================
   SUBMIT BUTTON
========================================== */
.forminator-field .forminator-button.forminator-button-submit.ml-auto {
    display: flex !important;
    margin-left: auto !important;
    width: fit-content;
}


.forminator-ui .forminator-button-next,
.forminator-ui .forminator-button-submit {
    display: flex !important;
    align-items: center;
    justify-content: center;
    align-self: flex-end;
    padding: 0!important;
    padding-left: 20px !important;
    box-sizing: border-box !important;
    border: 1px solid #000D34 !important;
    background: #fff;
    color: #000D34;
    font-size: 16px;
    font-weight: 600;
    transition: .25s;
}

.forminator-ui .forminator-button-next:hover,
.forminator-ui .forminator-button-submit:hover {
    background: #000D34;
    color: #fff;
}

.forminator-ui .forminator-button.forminator-hidden {
    display: none !important;
}

.forminator-ui .forminator-button.forminator-pagination-submit {
    display: none !important;
}


.forminator-module-edit-link {
    display: none;
}

.forminator-ui .forminator-button-next::after,
.forminator-ui .forminator-button-submit::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 50px;
    padding: 0 !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    box-sizing: border-box !important;
    color: #fff !important;
    font-weight: bold;
    font-size: 16px;
    margin-left: 20px;
    background-color: #000D34 !important;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 9 16'%3E%3Cpath fill='white' d='M7.5693 9.05894C8.1733 8.41719 8.1733 7.41614 7.5693 6.77439L1.44017 0.262198C1.12474 -0.0729464 0.597343 -0.0889279 0.262198 0.226502C-0.0729461 0.541933 -0.088928 1.06933 0.226502 1.40447L6.35563 7.91667L0.226503 14.4289C-0.0889275 14.764 -0.0729454 15.2914 0.262199 15.6068C0.597344 15.9223 1.12474 15.9063 1.44017 15.5711Z'/%3E%3C/svg%3E");
}

/* ==========================================
   BACK BUTTON
========================================== */

.forminator-ui .forminator-button-back {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    padding: 0 !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    border: 1px solid #000D34 !important;
    background: #fff;
    color: #000D34;
    font-size: 16px;
    font-weight: 600;
    transition: .25s;
}

.forminator-ui .forminator-button-back:hover {
    background: #000D34;
    color: #fff;
}

.forminator-ui .forminator-button-back::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 50px;
    padding: 0 !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    box-sizing: border-box !important;
    color: #fff !important;
    font-weight: bold;
    font-size: 16px;
    margin-right: 20px;
    background-color: #000D34 !important;
    background-repeat: no-repeat;
    background-position: center;
    transform: rotate(180deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 9 16'%3E%3Cpath fill='white' d='M7.5693 9.05894C8.1733 8.41719 8.1733 7.41614 7.5693 6.77439L1.44017 0.262198C1.12474 -0.0729464 0.597343 -0.0889279 0.262198 0.226502C-0.0729461 0.541933 -0.088928 1.06933 0.226502 1.40447L6.35563 7.91667L0.226503 14.4289C-0.0889275 14.764 -0.0729454 15.2914 0.262199 15.6068C0.597344 15.9223 1.12474 15.9063 1.44017 15.5711Z'/%3E%3C/svg%3E");
}

.forminator-ui .forminator-button-back::before:hover{
    background: #fff;
    color: #000D34;
}

.forminator-ui .forminator-button-back:hover::before {
    content: "";
    background-color: #000D34 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 9 16'%3E%3Cpath fill='white' d='M7.5693 9.05894C8.1733 8.41719 8.1733 7.41614 7.5693 6.77439L1.44017 0.262198C1.12474 -0.0729464 0.597343 -0.0889279 0.262198 0.226502C-0.0729461 0.541933 -0.088928 1.06933 0.226502 1.40447L6.35563 7.91667L0.226503 14.4289C-0.0889275 14.764 -0.0729454 15.2914 0.262199 15.6068C0.597344 15.9223 1.12474 15.9063 1.44017 15.5711Z'/%3E%3C/svg%3E");
}

/* ==========================================
   FILE UPLOAD
========================================== */

.forminator-ui .forminator-file-upload {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    background: #F4F4F4;
    border: 1px dashed #7A7A8766;
    border-radius: 4px;
    padding: 40px 20px !important;
    text-align: center;
    transition: .2s ease;
}

.forminator-ui .forminator-file-upload:hover {
    border-color: #000D34;
}

.forminator-ui .forminator-file-upload::before {
    content: "";
    display: block;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 50%;
    background-color: #000D34;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E");
}

.forminator-ui .forminator-file-upload .forminator-button.forminator-button-upload {
    order: 2;
    flex: 0 0 auto !important;
    align-self: center !important;
    margin-top: 12px !important;
    padding: 10px 20px !important;
    background: #fff !important;
    color: #000D34 !important;
    border: 1px solid #000D34 !important;
    border-radius: 2px;
    font-weight: 600;
}

.forminator-ui .forminator-file-upload .forminator-button.forminator-button-upload::after {
    display: none !important;
}

.forminator-ui .forminator-file-upload .forminator-button.forminator-button-upload:hover {
    background: #000D34 !important;
    color: #fff !important;
}

.forminator-ui .forminator-file-upload > span {
    order: 1;
    color: #303030;
    font-size: 15px;
    flex: 0 0 auto !important;
}

.forminator-ui .forminator-file-upload + .forminator-description,
.forminator-ui .forminator-multi-upload-message + .forminator-description,
.forminator-ui .forminator-description {
    color: #767676;
    font-size: 14px;
    text-align: center;
    margin-top: 8px;
}

/* ==========================================
   ERRORS
========================================== */

.forminator-ui .forminator-error-message {
    color: #D11135;
    font-size: 14px;
    margin-top: 6px;
}

.forminator-ui .forminator-has_error input,
.forminator-ui .forminator-has_error input.forminator-input,
.forminator-ui .forminator-has_error textarea,
.forminator-ui .forminator-has_error .select2-selection {
    border: 1px solid #D11135 !important;
}

/* ==========================================
   RESPONSE
========================================== */

.forminator-ui .forminator-response-message {
    margin-bottom: 20px;
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width:768px) {

    .forminator-ui .forminator-col-6 {
        width: 100%;
    }

}

/* ==========================================
   MULTI-STEP PAGINATION (SIDEBAR STEPS)
========================================== */

/* Only forms that actually have pagination steps get the sidebar layout */
.forminator-ui:has(.forminator-pagination-steps) {
    display: grid;
    grid-template-columns: 350px minmax(0, 1fr);
    column-gap: 48px;
    align-items: start;
}

/* Numéro de l'étape courante — Forminator indexe les classes à partir de 0 */
.forminator-ui .forminator-step-0 { --fstep-num: "1"; }
.forminator-ui .forminator-step-1 { --fstep-num: "2"; }
.forminator-ui .forminator-step-2 { --fstep-num: "3"; }
.forminator-ui .forminator-step-3 { --fstep-num: "4"; }
.forminator-ui .forminator-step-4 { --fstep-num: "5"; }
.forminator-ui .forminator-step-5 { --fstep-num: "6"; }
.forminator-ui .forminator-step-6 { --fstep-num: "7"; }
.forminator-ui .forminator-step-7 { --fstep-num: "8"; }

/* Nombre total d'étapes — la classe la plus haute présente dans le DOM l'emporte */
.forminator-ui .forminator-pagination-steps { --fstep-total: "1"; }
.forminator-ui .forminator-pagination-steps:has(.forminator-step-1) { --fstep-total: "2"; }
.forminator-ui .forminator-pagination-steps:has(.forminator-step-2) { --fstep-total: "3"; }
.forminator-ui .forminator-pagination-steps:has(.forminator-step-3) { --fstep-total: "4"; }
.forminator-ui .forminator-pagination-steps:has(.forminator-step-4) { --fstep-total: "5"; }
.forminator-ui .forminator-pagination-steps:has(.forminator-step-5) { --fstep-total: "6"; }
.forminator-ui .forminator-pagination-steps:has(.forminator-step-6) { --fstep-total: "7"; }
.forminator-ui .forminator-pagination-steps:has(.forminator-step-7) { --fstep-total: "8"; }

.forminator-ui .forminator-pagination-steps {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    counter-reset: none;
    gap: 28px;
    margin: 0 !important;
    background-color: #F4F4F4;
    width: 350px !important;
    padding: 20px !important;
    clip-path: polygon(0 0, 100% 0, 100% 92%, 92% 100%, 0 100%);
}

.forminator-ui .forminator-pagination-steps .forminator-break {
    display: none !important;
}

.forminator-ui .forminator-step {
    width: auto !important;
    height: auto !important;
    display: inline-flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    text-align: left;
    text-transform: none !important;
    text-decoration: none !important;
    cursor: pointer;
}

.forminator-ui .forminator-step-label {
    display: block !important;
    overflow: visible !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
    flex: none !important;
    line-height: 1.3 !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #6B7280 !important;
}

.forminator-ui .forminator-step-dot {
    display: none !important;
}

.forminator-ui .forminator-step[aria-selected="true"] .forminator-step-label {
    color: #000D34 !important;
}

.forminator-ui .forminator-step[aria-selected="true"]::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background: #00B1A5;
}

.forminator-ui .forminator-pagination--content {
    grid-column: 2;
    grid-row: 1;
}

.forminator-ui .forminator-pagination-footer {
    grid-column: 2;
    grid-row: 2;
}

@media (max-width:768px) {

    /* --- Empilement : étapes en haut, formulaire au milieu, navigation en bas --- */
    .forminator-ui:has(.forminator-pagination-steps) {
        grid-template-columns: minmax(0, 1fr);
        column-gap: 0;
    }

    .forminator-ui .forminator-pagination--content {
        grid-column: 1;
        grid-row: 2;
    }

    .forminator-ui .forminator-pagination-footer {
        grid-column: 1;
        grid-row: 3;
    }

    /* --- Anti-débordement --- */

    .forminator-ui,
    .forminator-ui .forminator-row,
    .forminator-ui .forminator-col,
    .forminator-ui .forminator-field,
    .forminator-ui .forminator-pagination--content,
    .forminator-ui .forminator-pagination-footer {
        min-width: 0;
        max-width: 100%;
    }

    .forminator-ui input:not([type="checkbox"]):not([type="radio"]),
    .forminator-ui textarea,
    .forminator-ui select,
    .forminator-ui .select2,
    .forminator-ui .select2-selection {
        box-sizing: border-box;
        max-width: 100%;
    }

    /* --- Bandeau d'étapes --- */

    .forminator-ui .forminator-pagination-steps {
        grid-column: 1;
        grid-row: 1;
        box-sizing: border-box;
        flex-direction: row !important;
        flex-wrap: nowrap;
        align-items: center !important;
        gap: 16px;
        width: 100% !important;
        max-width: 100%;
        margin: 0 0 24px !important;
        padding: 18px 20px !important;
        border: 1px solid #D9D9D9;
        clip-path: none;
    }

    /* Seule l'étape en cours est affichée */
    .forminator-ui .forminator-pagination-steps .forminator-step:not([aria-selected="true"]) {
        display: none !important;
    }

    .forminator-ui .forminator-pagination-steps .forminator-step[aria-selected="true"] {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 16px;
        width: 100% !important;
        min-width: 0;
        cursor: default;
    }

    /* Compteur "1/3" */
    .forminator-ui .forminator-pagination-steps .forminator-step[aria-selected="true"]::before {
        content: var(--fstep-num, "1") "/" var(--fstep-total, "1");
        flex: 0 0 auto;
        color: #000D34;
        font-size: 18px;
        font-weight: 600;
    }

    /* Le trait turquoise reste réservé au format sidebar */
    .forminator-ui .forminator-pagination-steps .forminator-step[aria-selected="true"]::after {
        display: none;
    }

    .forminator-ui .forminator-step[aria-selected="true"] .forminator-step-label {
        min-width: 0;
        white-space: normal !important;
        overflow-wrap: anywhere;
        text-align: left;
        font-size: 18px !important;
    }

    /* --- Navigation --- */
    .forminator-ui .forminator-pagination-footer {
        display: flex !important;
        flex-direction: row !important;
        gap: 10px;
        width: 100%;
    }

    /* 2. Les boutons se partagent l'espace disponible et poussent leur contenu aux bords */
    .forminator-ui .forminator-button-back,
    .forminator-ui .forminator-button-next,
    .forminator-ui .forminator-button-submit {
        flex: 1;
        min-width: 0;
        width: 100% !important;
        box-sizing: border-box;
        justify-content: space-between !important;
        font-size: 14px;
    }

    .forminator-field .forminator-button.forminator-button-submit.ml-auto {
        width: 100% !important;
    }

    .forminator-ui .forminator-button-next::after,
    .forminator-ui .forminator-button-submit::after {
        margin-left: auto !important;
        display: flex !important;
    }

    .forminator-ui .forminator-button-back::before {
        display: flex !important;
    }

    .forminator-ui .forminator-button-next,
    .forminator-ui .forminator-button-submit {
        padding-left: 15px !important;
    }

    .forminator-ui .forminator-button-back {
        padding-right: 15px !important;
        padding-left: 0 !important;
    }
}

/* ==========================================
   SCROLLBAR
========================================== */

/* Masque la barre de défilement à l'intérieur du formulaire et de ses dropdowns.
   Le défilement (molette / tactile) reste fonctionnel. */

.forminator-ui,
.forminator-ui *,
.forminator-select-dropdown,
.forminator-select-dropdown *,
.select2-container,
.select2-container * {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.forminator-ui::-webkit-scrollbar,
.forminator-ui *::-webkit-scrollbar,
.forminator-select-dropdown::-webkit-scrollbar,
.forminator-select-dropdown *::-webkit-scrollbar,
.select2-container::-webkit-scrollbar,
.select2-container *::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}