/* Contact-only layout. The marker denotes an appointment area, not a building. */
.page-contact .id-contact-location {
	display: flex;
	flex-direction: column;
	min-inline-size: 0;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgb(65 135 146 / 22%);
	border-radius: var(--ir-radius-card, 1.5rem);
	background: #fffdf9;
	box-shadow: var(--ir-shadow-soft);
}
.page-contact .id-contact-location__heading { padding: 0.75rem 1rem; }
.page-contact .id-contact-location h2 { margin: 0; color: var(--color-foreground, #2d2733); font-size: 1rem; font-weight: 800; line-height: 1.6; }
.page-contact .id-contact-location__heading p { margin: 0.2rem 0 0; color: var(--color-muted-foreground, #6b625d); font-size: 0.8rem; line-height: 1.8; }
.page-contact .id-contact-location__frame { position: relative; flex: 1 0 12rem; min-block-size: 12rem; background: #edf2ed; }
.page-contact .id-contact-location iframe { display: block; position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.page-contact .id-contact-location__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.3rem 0.75rem; padding: 0.6rem 1rem; }
.page-contact .id-contact-location__footer a { display: inline-flex; align-items: center; min-block-size: 44px; color: #286b72; font-size: 0.75rem; font-weight: 800; text-underline-offset: 0.25em; }
.page-contact .id-contact-location a:focus-visible { outline: 3px solid #347f87; outline-offset: 3px; border-radius: 0.2rem; }
@media (min-width: 1024px) {
	.page-contact .id-contact-layout { align-items: stretch; }
	.page-contact .id-contact-message-column { display: flex; flex-direction: column; gap: 1rem; min-inline-size: 0; }
	.page-contact .id-contact-message-column > .id-contact-form-card { padding: 1.125rem; }
	.page-contact .id-contact-form-card [data-public-form="contact"] { padding: 1rem; }
	.page-contact .id-contact-form-card [data-public-form="contact"] > div > :not(:last-child) { margin-bottom: 0.75rem; }
	.page-contact .id-contact-form-card [data-public-form="contact"] > div > section:first-child { padding: 1rem; }
	.page-contact .id-contact-form-card [data-public-form="contact"] .public-captcha-card { padding: 0.75rem; gap: 0.5rem; }
	.page-contact .id-contact-form-card [data-public-form="contact"] > div > div:last-child { padding-top: 0.75rem; }
	.page-contact .id-contact-message-column .id-contact-location { flex: 1 0 auto; }
	.page-contact .id-contact-location__frame { flex-basis: 10rem; min-block-size: 10rem; }
}
