/* Schmucker Immobilien – Stylesheet (übernommen aus css4/schmucker.css, bereinigt) */

html, body { margin: 0; padding: 0; height: 100%; }
body {
	font-family: "Arial Narrow", Arial, "Helvetica Condensed", Helvetica, sans-serif;
	font-weight: bold;
	color: #000;
	background: #8a7a68 center center / cover no-repeat fixed;
}
body.bg-wohnung    { background-image: url(../img/bg-wohnung.jpg); }
body.bg-referenzen { background-image: url(../img/bg-referenzen.jpg); }
body.bg-terrazzo   { background-image: url(../img/bg-terrazzo.jpg); }
body.bg-kontakt    { background-image: url(../img/bg-kontakt.jpg); }

/* iOS ignoriert background-attachment: fixed – dort normal scrollen */
@supports (-webkit-touch-callout: none) { body { background-attachment: scroll; } }

a { border: 0; text-decoration: none; }
img { border: 0; display: block; }
h1, h2 { margin: 0; }
.sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* Bühne: feste Original-Größe 968 × 730, zentriert; auf kleinen Bildschirmen per JS skaliert */
#viewport {
	min-height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
#stage {
	position: relative;
	flex: 0 0 auto;
	width: 968px;
	height: 730px;
	margin: 30px 0;
}

#logo { position: absolute; top: 0; left: 0; width: 968px; height: 128px; }

/* Navigation */
#nav { position: absolute; right: 30px; top: 112px; z-index: 5; }
#nav ul {
	margin: 0; padding: 0;
	list-style: none;
	font-size: 0;
	box-shadow: -2px -3px 4px 0 rgba(0,0,0,0.6);
}
#nav ul li { display: inline; margin: 0; font-size: 17px; text-align: center; }
#nav ul li.active { margin-left: -2px; }
#nav ul li a {
	margin: 0;
	padding: 2px 8px;
	color: #000;
	background-color: #fff;
	border: 2px solid #006;
	border-left: 0 solid #fff;
	text-transform: uppercase;
}
#nav ul li a:hover, #nav ul li a:focus-visible { color: #010101; background-color: #efefef; }
#nav ul li.active a { border: 2px solid #fff; background-color: #414141; color: #fff; }
#nav ul li.sub_first a { border-left: 2px solid #000; }
#nav ul li.sub_first.active a { border-left: 2px solid #fff; }

/* Inhaltsbereich */
#content { position: absolute; top: 180px; left: 0; width: 968px; height: 490px; }
#content .panel { width: 968px; height: 488px; }

/* Kontakt */
.positon_kontakt_1 { position: absolute; top: 8px; left: 248px; width: 472px; height: 472px; margin: 0; padding: 0; }
.positon_kontakt_1 iframe { width: 472px; height: 472px; border: 0; display: block; }
.positon_kontakt_2 {
	position: absolute; top: 8px; left: 728px; width: 232px; height: 472px;
	margin: 0; padding: 0; text-align: center; overflow: hidden;
}
.kontakttext address { font-style: normal; }
.kontakttext p { margin: 16px 4px; line-height: 20px; color: #fff; }
.kontakttext p strong { font-family: "Arial Black", Gadget, sans-serif; font-size: 17px; }
.kontakttext p a { color: #fff; font-size: 15px; text-decoration: none; }
.kontakttext p a:hover { text-decoration: underline; }

/* Karte erst nach Einwilligung */
.map-consent { background: #e5e3df; display: flex; align-items: center; justify-content: center; text-align: center; }
.map-consent-box { padding: 24px 40px; color: #333; font-family: Arial, Helvetica, sans-serif; font-weight: normal; font-size: 14px; line-height: 20px; }
.map-consent-box p { margin: 0 0 12px; }
.map-consent-box strong { font-size: 17px; }
.map-consent-box a { color: #006; text-decoration: underline; }
.map-load {
	margin: 8px 0 16px;
	padding: 8px 20px;
	font: bold 15px Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	color: #fff;
	background: #414141;
	border: 2px solid #006;
	cursor: pointer;
}
.map-load:hover, .map-load:focus-visible { background: #006; }

/* Impressum */
.positon_impressum_1 {
	position: absolute; top: 8px; left: 248px; width: 714px; height: 472px;
	margin: 0; padding: 0; text-align: center; overflow: hidden;
}
.impressum { font-size: 12px; }
.impressum p { margin: 4px; line-height: 15px; font-size: 15px; }
.impressum p a { font-size: 15px; }

/* Datenschutz */
.positon_datenschutz {
	position: absolute; top: 8px; left: 248px; width: 714px; height: 472px;
	margin: 0; padding: 0; text-align: left; overflow: hidden;
}
.datenschutz {
	height: 100%;
	overflow-y: auto;
	color: #fff;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: normal;
	font-size: 14px;
	line-height: 20px;
	scrollbar-color: #bbb #414141;
}
.datenschutz h1, .datenschutz h2, .datenschutz p, .datenschutz ul { margin: 16px 20px; }
.datenschutz h1 { font-size: 16px; }
.datenschutz h2 { font-size: 14px; margin-bottom: 8px; }
.datenschutz ul { padding: 0 0 0 4px; list-style: none; }
.datenschutz ul.dash li::before { content: "– "; }
.datenschutz a { color: #fff; text-decoration: underline; }
.datenschutz .stand { font-size: 12px; color: #ccc; }

/* Angebote: Klickflächen über den Portal-Logos im Hintergrundbild */
.immoscout, .immowelt { position: absolute; display: block; border-radius: 8px; }
.immoscout { top: 40px;  left: 316px; width: 340px; height: 168px; }
.immowelt  { top: 310px; left: 292px; width: 392px; height: 114px; }
.immoscout:hover, .immowelt:hover,
.immoscout:focus-visible, .immowelt:focus-visible { background: rgba(255,255,255,.12); outline: 2px solid #fff; }

/* Slider (Ersatz für RoyalSlider/jQuery) */
.slider { position: relative; width: 968px; height: 490px; }
.slider-viewport { width: 968px; height: 490px; overflow: hidden; }
.slider-track { display: flex; width: 968px; height: 490px; transition: transform .6s ease; }
.slider-track img { flex: 0 0 968px; width: 968px; height: 490px; }
.no-js .slider-track, .slider:not(.is-ready) .slider-track { overflow: hidden; }
.slider-arrow {
	position: absolute; top: 50%; width: 50px; height: 90px; margin-top: -45px;
	padding: 0; border: 0; cursor: pointer;
	background: transparent center / 50px 90px no-repeat;
}
.slider-arrow:hover, .slider-arrow:focus-visible { opacity: .6; }
.slider-prev { left: -95px;  background-image: url(../img/pfeil-links.png); }
.slider-next { right: -95px; background-image: url(../img/pfeil-rechts.png); }
.slider-dots { position: absolute; left: 0; bottom: -50px; width: 100%; text-align: center; line-height: 16px; }
.slider-dots button {
	width: 48px; height: 20px; padding: 0; border: 0; background: transparent; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.slider-dots button span { display: block; width: 8px; height: 8px; border-radius: 50%; background: #fff; }
.slider-dots button[aria-current="true"] span { width: 16px; height: 16px; }

@media (prefers-reduced-motion: reduce) { .slider-track { transition: none; } }
