/* =========================================================
   Contact Section
   ========================================================= */

.contact-section {
    padding-block: var(--section-padding);
    background-color: var(--color-white);
}

.contact-section .contact-wrapper {
    gap: var(--space-xl);
    align-items: stretch;
}

/* ---------- Content ---------- */

.contact-section .contact-content {
    flex: 1 1 49%;
}

.contact-section .contact-content h2,
.contact-section .contact-content .h2 {
    margin-bottom: var(--space-xxm);
}

.contact-section .contact-content h2:not(:has(+ .contact-desc)),
.contact-section .contact-content .h2:not(:has(+ .contact-desc)) {
    margin-bottom: 32px;
}

.contact-section .contact-content .contact-desc {
    margin-bottom: var(--space-sm);
}

.contact-section .contact-content .contact-desc p {
    font-size: var(--font-size-body-md);
    color: var(--color-slate-700);
    line-height: var(--line-height-card-title);
}

.contact-section .contact-content>p {
    color: var(--color-slate-500);
    margin-bottom: var(--space-lg);
}

.contact-section .contact-info-card p a {
    text-decoration: underline;
}

.contact-section .contact-info-card p a:hover,
.contact-section .contact-info-card p a:focus-visible {
    color: var(--color-heading);
}

.contact-section .contact-info-card {
    background-color: var(--color-ink-50);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 8px 24px;
    margin-bottom: var(--space-smm);
}

.contact-section .contact-info-card h3 {
    font-size: var(--font-size-body, 16px);
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0;
    line-height: 1.5;
    color: var(--color-signal-700);
    margin-bottom: var(--space-xm);
    font-weight: var(--font-weight-medium);
}

.contact-section .contact-info-card p {
    color: var(--color-slate-700);
    line-height: 1.55;
    font-size: var(--font-size-h6);
}

.contact-section .contact-info-card p:not(:last-child) {
    margin-bottom: var(--space-xm);

}

.contact-section .contact-info-card p a:hover {
    text-decoration: underline;
}

.contact-section .contact-info-card hr {
    border: none;
    border-top: 1px solid var(--color-border);
    margin-block: var(--space-xm);
}

.contact-section a.button {
    width: fit-content;
    padding: 13px 22px;
}

/* ---------- Map ---------- */

.contact-section .contact-map {
    flex: 1 1 63%;
    /* background-color: var(--color-ink-50); */
    border-radius: var(--radius-2xl);
    /* overflow: hidden; */
    /* position: relative; */
    /* border: 1px solid var(--color-border); */
}

.contact-section .contact-map img {
    /* width: 100%;
    height: 100%;
    object-fit: cover;
    display: block; */
}

/* ---------- Large Desktop / Laptop ---------- */
/* ---------- Tablet ---------- */
@media (max-width: 991px) {
    .contact-section .contact-wrapper {
        flex-direction: column;
        gap: 14px;
    }

    .contact-section a.button {
        width: 100%;
    }

    .contact-section .contact-content,
    .contact-section .contact-map {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
    .contact-section .contact-info-card {
        padding: var(--space-smm);
    }
}