/* Contact page: preserves the layout and visual language of the legacy site. */
.contact-page-header {
    background: url('../images/contact-page-header.webp') center / cover no-repeat, var(--color-secondary);
}

.contact__info,
.contact__form-container {
    min-width: 0;
}

.contact__info h3 {
    position: relative;
    padding-bottom: var(--space-md);
}

.contact__info h3::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 56px;
    height: 3px;
    border-radius: var(--radius-full);
    background: var(--color-primary);
}

.contact__item {
    transition: background-color var(--transition-fast), transform var(--transition-fast);
}

.contact__item:hover {
    background: var(--color-beige-light);
    transform: translateX(-4px);
}

.contact__details {
    min-width: 0;
}

.contact__phone-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs) var(--space-sm);
}

.contact__phone-list .contact__value:not(:last-child)::after {
    content: '|';
    color: var(--color-text-muted);
    margin-inline-start: var(--space-sm);
}

.contact__form-container {
    box-shadow: var(--shadow-sm);
}

.contact__form [type='submit'] {
    min-height: 52px;
}

.contact__map iframe {
    width: 100%;
    min-height: 400px;
}

@media (max-width: 992px) {
    .contact__wrapper {
        gap: var(--space-2xl);
    }
}

@media (max-width: 600px) {
    .contact__form-container {
        padding: var(--space-xl);
    }

    .contact__item {
        align-items: flex-start;
        padding: var(--space-md);
        border-radius: var(--radius-md);
    }

    .contact__item:hover {
        transform: none;
    }

    .contact__value {
        overflow-wrap: anywhere;
    }

    .contact__map iframe {
        min-height: 300px;
    }
}
