/**
 * Verbandsdach-Rahmen — staging.1000seen.de Blog 1.
 * Tokens: theme.json / mse-defaults (MV-Nacht, Wasser, Goldrute).
 */
body.tvmse-dach-frame {
	--wp--style--global--content-size: 72rem;
	--width-m: 72rem;
	--dach-night: var(--wp--preset--color--mv-night, #083652);
	--dach-gold: var(--wp--preset--color--mv-gold, #efa800);
	--dach-water: var(--wp--preset--color--mv-water, #005e90);
	--dach-chrome-h: 5.15rem;
}

body.tvmse-dach-frame .site-header,
body.tvmse-dach-frame .gb-site-header,
body.tvmse-dach-frame #masthead,
body.tvmse-dach-frame .gb-site-footer {
	display: none !important;
}

body.tvmse-dach-frame .site-footer {
	display: block !important;
	background: transparent;
	padding: 0;
	margin: 0;
}

body.tvmse-dach-frame.no-sidebar #primary,
body.tvmse-dach-frame.no-sidebar #main {
	width: 100%;
	max-width: none;
}

body.tvmse-dach-frame #right-sidebar,
body.tvmse-dach-frame #left-sidebar,
body.tvmse-dach-frame .widget-area.sidebar {
	display: none !important;
}

body.tvmse-dach-frame.home .inside-article,
body.tvmse-dach-frame.home .site-main,
body.tvmse-dach-frame.page-dach .inside-article,
body.tvmse-dach-frame.page-dach-styletest .inside-article,
body.tvmse-dach-frame.home.separate-containers .inside-article {
	padding: 0;
	margin: 0;
}

body.tvmse-dach-frame.separate-containers .site-main > * {
	margin-bottom: 0;
}

body.page-dach .entry-header,
body.page-dach-styletest .entry-header {
	display: none;
}

/* Textseiten (Impressum, Datenschutz, …) */
body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) {
	background: #f7f6f4;
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .inside-article {
	max-width: 44rem;
	margin: 0 auto;
	padding: clamp(1.65rem, 4vw, 2.7rem) var(--gutter, 1.25rem) 3.2rem;
	background: transparent;
	box-shadow: none;
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-header {
	margin: 0 0 1.15rem;
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-title {
	font-family: var(--emotional-font, Merriweather, Georgia, serif);
	font-style: italic;
	font-weight: 700;
	font-size: clamp(1.75rem, 3.1vw, 2.35rem);
	line-height: 1.2;
	color: #083652;
	margin: 0;
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content {
	font-family: var(--body-font, Roboto, sans-serif);
	font-size: 1.02rem;
	line-height: 1.62;
	color: #2c0d1d;
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content h2,
body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content h3,
body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content h4 {
	font-family: var(--font-condensed, "Roboto Condensed", sans-serif);
	font-weight: 700;
	font-style: normal;
	color: #083652;
	line-height: 1.28;
	margin: 1.55rem 0 0.5rem;
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content h2 {
	font-size: clamp(1.15rem, 2vw, 1.4rem);
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content h3 {
	font-size: 1.08rem;
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content h4 {
	font-size: 1rem;
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content p,
body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content li {
	margin: 0 0 0.7rem;
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content a {
	color: var(--dach-water, #005e90);
}

body.tvmse-dach-frame.page:not(.home):not(.page-dach):not(.page-dach-styletest):not(.ltw2026):not(.buchungslage2026) .entry-content hr {
	border: 0;
	border-top: 1px solid color-mix(in srgb, var(--dach-night, #083652) 12%, transparent);
	margin: 1.45rem 0;
}

.dach-frame {
	position: sticky;
	top: 0;
	z-index: 200;
	font-family: var(--body-font, "Roboto", sans-serif);
	background: var(--dach-night);
}

.dach-frame__wrap {
	margin-inline: auto;
	max-width: var(--width-m, 72rem);
	padding-inline: var(--gutter, 1.25rem);
}

.dach-frame__meta {
	background: color-mix(in srgb, var(--dach-night) 88%, #000);
	color: color-mix(in srgb, var(--base-3, #fff) 82%, transparent);
	border-bottom: 1px solid color-mix(in srgb, #fff 14%, transparent);
}

.dach-frame__meta,
.dach-frame__meta-org,
.dach-frame__meta a {
	font-family: var(--body-font, "Roboto", sans-serif);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0.01em;
}

.dach-frame__meta-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.4rem 1rem;
	padding-block: 0.4rem;
}

.dach-frame__meta-org {
	margin: 0;
}

.dach-frame__meta a,
.dach-frame__meta a:hover,
.dach-frame__meta a:focus-visible {
	color: var(--base-3, #fff);
	text-decoration: none;
}

.dach-frame__bar {
	background: var(--dach-night);
	color: var(--base-3, #fff);
}

.dach-frame__bar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75rem 1.25rem;
	padding-block: 0.38rem;
}

.dach-frame__brand {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	min-width: 12.5rem;
}

.dach-frame__brand .custom-logo-link {
	display: flex;
	align-items: center;
	line-height: 0;
	max-width: none;
}

.dach-frame__brand .custom-logo,
.dach-frame__brand img {
	display: block;
	width: auto !important;
	height: 2.55rem !important;
	max-width: 15rem;
	object-fit: contain;
	object-position: left center;
}

.dach-frame__wordmark {
	color: var(--base-3, #fff);
	font-family: var(--font-condensed, "Roboto Condensed", sans-serif);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.dach-frame__check {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.dach-frame__burger {
	display: none;
	margin-left: auto;
	padding: 0.45rem 0.7rem;
	border: 1px solid color-mix(in srgb, #fff 55%, transparent);
	border-radius: 2px;
	color: var(--base-3, #fff);
	font-size: 0.85rem;
	font-weight: 700;
	cursor: pointer;
}

.dach-frame__nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.2rem;
	margin-left: auto;
}

.dach-frame__menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem 1.05rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dach-frame__menu a {
	color: var(--base-3, #fff);
	font-family: var(--font-condensed, "Roboto Condensed", sans-serif);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.dach-frame__menu a:hover,
.dach-frame__menu a:focus-visible {
	color: var(--dach-gold);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.dach-frame__cta {
	margin-left: 0.6rem;
	padding: 0.5rem 0.95rem;
	background: var(--dach-water);
	border-radius: 2px;
	color: var(--base-3, #fff);
	font-family: var(--font-condensed, "Roboto Condensed", sans-serif);
	font-weight: 700;
	text-decoration: none;
}

.dach-frame__cta:hover,
.dach-frame__cta:focus-visible {
	background: color-mix(in srgb, var(--dach-water) 72%, #000);
	color: var(--base-3, #fff);
	text-decoration: none;
	filter: none;
}

body.tvmse-dach-frame .tvmse-section.alignfull {
	padding-inline: var(--gutter, 1.25rem);
}

body.tvmse-dach-frame .tvmse-section.is-layout-constrained > * {
	margin-left: 0 !important;
	margin-right: auto !important;
}

body.tvmse-dach-frame [id] {
	scroll-margin-top: 6.5rem;
}

body.tvmse-dach-frame .tvmse-dach-hero,
body.tvmse-dach-frame .tvmse-dach-hero.has-mv-night-background-color {
	background: var(--dach-night);
	color: var(--base-3, #fff);
	padding-block: clamp(2.8rem, 7vw, 5.2rem);
}

body.tvmse-dach-frame .tvmse-eyebrow {
	color: var(--dach-gold);
	opacity: 1;
	letter-spacing: 0.12em;
	font-size: 0.78rem;
}

body.tvmse-dach-frame .tvmse-dach-hero .tvmse-lead {
	color: color-mix(in srgb, var(--base-3, #fff) 88%, transparent);
	max-width: 42rem;
}

body.tvmse-dach-frame .tvmse-dach-title,
body.tvmse-dach-frame h1.tvmse-dach-title,
body.tvmse-dach-frame h2.tvmse-dach-title {
	font-family: var(--emotional-font, Merriweather, Georgia, serif);
	font-style: normal;
	font-weight: 700;
	line-height: 1.18;
}

body.tvmse-dach-frame .tvmse-dach-hero .tvmse-dach-title {
	max-width: 18ch;
	margin: 0 0 1rem 0 !important;
	font-family: var(--emotional-font, Merriweather, Georgia, serif);
	font-style: italic;
	font-weight: 700;
	font-size: clamp(2rem, 4.6vw, 3.15rem);
	color: var(--base-3, #fff);
}

body.tvmse-dach-frame .tvmse-section h2.tvmse-dach-title {
	margin: 0 0 0.55rem;
	font-size: clamp(1.55rem, 3vw, 2.05rem);
}

body.tvmse-dach-frame .tvmse-dach-actions {
	gap: 0.7rem;
	margin-top: 0.4rem;
}

body.tvmse-dach-frame .tvmse-section--dark .tvmse-btn--primary {
	background: var(--base-3, #fff);
	color: var(--dach-night);
	border-radius: 2px;
}

body.tvmse-dach-frame .tvmse-section--dark .tvmse-btn--primary:hover,
body.tvmse-dach-frame .tvmse-section--dark .tvmse-btn--primary:focus {
	background: var(--dach-water);
	color: var(--base-3, #fff);
}

body.tvmse-dach-frame .tvmse-section--dark .tvmse-btn--ghost {
	color: var(--base-3, #fff);
	border-color: currentColor;
	border-radius: 2px;
}

body.tvmse-dach-frame .tvmse-section--dark .tvmse-btn--ghost:hover,
body.tvmse-dach-frame .tvmse-section--dark .tvmse-btn--ghost:focus {
	background: var(--base-3, #fff);
	color: var(--dach-night);
}

body.tvmse-dach-frame .tvmse-grid {
	align-items: stretch;
}

body.tvmse-dach-frame .tvmse-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 4px;
	border-color: color-mix(in srgb, var(--dach-night) 12%, transparent);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--dach-night) 6%, transparent);
}

body.tvmse-dach-frame .tvmse-card h3 {
	font-family: var(--emotional-font, Merriweather, Georgia, serif);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 0.4rem;
}

body.tvmse-dach-frame .tvmse-card p {
	margin: 0 0 0.45rem;
	color: var(--contrast-2, #4a3d42);
	font-size: 0.95rem;
}

body.tvmse-dach-frame .tvmse-card__go {
	margin-top: auto;
	padding-top: 0.85rem;
	color: var(--dach-water);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
}

body.tvmse-dach-frame .tvmse-card .tvmse-card__go::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

body.tvmse-dach-frame .tvmse-card:hover {
	border-color: var(--dach-water);
}

body.tvmse-dach-frame .tvmse-card:hover .tvmse-card__go,
body.tvmse-dach-frame .tvmse-card__go:hover,
body.tvmse-dach-frame .tvmse-card__go:focus-visible {
	color: var(--dach-night);
}

body.tvmse-dach-frame .tvmse-dach-termine {
	margin-top: 1.6rem;
}

body.tvmse-dach-frame .tvmse-event {
	padding: 1.5rem 1.4rem 1.55rem;
	background: var(--base-2, #f7f6f4);
	border-left: 4px solid var(--dach-gold);
	border-radius: 0 4px 4px 0;
	height: 100%;
}

body.tvmse-dach-frame .tvmse-event h2 {
	font-family: var(--emotional-font, Merriweather, Georgia, serif);
	font-size: clamp(1.35rem, 2.4vw, 1.7rem);
	margin: 0 0 0.55rem;
}

body.tvmse-dach-frame .tvmse-event__date {
	color: var(--dach-gold);
}

body.tvmse-dach-frame .tvmse-event .tvmse-btn {
	border-radius: 2px;
	margin-top: 0.35rem;
}

body.tvmse-dach-frame .tvmse-linkrow {
	padding: 0.85rem 0.95rem;
	background: var(--base-3, #fff);
	border: 0;
	border-left: 3px solid var(--dach-water);
	border-radius: 0;
	box-shadow: none;
}

body.tvmse-dach-frame .tvmse-linkrow p {
	margin: 0;
}

body.tvmse-dach-frame .tvmse-linkrow__name {
	color: var(--contrast, #2c0d1d);
	font-family: var(--font-condensed, "Roboto Condensed", sans-serif);
	font-size: 1.05rem;
	font-weight: 700;
	text-decoration: none;
}

body.tvmse-dach-frame .tvmse-linkrow__desc {
	margin-top: 0.2rem !important;
	color: var(--contrast-2, #4a3d42);
	font-size: 0.88rem;
}

body.tvmse-dach-frame .tvmse-linkrow a {
	text-decoration: none;
}

body.tvmse-dach-frame .tvmse-linkrow:hover {
	border-left-color: var(--dach-gold);
}

body.tvmse-dach-frame .tvmse-linkrow:hover .tvmse-linkrow__name {
	color: var(--dach-night);
}

.dach-frame-foot {
	background: color-mix(in srgb, var(--dach-night) 58%, #000);
	color: color-mix(in srgb, var(--base-3, #fff) 88%, transparent);
	padding: 0;
	font-size: 0.88rem;
	line-height: 1.45;
}

.dach-frame-foot__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 1rem 2rem;
	align-items: center;
	padding-block: 1.55rem 1.35rem;
}

.dach-frame-foot__brand .custom-logo-link,
.dach-frame-foot__brand .dach-frame__wordmark {
	display: inline-flex;
	align-items: center;
}

.dach-frame-foot__brand .custom-logo,
.dach-frame-foot__brand img {
	display: block;
	width: auto !important;
	height: 2.35rem !important;
	max-width: 14rem;
	object-fit: contain;
}

.dach-frame-foot__addr {
	text-align: center;
}

.dach-frame-foot__addr p,
.dach-frame-foot__copy {
	margin: 0;
	font-size: 0.88rem;
}

.dach-frame-foot a {
	color: var(--dach-gold);
	text-decoration: none;
}

.dach-frame-foot a:hover,
.dach-frame-foot a:focus-visible {
	color: var(--base-3, #fff);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.dach-frame-foot a.dach-frame-foot__social-link {
	color: var(--base-3, #fff);
}

.dach-frame-foot nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 1.05rem;
	align-content: flex-start;
	justify-content: flex-end;
}

.dach-frame-foot__social {
	justify-content: flex-end;
	gap: 0.5rem;
}

.dach-frame-foot__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	color: var(--base-3, #fff);
	background: color-mix(in srgb, #fff 10%, transparent);
	border: 1px solid color-mix(in srgb, #fff 28%, transparent);
	border-radius: 50%;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.dach-frame-foot__social-link:hover,
.dach-frame-foot__social-link:focus-visible {
	text-decoration: none;
	color: var(--base-3, #fff);
}

.dach-frame-foot__social-link--facebook:hover,
.dach-frame-foot__social-link--facebook:focus-visible {
	background: #1877f2;
	border-color: #1877f2;
}

.dach-frame-foot__social-link--instagram:hover,
.dach-frame-foot__social-link--instagram:focus-visible {
	background: #e4405f;
	border-color: #e4405f;
}

.dach-frame-foot__social-link--youtube:hover,
.dach-frame-foot__social-link--youtube:focus-visible {
	background: #ff0000;
	border-color: #ff0000;
}

.dach-frame-foot__social-link--mail:hover,
.dach-frame-foot__social-link--mail:focus-visible {
	background: var(--dach-water);
	border-color: var(--dach-water);
}

.dach-frame-foot__social-link svg {
	display: block;
	width: 1.125rem;
	height: 1.125rem;
	fill: currentColor;
}

.dach-frame-foot__social-link--instagram svg {
	width: 1.2rem;
	height: 1.2rem;
}

.dach-frame-foot__below {
	border-top: 1px solid color-mix(in srgb, #fff 10%, transparent);
	background: color-mix(in srgb, var(--dach-night) 42%, #000);
	font-size: 0.78rem;
}

.dach-frame-foot__below-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.45rem 1.25rem;
	padding-block: 0.8rem 1.15rem;
}

.dach-frame-foot__below nav {
	gap: 0.35rem 0.45rem;
}

@media (max-width: 52rem) {
	.dach-frame-foot__inner,
	.dach-frame-foot__below-inner {
		grid-template-columns: 1fr;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}

	.dach-frame-foot__addr {
		text-align: left;
	}

	.dach-frame-foot nav {
		justify-content: flex-start;
	}

	.dach-frame__burger {
		display: inline-flex;
		align-items: center;
		margin-left: auto;
	}

	.dach-frame__nav {
		display: none;
		flex-basis: 100%;
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 0.8rem;
	}

	.dach-frame__check:checked ~ .dach-frame__nav,
	.dach-frame__check:focus-visible ~ .dach-frame__nav {
		display: flex;
	}

	.dach-frame__menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.55rem;
	}

	.dach-frame__cta {
		margin: 0.4rem 0 0;
	}

	body.tvmse-dach-frame .tvmse-dach-hero .tvmse-dach-title {
		max-width: none;
	}
}
