/*
Theme Name:   Kadence Child
Template:     kadence
Author:       blondsign
Version:      2.9.7
Text Domain:  kadence-child
*/

/* ==========================================================================
   Home v2 – Hero (.bs-hero)
   ========================================================================== */
.bs-hero {
	position: relative;
}
.bs-hero .kt-row-layout-overlay {
	/* nur unten abdunkeln */
	background: linear-gradient(to top, rgba(26, 32, 44, 0.88) 0%, rgba(26, 32, 44, 0.55) 30%, rgba(26, 32, 44, 0) 65%) !important;
	opacity: 1 !important;
}
.bs-hero.kb-row-layout-wrap > .kt-row-column-wrap {
	position: relative;
	padding-bottom: clamp(120px, 17vh, 176px);
}
/* Abstand zum transparenten Header: bei niedrigen Fenstern (iPad quer) sonst Text unter dem Logo */
@media (min-width: 768px) {
	.bs-hero.kb-row-layout-wrap > .kt-row-column-wrap {
		padding-top: 200px;
	}
}
/* Scroll-Hinweis am Row-Rand ausrichten, nicht an der Spalte */
.bs-hero .wp-block-kadence-column,
.bs-hero .kt-inside-inner-col {
	position: static;
}
.bs-hero__content {
	max-width: 640px;
	margin: 0 auto 0 0;
	text-align: left;
	color: var(--global-palette9);
}
.bs-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.85);
}
.bs-hero__eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: var(--global-palette1);
}
.bs-hero .bs-hero__title {
	margin: 0 0 24px;
	font-size: clamp(2.375rem, 4.6vw, 3.75rem);
	line-height: 1.04;
	letter-spacing: -0.02em;
	font-weight: 700;
	color: var(--global-palette9);
	text-wrap: balance;
}
.bs-hero .bs-hero__title br {
	display: none;
}
.bs-hero__lead {
	max-width: 60ch;
	margin: 0 0 36px;
	font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.86);
}
.bs-hero__ctas {
	gap: 14px;
	justify-content: flex-start;
}
.bs-btn .wp-block-button__link {
	padding: 15px 30px;
	border-radius: 999px;
	border: 2px solid transparent;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.bs-btn .wp-block-button__link:hover {
	transform: translateY(-1px);
}
.bs-btn--primary .wp-block-button__link {
	background: var(--global-palette1);
	border-color: var(--global-palette1);
	color: var(--global-palette9);
}
.bs-btn--primary .wp-block-button__link:hover,
.bs-btn--primary .wp-block-button__link:focus-visible {
	background: var(--global-palette2);
	border-color: var(--global-palette2);
	color: var(--global-palette9);
}
.bs-hero .wp-block-button.bs-btn--ghost > .wp-block-button__link:not(.has-text-color),
.bs-btn--ghost .wp-block-button__link {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.7);
	color: var(--global-palette9);
}
.bs-hero .wp-block-button.bs-btn--ghost > .wp-block-button__link:not(.has-text-color):hover,
.bs-hero .wp-block-button.bs-btn--ghost > .wp-block-button__link:not(.has-text-color):focus-visible,
.bs-btn--ghost .wp-block-button__link:hover,
.bs-btn--ghost .wp-block-button__link:focus-visible {
	background: var(--global-palette9);
	border-color: var(--global-palette9);
	color: var(--global-palette3);
}
.bs-hero__scroll {
	position: absolute;
	left: 50%;
	bottom: 28px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.6875rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-decoration: none;
}
.bs-hero__scroll:hover {
	color: var(--global-palette9);
}
.bs-hero__scroll-line {
	position: relative;
	width: 1px;
	height: 40px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.3);
}
.bs-hero__scroll-line::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--global-palette9);
	animation: bs-scroll 2s ease-in-out infinite;
}
@keyframes bs-scroll {
	0% { transform: translateY(-100%); }
	60%, 100% { transform: translateY(100%); }
}
@media (prefers-reduced-motion: reduce) {
	.bs-hero__scroll-line::after { animation: none; }
}
@media (max-width: 767px) {
	.bs-hero.kb-row-layout-wrap > .kt-row-column-wrap {
		padding-bottom: 112px;
	}
	.bs-hero__eyebrow {
		margin-bottom: 16px;
		font-size: 0.75rem;
		letter-spacing: 0.14em;
	}
	.bs-hero__eyebrow::before {
		width: 20px;
	}
	.bs-hero .bs-hero__title {
		font-size: clamp(2rem, 9vw, 2.5rem);
		margin-bottom: 18px;
	}
	.bs-hero__lead {
		margin-bottom: 28px;
	}
	.bs-hero__ctas {
		flex-direction: column;
		align-items: stretch;
	}
	.bs-hero__ctas .wp-block-button {
		width: 100%;
	}
	.bs-btn .wp-block-button__link {
		width: 100%;
	}
	.bs-hero__scroll {
		bottom: 20px;
	}
	.bs-hero__scroll-line {
		height: 28px;
	}
}
html {
	scroll-behavior: smooth;
}

/* ==========================================================================
   Home v2 – gemeinsame Typo-Skala (gilt für alle Sprachversionen über :has)
   ========================================================================== */
body:has(.bs-hero) {
	--bs-fs-display: clamp(2.125rem, 1.4rem + 2.6vw, 3.25rem);
	--bs-fs-title: clamp(1.25rem, 1.05rem + 0.6vw, 1.5rem);
	--bs-fs-lead: clamp(1.125rem, 1rem + 0.4vw, 1.3125rem);
	--bs-fs-body: 1.0625rem;
	--bs-fs-small: 0.9375rem;
	--bs-fs-label: 0.75rem;
	--bs-section-y: clamp(72px, 4rem + 4vw, 128px);
	--bs-line: rgba(26, 32, 44, 0.12);
}
.bs-services-head .wp-block-heading,
.bs-workflow .wp-block-heading.has-xxlarge-font-size {
	font-size: var(--bs-fs-display) !important;
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.bs-services-head p {
	font-size: var(--bs-fs-lead) !important;
	line-height: 1.55;
}
.bs-workflow .wp-block-heading:not(.has-xxlarge-font-size) {
	font-size: var(--bs-fs-title);
	line-height: 1.3;
	letter-spacing: -0.01em;
}
.bs-workflow p {
	font-size: var(--bs-fs-body);
	line-height: 1.6;
}

/* Einheitliche Seitenkante: Inhalte aller Sektionen auf die Header-Breite begrenzen
   (Container 1290px + Rand), Hintergründe bleiben randlos. */
body:has(.bs-hero) .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap {
	max-width: calc(var(--global-content-width, 1290px) + 2 * var(--global-content-edge-padding, 24px));
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--global-content-edge-padding, 24px);
	padding-right: var(--global-content-edge-padding, 24px);
}
/* ==========================================================================
   Schritt 9 – einheitliche Section-Abstände
   ========================================================================== */
/* Services = eine Sektion aus zwei Rows: außen Standardabstand, innen 48px */
.bs-services-head.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-top: var(--bs-section-y);
	padding-bottom: 48px;
}
.bs-services.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-top: 0;
	padding-bottom: var(--bs-section-y);
}
@media (max-width: 767px) {
	.bs-services-head.kb-row-layout-wrap > .kt-row-column-wrap {
		padding-bottom: 36px;
	}
}

/* ==========================================================================
   Home v2 – Vorteils-Leiste (.bs-benefits)
   ========================================================================== */
.bs-benefits.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-top: var(--bs-section-y);
	padding-bottom: var(--bs-section-y);
	align-items: stretch;
	row-gap: 0;
	column-gap: 0;
}
.bs-benefits .wp-block-kadence-column {
	padding: 4px 32px;
	border-left: 1px solid var(--bs-line);
}
.bs-benefits .wp-block-kadence-column:first-of-type {
	padding-left: 0;
	border-left: 0;
}
.bs-benefits .wp-block-kadence-column > .kt-inside-inner-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	text-align: left;
}
.bs-benefits .wp-block-kadence-icon {
	margin: 0 0 28px;
	justify-content: flex-start;
}
.bs-benefits .kb-svg-icon-wrap,
.bs-benefits .kb-svg-icon-wrap svg {
	width: 32px;
	height: 32px;
	font-size: 32px;
	color: var(--global-palette1) !important;
}
.bs-benefits .wp-block-heading {
	margin: 0 0 12px;
	font-size: var(--bs-fs-title);
	line-height: 1.25;
	letter-spacing: -0.01em;
	white-space: nowrap;
}
.bs-benefits .kt-inside-inner-col > p {
	margin: 0;
	font-size: var(--bs-fs-body);
	line-height: 1.6;
	color: var(--global-palette5);
}
/* Unter 1200px reicht die Breite nicht für einzeilige Titel in 4 Spalten */
@media (max-width: 1199px) {
	.bs-benefits.kb-row-layout-wrap > .kt-row-column-wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 40px;
	}
	.bs-benefits .wp-block-kadence-column:nth-of-type(odd) {
		padding-left: 0;
		border-left: 0;
	}

}
@media (max-width: 767px) {
	.bs-benefits.kb-row-layout-wrap > .kt-row-column-wrap {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 0;
	}
	.bs-benefits .wp-block-kadence-column,
	.bs-benefits .wp-block-kadence-column:first-of-type {
		padding: 32px 0;
		border-left: 0;
		border-top: 1px solid var(--bs-line);
	}
	.bs-benefits .wp-block-kadence-column:first-of-type {
		padding-top: 0;
		border-top: 0;
	}
	.bs-benefits .wp-block-kadence-column:last-of-type {
		padding-bottom: 0;
	}
}

/* ==========================================================================
   Home v2 – Services (.bs-services-head / .bs-services)
   ========================================================================== */
.bs-services-head .wp-block-heading {
	margin: 0 0 12px;
}
.bs-services-head p {
	max-width: 60ch;
	margin: 0;
	color: var(--global-palette5);
}
.bs-services .wp-block-kadence-column > .kt-inside-inner-col {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
	text-align: left;
	aspect-ratio: 4 / 5;
	padding: 24px;
	overflow: hidden;
	border-radius: 6px;
	background: var(--global-palette3);
	color: var(--global-palette9);
	isolation: isolate;
}
.bs-services .kt-inside-inner-col > .wp-block-image {
	position: absolute;
	inset: 0;
	z-index: -2;
	margin: 0;
}
.bs-services .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}
.bs-services .kt-inside-inner-col::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, rgba(26, 32, 44, 0.9) 0%, rgba(26, 32, 44, 0.55) 38%, rgba(26, 32, 44, 0) 68%);
}
.bs-services .wp-block-heading {
	margin: 0 0 8px;
	font-size: var(--bs-fs-title);
	line-height: 1.25;
	color: var(--global-palette9);
}
.bs-services .bs-card__link {
	color: inherit;
	text-decoration: none;
}
.bs-services .bs-card__link::after {
	content: "\2192";
	display: inline-block;
	margin-left: 8px;
	transition: transform 0.25s ease;
}
/* ganze Karte klickbar */
.bs-services .bs-card__link::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.bs-services .kt-inside-inner-col > p {
	margin: 0;
	font-size: var(--bs-fs-small);
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.85);
}
.bs-services .kt-inside-inner-col:hover img,
.bs-services .kt-inside-inner-col:focus-within img {
	transform: scale(1.05);
}
.bs-services .kt-inside-inner-col:hover .bs-card__link::after,
.bs-services .kt-inside-inner-col:focus-within .bs-card__link::after {
	transform: translateX(4px);
}
.bs-services .bs-card__link:focus-visible {
	outline: none;
}
.bs-services .kt-inside-inner-col:focus-within {
	outline: 2px solid var(--global-palette1);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	.bs-services .wp-block-image img,
	.bs-services .bs-card__link::after {
		transition: none;
	}
}


/* ==========================================================================
   Home v2 – Workflow-Block, dunkel (.bs-workflow) inkl. Vorteile
   ========================================================================== */
.bs-workflow.kb-row-layout-wrap > .kt-row-column-wrap {
	padding: var(--bs-section-y) 24px;
}
/* einheitliche linke Kante mit den übrigen Sektionen (x = 24px) */
.bs-workflow.kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:first-of-type > .kt-inside-inner-col {
	padding-left: 0;
}
.bs-workflow__grid.kb-row-layout-wrap > .kt-row-column-wrap {
	align-items: stretch;
	padding-left: 0;
	padding-right: 0;
}
/* Headline-Spalte bleibt beim Scrollen stehen */
.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:first-of-type > .kt-inside-inner-col {
	position: sticky;
	top: var(--bs-sticky-top);
	height: auto;
	padding-right: 32px;
}
.bs-workflow__grid .wp-block-heading br {
	display: none;
}
/* Schritte 01 / 02 / 03 */
.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type > .kt-inside-inner-col {
	counter-reset: bs-step;
	padding-left: 72px;
}
.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type .wp-block-heading {
	position: relative;
	margin: 0 0 8px;
	counter-increment: bs-step;
}
.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type .wp-block-heading::before {
	content: counter(bs-step, decimal-leading-zero);
	position: absolute;
	left: -72px;
	top: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--global-palette1);
}
.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type p {
	margin: 0 0 40px;
	color: rgba(255, 255, 255, 0.72) !important;
}
.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type p:last-child {
	margin-bottom: 0;
}

/* Vorteile im dunklen Block */
.bs-benefits--dark {
	margin-top: 72px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.bs-benefits--dark.kb-row-layout-wrap > .kt-row-column-wrap {
	padding: 56px 0 0;
}
.bs-benefits--dark .wp-block-kadence-column {
	border-left-color: rgba(255, 255, 255, 0.12);
}
.bs-benefits--dark .wp-block-heading {
	color: var(--global-palette9);
}
.bs-benefits--dark .kt-inside-inner-col > p {
	color: rgba(255, 255, 255, 0.72);
}
@media (max-width: 767px) {
	.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:first-of-type {
		border-right: 0 !important;
	}
	.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:first-of-type > .kt-inside-inner-col {
		position: static;
		padding-right: 0;
		border-right: 0 !important;
	}
	.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type > .kt-inside-inner-col {
		padding-left: 52px;
	}
	.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type .wp-block-heading::before {
		left: -52px;
	}
	.bs-benefits--dark {
		margin-top: 56px;
	}
	.bs-benefits--dark.kb-row-layout-wrap > .kt-row-column-wrap {
		padding-top: 40px;
	}
	.bs-benefits--dark .wp-block-kadence-column,
	.bs-benefits--dark .wp-block-kadence-column:first-of-type {
		border-top-color: rgba(255, 255, 255, 0.12);
	}
	.bs-benefits--dark .wp-block-kadence-column:first-of-type {
		border-top: 0;
	}
}

/* ==========================================================================
   Home v2 – Environment & responsibility (.bs-env), 50/50, Bild randlos
   ========================================================================== */
.bs-env.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-top: 0;
	padding-bottom: 0;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 0;
	row-gap: 0;
	align-items: stretch;
}
.bs-env .wp-block-kadence-column:first-of-type > .kt-inside-inner-col {
	justify-content: center;
	/* linke Kante wie die übrigen Sektionen */
	padding: var(--bs-section-y) 64px var(--bs-section-y) 0;
}
.bs-env .wp-block-heading {
	margin: 0 0 24px;
	font-size: var(--bs-fs-display);
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.bs-env .kt-inside-inner-col > p {
	max-width: 52ch;
	margin: 0 0 18px;
	font-size: var(--bs-fs-body);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.78) !important;
}
.bs-env .kt-inside-inner-col > p:last-child {
	margin-bottom: 0;
}
.bs-env .wp-block-kadence-column:last-of-type,
.bs-env .wp-block-kadence-column:last-of-type > .kt-inside-inner-col {
	position: relative;
	min-height: 100%;
	padding: 0;
}
.bs-env .wp-block-kadence-column:last-of-type .wp-block-image {
	position: absolute;
	inset: 0;
	margin: 0;
}
.bs-env .wp-block-kadence-column:last-of-type .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (max-width: 767px) {
	/* Mobil: Foto randlos, Text mit Seitenrand */
	body:has(.bs-hero) .entry-content > .bs-env.kb-row-layout-wrap > .kt-row-column-wrap {
		grid-template-columns: minmax(0, 1fr);
		padding-left: 0;
		padding-right: 0;
	}
	.bs-env .wp-block-kadence-column:last-of-type {
		order: -1;
		aspect-ratio: 4 / 3;
	}
	.bs-env .wp-block-kadence-column:first-of-type > .kt-inside-inner-col {
		padding: 56px 24px 72px;
	}
}

/* ==========================================================================
   Home v2 – Selected Work (.bs-work)
   ========================================================================== */
.bs-work.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-top: var(--bs-section-y);
	padding-bottom: var(--bs-section-y);
}
/* Kopf: Headline + Intro links, "All projects" rechts unten */
.bs-work.kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 48px;
	align-items: end;
}
.bs-work.kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-heading {
	grid-column: 1;
	margin: 0 0 12px;
	font-size: var(--bs-fs-display);
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.bs-work.kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > p:not(.bs-work__all) {
	grid-column: 1;
	max-width: 60ch;
	margin: 0;
	font-size: var(--bs-fs-lead);
	line-height: 1.55;
	color: var(--global-palette5);
}
.bs-work .bs-work__all {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: end;
	margin: 0;
	font-weight: 600;
	white-space: nowrap;
}
.bs-work .bs-work__all a {
	color: var(--global-palette1);
	text-decoration: none;
}
.bs-work .bs-work__all a span {
	display: inline-block;
	margin-left: 4px;
	transition: transform 0.25s ease;
}
.bs-work .bs-work__all a:hover span,
.bs-work .bs-work__all a:focus-visible span {
	transform: translateX(4px);
}
.bs-work .bs-work__grid {
	grid-column: 1 / -1;
	margin-top: 48px;
}
.bs-work__grid.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-left: 0;
	padding-right: 0;
	row-gap: 40px;
}
.bs-work__grid .wp-block-kadence-column > .kt-inside-inner-col {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-align: left;
}
.bs-work .bs-work__img {
	margin: 0 0 20px;
	overflow: hidden;
	border-radius: 6px;
}
.bs-work .bs-work__img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.bs-work__grid .wp-block-heading {
	margin: 0 0 6px;
	font-size: var(--bs-fs-title);
	line-height: 1.3;
	letter-spacing: -0.01em;
}
.bs-work .bs-work__role {
	margin: 0;
	font-size: var(--bs-fs-small);
	color: var(--global-palette6);
}
@media (max-width: 1024px) {
	.bs-work__grid.kb-row-layout-wrap > .kt-row-column-wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	.bs-work.kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
		grid-template-columns: minmax(0, 1fr);
	}
	.bs-work .bs-work__all {
		grid-column: 1;
		grid-row: auto;
		margin-top: 16px;
	}
	.bs-work .bs-work__grid {
		margin-top: 36px;
	}
	.bs-work__grid.kb-row-layout-wrap > .kt-row-column-wrap {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 32px;
	}
}

/* ==========================================================================
   Home v2 – Kontakt-Abschluss (.bs-contact) inkl. Kadence-Formular
   ========================================================================== */
.bs-contact.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-top: var(--bs-section-y);
	padding-bottom: var(--bs-section-y);
	column-gap: 64px;
	row-gap: 40px;
}
.bs-contact .wp-block-heading {
	margin: 0;
	font-size: var(--bs-fs-display);
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.bs-contact__accent {
	display: block;
	color: var(--global-palette1);
}
.bs-contact .kb-advanced-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 20px;
	row-gap: 20px;
}
.bs-contact .kb-advanced-form > * {
	grid-column: 1 / -1;
}
/* Name + E-Mail nebeneinander */
.bs-contact .kb-advanced-form > .wp-block-kadence-advanced-form-text,
.bs-contact .kb-advanced-form > .wp-block-kadence-advanced-form-email {
	grid-column: auto;
}
.bs-contact .kb-advanced-form .kb-adv-form-field {
	margin: 0;
}
.bs-contact .kb-advanced-form label,
.bs-contact .kb-advanced-form .kb-adv-form-label {
	display: block;
	margin-bottom: 6px;
	font-size: var(--bs-fs-small);
	font-weight: 600;
	color: var(--global-palette3);
}
.bs-contact .kb-advanced-form input[type="text"],
.bs-contact .kb-advanced-form input[type="email"],
.bs-contact .kb-advanced-form textarea {
	width: 100%;
	padding: 13px 16px;
	border: 1px solid rgba(26, 32, 44, 0.18);
	border-radius: 6px;
	background: var(--global-palette9);
	font-size: var(--bs-fs-body);
	color: var(--global-palette3);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.bs-contact .kb-advanced-form input:focus,
.bs-contact .kb-advanced-form textarea:focus {
	outline: none;
	border-color: var(--global-palette1);
	box-shadow: 0 0 0 3px rgba(43, 108, 176, 0.2);
}
.bs-contact .wp-block-kadence-advanced-form-accept label {
	display: inline;
	font-size: var(--bs-fs-small);
	font-weight: 400;
	color: var(--global-palette5);
}
.bs-contact .wp-block-kadence-advanced-form-accept fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}
.bs-contact .wp-block-kadence-advanced-form-accept .kb-radio-check-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.bs-contact .wp-block-kadence-advanced-form-accept input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 3px;
	accent-color: var(--global-palette1);
}
.bs-contact .wp-block-kadence-advanced-form-accept a {
	color: var(--global-palette1);
}
.bs-contact .kb-advanced-form .kb-adv-form-submit-button,
.bs-contact .kb-advanced-form button[type="submit"] {
	padding: 15px 30px;
	border: 2px solid var(--global-palette1);
	border-radius: 999px;
	background: var(--global-palette1);
	font-size: 1rem;
	font-weight: 600;
	color: var(--global-palette9);
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.bs-contact .kb-advanced-form .kb-adv-form-submit-button:hover,
.bs-contact .kb-advanced-form button[type="submit"]:hover,
.bs-contact .kb-advanced-form button[type="submit"]:focus-visible {
	background: var(--global-palette2);
	border-color: var(--global-palette2);
	transform: translateY(-1px);
}
@media (max-width: 767px) {
	.bs-contact .kb-advanced-form {
		grid-template-columns: minmax(0, 1fr);
	}
	.bs-contact .kb-advanced-form .kb-adv-form-submit-button,
	.bs-contact .kb-advanced-form button[type="submit"] {
		width: 100%;
	}
}

/* ==========================================================================
   Unterseiten (Service-Seiten) – Varianten der Startseiten-Module
   ========================================================================== */
.bs-hero--sub.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-bottom: clamp(56px, 9vh, 104px);
}
/* Headlines auf Dunkel (ohne Farb-Attribute im Block) */
.bs-workflow .wp-block-heading,
.bs-env:not(.bs-env--light) .wp-block-heading {
	color: var(--global-palette9);
}
.bs-workflow .wp-block-heading.bs-workflow__title {
	margin: 0 0 24px;
	font-size: var(--bs-fs-display);
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:first-of-type p {
	max-width: 46ch;
	margin: 0 0 16px;
	font-size: var(--bs-fs-body);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.72);
}
/* Split hell (weiß / hellgrau) */
.bs-env--light .wp-block-heading {
	color: var(--global-palette3);
}
.bs-env--light .kt-inside-inner-col > p {
	color: var(--global-palette5) !important;
}
/* Split gespiegelt: Bild links */
.bs-env--reverse .wp-block-kadence-column:last-of-type {
	order: -1;
}
.bs-env--reverse .wp-block-kadence-column:first-of-type > .kt-inside-inner-col {
	padding: var(--bs-section-y) 0 var(--bs-section-y) 64px;
}
/* Projektkarte ohne Bild */
.bs-work .bs-work__img--placeholder {
	aspect-ratio: 16 / 10;
	margin: 0 0 20px;
	border-radius: 6px;
	background: linear-gradient(135deg, var(--global-palette4) 0%, #0f1720 100%);
}
/* Kontakt mit Text links */
.bs-contact .kt-inside-inner-col > p {
	max-width: 46ch;
	margin: 16px 0 0;
	font-size: var(--bs-fs-body);
	line-height: 1.65;
	color: var(--global-palette5);
}
@media (max-width: 767px) {
	.bs-env--reverse .wp-block-kadence-column:first-of-type > .kt-inside-inner-col {
		padding: 56px 24px 72px;
	}
}
/* Faktenzeile (z. B. Lizenzen) unter einem Split-Text */
.bs-env .kt-inside-inner-col > p.bs-facts {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--bs-line);
	font-size: var(--bs-fs-small);
	line-height: 1.7;
}
.bs-env--light .kt-inside-inner-col > p.bs-facts {
	color: var(--global-palette4) !important;
}
.bs-env .bs-facts strong {
	color: var(--global-palette3);
}
/* mehrere Faktenzeilen: nur die erste mit Trennlinie */
.bs-env .kt-inside-inner-col > p.bs-facts + p.bs-facts {
	margin-top: 10px;
	padding-top: 0;
	border-top: 0;
}
/* Schritte mit mehreren Absätzen: enger Abstand innerhalb eines Schritts */
.bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type p:has(+ p) {
	margin-bottom: 12px;
}

/* Statement-Block mit hervorgehobenem Zitat (.bs-statement) */
.bs-statement.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-top: var(--bs-section-y);
	padding-bottom: var(--bs-section-y);
}
.bs-statement.kb-row-layout-wrap > .kt-row-column-wrap {
	column-gap: 64px;
	row-gap: 0;
}
.bs-statement .wp-block-heading {
	margin: 0 0 32px;
	font-size: var(--bs-fs-display);
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.bs-statement .bs-statement__quote {
	margin: 0;
	padding-left: 24px;
	border-left: 3px solid var(--global-palette1);
	font-size: clamp(1.375rem, 1.1rem + 1vw, 1.875rem);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.01em;
	color: var(--global-palette3);
}
.bs-statement .kt-inside-inner-col > p:not(.bs-statement__quote) {
	max-width: 60ch;
	margin: 0 0 16px;
	font-size: var(--bs-fs-body);
	line-height: 1.65;
	color: var(--global-palette5);
}

/* Projektliste ohne Bilder (.bs-work--list) */
.bs-work--list .bs-work__grid .wp-block-kadence-column > .kt-inside-inner-col {
	padding-top: 20px;
	border-top: 1px solid var(--bs-line);
}
/* Statement zweispaltig: rechte Spalte bündig mit der Headline, auf Mobil darunter */
.bs-statement .wp-block-kadence-column:last-of-type > .kt-inside-inner-col {
	padding-top: 10px;
}
@media (max-width: 1024px) {
	.bs-statement.kb-row-layout-wrap > .kt-row-column-wrap {
		row-gap: 32px;
	}
	.bs-statement .wp-block-kadence-column:last-of-type > .kt-inside-inner-col {
		padding-top: 0;
	}
}
/* Unterseiten-Hero: Verlauf höher ziehen, damit Eyebrow + Headline auch auf hellen Bildern lesbar bleiben */
.bs-hero--sub .kt-row-layout-overlay {
	background: linear-gradient(to top, rgba(26, 32, 44, 0.9) 0%, rgba(26, 32, 44, 0.65) 40%, rgba(26, 32, 44, 0.15) 80%, rgba(26, 32, 44, 0) 100%) !important;
}

/* ==========================================================================
   Header-Lesbarkeit über hellen Hero-Bildern (transparenter Header)
   ========================================================================== */
/* zusätzlicher Verlauf von oben (Startseite + Unterseiten) */
.bs-hero .kt-row-layout-overlay {
	background:
		linear-gradient(to bottom, rgba(26, 32, 44, 0.6) 0%, rgba(26, 32, 44, 0.25) 14%, rgba(26, 32, 44, 0) 28%),
		linear-gradient(to top, rgba(26, 32, 44, 0.88) 0%, rgba(26, 32, 44, 0.55) 30%, rgba(26, 32, 44, 0) 65%) !important;
}
.bs-hero--sub .kt-row-layout-overlay {
	background:
		linear-gradient(to bottom, rgba(26, 32, 44, 0.6) 0%, rgba(26, 32, 44, 0.25) 18%, rgba(26, 32, 44, 0) 36%),
		linear-gradient(to top, rgba(26, 32, 44, 0.9) 0%, rgba(26, 32, 44, 0.65) 40%, rgba(26, 32, 44, 0.15) 80%, rgba(26, 32, 44, 0) 100%) !important;
}
/* leichter Schatten auf Logo und Menü, solange der Header transparent über dem Bild liegt */
body:has(.bs-hero).transparent-header #masthead .site-header-row-container:not(.item-is-stuck) .site-branding img,
body:has(.bs-hero).transparent-header #mobile-header .site-header-row-container:not(.item-is-stuck) .site-branding img {
	filter: drop-shadow(0 1px 8px rgba(0, 0, 0, 0.35));
}
body:has(.bs-hero).transparent-header #masthead .site-header-row-container:not(.item-is-stuck) .main-navigation .primary-menu-container > ul > li > a,
body:has(.bs-hero).transparent-header #mobile-header .site-header-row-container:not(.item-is-stuck) .menu-toggle-open {
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
}
body:has(.bs-hero).transparent-header #mobile-header .site-header-row-container:not(.item-is-stuck) .menu-toggle-open {
	filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.5));
}
@media (max-width: 767px) {
	.bs-hero .kt-row-layout-overlay,
	.bs-hero--sub .kt-row-layout-overlay {
		background:
			linear-gradient(to bottom, rgba(26, 32, 44, 0.75) 0%, rgba(26, 32, 44, 0.35) 16%, rgba(26, 32, 44, 0) 30%),
			linear-gradient(to top, rgba(26, 32, 44, 0.9) 0%, rgba(26, 32, 44, 0.65) 45%, rgba(26, 32, 44, 0.15) 80%, rgba(26, 32, 44, 0) 100%) !important;
	}
}
/* Mobil: Burger-Icon im transparenten Header weiß (Kadence lässt es dunkelgrau) */
body:has(.bs-hero).transparent-header #mobile-header .menu-toggle-open,
body:has(.bs-hero).transparent-header #mobile-header .menu-toggle-open:hover {
	color: var(--global-palette9);
	filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.5));
}

/* Hauptmenü im transparenten Header (über Hero bzw. dunklem Sticky-Header):
   Kadence färbt aktiv/hover/fokus dunkel (#1A202C) – auf Bildern unlesbar.
   Stattdessen: immer weiß, Markierung als blaue Unterstreichung. */
body.transparent-header #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.transparent-header #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
body.transparent-header #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a:focus,
body.transparent-header #masthead .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a {
	color: var(--global-palette9);
}
/* Fokus nach Klick nicht dauerhaft hervorheben (nur Tastatur-Fokus zeigt die Linie) */
body.transparent-header #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a:focus:not(:focus-visible):not(:hover) {
	outline: none;
}

/* Markierung aktiv/hover: Kadences eigene Underline-Linie (::after) in Akzentblau statt Weiß */
body.transparent-header #masthead .header-navigation[class*="header-navigation-style-underline"] .header-menu-container > ul > li > a::after {
	background: var(--global-palette1);
}
/* Sprungmarken im Menü (z. B. Contact → #contact): Hover-Linie wie die anderen, aber nach dem Klick
   unterdrückt, bis die Maus den Link verlässt (Klasse .bs-hover-off per Skript in functions.php). */
#masthead .header-navigation .header-menu-container > ul > li > a.bs-hover-off::after {
	transform: scale(0, 0) translate(0, 0) !important;
}
/* Kadence markiert Sprungmarken per Skript als "current-menu-item", sobald der Hash in der URL steht.
   Für #-Links keine Aktiv-Linie – nur die Hover-Linie (außer direkt nach Klick/Laden, s. .bs-hover-off). */
#masthead .header-navigation[class*="header-navigation-style-underline"] .header-menu-container > ul > li.current-menu-item > a[href*="#"]::after {
	transform: scale(0, 0) translate(0, 0);
}
#masthead .header-navigation[class*="header-navigation-style-underline"] .header-menu-container > ul > li > a[href*="#"]:hover:not(.bs-hover-off)::after {
	transform: scale(1, 1) translate(50%, 0);
}
/* Scroll-Spy (Skript in functions.php): Sprungmarke aktiv → Linie an; aktuelle Seite → Linie aus */
#masthead .header-navigation[class*="header-navigation-style-underline"] .header-menu-container > ul > li > a.bs-anchor-active::after {
	transform: scale(1, 1) translate(50%, 0) !important;
}
#masthead .header-navigation[class*="header-navigation-style-underline"] .header-menu-container > ul > li > a.bs-current-off:not(:hover)::after {
	transform: scale(0, 0) translate(0, 0) !important;
}
/* aktuelle Seite (per URL erkannt) zeigt ihre Linie, solange keine Sprungmarke aktiv ist */
#masthead .header-navigation[class*="header-navigation-style-underline"] .header-menu-container > ul > li > a[aria-current="page"]:not([href*="#"]):not(.bs-current-off)::after {
	transform: scale(1, 1) translate(50%, 0);
}

/* ==========================================================================
   Rechtstexte (GDPR): dunkler Kopf ohne Bild, Inhaltsverzeichnis links (sticky), Text rechts
   ========================================================================== */
.bs-hero--plain.kb-row-layout-wrap {
	background-color: #0f1720;
}
.bs-legal.kb-row-layout-wrap > .kt-row-column-wrap {
	column-gap: clamp(32px, 5vw, 80px);
}
.bs-legal .wp-block-kadence-column:first-of-type > .kt-inside-inner-col {
	position: sticky;
	top: var(--bs-sticky-top);
}
.bs-legal .bs-legal__toc-title {
	margin: 0 0 12px;
	font-size: var(--bs-fs-small);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--global-palette5);
}
.bs-legal ul.bs-legal__toc {
	margin: 0;
	padding: 0;
	list-style: none;
	border-left: 1px solid var(--bs-line);
}
.bs-legal .bs-legal__toc li {
	margin: 0;
}
.bs-legal .bs-legal__toc a {
	display: block;
	padding: 5px 0 5px 16px;
	font-size: var(--bs-fs-small);
	line-height: 1.4;
	color: var(--global-palette4);
	text-decoration: none;
}
.bs-legal .bs-legal__toc a:hover {
	color: var(--global-palette1);
}
.bs-legal .wp-block-kadence-column:last-of-type .wp-block-heading {
	margin: 56px 0 16px;
	font-size: var(--bs-fs-title);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--global-palette3);
	scroll-margin-top: var(--bs-sticky-top);
}
.bs-legal .wp-block-kadence-column:last-of-type .wp-block-heading:first-child {
	margin-top: 0;
}
.bs-legal .wp-block-kadence-column:last-of-type p,
.bs-legal .wp-block-kadence-column:last-of-type li {
	max-width: 72ch;
	font-size: var(--bs-fs-body);
	line-height: 1.7;
	color: var(--global-palette4);
}
.bs-legal .wp-block-kadence-column:last-of-type p {
	margin: 0 0 16px;
}
.bs-legal .wp-block-kadence-column:last-of-type ul {
	margin: 0 0 16px;
	padding-left: 1.2em;
}
.bs-legal .wp-block-kadence-column:last-of-type a {
	color: var(--global-palette1);
	overflow-wrap: anywhere;
}
@media (max-width: 1024px) {
	.bs-legal .wp-block-kadence-column:first-of-type > .kt-inside-inner-col {
		position: static;
	}
	.bs-legal .wp-block-kadence-column:first-of-type {
		margin-bottom: 40px;
	}
}

/* ==========================================================================
   About: Zeitleiste im dunklen Block (.bs-workflow--timeline) und Lizenzliste
   ========================================================================== */
.bs-workflow--timeline .bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type > .kt-inside-inner-col {
	padding-left: 0;
}
.bs-workflow--timeline .bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type p.bs-timeline__item {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 24px;
	margin: 0 !important;
	padding: 18px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: var(--bs-fs-body);
	line-height: 1.5;
}
.bs-workflow--timeline p.bs-timeline__item:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.bs-timeline__year {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var(--global-palette1);
}
.bs-timeline__text strong {
	font-weight: 600;
	color: var(--global-palette9);
}
@media (max-width: 767px) {
	.bs-workflow--timeline .bs-workflow__grid > .kt-row-column-wrap > .wp-block-kadence-column:last-of-type p.bs-timeline__item {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
	}
}
.bs-licences ul.bs-licences__list {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}
.bs-licences .bs-licences__list li {
	padding: 12px 0;
	border-top: 1px solid var(--bs-line);
	font-size: var(--bs-fs-body);
	line-height: 1.5;
	color: var(--global-palette3);
}
.bs-licences .bs-licences__list li:last-child {
	border-bottom: 1px solid var(--bs-line);
}

/* Sticky-Abstand unter dem fixierten Header (104px) + Luft; eingeloggt kommt die Admin-Leiste (32px) dazu */
:root {
	--bs-sticky-top: 152px;
}
body.admin-bar {
	--bs-sticky-top: 184px;
}

/* About: "Who I work with" – Vorteils-Leiste verschachtelt unter Headline + Intro */
.bs-audience.kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > p {
	max-width: 60ch;
	font-size: var(--bs-fs-lead);
	line-height: 1.6;
	color: var(--global-palette4);
}
.bs-audience .bs-benefits--nested.kb-row-layout-wrap {
	margin-top: 48px;
}
.bs-audience .bs-benefits--nested.kb-row-layout-wrap > .kt-row-column-wrap {
	padding: 0;
}
.bs-audience .bs-benefits--nested .wp-block-heading {
	white-space: normal;
}

/* ==========================================================================
   References: Gruppen mit Titel links und zweispaltiger Liste rechts (.bs-refs)
   ========================================================================== */
.bs-refs .bs-refs__group.kb-row-layout-wrap {
	border-top: 1px solid var(--bs-line);
}
.bs-refs .bs-refs__group.kb-row-layout-wrap > .kt-row-column-wrap {
	padding: 48px 0;
	column-gap: clamp(32px, 5vw, 80px);
}
.bs-refs .bs-refs__group:last-of-type.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-bottom: 0;
}
.bs-refs .bs-refs__group:first-of-type.kb-row-layout-wrap {
	border-top: 0;
}
.bs-refs .bs-refs__group:first-of-type.kb-row-layout-wrap > .kt-row-column-wrap {
	padding-top: 0;
}
.bs-refs .bs-refs__group .wp-block-heading {
	margin: 0 0 8px;
	font-size: var(--bs-fs-title);
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--global-palette3);
}
.bs-refs .bs-refs__sub {
	margin: 0;
	max-width: 32ch;
	font-size: var(--bs-fs-small);
	line-height: 1.6;
	color: var(--global-palette5);
}
.bs-refs ul.bs-refs__list {
	margin: 0;
	padding: 0;
	list-style: none;
	columns: 2;
	column-gap: 40px;
}
.bs-refs .bs-refs__list li {
	break-inside: avoid;
	padding: 10px 0;
	border-bottom: 1px solid var(--bs-line);
	font-size: var(--bs-fs-body);
	line-height: 1.45;
	color: var(--global-palette3);
}
@media (max-width: 767px) {
	.bs-refs ul.bs-refs__list {
		columns: 1;
	}
	.bs-refs .bs-refs__group .wp-block-kadence-column:first-of-type {
		margin-bottom: 20px;
	}
}

/* ==========================================================================
   Photography: Auszeichnungen (Mirabaud) als Liste im hellen Split (.bs-awards)
   ========================================================================== */
.bs-awards .kt-inside-inner-col > p.bs-award {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 16px;
	margin: 0 !important;
	padding: 16px 0;
	border-top: 1px solid var(--bs-line);
	font-size: var(--bs-fs-small);
	line-height: 1.6;
}
.bs-awards .kt-inside-inner-col > p.bs-award:last-child {
	border-bottom: 1px solid var(--bs-line);
}
.bs-award__year {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--global-palette1);
}
.bs-award__text strong {
	font-size: var(--bs-fs-body);
	color: var(--global-palette3);
}

/* ==========================================================================
   Projekte: Übersicht + Bündelseiten (.bs-work--list) – Karten mit Jahr, Titel, Video-Link
   ========================================================================== */
.bs-work .bs-work__year {
	margin: 0 0 6px;
	font-size: var(--bs-fs-small);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--global-palette1);
}
.bs-work .bs-work__video,
.bs-work .bs-work__videos {
	margin: 10px 0 0;
	font-size: var(--bs-fs-small);
	font-weight: 600;
}
.bs-work .bs-work__videos {
	grid-column: 1 / -1;
	margin-top: 16px;
}
.bs-work .bs-work__video a,
.bs-work .bs-work__videos a {
	color: var(--global-palette1);
	text-decoration: none;
}
.bs-work .bs-work__video a:hover,
.bs-work .bs-work__videos a:hover {
	text-decoration: underline;
}
/* Übersicht: ganze Karte klickbar, Bild-Zoom beim Hover */
.bs-work .bs-work__card {
	position: relative;
}
.bs-work .bs-work__link {
	color: inherit;
	text-decoration: none;
}
.bs-work .bs-work__link::after {
	content: "";
	position: absolute;
	inset: 0;
}
.bs-work .bs-work__card .bs-work__img img {
	transition: transform 0.5s ease;
}
.bs-work .bs-work__card:hover .bs-work__img img {
	transform: scale(1.04);
}
.bs-work .bs-work__card:hover .bs-work__link {
	color: var(--global-palette1);
}
.bs-statement .bs-project__facts {
	margin-top: 24px !important;
	padding-top: 16px;
	border-top: 1px solid var(--bs-line);
	font-size: var(--bs-fs-small) !important;
}

/* ==========================================================================
   Imprint: einspaltiger Rechtstext (.bs-legal--single) / 404: Linkliste (.bs-linklist)
   ========================================================================== */
.bs-legal--single .wp-block-kadence-column:first-of-type > .kt-inside-inner-col {
	position: static;
	max-width: 72ch;
}
.bs-statement ul.bs-linklist {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}
.bs-statement .bs-linklist li {
	border-top: 1px solid var(--bs-line);
	font-size: var(--bs-fs-body);
}
.bs-statement .bs-linklist li:last-child {
	border-bottom: 1px solid var(--bs-line);
}
.bs-statement .bs-linklist a {
	display: flex;
	justify-content: space-between;
	padding: 14px 0;
	font-weight: 600;
	color: var(--global-palette3);
	text-decoration: none;
}
.bs-statement .bs-linklist a::after {
	content: "→";
	color: var(--global-palette1);
	transition: transform 0.25s ease;
}
.bs-statement .bs-linklist a:hover {
	color: var(--global-palette1);
}
.bs-statement .bs-linklist a:hover::after {
	transform: translateX(4px);
}

/* AGB/GTC: nummerierte Punkte im Rechtstext, Hinweis zur Übersetzung */
.bs-legal--terms .wp-block-kadence-column:last-of-type ol {
	margin: 0 0 16px;
	padding-left: 1.4em;
}
.bs-legal--terms .wp-block-kadence-column:last-of-type li {
	margin-bottom: 10px;
}
.bs-legal--terms .wp-block-kadence-column:last-of-type li > ol,
.bs-legal--terms .wp-block-kadence-column:last-of-type li > ul {
	margin: 10px 0 0;
}
.bs-legal .bs-legal__note {
	margin-bottom: 40px !important;
	padding: 16px 20px;
	border-left: 3px solid var(--global-palette1);
	background: var(--global-palette7);
	font-size: var(--bs-fs-small) !important;
}
.bs-legal--terms .wp-block-kadence-column:last-of-type ol[type="a"] {
	list-style-type: lower-alpha;
}

/* Zusatz unter einer Überschrift, z. B. früherer Name eines Awards */
.wp-block-heading .bs-heading__former {
	display: block;
	margin-top: 8px;
	font-size: var(--bs-fs-small);
	font-weight: 500;
	letter-spacing: 0;
	color: var(--global-palette5);
}

/* Bildcredits fremder Fotografen: klein unten rechts im Bild bzw. im Hero */
.entry-content .wp-block-image:has(> .bs-credit) {
	position: relative;
}
.entry-content .wp-block-image figcaption.bs-credit {
	position: absolute;
	right: 8px;
	bottom: 8px;
	margin: 0;
	padding: 2px 6px;
	border-radius: 3px;
	background: rgba(15, 23, 32, 0.55);
	font-size: 11px;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.9);
}
.bs-hero.kb-row-layout-wrap {
	position: relative;
}
.bs-hero p.bs-hero__credit {
	position: absolute;
	right: 24px;
	bottom: 16px;
	margin: 0;
	font-size: 11px !important;
	letter-spacing: 0;
	color: rgba(255, 255, 255, 0.7);
}

/* Sprachumschalter im Hauptmenü */
.header-navigation .bs-lang > a { font-size: .8em; letter-spacing: .08em; opacity: .75; }
.header-navigation .bs-lang > a:hover,
.header-navigation .bs-lang > a:focus-visible { opacity: 1; }

/* Drohne › Regelkonformität: Boot mittig im Hochformat-Ausschnitt */
.bs-env .kadence-column4059_bscomp-03 .wp-block-image img { object-position: 68% 50%; }

/* ==========================================================================
   Footer (global, alle Seiten): dunkel, Kanten wie der Header
   ========================================================================== */
/* Footer an dieselbe Kante, letzte Spalte rechtsbündig */
body #colophon .site-container {
	max-width: calc(var(--global-content-width, 1290px) + 2 * var(--global-content-edge-padding, 24px));
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 1025px) {
	body #colophon .site-footer-row .site-footer-section:last-child {
		justify-content: flex-end;
	}
}
/* Tablet/Mobil: Footer linksbündig untereinander */
@media (max-width: 1024px) {
	body #colophon .site-bottom-footer-inner-wrap {
		row-gap: 16px;
	}
	body #colophon .site-footer-section {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		row-gap: 14px;
	}
	body #colophon .site-footer-section:not(:has(*)) {
		display: none;
	}
	body #colophon .site-footer-section > *,
	body #colophon .footer-navigation .footer-menu-container > ul,
	body #colophon .footer-social-inner-wrap {
		justify-content: flex-start;
		text-align: left;
		margin-left: 0;
	}
	body #colophon .footer-navigation .footer-menu-container > ul > li > a {
		padding-left: 0;
	}
}
/* Footer: leere Mittelspalte weg, rechte Spalte so breit wie ihr Inhalt (sonst Umbruch von Menü/Icons) */
@media (min-width: 1025px) {
	body #colophon .site-bottom-footer-inner-wrap {
		grid-template-columns: minmax(0, 1fr) max-content;
		column-gap: 32px;
	}
	body #colophon .site-bottom-footer-inner-wrap > .site-footer-section:not(:has(*)) {
		display: none;
	}
}

/* ==========================================================================
   Footer dunkel
   ========================================================================== */
body #colophon {
	background: #0f1720;
	color: rgba(255, 255, 255, 0.6);
}
body #colophon .site-bottom-footer-wrap,
body #colophon .site-footer-row-container-inner {
	background: transparent;
	border-top: 0;
}
body #colophon .site-bottom-footer-inner-wrap {
	padding-top: 40px;
	padding-bottom: 40px;
	align-items: center;
}
body #colophon .site-info,
body #colophon .site-info * {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.9375rem;
}
body #colophon .footer-navigation .footer-menu-container > ul > li > a,
body #colophon .footer-social-wrap a,
body #colophon .social-button {
	color: rgba(255, 255, 255, 0.82);
	background: transparent;
	border-color: rgba(255, 255, 255, 0.25);
	font-size: 0.9375rem;
	transition: color 0.2s ease, border-color 0.2s ease;
}
body #colophon .footer-navigation .footer-menu-container > ul > li > a:hover,
body #colophon .footer-navigation .footer-menu-container > ul > li > a:focus-visible,
body #colophon .footer-social-wrap a:hover,
body #colophon .footer-social-wrap a:focus-visible {
	color: var(--global-palette9);
	border-color: var(--global-palette9);
}
body #colophon .footer-social-wrap svg {
	fill: currentColor;
}
/* aktive Seite im Footer-Menü */
body #colophon .footer-navigation .footer-menu-container > ul > li.current-menu-item > a,
body #colophon .footer-navigation .footer-menu-container > ul > li > a[aria-current="page"] {
	color: var(--global-palette9);
}

/* ==========================================================================
   Cookie-Banner (Complianz) – schmale Leiste über die volle Breite, im Dunkel des Footers.
   Accept/Deny gleich groß und gut sichtbar (Vorgabe der Datenschutzbehörden).
   ========================================================================== */
body .cmplz-cookiebanner {
	--cmplz_banner_background_color: #0f1720;
	--cmplz_banner_border_color: transparent;
	--cmplz_text_color: rgba(255, 255, 255, 0.72);
	--cmplz_hyperlink_color: #ffffff;
	--cmplz_text_font_size: 13px;
	--cmplz_link_font_size: 12px;
	--cmplz_button_font_size: 14px;
	--cmplz_button_border_radius: 999px;
	--cmplz_button_accept_background_color: var(--global-palette1);
	--cmplz_button_accept_border_color: var(--global-palette1);
	--cmplz_button_accept_text_color: #ffffff;
	--cmplz_button_deny_background_color: transparent;
	--cmplz_button_deny_border_color: rgba(255, 255, 255, 0.85);
	--cmplz_button_deny_text_color: #ffffff;
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: transparent;
	--cmplz_button_settings_text_color: rgba(255, 255, 255, 0.8);
	--cmplz_slider_active_color: var(--global-palette1);
	--cmplz_category_header_always_active_color: var(--global-palette1);
	position: fixed;
	top: auto !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
	border-radius: 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	box-shadow: 0 -8px 30px rgba(15, 23, 32, 0.25) !important;
	padding: 16px max(24px, calc((100% - var(--global-content-width, 1290px)) / 2)) !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	grid-template-areas: "body buttons" "links buttons" !important;
	column-gap: 40px !important;
	row-gap: 4px !important;
	align-items: center !important;
	font-family: inherit;
}
/* dezent: kein Titel, kein Schließen-X, keine Trennlinien (Ablehnen ist als Button da) */
body .cmplz-cookiebanner .cmplz-header,
body .cmplz-cookiebanner .cmplz-divider {
	display: none !important;
}
body .cmplz-cookiebanner .cmplz-body {
	grid-area: body;
	width: auto !important;
	max-width: none !important;
	max-height: none;
	margin: 0;
}
body .cmplz-cookiebanner .cmplz-message {
	width: auto !important;
	max-width: 860px !important;
	margin: 0 !important;
	line-height: 1.55;
}
body .cmplz-cookiebanner .cmplz-links.cmplz-documents {
	grid-area: links;
	justify-content: flex-start;
	margin: 0;
}
body .cmplz-cookiebanner .cmplz-links.cmplz-documents ul {
	justify-content: flex-start;
	gap: 0 16px;
	margin: 0;
}
body .cmplz-cookiebanner .cmplz-links a {
	text-decoration: underline;
	text-underline-offset: 2px;
	opacity: 0.85;
}
body .cmplz-cookiebanner .cmplz-buttons {
	grid-area: buttons;
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 10px;
	margin: 0;
}
body .cmplz-cookiebanner .cmplz-btn {
	width: auto !important;
	min-width: 116px;
	height: 42px;
	padding: 0 22px;
	border-width: 1.5px;
	font-weight: 600;
	white-space: nowrap;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
	background-color: var(--global-palette2);
	border-color: var(--global-palette2);
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover {
	background-color: #ffffff;
	color: var(--global-palette3);
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
body .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	min-width: 0;
	padding: 0 6px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	border-color: rgba(255, 255, 255, 0.85);
	padding: 0 22px;
	text-decoration: none;
	color: #ffffff;
}
/* Einstellungen (Kategorien) auf Dunkel lesbar */
body .cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background: rgba(255, 255, 255, 0.06);
}
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-title,
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-always-active,
body .cmplz-cookiebanner .cmplz-categories .cmplz-description {
	color: rgba(255, 255, 255, 0.85);
}
body .cmplz-manage-consent {
	font-family: inherit;
	background: #0f1720;
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.15);
}
@media (max-width: 1024px) {
	body .cmplz-cookiebanner {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-areas: "body" "buttons" "links" !important;
		row-gap: 12px !important;
	}
}
@media (max-width: 767px) {
	body .cmplz-cookiebanner {
		padding: 14px 16px calc(14px + env(safe-area-inset-bottom)) !important;
		row-gap: 10px !important;
	}
	body .cmplz-cookiebanner .cmplz-message {
		font-size: 12.5px;
		max-height: 92px;
		overflow-y: auto;
	}
	body .cmplz-cookiebanner .cmplz-buttons {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}
	body .cmplz-cookiebanner .cmplz-btn {
		width: 100% !important;
		min-width: 0;
	}
	body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
	body .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
		grid-column: 1 / -1;
		height: 32px;
	}
}

/* Hintergrundvideo ohne Einwilligung: lokales Standbild statt Hinweis-Kasten */
.bs-hero .cmplz-blocked-content-notice {
	display: none !important;
}
