/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/
Description: Child-Theme fuer die Veranstaltungsseite auf Basis von Kadence.
Author: Local Setup
Template: kadence
Version: 1.0.5
Text Domain: kadence-child
*/

:root {
	--kc-surface: var(--global-palette8, #f9f7f2);
	--kc-surface-soft: var(--global-palette9, #fbfaf7);
	--kc-border: var(--global-palette7, #f1ece1);
	--kc-text: var(--global-palette3, #222222);
	--kc-text-strong: var(--global-palette4, #353535);
	--kc-text-soft: var(--global-palette5, #454545);
	--kc-text-muted: var(--global-palette6, #676767);
	--kc-accent: var(--global-palette1, #2d5a27);
	--kc-accent-alt: var(--global-palette2, #ebc064);
	--kc-accent-dark: var(--global-palette1, #2d5a27);
	--kc-font-body: var(--global-body-font-family, inherit);
	--kc-font-heading: var(--global-heading-font-family, inherit);
	--kc-hero-start: var(--kc-surface-soft);
	--kc-hero-end: var(--kc-surface-soft);
	--kc-card-overlay: var(--kc-surface-soft);
	--kc-control-bg: var(--kc-surface);
	--kc-chip-bg: var(--kc-surface-soft);
	--kc-border-soft: color-mix(in srgb, var(--kc-border) 82%, var(--kc-surface) 18%);
	--kc-border-quiet: var(--kc-border);
	--kc-border-strong: color-mix(in srgb, var(--kc-text-muted) 24%, var(--kc-border) 76%);
	--kc-border-hover: color-mix(in srgb, var(--kc-text-muted) 38%, var(--kc-border) 62%);
	--kc-border-hover-strong: color-mix(in srgb, var(--kc-accent-alt) 36%, var(--kc-border) 64%);
	--kc-button-bg: var(--kc-surface);
	--kc-button-bg-hover: color-mix(in srgb, var(--kc-surface) 40%, var(--kc-surface-soft) 60%);
	--kc-venue-text: var(--kc-text-soft);
	--kc-venue-link: color-mix(in srgb, var(--kc-text) 78%, var(--kc-surface) 22%);
	--kc-highlight-soft: var(--kc-surface-soft);
	--kc-highlight-border: var(--kc-border);
	--kc-accent-soft: var(--kc-surface-soft);
	--kc-accent-border: var(--kc-border);
	--kc-icon-color: var(--kc-text-soft);
	--kc-link: var(--kc-accent);
	--kc-link-hover: var(--kc-accent-alt);
	--kc-label-text: var(--kc-text-muted);
	--kc-label-size: 0.85rem;
	--kc-label-line-height: 1.2;
	--kc-shadow: 0 0 14px 0 rgba(31, 26, 23, 0.08);
	--kc-radius-lg: 24px;
	--kc-radius-md: 16px;
	--kc-content-width: 1200px;
}

:is(.veranstaltung-single, .ort-single, .ortschaft-single, .verein-single, .veranstaltung-archive, .verein-archive, .ortschaft-archive) {
	color: var(--kc-text);
	font-family: var(--kc-font-body);
	background: var(--kc-surface);
}

:is(
	.veranstaltung-single,
	.ort-single,
	.ortschaft-single,
	.verein-single,
	.veranstaltung-archive,
	.verein-archive,
	.ortschaft-archive,
	.gemeindeblatt-archive,
	.gemeindeblatt-single,
	.search-results-page,
	.front-page
) a:not(.button):visited,
:is(
	.veranstaltung-single,
	.ort-single,
	.ortschaft-single,
	.verein-single,
	.veranstaltung-archive,
	.verein-archive,
	.ortschaft-archive,
	.gemeindeblatt-archive,
	.gemeindeblatt-single,
	.search-results-page,
	.front-page
) a:not(.button):active,
:is(
	.veranstaltung-single,
	.ort-single,
	.ortschaft-single,
	.verein-single,
	.veranstaltung-archive,
	.verein-archive,
	.ortschaft-archive,
	.gemeindeblatt-archive,
	.gemeindeblatt-single,
	.search-results-page,
	.front-page
) a:not(.button):focus:not(:hover) {
	color: var(--kc-link);
}

:is(
	.veranstaltung-single,
	.ort-single,
	.ortschaft-single,
	.verein-single,
	.veranstaltung-archive,
	.verein-archive,
	.ortschaft-archive,
	.gemeindeblatt-archive,
	.gemeindeblatt-single,
	.search-results-page,
	.front-page
) a:not(.button):hover,
:is(
	.veranstaltung-single,
	.ort-single,
	.ortschaft-single,
	.verein-single,
	.veranstaltung-archive,
	.verein-archive,
	.ortschaft-archive,
	.gemeindeblatt-archive,
	.gemeindeblatt-single,
	.search-results-page,
	.front-page
) a:not(.button):visited:hover {
	color: var(--kc-link-hover);
}

.kc-breadcrumbs {
	margin: 0 0 18px;
}

.kc-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9em;
	line-height: 1.2;
	color: var(--kc-text-muted);
}

.kc-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.kc-breadcrumbs__item:not(:last-child)::after {
	content: "/";
	color: var(--kc-text-muted);
	opacity: 0.7;
}

.kc-breadcrumbs__link {
	color: var(--kc-text-muted);
	text-decoration: none;
}

.kc-breadcrumbs__link:hover,
.kc-breadcrumbs__link:focus {
	color: var(--kc-link-hover);
	text-decoration: underline;
}

.kc-breadcrumbs__current {
	color: var(--kc-text);
	font-weight: 600;
}

.kc-back-link-wrap {
	margin: 0 0 22px;
}

.kc-back-link-wrap--center {
	margin: 32px 0 0;
	text-align: center;
}

.kc-back-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	text-align: center;
	text-decoration: none;
}

.kc-back-link:hover,
.kc-back-link:focus {
	text-decoration: none;
}

:is(.veranstaltung-single__article, .ort-single__article, .ortschaft-single__article, .verein-single__article) {
	max-width: var(--kc-content-width);
	margin: 0 auto;
	padding: 32px 20px 72px;
}

:is(.veranstaltung-single__hero, .ort-single__hero, .ortschaft-single__hero, .verein-single__hero) {
	display: grid;
	grid-template-columns: minmax(0, 1.28fr) minmax(300px, 0.82fr);
	gap: 36px;
	align-items: stretch;
	margin-bottom: 40px;
}

:is(.veranstaltung-single__hero-copy, .ort-single__hero-copy, .ortschaft-single__hero-copy, .verein-single__hero-copy) {
	display: grid;
	align-content: start;
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	padding: 32px;
	box-shadow: var(--kc-shadow);
}

:is(.veranstaltung-single__eyebrow, .ort-single__eyebrow, .ortschaft-single__eyebrow, .verein-single__eyebrow) {
	margin: 0 0 12px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

:is(.veranstaltung-single__title, .ort-single__title, .ortschaft-single__title, .verein-single__title) {
	margin: 0 0 14px;
	line-height: 1.08;
}

:is(.veranstaltung-single__intro, .ort-single__intro, .ortschaft-single__intro, .verein-single__intro) {
	margin-bottom: 28px;
	max-width: 60ch;
	color: var(--kc-text-soft);
}

:is(
	.veranstaltung-single__intro,
	.ort-single__intro,
	.ortschaft-single__intro,
	.verein-single__intro,
	.veranstaltung-single__wysiwyg,
	.veranstaltung-single__text,
	.ort-single__wysiwyg,
	.ort-single__text,
	.ort-single__meta-text,
	.ortschaft-single__wysiwyg,
	.ortschaft-single__meta-text,
	.verein-single__wysiwyg,
	.verein-single__meta-text
) > :last-child {
	margin-bottom: 0;
}

:is(.veranstaltung-single__facts, .ort-single__facts, .verein-single__facts) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.veranstaltung-single__facts {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
}

.ortschaft-single__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

:is(.veranstaltung-single__fact, .ort-single__fact, .ortschaft-single__fact, .verein-single__fact) {
	display: grid;
	align-content: start;
	gap: 4px;
	padding: 18px 20px;
	background: var(--kc-card-overlay);
	border: 1px solid var(--kc-border-soft);
	border-radius: var(--kc-radius-md);
}

.ortschaft-single__fact-link {
	display: block;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.ortschaft-single__fact-link:hover,
.ortschaft-single__fact-link:focus,
.verein-single__fact-link:hover,
.verein-single__fact-link:focus {
	border-color: var(--kc-border-hover);
	background: var(--kc-surface-soft);
	transform: translateY(-1px);
}

.verein-single__fact-link {
	display: block;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.veranstaltung-single__fact--vereine,
.ort-single__fact--wide {
	grid-column: 1 / -1;
}

:is(
	.veranstaltung-single__fact-label,
	.veranstaltung-single__meta-label,
	.ort-single__fact-label,
	.ort-single__meta-label,
	.ortschaft-single__fact-label,
	.ortschaft-single__meta-label,
	.verein-single__fact-label,
	.verein-single__meta-label
) {
	display: block;
	margin-bottom: 6px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.veranstaltung-single__fact-label--with-icon {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.veranstaltung-single__fact--termin .veranstaltung-single__fact-value {
	display: block;
}

.veranstaltung-single__fact--ort .veranstaltung-single__fact-value {
	display: inline-block;
	margin-top: 2px;
}

.veranstaltung-single__fact-value--stacked {
	display: block !important;
	margin-top: 2px;
}

:is(
	.veranstaltung-single__fact-value,
	.veranstaltung-single__meta-value,
	.ort-single__fact-value,
	.ort-single__meta-value,
	.ortschaft-single__fact-value,
	.ortschaft-single__meta-value,
	.verein-single__fact-value,
	.verein-single__meta-value
) {
	color: var(--kc-text);
	font-weight: 600;
	text-decoration: none;
}

.veranstaltung-single__fact-icon {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	background-color: var(--kc-accent);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: 20px 20px;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 20px 20px;
	opacity: 1;
}

.veranstaltung-single__fact-icon--calendar {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
}

.veranstaltung-single__fact-icon--pin {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.33 6-11a6 6 0 1 0-12 0c0 5.67 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.33 6-11a6 6 0 1 0-12 0c0 5.67 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

.veranstaltung-single__fact-icon--group {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9.5' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9.5' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

a.veranstaltung-single__fact-value,
a.veranstaltung-single__meta-value,
a.ort-single__fact-link,
a.ort-single__fact-value,
a.ort-single__meta-value,
a.ortschaft-single__meta-value,
a.verein-single__fact-value,
a.verein-single__meta-value {
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.verein-single__fact-value--linklike {
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.verein-single__fact-inline-link {
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.verein-single__fact-inline-link:hover,
.verein-single__fact-inline-link:focus {
	color: var(--kc-link-hover);
}

.ort-single__fact-address {
	color: var(--kc-text);
	font-weight: 600;
}

.ort-single__fact-link {
	color: var(--kc-text);
	font-weight: 700;
	text-decoration: none;
}

:is(.ort-single__map, .ortschaft-single__map) {
	min-height: 420px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	overflow: hidden;
	box-shadow: var(--kc-shadow);
}

:is(.ort-single__map-actions, .ortschaft-single__map-actions) {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}

:is(.ort-single__map-button, .ortschaft-single__map-button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	text-align: center;
	text-decoration: none;
}

:is(.ort-single__map-button, .ortschaft-single__map-button):hover,
:is(.ort-single__map-button, .ortschaft-single__map-button):focus {
	text-decoration: none;
}

a.veranstaltung-single__fact-value:hover,
a.veranstaltung-single__fact-value:focus,
a.veranstaltung-single__meta-value:hover,
a.veranstaltung-single__meta-value:focus,
a.ort-single__fact-value:hover,
a.ort-single__fact-value:focus,
a.ort-single__fact-link:hover,
a.ort-single__fact-link:focus,
a.ort-single__meta-value:hover,
a.ort-single__meta-value:focus,
a.ortschaft-single__meta-value:hover,
a.ortschaft-single__meta-value:focus,
a.verein-single__fact-value:hover,
a.verein-single__fact-value:focus,
a.verein-single__meta-value:hover,
a.verein-single__meta-value:focus {
	color: var(--kc-link-hover);
	text-decoration: underline;
}

:is(.veranstaltung-single__fact-list) {
	display: grid;
	gap: 8px;
}

:is(.veranstaltung-single__media, .ort-single__media, .ortschaft-single__media, .verein-single__media) {
	min-height: 100%;
}

:is(.veranstaltung-single__image, .ort-single__image, .ortschaft-single__image, .verein-single__image) {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	object-position: center top;
	border-radius: var(--kc-radius-lg);
	box-shadow: var(--kc-shadow);
}

.verein-single__hero {
	display: block;
}

.verein-single__media {
	margin-bottom: 24px;
	min-height: 0;
}

.verein-single__image {
	height: auto;
	min-height: 0;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center;
}

.verein-single__facts {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.verein-single__fact {
	padding: 13px 15px;
}

.verein-single__fact-label {
	margin-bottom: 4px;
}

:is(.veranstaltung-single__content, .ort-single__content, .ortschaft-single__content, .verein-single__content) {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(260px, 0.9fr);
	gap: 32px;
	align-items: start;
}

:is(.veranstaltung-single__section, .ort-single__section, .ortschaft-single__section, .verein-single__section) {
	margin: 44px 0 28px;
}

:is(.veranstaltung-single__section--box, .ort-single__section--box, .ortschaft-single__section--box, .verein-single__section--box) {
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	padding: 24px;
	box-shadow: var(--kc-shadow);
}

:is(.veranstaltung-single__section-title, .ort-single__section-title, .ortschaft-single__section-title, .verein-single__section-title) {
	margin: 0 0 16px;
}

:is(
	.veranstaltung-single__wysiwyg,
	.veranstaltung-single__text,
	.ort-single__wysiwyg,
	.ort-single__text,
	.ort-single__meta-text,
	.ortschaft-single__wysiwyg,
	.ortschaft-single__meta-text,
	.verein-single__wysiwyg,
	.verein-single__meta-text
) {
	color: var(--kc-text);
}

:is(.veranstaltung-single__sidebar, .ort-single__sidebar, .ortschaft-single__sidebar, .verein-single__sidebar) {
	position: sticky;
	top: 24px;
}

:is(.veranstaltung-single__meta-row, .ort-single__meta-row, .ortschaft-single__meta-row, .verein-single__meta-row) {
	display: grid;
	gap: 4px;
	padding: 14px 0;
	border-bottom: 1px solid var(--kc-border);
}

:is(.veranstaltung-single__meta-row, .ort-single__meta-row, .ortschaft-single__meta-row, .verein-single__meta-row):first-of-type {
	padding-top: 0;
}

:is(.veranstaltung-single__meta-row, .ort-single__meta-row, .ortschaft-single__meta-row, .verein-single__meta-row):last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

:is(.ort-single__list, .ortschaft-single__list, .verein-single__list) {
	display: grid;
	gap: 12px;
}

.veranstaltung-single__program-list {
	display: grid;
	gap: 14px;
}

:is(.ort-single__list-item, .ortschaft-single__list-item, .verein-single__list-item) {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	padding: 18px 18px;
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-md);
	color: var(--kc-text);
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.veranstaltung-single__program-item {
	display: grid;
	grid-template-columns: minmax(168px, 220px) minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	padding: 22px 22px;
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-md);
	color: var(--kc-text);
	text-decoration: none;
	box-shadow: var(--kc-shadow);
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

:is(.ort-single__list-date, .ortschaft-single__list-date, .verein-single__list-date) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 10px;
	border: 1px solid var(--kc-border-soft);
	border-radius: 999px;
	background: var(--kc-chip-bg);
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.veranstaltung-single__program-date {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	align-self: start;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 1.05rem;
	line-height: 1.45;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: var(--kc-text-strong);
}

:is(.ort-single__list-title, .ortschaft-single__list-title, .verein-single__list-title) {
	color: var(--kc-text);
}

.ortschaft-single__list-item--event {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
}

.ortschaft-single__list-item--with-media {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
}

.ortschaft-single__list-media {
	width: 108px;
	height: 76px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--kc-surface);
	flex: 0 0 auto;
	align-self: start;
}

.ortschaft-single__list-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.ortschaft-single__list-main {
	display: grid;
	gap: 10px;
	min-width: 0;
	align-content: start;
}

.ortschaft-single__event-date {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0;
	font-weight: 700;
	color: var(--kc-text-soft);
}

.verein-single__list-item--event {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
}

.verein-single__list-media {
	width: 108px;
	height: 76px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--kc-surface);
	flex: 0 0 auto;
	align-self: start;
}

.verein-single__list-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.verein-single__list-main {
	display: grid;
	gap: 10px;
	min-width: 0;
	align-content: start;
}

.verein-single__event-date {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0;
	font-weight: 700;
	color: var(--kc-text-soft);
}

.ort-single__list-item--event {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
}

.ort-single__list-media {
	width: 108px;
	height: 76px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--kc-surface);
	flex: 0 0 auto;
	align-self: start;
}

.ort-single__list-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.ort-single__list-main {
	display: grid;
	gap: 10px;
	min-width: 0;
	align-content: start;
}

.ort-single__event-date {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0;
	font-weight: 700;
	color: var(--kc-text-soft);
}

.verein-single__list-main {
	display: grid;
	gap: 10px;
	min-width: 0;
	align-content: start;
}

.veranstaltung-single__program-main {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.veranstaltung-single__program-title {
	color: var(--kc-text);
	font-weight: 700;
}

.veranstaltung-single__program-venue {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--kc-text-soft);
	font-weight: 400;
	font-style: italic;
}

.ort-single__list-cta {
	margin-left: auto;
	text-align: center;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
	white-space: nowrap;
}

.ortschaft-single__list-cta {
	margin-left: auto;
	text-align: center;
	justify-self: auto;
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
	white-space: nowrap;
}

.ortschaft-single__list-cta:visited,
.ortschaft-single__list-cta:focus,
.ortschaft-single__list-cta:active {
	color: var(--kc-link);
}

.verein-single__list-cta {
	margin-left: auto;
	text-align: center;
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
	white-space: nowrap;
}

.verein-single__list-cta:visited,
.verein-single__list-cta:focus,
.verein-single__list-cta:active {
	color: var(--kc-link);
}

.veranstaltung-single__program-cta {
	margin-left: auto;
	align-self: center;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

:is(.ort-single__list--past .ort-single__list-item, .ortschaft-single__list--past .ortschaft-single__list-item, .verein-single__list--past .verein-single__list-item) {
	opacity: 0.82;
}

:is(.ort-single__list-item, .ortschaft-single__list-item, .verein-single__list-item):hover,
:is(.ort-single__list-item, .ortschaft-single__list-item, .verein-single__list-item):focus {
	color: var(--kc-text);
	border-color: var(--kc-border-hover);
	background: var(--kc-surface-soft);
	transform: translateY(-1px);
}

.veranstaltung-single__program-item:hover,
.veranstaltung-single__program-item:focus {
	color: var(--kc-text);
	border-color: var(--kc-border-hover);
	background: var(--kc-surface-soft);
	box-shadow: 0 0 14px 0 rgba(31, 26, 23, 0.12);
	transform: translateY(-1px);
}

.ortschaft-single__list-cta:hover {
	color: var(--kc-link-hover);
}

.verein-single__list-cta:hover {
	color: var(--kc-link-hover);
}

.veranstaltung-single__program-item:hover .veranstaltung-single__program-cta,
.veranstaltung-single__program-item:focus .veranstaltung-single__program-cta {
	border-color: var(--kc-border-hover-strong);
	background: var(--kc-button-bg-hover);
}

:is(
	.ortschaft-single__report-list,
	.verein-single__report-list,
	.veranstaltung-single__report-list,
	.ort-single__report-list
) {
	display: grid;
	gap: 18px;
}

:is(
	.ortschaft-single__report-item,
	.verein-single__report-item,
	.veranstaltung-single__report-item,
	.ort-single__report-item
) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: start;
	padding: 20px 22px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

:is(
	.ortschaft-single__report-main,
	.verein-single__report-main,
	.veranstaltung-single__report-main,
	.ort-single__report-main
) {
	display: grid;
	gap: 10px;
	min-width: 0;
}

:is(
	.ortschaft-single__report-meta,
	.verein-single__report-meta,
	.veranstaltung-single__report-meta,
	.ort-single__report-meta
) {
	margin: 0;
	font-weight: 700;
	color: var(--kc-text-soft);
}

:is(
	.ortschaft-single__report-meta a,
	.verein-single__report-meta a,
	.veranstaltung-single__report-meta a,
	.ort-single__report-meta a
) {
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

:is(
	.ortschaft-single__report-title,
	.verein-single__report-title,
	.veranstaltung-single__report-title,
	.ort-single__report-title
) {
	margin: 0;
	color: var(--kc-text);
}

:is(
	.ortschaft-single__report-excerpt,
	.verein-single__report-excerpt,
	.veranstaltung-single__report-excerpt,
	.ort-single__report-excerpt
) {
	margin: 0;
	color: var(--kc-text);
}

:is(
	.ortschaft-single__report-cta,
	.verein-single__report-cta,
	.veranstaltung-single__report-cta,
	.ort-single__report-cta
) {
	margin-left: auto;
	align-self: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

:is(
	.ortschaft-single__report-item:hover .ortschaft-single__report-cta,
	.ortschaft-single__report-item:focus-within .ortschaft-single__report-cta,
	.verein-single__report-item:hover .verein-single__report-cta,
	.verein-single__report-item:focus-within .verein-single__report-cta,
	.veranstaltung-single__report-item:hover .veranstaltung-single__report-cta,
.veranstaltung-single__report-item:focus-within .veranstaltung-single__report-cta,
	.ort-single__report-item:hover .ort-single__report-cta,
	.ort-single__report-item:focus-within .ort-single__report-cta
) {
	text-decoration: none;
}

.veranstaltung-single__program-icon {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.veranstaltung-single__program-icon--clock {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%232d5a27' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E");
}

.veranstaltung-single__program-icon--pin {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%232d5a27' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.2 6-11a6 6 0 1 0-12 0c0 5.8 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E");
}

.veranstaltung-single__report-item {
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
}

.veranstaltung-single__report-meta {
	font-size: 0.84em;
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.veranstaltung-single__report-links {
	gap: 6px;
}

.veranstaltung-single__report-line {
	margin: 0;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.45;
	color: var(--kc-text);
}

.veranstaltung-single__report-cta {
	align-self: center;
}

.ortschaft-single__report-meta {
	font-size: 0.84em;
	line-height: 1.4;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.verein-single__report-meta {
	font-size: 0.84em;
	line-height: 1.4;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.ortschaft-single__report-links {
	gap: 6px;
}

.verein-single__report-links {
	gap: 6px;
}

:is(
	.ortschaft-single__report-item--grouped,
	.verein-single__report-item--grouped,
	.veranstaltung-single__report-item--grouped,
	.ort-single__report-item--grouped
) {
	align-items: start;
}

:is(
	.ortschaft-single__report-links,
	.verein-single__report-links,
	.veranstaltung-single__report-links,
	.ort-single__report-links
) {
	display: grid;
	gap: 10px;
}

:is(
	.ortschaft-single__report-line,
	.verein-single__report-line,
	.veranstaltung-single__report-line,
	.ort-single__report-line
) {
	margin: 0;
	padding-top: 0;
	font-weight: 700;
}

:is(
	.ortschaft-single__report-line a,
	.verein-single__report-line a,
	.veranstaltung-single__report-line a,
	.ort-single__report-line a
) {
	color: var(--kc-text);
	text-decoration: none;
}

.ortschaft-single__report-line {
	font-weight: 400;
	line-height: 1.45;
	color: var(--kc-text);
}

.verein-single__report-line {
	font-weight: 400;
	line-height: 1.45;
	color: var(--kc-text);
}

.ort-single__report-meta {
	font-size: 0.84em;
	line-height: 1.4;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.ort-single__report-links {
	gap: 6px;
}

.ort-single__report-line {
	font-weight: 400;
	line-height: 1.45;
	color: var(--kc-text);
}

:is(
	.ortschaft-single__report-line a:hover,
	.ortschaft-single__report-line a:focus,
	.verein-single__report-line a:hover,
	.verein-single__report-line a:focus,
	.veranstaltung-single__report-line a:hover,
	.veranstaltung-single__report-line a:focus,
	.ort-single__report-line a:hover,
	.ort-single__report-line a:focus
) {
	color: var(--kc-link-hover);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.12em;
}

.veranstaltung-single__section--context {
	background: color-mix(in srgb, var(--kc-accent) 6%, var(--kc-surface-soft) 94%);
	border-color: color-mix(in srgb, var(--kc-accent) 18%, var(--kc-border) 82%);
}

.veranstaltung-single__hero {
	margin-top: 32px;
	margin-bottom: 72px;
}

.veranstaltung-single__main > .veranstaltung-single__section {
	margin: 0;
}

.veranstaltung-single__main > .veranstaltung-single__section + .veranstaltung-single__section {
	margin-top: 72px;
}

.ortschaft-single__hero {
	margin-top: 32px;
	margin-bottom: 72px;
}

.ortschaft-single__main > .ortschaft-single__section {
	margin: 0;
}

.ortschaft-single__main > .ortschaft-single__section + .ortschaft-single__section {
	margin-top: 72px;
}

.verein-single__hero {
	margin-top: 32px;
	margin-bottom: 72px;
}

.verein-single__main > .verein-single__section {
	margin: 0;
}

.verein-single__main > .verein-single__section + .verein-single__section {
	margin-top: 72px;
}

.ort-single__hero {
	margin-top: 32px;
	margin-bottom: 72px;
}

.ort-single__main > .ort-single__section {
	margin: 0;
}

.ort-single__main > .ort-single__section + .ort-single__section {
	margin-top: 72px;
}

.veranstaltung-single__context-link {
	font-weight: 700;
}

.veranstaltung-single__section--program {
	padding: 28px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.veranstaltung-single__program-groups {
	display: grid;
	gap: 24px;
}

.veranstaltung-single__program-day {
	display: grid;
	gap: 16px;
}

.veranstaltung-single__program-day-title {
	margin: 0;
}

.veranstaltung-single__sidebar .veranstaltung-single__section--box {
	padding: 24px;
}

.veranstaltung-single__meta-row {
	gap: 6px;
	padding: 16px 0;
}

.veranstaltung-single__meta-value {
	color: var(--kc-text-strong);
}

.ortschaft-single__section--group {
	padding: 24px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	box-shadow: var(--kc-shadow);
}

.ortschaft-single__section--places {
	background: var(--kc-surface-soft);
}

.ortschaft-single__section--clubs {
	background: var(--kc-surface-soft);
}

.ortschaft-single__section--social {
	background: var(--kc-surface-soft);
}

.ortschaft-single__section--reports {
	background: var(--kc-surface-soft);
}

.ortschaft-single__section--events,
.ortschaft-single__section--events-past {
	background: var(--kc-surface-soft);
}

.verein-single__section--group {
	padding: 24px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	box-shadow: var(--kc-shadow);
	background: var(--kc-surface-soft);
}

.verein-single__section--group .verein-single__section-title {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.verein-single__section--group .verein-single__section-title::before {
	content: "";
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	background-color: var(--kc-accent);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.verein-single__section--social .verein-single__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 13.5 15.8 17.2'/%3E%3Cpath d='M15.6 6.8 8.5 10.5'/%3E%3Ccircle cx='6.5' cy='12' r='2.3'/%3E%3Ccircle cx='17.5' cy='6' r='2.3'/%3E%3Ccircle cx='17.5' cy='18' r='2.3'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 13.5 15.8 17.2'/%3E%3Cpath d='M15.6 6.8 8.5 10.5'/%3E%3Ccircle cx='6.5' cy='12' r='2.3'/%3E%3Ccircle cx='17.5' cy='6' r='2.3'/%3E%3Ccircle cx='17.5' cy='18' r='2.3'/%3E%3C/svg%3E");
}

.verein-single__section--reports .verein-single__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5.5h12a1.5 1.5 0 0 1 1.5 1.5v10.5A1.5 1.5 0 0 1 18 19H7.5A1.5 1.5 0 0 1 6 17.5Z'/%3E%3Cpath d='M6 8.5h13.5'/%3E%3Cpath d='M9 12h7'/%3E%3Cpath d='M9 15h5'/%3E%3Cpath d='M4.5 7v10.5'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5.5h12a1.5 1.5 0 0 1 1.5 1.5v10.5A1.5 1.5 0 0 1 18 19H7.5A1.5 1.5 0 0 1 6 17.5Z'/%3E%3Cpath d='M6 8.5h13.5'/%3E%3Cpath d='M9 12h7'/%3E%3Cpath d='M9 15h5'/%3E%3Cpath d='M4.5 7v10.5'/%3E%3C/svg%3E");
}

.verein-single__section--events .verein-single__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M8 3.5v3M16 3.5v3M3.5 10h17'/%3E%3Cpath d='M8.5 13.5h3M8.5 17h7'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M8 3.5v3M16 3.5v3M3.5 10h17'/%3E%3Cpath d='M8.5 13.5h3M8.5 17h7'/%3E%3C/svg%3E");
}

.ort-single__section--group {
	padding: 24px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	box-shadow: var(--kc-shadow);
	background: var(--kc-surface-soft);
}

.ort-single__section--group .ort-single__section-title {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.ort-single__section--group .ort-single__section-title::before {
	content: "";
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	background-color: var(--kc-accent);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.ort-single__section--reports .ort-single__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5.5h12a1.5 1.5 0 0 1 1.5 1.5v10.5A1.5 1.5 0 0 1 18 19H7.5A1.5 1.5 0 0 1 6 17.5Z'/%3E%3Cpath d='M6 8.5h13.5'/%3E%3Cpath d='M9 12h7'/%3E%3Cpath d='M9 15h5'/%3E%3Cpath d='M4.5 7v10.5'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5.5h12a1.5 1.5 0 0 1 1.5 1.5v10.5A1.5 1.5 0 0 1 18 19H7.5A1.5 1.5 0 0 1 6 17.5Z'/%3E%3Cpath d='M6 8.5h13.5'/%3E%3Cpath d='M9 12h7'/%3E%3Cpath d='M9 15h5'/%3E%3Cpath d='M4.5 7v10.5'/%3E%3C/svg%3E");
}

.ort-single__section--events .ort-single__section-title::before,
.ort-single__section--events-past .ort-single__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M8 3.5v3M16 3.5v3M3.5 10h17'/%3E%3Cpath d='M8.5 13.5h3M8.5 17h7'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M8 3.5v3M16 3.5v3M3.5 10h17'/%3E%3Cpath d='M8.5 13.5h3M8.5 17h7'/%3E%3C/svg%3E");
}

.ortschaft-single__section--group .ortschaft-single__section-title {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.ortschaft-single__section--group .ortschaft-single__section-title::before {
	content: "";
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	background-color: var(--kc-accent);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.ortschaft-single__section--places .ortschaft-single__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s5.2-4.7 5.2-9.5a5.2 5.2 0 1 0-10.4 0c0 4.8 5.2 9.5 5.2 9.5Z'/%3E%3Ccircle cx='12' cy='10.5' r='1.9'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s5.2-4.7 5.2-9.5a5.2 5.2 0 1 0-10.4 0c0 4.8 5.2 9.5 5.2 9.5Z'/%3E%3Ccircle cx='12' cy='10.5' r='1.9'/%3E%3C/svg%3E");
}

.ortschaft-single__section--clubs .ortschaft-single__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='9' r='2.5'/%3E%3Ccircle cx='16' cy='8' r='2.5'/%3E%3Cpath d='M4.5 18c.6-2.3 2.2-3.5 4.9-3.5S13.7 15.7 14.3 18'/%3E%3Cpath d='M12.8 17.2c.5-1.9 1.8-2.9 4.1-2.9 1.6 0 2.8.5 3.6 1.6'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='9' r='2.5'/%3E%3Ccircle cx='16' cy='8' r='2.5'/%3E%3Cpath d='M4.5 18c.6-2.3 2.2-3.5 4.9-3.5S13.7 15.7 14.3 18'/%3E%3Cpath d='M12.8 17.2c.5-1.9 1.8-2.9 4.1-2.9 1.6 0 2.8.5 3.6 1.6'/%3E%3C/svg%3E");
}

.ortschaft-single__section--social .ortschaft-single__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 13.5 15.8 17.2'/%3E%3Cpath d='M15.6 6.8 8.5 10.5'/%3E%3Ccircle cx='6.5' cy='12' r='2.3'/%3E%3Ccircle cx='17.5' cy='6' r='2.3'/%3E%3Ccircle cx='17.5' cy='18' r='2.3'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 13.5 15.8 17.2'/%3E%3Cpath d='M15.6 6.8 8.5 10.5'/%3E%3Ccircle cx='6.5' cy='12' r='2.3'/%3E%3Ccircle cx='17.5' cy='6' r='2.3'/%3E%3Ccircle cx='17.5' cy='18' r='2.3'/%3E%3C/svg%3E");
}

.ortschaft-single__section--reports .ortschaft-single__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5.5h12a1.5 1.5 0 0 1 1.5 1.5v10.5A1.5 1.5 0 0 1 18 19H7.5A1.5 1.5 0 0 1 6 17.5Z'/%3E%3Cpath d='M6 8.5h13.5'/%3E%3Cpath d='M9 12h7'/%3E%3Cpath d='M9 15h5'/%3E%3Cpath d='M4.5 7v10.5'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5.5h12a1.5 1.5 0 0 1 1.5 1.5v10.5A1.5 1.5 0 0 1 18 19H7.5A1.5 1.5 0 0 1 6 17.5Z'/%3E%3Cpath d='M6 8.5h13.5'/%3E%3Cpath d='M9 12h7'/%3E%3Cpath d='M9 15h5'/%3E%3Cpath d='M4.5 7v10.5'/%3E%3C/svg%3E");
}

.ortschaft-single__section--events .ortschaft-single__section-title::before,
.ortschaft-single__section--events-past .ortschaft-single__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M8 3.5v3M16 3.5v3M3.5 10h17'/%3E%3Cpath d='M8.5 13.5h3M8.5 17h7'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M8 3.5v3M16 3.5v3M3.5 10h17'/%3E%3Cpath d='M8.5 13.5h3M8.5 17h7'/%3E%3C/svg%3E");
}

:is(.ort-single__archive, .ortschaft-single__archive, .verein-single__archive) {
	margin-top: 8px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-md);
	background: var(--kc-surface-soft);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

:is(.ort-single__archive, .ortschaft-single__archive, .verein-single__archive):hover {
	border-color: var(--kc-border-hover);
}

:is(.ort-single__archive-toggle, .ortschaft-single__archive-toggle, .verein-single__archive-toggle) {
	cursor: pointer;
	padding: 18px 20px;
	font-weight: 700;
	color: var(--kc-label-text);
	list-style: none;
}

:is(.ort-single__archive-toggle, .ortschaft-single__archive-toggle, .verein-single__archive-toggle)::-webkit-details-marker {
	display: none;
}

:is(.ort-single__archive-toggle, .ortschaft-single__archive-toggle, .verein-single__archive-toggle)::after {
	content: "";
	float: right;
	width: 9px;
	height: 9px;
	margin-top: 5px;
	border-right: 1.75px solid var(--kc-link);
	border-bottom: 1.75px solid var(--kc-link);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

:is(.ort-single__archive, .ortschaft-single__archive, .verein-single__archive)[open]
	:is(.ort-single__archive-toggle, .ortschaft-single__archive-toggle, .verein-single__archive-toggle)::after {
	transform: rotate(225deg);
}

:is(.ort-single__archive-content, .ortschaft-single__archive-content, .verein-single__archive-content) {
	padding: 0 16px 16px;
}

@media (max-width: 900px) {
	:is(.veranstaltung-single__hero, .ort-single__hero, .ortschaft-single__hero, .verein-single__hero),
	:is(.veranstaltung-single__content, .ort-single__content, .ortschaft-single__content, .verein-single__content) {
		grid-template-columns: 1fr;
	}

	:is(.veranstaltung-single__sidebar, .ort-single__sidebar, .ortschaft-single__sidebar, .verein-single__sidebar) {
		position: static;
	}
}

@media (max-width: 640px) {
	:is(.veranstaltung-single__article, .ort-single__article, .ortschaft-single__article, .verein-single__article) {
		padding: 20px 16px 56px;
	}

	:is(.veranstaltung-single__hero-copy, .ort-single__hero-copy, .ortschaft-single__hero-copy, .verein-single__hero-copy),
	:is(.veranstaltung-single__section--box, .ort-single__section--box, .ortschaft-single__section--box, .verein-single__section--box) {
		padding: 22px;
	}

	.ortschaft-single__section--group {
		padding: 20px;
	}

	:is(.veranstaltung-single__facts, .ort-single__facts, .verein-single__facts, .ortschaft-single__facts) {
		grid-template-columns: 1fr;
	}

	.veranstaltung-single__fact--vereine,
	.ort-single__fact--wide {
		grid-column: auto;
	}

	.veranstaltung-single__program-item {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 20px;
	}

	.veranstaltung-single__program-cta {
		margin-left: 0;
		justify-self: start;
	}

	.veranstaltung-single__report-item {
		grid-template-columns: 1fr;
	}

	.veranstaltung-single__report-cta {
		margin-left: 0;
		justify-self: start;
	}

	:is(.veranstaltung-single__image, .ort-single__image, .ortschaft-single__image, .verein-single__image) {
		min-height: 240px;
	}

	.verein-single__image {
		min-height: 0;
	}

	.ort-single__map,
	.ortschaft-single__map {
		min-height: 0;
		height: min(56vw, 240px) !important;
	}

	.ortschaft-single__list-item,
	.ortschaft-single__list-item--event,
	.ortschaft-single__list-item--with-media {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.ortschaft-single__list-cta {
		margin-left: 0;
		text-align: left;
		justify-self: start;
	}

	.verein-single__list-item--event {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.verein-single__list-cta {
		margin-left: 0;
		text-align: left;
		justify-self: start;
	}

	.ort-single__list-item--event {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.ort-single__list-cta {
		margin-left: 0;
		text-align: left;
		justify-self: start;
	}
}

:is(.veranstaltung-archive, .verein-archive, .ortschaft-archive) {
	color: var(--kc-text);
}

:is(.veranstaltung-archive__inner, .verein-archive__inner, .ortschaft-archive__inner) {
	max-width: var(--kc-content-width);
	margin: 0 auto;
	padding: 32px 20px 72px;
}

:is(.veranstaltung-archive__hero, .verein-archive__hero, .ortschaft-archive__hero) {
	margin-bottom: 44px;
	padding: 40px;
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	box-shadow: var(--kc-shadow);
}

:is(.veranstaltung-archive__eyebrow, .verein-archive__eyebrow, .ortschaft-archive__eyebrow) {
	margin: 0 0 12px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

:is(.veranstaltung-archive__title, .verein-archive__title, .ortschaft-archive__title) {
	margin: 0 0 22px;
}

:is(.veranstaltung-archive__intro, .verein-archive__intro, .ortschaft-archive__intro) {
	margin: 0 0 54px;
	color: var(--kc-text-soft);
}

.veranstaltung-archive__title {
	display: flex;
	align-items: center;
	gap: 14px;
}

.veranstaltung-archive__title-icon {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	background-color: var(--kc-accent);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: 36px 36px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3Cpath d='M8.5 13.5h3M8.5 17h7'/%3E%3C/svg%3E");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 36px 36px;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3Cpath d='M8.5 13.5h3M8.5 17h7'/%3E%3C/svg%3E");
}

.veranstaltung-archive__filters,
.verein-archive__filters {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

.veranstaltung-archive__filters {
	margin-bottom: 24px;
}

:is(.veranstaltung-archive__filter, .verein-archive__filter) {
	display: grid;
	gap: 6px;
}

:is(.veranstaltung-archive__filter-label, .verein-archive__filter-label) {
	padding-left: 14px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

:is(.veranstaltung-archive__filter-control, .verein-archive__filter-control) {
	width: 100%;
	cursor: pointer;
	border-radius: 14px;
}

:is(.veranstaltung-archive__filter-actions, .verein-archive__filter-actions) {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: end;
	align-self: end;
}

:is(.veranstaltung-archive__filter-reset, .verein-archive__filter-reset) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: end;
	text-align: center;
	text-decoration: none;
}

:is(.veranstaltung-archive__filter-reset, .verein-archive__filter-reset) {
	box-shadow: var(--kc-shadow);
}

:is(.veranstaltung-archive__filter-reset, .verein-archive__filter-reset):hover,
:is(.veranstaltung-archive__filter-reset, .verein-archive__filter-reset):focus {
	text-decoration: none;
}

:is(.veranstaltung-archive__active-filters, .verein-archive__active-filters) {
	display: grid;
	gap: 10px;
	margin: 0 0 28px;
}

.veranstaltung-archive__active-label,
.verein-archive__active-label,
.veranstaltung-archive__meta-label {
	display: block;
	margin-bottom: 6px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

:is(.veranstaltung-archive__active-list, .verein-archive__active-list) {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

:is(.veranstaltung-archive__active-chip, .verein-archive__active-chip) {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid var(--kc-border-quiet);
	border-radius: 999px;
	background: var(--kc-chip-bg);
	color: var(--kc-text);
	font-weight: 600;
	text-decoration: none;
}

:is(.veranstaltung-archive__active-chip, .verein-archive__active-chip):hover,
:is(.veranstaltung-archive__active-chip, .verein-archive__active-chip):focus {
	color: var(--kc-link);
	border-color: var(--kc-border-hover);
}

:is(.veranstaltung-archive__active-chip-close, .verein-archive__active-chip-close) {
	color: var(--kc-link);
}

:is(.veranstaltung-archive__section, .verein-archive__section, .ortschaft-archive__section) {
	margin: 44px 0 28px;
}

.veranstaltung-archive__section-title {
	margin: 0 0 16px;
}

.veranstaltung-archive__list {
	display: grid;
	gap: 20px;
}

.veranstaltung-archive__card {
	padding: 24px;
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	box-shadow: var(--kc-shadow);
}

.veranstaltung-archive__card-layout {
	display: grid;
	grid-template-columns: minmax(170px, 220px) minmax(160px, 190px) minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
}

.veranstaltung-archive__media {
	display: block;
	overflow: hidden;
	border-radius: var(--kc-radius-md);
	background: var(--kc-surface);
	aspect-ratio: 4 / 3;
}

.veranstaltung-archive__image,
.veranstaltung-archive__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.veranstaltung-archive__image {
	object-position: center top;
	transition: transform 0.28s ease;
}

.veranstaltung-archive__card:hover .veranstaltung-archive__image,
.veranstaltung-archive__card:focus-within .veranstaltung-archive__image {
	transform: scale(1.03);
}

.veranstaltung-archive__date-block {
	min-width: 0;
	padding-top: 2px;
}

.veranstaltung-archive__date-meta {
	display: grid;
	gap: 8px;
}

.veranstaltung-archive__list--past .veranstaltung-archive__card {
	opacity: 0.86;
}

.veranstaltung-archive__date,
.veranstaltung-archive__time {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0;
	font-weight: 700;
	color: var(--kc-text-soft);
}

.veranstaltung-archive__date > span:last-child,
.veranstaltung-archive__time > span:last-child,
.veranstaltung-archive__venue > span:last-child {
	line-height: 1.3;
}

.veranstaltung-archive__date-range-part {
	display: block;
}

.veranstaltung-archive__meta-icon {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	background-color: var(--kc-accent);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: 22px 22px;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 22px 22px;
	opacity: 1;
}

.veranstaltung-archive__meta-icon--calendar {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
}

.veranstaltung-archive__meta-icon--clock {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.veranstaltung-archive__meta-icon--pin {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.33 6-11a6 6 0 1 0-12 0c0 5.67 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.33 6-11a6 6 0 1 0-12 0c0 5.67 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

.veranstaltung-archive__content-block {
	min-width: 0;
	display: grid;
	gap: 8px;
	padding-left: 6px;
}

.veranstaltung-archive__card-title {
	margin: 0;
}

.veranstaltung-archive__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	align-self: center;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.veranstaltung-archive__button:hover,
.veranstaltung-archive__button:focus {
	text-decoration: none;
}

.veranstaltung-archive__excerpt {
	margin: 0;
	color: var(--kc-text);
}

.veranstaltung-archive__excerpt p {
	margin: 0;
}

.veranstaltung-archive__excerpt > :last-child {
	margin-bottom: 0;
}

.veranstaltung-archive__venue {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0;
	color: var(--kc-venue-text);
}

.veranstaltung-archive__venue-name {
	color: var(--kc-text-soft);
	font-weight: 400;
	font-style: italic;
}

.veranstaltung-archive__archive {
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-md);
	background: var(--kc-surface-soft);
}

.veranstaltung-archive__archive-toggle {
	cursor: pointer;
	padding: 18px 20px;
	font-weight: 700;
	color: var(--kc-text);
	list-style: none;
}

.veranstaltung-archive__archive-toggle::-webkit-details-marker {
	display: none;
}

.veranstaltung-archive__archive-toggle::after {
	content: "+";
	float: right;
	color: var(--kc-link);
}

.veranstaltung-archive__archive[open] .veranstaltung-archive__archive-toggle::after {
	content: "−";
}

.veranstaltung-archive__archive-content {
	padding: 0 16px 16px;
}

@media (max-width: 640px) {
	.veranstaltung-archive__inner {
		padding: 20px 16px 56px;
	}

	.veranstaltung-archive__hero,
	.veranstaltung-archive__card {
		padding: 22px;
	}

	.veranstaltung-archive__title {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.veranstaltung-archive__card-layout {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.veranstaltung-archive__media {
		max-width: 320px;
	}

	.veranstaltung-archive__content-block {
		padding-left: 0;
	}

	.veranstaltung-archive__button {
		margin-left: 0;
		align-self: flex-start;
	}
}

.verein-archive__grid,
.ortschaft-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.ortschaft-archive__search {
	display: grid;
	gap: 10px;
	max-width: 860px;
	margin: 0;
}

.ortschaft-archive__result-count {
	margin: 10px 0 0;
	color: var(--kc-text-soft);
}

.ortschaft-archive__search-row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 0;
}

.ortschaft-archive__search-input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 52px;
}

.ortschaft-archive__search-input:focus {
	outline: none;
}

.ortschaft-archive__search-actions {
	display: flex;
	gap: 8px;
}

.ortschaft-archive__search-button,
.ortschaft-archive__search-reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.ortschaft-archive__search-button:hover,
.ortschaft-archive__search-button:focus,
.ortschaft-archive__search-reset:hover,
.ortschaft-archive__search-reset:focus {
	text-decoration: none;
}

.verein-archive__card,
.ortschaft-archive__card {
	overflow: hidden;
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	box-shadow: var(--kc-shadow);
}

.verein-archive__media-link,
.ortschaft-archive__media-link {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--kc-surface-soft);
}

.verein-archive__image,
.verein-archive__placeholder,
.ortschaft-archive__image,
.ortschaft-archive__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.verein-archive__content,
.ortschaft-archive__content {
	display: grid;
	gap: 14px;
	padding: 20px;
}

.verein-archive__card-title,
.ortschaft-archive__card-title {
	margin: 0;
	text-align: center;
}

.verein-archive__card-title {
	line-height: 1.25;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	min-height: calc(1.25em * 2);
}

.ortschaft-archive__card-text {
	margin: 0;
	color: var(--kc-text-soft);
	text-align: center;
}

.verein-archive__button,
.ortschaft-archive__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
}

.verein-archive__button:hover,
.verein-archive__button:focus,
.ortschaft-archive__button:hover,
.ortschaft-archive__button:focus {
	text-decoration: none;
}

.verein-archive__empty,
.ortschaft-archive__empty {
	margin: 0;
	padding: 22px 24px;
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
}

@media (max-width: 900px) {
	.verein-archive__grid,
	.ortschaft-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	:is(.veranstaltung-archive__inner, .verein-archive__inner, .ortschaft-archive__inner) {
		padding: 20px 16px 56px;
	}

	:is(.veranstaltung-archive__hero, .verein-archive__hero, .ortschaft-archive__hero) {
		padding: 22px;
	}

	.verein-archive__grid,
	.ortschaft-archive__grid {
		grid-template-columns: 1fr;
	}

	.ortschaft-archive__search-row {
		flex-direction: column;
		align-items: stretch;
	}

	.ortschaft-archive__search-button {
		width: 100%;
	}
}

.search-results-page {
	color: var(--kc-text);
	font-family: var(--kc-font-body);
	background: var(--kc-surface);
}

.search-results-page__inner {
	max-width: var(--kc-content-width);
	margin: 0 auto;
	padding: 32px 20px 72px;
}

.search-results-page__hero {
	margin-bottom: 44px;
	padding: 32px;
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	box-shadow: var(--kc-shadow);
}

.search-results-page__eyebrow {
	margin: 0 0 12px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.search-results-page__title {
	margin: 0 0 18px;
}

.search-results-page__intro {
	margin: 0 0 24px;
	color: var(--kc-text-soft);
}

.search-results-page__form {
	max-width: 860px;
}

.search-results-page__form-row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 0;
}

.search-results-page__input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 52px;
}

.search-results-page__input:focus {
	outline: none;
}

.search-results-page__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.search-results-page__button:hover,
.search-results-page__button:focus {
	text-decoration: none;
}

.search-results-page__section {
	margin: 64px 0 36px;
}

.search-results-page__section-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
}

.search-results-page__section-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--kc-chip-bg);
	color: var(--kc-label-text);
	font-weight: 700;
}

.search-results-page__list {
	display: grid;
	gap: 18px;
}

.search-results-page__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: start;
	padding: 24px;
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	box-shadow: var(--kc-shadow);
}

.search-results-page__card-main {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.search-results-page__card-media {
	border-radius: 16px;
	overflow: hidden;
	background: var(--kc-surface);
	min-height: 112px;
}

.search-results-page__card-image {
	display: block;
	width: 100%;
	height: 112px;
	object-fit: cover;
	object-position: center top;
}

.search-results-page__card-media--empty {
	background: transparent;
	border: 0;
}

.search-results-page__card-type {
	margin: 0 0 8px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.search-results-page__card-title {
	margin: 0 0 10px;
	color: var(--kc-heading);
}

.search-results-page__card-excerpt {
	color: var(--kc-text);
}

.search-results-page__card-excerpt > :last-child {
	margin-bottom: 0;
}

.search-results-page__card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.search-results-page__card-button:hover,
.search-results-page__card-button:focus {
	text-decoration: none;
}

.search-results-page__empty {
	margin: 0;
	padding: 22px 24px;
	background: var(--kc-surface-soft);
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
}

@media (max-width: 640px) {
	.search-results-page__inner {
		padding: 20px 16px 56px;
	}

	.search-results-page__hero {
		padding: 22px;
	}

	.search-results-page__form-row,
	.search-results-page__card {
		grid-template-columns: 1fr;
	}

	.search-results-page__card-main {
		grid-template-columns: 1fr;
	}

	.search-results-page__card-media {
		max-width: 112px;
	}

	.search-results-page__form-row {
		flex-direction: column;
		align-items: flex-start;
	}

	.search-results-page__button,
	.search-results-page__card-button {
		width: auto;
	}
}

.front-page {
	color: var(--kc-text);
	font-family: var(--kc-font-body);
	background: var(--kc-surface);
	overflow-x: clip;
}

.front-page__inner {
	max-width: var(--kc-content-width);
	margin: 0 auto;
	padding: 32px 1rem 72px;
}

.front-page__hero {
	display: grid;
	gap: 28px;
	margin-bottom: 48px;
}

.front-page__hero-media {
	overflow: hidden;
	border-radius: var(--kc-radius-lg);
	box-shadow: var(--kc-shadow);
}

.front-page__hero-image {
	display: block;
	width: 100%;
	height: auto;
	min-height: 300px;
	max-height: 420px;
	object-fit: cover;
}

.front-page__hero-bottom {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(240px, 1fr);
	gap: 20px;
	align-items: stretch;
}

.front-page__hero-copy,
.front-page__hero-stats,
.front-page__search-box {
	display: grid;
	align-content: start;
	gap: 0;
	padding: 32px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.front-page__search-box {
	background: color-mix(in srgb, var(--kc-accent) 6%, var(--kc-surface-soft) 94%);
	border-color: color-mix(in srgb, var(--kc-accent) 30%, var(--kc-border) 70%);
}

.front-page__hero-copy {
	min-height: 100%;
}

.front-page__eyebrow,
.front-page__section-eyebrow {
	margin: 0 0 12px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.front-page__title {
	margin: 0 0 14px;
	max-width: 16ch;
	line-height: 1.08;
}

.front-page__intro,
.front-page__search-text {
	margin: 0 0 22px;
	max-width: 58ch;
	color: var(--kc-text-soft);
}

.front-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: auto;
	padding-top: 6px;
}

.front-page__button,
.front-page__section-link,
.front-page__event-button,
.front-page__card-button,
.front-page__search-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.front-page__button,
.front-page__event-button,
.front-page__card-button,
.front-page__search-button {
	text-decoration: none;
}

.front-page__button:hover,
.front-page__button:focus,
.front-page__event-button:hover,
.front-page__event-button:focus,
.front-page__card-button:hover,
.front-page__card-button:focus,
.front-page__search-button:hover,
.front-page__search-button:focus {
	text-decoration: none;
}

.front-page__button--primary {
	text-decoration: none;
}

.front-page__button--primary:hover,
.front-page__button--primary:focus {
	text-decoration: none;
}

.front-page__hero-stats {
	display: grid;
	height: 100%;
	grid-template-columns: 1fr;
	gap: 12px;
	align-content: stretch;
}

.front-page__stat {
	display: grid;
	gap: 2px;
	align-content: center;
	padding: 18px 18px 16px;
	border: 1px solid var(--kc-border-soft);
	border-radius: var(--kc-radius-md);
	background: var(--kc-card-overlay);
}

.front-page__stat-value {
	display: block;
	margin-bottom: 0;
	line-height: 1;
	font-weight: 700;
}

.front-page__stat-label {
	display: block;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-text-soft);
}

.front-page__section {
	position: relative;
	z-index: 0;
	isolation: isolate;
	margin: 112px 0 0;
	padding: 12px 0;
}

.front-page__section--band::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	top: -20px;
	bottom: -20px;
	width: 100vw;
	transform: translateX(-50%);
	background: var(--kc-surface);
	border-top: 1px solid transparent;
	border-bottom: 1px solid transparent;
}

.front-page__section-head {
	margin-bottom: 22px;
}

.front-page__section-head--split {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: end;
	justify-content: space-between;
}

.front-page__section-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 24px;
}

.front-page__section-title {
	margin: 0;
}

.front-page__section-link {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.front-page__section-link--button {
	padding: initial;
	border: initial;
	background: initial;
	color: inherit;
	text-decoration: none;
	text-underline-offset: initial;
}

.front-page__entry-grid,
.front-page__card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.front-page__entry-card,
.front-page__card {
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.front-page__entry-card {
	display: grid;
	align-content: start;
	gap: 0;
	padding: 24px;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.front-page__entry-card:hover,
.front-page__entry-card:focus {
	border-color: var(--kc-border-hover);
	background: var(--kc-surface-soft);
	transform: translateY(-1px);
}

.front-page__entry-icon {
	display: inline-flex;
	width: 40px;
	height: 40px;
	margin-bottom: 18px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px 40px;
}

.front-page__entry-icon--events {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d5a27' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M8 3.5v3M16 3.5v3M3.5 10h17'/%3E%3Cpath d='M8.5 13.5h3M8.5 17h7'/%3E%3C/svg%3E");
}

.front-page__entry-icon--clubs {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d5a27' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='9' r='2.5'/%3E%3Ccircle cx='16' cy='8' r='2.5'/%3E%3Cpath d='M4.5 18c.6-2.3 2.2-3.5 4.9-3.5S13.7 15.7 14.3 18'/%3E%3Cpath d='M12.8 17.2c.5-1.9 1.8-2.9 4.1-2.9 1.6 0 2.8.5 3.6 1.6'/%3E%3C/svg%3E");
}

.front-page__entry-icon--places {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d5a27' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s5.2-4.7 5.2-9.5a5.2 5.2 0 1 0-10.4 0c0 4.8 5.2 9.5 5.2 9.5Z'/%3E%3Ccircle cx='12' cy='10.5' r='1.9'/%3E%3C/svg%3E");
}

.front-page__entry-title {
	margin: 0 0 12px;
}

.front-page__entry-text {
	margin: 0;
	color: var(--kc-text-soft);
}

.front-page__entry-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	align-self: flex-start;
	margin-top: 22px;
	text-decoration: none;
	white-space: nowrap;
}

.front-page__entry-card:hover .front-page__entry-button,
.front-page__entry-card:focus .front-page__entry-button {
	text-decoration: none;
}

.front-page__events {
	display: grid;
	gap: 20px;
}

.front-page__event-card {
	display: grid;
	grid-template-columns: minmax(170px, 220px) minmax(160px, 190px) minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	padding: 24px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.front-page__event-media {
	display: block;
	overflow: hidden;
	border-radius: var(--kc-radius-md);
	background: var(--kc-surface);
	aspect-ratio: 4 / 3;
}

.front-page__event-image,
.front-page__event-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.front-page__event-image {
	object-position: center top;
	transition: transform 0.28s ease;
}

.front-page__event-card:hover .front-page__event-image,
.front-page__event-card:focus-within .front-page__event-image {
	transform: scale(1.03);
}

.front-page__event-meta,
.front-page__event-body {
	display: grid;
	align-content: start;
}

.front-page__event-meta {
	min-width: 0;
	gap: 8px;
	padding-right: 4px;
	color: var(--kc-label-text);
}

.front-page__event-body {
	gap: 12px;
	padding-left: 6px;
}

.front-page__event-date,
.front-page__event-time {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0;
	font-weight: 700;
	color: var(--kc-text-soft);
}

.front-page__event-date > span:last-child,
.front-page__event-time > span:last-child,
.front-page__event-venue > span:last-child {
	line-height: 1.3;
}

.front-page__date-range-part {
	display: block;
}

.front-page__event-time {
	margin-top: 0;
}

.front-page__meta-icon {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	background-color: var(--kc-accent);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: 22px 22px;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 22px 22px;
	opacity: 1;
}

.front-page__meta-icon--calendar {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
}

.front-page__meta-icon--clock {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.front-page__meta-icon--pin {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.33 6-11a6 6 0 1 0-12 0c0 5.67 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.33 6-11a6 6 0 1 0-12 0c0 5.67 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

.front-page__event-title {
	margin: 0;
}

.front-page__event-excerpt {
	margin: 0;
	color: var(--kc-text);
}

.front-page__event-venue {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0;
	color: var(--kc-text-soft);
	font-style: italic;
}

.front-page__event-button {
	margin-left: auto;
	align-self: center;
}

.front-page__card {
	overflow: hidden;
	display: grid;
	grid-template-rows: auto 1fr;
	transition: border-color 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.front-page__card:hover,
.front-page__card:focus-within {
	border-color: var(--kc-border-hover);
	background: var(--kc-surface-soft);
	transform: translateY(-1px);
}

.front-page__card-media {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--kc-surface-soft);
	overflow: hidden;
}

.front-page__card-image,
.front-page__card-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.front-page__card-image {
	transition: transform 0.28s ease;
}

.front-page__card:hover .front-page__card-image,
.front-page__card:focus-within .front-page__card-image {
	transform: scale(1.03);
}

.front-page__card-content {
	display: grid;
	align-content: start;
	gap: 16px;
	min-height: 100%;
	padding: 22px 22px 24px;
}

.front-page__card-title {
	margin: 0;
	text-align: center;
	line-height: 1.25;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	min-height: calc(1.25em * 2);
}

.front-page__card-button {
	margin-top: auto;
}

.front-page__cta {
	display: grid;
	gap: 20px;
	justify-items: center;
	text-align: center;
	padding: 32px;
	border: 1px solid color-mix(in srgb, var(--kc-accent) 22%, var(--kc-border) 78%);
	border-radius: var(--kc-radius-lg);
	background: color-mix(in srgb, var(--kc-accent) 10%, var(--kc-surface-soft) 90%);
	box-shadow: var(--kc-shadow);
}

.front-page__cta-text {
	margin: 10px 0 0;
	max-width: 62ch;
	color: var(--kc-text-soft);
}

.front-page__cta-actions {
	display: flex;
	align-items: center;
	justify-content: center;
}

.front-page__search-form {
	max-width: 720px;
}

.front-page__search-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0;
}

.front-page__search-input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 52px;
}

.front-page__search-button {
	flex: 0 0 auto;
}

.front-page__search-input:focus {
	outline: none;
}

.front-page__empty {
	margin: 0;
	padding: 22px 24px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
}

@media (max-width: 900px) {
	.front-page__hero-bottom,
	.front-page__entry-grid {
		grid-template-columns: 1fr;
	}

	.front-page__card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.front-page__title,
	.front-page__intro,
	.front-page__search-text {
		max-width: none;
	}

	.front-page__event-card {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 18px;
	}

	.front-page__event-media {
		max-width: 320px;
	}

	.front-page__event-button {
		margin-left: 0;
		align-self: flex-start;
	}

	.front-page__event-body {
		padding-left: 0;
	}

	.front-page__cta-actions {
		justify-content: center;
	}

	.front-page__issue-box {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.front-page__issue-media {
		order: 1;
		align-self: center;
		width: min(220px, 100%);
		max-width: 100%;
	}

	.front-page__issue-content {
		order: 2;
		width: 100%;
	}
}

@media (max-width: 640px) {
	.front-page__inner {
		padding: 20px 1rem 56px;
	}

	.front-page__section {
		margin-top: 72px;
		padding: 10px 0;
	}

	.front-page__hero-copy,
	.front-page__hero-stats,
	.front-page__search-box {
		padding: 22px;
	}

	.front-page__hero-stats {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.front-page__stat {
		padding: 14px 10px 12px;
		text-align: center;
	}

	.front-page__stat-value {
		margin-bottom: 6px;
	}

	.front-page__stat-label {
	}

	.front-page__hero-image {
		min-height: 200px;
	}

	.front-page__card-grid {
		grid-template-columns: 1fr;
	}

	.front-page__search-row,
	.front-page__actions {
		flex-direction: column;
		align-items: flex-start;
	}

	.front-page__search-form,
	.front-page__search-row,
	.front-page__search-input {
		width: 100%;
	}

	.front-page__section-actions {
		justify-content: center;
	}

	.front-page__button,
	.front-page__event-button,
	.front-page__card-button,
	.front-page__search-button {
		width: auto;
	}
}

.front-page__issue-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(140px, 180px);
	gap: 24px;
	align-items: start;
	padding: 24px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.front-page__issue-media {
	order: 2;
	overflow: hidden;
	border-radius: var(--kc-radius-md);
	background: var(--kc-surface-soft);
	aspect-ratio: 3 / 4;
	max-width: 220px;
}

.front-page__issue-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.front-page__issue-content {
	display: grid;
	gap: 20px;
	min-width: 0;
	order: 1;
}

.front-page__issue-meta {
	margin: 0;
	font-weight: 700;
	color: var(--kc-text-soft);
}

.front-page__issue-title {
	margin: 0;
}

.front-page__issue-title a {
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.front-page__issue-text {
	margin: 0;
	color: var(--kc-text-soft);
}

.front-page__issue-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: flex-start;
}

.front-page__button--external::after {
	content: "\2197";
	margin-left: 8px;
	font-size: 0.95em;
	line-height: 1;
}

@media (max-width: 900px) {
	.front-page__issue-box {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.front-page__issue-media {
		order: 1;
		align-self: center;
		width: min(220px, 100%);
		max-width: 100%;
	}

	.front-page__issue-content {
		order: 2;
		width: 100%;
	}
}

@media (min-width: 901px) {
	.front-page__issue-box {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(140px, 180px);
		gap: 24px;
	}

	.front-page__issue-media {
		order: 2;
		align-self: start;
		width: auto;
		max-width: 220px;
	}

	.front-page__issue-content {
		order: 1;
		width: auto;
	}
}

.gemeindeblatt-archive,
.gemeindeblatt-single {
	color: var(--kc-text);
	font-family: var(--kc-font-body);
	background: var(--kc-surface);
}

.gemeindeblatt-archive__inner,
.gemeindeblatt-single__article {
	max-width: var(--kc-content-width);
	margin: 0 auto;
	padding: 32px 20px 72px;
}

.gemeindeblatt-archive__hero,
.gemeindeblatt-single__hero {
	padding: 32px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.gemeindeblatt-single__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.8fr);
	gap: 32px;
	align-items: start;
	margin-bottom: 40px;
}

.gemeindeblatt-archive__eyebrow,
.gemeindeblatt-single__eyebrow {
	margin: 0 0 12px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.gemeindeblatt-archive__title,
.gemeindeblatt-single__title {
	margin: 0 0 18px;
}

.gemeindeblatt-archive__intro,
.gemeindeblatt-single__intro {
	margin: 0;
	color: var(--kc-text-soft);
}

.gemeindeblatt-archive__section,
.gemeindeblatt-single__section {
	margin-top: 64px;
}

.gemeindeblatt-archive__years {
	display: grid;
	gap: 28px;
}

.gemeindeblatt-archive__year {
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
	transition: border-color 0.2s ease;
}

.gemeindeblatt-archive__year:hover {
	border-color: var(--kc-border-hover);
}

.gemeindeblatt-archive__year-toggle {
	cursor: pointer;
	padding: 20px 24px;
	font-weight: 700;
	list-style: none;
	color: var(--kc-text);
}

.gemeindeblatt-archive__year-toggle::-webkit-details-marker {
	display: none;
}

.gemeindeblatt-archive__year-toggle::after {
	content: "";
	float: right;
	width: 9px;
	height: 9px;
	margin-top: 8px;
	border-right: 1.75px solid var(--kc-link);
	border-bottom: 1.75px solid var(--kc-link);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.gemeindeblatt-archive__year[open] .gemeindeblatt-archive__year-toggle::after {
	transform: rotate(225deg);
}

.gemeindeblatt-archive__year-content {
	padding: 0 24px 24px;
}

.gemeindeblatt-single__section-title {
	margin: 0 0 18px;
}

.gemeindeblatt-archive__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.gemeindeblatt-archive__card {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	align-items: start;
	overflow: hidden;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.gemeindeblatt-archive__media {
	display: block;
	aspect-ratio: 3 / 4;
	background: var(--kc-surface-soft);
}

.gemeindeblatt-archive__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gemeindeblatt-archive__content {
	display: grid;
	gap: 10px;
	padding: 0 24px;
}

.gemeindeblatt-archive__meta {
	margin: 0 0 8px;
	font-weight: 700;
	color: var(--kc-text-soft);
}

.gemeindeblatt-archive__card-title {
	margin: 0 0 10px;
}

.gemeindeblatt-archive__card-title a {
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.gemeindeblatt-archive__excerpt {
	margin: 0;
	color: var(--kc-text);
}

.gemeindeblatt-archive__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: flex-start;
	padding: 0 24px 24px;
}

.gemeindeblatt-archive__button,
.gemeindeblatt-single__list-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.gemeindeblatt-archive__button:hover,
.gemeindeblatt-archive__button:focus,
.gemeindeblatt-single__list-cta:hover,
.gemeindeblatt-single__list-cta:focus {
	text-decoration: none;
}

.gemeindeblatt-archive__button--secondary::after {
	content: "\2197";
	margin-left: 8px;
	font-size: 0.95em;
	line-height: 1;
	transition: color 0.2s ease;
}

.gemeindeblatt-archive__empty {
	margin: 0;
	padding: 22px 24px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.gemeindeblatt-single__meta {
	margin: 0 0 14px;
	font-weight: 700;
	color: var(--kc-text-soft);
}

.gemeindeblatt-single__media {
	overflow: hidden;
	border-radius: var(--kc-radius-lg);
	background: var(--kc-card-overlay);
	box-shadow: var(--kc-shadow);
}

.gemeindeblatt-single__image {
	display: block;
	width: 100%;
	height: auto;
}

.gemeindeblatt-single__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	align-items: stretch;
}

.gemeindeblatt-single__list-item {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	align-content: start;
	padding: 24px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.gemeindeblatt-single__list-main {
	display: grid;
	gap: 12px;
}

.gemeindeblatt-single__list-meta {
	margin: 0;
	font-weight: 700;
	color: var(--kc-text-soft);
}

.gemeindeblatt-single__list-meta a {
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.gemeindeblatt-single__list-title {
	margin: 0;
}

.gemeindeblatt-single__report-lines {
	display: grid;
	gap: 6px;
}

.gemeindeblatt-single__report-line {
	margin: 0;
}

.gemeindeblatt-single__report-line a {
	color: var(--kc-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.gemeindeblatt-single__list-excerpt {
	margin: 0;
	color: var(--kc-text);
}

.gemeindeblatt-single__list-actions {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	margin-top: auto;
}

@media (max-width: 900px) {
	.gemeindeblatt-single__hero,
	.gemeindeblatt-archive__card {
		grid-template-columns: 1fr;
	}

	.gemeindeblatt-archive__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gemeindeblatt-archive__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	.front-page__issue-actions,
	.gemeindeblatt-archive__actions {
		flex-direction: column;
		align-items: flex-start;
	}

	.front-page__issue-actions .front-page__button,
	.gemeindeblatt-archive__button,
	.gemeindeblatt-single__list-cta {
		width: auto;
	}

	.gemeindeblatt-archive__inner,
	.gemeindeblatt-single__article {
		padding: 20px 16px 56px;
	}

	.gemeindeblatt-archive__hero,
	.gemeindeblatt-single__hero,
	.gemeindeblatt-single__list-item {
		padding: 22px;
	}

	.gemeindeblatt-archive__year-toggle,
	.gemeindeblatt-archive__year-content {
		padding-left: 22px;
		padding-right: 22px;
	}

	.gemeindeblatt-archive__content,
	.gemeindeblatt-archive__actions {
		padding-left: 22px;
		padding-right: 22px;
	}

	.gemeindeblatt-archive__actions {
		padding-bottom: 22px;
	}

	.gemeindeblatt-single__list {
		grid-template-columns: 1fr;
	}

	.gemeindeblatt-archive__list {
		grid-template-columns: 1fr;
	}
}

.mitmachen-page {
	color: var(--kc-text);
	font-family: var(--kc-font-body);
	background: var(--kc-surface);
}

.mitmachen-page__article {
	max-width: var(--kc-content-width);
	margin: 0 auto;
	padding: 32px 20px 72px;
}

.mitmachen-page__hero {
	margin-bottom: 40px;
}

.mitmachen-page__hero-copy {
	padding: 32px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.mitmachen-page__eyebrow {
	margin: 0 0 12px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.mitmachen-page__title {
	margin: 0 0 18px;
}

.mitmachen-page__intro {
	color: var(--kc-text-soft);
}

.mitmachen-page__intro > :last-child {
	margin-bottom: 0;
}

.mitmachen-page__content {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(260px, 0.9fr);
	gap: 32px;
	align-items: start;
}

.mitmachen-page__section {
	margin: 64px 0 36px;
}

.mitmachen-page__section--box {
	padding: 24px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
	box-shadow: var(--kc-shadow);
}

.mitmachen-page__section--highlight {
	background: color-mix(in srgb, var(--global-palette2, #d6c4a0) 50%, var(--kc-surface) 50%);
	text-align: center;
}

.mitmachen-page__section--highlight .mitmachen-page__section-title {
	text-align: center;
}

.mitmachen-page__section-title {
	margin: 0 0 16px;
}

.mitmachen-page__section--help .mitmachen-page__section-title,
.mitmachen-page__section--message .mitmachen-page__section-title,
.mitmachen-page__section--contact .mitmachen-page__section-title {
	display: flex;
	align-items: center;
	gap: 14px;
}

.mitmachen-page__section--help .mitmachen-page__section-title::before,
.mitmachen-page__section--message .mitmachen-page__section-title::before,
.mitmachen-page__section--contact .mitmachen-page__section-title::before {
	content: "";
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	background: var(--kc-accent);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.mitmachen-page__section--help .mitmachen-page__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='9' r='2.5'/%3E%3Ccircle cx='16' cy='8' r='2.5'/%3E%3Cpath d='M4.5 18c.6-2.3 2.2-3.5 4.9-3.5S13.7 15.7 14.3 18'/%3E%3Cpath d='M12.8 17.2c.5-1.9 1.8-2.9 4.1-2.9 1.6 0 2.8.5 3.6 1.6'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='9' r='2.5'/%3E%3Ccircle cx='16' cy='8' r='2.5'/%3E%3Cpath d='M4.5 18c.6-2.3 2.2-3.5 4.9-3.5S13.7 15.7 14.3 18'/%3E%3Cpath d='M12.8 17.2c.5-1.9 1.8-2.9 4.1-2.9 1.6 0 2.8.5 3.6 1.6'/%3E%3C/svg%3E");
}

.mitmachen-page__section--message .mitmachen-page__section-title::before,
.mitmachen-page__section--contact .mitmachen-page__section-title::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5h16v11H4z'/%3E%3Cpath d='m5.5 8 6.5 5 6.5-5'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5h16v11H4z'/%3E%3Cpath d='m5.5 8 6.5 5 6.5-5'/%3E%3C/svg%3E");
}

.mitmachen-page__wysiwyg,
.mitmachen-page__meta-text,
.mitmachen-page__form {
	color: var(--kc-text);
}

.mitmachen-page__wysiwyg > :last-child,
.mitmachen-page__meta-text > :last-child,
.mitmachen-page__form > :last-child {
	margin-bottom: 0;
}

.mitmachen-page__list {
	margin: 0;
	padding-left: 1.2rem;
}

.mitmachen-page__main {
	padding-left: 0;
}

.mitmachen-page__list li + li {
	margin-top: 8px;
}

.mitmachen-page__sidebar {
	position: sticky;
	top: 24px;
}

.mitmachen-page__meta-row {
	display: grid;
	gap: 4px;
	padding: 14px 0;
	border-bottom: 1px solid var(--kc-border);
}

.mitmachen-page__meta-row:first-of-type {
	padding-top: 0;
}

.mitmachen-page__meta-row:last-of-type {
	padding-bottom: 0;
	border-bottom: 0;
}

.mitmachen-page__meta-label {
	display: block;
	margin-bottom: 1px;
	font-size: var(--kc-label-size);
	line-height: var(--kc-label-line-height);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--kc-label-text);
}

.mitmachen-page__meta-value {
	color: var(--kc-link);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.mitmachen-page__form {
	margin-top: 20px;
	padding: 24px;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius-lg);
	background: var(--kc-surface-soft);
}

@media (max-width: 900px) {
	.mitmachen-page__content {
		grid-template-columns: 1fr;
	}

	.mitmachen-page__sidebar {
		position: static;
	}
}

@media (max-width: 640px) {
	.mitmachen-page__article {
		padding: 20px 16px 56px;
	}

	.mitmachen-page__hero-copy,
	.mitmachen-page__section--box,
	.mitmachen-page__form {
		padding: 22px;
	}
}
