/** singulary-ui/immobilie-kontakt — Foto links, Anfrage-Card rechts (überlappend). */

.fyh-kontakt { margin: 0; }
/* Inhalt zentriert + begrenzt — alignwide würde sonst auf volle Breite ziehen
   (gleiche Spezifität, lädt später → gewinnt). max-width auf den Kindern statt
   auf der Section umgeht den Layout-Override zuverlässig. */
.fyh-kontakt__head,
.fyh-kontakt__row { max-width: 920px; margin-inline: auto; }
.fyh-kontakt__head { margin-bottom: 2.6rem; padding-top: .5rem; text-align: center; }
.fyh-kontakt__h2 {
	margin: 0 auto;
	font-size: clamp( 2rem, 4vw, 3rem );
	line-height: 1.08;
	font-weight: 600;
	letter-spacing: -.025em;
	color: var(--wp--preset--color--ink);
	max-width: 24ch;
}
.fyh-kontakt__h2soft { color: var(--wp--preset--color--muted); }

.fyh-kontakt__row { position: relative; }

/* --- Foto --- */
.fyh-kontakt__photo {
	position: relative;
	height: clamp( 320px, 70vw, 440px );
	border-radius: var(--wp--custom--radius--lg, 28px);
	overflow: hidden;
	box-shadow: 0 16px 50px -22px rgba( 14,14,14,.4 );
}
.fyh-kontakt__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.fyh-kontakt__photo.is-empty {
	display: flex; align-items: center; justify-content: center;
	min-height: 320px;
	background: linear-gradient( 160deg, var(--wp--preset--color--ink), color-mix( in srgb, var(--wp--preset--color--ink) 70%, #3a3a3a ) );
}
.fyh-kontakt__initials { font-size: 4rem; font-weight: 600; color: rgba( 255,255,255,.92 ); letter-spacing: -.02em; }

/* --- Anfrage-Card --- */
.fyh-kontakt__card {
	position: relative;
	z-index: 1;
	margin-top: -2.5rem;
	background: #fff;
	border-radius: var(--wp--custom--radius--lg, 28px);
	box-shadow: 0 24px 70px -30px rgba( 14,14,14,.28 );
	padding: clamp( 1.75rem, 4vw, 2.75rem );
}
.fyh-kontakt__name {
	margin: 0 0 .4rem;
	font-size: clamp( 1.7rem, 3.2vw, 2.4rem );
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1.05;
	color: var(--wp--preset--color--ink);
}
.fyh-kontakt__lead { margin: 0 0 1.75rem; font-size: .95rem; line-height: 1.6; color: var(--wp--preset--color--muted); max-width: 46ch; }
.fyh-kontakt__role { color: var(--wp--preset--color--ink); font-weight: 600; }

.fyh-kontakt__grid { display: grid; gap: .35rem 1rem; margin-bottom: 1rem; }
.fyh-kontakt__grid--name { grid-template-columns: 5.5rem 1fr 1fr; }
.fyh-kontakt__grid--2 { grid-template-columns: 1fr 1fr; }
.fyh-kontakt__grid--strasse { grid-template-columns: 2fr 1fr; }
.fyh-kontakt__grid--plz { grid-template-columns: 1fr 2fr; }
.fyh-kontakt__field { margin-bottom: 1rem; }
.fyh-kontakt__grid .fyh-kontakt__field { margin-bottom: 0; }
.fyh-kontakt__field--full { grid-column: 1 / -1; }

.fyh-kontakt__consent { display: flex; align-items: flex-start; gap: 11px; margin: .25rem 0 0; font-size: .82rem; line-height: 1.45; color: var(--wp--preset--color--muted); cursor: pointer; }
.fyh-kontakt__consent input { margin-top: 2px; width: 17px; height: 17px; flex-shrink: 0; accent-color: var(--wp--preset--color--ink); }
.fyh-kontakt__consent a { color: var(--wp--preset--color--ink); font-weight: 600; }

.fyh-kontakt__btn {
	margin-top: 1.5rem;
	display: flex; align-items: center; justify-content: center;
	width: 100%;
	height: 54px; padding: 0 28px;
	border: 0; border-radius: var(--wp--custom--button--radius, 10px);
	background: var(--wp--preset--color--ink);
	color: #fff;
	font-size: 1rem; font-weight: 600;
	cursor: pointer;
	transition: transform .2s ease, opacity .2s ease;
}
.fyh-kontakt__btn:hover { transform: translateY( -1px ); opacity: .92; }
.fyh-kontakt__note { margin: 1rem 0 0; text-align: center; font-size: .78rem; color: var(--wp--preset--color--muted); }
.fyh-kontakt__direct { margin: 1.25rem 0 0; font-size: .88rem; color: var(--wp--preset--color--muted); }
.fyh-kontakt__direct a { color: var(--wp--preset--color--ink); font-weight: 600; text-decoration: none; }

@media ( min-width: 900px ) {
	.fyh-kontakt__photo { position: absolute; left: 0; top: 0; bottom: 0; width: 46%; height: auto; margin: 0; }
	.fyh-kontakt__card { margin-top: 0; margin-left: 40%; width: 60%; min-height: 560px; }
}
@media ( max-width: 520px ) {
	.fyh-kontakt__grid { grid-template-columns: 1fr; }
	.fyh-kontakt__grid--name { grid-template-columns: 5rem 1fr; }
	.fyh-kontakt__grid--name .fyh-kontakt__field:first-child { grid-column: 1; grid-row: 1 / 3; }
}
