.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-top: 2rem;
    align-items: stretch; /* HACE QUE AMBAS COLUMNAS SE ESTIREN A LA MISMA ALTURA */
}

/* Aplica el estilo de "tarjeta" directamente a los contenedores principales de cada columna */
.contact-form-container,
.contact-info-container {
    background: #fff;
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.08);
    display: flex; /* Permite controlar la distribución interna del contenido */
    flex-direction: column; /* Organiza el contenido en columna */
}

/* Íconos de redes sociales al pie original */
.social-links {
    margin-top: 2rem;
}

.social-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1rem;
}

.social-icons a {
    color: var(--primary-color);
    font-size: 2.5rem;
    transition: color 0.3s ease, transform 0.3s ease;
}

.social-icons a:hover {
    color: var(--accent-color);
    transform: translateY(-5px);
}

.social-icons a[aria-label="WhatsApp"] {
    font-size: 3rem;
    color: #25D366;
}

.social-icons a[aria-label="WhatsApp"]:hover {
    color: #128C7E;
}

/* Íconos superiores (debajo del título) */
.social-icons-top {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin: 2rem 0;
}

.social-icons-top a {
    font-size: 2.5rem;
    color: var(--primary-color);
    transition: color 0.3s ease, transform 0.3s ease;
}

.social-icons-top a:hover {
    color: var(--accent-color);
    transform: translateY(-5px);
}

/* Map container styling */
.map-container {
    text-align: center;
    flex-grow: 1; /* Permite que el contenedor del mapa ocupe todo el espacio vertical disponible en .contact-info-container */
    display: flex; /* Utiliza flexbox para alinear el contenido interno */
    flex-direction: column;
    justify-content: center; /* Centra el contenido verticalmente (h3, p, iframe) */
    align-items: center; /* Centra el contenido horizontalmente (h3, p, iframe) */
    /* REMOVED: background, padding, border-radius, box-shadow as they are now on .contact-info-container */
}

.map-container h3 {
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.map-container p {
    margin-bottom: 1rem;
    font-weight: 500;
}

/* Estilo del iframe del mapa para que ocupe el espacio disponible */
.map-container iframe {
    width: 100%;
    height: 100%; /* El iframe ocupa el 100% de la altura de su padre (.map-container) */
    min-height: 250px; /* Asegura una altura mínima para el mapa */
    border:0;
}

/* REMOVED: .chat-box styles as there is no chat box element in the HTML
.chat-box {
    background: #fff;
    color: #333;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.chat-box h3 {
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.chat-box:hover {
    transform: translateY(-3px);
}

.chat-box i {
    font-size: 2rem;
    margin-top: 0.5rem;
    color: var(--accent-color);
}
*/

/* REMOVED: .contact-right styles as it's not present in the HTML
.contact-right > * {
    margin-bottom: 1.5rem;
}
.contact-right > *:last-child {
    margin-bottom: 0;
}
*/

/* Responsive */
@media (max-width: 768px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .social-icons {
        flex-wrap: wrap;
    }

    .social-icons a {
        font-size: 2rem;
    }

    .social-icons a[aria-label="WhatsApp"] {
        font-size: 2.5rem;
    }
}