.contact {
    max-width: 1200px;
    margin: 0 auto;
}

.contact__grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 32px;
}


.contact__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact__form {
    padding: 32px;
    box-sizing: border-box;
}

.contact__input {
    width: 100%;
    padding: 8px 16px;
    border: none;
    border-bottom: 1px solid #aaa;
    box-sizing: border-box;
}

.contact__textarea {
    width: 100%;
    padding: 8px 16px;
    border: 1px solid #aaa;
    box-sizing: border-box;
    resize: vertical;
    min-height: 200px;
}

.contact__location {
    position: relative;
}

.contact-info {
    position: absolute;
    width: calc(100% - 64px);
    max-width: 500px;
    top: 10px;
    left: 55px;
    background-color: white;
    z-index: 1;
    padding: 32px;
    box-sizing: border-box;
    border-radius: 16px;
    box-shadow: 0 0 4px 0 rgba(0,0,0,0.5);
}

.contact-info__info {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px;
}

.contact-info__icon {
    margin-top: 4px;
}

.contact__map {
    min-height: 80vh;
    z-index: 0;
}

.asesor {
    padding: 32px;
    box-sizing: border-box;
    max-width: 300px;
}

.asesor__image {
    display: block;
    max-width: 200px;
}

.asesor__details {
    display: flex;
    align-items: center;
    margin: 8px 0;
}

.asesor__icon {
    margin-right: 8px;
    width: 12px;
}

.asesor__link {
    text-decoration: underline;
}

.grecaptcha-badge {
    display: none;
}

.contact__button--error {
    border-color: #cb1c22 !important;
    background-color: #cb1c22 !important;
    color: #5e0003 !important;
}

.contact__button--success {
    border-color: #79cb1c !important;
    background-color: #79cb1c !important;
    color: #2a5e00 !important;
}

@media (max-width: 800px) {
    .contact__grid {
        grid-template-columns: 1fr;
    }

    .asesor {
        margin: 0 auto;
    }
    .asesor__heading {
        text-align: center;
    }
    .asesor__image {
        margin: 0 auto;
    }
}