/* ========== LSF Front Form Styles ========== */

.lsf-form {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}

.lsf-form label {
    display: block;
    font-weight: 500;
    margin-bottom: 4px;
}

.lsf-form input,
.lsf-form textarea {
    border-radius: 4px;
    padding: .5rem;
    border: 1px solid #ccc;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.lsf-form button {
    background: #2563eb;
    color: #fff;
    border: 0;
    padding: .75rem 1.5rem;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
}

.lsf-form button:hover {
    opacity: .9;
}

/* Options group */
.lsf-options {
    margin: 0.5rem 0 1rem;
}

.lsf-options .lsf-field-opt {
    display: inline-flex;
    align-items: center;
    margin-right: 1rem;
    margin-bottom: .5rem;
    width: 100%;
}

.lsf-options input {
    margin-right: 6px;
}

.lsf-options label {
    font-weight: 400 !important;
}

/* Erreurs */
.lsf-error {
    color: #b91c1c;
    font-size: .9rem;
    margin: .35rem 0 0;
}

.lsf-invalid {
    outline: 2px solid #ef4444;
    outline-offset: 2px;
    border-color: #ef4444 !important;
}

/* Message de remerciement */
.lsf-thanks {
    padding: 1rem;
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 8px;
    font-weight: 600;
    color: #166534;
}



/* Chaque step */
.lsf-form-step {
    position: absolute;
    top: 0;
    left: 100%;
    /* caché à droite par défaut */
    width: 100%;
    opacity: 0;
    transition: all 0.4s ease-in-out;
    border: none;
    padding: 0;
    text-align: left;
}

.lsf-form-steps {
    position: relative;
    overflow: hidden;
    transition: height .35s ease;
    /* important pour la transition fluide */
}

.lsf-form-step {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    /* adapter si thème sombre */
    opacity: 0;
    transform: translateX(100%);
    transition: transform .4s ease-in-out, opacity .4s ease-in-out;
}

.lsf-form-step.is-active {
    transform: translateX(0);
    opacity: 1;
    margin: 0;
}

.lsf-form-step.is-exit-left {
    transform: translateX(-100%);
    opacity: 0;
}

.lsf-form-step.is-exit-right {
    transform: translateX(100%);
    opacity: 0;
}

.lsf-form-step button {
  margin: 0.5rem 0.25rem 0;
}

.lsf-form-buttons{
    display: flex;
}

.lsf-form-buttons:only-child,
.lsf-form-buttons button:only-child {
    margin: 0 auto; /* centre le bouton unique */
    display: block;
}

.lsf-form-buttons .lsf-prev-step {
  order: 1; /* bouton précédent en premier */
}

.lsf-form-buttons .lsf-next-step, .lsf-send-step {
  margin-left: auto; /* pousse le bouton à droite */
  order: 2;
}