/* =====================================================================
   WIENINGER · Kontakt-Block  —  wgn-contact.css
   Info (Adresse/Tel/E-Mail/Öffnungszeiten/Social) + optionale Karte.
   Das Formular daneben ist Elementor Pro (Skin: wgn-forms.css).
   Tokens aus wgn-ui.css. rem/em/%/clamp · Safari-gehärtet.
   ===================================================================== */

.wgn-contact {
	background: var(--wgn-cream);
	padding: clamp(3.5rem, 8vw, 7rem) var(--wgn-pad-x);
	font-family: var(--wgn-sans); color: var(--wgn-ink);
	-webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}
.wgn-contact * { box-sizing: border-box; }
.wgn-contact--paper { background: var(--wgn-paper); }

.wgn-contact__wrap {
	max-width: var(--wgn-shell); margin-inline: auto;
	display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: stretch;
}
.wgn-contact--nomap .wgn-contact__wrap { grid-template-columns: 1fr; max-width: 40rem; }

/* ---------- Info ---------- */
.wgn-contact__kicker { display: inline-flex; align-items: center; gap: .75rem; margin: 0 0 1rem; color: var(--wgn-red); font-size: .78rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.wgn-contact__kicker::before { content: ""; width: 2rem; height: 1.5px; background: var(--wgn-red); }
.wgn-contact__title { margin: 0 0 .5rem; font-family: var(--wgn-serif); font-weight: 500; letter-spacing: -.02em; line-height: 1.15; font-size: clamp(1.7rem, 3.5vw, 2.5rem); }
.wgn-contact__text { margin: 0 0 .5rem; color: var(--wgn-ink-soft); line-height: 1.6; }

.wgn-contact__rows { display: grid; gap: 1.1rem; margin-top: 1.75rem; }
.wgn-contact__row { display: flex; align-items: flex-start; gap: .9rem; line-height: 1.5; }
.wgn-contact__icon { flex: 0 0 auto; margin-top: .15em; color: var(--wgn-red); }
.wgn-contact__icon svg { width: 1.25rem; height: 1.25rem; }
.wgn-contact__row a { color: inherit; }
.wgn-contact__row a:hover { color: var(--wgn-red); }

.wgn-contact__socials { display: flex; gap: .6rem; margin-top: 1.75rem; }
.wgn-contact__socials a {
	width: 2.4rem; height: 2.4rem; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--wgn-line); color: var(--wgn-ink-soft);
	transition: background .25s var(--wgn-ease), border-color .25s var(--wgn-ease), color .25s var(--wgn-ease);
}
.wgn-contact__socials a:hover { background: var(--wgn-red); border-color: var(--wgn-red); color: #fff; }

/* ---------- Karte ---------- */
.wgn-contact__map { position: relative; min-height: 20rem; border-radius: .4rem; overflow: hidden; border: 1px solid var(--wgn-line); }
.wgn-contact__route {
	position: absolute; right: .85rem; bottom: .85rem; z-index: 2;
	display: inline-flex; align-items: center; gap: .5em;
	background: var(--wgn-paper); color: var(--wgn-ink);
	font-size: .8rem; font-weight: 600; letter-spacing: .03em;
	padding: .55em .95em; border-radius: 2rem; box-shadow: var(--wgn-shadow); text-decoration: none;
	transition: background .2s var(--wgn-ease), color .2s var(--wgn-ease);
}
.wgn-contact__route:hover { background: var(--wgn-red); color: #fff; }
.wgn-contact__route svg { width: 1rem; height: 1rem; }
.wgn-contact__map iframe,
.wgn-contact__map img { width: 100%; height: 100%; min-height: 20rem; border: 0; display: block; object-fit: cover; }

@media (max-width: 780px) {
	.wgn-contact__wrap { grid-template-columns: 1fr; }
	.wgn-contact__map, .wgn-contact__map iframe, .wgn-contact__map img { min-height: 15rem; }
}
