/* Sprachumschalter DE | EN in der Kopfzeile (ab 2.1.0, ergänzt das Theme) */
.bs-lang { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; flex: none; }
.bs-lang li { display: flex; align-items: center; }
.bs-lang li + li::before { content: ""; width: 1px; height: 14px; background: currentColor; opacity: .45; margin: 0 2px; }
.bs-lang__item {
	display: block; padding: 8px 7px; font-weight: 500; font-size: .875rem; letter-spacing: .06em; line-height: 1;
	color: var(--bs-offwhite); text-decoration: none; transition: color .35s ease;
}
a.bs-lang__item { opacity: .78; }
a.bs-lang__item:hover, a.bs-lang__item:focus-visible { opacity: 1; text-decoration: underline; text-decoration-color: var(--bs-mustard); text-decoration-thickness: 2px; text-underline-offset: .35em; }
.bs-lang__item.is-current { text-decoration: underline; text-decoration-color: var(--bs-mustard); text-decoration-thickness: 2px; text-underline-offset: .35em; }
.bs-lang--bar { color: var(--bs-offwhite); }
.bs-header.is-scrolled .bs-lang--bar, .bs-header.is-scrolled .bs-lang--bar .bs-lang__item { color: var(--bs-aubergine); }
.bs-lang--nav { display: none; }

@media (max-width: 1080px) {
	/* Kopfzeile am Handy: Logo, andere Sprache, „Jetzt buchen“, Menü */
	.bs-lang--bar { margin-left: auto; }
	.bs-lang--bar ~ .bs-header__cta { margin-left: 0; }
	.bs-lang--bar li:has(.is-current) { display: none; }
	.bs-lang--bar li + li::before { display: none; }
	.bs-lang--bar .bs-lang__item { padding: 12px 2px; opacity: 1; }
	.bs-header.is-open .bs-lang--bar, .bs-header.is-open .bs-lang--bar .bs-lang__item { color: var(--bs-offwhite); }
	/* Im geöffneten Menü zusätzlich groß unter den Menüpunkten */
	.bs-lang--nav { display: flex; margin-top: 24px; color: var(--bs-offwhite); }
	.bs-lang--nav .bs-lang__item, .bs-header.is-scrolled .bs-lang--nav .bs-lang__item { color: var(--bs-offwhite); font-size: 1.125rem; padding: 10px 12px 10px 0; }
	.bs-lang--nav li + li .bs-lang__item { padding-left: 12px; }
}
/* Sehr schmale Handys: Umschalter nur im Menü, damit die Kopfzeile nicht überläuft */
@media (max-width: 379px), (min-width: 441px) and (max-width: 479px) {
	.bs-lang--bar { display: none; }
	.bs-lang--bar ~ .bs-header__cta { margin-left: auto; }
}
/* Schmale Desktops: nur die andere Sprache zeigen, damit das Menü in eine Zeile passt */
@media (min-width: 1081px) and (max-width: 1240px) {
	.bs-lang--bar li:has(.is-current) { display: none; }
	.bs-lang--bar li + li::before { display: none; }
	.bs-lang--bar .bs-lang__item { padding: 8px 2px; opacity: 1; }
}

/* Sprungmarken auf den Standortseiten (ab 2.2.0) */
.bs-section--anchors { padding-top: clamp(20px, 3vw, 32px) !important; padding-bottom: 0 !important; }
.bs-anchors { margin: 0; }
[id] { scroll-margin-top: 96px; }
.bs-draft-note { background: #fdf1dc; color: #4C2C44; font-size: .875rem; padding: 10px 0; }

/* 2.2.1 – Wohnen auf Zeit: „Kosten und Versicherung“ ohne doppelten Abstand zum nächsten weißen Abschnitt */
.bs-section.bs-section--joined { padding-bottom: 0; }

/* 2.2.1 – Über uns: Leitsatz-Kasten weiter links und höher über dem Foto (Hände bleiben frei) */
@media (min-width: 861px) {
	.bs-split--welcome .bs-motto { width: 42%; margin-top: -9%; margin-left: max(-6%, calc(16px - var(--bs-gutter))); }
}

/* 2.2.1 – Über uns: Namen größer, damit „Besilima“ sofort auffällt */
.bs-split--welcome .bs-nowrap {
	display: block; margin: .3em 0 .2em; white-space: normal;
	font-size: 1.4em; line-height: 1.25;
	color: var(--bs-aubergine);
}
.bs-split--welcome .bs-nowrap strong { font-weight: 700; }
@media (max-width: 860px) {
	.bs-split--welcome .bs-motto { width: 88%; max-width: 520px; margin: -10px auto 0; }
}

/* 2.2.1 – Stornobedingungen als kurze Liste, Banküberweisung hervorgehoben */
.bs-policy > * { margin: 0; }
.bs-policy > * + * { margin-top: .6em; }
.bs-policy .bs-policy__title { font-weight: 600; color: var(--bs-aubergine); }
.bs-policy .bs-policy__list { margin-top: .3em; padding-left: 1.15em; list-style: disc; }
.bs-policy .bs-policy__list li { margin: 0; padding: 0; }
.bs-policy .bs-policy__list li + li { margin-top: .15em; }
.bs-policy .bs-policy__foot { font-size: .92em; opacity: .85; }
.bs-policy .bs-policy__bank strong { color: var(--bs-aubergine); font-weight: 700; }
.bs-policy .bs-policy__agb { margin-top: .6em; }
