/* ======================================================== */
/* RESPONSIVE DESIGN (Media Queries) - CORREGIDO PARA ORDEN */
/* ======================================================== */

/* Desktop Pequeño y Tablet Horizontal (Max width 1200px) */
@media (max-width: 1200px) {
    .payment-form,
    .payment-info {
        padding: 3rem 2.5rem;
    }
    .form-row {
        gap: 1.5rem;
        margin-bottom: 1.5rem;
    }
}

/* Tablet Vertical / Laptop Pequeño (Max width 992px) */
@media (max-width: 992px) {
    /* Apila las dos secciones */
    .payment-card {
        grid-template-columns: 1fr;
    }

    .payment-form {
        border-right: none;
        border-bottom: 1px solid rgba(212, 175, 55, 0.2);
    }
    
    .payment-info {
        padding: 3rem 2.5rem;
    }
}

/* Mobile Grande / Tablet Pequeña (Max width 768px) */
@media (max-width: 768px) {
    .cuota-social-section { padding: 2rem 0; }
    .cuota-social-section .container { padding: 0 1rem; }
    .card-header { padding: 2.5rem 1.5rem; }
    .card-header h2 { font-size: 2rem; }

    .payment-form,
    .payment-info { padding: 2rem 1.5rem; }

    /* Apilamiento clave del Formulario */
    .form-row {
        flex-direction: column;
        gap: 0;
        margin-bottom: 0;
    }

    .form-group {
        margin-bottom: 1.5rem; /* Espacio entre los grupos apilados */
    }

    .form-group-triple {
        flex-direction: column;
        gap: 0;
    }
    
    .form-group-triple .form-group {
        margin-bottom: 1.5rem;
    }
    
    /* File Input apilado */
    .file-input-wrapper {
        flex-direction: column;
        align-items: stretch;
        gap: 0.8rem;
    }
    
    .file-button {
        width: 100%;
        justify-content: center;
    }
    .file-name-display { text-align: center; }

    .motivational-message { padding: 1.5rem; }
    .motivational-message h4 { font-size: 1.2rem; }
}

/* Mobile Pequeño (Max width 480px) */
@media (max-width: 480px) {
    .card-header { padding: 2rem 1rem; }
    .card-header h2 { font-size: 1.8rem; }
    .card-header i { font-size: 3rem; }

    .payment-form,
    .payment-info { padding: 1.5rem 1rem; }

    .btn-primary.btn-full { padding: 1.1rem; font-size: 1.1rem; }
    .valor-cuota { font-size: 1.2rem; padding: 1rem 1.2rem; }
}