.contact-card {
    background: var(--color-paper);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: clamp(20px, 4vw, 32px);
}

/* The form itself looks like the exhibitor inquiry (inquiry-form.css, E2E P2a W-12). */
.contact-form {
    align-content: start;
}

.contact-form__intro h2 {
    font-size: clamp(1.45rem, 3vw, 2.1rem);
    line-height: 1.05;
}

.contact-form__intro p {
    color: var(--color-muted);
    margin-top: 8px;
}

/* W7 «Ihr Weg zum Empfang» in der Karte Veranstaltungsort; der Schritt, der gerade im Video zu sehen ist,
   wird dunkel markiert (media-loop.js). */
.venue-way {
    margin-top: 18px;
}

.contact-card .venue-way__label {
    color: var(--color-ink);
    font-weight: 700;
    margin-top: 16px;
}

.venue-steps {
    counter-reset: venue-step;
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 10px 0 16px;
    padding: 0;
}

.venue-steps li {
    align-items: baseline;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-sm);
    counter-increment: venue-step;
    display: flex;
    gap: 10px;
    padding: 8px 12px;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.venue-steps li::before {
    color: var(--color-magenta);
    content: counter(venue-step);
    font-weight: 900;
    min-width: 1ch;
}

.venue-steps li.is-active {
    background: var(--color-ink);
    border-color: var(--color-ink);
    color: var(--color-white);
}

.venue-steps li.is-active::before {
    color: var(--color-lime);
}

@media (prefers-reduced-motion: reduce) {
    .venue-steps li {
        transition: none;
    }
}
