/* ==========================================================================
   FORMULARIOS - Componentes Modulares (Estilo Kadence Empresarial)
   ========================================================================== */

/* Contenedor de cada grupo (Label + Input + Feedback) */
.form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--spacing-lg);
}

/* Etiquetas (Labels) */
.form-group label {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-main);
    margin-bottom: var(--spacing-xs);
}

/* Entradas de texto estándar */
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="password"],
.form-group input[type="number"] {
    width: 100%;
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: var(--font-size-p);
    color: var(--color-text-main);
    background-color: var(--color-surface);
    border: 1px solid var(--color-tertiary);
    border-radius: var(--border-radius-md);
    transition: border-color var(--transition-speed), box-shadow var(--transition-speed);
}

/* Placeholder (Texto de ayuda fantasma) */
.form-group input::placeholder {
    color: var(--color-text-muted);
}

/* Estado de Enfoque (Interacción principal) */
.form-group input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: var(--shadow-input-focus);
}

/* Estado de Error (Validación) */
.form-group input.is-invalid {
    border-color: var(--color-error);
}

.form-group input.is-invalid:focus {
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.2); /* Sombra roja sutil */
}

/* Contenedor de acciones (Botones al final del form) */
.form-actions {
    margin-top: var(--spacing-xl);
}

/* Estados del feedback visual */
.feedback-container {
    padding: 12px;
    border-radius: var(--border-radius-md);
    margin-bottom: 16px;
    font-size: var(--font-size-sm);
    text-align: center;
    display: none; /* Oculto por defecto */
}

.feedback-container.show {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}

.feedback-success {
    background-color: var(--color-success-bg);
    color: var(--color-success);
    border: 1px solid #a7f3d0;
}

.feedback-error {
    background-color: var(--color-error-bg);
    color: var(--color-error);
    border: 1px solid #fecaca;
}