/* Contact page reuses the global hero and Fluent Forms components. */
.contact-breadcrumb { margin: 24px 0 48px; color: var(--dunkelblau); font-size: .875rem; }
.contact-breadcrumb a { color: inherit; }
.contact-intro { margin-bottom: 40px; }
.contact-intro h2 { margin-bottom: 12px; }
.contact-columns { margin-bottom: var(--standard-padding); }
.contact-photo .vc_single_image-wrapper,
.contact-photo img { display: block; width: 100%; border-radius: var(--border-radius); }
.contact-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
.contact-details { padding: 24px 0 0; }
.contact-details address { font-style: normal; }
.contact-details p { margin-bottom: 16px; }
.contact-details a { overflow-wrap: anywhere; }

#content :is(.contact-intro, .contact-columns) .wpb_text_column a,
#page #content .contact-details a { color: var(--dunkelblau); }
.contact-form-panel > .vc_column-inner > .wpb_wrapper {
    padding: clamp(24px, 3vw, 48px); background: var(--bg-hellblau); border-radius: var(--border-radius);
}
#content .contact-form-panel .wpb_text_column { margin-bottom: 0; }
.contact-form-panel .term-request-privacy { margin-top: 20px; }
#content .planhof-contact-form textarea.ff-el-form-control { min-height: 180px; resize: vertical; border-radius: var(--border-radius); }
@media (max-width: 767px) {
    .contact-breadcrumb { margin-bottom: 32px; }
    .contact-intro { margin-bottom: 24px; }
    .contact-form-panel { margin-top: 24px; }
}
