/* =====================================================================
   DS Haus-Navigation, Startseite ueber "Professionelle Planung"  14.09.2026
   Architekturskizze: Hover macht die Fassade durchsichtig, Raeume oeffnen
   ein Fenster mit Kurztext und Link. Alle Textfarben ausdruecklich gesetzt,
   weil geklonte Rows text_color erben koennen.
   ===================================================================== */
.ds-haus {
	width: 100%;
	color: #14201d;
	font-family: Raleway, sans-serif;
	text-align: left;
}
.ds-haus * { box-sizing: border-box; }

.ds-haus__kopf {
	display: grid;
	grid-template-columns: 5fr 6fr;
	gap: 24px 64px;
	align-items: end;
	margin: 0 0 18px;
}
.ds-haus__kick {
	font-size: 12px; letter-spacing: 1.7px; text-transform: uppercase;
	font-weight: 600 !important; color: #2b7264 !important; margin: 0 0 12px !important;
}
.ds-haus__h {
	font-family: Montserrat, sans-serif;
	font-size: 34px; line-height: 1.18; font-weight: 600 !important;
	letter-spacing: -.4px; text-transform: none !important;
	color: #14201d !important; margin: 0 !important;
	text-wrap: balance;
}
.ds-haus__lead {
	font-size: 17px; line-height: 1.6; color: #3a4744 !important;
	margin: 0 !important;
}

.ds-haus__buehne { position: relative; }
.ds-haus__svg {
	display: block; width: 100%; height: auto; overflow: visible;
	-webkit-tap-highlight-color: transparent;
}

/* Durchsichtig beim Hover, Fokus oder nach dem ersten Tippen */
.ds-haus__fassade-flaeche,
.ds-haus__fassade-details,
.ds-haus__innen { transition: opacity .55s ease; }
.ds-haus__innen { opacity: .5; }
.ds-haus__buehne:hover .ds-haus__fassade-flaeche,
.ds-haus__buehne:focus-within .ds-haus__fassade-flaeche,
.ds-haus__buehne.is-offen .ds-haus__fassade-flaeche { opacity: 0; }
.ds-haus__buehne:hover .ds-haus__fassade-details,
.ds-haus__buehne:focus-within .ds-haus__fassade-details,
.ds-haus__buehne.is-offen .ds-haus__fassade-details { opacity: .16; }
.ds-haus__buehne:hover .ds-haus__innen,
.ds-haus__buehne:focus-within .ds-haus__innen,
.ds-haus__buehne.is-offen .ds-haus__innen { opacity: 1; }

.ds-haus__lichtkegel { opacity: .55; transition: opacity .4s ease; }
.ds-haus__buehne:hover .ds-haus__lichtkegel,
.ds-haus__buehne.is-offen .ds-haus__lichtkegel { opacity: 1; }

/* Hotspots */
.ds-haus__hs { cursor: pointer; outline: none; }
.ds-haus__hs-flaeche {
	fill: #2b7264; fill-opacity: 0; stroke: #2b7264; stroke-opacity: 0;
	stroke-width: 1.6; stroke-dasharray: 6 5; pointer-events: all;
	transition: fill-opacity .25s ease, stroke-opacity .25s ease;
}
.ds-haus__hs:hover .ds-haus__hs-flaeche,
.ds-haus__hs:focus-visible .ds-haus__hs-flaeche,
.ds-haus__hs.is-aktiv .ds-haus__hs-flaeche { fill-opacity: .08; stroke-opacity: .85; }
.ds-haus__hs--torsten .ds-haus__hs-flaeche,
.ds-haus__hs--torsten:hover .ds-haus__hs-flaeche,
.ds-haus__hs--torsten.is-aktiv .ds-haus__hs-flaeche { fill-opacity: 0; stroke-opacity: 0; }

.ds-haus__tuerblatt { transition: fill .25s ease; }
.ds-haus__hs--tuer:hover .ds-haus__tuerblatt,
.ds-haus__hs--tuer.is-aktiv .ds-haus__tuerblatt { fill: #cfe5de; }
.ds-haus__figur-jacke { transition: fill .25s ease; }
.ds-haus__hs--torsten:hover .ds-haus__figur-jacke,
.ds-haus__hs--torsten.is-aktiv .ds-haus__figur-jacke,
.ds-haus__hs--torsten:focus-visible .ds-haus__figur-jacke { fill: #2b7264; }
.ds-haus__name { font-family: Raleway, sans-serif; font-weight: 600; letter-spacing: .3px; }

.ds-haus__marke { transform-box: fill-box; transform-origin: center; transition: transform .25s ease; }
.ds-haus__kreis { fill: #fff; stroke: #2b7264; stroke-width: 1.8; transition: fill .25s ease; }
.ds-haus__plus { stroke: #2b7264; stroke-width: 1.8; stroke-linecap: round; transition: stroke .25s ease; }
.ds-haus__puls {
	fill: none; stroke: #2b7264; stroke-width: 1.4;
	transform-box: fill-box; transform-origin: center;
	animation: ds-haus-puls 2.6s ease-out infinite;
}
.ds-haus__hs:hover .ds-haus__marke,
.ds-haus__hs:focus-visible .ds-haus__marke,
.ds-haus__hs.is-aktiv .ds-haus__marke { transform: scale(1.18); }
.ds-haus__hs:hover .ds-haus__kreis,
.ds-haus__hs:focus-visible .ds-haus__kreis,
.ds-haus__hs.is-aktiv .ds-haus__kreis { fill: #2b7264; }
.ds-haus__hs:hover .ds-haus__plus,
.ds-haus__hs:focus-visible .ds-haus__plus,
.ds-haus__hs.is-aktiv .ds-haus__plus { stroke: #fff; }
@keyframes ds-haus-puls {
	0% { transform: scale(1); opacity: .7; }
	70%, 100% { transform: scale(2.1); opacity: 0; }
}

/* Fenster mit Kurzbeschreibung */
.ds-haus__pop {
	position: absolute; left: 0; top: 0; z-index: 5;
	width: 320px; padding: 0;
	background: #fff; border: 1px solid rgba(20,32,29,.12); border-top: 3px solid #2b7264;
	box-shadow: 0 18px 44px rgba(20,32,29,.16);
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.ds-haus__pop.is-sichtbar {
	opacity: 1; visibility: visible; transform: none;
	transition: opacity .18s ease, transform .18s ease, visibility 0s;
}
.ds-haus__pop-inhalt { padding: 16px 20px 16px; }
/* Beispielbild klein links, Text rechts: quer statt hoch, damit das Fenster ueber dem
   Erdgeschoss Platz hat und keine Nachbarraeume verdeckt. Platzhalterfarbe, Bild blendet
   erst nach dem Laden ein. */
.ds-haus__pop.hat-bild {
	width: 470px;
	display: grid; grid-template-columns: 150px minmax(0, 1fr);
}
.ds-haus__pop-bild {
	position: relative; overflow: hidden; min-height: 170px;
	background: #e7efec;
}
.ds-haus__pop-bild[hidden] { display: none !important; }
.ds-haus__pop-bild img {
	position: absolute; inset: 0;
	display: block; width: 100% !important; height: 100% !important; max-width: none !important;
	object-fit: cover; margin: 0 !important; border: 0 !important; border-radius: 0 !important;
	opacity: 0; transform: scale(1.03);
	transition: opacity .3s ease, transform .6s ease;
}
.ds-haus__pop-bild.is-geladen img { opacity: 1; transform: none; }
.ds-haus__pop p { margin: 0 !important; }
.ds-haus__pop .ds-haus__pop-kick {
	font-size: 11.5px; letter-spacing: 1.6px; text-transform: uppercase;
	font-weight: 600 !important; color: #2b7264 !important; margin-bottom: 6px !important;
}
.ds-haus__pop .ds-haus__pop-titel {
	font-family: Montserrat, sans-serif; font-size: 18px; line-height: 1.3;
	font-weight: 600 !important; color: #14201d !important; margin-bottom: 8px !important;
}
.ds-haus__pop .ds-haus__pop-text {
	font-size: 14.5px; line-height: 1.55; color: #3a4744 !important;
}
#content .ds-haus__pop a.ds-haus__pop-link,
.ds-haus__pop a.ds-haus__pop-link {
	display: inline-block; margin-top: 12px; padding: 0 0 2px;
	font-size: 14.5px; font-weight: 600 !important; line-height: 1.4;
	color: #2b7264 !important; text-decoration: none !important;
	border: 0 !important; border-bottom: 1.5px solid currentColor !important;
	outline: none !important; box-shadow: none !important; background: none !important;
}
.ds-haus__pop a.ds-haus__pop-link::after { content: " \2192"; }
.ds-haus__pop a.ds-haus__pop-link:hover { color: #14201d !important; }
.ds-haus__pop a.ds-haus__pop-link:focus-visible { outline: 2px solid #2b7264 !important; outline-offset: 3px; }
.ds-haus__pop a.ds-haus__pop-link[hidden] { display: none !important; }

@media (max-width: 1100px) {
	.ds-haus__h { font-size: 30px; }
}

/* Mobil und Tablet hochkant: Zeichnung wischbar, Fenster als Feld darunter */
@media (max-width: 767px) {
	.ds-haus__kopf { grid-template-columns: 1fr; gap: 14px; margin-bottom: 8px; }
	.ds-haus__h { font-size: 26px; }
	.ds-haus__lead { font-size: 16px; }
	.ds-haus__scroll {
		overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch; scrollbar-width: none;
	}
	.ds-haus__scroll::-webkit-scrollbar { display: none; }
	.ds-haus__svg { width: 860px; max-width: none; }
	.ds-haus__marke { transform: scale(1.35); }
	.ds-haus__hs.is-aktiv .ds-haus__marke { transform: scale(1.55); }
	.ds-haus__pop.hat-bild { display: block; }
	.ds-haus__pop-bild { min-height: 0; aspect-ratio: 16 / 9; }
	.ds-haus__pop,
	.ds-haus__pop.hat-bild,
	.ds-haus__pop.is-sichtbar {
		position: static; width: 100%; margin-top: 6px;
		opacity: 1; visibility: visible; transform: none; box-shadow: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ds-haus__puls { animation: none; opacity: 0; }
	.ds-haus__fassade-flaeche, .ds-haus__fassade-details, .ds-haus__innen,
	.ds-haus__pop, .ds-haus__marke, .ds-haus__pop-bild img { transition: none; }
}
