.contact-card { background: var(--white); border: 1px solid var(--border); border-radius: 14px; padding: 2rem; margin-bottom: 1.5rem; }
.contact-card h2 { font-size: 1.2rem; font-weight: 700; color: var(--navy); margin-bottom: 1.5rem; display: flex; align-items: center; gap: .6rem; }
.contact-row { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.25rem; }
.contact-row:last-child { margin-bottom: 0; }
.contact-row-icon { width: 40px; height: 40px; flex-shrink: 0; background: var(--off-white); border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.contact-row-text { line-height: 1.5; }
.contact-row-text strong { display: block; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); font-weight: 600; margin-bottom: .2rem; }
.contact-row-text a { color: var(--blue); text-decoration: none; font-size: .95rem; }
.contact-row-text a:hover { text-decoration: underline; }
.contact-row-text span { font-size: .95rem; color: var(--text); }

.map-wrap { border-radius: 10px; overflow: hidden; height: 280px; margin-top: 1.5rem; border: 1px solid var(--border); }
.map-wrap iframe { width: 100%; height: 100%; border: none; display: block; }
/* Chybové zprávy formuláře */
.cf-field-error {
    display: block;
    font-size: .78rem;
    color: var(--danger, #e53e3e);
    margin-top: .25rem;
    min-height: 1rem;
}
#contactForm input.invalid,
#contactForm textarea.invalid {
    border-color: var(--danger, #e53e3e) !important;
}
