/**
 * Calendar and event archive styles.
 *
 * @package Kijuju
 */

:root {
	--kijuju-events-dark: #102733;
	--kijuju-events-pink: #ec1e64;
	--kijuju-events-turquoise: #18d8ad;
	--kijuju-events-paper: #f6f4ee;
	--kijuju-events-card: #ffffff;
	--kijuju-events-border: #d4d6d3;
	--kijuju-events-muted: #66727a;
	--kijuju-events-font:
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		"Noto Sans",
		Helvetica,
		Arial,
		sans-serif;
}

#main .tribe-events-view {
	font-family: var(--kijuju-events-font);
	color: var(--kijuju-events-dark);
}

#main .tribe-events-view a {
	text-underline-offset: 3px;
}

#main .tribe-events-view a:focus-visible,
#main .tribe-events-view button:focus-visible,
#main .tribe-events-view input:focus-visible {
	outline: 4px solid var(--kijuju-events-turquoise);
	outline-offset: 3px;
}

#main .entry-content:has(.tribe-events-view) {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

#main .tribe-events-view .tribe-common-l-container {
	width: 100%;
	margin-inline: auto;
	padding:
		clamp(28px, 4vw, 54px)
		clamp(20px, 4vw, 52px)
		clamp(36px, 5vw, 64px);

	background: var(--kijuju-events-card);
	box-shadow: 0 10px 32px rgb(16 39 51 / 7%);
}

#main > .ct-container-full:has(.tribe-events-view) > article > .hero-section {
	width: calc(100% - 40px);
	margin:
		clamp(20px, 2.5vw, 36px)
		auto
		clamp(24px, 3vw, 38px);
}

#main > .ct-container-full:has(.tribe-events-view)
	> article
	> .hero-section
	.page-title {
	position: relative;
	width: fit-content;
	margin: 0;

	font-family: var(--kijuju-events-font);
	font-size: clamp(2rem, 4vw, 3.45rem);
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.045em;

	color: var(--kijuju-events-dark);
}

#main > .ct-container-full:has(.tribe-events-view)
	> article
	> .hero-section
	.page-title::after {
	display: block;
	width: 180px;
	max-width: 75%;
	height: 16px;
	margin-top: 7px;

	content: "";

	background:
		url("../images/content/content-line-turquoise.webp")
		left center / contain no-repeat;
}

/* =========================================================
   Frei editierbarer Kalenderhinweis
   ========================================================= */

#main .tribe-events-before-html {
	width: 100%;
	margin: 0 0 clamp(24px, 3vw, 36px) !important;
	padding: 0 !important;
}

#main .tribe-events-before-html .kijuju-calendar-notice,
.kijuju-events-card .kijuju-events-card__notice {
	position: relative;
	box-sizing: border-box;

	width: 100%;
	margin: 0;
	padding: 18px 22px 18px 32px !important;

	font-family: var(--kijuju-events-font);
	font-size: 1rem;
	line-height: 1.5;

	color: var(--kijuju-events-dark);
	background: rgba(192, 192, 192, 0.18);
	border: 1px solid rgb(16 39 51 / 18%);
}

#main .tribe-events-before-html .kijuju-calendar-notice::before,
.kijuju-events-card .kijuju-events-card__notice::before {
	position: absolute;
	inset: 0 auto 0 0;

	width: 7px;

	content: "";
	background: var(--kijuju-events-turquoise);
}

#main .tribe-events-before-html .kijuju-calendar-notice strong,
.kijuju-events-card .kijuju-events-card__notice strong {
	display: block;
	margin: 0 0 4px !important;
	font-weight: 850;
}

#main .tribe-events-before-html .kijuju-calendar-notice p,
.kijuju-events-card .kijuju-events-card__notice p {
	margin: 0 !important;
}

/* =========================================================
   Kalenderkopf: Suche oben, Navigation und Ansichten darunter
   ========================================================= */

/*
 * Mobil bleibt die vom Plugin vorgesehene kompakte Bedienung erhalten.
 * Ab Tabletbreite wird der Kalenderkopf in zwei Zeilen angeordnet:
 *
 * 1. Suche über die volle Breite
 * 2. Datumsnavigation links, Ansichtsumschalter rechts
 */
#main .tribe-events-c-events-bar {
	margin-bottom: clamp(24px, 3vw, 36px) !important;

	background: #ffffff !important;
	border: 2px solid var(--kijuju-events-dark) !important;
	border-radius: 0 !important;
	box-shadow: 6px 6px 0 rgb(24 216 173 / 36%);
}

#main .tribe-events-c-search__input {
	font-family: var(--kijuju-events-font) !important;
	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-c-search__button {
	min-height: 48px !important;
	padding: 12px 20px !important;

	font-family: var(--kijuju-events-font) !important;
	font-weight: 850 !important;
	text-transform: uppercase;

	color: #ffffff !important;
	background: var(--kijuju-events-dark) !important;
	border: 0 !important;
	border-radius: 0 !important;
}

#main .tribe-events-c-search__button:hover {
	color: var(--kijuju-events-dark) !important;
	background: var(--kijuju-events-turquoise) !important;
}

#main .tribe-events-c-view-selector__list-item-link {
	font-family: var(--kijuju-events-font) !important;
	font-weight: 750 !important;
	color: var(--kijuju-events-dark) !important;
}

#main
	.tribe-events-c-view-selector__list-item--active
	.tribe-events-c-view-selector__list-item-link {
	color: var(--kijuju-events-pink) !important;
}

#main
	.tribe-events-c-view-selector__list-item--active
	.tribe-events-c-view-selector__list-item-link::after {
	background-color: var(--kijuju-events-pink) !important;
}

/* Tagesansicht vorsorglich aus dem Umschalter entfernen. */
#main .tribe-events-c-view-selector__list-item--day {
	display: none !important;
}

#main .tribe-events-c-top-bar {
	margin-bottom: clamp(24px, 3vw, 34px) !important;
}

#main .tribe-events-c-top-bar__datepicker-button {
	font-family: var(--kijuju-events-font) !important;
	font-weight: 850 !important;
	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-c-top-bar__nav-link svg,
#main .tribe-events-c-nav svg {
	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-c-top-bar__today-button {
	border-color: var(--kijuju-events-dark) !important;
	border-radius: 0 !important;
	color: var(--kijuju-events-dark) !important;
}

@media (min-width: 768px) {

	#main .tribe-events-header {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"calendar-search calendar-search"
			"calendar-date calendar-views";
		column-gap: clamp(20px, 3vw, 38px);
		row-gap: clamp(20px, 2.5vw, 30px);
		align-items: center;

		margin-bottom: clamp(28px, 4vw, 42px) !important;
	}

	/*
	 * Der bisherige gemeinsame Balken wird aufgelöst, damit seine
	 * beiden Bestandteile in getrennten Grid-Zeilen stehen können.
	 */
	#main .tribe-events-header__events-bar {
		display: contents !important;
	}

	#main .tribe-events-c-events-bar__search-container {
		position: static !important;
		grid-area: calendar-search;

		display: block !important;
		visibility: visible !important;

		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;

		opacity: 1 !important;
		transform: none !important;

		background: #ffffff !important;
		border: 2px solid var(--kijuju-events-dark) !important;
		box-shadow: 6px 6px 0 rgb(24 216 173 / 36%);
	}

	#main .tribe-events-c-events-bar__search,
	#main .tribe-events-c-search,
	#main .tribe-events-c-search__input-group {
		width: 100% !important;
	}

	#main .tribe-events-c-search {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: stretch;
	}

	#main .tribe-events-c-events-bar__views {
		grid-area: calendar-views;

		display: flex !important;
		justify-content: flex-end;
		align-items: center;

		width: auto !important;
		margin: 0 !important;
	}

	#main .tribe-events-c-view-selector {
		width: auto !important;
	}

	#main .tribe-events-c-view-selector__button {
		display: none !important;
	}

	#main .tribe-events-c-view-selector__content {
		position: static !important;

		display: block !important;
		visibility: visible !important;

		width: auto !important;
		padding: 0 !important;

		opacity: 1 !important;
		transform: none !important;

		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	#main .tribe-events-c-view-selector__list {
		display: flex !important;
		gap: clamp(18px, 2.5vw, 30px);

		margin: 0 !important;
		padding: 0 !important;
	}

	#main .tribe-events-c-view-selector__list-item {
		margin: 0 !important;
		padding: 0 !important;
	}

	#main .tribe-events-c-top-bar {
		grid-area: calendar-date;

		justify-content: flex-start !important;

		min-width: 0;
		margin: 0 !important;
	}

	/* Der alte Rahmen sitzt mobil weiterhin auf dem Plugin-Balken. */
	#main .tribe-events-header__events-bar {
		margin: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
	}
}

#main .tribe-events-view--list .tribe-events-calendar-list {
	margin: 0;
	padding: 0;
}

#main .tribe-events-calendar-list__month-separator {
	margin: 0 0 18px !important;
}

#main .tribe-events-calendar-list__month-separator::after {
	background-color: var(--kijuju-events-border) !important;
}

#main .tribe-events-calendar-list__month-separator-text {
	font-family: var(--kijuju-events-font) !important;
	font-size: 1.05rem !important;
	font-weight: 850 !important;
	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-calendar-list__event-row {
	display: grid !important;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: clamp(18px, 3vw, 34px);

	margin: 0 0 18px !important;
	padding: clamp(20px, 3vw, 30px) !important;

	background: #ffffff;
	border: 1px solid var(--kijuju-events-border);
	box-shadow: 5px 5px 0 rgb(236 30 100 / 12%);
}

#main .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-weekday {
  color: var(--kijuju-events-turquoise-text) !important;
}

/* =========================================================
   Hervorgehobene Termine in der Listenansicht
   ========================================================= */

#main .tribe-events-calendar-list__event-row.tribe-events-calendar-list__event-row--featured,
#main .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured) {
	position: relative;
	overflow: hidden;

	background: rgb(24 216 173 / 12%) !important;
	border-color: rgb(16 39 51 / 14%) !important;
	box-shadow: none !important;
}

#main .tribe-events-calendar-list__event-row.tribe-events-calendar-list__event-row--featured::before,
#main .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured)::before {
	position: absolute;
	inset: 0 auto 0 0;
	width: 7px;
	content: "";
	background: var(--kijuju-events-turquoise);
}

/* Die störende blaue / farbige Markierung entfernen */
#main .tribe-events-calendar-list__event-row.tribe-events-calendar-list__event-row--featured::after,
#main .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured)::after,
#main .tribe-events-calendar-list__event-row.tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag::before,
#main .tribe-events-calendar-list__event-row.tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag::after,
#main .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured) .tribe-events-calendar-list__event-date-tag::before,
#main .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured) .tribe-events-calendar-list__event-date-tag::after,
#main .tribe-events-calendar-list__event-row.tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-wrapper::before,
#main .tribe-events-calendar-list__event-row.tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-wrapper::after,
#main .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured) .tribe-events-calendar-list__event-wrapper::before,
#main .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured) .tribe-events-calendar-list__event-wrapper::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Label + Zeitraum im Highlight türkis färben */
#main .tribe-events-calendar-list__event-row.tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-datetime,
#main .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured) .tribe-events-calendar-list__event-datetime,
#main .tribe-events-calendar-list__event-row.tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-featured-text,
#main .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured) .tribe-events-calendar-list__event-featured-text {
	color: var(--kijuju-events-turquoise) !important;
}

/* Falls das Featured-Icon als SVG kommt */
#main .tribe-events-calendar-list__event-row.tribe-events-calendar-list__event-row--featured svg,
#main .tribe-events-calendar-list__event-row:has(.tribe-events-calendar-list__event--featured) svg {
	fill: currentColor !important;
	color: var(--kijuju-events-turquoise) !important;
}

#main .tribe-events-calendar-list__event-date-tag {
	width: auto !important;
	min-width: 0 !important;
	padding: 0 !important;
}

#main .tribe-events-calendar-list__event-date-tag-datetime {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	height: auto !important;
	padding: 0 !important;

	text-align: left !important;
}

#main .tribe-events-calendar-list__event-date-tag-weekday {
	margin-bottom: 3px;

	font-family: var(--kijuju-events-font) !important;
	font-size: 0.78rem !important;
	font-weight: 850 !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;

	color: var(--kijuju-events-pink) !important;
}

#main .tribe-events-calendar-list__event-date-tag-daynum {
	font-family: var(--kijuju-events-font) !important;
	font-size: clamp(2.1rem, 4vw, 3rem) !important;
	font-weight: 900 !important;
	line-height: 0.95 !important;

	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-calendar-list__event-wrapper,
#main .tribe-events-calendar-list__event,
#main .tribe-events-calendar-list__event-details {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

#main .tribe-events-calendar-list__event-header {
	display: flex;
	flex-direction: column;
}

#main .tribe-events-calendar-list__event-title {
	order: 2;
	margin: 4px 0 0 !important;
}

#main .tribe-events-calendar-list__event-title-link {
	font-family: var(--kijuju-events-font) !important;
	font-size: clamp(1.25rem, 2.2vw, 1.75rem) !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.025em;

	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-calendar-list__event-title-link:hover {
	color: var(--kijuju-events-pink) !important;
}

#main .tribe-events-calendar-list__event-datetime-wrapper {
	order: 1;
	margin: 0 !important;
}

#main .tribe-events-calendar-list__event-datetime {
	font-family: var(--kijuju-events-font) !important;
	font-size: 0.93rem !important;
	font-weight: 800 !important;
	color: var(--kijuju-events-pink) !important;
}

#main .tribe-events-calendar-list__event-description {
	margin-top: 14px !important;

	font-family: var(--kijuju-events-font) !important;
	font-size: 1rem !important;
	line-height: 1.6 !important;
	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-calendar-list__event-description p {
	margin: 0;
}

#main .tribe-events-calendar-month {
	background: #ffffff;
	border-collapse: collapse !important;
}

#main .tribe-events-calendar-month__header-column-title {
	padding: 10px 6px !important;

	font-family: var(--kijuju-events-font) !important;
	font-weight: 850 !important;
	text-transform: uppercase;
	color: var(--kijuju-events-muted) !important;
}

#main .tribe-events-calendar-month__day {
	background: #ffffff !important;
	border-color: var(--kijuju-events-border) !important;
}

#main .tribe-events-calendar-month__day--other-month {
	background: #f1f0eb !important;
}

#main .tribe-events-calendar-month__day--current {
	box-shadow: inset 0 0 0 3px var(--kijuju-events-turquoise);
}

#main .tribe-events-calendar-month__day-date-daynum,
#main .tribe-events-calendar-month__day-date-link {
	font-family: var(--kijuju-events-font) !important;
	font-weight: 900 !important;
	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-calendar-month__calendar-event {
	margin: 6px 0 0 !important;
	padding: 8px 9px !important;

	background: var(--kijuju-events-dark);
	border-left: 5px solid var(--kijuju-events-pink);
}

#main .tribe-events-calendar-month__calendar-event-datetime {
	font-family: var(--kijuju-events-font) !important;
	font-size: 0.73rem !important;
	font-weight: 800 !important;
	color: var(--kijuju-events-turquoise) !important;
}

#main .tribe-events-calendar-month__calendar-event-title-link {
	font-family: var(--kijuju-events-font) !important;
	font-size: 0.82rem !important;
	font-weight: 850 !important;
	line-height: 1.25 !important;
	color: #ffffff !important;
}

#main .tribe-events-calendar-month__calendar-event-title-link:hover {
	color: var(--kijuju-events-turquoise) !important;
}

#main .tribe-events-calendar-month__mobile-events-icon--event {
	background-color: var(--kijuju-events-pink) !important;
}

#main .tribe-events-calendar-month__calendar-event-tooltip {
	padding: 18px !important;

	font-family: var(--kijuju-events-font) !important;
	color: var(--kijuju-events-dark) !important;
	background: #ffffff !important;
	border: 2px solid var(--kijuju-events-dark) !important;
	border-radius: 0 !important;
	box-shadow: 7px 7px 0 rgb(24 216 173 / 40%) !important;
}

#main .tribe-events-calendar-month__calendar-event-tooltip-title-link {
	font-family: var(--kijuju-events-font) !important;
	font-weight: 900 !important;
	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-c-messages__message {
	padding: 18px 20px !important;

	font-family: var(--kijuju-events-font) !important;
	line-height: 1.55 !important;

	color: var(--kijuju-events-dark) !important;
	background: rgb(24 216 173 / 10%) !important;
	border: 1px solid var(--kijuju-events-border) !important;
	border-radius: 0 !important;
}

#main .tribe-events-c-messages__message-icon-svg {
	color: var(--kijuju-events-pink) !important;
}

#main .tribe-events-c-nav {
	margin-top: clamp(28px, 4vw, 44px) !important;
	padding-top: 24px !important;
	border-top-color: var(--kijuju-events-border) !important;
}

#main .tribe-events-c-nav a {
	font-family: var(--kijuju-events-font) !important;
	font-weight: 750 !important;
	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-c-subscribe-dropdown__container {
	margin-top: 30px !important;
}

#main .tribe-events-c-subscribe-dropdown__button {
	border: 2px solid var(--kijuju-events-dark) !important;
	border-radius: 0 !important;
}

#main .tribe-events-c-subscribe-dropdown__button-text {
	font-family: var(--kijuju-events-font) !important;
	font-weight: 850 !important;
	color: var(--kijuju-events-dark) !important;
}

#main .tribe-events-c-subscribe-dropdown__content {
	border: 1px solid var(--kijuju-events-dark) !important;
	border-radius: 0 !important;
}

.kijuju-events-card .kijuju-events-card__notice {
	margin-top: -4px;
	margin-bottom: 22px;
}


/* =========================================================
   Kompaktere Monatsansicht auf großen Bildschirmen
   ========================================================= */

/*
 * Die Zellen bleiben flexibel: Bei mehreren Terminen darf eine
 * Kalenderwoche weiterhin automatisch höher werden.
 */
@media (min-width: 960px) {

	#main
		.tribe-events-view--month
		.tribe-events-calendar-month__week {
		height: auto !important;
		min-height: 112px !important;
	}

	#main
		.tribe-events-view--month
		.tribe-events-calendar-month__day {
		height: auto !important;
		min-height: 112px !important;
	}

	#main
		.tribe-events-view--month
		.tribe-events-calendar-month__day-cell--desktop {
		box-sizing: border-box;

		height: 100% !important;
		min-height: 112px !important;
		padding: 9px 9px 7px !important;
	}

	#main
		.tribe-events-view--month
		.tribe-events-calendar-month__day-date {
		margin-bottom: 3px !important;
	}

	#main
		.tribe-events-view--month
		.tribe-events-calendar-month__calendar-event {
		margin-top: 4px !important;
		padding: 6px 7px !important;
	}

	#main
		.tribe-events-view--month
		.tribe-events-calendar-month__calendar-event-title-link {
		font-size: 0.76rem !important;
		line-height: 1.2 !important;
	}

	#main
		.tribe-events-view--month
		.tribe-events-calendar-month__calendar-event-datetime {
		font-size: 0.68rem !important;
	}
}

@media (max-width: 900px) {

	#main .tribe-events-view .tribe-common-l-container {
		padding-inline: 22px;
	}

	#main .tribe-events-c-events-bar,
	#main .tribe-events-c-events-bar__search-container {
		box-shadow: 4px 4px 0 rgb(24 216 173 / 36%);
	}

	#main .tribe-events-calendar-list__event-row {
		grid-template-columns: 72px minmax(0, 1fr);
	}

	#main .tribe-events-calendar-month__calendar-event {
		padding: 6px !important;
	}
}

@media (max-width: 767px) {

	#main > .ct-container-full:has(.tribe-events-view)
		> article
		> .hero-section {
		width: min(100% - 30px, 1200px);
	}

	#main .tribe-events-view .tribe-common-l-container {
		width: min(100% - 30px, 1200px);
		padding: 22px 16px 34px;
	}

	#main .tribe-events-calendar-list__event-row {
		grid-template-columns: 58px minmax(0, 1fr);
		gap: 14px;

		padding: 18px 15px !important;
	}

	#main .tribe-events-calendar-list__event-date-tag-daynum {
		font-size: 2rem !important;
	}

	#main .tribe-events-calendar-list__event-title-link {
		font-size: 1.2rem !important;
	}

	#main .tribe-events-calendar-month-mobile-events__mobile-event {
		padding: 18px 16px !important;

		background: #ffffff;
		border: 1px solid var(--kijuju-events-border);
		border-left: 6px solid var(--kijuju-events-pink);
	}

	#main .tribe-events-calendar-month-mobile-events__mobile-event-title-link {
		font-family: var(--kijuju-events-font) !important;
		font-weight: 900 !important;
		color: var(--kijuju-events-dark) !important;
	}

	#main .tribe-events-calendar-month-mobile-events__mobile-event-datetime {
		font-family: var(--kijuju-events-font) !important;
		font-weight: 800 !important;
		color: var(--kijuju-events-pink) !important;
	}
}

@media (max-width: 520px) {

	#main .tribe-events-calendar-list__event-row {
		grid-template-columns: 1fr;
	}

	#main .tribe-events-calendar-list__event-date-tag-datetime {
		flex-direction: row;
		gap: 7px;
		align-items: baseline;
	}

	#main .tribe-events-calendar-list__event-date-tag-weekday {
		margin: 0;
	}

	#main .tribe-events-calendar-list__event-date-tag-daynum {
		font-size: 1.65rem !important;
	}
}

@media (prefers-reduced-motion: reduce) {

	#main .tribe-events-view *,
	#main .tribe-events-view *::before,
	#main .tribe-events-view *::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}

/* =========================================================
   Startseite: globalen Kalenderhinweis im Terminblock
   ========================================================= */

.home .kijuju-events-card > .tribe-events-before-html {
	width: 100%;
	margin: 0 0 22px !important;
	padding: 0 !important;
}

.home
	.kijuju-events-card
	> .tribe-events-before-html
	.kijuju-calendar-notice {
	margin: 0;
}


/* =========================================================
   Einzelne Veranstaltung: äußeres Layout
   ========================================================= */

.single-tribe_events #main {
	padding:
		clamp(38px, 5vw, 68px)
		max(20px, calc((100vw - 1320px) / 2))
		clamp(58px, 7vw, 96px);

	background: var(--kijuju-events-paper);
}

.single-tribe_events #tribe-events-pg-template {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

/*
 * Der globale Kalenderhinweis gehört nur auf die Terminübersicht
 * und auf die Startseite, nicht auf einzelne Veranstaltungen.
 */
.single-tribe_events .tribe-events-before-html {
	display: none !important;
}

.single-tribe_events #tribe-events-content {
	margin: 0 !important;
	padding:
		clamp(32px, 4.5vw, 58px)
		clamp(24px, 5vw, 64px)
		clamp(38px, 5vw, 64px) !important;

	font-family: var(--kijuju-events-font);
	color: var(--kijuju-events-dark);

	background: var(--kijuju-events-card);
	border: 0;
	box-shadow: 0 10px 32px rgb(16 39 51 / 7%);
}


/* =========================================================
   Einzelne Veranstaltung: Zurück-Link und Titelbereich
   ========================================================= */

.single-tribe_events .tribe-events-back {
	margin: 0 0 clamp(28px, 4vw, 42px) !important;
}

.single-tribe_events .tribe-events-back a {
	display: inline-flex;
	gap: 8px;
	align-items: center;

	font-family: var(--kijuju-events-font);
	font-size: 0.9rem;
	font-weight: 850;
	text-transform: uppercase;
	text-decoration: none;

	color: var(--kijuju-events-dark);
}

.single-tribe_events .tribe-events-back a:hover {
	color: var(--kijuju-events-pink);
}

.single-tribe_events .tribe-events-single-event-title {
	position: relative;

	width: fit-content;
	max-width: 950px;
	margin: 0 !important;

	font-family: var(--kijuju-events-font);
	font-size: clamp(2.2rem, 4.4vw, 3.7rem);
	font-weight: 900;
	line-height: 1.02;
	letter-spacing: -0.042em;
	text-wrap: balance;

	color: var(--kijuju-events-dark);
}

.single-tribe_events .tribe-events-single-event-title::after {
	display: block;

	width: 190px;
	max-width: 70%;
	height: 16px;
	margin-top: 9px;

	content: "";

	background:
		url("../images/content/content-line-turquoise.webp")
		left center / contain no-repeat;
}

/*
 * Terminzeile als eigenständige, kompakte Information.
 */
.single-tribe_events .tribe-events-schedule {
	width: fit-content;
	max-width: 100%;
	margin: 18px 0 clamp(14px, 4vw, 10px) !important;
	padding: 10px 0px 10px 0px !important;
	color: #3f3f3f;
	background: none !important;
}

.single-tribe_events .tribe-events-schedule h2,
.single-tribe_events .tribe-events-schedule > div {
	margin: 0 !important;

	font-family: var(--kijuju-events-font);
	font-size: clamp(0.98rem, 1.35vw, 1.12rem);
	font-weight: 800;
	line-height: 1.45;

	color: inherit;
}

.single-tribe_events .tribe-events-schedule .tribe-event-date-start,
.single-tribe_events .tribe-events-schedule .tribe-event-time,
.single-tribe_events .tribe-events-schedule .tribe-event-date-end,
.single-tribe_events .tribe-events-schedule .kijuju-event-time-start,
.single-tribe_events .tribe-events-schedule .kijuju-event-time-end {
	color: inherit;
}

/*
 * Die obere Vor-/Zurück-Navigation wiederholt die Navigation am Seitenende
 * und erzeugt unnötige Unruhe.
 */
.single-tribe_events #tribe-events-header {
	display: none !important;
}


/* =========================================================
   Einzelne Veranstaltung: Beschreibung
   ========================================================= */

.single-tribe_events .tribe-events-single-event-description {
	box-sizing: border-box;

	width: 100%;
	max-width: 900px;
	margin: 0 0 clamp(64px, 2.5vw, 64px) !important;
	padding: 0 !important;

	font-family: var(--kijuju-events-font);
	font-size: clamp(1rem, 1.15vw, 1.08rem);
	line-height: 1.72;

	color: var(--kijuju-events-dark);
	background: transparent;
	border: 0;
}

.single-tribe_events .tribe-events-single-event-description > :first-child {
	margin-top: 0;
}

.single-tribe_events .tribe-events-single-event-description > :last-child {
	margin-bottom: 0;
}


/* =========================================================
   Einzelne Veranstaltung: Kalenderbutton und Dropdown
   ========================================================= */

.single-tribe_events .tribe-events-cal-links,
.single-tribe_events .tribe-events-c-subscribe-dropdown__container {
	margin: 0 0 clamp(32px, 4vw, 46px) !important;
	padding-top: 0 !important;
}

/*
 * Der Aktionsbutton soll direkt als Abschluss des Beschreibungstextes
 * erscheinen und nicht wie ein losgelöster Bereich weiter unten.
 */
.single-tribe_events
	.tribe-events-single-event-description
	+ .tribe-events-cal-links,
.single-tribe_events
	.tribe-events-single-event-description
	+ .tribe-events-c-subscribe-dropdown__container {
	margin-top: 0 !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown {
	position: relative;
	width: fit-content;
	max-width: 100%;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button,
.single-tribe_events
	.tribe-events-cal-links
	.tribe-events-button {
	display: inline-flex !important;
	gap: 10px;
	align-items: center;
	justify-content: center;

	min-height: 50px;
	padding: 12px 18px !important;

	font-family: var(--kijuju-events-font) !important;
	font-size: 0.92rem !important;
	font-weight: 850 !important;
	line-height: 1 !important;
	text-transform: uppercase;
	text-decoration: none;

	color: var(--kijuju-events-dark) !important;
	background: var(--kijuju-events-turquoise) !important;
	border: 2px solid var(--kijuju-events-dark) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button-text {
	padding: 0 !important;

	font: inherit !important;
	line-height: inherit !important;

	color: inherit !important;
	background: transparent !important;
	border: 0 !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button svg {
	flex: 0 0 auto;

	color: inherit !important;
	fill: currentColor !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__export-icon
	path:last-child {
	fill: none !important;
	stroke: currentColor !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button:hover,
.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button:focus-visible,
.single-tribe_events
	.tribe-events-cal-links
	.tribe-events-button:hover,
.single-tribe_events
	.tribe-events-cal-links
	.tribe-events-button:focus-visible {
	color: #ffffff !important;
	background: var(--kijuju-events-pink) !important;
	border-color: var(--kijuju-events-pink) !important;
}

/*
 * Plugin-Regeln färben Text und Icons teils unabhängig vom äußeren Button.
 * Deshalb wird der Hover-Zustand hier noch einmal für die enthaltenen
 * Elemente festgelegt.
 */
/*
 * Text und Icons werden explizit mitgeführt, weil The Events Calendar
 * diese Elemente teilweise unabhängig vom äußeren Button einfärbt.
 */
.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button
	.tribe-events-c-subscribe-dropdown__button-text,
.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button
	svg {
	color: var(--kijuju-events-dark) !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button:hover
	.tribe-events-c-subscribe-dropdown__button-text,
.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button:focus-visible
	.tribe-events-c-subscribe-dropdown__button-text,
.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button:hover
	svg,
.single-tribe_events
	.tribe-events-c-subscribe-dropdown__button:focus-visible
	svg {
	color: #ffffff !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__content {
	z-index: 20;

	min-width: 260px;
	margin-top: 8px !important;
	padding: 8px !important;

	background: #ffffff !important;
	border: 2px solid var(--kijuju-events-dark) !important;
	border-radius: 0 !important;
	box-shadow: 6px 6px 0 rgb(24 216 173 / 38%) !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__list {
	margin: 0 !important;
	padding: 0 !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__list-item {
	margin: 0 !important;
	padding: 0 !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__list-item-link {
	display: block;
	padding: 10px 12px !important;

	font-family: var(--kijuju-events-font) !important;
	font-weight: 750 !important;
	text-decoration: none;

	color: var(--kijuju-events-dark) !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__list-item-link:hover,
.single-tribe_events
	.tribe-events-c-subscribe-dropdown__list-item-link:focus-visible {
	color: var(--kijuju-events-dark) !important;
	background: rgb(24 216 173 / 15%) !important;
}




/* Zusätzlicher Reset für Plugin-Abstände zwischen Text und Kalenderaktion. */
.single-tribe_events .tribe-events-single-event-description + * {
	margin-top: 0 !important;
}

.single-tribe_events .tribe-events-cal-links > :first-child {
	margin-top: 0 !important;
}

.single-tribe_events
	.tribe-events-c-subscribe-dropdown__container
	> :first-child {
	margin: 0 !important;
}


/* =========================================================
   Einzelne Veranstaltung: Details, Ort und Karte
   ========================================================= */

.single-tribe_events .tribe-events-event-meta {
	display: grid !important;
	grid-template-columns:
		minmax(220px, 0.75fr)
		minmax(300px, 1.25fr);
	gap: clamp(18px, 3vw, 28px);

	width: 100%;
	margin: 0 !important;
	padding: clamp(24px, 3vw, 34px) !important;

	background: #eef3f6 !important; /*var(--kijuju-events-paper) !important;*/
	border: 0 !important;
}

/*
 * Ohne Veranstaltungsort bleibt der Detailblock kompakt und füllt
 * nicht unnötig die gesamte Seitenbreite.
 */
.single-tribe_events
	.tribe-events-event-meta:not(
		:has(.tribe-events-meta-group-venue)
	) {
	grid-template-columns: minmax(0, 480px) !important;
	justify-content: start;
}

/*
 * Bei gesetzter Karte liegt diese unter den Textinformationen
 * und nutzt die gesamte verfügbare Breite.
 */
.single-tribe_events .tribe-events-meta-group-gmap {
	grid-column: 1 / -1;
}

.single-tribe_events .tribe-events-meta-group {
	box-sizing: border-box;

	width: 100% !important;
	margin: 0 !important;
	padding: 22px 24px 24px !important;

	background: #ffffff;
	border: 0;
	box-shadow: none;
}

.single-tribe_events .tribe-events-meta-group-details {
	border-top: 5px solid var(--kijuju-events-pink);
}

.single-tribe_events .tribe-events-meta-group-venue {
	border-top: 5px solid var(--kijuju-events-turquoise);
}

.single-tribe_events .tribe-events-meta-group-gmap {
	padding: 0 !important;
	background: transparent;
}

.single-tribe_events
	.tribe-events-meta-group
	.tribe-events-single-section-title {
	position: relative;

	margin: 0 0 18px !important;

	font-family: var(--kijuju-events-font);
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: 0.035em;
	text-transform: uppercase;

	color: var(--kijuju-events-dark);
}

.single-tribe_events
	.tribe-events-meta-group
	.tribe-events-single-section-title::after {
	display: block;

	width: 62px;
	height: 8px;
	margin-top: 5px;

	content: "";

	background:
		url("../images/content/content-line-turquoise.webp")
		left center / contain no-repeat;
}

/*
 * Aktuelle Plugin-Version: Metadaten werden als Liste ausgegeben.
 */
.single-tribe_events .tribe-events-meta-list {
	display: grid;
	gap: 14px;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none;
}

.single-tribe_events .tribe-events-meta-item {
	margin: 0 !important;
	padding: 0 !important;

	font-family: var(--kijuju-events-font);
	font-size: 0.98rem;
	line-height: 1.55;

	color: var(--kijuju-events-dark);
}

.single-tribe_events .tribe-events-meta-label {
	display: block;
	margin-bottom: 3px;

	font-family: var(--kijuju-events-font);
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.045em;
	text-transform: uppercase;

	color: var(--kijuju-events-pink);
}

.single-tribe_events .tribe-events-meta-value,
.single-tribe_events .tribe-events-meta-value > * {
	color: var(--kijuju-events-dark);
}

/*
 * Rückwärtskompatibilität für ältere Plugin-Ausgaben mit dl/dt/dd.
 */
.single-tribe_events .tribe-events-event-meta dl {
	margin: 0;
}

.single-tribe_events .tribe-events-event-meta dt {
	margin: 14px 0 3px;

	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.045em;
	text-transform: uppercase;

	color: var(--kijuju-events-pink);
}

.single-tribe_events .tribe-events-event-meta dt:first-child {
	margin-top: 0;
}

.single-tribe_events .tribe-events-event-meta dd {
	margin: 0 0 6px;

	font-size: 0.98rem;
	line-height: 1.55;

	color: var(--kijuju-events-dark);
}

.single-tribe_events .tribe-events-address {
	font-style: normal;
}

.single-tribe_events .tribe-events-event-meta a {
	color: var(--kijuju-events-pink);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.single-tribe_events .tribe-events-event-meta a:hover {
	color: var(--kijuju-events-dark);
}

.single-tribe_events .tribe-events-venue-map {
	box-sizing: border-box;

	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;

	background: #ffffff;
	border: 3px solid var(--kijuju-events-dark);
	box-shadow: 7px 7px 0 rgb(24 216 173 / 42%);
	overflow: hidden;
}

.single-tribe_events .tribe-events-venue-map > div,
.single-tribe_events .tribe-events-venue-map iframe {
	display: block;

	width: 100% !important;
	min-height: clamp(280px, 34vw, 360px);
	margin: 0 !important;
}




/* =========================================================
   Einzelne Veranstaltung: Plugin-Trennlinie am Metabereich entfernen
   ========================================================= */

/*
 * The Events Calendar erzeugt am Metabereich zusätzlich eine horizontale
 * Linie über ein Pseudoelement. Nach dem neuen PHP-Wrapper reicht dieses
 * Element über den sichtbaren Inhaltsbereich hinaus. Die eigenen pinken und
 * türkisen Oberkanten der Detailkarten bleiben davon unberührt.
 */
.single-tribe_events .tribe-events-event-meta::before,
.single-tribe_events .tribe-events-event-meta::after {
	display: none !important;

	width: 0 !important;
	height: 0 !important;

	content: none !important;

	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}


/* =========================================================
   Einzelne Veranstaltung: Navigation am Seitenende
   ========================================================= */

.single-tribe_events #tribe-events-footer {
	margin-top: clamp(28px, 4vw, 44px);
	padding-top: 22px;

	border-top: 1px solid var(--kijuju-events-border);
}

.single-tribe_events #tribe-events-footer .tribe-events-sub-nav {
	display: flex;
	gap: 20px;
	justify-content: space-between;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none;
}

.single-tribe_events #tribe-events-footer .tribe-events-sub-nav li {
	max-width: 48%;
	margin: 0 !important;
}

.single-tribe_events #tribe-events-footer .tribe-events-sub-nav a {
	display: inline-flex;
	gap: 8px;
	align-items: center;

	font-size: 0.92rem;
	font-weight: 750;
	text-decoration: none;

	color: var(--kijuju-events-dark);
}

.single-tribe_events #tribe-events-footer .tribe-events-sub-nav a:hover {
	color: var(--kijuju-events-pink);
}


/* =========================================================
   Einzelne Veranstaltung: responsive Darstellung
   ========================================================= */

@media (max-width: 767px) {

	.single-tribe_events #main {
		padding: 32px 15px 58px;
	}

	.single-tribe_events #tribe-events-content {
		padding: 26px 18px 34px !important;
	}

	.single-tribe_events .tribe-events-single-event-title {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.single-tribe_events .tribe-events-schedule {
		width: 100%;
	}

	.single-tribe_events .tribe-events-event-meta,
	.single-tribe_events
		.tribe-events-event-meta:not(
			:has(.tribe-events-meta-group-venue)
		) {
		grid-template-columns: 1fr !important;
		padding: 18px !important;
	}

	.single-tribe_events .tribe-events-meta-group-gmap {
		grid-column: auto;
	}

	.single-tribe_events .tribe-events-venue-map > div,
	.single-tribe_events .tribe-events-venue-map iframe {
		min-height: 240px;
	}

	.single-tribe_events #tribe-events-footer .tribe-events-sub-nav {
		flex-direction: column;
	}

	.single-tribe_events #tribe-events-footer .tribe-events-sub-nav li {
		max-width: 100%;
	}
}

/* =========================================================
   Startseite: Kalenderhinweis zuverlässig innerhalb der Karte
   ========================================================= */

.home .kijuju-events-card > .kijuju-events-card__before {
	width: 100%;
	margin: 0 0 clamp(18px, 2vw, 24px) !important;
	padding: 0 !important;
}

.home
	.kijuju-events-card
	> .kijuju-events-card__before
	.kijuju-calendar-notice {
	margin: 0 !important;
	padding: 16px 18px 16px 26px !important;

	font-size: 0.95rem;
	line-height: 1.45;

	background: rgb(24 216 173 / 12%);
	border-color: rgb(16 39 51 / 16%);
}

.home
	.kijuju-events-card
	> .kijuju-events-card__before
	.kijuju-calendar-notice::before {
	width: 6px;
}


/* =========================================================
   Startseite: hervorgehobene Termine
   ========================================================= */

.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured {
	position: relative;

	margin: 0 !important;
	padding:
		clamp(15px, 1.8vw, 20px)
		clamp(15px, 2vw, 20px) !important;

	background: rgb(24 216 173 / 11%);
	border: 1px solid rgb(16 39 51 / 14%);
	border-left: 6px solid var(--kijuju-events-turquoise);
}

.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured:first-child {
	padding-top: clamp(15px, 1.8vw, 20px) !important;
}

.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-date-tag-datetime {
	padding-left: 0 !important;

	border-left: 0 !important;
}

.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-date-tag-month,
.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-datetime-wrapper {
	color: var(--kijuju-events-turquoise) !important;
}

.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-datetime-wrapper {
	display: flex;
	gap: 8px;
	align-items: center;

	margin-bottom: 5px !important;
}

.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-datetime-featured-icon {
	display: inline-flex;
	flex: 0 0 auto;

	width: 10px;
	height: 13px;
	margin: 0 !important;

	color: var(--kijuju-events-turquoise) !important;
}

.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-datetime-featured-icon-svg {
	display: block;
	width: 100%;
	height: 100%;
}

.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-datetime-featured-icon-svg
	path {
	fill: var(--kijuju-events-turquoise) !important;
}

.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-title-link:hover {
	color: #0da989 !important;
}

@media (max-width: 520px) {

	.home
		.kijuju-events-card
		.tribe-events-widget-events-list__event-row--featured {
		padding: 15px 14px !important;
	}
}

/* =========================================================
   Startseite: internen Plugin-Markierungsstrich entfernen
   ========================================================= */

/*
 * The Events Calendar kennzeichnet hervorgehobene Termine zusätzlich mit
 * einem eigenen blauen Strich am Datumsblock. Die äußere türkise Kante der
 * gesamten Zeile bleibt erhalten; nur die redundante innere Markierung wird
 * vollständig zurückgesetzt.
 */
.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-date-tag,
.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-date-tag-datetime {
	border: 0 !important;
	border-left: 0 !important;
	border-inline-start: 0 !important;

	outline: 0 !important;
	box-shadow: none !important;

	background: transparent !important;
	background-image: none !important;
}

.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-date-tag::before,
.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-date-tag::after,
.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-date-tag-datetime::before,
.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row--featured
	.tribe-events-widget-events-list__event-date-tag-datetime::after {
	display: none !important;

	width: 0 !important;
	height: 0 !important;

	content: none !important;

	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;

	background: none !important;
}

/* =========================================================
   Listenansicht: Featured-Markierung bereinigen und Kontrast erhöhen
   ========================================================= */

/*
 * Helles Türkis bleibt für Flächen und dekorative Linien reserviert.
 * Für Text auf dem sehr hellen Featured-Hintergrund verwenden wir
 * ein dunkleres Türkis mit deutlich höherem Kontrast.
 */
:root {
	--kijuju-events-turquoise-text: #0b6f61;
}

/* Das sichtbare Wort „Hervorgehoben“ ausblenden. */
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-datetime-featured-text,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-datetime-featured-text {
	display: none !important;
}

/*
 * Den internen blauen Plugin-Strich entfernen – unabhängig davon,
 * auf welchem Unterelement die jeweilige Plugin-Version ihn setzt.
 */
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-wrapper,
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event,
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-details,
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-header,
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-datetime-wrapper,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-wrapper,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-details,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-header,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-datetime-wrapper {
	border-left: 0 !important;
	border-inline-start: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background-image: none !important;
}

/* Zeitraum und Bookmark-Icon kontrastreich abdunkeln. */
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-datetime,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-datetime,
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-datetime-featured-icon,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-datetime-featured-icon {
	color: var(--kijuju-events-turquoise-text) !important;
}

#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-datetime-featured-icon-svg
	path,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-datetime-featured-icon-svg
	path {
	fill: var(--kijuju-events-turquoise-text) !important;
}

/* =========================================================
   Listenansicht: finale Korrektur für hervorgehobene Termine
   ========================================================= */

/*
 * The Events Calendar zeichnet die senkrechte Featured-Markierung am
 * Datums-Element über ::after. Nur die äußere türkise Kartenkante bleibt.
 */
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-date-tag-datetime::after,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-date-tag-datetime::after {
	display: none !important;

	width: 0 !important;
	height: 0 !important;

	content: none !important;

	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

/*
 * Zeitraum und alle darin enthaltenen Spans/Links erhalten exakt
 * dieselbe kontrastreiche Farbe wie das Bookmark-Icon.
 */
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-datetime,
#main
	.tribe-events-calendar-list__event-row:has(
		.tribe-events-calendar-list__event--featured
	)
	.tribe-events-calendar-list__event-datetime *,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-datetime,
#main
	.tribe-events-calendar-list__event-row--featured
	.tribe-events-calendar-list__event-datetime * {
	color: var(--kijuju-events-turquoise-text) !important;
}

/* =========================================================
   Startseite: zentral gepflegter Kalenderhinweis
   ========================================================= */

.home .kijuju-events-card > .wp-block-shortcode {
	width: 100%;
	margin: 0 0 22px !important;
	padding: 0 !important;
}

.home
	.kijuju-events-card
	.wp-block-shortcode
	.tribe-events-before-html {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.home
	.kijuju-events-card
	.wp-block-shortcode
	.kijuju-calendar-notice {
	position: relative;
	box-sizing: border-box;

	width: 100%;
	margin: 0 !important;
	padding: 16px 18px 16px 26px !important;

	font-size: 0.95rem;
	line-height: 1.45;

	color: var(--kijuju-events-dark);
	background: rgb(24 216 173 / 12%);
	border: 1px solid rgb(16 39 51 / 16%);
}

.home
	.kijuju-events-card
	.wp-block-shortcode
	.kijuju-calendar-notice::before {
	position: absolute;
	inset: 0 auto 0 0;

	width: 6px;

	content: "";
	background: var(--kijuju-events-turquoise);
}

.home
	.kijuju-events-card
	.wp-block-shortcode
	.kijuju-calendar-notice strong {
	display: block;
	margin: 0 0 4px !important;
}

.home
	.kijuju-events-card
	.wp-block-shortcode
	.kijuju-calendar-notice p {
	margin: 0 !important;
}

.home
	.kijuju-events-card
	.wp-block-shortcode:empty {
	display: none;
}

/* =========================================================
   Startseite: Hinweisblock über dem Kalender
   ========================================================= */

.home .kijuju-events-card .kijuju-events-card__before,
.home .kijuju-events-card .wp-block-shortcode .kijuju-events-card__before,
.home .kijuju-events-card .tribe-events-before-html {
	margin: 0 0 22px !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

.home .kijuju-events-card .kijuju-calendar-notice {
	position: relative;
	box-sizing: border-box;

	width: 100%;
	margin: 0 !important;
	padding: 18px 20px 18px 24px !important;

	background: #ffffff;
	border: 1px solid rgba(16, 39, 51, 0.14);
	border-left: 6px solid var(--kijuju-events-turquoise);
	border-radius: 0;

	color: var(--kijuju-events-dark);
	box-shadow: none;
}

.home .kijuju-events-card .kijuju-calendar-notice::before {
	display: none;
}

.home .kijuju-events-card .kijuju-calendar-notice strong {
	display: block;
	margin: 0 0 8px !important;

	font-size: 1rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--kijuju-events-dark);
}

.home .kijuju-events-card .kijuju-calendar-notice p {
	margin: 0 !important;

	font-size: 0.95rem;
	line-height: 1.5;
	color: rgba(16, 39, 51, 0.9);
}

.home .kijuju-events-card .kijuju-calendar-notice strong::before {
	content: "INFO";
	display: inline-block;
	margin-right: 10px;
	padding: 3px 8px;

	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;

	color: #fff;
	background: var(--kijuju-events-dark);
}

/* =========================================================
   Einzelne Veranstaltung: gemeinsamer Veranstaltungskopf
   ========================================================= */

/*
 * Der PHP-Wrapper umfasst Titel, Terminzeile, Beschreibung und
 * Kalenderaktion. Er verwendet denselben Außenabstand und dasselbe
 * Innenpadding wie der darunterliegende Detailbereich.
 */
.single-tribe_events .kijuju-event-main-card {
	box-sizing: border-box;

	width: 100%;
	margin: 0 0 clamp(24px, 3vw, 34px) !important;
	padding: clamp(24px, 3vw, 34px) !important;

	background: #eef3f6; /*var(--kijuju-events-paper);*/
	border: 0;
}

/*
 * Der Beschreibungstext bleibt offen und erhält innerhalb der gemeinsamen
 * Karte keine zusätzliche Box oder Dekorationslinie.
 */
.single-tribe_events
	.kijuju-event-main-card
	.tribe-events-single-event-description {
	max-width: 900px;
}

/*
 * Die Kalenderaktion schließt den Kopf ab. Ein zusätzlicher Außenabstand
 * nach unten ist nicht nötig, weil das Kartenpadding den Abschluss bildet.
 */
.single-tribe_events
	.kijuju-event-main-card
	.tribe-events-cal-links,
.single-tribe_events
	.kijuju-event-main-card
	.tribe-events-c-subscribe-dropdown__container {
	margin-bottom: 0 !important;
}

/*
 * Die obere Karte und der Detailbereich beginnen an derselben horizontalen
 * Achse. Dadurch sind Button und Detailkarten sauber ausgerichtet.
 */
.single-tribe_events .kijuju-event-main-card,
.single-tribe_events .tribe-events-event-meta {
	width: 100%;
}

@media (max-width: 767px) {

	.single-tribe_events .kijuju-event-main-card {
		padding: 18px !important;
		margin-bottom: 20px !important;
	}
}

/* =========================================================
   Startseite: normale Terminzeilen mit Highlights ausrichten
   ========================================================= */

/*
 * Hervorgehobene Termine besitzen links eine 6px starke Akzentkante sowie
 * eigenes Innenpadding. Normale Termine erhalten deshalb einen passenden
 * linken Innenabstand, damit Datumsblock und Titel auf derselben Achse
 * beginnen. Die normale Terminzeile bekommt dabei keine zusätzliche Box.
 */
.home
	.kijuju-events-card
	.tribe-events-widget-events-list__event-row:not(
		.tribe-events-widget-events-list__event-row--featured
	) {
	box-sizing: border-box;

	padding-right: clamp(15px, 2vw, 20px) !important;
	padding-left:
		calc(clamp(15px, 2vw, 20px) + 6px) !important;
}

@media (max-width: 520px) {

	.home
		.kijuju-events-card
		.tribe-events-widget-events-list__event-row:not(
			.tribe-events-widget-events-list__event-row--featured
		) {
		padding-right: 14px !important;
		padding-left: 20px !important;
	}
}

