.main {
	display: flex;
	flex-direction: column;
	gap: var(--gap-m);
}

.main:not(:has(.page__body)) {
	padding-inline: max(.8rem, 3vw);
}

.pagecontent {
	margin-inline: auto;
	max-width: 50rem;
}

.page__header, .page__body {

	display: grid;
		grid-template-columns: minmax(.8rem, 1fr) minmax(auto, 68ch) minmax(.8rem, 1fr);
		grid-template-areas:
		". content ."
		". wide ."
		"scenic scenic scenic";
		> * {
			grid-column: content;
		}

		> .wide {
			grid-column: wide;
		}

		> .scenic {
			grid-column: scenic;
		}

	@media (min-width: 1000px) {

		grid-template-columns:  minmax(.8rem, 1fr)  4rem  minmax(auto, 68ch)  4rem  minmax(.8rem, 1fr) ;
		grid-template-areas: 
		". . content . ."
		". wide wide wide ."
		"scenic scenic scenic scenic scenic";

	}

}

.page__body {

	margin-top: .75lh;

	.has-text-align-left { text-align: left; }
	.has-text-align-center { text-align: center; }
	.has-text-align-right { text-align: right; }

	> *:not(:last-child) {
		margin-bottom: .75lh;
	}

	> .paragraph,
	> .list {
		font-family: "serif-font", serif;
		font-size: var(--f-size-m);
		font-variant-numeric: oldstyle-nums;
		hyphens: auto;
		-webkit-hyphenate-limit-before: 3;
		-webkit-hyphenate-limit-after: 3;
		hyphenate-limit-chars: 8 3 3;
	}

	.list {
		counter-reset: item;
	}

	.list	.entry {
		display: block;
	}

	.list	.entry:not(:last-child) {
		margin-bottom: .25lh;
	}

	.list	.entry:before {
		color: var(--c-accent);
		display: inline-block;
		font-family: "sans-font", sans-serif;
		font-variant-numeric: tabular-nums;
		font-weight: var(--f-weight-mb);
		line-height: 1lh;
		min-width: 1lh;
	}

	.list	.entry > .list {
		margin-top: .25lh;
	}

	.list.ordered .entry {
		counter-increment: item;
	}

	.list.ordered .entry:before {
		content: counter(item);
	}

	.list.ordered .ordered .entry:before {
		content: counters(item, ".", decimal);
		min-width: 1.5lh;
	}

	.list.unordered > .entry:before {
		content: "•";	/* › » → ‣ */
	}

	.list.unordered .unordered > .entry:before {
		content: "-";
	}

	@media (min-width: 1000px) { /* changing lists outside of body */

		.list .entry:before {
			margin-inline: -1.5lh .5lh;
			text-align: right;
		}

		.list	.list .entry {
			margin-left: .7lh;
		}

		.list.ordered .ordered .entry {
			margin-left: 1.5lh;
		}

		.list.ordered	.ordered .entry:before {
			margin-inline: -1.5lh 0;
			text-align: left;
		}

	}

}


/* ===== EVENT LIST ===== */

.events-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-m);
}

.events-month__title {
	border-bottom: 1px solid var(--c-canvas-medium);
	color: var(--c-prominent);
	font-size: var(--f-size-xl);
	font-weight: var(--f-weight-xb);
	padding-block: var(--gap-l) var(--gap-xs);
}

.event {
	padding-top: var(--gap-m);
}

.event:not(:first-child) {
	border-top: 1px solid var(--c-canvas-medium);
}

.event__header {
	align-items: baseline;
	display: flex;
	/*gap: var(--gap-s);*/
	line-height: 1.4;
}

.event__date {
	display: flex;
	flex: 0 0 4rem;
	flex-direction: column;
}

.event__day-month {
	display: flex;
	align-items: center;
}

.event__day {
	border-right: 1px solid var(--c-canvas-medium);
	font-size: var(--f-size-l);
	font-weight: var(--f-weight-bd);
	margin-right: .1rem;
	padding-right: .35rem;
}

.event__month, .event__time, .event__location {
	color: var(--c-secondary);
}

.event__details {
	flex: 1 1 auto;
	min-width: 0; /* verhindert das automatische ausdehnen des elements */
}

.event__title {
	font-weight: var(--f-weight-bd);
	text-wrap: balance;
}

.event__location {
	color: var(--c-secondary);
}

.event__description {
	hyphens: auto;
	-webkit-hyphenate-limit-before: 3;
	-webkit-hyphenate-limit-after: 3;
	hyphenate-limit-chars: 8 3 3;
	text-wrap: pretty;
}

.event__time, .event__location, .event__content, .event__meta {
	font-size: var(--f-size-s);
}

.event__phone, .event__mail, .event__website, .event__document {
	align-items: center;
	display: flex;
	font-size: var(--f-size-s);
	gap: var(--gap-xs);
} 

.event__meta .icon {
  height: 1.1rem;
}

/* Tablet Layout Landscape und größer: auto-fit grid */
@media (min-width: 1024px) {

	.main {
		margin: auto;
		max-width: 1600px;
	}

	.events-list {
		align-items: start;
		gap: var(--gap-l);
		grid-template-columns: repeat(2, 1fr);
	}

	.events-month__title {
		margin-bottom: var(--gap-m);
	}

	.event {
		padding-top: 0;
	}

	.event:not(:first-child) {
		border: unset;
	}

	.event__content, .event__meta {
		margin-left: 4rem;
		margin-top: var(--gap-xs);
		padding-top: var(--gap-xs);
	}

	.event__content {
		border-top: 1px solid var(--c-canvas-medium);
	}


}

@media (min-width: 1650px) {

	.event__month, .event__title {
		font-size: var(--f-size-l);
	}

	.event__time, .event__location, .event__content, .event__meta {
		font-size: inherit;
	}

}

/* Amtsverwaltung */

.sachgebiet-bereich {
	margin-bottom: var(--gap-m);
}

.fachamt-titel {
	border-bottom: 1px solid var(--c-canvas-medium);
	margin-bottom: var(--gap-m);
	padding-bottom: var(--gap-xs);
}

.personen-grid {
	display: grid;
	gap: var(--gap-m);
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.taetigkeit {
	font-weight: var(--f-weight-mb);
}

/* Suchergebnisse */

.search mark {
	background: var(--c-warning);
	color: var(--c-dark);
}

.search .search-result-item + .search-result-item {
	border-top: 1px solid var(--c-canvas-medium);
	margin-top: var(--gap-s);
	padding-top: var(--gap-s);
}

.search .search-result-excerpt {
	line-height: 1.4;
}

.search-result-title.heading {
	margin-top: .375lh;
}