.contact-page-section { padding-top: 190px; padding-bottom: 95px; background-color: #fff; }
			.contact-page-section .section-id { color: #8f8b8b; letter-spacing: 0.18rem; text-transform: uppercase; font-weight: 700; }
			.contact-page-intro { max-width: 760px; margin: 0 auto 54px; color: #5f6875; }
			.offstage-contact-card { height: 100%; border: 1px solid rgba(55,59,77,0.14); border-radius: 18px; background: #fff; padding: 34px 30px; box-shadow: 0 18px 45px rgba(20,20,28,0.06); }
			.offstage-contact-card h5 { margin-bottom: 16px; }
			.offstage-contact-card p { margin-bottom: 8px; color: #5f6875; }
			.offstage-contact-card a { color: #201e29; font-weight: 700; text-decoration: none; }
			.offstage-contact-card a:hover { color: #000; text-decoration: underline; }
			.contact-icon-circle { width: 58px; height: 58px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #050505; color: #fff; margin-bottom: 22px; }
			.contact-icon-circle span { font-size: 1.65rem; line-height: 1; }
			.contact-title-row { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
			.contact-title-row .contact-icon-circle { margin: 0; flex: 0 0 58px; }
			.contact-title-row h5, .contact-title-row h4 { margin: 0; }
			.contact-address-title { margin-bottom: 14px; }
			.contact-address-heading .contact-icon-circle { margin-bottom: 0; }
			.whatsapp-contact-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 18px; padding: 13px 19px; border-radius: 999px; background: #111; color: #fff !important; font-weight: 800; text-decoration: none !important; letter-spacing: .03rem; transition: background-color .85s ease, color .85s ease, transform .85s ease; }
			.whatsapp-contact-link:hover { background: #25D366; color: #fff !important; text-decoration: none !important; }
			.whatsapp-contact-link img { width: 28px; height: 28px; display: block; }
			.instagram-contact-link { position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 12px; margin-top: 18px; padding: 13px 19px; border-radius: 999px; background: #111; color: #fff !important; font-weight: 800; text-decoration: none !important; letter-spacing: .03rem; transition: color .85s ease, transform .85s ease; }
			.instagram-contact-link::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 6%, #fd5949 42%, #d6249f 62%, #285AEB 92%); opacity: 0; transition: opacity 1.05s ease; z-index: 0; }
			.instagram-contact-link:hover::before { opacity: 1; }
			.instagram-contact-link:hover { color: #fff !important; text-decoration: none !important; }
			.instagram-contact-link:focus { color: #fff !important; text-decoration: none !important; outline: none; }
			.instagram-contact-link > span { position: relative; z-index: 1; }
			.instagram-contact-icon { width: 28px; height: 28px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 6%, #fd5949 42%, #d6249f 62%, #285AEB 92%); box-shadow: 0 8px 18px rgba(214,36,159,.22); transition: background-color 1.05s ease, box-shadow 1.05s ease; }
			.instagram-contact-link:hover .instagram-contact-icon { background: rgba(255,255,255,.22); box-shadow: none; }
			.instagram-contact-icon svg { width: 17px; height: 17px; display: block; }
			.instagram-contact-icon rect, .instagram-contact-icon circle { stroke: #fff; }
			.contact-page-section .row.align-items-stretch.g-4 > [class*="col-"] { display: flex; }
			.contact-map-box { width: 100%; border-radius: 18px; overflow: hidden; background: #ffffff; display: flex; flex-direction: column; border: 1px solid rgba(55,59,77,0.10); box-shadow: 0 18px 45px rgba(20,20,28,0.06); }
			.contact-address-box { min-height: 650px; }
			.contact-address-box .offstage-map-frame { min-height: 430px; flex: 1 1 auto; }
			.offstage-map-frame { width: 100%; border: 0; display: block; background: #f7f5f3; position: relative; overflow: hidden; }
			.offstage-map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; border: 0; display: block; background: #ffffff; z-index: 2; }
				.offstage-map-preview { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 36px; background: linear-gradient(135deg, rgba(247,245,243,.98), rgba(235,241,255,.72)); z-index: 1; }
				.offstage-map-preview:before { content: ""; position: absolute; inset: 0; opacity: .45; background-image: radial-gradient(circle at 18% 22%, rgba(28,37,68,.10) 0 2px, transparent 3px), radial-gradient(circle at 78% 28%, rgba(28,37,68,.08) 0 2px, transparent 3px), radial-gradient(circle at 36% 74%, rgba(28,37,68,.08) 0 2px, transparent 3px), linear-gradient(118deg, transparent 0 45%, rgba(110,143,211,.16) 46% 49%, transparent 50% 100%); background-size: 110px 110px, 130px 130px, 125px 125px, 100% 100%; }
				.offstage-map-preview-content { position: relative; z-index: 2; max-width: 360px; }
				.offstage-map-pin { width: 58px; height: 58px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: #050505; margin: 0 auto 28px; box-shadow: 0 12px 28px rgba(0,0,0,.16); }
				.offstage-map-pin:after { content: ""; position: absolute; width: 18px; height: 18px; border-radius: 50%; background: #ffffff; left: 20px; top: 20px; }
				.offstage-map-preview h5 { margin-bottom: 8px; }
				.offstage-map-preview p { margin-bottom: 18px; color: #5f6875; }
				.contact-map-action { padding: 23px 26px 27px; text-align: center; background: #ffffff; }
			.contact-map-action h4 { margin-bottom: 10px; }
			.contact-map-action p { color: #5f6875; margin-bottom: 18px; }
			.contact-address-heading { padding: 34px 42px 30px; text-align: left; }
			.contact-address-heading .address-line { margin-bottom: 0; }
			.contact-address-heading .btn { margin-top: 18px; }
			.offstage-opening-hours { margin: 14px 0 24px; padding: 0; border-radius: 0; background: transparent; border: 0; }
			.offstage-opening-title { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-family: 'Lora', serif; font-size: 1.04rem; font-weight: 700; color: #282739; }
			.offstage-opening-title .contact-icon-circle { width: 22px; height: 22px; margin: 0; flex: 0 0 22px; }
			.offstage-opening-title .contact-icon-circle span { font-size: .62rem; }
			.offstage-opening-hours ul { list-style: none; padding: 0; margin: 0; max-width: 430px; }
			.offstage-opening-hours li { display: flex; align-items: baseline; gap: 0; padding: 2px 0; color: #5f6875; }
			.offstage-opening-hours li strong { order: 1; color: #201e29; font-weight: 700; white-space: nowrap; }
			.offstage-opening-hours li::after { content: ""; order: 2; flex: 1 1 auto; border-bottom: 1px dotted rgba(95,104,117,.45); margin: 0 10px 5px; }
			.offstage-opening-hours li span { order: 3; flex: 0 0 auto; white-space: nowrap; text-align: right; }
			.contact-form-wrapper { width: 100%; height: 100%; border-radius: 18px; background: #f7f5f3; padding: 42px; }
			.contact-page-note { font-size: .95rem; color: #7a7d86; margin-top: 12px; }
			@media (max-width: 991px) { .contact-page-section { padding-top: 160px; } .contact-page-section .row.align-items-stretch.g-4 > [class*="col-"] { display: block; } .contact-form-wrapper { height: auto; padding: 32px 24px; } .contact-map-box { height: auto; min-height: 0; } .offstage-map-frame { min-height: 430px; flex: 0 0 auto; } .offstage-map-frame iframe { min-height: 430px; } .contact-address-heading { padding: 30px 26px 28px; } }
			@media (max-width: 767px) { .contact-page-section { padding-top: 145px; } .offstage-contact-card { padding: 28px 24px; } .contact-address-box .offstage-map-frame { min-height: 360px; } }

			/* Kontaktseite: schwarze Menüleiste bis zum Scrollen */
			.kontakt-page #header.tra-menu .wsmainfull:not(.scroll) {
				background-color: #050505 !important;
				box-shadow: 0 2px 3px rgba(0, 0, 0, .18);
			}
			.kontakt-page #header.tra-menu .wsmainfull:not(.scroll) .wsmenu > .wsmenu-list > li > a {
				color: #ffffff !important;
			}
			.kontakt-page #header.tra-menu .wsmainfull.scroll {
				background-color: #ffffff !important;
			}
			.kontakt-page #header.tra-menu .wsmainfull.scroll .wsmenu > .wsmenu-list > li > a {
				color: #463853 !important;
			}
			.kontakt-page #header.tra-menu .wsmainfull.scroll .wsmenu > .wsmenu-list > li > a.btn {
				color: #ffffff !important;
			}
			.kontakt-page .wsmobileheader {
				background-color: #050505 !important;
			}

			/* Über-uns-Seite */
			.ueber-uns-page #header.tra-menu .wsmainfull:not(.scroll) {
				background-color: #050505 !important;
				box-shadow: 0 2px 3px rgba(0, 0, 0, .18);
			}
			.ueber-uns-page #header.tra-menu .wsmainfull:not(.scroll) .wsmenu > .wsmenu-list > li > a {
				color: #ffffff !important;
			}
			.ueber-uns-page #header.tra-menu .wsmainfull.scroll {
				background-color: #ffffff !important;
			}
			.ueber-uns-page #header.tra-menu .wsmainfull.scroll .wsmenu > .wsmenu-list > li > a {
				color: #463853 !important;
			}
			.ueber-uns-section { padding-top: 190px; padding-bottom: 100px; background-color: #ffffff; }
			.ueber-uns-section .section-id { color: #8f8b8b; letter-spacing: 0.18rem; text-transform: uppercase; font-weight: 700; }
			.ueber-uns-lead { max-width: 850px; margin: 0 auto 56px; color: #5f6875; font-size: 1.08rem; line-height: 1.85; }
			.ueber-uns-story { border-radius: 24px; background: #f7f5f3; padding: 48px; box-shadow: 0 18px 45px rgba(20,20,28,0.06); height: 100%; }
			.ueber-uns-story p { color: #5f6875; line-height: 1.8; }
			.ueber-uns-image { border-radius: 24px; overflow: hidden; height: 100%; min-height: 420px; background: #f7f5f3; box-shadow: 0 18px 45px rgba(20,20,28,0.06); }
			.ueber-uns-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
			.ueber-uns-card { height: 100%; border: 1px solid rgba(55,59,77,0.12); border-radius: 20px; background: #fff; padding: 34px 30px; box-shadow: 0 14px 36px rgba(20,20,28,0.05); }
			.ueber-uns-card h5 { margin-bottom: 14px; }
			.ueber-uns-card p { margin-bottom: 0; color: #5f6875; line-height: 1.75; }
			.ueber-uns-icon { width: 54px; height: 54px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #050505; color: #fff; margin-bottom: 22px; }
			.ueber-uns-icon span { font-size: 1.35rem; }
			.ueber-uns-icon img { width: 28px; height: 28px; display: block; object-fit: contain; }

			.ueber-uns-note { border-left: 4px solid #050505; background: #fff; padding: 22px 26px; margin-top: 28px; color: #5f6875; }
			.ueber-uns-cta { margin-top: 50px; padding: 38px 34px; border-radius: 24px; background: #050505; color: #fff; text-align: center; }
			.ueber-uns-cta h4, .ueber-uns-cta p { color: #fff; }
			.ueber-uns-cta p { opacity: .86; margin-bottom: 24px; }
			.ueber-uns-cta .btn { margin: 5px 6px; }
			@media (max-width: 991px) { .ueber-uns-section { padding-top: 160px; } .ueber-uns-story { padding: 36px 28px; } .ueber-uns-image { min-height: 360px; margin-top: 30px; } }
			@media (max-width: 767px) { .ueber-uns-section { padding-top: 145px; } .ueber-uns-card { padding: 28px 24px; } }

			/* OFFSTAGE v159: Buchen-Button im Über-uns-Header besser lesbar */
			.ueber-uns-page #header.tra-menu .wsmenu > .wsmenu-list > li > a.btn.last-link,
			.ueber-uns-page #header.tra-menu .wsmainfull:not(.scroll) .wsmenu > .wsmenu-list > li > a.btn.last-link,
			.ueber-uns-page #header.tra-menu .wsmainfull.scroll .wsmenu > .wsmenu-list > li > a.btn.last-link {
				color: #f5f0eb !important;
				background-color: #232228 !important;
				border-color: #232228 !important;
			}
			.ueber-uns-page #header.tra-menu .wsmenu > .wsmenu-list > li > a.btn.last-link:hover,
			.ueber-uns-page #header.tra-menu .wsmainfull:not(.scroll) .wsmenu > .wsmenu-list > li > a.btn.last-link:hover,
			.ueber-uns-page #header.tra-menu .wsmainfull.scroll .wsmenu > .wsmenu-list > li > a.btn.last-link:hover {
				color: #232228 !important;
				background-color: #ffffff !important;
				border-color: #232228 !important;
			}

			/* OFFSTAGE v159: Untere Über-uns-Container an obere Kartenbreite angleichen */
			.ueber-uns-page .ueber-uns-story,
			.ueber-uns-page .ueber-uns-cta {
				width: 100%;
			}
