.no-finish {
	color: red !important;
}

:root {
	--nav-bg: #6d1a34;
	--nav-border: rgba(0, 0, 0, 0.08);
	--text-dark: #28201a;
	--text-mid: #6b6b5e;
	--text-light: #9a9890;
	--sage: #6b8c6b;
	--sage-light: #e8f0e8;
	--sage-dark: #4a6b4a;
	--accent: #5a7a3a;
	--cream: #F7F2E1;
	--book: #c17a52;
	--book-dark: #a9663f;
	--drop-shadow: 0 8px 32px rgba(0, 0, 0, 0.10);
}

/* TOP-BAR */
#header-topbar {
	background: var(--sage);
	padding: 6px 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 11px;
	letter-spacing: .03em;
	color: rgba(255, 255, 255, .85);
}

.topbar-item {
	display: flex;
	align-items: center;
	gap: 6px;
}

.topbar-item a {
	color: rgba(255, 255, 255, .85);
	text-decoration: none;
	transition: color .15s;
}

.topbar-item a:hover {
	color: #fff;
}

.topbar-sep {
	color: rgba(255, 255, 255, .35);
	padding: 0 6px;
}

/* MAIN NAV */

#main-nav {
	background: var(--nav-bg);
	position: relative;
	z-index: 100;
	transition: box-shadow .2s;
  
  position: fixed  !important;
  top: 0px !important;
  width: 100%  !important;
}

.nav-dropdown-overlay {
	position: fixed;
	top: var(--nav-overlay-top, 73px);
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	background: rgba(25, 16, 20, .42);
	backdrop-filter: blur(2px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .18s ease;
}

body.nav-dropdown-active .nav-dropdown-overlay {
	opacity: 1;
	pointer-events: auto;
}

@supports selector(body:has(#main-nav .nav-item:hover > .dropdown)) {
	body:has(#main-nav .nav-item:hover > .dropdown) .nav-dropdown-overlay,
	body:has(#main-nav .nav-item:focus-within > .dropdown) .nav-dropdown-overlay {
		opacity: 1;
		pointer-events: auto;
	}
}

.nav-inner {
	max-width: calc(100% - 50px);
	margin: 0 auto;
	padding: 0 40px;
	display: flex;
	align-items: center;
	height: 70px;
	position: relative;
	z-index: 3;
}

/* LOGO */
.nav-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	margin-right: 36px;
	flex-shrink: 0;
}

.nav-logo img {
	height: 2.8rem;
}

.logo-mark {
	width: 36px;
	height: 36px;
	background: var(--sage);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.logo-mark svg {
	width: 20px;
	height: 20px;
}

.l1 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 15px;
	color: #fff;
	display: block;
}

.l2 {
	font-size: 10px;
	letter-spacing: .12em;
	color: rgba(255, 255, 255, 0.55);
	text-transform: uppercase;
	display: block;
}

/* NAV LINKS */

.nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
  padding-top: 5px;
}

.nav-item {
	position: relative;
	height: 70px;
	display: flex;
	align-items: center;
}

.nav-item > button,
.nav-item > a.plain-link {
	background: none;
	border: none;
	cursor: pointer;
	font-family: 'DM Sans', sans-serif;
	font-size: 17px;
	color: rgba(255, 255, 255, 0.8);
	padding: 0 13px;
	height: 100%;
	display: flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
	transition: color .15s;
	white-space: nowrap;
	position: relative;
}

.nav-item > button,
.nav-item {
	font-size: 1rem;
	text-transform: uppercase;
}

.nav-item > button:hover,
.nav-item > a.plain-link:hover,
.nav-item.open > button {
	color: #fff;
}

.nav-item.active > button,
.nav-item.active > a.plain-link {
	color: #fff;
	font-weight: 500;
}

.indicator {
	position: absolute;
	bottom: 10px;
	left: 14px;
	right: 14px;
	height: 2px;
	background: var(--main-blue-color);
	border-radius: 2px 2px 0 0;
	transform: scaleX(0);
	transition: transform .2s;
}

.nav-item > button:hover .indicator,
.nav-item.open > button .indicator,
.nav-item.active > button .indicator,
.nav-item > a.plain-link:hover .indicator,
.nav-item.active > a.plain-link .indicator,
.nav-item:hover > button .indicator {
	transform: scaleX(1);
}

.chevron {
	width: 10px;
	height: 10px;
	flex-shrink: 0;
	transition: transform .2s;
}

.nav-item.open .chevron {
	transform: rotate(180deg);
}

.nav-item:hover > .button .chevron,
.nav-item:hover > button .chevron {
	transform: rotate(180deg);
}

/* DROPDOWN */
.dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	border-radius: 0 0 10px 10px;
	box-shadow: var(--drop-shadow);
	border: 1px solid var(--nav-border);
	border-top: none;
	min-width: 210px;
	width: max-content;
	max-width: calc(100vw - 40px);
	display: none;
	overflow: hidden;
	animation: dropIn .18s ease;
	z-index: 4;
}

.nav-item.open .dropdown {
	display: block;
}

.nav-item:hover > .dropdown {
	display: block;
	animation: dropIn .18s ease;
}

.drop-link.buchingerfasten {
	border-left: 10px solid var(--color-buchinger);
}

.drop-link.basenfasten {
	border-left: 10px solid var(--color-basenfasten);
}

.drop-link.vitalfasten {
	border-left: 10px solid var(--color-vitalfasten);
}

@keyframes dropIn {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes megaDropIn {
	from {
		opacity: 0;
		transform: translate(-50%, -6px);
	}

	to {
		opacity: 1;
		transform: translate(-50%, 0);
	}
}

.simple-dropdown {
	padding: 8px 0;
}

.drop-link {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 20px;
	font-family: 'DM Sans', sans-serif;
	font-size: 13.5px;
	color: var(--text-dark);
	text-decoration: none;
	transition: background .12s, color .12s;
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
}

.drop-link:hover {
	background: var(--main-blue-color);
	color: white;
}

.drop-link:hover .dot {
	background: var(--accent);
}

/* MEGA */
.nav-item.has-mega {
	position: static;
}


.dropdown.mega {
	left: 50%;
  top: 73px;
	right: auto;
	width: 600px;
	max-width: calc(100vw - 50px);
	min-width: 0;
	box-sizing: border-box;
	padding: 18px 24px 24px;
	overflow-x: hidden;
	overflow-y: auto;
	max-height: calc(100vh - 110px);
	transform: translateX(-50%);
	animation: megaDropIn .18s ease;
}

.nav-item.open .dropdown.mega,
.nav-item:hover > .dropdown.mega {
	animation: megaDropIn .18s ease;
}

.dropdown.mega .drop-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 0 16px;
	max-width: 100%;
	margin: 0 auto;
}

.dropdown.mega .drop-col {
	padding: 20px 0;
	min-width: 0;
}

.dropdown.mega .drop-col-separated {
	border-left: 1px solid var(--nav-border);
}

.dropdown.mega .drop-col-title:last-child {
	border-left: 0;
}

.dropdown.mega .drop-col-title {
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: black;
	padding: 10px 20px;
	background: var(--border);
	margin: -20px 0 5px;
}

.dropdown.mega .drop-link {
	border-radius: 6px;
	line-height: 1.25;
	white-space: normal;
}


.mega-html {
	max-width: 600px;
	margin: 14px auto 0;
	padding: 18px 0 0;
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
	line-height: 1.45;
	color: var(--text-dark);
  margin-top: -30px;
}

.mega-html :where(p, ul, ol, h2, h3, h4) {
	margin-top: 0;
}

.mega-html :where(a) {
	color: var(--accent);
	font-weight: 700;
	text-decoration: none;
}

.mega-html :where(a:hover) {
	color: var(--sage-dark);
	text-decoration: underline;
}

.mega-snippet {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	background: var(--cream);
	border-radius: 12px;
}

.mega-snippet strong,
.mega-snippet span {
	display: block;
}

.mega-snippet strong {
	font-size: 15px;
	color: var(--text-dark);
}

.mega-snippet span {
	margin-top: 3px;
	color: var(--text-mid);
}

.mega-snippet a {
	flex-shrink: 0;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--main-blue-color);
	color: #fff;
	white-space: nowrap;
}

.mega-snippet a:hover {
	background: var(--main-blue-color2);
	color: #fff;
	text-decoration: none;
}

/* MEGA WORKSHOPS */
.mega-workshops {
	max-width: 600px;
	margin: 0 auto;
	font-family: 'DM Sans', sans-serif;
}

.mega-workshops-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.mega-workshops-head strong,
.mega-workshops-head span {
	display: block;
}

.mega-workshops-head strong {
	font-family: var(--serif, 'Cormorant Garamond', serif);
	font-size: 16px;
	line-height: 1.15;
	color: var(--navy, var(--text-dark));
}

.mega-workshops-head span {
	margin-top: 4px;
	font-size: 13px;
	font-weight: 400;
	color: var(--text-mid);
}

.mega-workshops-all {
	flex-shrink: 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--accent);
	text-decoration: none;
	white-space: nowrap;
}

.mega-workshops-all:hover {
	color: var(--sage-dark);
	text-decoration: underline;
}

.mega-workshops-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.mega-workshop-card {
	position: relative;
	display: block;
	min-width: 0;
	min-height: 150px;
	border-radius: 10px;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	background: var(--text-dark);
	box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
	transition: transform .18s ease, box-shadow .18s ease;
}

.mega-workshop-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .14);
	color: #fff;
	text-decoration: none;
}

.mega-workshop-card__img {
	position: absolute;
	inset: 0;
	display: block;
	height: 100%;
	overflow: hidden;
	background: var(--cream);
}

.mega-workshop-card__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .25s ease;
}

.mega-workshop-card:hover .mega-workshop-card__img img {
	transform: scale(1.06);
}

.mega-workshop-card__body {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: 150px;
	flex-direction: column;
	justify-content: flex-end;
	padding: 14px;
	background: linear-gradient(180deg, rgba(0, 0, 0, .08) 0%, rgba(0, 0, 0, .72) 100%);
}

.mega-workshop-card__body strong {
	font-family: var(--serif, 'Cormorant Garamond', serif);
	font-size: 15px;
	line-height: 1.25;
	font-weight: 600;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}

.mega-workshop-card__body span {
	display: block;
	margin-top: 6px;
	font-size: 11px;
	line-height: 1.35;
	font-weight: 400;
	color: rgba(255, 255, 255, .9);
}

.mega-workshop-card__body em {
	display: inline-block;
	margin-top: 8px;
	font-style: normal;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
}

@supports selector(.nav-item:has(> .dropdown.mega)) {
	.nav-item:has(> .dropdown.mega) {
		position: static;
	}
}

.drop-card {
	margin: 16px;
	background: var(--sage-light);
	border-radius: 8px;
	padding: 14px 16px;
}

.dc-label {
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--sage-dark);
	margin-bottom: 4px;
}

.dc-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 14px;
	color: var(--text-dark);
	margin-bottom: 8px;
	line-height: 1.4;
}

.drop-card a {
	font-size: 11px;
	color: var(--accent);
	font-weight: 500;
	text-decoration: none;
}

.drop-card a:hover {
	color: var(--sage-dark);
}

/* CTA */
.nav-cta {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	padding-left: 16px;
}

.btn-ghost {
	font-size: 12.5px;
	color: var(--text-mid);
	padding: 7px 14px;
	border: 1px solid var(--nav-border);
	border-radius: 20px;
	background: none;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	transition: all .15s;
	white-space: nowrap;
}

.btn-ghost:hover {
	border-color: var(--sage);
	color: var(--sage-dark);
	background: var(--sage-light);
}

/* BUCHEN-BUTTON (Nav rechts) */

.btn-book {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	background: var(--main-blue-color);
  padding: 5px 14px;
	border-radius: 999px;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 8px 20px -8px rgba(193, 122, 82, .75);
	transition: background .15s, transform .15s, box-shadow .15s;
  text-transform: uppercase;
}

.btn-book:hover {
	background: var(--main-blue-color2);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 12px 24px -8px rgba(193, 122, 82, .85);
}

.btn-book:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

/* HAMBURGER */
.mobile-toggle {
	display: none;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 8px;
	cursor: pointer;
	padding: 9px;
	margin-left: auto;
	flex-direction: column;
	gap: 5px;
	position: relative;
	z-index: 1002;
}

.mobile-toggle span {
	display: block;
	width: 24px;
	height: 2px;
	background: #fff;
	border-radius: 2px;
	transition: transform .25s ease, opacity .2s ease;
}

.mobile-toggle.open span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.mobile-toggle.open span:nth-child(2) {
	opacity: 0;
}

.mobile-toggle.open span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}



/* ============================================================
   Desktop Navigation: Menüpunkte wirklich mittig zentrieren
   Logo und CTA werden aus der Flex-Breite genommen, damit sie
   die optische Mitte der Navigation nicht verschieben.
   ============================================================ */
@media (min-width: 1025px) {
	.nav-inner {
		justify-content: center;
	}

	.nav-logo {
		position: absolute;
		left: 40px;
		top: 50%;
		transform: translateY(-50%);
		margin-right: 0;
		z-index: 2;
	}

	.nav-links {
		flex: 0 1 auto;
		width: auto;
		margin: 0 auto;
		justify-content: center;
	}

	.nav-cta {
		position: absolute;
		right: 40px;
		top: 50%;
		transform: translateY(-50%);
		margin-left: 0;
		padding-left: 0;
	}
}

/* MOBILE BASE */
#mobile-menu {
	display: none;
}

body.mobile-menu-open {
	overflow: hidden;
}

/* MOBILE */
@media (max-width: 1024px) {
   
	#header-topbar {
		display: none;
	}

	.nav-dropdown-overlay {
		display: none !important;
	}

	.mega-html {
		display: none !important;
	}

	/* !important nötig — überschreibt Theme-CSS */
	.nav-links,
	.nav-cta {
		display: none !important;
	}

	/* Altes WP-Theme select-Menü verstecken */
	#main-nav select,
	#main-nav .menu-toggle,
	#site-header select {
		display: none !important;
	}

	.mobile-toggle {
		display: flex !important;
	}

	.nav-inner {
		max-width: 100%;
		padding: 0 20px;
	}

	.nav-logo {
		margin-right: 0;
	}

	#mobile-menu {
		position: fixed;
		inset: 0;
		z-index: 1000;
		display: block;
		pointer-events: none;
		background: rgba(20, 12, 16, 0);
		transition: background .35s ease;
	}

	#mobile-menu.open {
		pointer-events: auto;
		background: rgba(20, 12, 16, .18);
		backdrop-filter: blur(4px);
	}

	.mobile-panel {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100vw;
		max-width: 100vw;
		height: 100vh;
		height: 100dvh;
		background:
			linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(247, 242, 225, .99)),
			#fff;
		border: none;
		border-radius: 0;
		box-shadow: 18px 0 48px rgba(0, 0, 0, .22);
		transform: translate3d(-100%, 0, 0);
		transition: transform .48s cubic-bezier(.16, 1, .3, 1);
		display: flex;
		flex-direction: column;
		overflow: hidden;
		will-change: transform;
		overscroll-behavior: contain;
	}

	#mobile-menu.open .mobile-panel {
		transform: translate3d(0, 0, 0);
	}

	.mobile-panel-head {
		min-height: 70px;
		padding: 0px 20px;
		background:
			radial-gradient(circle at top right, rgba(255, 255, 255, .18), transparent 34%),
			linear-gradient(135deg, var(--nav-bg), #4b1024);
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-shadow: 0 10px 26px rgba(0, 0, 0, .14);
	}

	.mobile-panel-logo {
		display: inline-flex;
		align-items: center;
		justify-content: flex-start;
		min-width: 0;
		text-decoration: none;
	}

	.mobile-panel-logo img {
		display: block;
		width: auto;
		height: 2.8rem;
		max-width: min(250px, calc(100vw - 96px));
		object-fit: contain;
	}

	.mobile-panel-close {
		position: relative;
		width: 38px;
		height: 38px;
		border: 1px solid rgba(255, 255, 255, .22);
		border-radius: 999px;
		background: rgba(255, 255, 255, .1);
		color: #fff;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		font-size: 0;
		line-height: 0;
		transition: background .18s ease, transform .18s ease;
	}

	.mobile-panel-close::before,
	.mobile-panel-close::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 20px;
		height: 3px;
		border-radius: 999px;
		background: currentColor;
		transform-origin: center;
	}

	.mobile-panel-close::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.mobile-panel-close::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.mobile-panel-close:hover {
		background: rgba(255, 255, 255, .18);
		transform: rotate(90deg);
	}

	.mobile-panel-list {
		padding: 12px 12px 18px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		flex: 1;
	}

	.mob-item {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		margin: 0 0 8px;
		padding: 15px 16px;
		font-family: 'DM Sans', sans-serif;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: .055em;
		text-transform: uppercase;
		color: var(--text-dark);
		text-decoration: none;
		background: rgba(255, 255, 255, .74);
		border: 1px solid rgba(0, 0, 0, .06);
		border-radius: 16px;
		cursor: pointer;
		text-align: left;
		box-shadow: 0 8px 22px rgba(0, 0, 0, .045);
		transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
	}

	.mob-item:hover,
	.mob-item.active-mob {
		background: #fff;
		color: var(--accent);
		transform: translateY(-1px);
		box-shadow: 0 12px 26px rgba(0, 0, 0, .08);
	}

	.mob-link {
		display: flex;
	}

	.mob-chevron {
		width: 9px;
		height: 9px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		transition: transform .22s ease;
		flex-shrink: 0;
		opacity: .7;
	}

	.mob-item.active-mob .mob-chevron {
		transform: rotate(225deg);
	}

	.mob-sub {
		display: none;
		margin: 0;
	}

	.mob-sub.open {
		display: grid;
		grid-template-rows: 1fr;
		margin: -4px 0 12px;
		background: rgba(255, 255, 255, .58);
		overflow: hidden;
		border: 1px solid rgba(0, 0, 0, .05);
		border-radius: 0 0 18px 18px;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
	}

	.mob-sub:not(.open) .mob-sub-inner {
		display: none;
	}

	.mob-sub-inner {
		min-height: 0;
		overflow: hidden;
		padding: 10px;
	}

	.mob-sub a,
	.mob-sub-title {
		animation: mobFadeIn .22s ease both;
	}

	.mob-sub a {
		display: flex;
		align-items: center;
		min-height: 40px;
		margin: 0 0 8px;
		padding: 12px 14px;
		font-family: 'DM Sans', sans-serif;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.35;
		color: var(--text-mid);
		text-decoration: none;
		position: relative;
		background: rgba(255, 255, 255, .78);
		border: 1px solid rgba(0, 0, 0, .055);
		border-radius: 14px;
		box-shadow: 0 6px 16px rgba(0, 0, 0, .035);
		transition: color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
	}

	.mob-sub a:last-child {
		margin-bottom: 0;
	}

	.mob-sub a::before {
		display: none;
	}

	.mob-sub a::after {
		content: "›";
		margin-left: auto;
		padding-left: 12px;
		font-size: 22px;
		line-height: 1;
		color: var(--sage);
		opacity: .8;
	}

	.mob-sub a:hover {
		color: var(--accent);
		background: #fff;
		transform: translateY(-1px);
		box-shadow: 0 10px 22px rgba(0, 0, 0, .07);
	}

	.mob-sub a.buchingerfasten {
		border-left: 6px solid var(--color-buchinger);
	}

	.mob-sub a.basenfasten {
		border-left: 6px solid var(--color-basenfasten);
	}

	.mob-sub a.vitalfasten {
		border-left: 6px solid var(--color-vitalfasten);
	}

	.mob-sub a.buchingerfasten,
	.mob-sub a.basenfasten,
	.mob-sub a.vitalfasten {
		padding-left: 16px;
	}

	.mob-sub-title {
		padding: 14px 22px 7px 42px;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: .1em;
		text-transform: uppercase;
		color: var(--sage-dark);
		background: rgba(107, 140, 107, .09);
	}

	.mob-cta {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		padding: 14px 14px max(18px, env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .94);
		border-top: 1px solid rgba(0, 0, 0, .08);
		box-shadow: 0 -10px 30px rgba(0, 0, 0, .08);
		backdrop-filter: blur(10px);
	}

	.mob-cta-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		min-height: 58px;
		padding: 10px 12px;
		border-radius: 18px;
		font-family: 'DM Sans', sans-serif;
		text-decoration: none;
		box-shadow: 0 10px 22px rgba(0, 0, 0, .12);
	}

	.mob-cta-btn strong,
	.mob-cta-btn small {
		display: block;
	}

	.mob-cta-btn strong {
		font-size: 14px;
		line-height: 1.1;
	}

	.mob-cta-btn small {
		margin-top: 3px;
		font-size: 10.5px;
		line-height: 1.15;
		opacity: .82;
	}

	.mob-cta-icon {
		width: 28px;
		height: 28px;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: rgba(255, 255, 255, .18);
		font-size: 15px;
		flex-shrink: 0;
	}

	.mob-cta-book {
		background: #5e87b6;
		color: #fff;
	}

	.mob-cta-call {
		background: var(--nav-bg);
		color: #fff;
	}

	@media (max-width: 380px) {
		.mob-cta {
			grid-template-columns: 1fr;
		}
	}

	/* Stagger-Delay kommt via --mob-delay aus dem JS */
	#mobile-menu.open .mob-item,
	#mobile-menu.open .mob-cta {
		animation: mobItemIn .32s ease both;
		animation-delay: var(--mob-delay, 0.04s);
	}

	#mobile-menu.open .mob-cta {
		animation-delay: .32s;
	}

	@keyframes mobItemIn {
		from {
			opacity: 0;
			transform: translateX(-18px);
		}

		to {
			opacity: 1;
			transform: translateX(0);
		}
	}

	@keyframes mobFadeIn {
		from {
			opacity: 0;
			transform: translateY(-4px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
}

/* ─────────────────────────────────────────────────────────
   FIXIERTE NAVIGATION (Variante b)
   Greift, sobald der Banner komplett durchgescrollt ist.
   Die Klassen werden im Banner-JS gesetzt (#site-header.is-fixed
   + body.nav-fixed). --nav-h liefert ebenfalls das Banner-JS.
───────────────────────────────────────────────────────── */

#site-header.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .18);
	//animation: navDropDown .28s ease;
}


@keyframes navDropDown {
	from { transform: translateY(-100%); }
	to   { transform: translateY(0); }
}

/* ============================================================
   Mobile Navigation: Listen-Layout statt Karten
   Version: 1.02
   ============================================================ */
@media (max-width: 1024px) {
	.mobile-panel {
		background:
			linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,242,225,.98) 100%),
			#fff;
	}

	.mobile-panel-head {
		min-height: 100px;
		padding: 0 36px;
		background: var(--nav-bg);
		box-shadow: none;
	}

	.mobile-panel-logo img {
		height: 3.3rem;
		max-width: min(270px, calc(100vw - 140px));
	}

	.mobile-panel-close {
		width: 54px;
		height: 54px;
		border: 2px solid rgba(255,255,255,.24);
		background: rgba(255,255,255,.12);
	}

	.mobile-panel-close::before,
	.mobile-panel-close::after {
		width: 27px;
		height: 3px;
	}

	.mobile-panel-list {
		padding: 14px 36px 104px;
		background: transparent;
	}

	.mob-item {
		min-height: 66px;
		margin: 0;
		padding: 0 6px;
		background: transparent;
		border: 0;
		border-bottom: 1px solid rgba(40,32,26,.13);
		border-radius: 0;
		box-shadow: none;
		font-size: clamp(16px, 2.4vw, 22px);
		font-weight: 800;
		letter-spacing: .055em;
		line-height: 1.15;
		color: var(--text-dark);
	}

	.mob-item:hover,
	.mob-item.active-mob {
		background: transparent;
		color: var(--text-dark);
		transform: none;
		box-shadow: none;
	}

	.mob-item.active-mob {
		color: var(--nav-bg);
	}

	.mob-chevron {
		width: 12px;
		height: 12px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		opacity: .42;
		transform: rotate(45deg);
	}

	.mob-link .mob-chevron {
		transform: rotate(-45deg);
	}

	.mob-item.active-mob .mob-chevron {
		transform: rotate(225deg);
	}

	.mob-sub.open {
		display: block;
		margin: 0;
		background: transparent;
		border: 0;
		border-bottom: 1px solid rgba(40,32,26,.13);
		border-radius: 0;
		box-shadow: none;
	}

	.mob-sub-inner {
		padding: 0 0 12px 0;
	}

	.mob-sub a {
		min-height: 40px;
		margin: 0;
		padding: 9px 6px 9px 16px;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		font-size: 14px;
		font-weight: 600;
		color: var(--text-mid);
	}

	.mob-sub a:hover {
		background: transparent;
		color: var(--nav-bg);
		transform: none;
		box-shadow: none;
	}

	.mob-sub a.buchingerfasten,
	.mob-sub a.basenfasten,
	.mob-sub a.vitalfasten {
		padding-left: 18px;
		border-left-width: 5px;
	}

	.mob-sub-title {
		padding: 12px 6px 6px;
		background: transparent;
		font-size: 11px;
		color: var(--nav-bg);
	}

	.mob-cta {
		gap: 12px;
		padding: 18px 36px max(18px, env(safe-area-inset-bottom));
		background: rgba(255,255,255,.96);
	}

	.mob-cta-btn {
		min-height: 74px;
		border-radius: 18px;
		justify-content: center;
		gap: 12px;
	}

	.mob-cta-btn strong {
		font-size: clamp(15px, 2.3vw, 19px);
		font-weight: 700;
	}

	.mob-cta-btn small {
		font-size: clamp(11px, 1.8vw, 14px);
	}

	.mob-cta-icon {
		width: 38px;
		height: 38px;
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.mobile-panel-head {
		min-height: 74px;
		padding: 0 28px;
	}

	.mobile-panel-logo img {
		height: 3.9rem;
		max-width: min(220px, calc(100vw - 120px));
	}

	.mobile-panel-close {
		width: 54px;
		height: 54px;
	}

	.mobile-panel-close::before,
	.mobile-panel-close::after {
		width: 28px;
		height: 3px;
	}

	.mobile-panel-list {
		padding: 20px 28px 118px;
	}

	.mob-item {
		min-height: 74px;
		font-size: 16px;
	}

	.mob-chevron {
		width: 13px;
		height: 13px;
	}

	.mob-cta {
		padding: 20px 28px max(20px, env(safe-area-inset-bottom));
		gap: 12px;
	}

	.mob-cta-btn {
		min-height: 76px;
		border-radius: 20px;
		gap: 12px;
	}

	.mob-cta-icon {
		width: 42px;
		height: 42px;
	}
}

@media (min-width: 1400px) {

  .nav-logo {
    #display:none !important;
  }
}

/* Mobile Navigation kompakter: alle Hauptpunkte sichtbar */
@media (max-width: 1024px) {
	.mobile-panel-head {
		min-height: 100px;
		padding: 0 36px;
	}

	.mobile-panel-logo img {
		height: 3.9rem;
	}

	.mobile-panel-close {
		width: 54px;
		height: 54px;
	}

	.mobile-panel-close::before,
	.mobile-panel-close::after {
		width: 27px;
		height: 3px;
	}

	.mobile-panel-list {
		padding: 14px 36px 104px;
	}

	.mob-item {
		min-height: 66px;
		font-size: clamp(16px, 2.4vw, 22px);
		letter-spacing: .055em;
	}

	.mob-chevron {
		width: 12px;
		height: 12px;
		border-right-width: 2px;
		border-bottom-width: 2px;
	}

	.mob-cta {
		padding: 18px 36px max(18px, env(safe-area-inset-bottom));
		gap: 12px;
	}

	.mob-cta-btn {
		min-height: 74px;
		border-radius: 18px;
		gap: 12px;
	}

	.mob-cta-btn strong {
		font-size: clamp(15px, 2.3vw, 19px);
	}

	.mob-cta-btn small {
		font-size: clamp(11px, 1.8vw, 14px);
	}

	.mob-cta-icon {
		width: 38px;
		height: 38px;
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.mobile-panel-head {
		min-height: 86px;
		padding: 0 24px;
	}

	.mobile-panel-logo img {
		height: 3.25rem;
		max-width: min(210px, calc(100vw - 108px));
	}

	.mobile-panel-close {
		width: 46px;
		height: 46px;
	}

	.mobile-panel-close::before,
	.mobile-panel-close::after {
		width: 24px;
		height: 3px;
	}

	.mobile-panel-list {
		padding: 10px 28px 96px;
	}

	.mob-item {
		min-height: 58px;
		font-size: 16px;
	}

	.mob-chevron {
		width: 10px;
		height: 10px;
	}

	.mob-cta {
		padding: 14px 28px max(14px, env(safe-area-inset-bottom));
		gap: 10px;
	}

	.mob-cta-btn {
		min-height: 62px;
		border-radius: 17px;
		gap: 10px;
	}

	.mob-cta-btn strong {
		font-size: 15px;
	}

	.mob-cta-btn small {
		font-size: 11px;
	}

	.mob-cta-icon {
		width: 34px;
		height: 34px;
		font-size: 14px;
	}
}

/* Mobile-Menü: Panel-Kopf nicht höher als #main-nav */
@media (max-width: 1024px) {
	.mobile-panel-head {
		min-height: 70px;
		height: 70px;
		padding: 0 20px;
		flex: 0 0 70px;
	}

	.mobile-panel-logo img {
		height: 2.8rem;
		max-width: min(220px, calc(100vw - 92px));
	}

	.mobile-panel-close {
		width: 38px;
		height: 38px;
	}

	.mobile-panel-close::before,
	.mobile-panel-close::after {
		width: 20px;
		height: 3px;
	}
}

@media (max-width: 480px) {
	.mobile-panel-head {
		min-height: 70px;
		height: 70px;
		padding: 0 20px;
		flex-basis: 70px;
	}

	.mobile-panel-logo img {
		height: 2.8rem;
		max-width: min(210px, calc(100vw - 92px));
	}
}

/* ============================================================
   Mobile Navigation: Schrift + X-Animation
   Version: 1.04
   ============================================================ */
@media (max-width: 1024px) {
	.mob-item {
		font-size: 16px;
		font-weight: normal;
	}

	.mobile-panel-close {
		transition: background .18s ease, transform .35s ease;
	}

	.mobile-panel-close:hover {
		background: rgba(255, 255, 255, .18);
	}

	#mobile-menu.open .mobile-panel-close {
		transform: rotate(180deg);
	}

	#mobile-menu.open .mobile-panel-close:hover {
		transform: rotate(180deg);
	}
}
