/* ==========================================================================
   Contact section (site style)
   Uses existing design tokens from css/style.css
   ========================================================================== */

.contact {
    padding-block: var(--gap-8, 4rem);
    background: var(--color-surface);
}

.contact__container {
    display: flex;
    align-items: stretch;
    gap: var(--gap-4);
}

/* Left: form */
.contact__form {
    flex: 0 0 56%;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: clamp(16px, 2.2vw, 26px);
}

.contact__header {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact__lead {
    margin: 0;
    color: var(--color-text-muted);
    line-height: var(--lh-body);
}

/* Right: info + map */
.contact__info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: var(--gap-2);
}

.info-card {
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 18px;
}

.info-card__title {
    margin: 0 0 10px 0;
    color: var(--color-text);
}

.info-card__rows {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
}

.info-card__row {
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
    color: var(--color-text-muted);
}

.info-card__label {
    color: var(--color-text-soft);
    min-width: 72px;
}

.info-card__value {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.info-card__link {
    color: var(--color-text);
    text-decoration: none;
    border-bottom: 1px dashed rgba(36, 75, 129, 0.35);
}

.info-card__link:hover {
    color: var(--color-link-hover);
    border-bottom-color: rgba(218, 101, 36, 0.65);
}

.info-card__nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--color-primary-soft);
    border: 1px solid transparent;
    transition:
        background-color 0.16s ease,
        transform 0.16s ease,
        border-color 0.16s ease;
}
.info-card__nav--waze {
    background: #27caf2;
}
.info-card__nav:hover {
    background: var(--color-accent-soft);
    transform: translateY(-1px);
}

.info-card__nav:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
    border-color: var(--color-border-strong);
}

.info-card__nav img {
    display: block;
}

.info-card__links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-2);
}

/* Map */
.map-container {
    overflow: hidden;
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
    background: rgba(255, 255, 255, 0.7);
}

.map-container iframe {
    display: block;
    border: 0;
}

/* Form */
.form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 12px;
}

.form__row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form__label {
    font-size: var(--fs-1);
    color: var(--color-text-soft);
}

.form__input {
    width: 100%;
    padding: 12px 14px;
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border-strong);
    background: rgba(255, 255, 255, 0.96);
    color: var(--color-text);
    transition:
        box-shadow 0.15s ease,
        border-color 0.15s ease;
}

.form__input:focus {
    outline: none;
    box-shadow: var(--focus-ring);
    border-color: rgba(218, 101, 36, 0.45);
}

.form__checkbox {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: var(--color-text-muted);
    font-size: var(--fs-2);
    line-height: var(--lh-body);
}

.form__checkbox a {
    color: var(--color-link);
}

.form__checkbox a:hover {
    color: var(--color-link-hover);
}

.hint {
    color: var(--color-text-soft);
    font-size: var(--fs-1);
}

.form__actions {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: var(--gap-2);
    margin-top: 6px;
}

/* Responsive */
@media (max-width: 920px) {
    .contact__container {
        flex-direction: column;
    }

    .contact__form {
        flex: 1 1 auto;
    }
}
