/* === CONTACTO.CSS === */

/* Estilos de la tarjeta general (asumo que se aplica a .contact-form y .contact-info-side) */
.card {
    background: var(--white, #ffffff);
    /* Usa blanco por defecto si la variable no existe */
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    /* Sombra más suave y moderna */
    border: 1px solid var(--border-color, #e0e0e0);
    /* Borde sutil */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Nota: La animación :hover de la card se mantiene en global.css, pero la de aquí es más sutil y se ejecutará. */
.card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    /* Sombra al pasar el ratón */
    transform: translateY(-2px);
    /* Pequeño levantamiento */
}

/* Contenedor principal del formulario */
.contact-form-container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 3rem;
    margin-top: 3rem;
    flex-wrap: wrap;
}

/* Tarjeta del formulario */
.contact-form {
    flex: 1 1 500px;
    /* Base original */
    max-width: 600px;
    /* Agrego un máximo para pantallas muy grandes */
}

.contact-form h3 {
    margin-bottom: 1.5rem;
    /* Más espacio */
    font-size: 1.75rem;
    color: var(--primary-color, #333);
}

/* Campos del formulario */
.form-group {
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    position: relative;
    /* Para colocar mensajes de error/validación */
}

.form-group label {
    font-weight: 700;
    /* Más énfasis */
    color: var(--primary-color, #333);
    margin-bottom: 0.6rem;
    /* Más espacio entre label e input */
    font-size: 0.95rem;
}

.form-group input,
.form-group textarea {
    padding: 1rem 1.2rem;
    /* Aumento el padding vertical */
    border: 2px solid var(--input-border, #e0e0e0);
    /* Borde más grueso y claro */
    border-radius: 10px;
    /* Bordes un poco más redondeados */
    font-size: 1rem;
    outline: none;
    transition: all 0.3s ease;
    background-color: var(--input-bg, #f9f9f9);
    /* Fondo ligeramente gris */
    color: #444;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--secondary-color, #4a9eff);
    box-shadow: 0 0 0 3px var(--secondary-color-light, rgba(74, 158, 255, 0.2));
    /* Sombra más controlada y como anillo */
    background-color: var(--white, #ffffff);
}

.form-group textarea {
    resize: vertical;
    /* Permite solo redimensionamiento vertical */
}

/* Estilos de Validación */
.form-group.error input,
.form-group.error textarea {
    border-color: #ff4d4d;
    /* Rojo para error */
}

.form-group.error .error-message {
    color: #ff4d4d;
    font-size: 0.85rem;
    margin-top: 0.4rem;
}

.form-group.success input,
.form-group.success textarea {
    border-color: #5cb85c;
    /* Verde para éxito (opcional) */
}

/* Botón de envío - Reemplazado por el estilo de global.css, pero aseguramos la transición */
/* Nota: La clase .btn-secondary ya está bien definida en global.css para usar var(--gradient-primary).
   Solo mantengo los estilos necesarios para el formulario, eliminando la definición de background que ya está en global.css */
.btn-secondary {
    display: inline-block;
    padding: 1rem 2rem;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    /* Aseguramos que use el gradiente de global.css, pero la transición y transform de global.css es mejor. */
    border: none;
    margin-top: 1rem;
    /* Separo del último campo */
    /* El hover/active de global.css es más dinámico */
}


/* Tarjeta lateral de información */
.contact-info-side {
    flex: 0 1 300px;
    /* Mantengo los estilos base de .card */
    background: var(--dark-blue);
    /* Fondo oscuro para contraste */
    color: var(--text-light);
    /* Texto claro */
    border: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.contact-info-side h3 {
    color: var(--white);
    /* Título en blanco */
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.contact-info-side p {
    margin-bottom: 1.4rem;
    /* Más espacio entre items */
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    line-height: 1.4;
    color: var(--text-light);
    /* Asegura el color claro */
}

.contact-info-side i {
    color: var(--accent-color);
    /* Color de acento para los iconos */
    width: 20px;
    min-width: 20px;
    text-align: center;
    font-size: 1.2rem;
    /* Icono un poco más grande */
    padding-top: 2px;
}

.contact-info-side a {
    color: var(--accent-color);
    font-weight: 600;
    text-decoration: none;
    word-break: break-word;
    /* Evita que las URL largas rompan el layout */
}

.contact-info-side a:hover {
    text-decoration: underline;
    color: var(--white);
}

/* Mensaje de estado del formulario (para JS) */
#form-message {
    margin-top: 1.5rem;
    padding: 1rem;
    border-radius: 8px;
    text-align: center;
    font-weight: 700;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.4s ease-in-out;
}

#form-message.success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
    opacity: 1;
    max-height: 100px;
}

#form-message.error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    opacity: 1;
    max-height: 100px;
}

/* Responsivo */
@media (max-width: 768px) {
    .contact-form-container {
        flex-direction: column;
        align-items: stretch;
        gap: 2rem;
        /* Reduzco el espacio */
        margin-top: 2rem;
    }

    .contact-form,
    .contact-info-side {
        flex: 1 1 100%;
        /* Ocupan todo el ancho */
        max-width: 100%;
        padding: 1.5rem;
        /* Reduzco el padding en móvil */
    }

    .contact-info-side {
        margin-top: 0;
    }

    .contact-info-side h3 {
        margin-bottom: 1rem;
    }
}