/* ========================================================================= */
/*                              HITO 6: CONTACTO FLOTANTE                    */
/* ========================================================================= */

.contact-main {
    padding: 50px 0;
}

.contact-section-wrapper {
    position: relative;
    width: 100%;
    background-color: var(--color-bg);
}

.contact-map {
    width: 100%;
    height: 500px;
}

.contact-map iframe {
    width: 100%;
    height: 100%;
    display: block;
}

.contact-form-card {
    background-color: var(--color-surface);
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.08); /* Borde sutil conforme a pedido */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); /* Sombra para resaltarlo sobre el mapa */
    padding: 35px 30px;
    width: 400px;
    
    /* Flotante en escritorio */
    position: absolute;
    top: 50%;
    left: 8%; /* Usar % para que mantenga margen dinámico o calc */
    transform: translateY(-50%);
    z-index: 10;
}

.contact-form-card h3 {
    color: var(--color-primary);
    font-size: 2rem;
    margin-bottom: 25px;
    text-transform: uppercase;
    text-align: center;
}

.contact-form-card form {
    display: flex;
    flex-direction: column;
    gap: 15px; /* Espaciado estricto entre campos */
}

.contact-form-card .form-group {
    /* Reseteamos el margin inferior ya que el gap flex se encarga de separar equitativamente */
    margin: 0;
}

.contact-form-card input,
.contact-form-card textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.95rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.contact-form-card input:focus,
.contact-form-card textarea:focus {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 91, 142, 0.1);
}

.contact-form-card .btn-submit {
    background-color: var(--color-primary);
    color: var(--color-surface);
    border: none;
    width: 100%;
    padding: 14px 0;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease; /* Transición sincronizada con el main-nav */
    margin-top: 5px;
}

.contact-form-card .btn-submit:hover {
    background-color: #00456b; /* Mismo color de hover oscuro que .main-nav a */
    color: var(--color-surface);
}

.contact-form-card .btn-submit:active {
    transform: scale(0.98);
}

/* Responsividad extra por si acaso */
@media (max-width: 1024px) {
    .contact-form-card { left: 4%; }
}
@media (max-width: 768px) {
    /* Resetear el flotante para móvil */
    .contact-main {
        padding: 0;
    }
    
    .contact-section-wrapper {
        display: flex;
        flex-direction: column;
    }
    
    .contact-form-card {
        position: relative;
        top: 0;
        left: 0;
        transform: none;
        width: 100%; 
        border-radius: 0;
        box-shadow: none;
        border: none;
        border-bottom: 1px solid var(--color-border);
        padding: 30px 20px;
        order: 1; /* Arriba del mapa */
    }
    
    .contact-map {
        height: 350px;
        order: 2; /* Mapa debajo */
    }
}
