.elementor-141 .elementor-element.elementor-element-3ea12cd{--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;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-widget-fluent-form-widget .fluentform-widget-description{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-fluent-form-widget .ff-el-progress-status{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-fluent-form-widget .ff-el-progress-bar span{color:var( --e-global-color-primary );}.elementor-widget-fluent-form-widget .step-nav button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-141 .elementor-element.elementor-element-3ed543f .fluentform-widget-wrapper .ff-el-group .ff-btn-submit{background-color:#1a7efb !important;color:#ffffff !important;}@media(max-width:767px){.elementor-141 .elementor-element.elementor-element-3ea12cd{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}}@media(min-width:768px){.elementor-141 .elementor-element.elementor-element-3ea12cd{--content-width:100%;}}/* Start custom CSS for fluent-form-widget, class: .elementor-element-3ed543f *//* Form Container */
#fluentform_3 {
    background-color: #FEFEFE;
    border-radius: 12px;
    padding: 30px;
    max-width: 700px;
    margin: 0 auto;
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

/* Containers Separation */
#fluentform_3 .ff-t-container.ff-column-container.ff_columns_total_1 {
    background-color: #F9F9F9; /* light background to distinguish sections */
    border: 1px solid #ECEFF2; /* soft border */
    border-radius: 10px;       /* rounded corners */
    padding: 25px;             /* inner spacing */
    margin-bottom: 30px;       /* spacing between containers */
    box-shadow: 0 3px 10px rgba(0,0,0,0.05); /* subtle shadow for depth */
}

/* Form Titles & Section Headers */
#fluentform_3 h3,
#fluentform_3 .ff-section-title {
    color: #0C4294;
    font-size: 1.5rem;
    margin-bottom: 15px;
}

/* Input Fields, Textarea, Select */
#fluentform_3 input[type="text"],
#fluentform_3 input[type="number"],
#fluentform_3 input[type="email"],
#fluentform_3 input[type="tel"],
#fluentform_3 input[type="date"],
#fluentform_3 textarea,
#fluentform_3 select {
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 15px;
    border: 1px solid #ECEFF2;
    border-radius: 8px;
    background-color: #F9F9F9;
    font-size: 1rem;
    color: #305274;
    transition: all 0.3s ease;
}

#fluentform_3 input:focus,
#fluentform_3 textarea:focus,
#fluentform_3 select:focus {
    border-color: #4F6884;
    box-shadow: 0 0 5px rgba(79,104,132,0.3);
    outline: none;
}

/* Checkbox & Radio */
#fluentform_3 .ff-el-form-checkbox,
#fluentform_3 .ff-el-form-radio {
    margin-bottom: 15px;
}

#fluentform_3 .ff-el-form-check-label {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
}

#fluentform_3 .ff-el-form-checkbox input[type="checkbox"],
#fluentform_3 .ff-el-form-radio input[type="radio"] {
    accent-color: #F9A29F;
    width: 18px;
    height: 18px;
}

/* Payment Summary Table - Playground Superstar Colors */
#fluentform_3 .ff-payment-summary-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    background-color: #FEFEFE; /* white background */
    border: 1px solid #ECEFF2; /* light gray border */
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

#fluentform_3 .ff-payment-summary-table td {
    padding: 12px 15px;
    color: #305274; /* dark blue text */
    font-size: 1rem;
}

#fluentform_3 .ff-payment-summary-table tr:nth-child(even) td {
    background-color: #F9F9F9; /* subtle row shading for readability */
}

#fluentform_3 .ff-payment-summary-table tr.total-row td {
    font-weight: 700;
    color: #0C4294; 
    font-size: 1.1rem;
    background-color: #ECEFF2; /* subtle background for total row */
}

#fluentform_3 .ff-payment-summary-table td:first-child {
    text-align: left;
}

#fluentform_3 .ff-payment-summary-table td:last-child {
    text-align: right;
}


/* Submit Button */

#fluentform_3 .frm-fluent-form .ff-t-cell:last-of-type {
    flex-grow: initial;    
}

#fluentform_3 .ff-btn-submit {
    background-color: #0C4294 !important;
    color: #FEFEFE;
    font-size: 1.1rem;
    font-weight: 600;
    padding: 12px 22px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: block;
}

#fluentform_3 .ff-btn-submit:hover {
    background-color: #4F6884 !important;
}

/* Section Dividers / Spacing */
#fluentform_3 .ff-el-form-section {
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #ECEFF2;
}

/* Boutons Step Form */
.ff-btn-prev,
.ff-btn-next,
.ff_btn {
    background: #1E3A8A !important; /* Bleu */
    color: #fff !important;
    border: none;
    padding: 12px 22px;
    font-size: 16px;
    border-radius: 12px;
    cursor: pointer;
    transition: 0.3s ease;
    font-weight: 600;
}

.ff-btn-prev {
    background: #F97316 !important; /* Orange */
}

.ff-btn-prev:hover,
.ff-btn-next:hover {
    opacity: 0.85;
    transform: translateY(-1px);
}

/* ======== STEP HEADER WRAPPER ======== */
.ff-step-header {
    margin-bottom: 25px;
}

/* ======== TEXT "STEP X OF X" ======== */
.ff-el-progress-status {
    font-weight: 700;
    font-size: 16px;
    color: #1E3A8A !important; /* Bleu principal */
    margin-bottom: 10px;
}

/* ======== PROGRESS BAR WRAPPER ======== */
.ff-el-progress {
    width: 100%;
    height: 12px;
    background: #E5E7EB !important; /* Gris clair */
    border-radius: 30px;
    overflow: hidden;
}

/* ======== ACTUAL PROGRESS BAR ======== */
.ff-el-progress-bar {
    height: 100%;
    background: #1E3A8A !important; /* Bleu principal */
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    color: #fff !important;
    transition: width 0.3s ease-in-out;
}

.fluentform .ff-el-progress-bar span {
    color: #fff !important;
}

/* Hide percentage text on very small screens */
@media (max-width: 450px) {
    .ff-el-progress-bar span {
        display: none;
    }
}

/* ======== OPTIONAL: Smooth pulse effect when progressing ======== */
.ff-el-progress-bar {
    animation: pulse-bar 0.4s ease;
}

@keyframes pulse-bar {
    from {
        opacity: 0.6;
    }
    to {
        opacity: 1;
    }
}


/* Ajustement mobile */
@media (max-width: 600px) {
    .ff-btn-prev,
    .ff-btn-next {
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }
}


/* Responsive */
@media (max-width: 768px) {
    #fluentform_3 {
        padding: 20px;
    }

    #fluentform_3 h3,
    #fluentform_3 .ff-section-title {
        font-size: 1.3rem;
    }
    
    #fluentform_3 .ff-payment-summary-table td {
        display: block;
        width: 100%;
        text-align: left;
        padding: 8px 0;
    }

    #fluentform_3 .ff-payment-summary-table td:last-child {
        text-align: left;
    }
}/* End custom CSS */