/* ==========================================================================
   Signup Form Component — Adaptive multi-step wizard
   ========================================================================== */

/* --- Progress indicator --- */
.pf-redes-signup-form__progress {
    height: 4px;
    background: var(--pf-redes-border-light);
    margin-bottom: var(--pf-redes-spacing-xs);
}

.pf-redes-signup-form__progress-bar {
    height: 100%;
    background: var(--pf-redes-primary);
    transition: width 0.3s ease;
}

.pf-redes-signup-form__step-label {
    font-size: var(--pf-redes-font-size-xs);
    color: var(--pf-redes-text-light);
    text-align: right;
    margin: 0 0 var(--pf-redes-spacing-lg) 0;
}

/* --- Steps --- */
.pf-redes-signup-form__step {
    border: none;
    padding: 0;
    margin: 0;
}

.pf-redes-signup-form__title {
    font-size: var(--pf-redes-font-size-lg);
    font-weight: 400;
    margin: 0 0 var(--pf-redes-spacing-sm) 0;
    text-align: center;
    color: var(--pf-redes-text);
    line-height: 1.4;
}

.pf-redes-signup-form__hint {
    font-size: var(--pf-redes-font-size-sm);
    color: var(--pf-redes-text-light);
    text-align: center;
    margin: 0 0 var(--pf-redes-spacing-lg) 0;
}

/* --- Fields --- */
.pf-redes-signup-form__field {
    margin-bottom: var(--pf-redes-spacing-md);
}

.pf-redes-signup-form__row {
    display: flex;
    gap: var(--pf-redes-spacing-md);
}

.pf-redes-signup-form__field--half {
    flex: 1;
}

/* --- Radio list (association step) --- */
.pf-redes-signup-form__radio-list {
    display: flex;
    flex-direction: column;
    gap: var(--pf-redes-spacing-sm);
    margin-bottom: var(--pf-redes-spacing-md);
}

.pf-redes-signup-form__radio-list label {
    display: flex;
    align-items: center;
    gap: var(--pf-redes-spacing-sm);
    font-size: var(--pf-redes-font-size-md);
    cursor: pointer;
}

.pf-redes-signup-form__radio-list input[type="radio"] {
    accent-color: var(--pf-redes-primary);
}

/* --- Amateur warning --- */
.pf-redes-signup-form__amateur-msg {
    background: #fff3cd;
    border: 1px solid #ffc107;
    padding: var(--pf-redes-spacing-md);
    margin-top: var(--pf-redes-spacing-md);
    font-size: var(--pf-redes-font-size-sm);
    color: #856404;
    line-height: 1.5;
}

.pf-redes-signup-form__amateur-msg p {
    margin: 0;
}

/* --- Notice --- */
.pf-redes-signup-form__notice {
    margin-bottom: var(--pf-redes-spacing-md);
    padding: var(--pf-redes-spacing-sm) var(--pf-redes-spacing-md);
    font-size: var(--pf-redes-font-size-sm);
}

.pf-redes-signup-form__notice--error {
    background: #fce4e4;
    color: var(--pf-redes-error);
    border: 1px solid var(--pf-redes-error);
}

.pf-redes-signup-form__notice--success {
    background: #e4fce4;
    color: var(--pf-redes-success);
    border: 1px solid var(--pf-redes-success);
}

/* --- Inline field errors --- */
.pf-redes-field-error {
    display: block;
    font-size: var(--pf-redes-font-size-xs);
    color: var(--pf-redes-error);
    margin-top: 4px;
}

.pf-redes-form-field__input--error {
    border-color: var(--pf-redes-error);
}

/* --- Actions (Back / Next) --- */
.pf-redes-signup-form__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: var(--pf-redes-spacing-lg);
    gap: var(--pf-redes-spacing-md);
}

.pf-redes-signup-form__btn {
    padding: 12px var(--pf-redes-spacing-lg);
    border: none;
    font-size: var(--pf-redes-font-size-md);
    font-family: inherit;
    cursor: pointer;
    transition: background var(--pf-redes-transition);
}

.pf-redes-signup-form__btn--next,
.pf-redes-signup-form__btn--submit {
    background: var(--pf-redes-primary);
    color: var(--pf-redes-text-inverse);
    font-weight: 600;
}

.pf-redes-signup-form__btn--next:hover,
.pf-redes-signup-form__btn--submit:hover {
    background: var(--pf-redes-primary-hover);
}

.pf-redes-signup-form__btn--back {
    background: none;
    color: var(--pf-redes-text-light);
    padding-left: 0;
}

.pf-redes-signup-form__btn--back:hover {
    color: var(--pf-redes-text);
}

.pf-redes-signup-form__btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* --- Review table --- */
.pf-redes-signup-form__review {
    margin-bottom: var(--pf-redes-spacing-lg);
}

.pf-redes-signup-form__review-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--pf-redes-font-size-sm);
}

.pf-redes-signup-form__review-table th,
.pf-redes-signup-form__review-table td {
    padding: var(--pf-redes-spacing-sm) var(--pf-redes-spacing-md);
    border-bottom: 1px solid var(--pf-redes-border-light);
    text-align: left;
}

.pf-redes-signup-form__review-table th {
    color: var(--pf-redes-text-light);
    font-weight: 400;
    width: 35%;
}

.pf-redes-signup-form__review-table td {
    color: var(--pf-redes-text);
    font-weight: 600;
}

/* --- RGPD --- */
.pf-redes-signup-form__rgpd {
    background: var(--pf-redes-bg-alt);
    padding: var(--pf-redes-spacing-md);
    margin-bottom: var(--pf-redes-spacing-lg);
    font-size: var(--pf-redes-font-size-xs);
    color: var(--pf-redes-text-light);
    line-height: 1.6;
}

.pf-redes-signup-form__rgpd h3 {
    font-size: var(--pf-redes-font-size-sm);
    color: var(--pf-redes-text);
    margin: 0 0 var(--pf-redes-spacing-sm) 0;
}

.pf-redes-signup-form__rgpd dl { margin: 0; }

.pf-redes-signup-form__rgpd dt {
    font-weight: 600;
    color: var(--pf-redes-text);
    margin-top: var(--pf-redes-spacing-sm);
}

.pf-redes-signup-form__rgpd dd { margin: 2px 0 0 0; }
.pf-redes-signup-form__rgpd a { color: var(--pf-redes-primary); }

/* --- Checkbox --- */
.pf-redes-signup-form__checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: var(--pf-redes-spacing-sm);
    font-size: var(--pf-redes-font-size-sm);
    cursor: pointer;
    line-height: 1.5;
}

.pf-redes-signup-form__checkbox-label input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 3px;
    accent-color: var(--pf-redes-primary);
    appearance: auto;
    width: 18px;
    height: 18px;
    min-width: 18px;
}

.pf-redes-signup-form__checkbox-label a { color: var(--pf-redes-primary); }

/* --- Links --- */
.pf-redes-signup-form__links {
    margin-top: var(--pf-redes-spacing-lg);
    text-align: center;
    font-size: var(--pf-redes-font-size-sm);
}

.pf-redes-signup-form__links p { margin: var(--pf-redes-spacing-xs) 0; }

.pf-redes-signup-form__links a {
    color: var(--pf-redes-primary);
    text-decoration: none;
    font-weight: 700;
}

.pf-redes-signup-form__links a:hover { text-decoration: underline; }

/* --- Responsive --- */
@media (max-width: 480px) {
    .pf-redes-signup-form__row {
        flex-direction: column;
        gap: 0;
    }
}
