/* TrendAuto Netz: das Transformationsnetzwerk als Liniennetz, leicht und mit viel Luft. */

:root {
	--tx-gutter: clamp(1.25rem, 4vw, 3.5rem);
	--tx-section: clamp(5rem, 10vw, 9rem);
	--tx-on-navy-strategie: var(--wp--preset--color--navy);
	--tx-display: var(--wp--preset--font-family--body);
	--tx-rule: 1px solid var(--wp--preset--color--line);
}
html { scroll-padding-top: 90px; }
[class*="tx-"], [class*="tx-"]::before, [class*="tx-"]::after { box-sizing: border-box; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.tx-main, .tx-main > * { margin-block: 0; }

/* Linienfarben der Handlungsfelder */
.tx-line-strategie { --line: var(--wp--preset--color--navy); }
.tx-line-technologie { --line: var(--wp--preset--color--blue); }
.tx-line-geschaeftsmodell { --line: var(--wp--preset--color--green); }
.tx-line-qualifikation { --line: var(--wp--preset--color--sky); }
.tx-line-none { --line: var(--wp--preset--color--line); }

.tx-wrap { width: 100%; max-width: calc(1240px + 2 * var(--tx-gutter)); margin-inline: auto; padding-inline: var(--tx-gutter); }
.tx-section { padding-block: var(--tx-section); }
.tx-title { margin: 0; font-size: var(--wp--preset--font-size--xx-large); font-weight: 300; }
.tx-title--narrow { max-width: 18em; }
.tx-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem 2rem; margin-block-end: clamp(2.5rem, 5vw, 4.5rem); }
.tx-head > * { margin: 0; }
.tx-head__link { font-size: 1rem; }
a { text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:focus-visible, button:focus-visible, .tx-track:focus-visible { outline: 2px solid var(--wp--preset--color--blue); outline-offset: 3px; }

/* Kopfbereich */
.wp-block-template-part:has(> .ta-header) { position: sticky; top: 0; z-index: 100; margin: 0; background: #fff; box-shadow: 0 1px 0 var(--wp--preset--color--line); }
.admin-bar .wp-block-template-part:has(> .ta-header) { top: 32px; }
.ta-header { align-items: center; gap: 1rem; width: 100%; max-width: calc(1240px + 2 * var(--tx-gutter)); margin-inline: auto; padding: 0.875rem var(--tx-gutter); }
.ta-header .wp-block-site-logo img { display: block; width: 124px; height: auto; }
.ta-header__right { gap: 1.25rem; align-items: center; }
.ta-header__cta { margin: 0; }
.ta-header__cta .wp-block-button__link { padding: 0.6em 1.1em; font-size: 0.9375rem; white-space: nowrap; }
.wp-block-button__link:hover { background: #2E7220; color: #fff; }
.is-style-outline .wp-block-button__link { padding: calc(0.8em - 1px) calc(1.5em - 1px); border: 1px solid var(--wp--preset--color--navy); background: transparent; color: var(--wp--preset--color--navy); }
.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--sky-pale); color: var(--wp--preset--color--navy); }

/* Hauptmenü: erste Ebene */
.ta-header .wp-block-navigation__container { gap: 0.25rem; }
.ta-header .wp-block-navigation__container > .wp-block-navigation-item { align-items: stretch; }
.ta-header .wp-block-navigation__container > li > .wp-block-navigation-item__content {
	padding: 0.5em 0.5em;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
}
.ta-header .wp-block-navigation__container > li.has-child > .wp-block-navigation-item__content { padding-right: 0.2em; }
.ta-header .wp-block-navigation__container > li > .wp-block-navigation__submenu-icon {
	margin: 0 0.5em 2px 0;
	padding: 0;
	align-self: center;
	color: var(--wp--preset--color--ink);
}
.ta-header .wp-block-navigation__container > li:hover > .wp-block-navigation-item__content,
.ta-header .wp-block-navigation__container > li:hover > .wp-block-navigation__submenu-icon,
.ta-header .wp-block-navigation__container > li:focus-within > .wp-block-navigation-item__content,
.ta-header .wp-block-navigation__container > li:focus-within > .wp-block-navigation__submenu-icon { color: var(--wp--preset--color--navy); }
.ta-header .wp-block-navigation__container > li > .wp-block-navigation-item__content[aria-current="page"],
.ta-header .wp-block-navigation__container > li:has(a[aria-current="page"]) > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--navy);
	border-bottom-color: var(--wp--preset--color--green);
}

/* Hauptmenü: Aufklappmenüs am Desktop */
.ta-header nav:not(.has-modal-open) .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	min-width: 18rem !important;
	padding: 0.4rem 0;
	color: var(--wp--preset--color--ink) !important;
	background: var(--wp--preset--color--white) !important;
	border: 0 !important;
	border-top: 2px solid var(--wp--preset--color--green) !important;
	border-radius: 0 0 4px 4px;
	box-shadow: 0 10px 28px rgb(16 42 67 / 10%);
	font-size: 0.9375rem;
	font-weight: 400;
}
.ta-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.55rem 1.1rem !important;
	color: var(--wp--preset--color--ink);
	line-height: 1.3;
}
.ta-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.ta-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
	color: var(--wp--preset--color--navy);
	background: var(--wp--preset--color--surface);
}
.ta-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container a[aria-current="page"] {
	color: var(--wp--preset--color--navy);
	font-weight: 500;
}
.ta-header .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon { color: var(--wp--preset--color--ink); margin-right: 0.75rem; }
/* Dritte Ebene öffnet nach links, damit sie am rechten Rand nicht abgeschnitten wird */
.ta-header .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child .has-child > .wp-block-navigation__submenu-container {
	top: -0.4rem !important;
	left: auto !important;
	right: 100% !important;
}

/* Hauptmenü: Menü-Knopf */
.ta-header .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--navy); padding: 0.4rem; }
.ta-header .wp-block-navigation__responsive-container-open svg { width: 34px; height: 34px; }

/* Hauptmenü: Überlagerung auf Tablet und Handy */
.ta-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1rem 1.25rem 2rem; overflow-y: auto; }
.ta-header .is-menu-open .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--ink); }
.ta-header .wp-block-navigation__responsive-container.is-menu-open { background: #fff !important; color: var(--wp--preset--color--ink) !important; }
.ta-header .is-menu-open .wp-block-navigation__responsive-dialog,
.ta-header .is-menu-open .wp-block-navigation__responsive-container-content { width: 100%; margin: 0; padding-top: 2.75rem; align-items: stretch !important; }
.ta-header .is-menu-open .wp-block-navigation__responsive-dialog { padding-top: 0; }
.ta-header .is-menu-open .wp-block-navigation__container {
	width: 100%;
	gap: 0 !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	font-size: 1.25rem;
	font-weight: 400;
}
.ta-header .is-menu-open li.wp-block-navigation-item {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	width: 100%;
	align-items: center;
	text-align: left;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.ta-header .is-menu-open .wp-block-navigation-item__content {
	display: block !important;
	width: 100%;
	padding: 0.8rem 0 !important;
	color: var(--wp--preset--color--ink) !important;
	border: 0 !important;
	white-space: normal;
	text-align: left;
}
.ta-header .is-menu-open a[aria-current="page"] { color: var(--wp--preset--color--navy) !important; font-weight: 500; }
.ta-header .is-menu-open .wp-block-navigation__submenu-container {
	grid-column: 1 / -1;
	position: static !important;
	min-width: 0 !important;
	width: 100% !important;
	padding: 0 0 0.5rem 1rem !important;
	gap: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: 1.0625rem;
	font-weight: 400;
	align-items: stretch !important;
}
.ta-header .is-menu-open .wp-block-navigation__submenu-container li.wp-block-navigation-item { border-bottom: 0; }
.ta-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.55rem 0 !important; }
.ta-js .ta-header .is-menu-open .wp-block-navigation__submenu-icon {
	display: grid !important;
	place-items: center;
	width: 3rem;
	height: 3rem;
	margin: 0;
	padding: 0;
	color: var(--wp--preset--color--ink) !important;
	background: none;
	border: 0;
	cursor: pointer;
}
.ta-js .ta-header .is-menu-open .wp-block-navigation__submenu-icon svg { width: 16px; height: 16px; stroke: currentColor; transition: transform 0.15s; transform: none; margin: 0; }
.ta-js .ta-header .is-menu-open li[data-ta-open] > .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }
.ta-js .ta-header .is-menu-open li.has-child:not([data-ta-open]) > .wp-block-navigation__submenu-container { display: none !important; }

/* Auf Tablets passt das Menü nicht in eine Zeile: Überlagerung bis 960px verwenden */
@media (min-width: 600px) and (max-width: 959px) {
	.ta-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ta-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* Tablets und Handys: Menü-Knopf statt Zeile */
@media (max-width: 1179px) { .ta-header__cta { display: none; } }

/* Einstieg mit Liniennetz */
.tx-hero { position: relative; overflow: hidden; padding-block-start: clamp(4rem, 9vw, 8rem); background: #fff; color: var(--wp--preset--color--ink); }
.tx-hero__title { max-width: 14em; margin: 0; color: var(--wp--preset--color--navy); font-size: clamp(2.75rem, 6.6vw, 6.25rem); font-weight: 200; line-height: 1.04; letter-spacing: -0.025em; text-wrap: balance; }
.tx-hero__row { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.5rem 5rem; align-items: start; margin-block-start: clamp(2.5rem, 5vw, 4.5rem); }
.tx-hero__lead > p { max-width: 32em; margin: 0 0 2rem; font-size: var(--wp--preset--font-size--large); font-weight: 300; line-height: 1.55; }
.tx-hero .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0; }
.tx-next { margin: 0; padding-inline-start: 1.25rem; border-inline-start: 2px solid var(--wp--preset--color--green); }
.tx-next__when { display: block; margin-block-end: 0.375rem; color: var(--wp--preset--color--muted); font-size: 0.9375rem; }
.tx-next__title { color: var(--wp--preset--color--navy); font-size: 1.125rem; line-height: 1.4; }
.tx-map { display: block; width: 100%; height: auto; margin-block-start: clamp(2.5rem, 5vw, 4.5rem); }
.tx-map--narrow { display: none; }
.tx-map__line { fill: none; stroke-width: 4; animation: tx-draw 1.5s cubic-bezier(.6, 0, .2, 1) backwards; }
.tx-map--narrow .tx-map__line { stroke-width: 3; }
.tx-map__line:nth-of-type(2) { animation-delay: .08s; }
.tx-map__line:nth-of-type(3) { animation-delay: .16s; }
.tx-map__line:nth-of-type(4) { animation-delay: .24s; }
.tx-map__stops { animation: tx-appear .4s ease-out 1.05s backwards; }
.tx-map__stops rect, .tx-map__stops circle { fill: #fff; stroke: var(--wp--preset--color--navy); stroke-width: 2; }
.tx-map__stops .tx-map__ring { fill: none; stroke: var(--wp--preset--color--sky); stroke-width: 1.5; }
.tx-map__stops text { fill: var(--wp--preset--color--ink); font-family: var(--tx-display); font-size: 24px; font-weight: 300; }
.tx-map--narrow .tx-map__stops text { font-size: 14px; font-weight: 400; }
@keyframes tx-draw { from { stroke-dasharray: 1; stroke-dashoffset: 1; } to { stroke-dasharray: 1; stroke-dashoffset: 0; } }
@keyframes tx-appear { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .tx-map__line, .tx-map__stops { animation: none; } }
.tx-legend { display: flex; flex-wrap: wrap; gap: 0.5rem 2.25rem; margin: 0; padding: 2rem 0 clamp(3rem, 5vw, 4.5rem); list-style: none; font-size: 0.9375rem; }
.tx-legend__item { display: flex; align-items: center; gap: 0.625rem; }
.tx-legend__item::before { content: ""; width: 1.5rem; height: 3px; background: var(--c); }
.tx-legend__item--strategie { --c: var(--wp--preset--color--navy); }
.tx-legend__item--technologie { --c: var(--wp--preset--color--blue); }
.tx-legend__item--geschaeftsmodell { --c: var(--wp--preset--color--green); }
.tx-legend__item--qualifikation { --c: var(--wp--preset--color--sky); }
.tx-legend a { color: var(--wp--preset--color--ink); text-decoration: none; }
.tx-legend a:hover { color: var(--wp--preset--color--navy); text-decoration: underline; }

/* Einstiegsfragen */
.tx-routes { border-block-start: var(--tx-rule); }
.tx-routes__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 3rem clamp(3rem, 7vw, 7rem); align-items: start; }
.tx-routes__grid > .tx-title { position: sticky; top: 120px; font-size: clamp(1.875rem, 3vw, 2.5rem); }
.tx-routes__list { display: block; }
.tx-route { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 0.75rem 3rem; margin: 0; padding-block: 2.5rem; border-block-start: var(--tx-rule); }
.tx-route:first-child { padding-block-start: 0; border-block-start: 0; }
.tx-route__q { margin: 0; font-size: clamp(1.375rem, 2vw, 1.625rem); line-height: 1.25; }
.tx-route__a { margin: 0; }
.tx-route__a > p { margin: 0; }
.tx-route__link { margin-block-start: 0.75rem !important; }

/* Fahrplan */
.tx-agenda-section { background: var(--wp--preset--color--surface); }
.tx-filter { display: none; flex-wrap: wrap; gap: 0.375rem; margin-block-end: 2.5rem; }
.ta-js .tx-filter { display: flex; }
.tx-filter__btn { padding: 0.45em 1em; border: 0; border-radius: 4px; background: transparent; color: var(--wp--preset--color--ink); font: inherit; font-size: 0.9375rem; cursor: pointer; }
.tx-filter__btn:hover { background: var(--wp--preset--color--line); }
.tx-filter__btn[aria-pressed="true"] { background: var(--wp--preset--color--sky-pale); box-shadow: inset 0 0 0 1px var(--wp--preset--color--sky); color: var(--wp--preset--color--navy); }
.tx-stops { margin: 0; padding: 0; list-style: none; }
.tx-stop { position: relative; margin: 0; }
.tx-stop[hidden] { display: none; }
.tx-stop__link { display: grid; grid-template-columns: 6rem 3rem minmax(0, 1fr) 9rem; align-items: start; padding-block: 1.75rem; color: inherit; text-decoration: none; }
.tx-stop::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: calc(6rem + 1.5rem - 1px); width: 2px; background: var(--line); }
.tx-stop::after { content: ""; position: absolute; inset-block-start: 2.25rem; inset-inline-start: calc(6rem + 1.5rem - 6px); width: 12px; height: 12px; border: 2px solid var(--line); border-radius: 50%; background: #fff; }
.tx-stop__date { grid-column: 1; line-height: 1.1; }
.tx-stop__day { display: block; color: var(--wp--preset--color--navy); font-size: 2rem; font-weight: 200; letter-spacing: -0.02em; }
.tx-stop__month { color: var(--wp--preset--color--muted); font-size: 0.875rem; }
.tx-stop__main { grid-column: 3; display: block; padding-inline-end: 2.5rem; }
.tx-stop__title { display: block; color: var(--wp--preset--color--navy); font-size: clamp(1.125rem, 1.6vw, 1.3125rem); font-weight: 400; line-height: 1.35; }
.tx-stop__link:hover .tx-stop__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.tx-stop__meta { display: block; margin-block-start: 0.375rem; color: var(--wp--preset--color--muted); font-size: 0.9375rem; }
.tx-stop__field { grid-column: 4; padding-block-start: 0.25rem; color: var(--wp--preset--color--muted); font-size: 0.875rem; text-align: end; }
.tx-agenda__none, .tx-agenda__empty { margin: 1rem 0 0; }

/* Handlungsfelder */
.tx-fields { overflow: hidden; padding-block-end: var(--tx-section); }
.tx-fields > .tx-wrap { margin-block-end: clamp(3rem, 6vw, 5rem); }
.tx-field { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1rem clamp(3rem, 6vw, 6rem); position: relative; width: 100%; max-width: calc(1240px + 2 * var(--tx-gutter)); margin: 0 auto; padding: 2.75rem var(--tx-gutter) clamp(2.75rem, 5vw, 4rem); }
.tx-field::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: -100vw; height: 2px; background: var(--line); }
.tx-field::after { content: ""; position: absolute; inset-block-start: -5px; inset-inline-start: var(--tx-gutter); width: 12px; height: 12px; border: 2px solid var(--line); border-radius: 50%; background: #fff; }
.tx-field__name { margin: 0; font-size: clamp(1.75rem, 2.8vw, 2.5rem); font-weight: 200; line-height: 1.1; hyphens: none; overflow-wrap: normal; }
.tx-field__name a { color: inherit; text-decoration: none; }
.tx-field__name a:hover { text-decoration: underline; }
.tx-field__text { margin: 0; }
.tx-field__text > p { margin: 0 0 1rem; }
.tx-field__topics { margin: 0; padding-inline-start: 1.1em; color: var(--wp--preset--color--muted); font-size: 0.9375rem; }

/* Regal mit Publikationen */
.tx-shelf-section { background: var(--wp--preset--color--surface); }
.tx-shelf__track { display: flex; gap: clamp(2rem, 4vw, 3.5rem); overflow-x: auto; margin: 0; padding: 0; list-style: none; scrollbar-width: none; }
.tx-shelf__track::-webkit-scrollbar { display: none; }
.tx-book { flex: 0 0 clamp(14rem, 19vw, 16rem); margin: 0; }
.tx-book__cover { display: flex; align-items: flex-end; justify-content: center; height: 15rem; text-decoration: none; }
.tx-book__cover img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.tx-book__plain { display: flex; align-items: flex-end; width: 100%; height: 100%; padding: 1.25rem; background: var(--wp--preset--color--sky-pale); color: var(--wp--preset--color--navy); font-size: 1rem; font-weight: 300; line-height: 1.35; }
.tx-book__by { margin: 1.25rem 0 0.25rem; color: var(--wp--preset--color--muted); font-size: 0.875rem; }
.tx-book__title { margin: 0; font-size: 1.0625rem; font-weight: 400; line-height: 1.35; letter-spacing: 0; }
.tx-book__title a { color: var(--wp--preset--color--navy); text-decoration: none; }
.tx-book__title a:hover { text-decoration: underline; }
.tx-book__pdf { display: inline-block; margin-block-start: 0.5rem; font-size: 0.9375rem; }

/* Galeriesteuerung */
.tx-track { position: relative; scroll-snap-type: x mandatory; scroll-behavior: smooth; }
.tx-track > * { scroll-snap-align: start; }
@media (prefers-reduced-motion: reduce) { .tx-track { scroll-behavior: auto; } }
.tx-track-nav { display: flex; align-items: center; gap: 0.5rem; margin-block-start: 2rem; color: var(--wp--preset--color--navy); }
.tx-track-arrow { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid currentColor; border-radius: 50%; background: none; color: inherit; font-size: 1.25rem; font-weight: 300; line-height: 1; cursor: pointer; }
.tx-track-arrow:disabled { opacity: 0.3; cursor: default; }
.tx-track-status { margin-inline-start: 0.5rem; color: var(--wp--preset--color--muted); font-size: 0.875rem; }

/* AI Factory Lunch Talk */
.tx-spotlight { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: center; gap: clamp(3rem, 6vw, 6rem); max-width: calc(1240px + 2 * var(--tx-gutter)); margin-inline: auto !important; padding: var(--tx-section) var(--tx-gutter); }
.tx-spotlight__image { margin: 0; }
.tx-spotlight__image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.tx-spotlight__text { margin: 0; padding: 0; }
.tx-spotlight__text > * { margin-block: 0 1.5rem; }
.tx-spotlight__text > :last-child { margin-block-end: 0; }
.tx-spotlight__text .tx-title { font-size: clamp(1.875rem, 3vw, 2.5rem); }
.tx-spotlight__when { color: var(--wp--preset--color--muted); }

/* Neuigkeiten */
.tx-news { padding-block-start: 0; }
.tx-news-list { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto auto auto 1fr; gap: 0 clamp(3rem, 6vw, 6rem); }
.tx-story { margin: 0; padding-block: 1.75rem; border-block-start: var(--tx-rule); }
.tx-story:nth-child(2) { padding-block-start: 0; border-block-start: 0; }
.tx-story--lead { grid-row: 1 / span 4; padding-block: 0; border: 0; }
.tx-story--lead img { display: block; width: 100%; aspect-ratio: 16 / 9; margin-block-end: 1.5rem; object-fit: cover; }
.tx-story__date { margin: 0 0 0.375rem; color: var(--wp--preset--color--muted); font-size: 0.875rem; }
.tx-story__title { margin: 0; font-size: 1.1875rem; font-weight: 400; line-height: 1.35; letter-spacing: 0; hyphens: auto; overflow-wrap: break-word; }
.tx-story--lead .tx-story__title { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 300; line-height: 1.2; }
.tx-story__title a { color: var(--wp--preset--color--navy); text-decoration: none; }
.tx-story__title a:hover { text-decoration: underline; }

/* Stimmen */
.tx-voices { background: var(--wp--preset--color--sky-pale); }
.tx-voices .tx-title { margin-block-end: clamp(2.5rem, 5vw, 4.5rem); padding-inline-end: 12rem; }
.tx-voices .tx-wrap { position: relative; }
.tx-quotes + .tx-track-nav { position: absolute; inset-block-start: 0.5rem; inset-inline-end: var(--tx-gutter); margin: 0; }
.tx-quotes { display: flex; gap: var(--tx-gutter); overflow-x: auto; margin: 0; scrollbar-width: none; }
.tx-quotes::-webkit-scrollbar { display: none; }
.tx-quote { display: grid; align-content: start; grid-template-columns: 9rem minmax(0, 1fr); gap: 1.5rem clamp(2.5rem, 5vw, 5rem); align-items: start; flex: 0 0 100%; min-width: 0; margin: 0 !important; }
.tx-quotes .tx-quote__photo { margin: 0; padding: 0; }
.tx-quote__photo img { display: block; width: 100%; aspect-ratio: 1; border-radius: 50%; object-fit: cover; }
.tx-quote__body { margin: 0; max-width: 54rem; }
.tx-quote__text { margin: 0 0 1.75rem; color: var(--wp--preset--color--navy); font-size: clamp(1.375rem, 2.4vw, 2rem); font-weight: 200; line-height: 1.35; }
.tx-quote--mid .tx-quote__text { font-size: clamp(1.25rem, 2vw, 1.625rem); font-weight: 300; line-height: 1.45; }
.tx-quote--long .tx-quote__text { font-size: clamp(1.125rem, 1.45vw, 1.25rem); font-weight: 300; line-height: 1.6; }
.tx-quote__who { margin: 0; color: var(--wp--preset--color--muted); font-size: 0.9375rem; line-height: 1.5; }
.tx-quote__who strong { color: var(--wp--preset--color--ink); font-size: 1rem; font-weight: 500; }

/* Kontakt */
.tx-contact__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 3rem clamp(3rem, 7vw, 7rem); align-items: start; }
.tx-contact__talk > * { margin-block: 0 1.5rem; }
.tx-title--big { color: var(--wp--preset--color--navy); font-size: clamp(2.25rem, 4.4vw, 4rem); font-weight: 200; line-height: 1.08; letter-spacing: -0.02em; }
.tx-contact__direct { font-size: 1.25rem; font-weight: 300; line-height: 1.7; }
.tx-contact__news { margin: 0; padding: 0; }
.tx-contact__news h3 { margin: 0 0 1.75rem; font-size: 1.375rem; font-weight: 400; letter-spacing: 0; }
.tx-contact__news .fluentform label { color: var(--wp--preset--color--ink); font-size: 0.9375rem; font-weight: 400; }
.tx-contact__news .fluentform .ff-el-form-control { border: 1px solid var(--wp--preset--color--line); border-radius: 4px; background: #fff; }
.tx-contact__news .fluentform .ff-el-form-control:focus { border-color: var(--wp--preset--color--blue); }
.tx-contact__news .fluentform .ff-btn-submit { border-radius: 4px; background: var(--wp--preset--color--green-dark) !important; color: #fff !important; font-family: inherit; font-size: 1rem; font-weight: 500; }

/* Fuß */
.tx-footer { margin: 0; }
.tx-footer > * { margin-block: 0; }
.tx-partners { padding-block: clamp(3rem, 5vw, 4.5rem); background: #fff; border-block-start: var(--tx-rule); }
.tx-partners__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2.5rem clamp(3rem, 6vw, 6rem); align-items: end; }
.tx-partners__consortium, .tx-partners__funding { margin: 0; }
.tx-partners__title { margin: 0 0 1.75rem; color: var(--wp--preset--color--muted); font-size: 0.9375rem; font-weight: 400; letter-spacing: 0; }
.tx-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem clamp(2rem, 4vw, 3.5rem); margin: 0; }
.tx-logos figure { margin: 0; }
.tx-logos img { display: block; width: auto; max-width: 9.5rem; max-height: 56px; }
.tx-partners__funding figure { margin: 0; }
.tx-partners__funding img { display: block; width: auto; max-height: 130px; }
.tx-stripes { display: flex; height: 2px; }
.tx-stripes span { flex: 1; }
.tx-stripes span:nth-child(1) { background: var(--wp--preset--color--navy); }
.tx-stripes span:nth-child(2) { background: var(--wp--preset--color--blue); }
.tx-stripes span:nth-child(3) { background: var(--wp--preset--color--green); }
.tx-stripes span:nth-child(4) { background: var(--wp--preset--color--sky); }
.tx-footer__bar { margin: 0; padding-block: 1.5rem; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--muted); font-size: 0.875rem; }
.tx-footer__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 2rem; }
.tx-footer__row > * { margin: 0; }
.tx-footer__row .wp-block-navigation { font-size: 0.875rem; }
.tx-footer__row .wp-block-navigation a { color: var(--wp--preset--color--muted); }

/* Seitenkopf innerer Seiten */
.tx-band { margin: 0; padding-block-start: clamp(3.5rem, 7vw, 6.5rem); background: #fff; color: var(--wp--preset--color--ink); }
.tx-band .tx-wrap { padding-block-end: clamp(2.5rem, 5vw, 4rem); }
.tx-band h1, .tx-band__title { max-width: 20em; margin: 0; color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--xx-large); font-weight: 200; line-height: 1.12; letter-spacing: -0.02em; }
.tx-band__sub { margin: 0 0 0.75rem; color: var(--wp--preset--color--muted); }
.tx-band h1 + .tx-band__sub { margin: 1rem 0 0; }
.ta-elementor-page .tx-band { display: none; }

/* Inhalte aus dem Block-Editor */
.tx-content { max-width: calc(720px + 2 * var(--tx-gutter)); margin-inline: auto; padding: clamp(3rem, 6vw, 5rem) var(--tx-gutter) var(--tx-section); }
.tx-content > * + * { margin-block-start: 1.5rem; }
.tx-content h2 { margin-block-start: 3rem; }
.tx-content img { max-width: 100%; height: auto; }
.tx-article__image { margin: 0 0 2.5rem; }
.tx-article__image img { display: block; width: 100%; height: auto; }

/* Mit Elementor gebaute Seiten bringen ihre eigene Breite mit, übernehmen aber die leichte Schrift */
.ta-elementor-page .tx-content { max-width: none; margin: 0; padding: 0; }
.ta-elementor-page .tx-content > * + * { margin-block-start: 0; }
.tx-builder-content { width: 100%; }
body[class*="elementor-kit-"] {
	--e-global-typography-primary-font-family: Roboto;
	--e-global-typography-primary-font-weight: 300;
	--e-global-typography-secondary-font-family: Roboto;
	--e-global-typography-secondary-font-weight: 400;
	--e-global-typography-text-font-family: Roboto;
	--e-global-typography-text-font-weight: 400;
	--e-global-typography-accent-font-family: Roboto;
	--e-global-typography-accent-font-weight: 500;
	--e-global-color-text: var(--wp--preset--color--ink);
	font-family: Roboto, Arial, sans-serif;
	font-size: 1.0625rem;
}
.elementor-widget-heading .elementor-heading-title { font-family: Roboto, Arial, sans-serif !important; font-weight: 300 !important; letter-spacing: -0.01em; }
.elementor-widget-text-editor { font-family: Roboto, Arial, sans-serif; }

/* Einzelne Veranstaltung: Der Kalender begrenzt seinen Rahmen sonst auf 1048 Pixel */
.tribe-events-pg-template { max-width: none !important; margin: 0 !important; padding: 0 !important; }
.tribe-events-pg-template > .tribe-events-before-html:empty { display: none; }

/* Einzelne Publikation und Bibliothek */
.tx-publication { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 2.5rem clamp(3rem, 6vw, 6rem); align-items: start; }
.tx-publication__cover img { display: block; width: 100%; height: auto; }
.tx-publication__text { max-width: 44rem; }
.tx-publication__text > * + * { margin-block-start: 1.5rem; }
.tx-publication__text .wp-block-buttons { margin-block-start: 2.5rem; }
.tx-library { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 4rem clamp(2rem, 4vw, 3.5rem); margin: 0; padding: 0; list-style: none; }

/* Listen und Blättern */
.tx-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: 4rem clamp(2rem, 4vw, 3.5rem); }
.tx-list__item > p:last-child { margin: 0.5rem 0 0; color: var(--wp--preset--color--muted); font-size: 0.9375rem; }
.tx-list__image img { display: block; width: 100%; aspect-ratio: 16 / 9; margin-block-end: 1.25rem; object-fit: cover; }
.tx-pagination, .navigation.pagination { margin-block-start: 4rem; }
.page-numbers { padding-inline: 0.5em; }

/* Veranstaltungsübersicht */
.tx-events-page { overflow-x: clip; padding-block: clamp(1rem, 2vw, 2rem) var(--tx-section); }
.tx-events-page .tribe-common-l-container { max-width: none !important; padding-inline: 0 !important; padding-top: 0 !important; }
.tribe-common {
	--tec-color-accent-primary: var(--wp--preset--color--navy);
	--tec-color-link-accent: var(--wp--preset--color--navy);
	--tec-font-family-sans-serif: var(--wp--preset--font-family--body);
}

/* Teilnahme-Button und Veranstalter aus dem Plugin TrendAuto Funktionen */
.meeting-button { display: inline-block; padding: 0.8em 1.5em; border-radius: 4px; background: var(--wp--preset--color--green-dark); color: #fff; font-weight: 500; text-decoration: none; }
.meeting-button:hover { background: #2E7220; color: #fff; }
.meeting-details { margin-block-start: 0.75rem; }
.meeting-label { font-weight: 500; }
.veranstalter-eintrag { display: flex; align-items: center; gap: 0.75rem; margin-block-end: 0.75rem; }
.veranstalter-bild { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.veranstalter-name { color: var(--wp--preset--color--navy); font-weight: 500; }

/* Unterseiten: Themen mit Ansprechpersonen */
.tx-band__quote { max-width: 40em; margin: 1.25rem 0 0; font-size: var(--wp--preset--font-size--large); font-weight: 300; }
.tx-topics { overflow: hidden; padding-block: 0 var(--tx-section); }
.tx-topic { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1rem clamp(3rem, 6vw, 6rem); position: relative; width: 100%; max-width: calc(1240px + 2 * var(--tx-gutter)); margin: 0 auto !important; padding: 2.75rem var(--tx-gutter) clamp(2.75rem, 5vw, 4rem); }
.tx-topic::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: -100vw; height: 2px; background: var(--line); }
.tx-topic::after { content: ""; position: absolute; inset-block-start: -5px; inset-inline-start: var(--tx-gutter); width: 12px; height: 12px; border: 2px solid var(--line); border-radius: 50%; background: #fff; }
.tx-topic__name { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2.125rem); font-weight: 300; line-height: 1.2; }
.tx-topic__body { margin: 0; }
.tx-topic__body > * { margin-block: 0 1.25rem; }
.tx-topic__links a { margin-inline-end: 1.5rem; }
.tx-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1.5rem 2.5rem; margin-block: 2rem 0 !important; }
.tx-person { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1rem; align-items: center; margin: 0 !important; }
.tx-person__photo { margin: 0 !important; }
.tx-person__photo img { display: block; width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; }
.tx-person__text { margin: 0 !important; font-size: 0.9375rem; line-height: 1.55; overflow-wrap: anywhere; }
.tx-person__text strong { color: var(--wp--preset--color--navy); font-weight: 500; }
.tx-title--mid { font-size: clamp(1.75rem, 3vw, 2.5rem); }

/* Mittlere und schmale Bildschirme */
@media (max-width: 1000px) {
	.tx-routes__grid, .tx-contact__grid, .tx-spotlight, .tx-partners__grid, .tx-news-list { grid-template-columns: minmax(0, 1fr); }
	.tx-news-list { grid-template-rows: none; }
	.tx-story--lead { grid-row: auto; margin-block-end: 2rem; }
	.tx-story:nth-child(2) { padding-block-start: 1.75rem; border-block-start: var(--tx-rule); }
	.tx-routes__grid > .tx-title { position: static; }
	.tx-field, .tx-topic { grid-template-columns: minmax(0, 1fr); }
	.tx-partners__funding img { max-height: 110px; }
}
@media (max-width: 781px) {
	html { scroll-padding-top: 80px; }
	.tx-hero__row { grid-template-columns: minmax(0, 1fr); }
	.tx-map--wide { display: none; }
	.tx-map--narrow { display: block; }
	.tx-route { grid-template-columns: minmax(0, 1fr); }
	.tx-stop__link { grid-template-columns: 3.75rem 2.25rem minmax(0, 1fr); }
	.tx-stop::before { inset-inline-start: calc(3.75rem + 1.125rem - 1px); }
	.tx-stop::after { inset-inline-start: calc(3.75rem + 1.125rem - 6px); }
	.tx-stop__day { font-size: 1.625rem; }
	.tx-stop__main { padding-inline-end: 0; }
	.tx-stop__field { grid-column: 3; padding-block-start: 0.375rem; text-align: start; }
	.tx-publication { grid-template-columns: minmax(0, 1fr); }
	.tx-quote { grid-template-columns: minmax(0, 1fr); }
	.tx-quotes .tx-quote__photo { width: 6.5rem; }
	.tx-quotes.tx-track { align-items: flex-start; }
	.tx-voices .tx-title { padding-inline-end: 0; }
	.tx-quotes + .tx-track-nav { position: static; margin-block-start: 2rem; }
	.tx-book { flex-basis: 70vw; }
	.tx-logos img { max-width: 8rem; max-height: 44px; }
}
@media (max-width: 782px) { .admin-bar .wp-block-template-part:has(> .ta-header) { top: 46px; } }

/* Überschriften im Inhalt von Elementor-Seiten und Veranstaltungen ebenfalls leicht */
.elementor-widget-text-editor :is(h1, h2, h3, h4), .elementor-widget-theme-post-content :is(h1, h2, h3, h4), .tribe-events-pg-template :is(h1, h2, h3, h4) { font-family: Roboto, Arial, sans-serif; font-weight: 400; }

/*
 * Aus Elementor umgewandelte Inhalte (BlockShift).
 * Das Plugin überträgt Elementors Einzelwerte für Schrift, Farbe und Abstand. Hier gilt stattdessen das System des Themes.
 * Die !important-Angaben sind nötig, weil diese Werte als style-Attribut im Inhalt stehen.
 */
.tx-bs { margin: 0; }
.tx-content:has(> [class*="blockshift-page-"]) { max-width: none; margin: 0; padding: 0; }
.tx-content:has(> [class*="blockshift-page-"]) > * + * { margin-block-start: 0; }

[class*="blockshift-page-"] {
	--bs-head: var(--wp--preset--color--navy);
	--bs-text: var(--wp--preset--color--ink);
	--bs-link: var(--wp--preset--color--navy);
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--bs-text);
	font-size: 1.0625rem;
	line-height: 1.7;
}
[class*="blockshift-page-"], [class*="blockshift-page-"] * { font-family: var(--wp--preset--font-family--body) !important; }

/* Sektionen: alle auf dem Raster von Kopf und Titel */
[class*="blockshift-page-"] > .blockshift-full-width-section {
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding-block: clamp(2rem, 4vw, 3.25rem) !important;
	padding-inline: max(var(--tx-gutter), calc((100% - 1240px) / 2)) !important;
}
.blockshift-full-width-section > * { max-width: none !important; margin-inline: 0 !important; }
[class*="blockshift-page-"] .wp-block-group, [class*="blockshift-page-"] .wp-block-column { min-width: 0; }
.blockshift-full-width-section > .wp-block-column, .blockshift-full-width-section > .wp-block-columns > .wp-block-column { padding: 0 !important; }
[class*="blockshift-page-"] .wp-block-columns { gap: clamp(1.5rem, 4vw, 3.5rem); margin-block: 0; padding: 0 !important; }
[class*="blockshift-page-"] .wp-block-column[style*="flex-basis"] { flex-grow: 1 !important; }
[class*="blockshift-page-"] .wp-block-spacer, .wp-block-blockshift-icon, .wp-block-icon-box .icon-box-icon { display: none !important; }

/* Leeres aus der Umwandlung: Sektionen und Spalten ohne sichtbaren Inhalt, Überschriften ohne ihr Widget */
[class*="blockshift-page-"] :is(.blockshift-full-width-section, .wp-block-column, .wp-block-group):not(:has(:is(p:not(.blockshift-unsupported-widget), h1, h2, h3, h4, h5, h6, img, ul, ol, table, form, iframe, video, .wp-block-button__link))) { display: none; }
[class*="blockshift-page-"] .wp-block-column:has(.blockshift-unsupported-widget):not(:has(:is(p:not(.blockshift-unsupported-widget), img, ul, ol, table, form, iframe, .wp-block-button__link, .tx-bs-restored))) { display: none; }
/* Überschrift allein in ihrer Sektion gehört zur nächsten */
[class*="blockshift-page-"] > .blockshift-full-width-section:not(:has(:is(p, img, ul, ol, table, form, iframe, .wp-block-button__link, .tx-bs-restored))) { padding-block-end: 0 !important; }
[class*="blockshift-page-"] .wp-block-buttons:not(:has(a)) { display: none; }
[class*="blockshift-page-"] .wp-block-gallery:not(:has(img)) { display: none; }

/* Schrift */
[class*="blockshift-page-"] :is(h1, h2, h3, h4, h5, h6) { color: var(--bs-head) !important; letter-spacing: -0.01em; line-height: 1.25; overflow-wrap: break-word; hyphens: auto; text-transform: none !important; }
[class*="blockshift-page-"] h2.wp-block-heading, [class*="blockshift-page-"] h1.wp-block-heading { font-size: clamp(1.5rem, 2.4vw, 1.875rem) !important; font-weight: 300 !important; }
[class*="blockshift-page-"] h3.wp-block-heading { font-size: 1.3125rem !important; font-weight: 400 !important; }
[class*="blockshift-page-"] :is(h4, h5, h6).wp-block-heading { font-size: 1.0625rem !important; font-weight: 500 !important; }
[class*="blockshift-page-"] :is(p, li, dd, dt, td, th, figcaption, blockquote), [class*="blockshift-page-"] :is(p, li) :is(span, strong, em, b, i, u) { color: var(--bs-text) !important; font-style: inherit; }
[class*="blockshift-page-"] :is(p, li, dd, dt, td, th, blockquote) { font-size: 1.0625rem !important; font-weight: 300 !important; line-height: 1.7 !important; overflow-wrap: break-word; hyphens: auto; }
[class*="blockshift-page-"] :is(p, li) :is(strong, b) { font-weight: 500 !important; }
[class*="blockshift-page-"] :is(p, li) a, [class*="blockshift-page-"] :is(p, li) a * { color: var(--bs-link) !important; }
[class*="blockshift-page-"] :is(ul, ol):not(.wp-block-post-template, .tx-bs-items, .tx-bs-logos, .tx-stops) { padding-inline-start: 1.25rem; }
[class*="blockshift-page-"] :is(p, ul, ol):not(.wp-block-post-template, .tx-bs-items, .tx-bs-logos, .tx-stops) { max-width: 46rem; }
[class*="blockshift-page-"] :is(p, ul, ol) { margin-block: 0; }

/* Abstände im Textfluss */
[class*="blockshift-page-"] :is(.wp-block-column, .wp-block-group.is-layout-flow, .wp-block-group.is-layout-constrained) > * { margin-block: 0; }
[class*="blockshift-page-"] :is(.wp-block-column, .wp-block-group.is-layout-flow, .wp-block-group.is-layout-constrained) > * + * { margin-block-start: 1rem; }
[class*="blockshift-page-"] :is(.wp-block-column, .wp-block-group.is-layout-flow) > * + :is(h2, h3) { margin-block-start: 2.25rem; }
[class*="blockshift-page-"] :is(.wp-block-column, .wp-block-group.is-layout-flow) > * + :is(h4, h5, h6) { margin-block-start: 1.5rem; }
[class*="blockshift-page-"] > * + .blockshift-full-width-section { margin-block-start: 0 !important; }
[class*="blockshift-page-"] li + li { margin-block-start: 0.35rem; }

/* Ausrichtung: bündig zum Raster, zentriert nur in Kachelreihen mit drei und mehr Spalten */
.blockshift-full-width-section :is(.has-text-align-center, .has-text-align-right) { text-align: left !important; }
.blockshift-full-width-section .wp-block-buttons { justify-content: flex-start !important; }
.blockshift-full-width-section .wp-block-columns:has(> .wp-block-column:nth-child(3)) .has-text-align-center { text-align: center !important; }
.blockshift-full-width-section .wp-block-columns:has(> .wp-block-column:nth-child(3)) .wp-block-column:has(.has-text-align-center) .wp-block-buttons { justify-content: center !important; }

/* Einspaltige Textsektionen: Überschrift links, Text rechts */
@media (min-width: 900px) {
	.blockshift-full-width-section > .wp-block-column:has(> :is(h2, h3):first-child + :is(p, ul, ol)) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
	.blockshift-full-width-section > .wp-block-column:has(> :is(h2, h3):first-child + :is(p, ul, ol)) > * { grid-column: 2; margin-block-start: 0; }
	.blockshift-full-width-section > .wp-block-column:has(> :is(h2, h3):first-child + :is(p, ul, ol)) > * + * { margin-block-start: 1rem; }
	.blockshift-full-width-section > .wp-block-column:has(> :is(h2, h3):first-child + :is(p, ul, ol)) > :first-child { grid-column: 1; grid-row: 1 / span 20; margin-block-start: 0; }
	.blockshift-full-width-section > .wp-block-column:has(> :is(h2, h3):first-child + :is(p, ul, ol)) > * + :is(.wp-block-gallery, .wp-block-query, .wp-block-columns) { grid-column: 1 / -1; }
}

/* Flächen: hell statt satt, damit weiße Elementor-Texte kein Problem mehr sind */
[class*="blockshift-page-"] div[style*="background-color:#"] { background-color: var(--wp--preset--color--surface) !important; }
[class*="blockshift-page-"] div:is([style*="background-color:#004079" i], [style*="background-color:#6ec1e4" i], [style*="background-color:#8eb1cd" i]) { background-color: var(--wp--preset--color--sky-pale) !important; }
[class*="blockshift-page-"] div:is([style*="background-color:#61ce70" i], [style*="background-color:#52ae32" i], [style*="background-color:#447b5a" i]) { background-color: #F1F7EE !important; }
[class*="blockshift-page-"] div[style*="background-color:#ffffff" i] { background-color: transparent !important; }
[class*="blockshift-page-"] div[style*="background-color:#"]:not(.blockshift-full-width-section) { padding: clamp(1rem, 2.5vw, 1.75rem) !important; border-radius: 4px; }
/* Flächen mit eigenem Bild behalten ihre Farbe: Die Symbole darin sind weiß. */
[class*="blockshift-page-"] div[style*="background-color:#004079" i]:has(.wp-block-image img) { --bs-head: #fff; --bs-text: #fff; --bs-link: #fff; background-color: var(--wp--preset--color--navy) !important; }
[class*="blockshift-page-"] div[style*="background-color:#6ec1e4" i]:has(.wp-block-image img) { --bs-text: var(--wp--preset--color--navy); background-color: var(--wp--preset--color--sky) !important; }
/* Weiße Umriss-Symbole der Handlungsfelder auf hellem Grund einfärben */
[class*="blockshift-page-"] div:not([style*="background-color:#004079" i], [style*="background-color:#6ec1e4" i]) > .wp-block-image img:is([src*="-Outlined"], [data-src*="-Outlined"]) { filter: brightness(0) saturate(100%) invert(15%) sepia(61%) saturate(2700%) hue-rotate(186deg) brightness(95%) contrast(101%); }
[class*="blockshift-page-"] div.has-navy-background-color { --bs-head: #fff; --bs-text: #fff; --bs-link: #fff; }

/* Bilder */
[class*="blockshift-page-"] img { max-width: 100%; }
[class*="blockshift-page-"] .wp-block-image { margin: 0; }
[class*="blockshift-page-"] .wp-block-image img { max-width: 100%; height: auto; }
[class*="blockshift-page-"] .wp-block-image img:is([src*="Quotation-Marks"], [data-src*="Quotation-Marks"]) { width: 5rem; }
[class*="blockshift-page-"] .wp-block-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(11rem, 100%), 1fr)); gap: 0.75rem; }
[class*="blockshift-page-"] .wp-block-gallery > .wp-block-image { width: 100% !important; margin: 0 !important; }
[class*="blockshift-page-"] .wp-block-gallery img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* Tabellen */
[class*="blockshift-page-"] table { display: block; overflow-x: auto; width: auto !important; max-width: 100%; border-collapse: collapse; }
[class*="blockshift-page-"] :is(td, th) { width: auto !important; padding: 0.5rem 1.5rem 0.5rem 0; border-block-end: var(--tx-rule); vertical-align: top; }

/* Knöpfe */
[class*="blockshift-page-"] .wp-block-button__link { padding: 0.8em 1.5em !important; border: 0 !important; border-radius: 4px !important; background: var(--wp--preset--color--green-dark) !important; color: #fff !important; font-size: 0.9375rem !important; font-weight: 500 !important; line-height: 1.3; text-decoration: none; }
[class*="blockshift-page-"] .wp-block-button__link:hover { background: #2E7220 !important; }

/* Beitragslisten */
[class*="blockshift-page-"] .wp-block-post-template { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(18rem, 100%), 1fr)) !important; gap: 2.5rem clamp(2rem, 4vw, 3.5rem); margin: 1.5rem 0 0; padding: 0; list-style: none; }
[class*="blockshift-page-"] .wp-block-post { width: auto !important; margin: 0; padding-block-start: 1.25rem; border-block-start: var(--tx-rule); }
[class*="blockshift-page-"] .wp-block-post .post-meta { display: none; }
[class*="blockshift-page-"] .wp-block-post-title { margin: 0 0 0.75rem; font-size: 1.125rem !important; font-weight: 400 !important; line-height: 1.35; }
[class*="blockshift-page-"] .wp-block-post-title a { color: inherit !important; text-decoration: none; }
[class*="blockshift-page-"] .wp-block-post-title a:hover { text-decoration: underline; }
[class*="blockshift-page-"] .wp-block-post-excerpt__excerpt { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; font-size: 0.9375rem !important; line-height: 1.6 !important; }
[class*="blockshift-page-"] .wp-block-query-pagination { margin-block-start: 1.5rem; font-size: 0.9375rem; }

/* Titel, wenn die Seite ihn selbst mitbringt */
[class*="blockshift-page-"] h1.tx-bs-title { max-width: 20em; font-size: var(--wp--preset--font-size--xx-large) !important; font-weight: 200 !important; line-height: 1.12; letter-spacing: -0.02em; text-align: left; }
.tx-bs-sub { color: var(--wp--preset--color--muted) !important; }
[class*="blockshift-page-"] > .blockshift-full-width-section.tx-bs-first { position: relative; padding-block: clamp(3.5rem, 7vw, 6.5rem) clamp(2.5rem, 5vw, 4rem) !important; }
.tx-bs-first::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: linear-gradient(to right, var(--wp--preset--color--navy) 25%, var(--wp--preset--color--blue) 25% 50%, var(--wp--preset--color--green) 50% 75%, var(--wp--preset--color--sky) 75%); }

/* In Elementor für einzelne Geräte ausgeblendet */
@media (max-width: 767px) { .tx-bs-hide-mobile { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .tx-bs-hide-tablet { display: none !important; } }
@media (min-width: 1025px) { .tx-bs-hide-desktop { display: none !important; } }

/* Reiter */
.blockshift-tabs-headers { flex-wrap: wrap; gap: 0 1.5rem; border-block-end: var(--tx-rule); }
.blockshift-tab-header { margin: 0 !important; padding: 0.6rem 0 !important; border: 0 !important; border-block-end: 2px solid transparent !important; border-radius: 0 !important; background: none !important; color: var(--wp--preset--color--muted) !important; font-size: 0.9375rem !important; }
.blockshift-tab-header.active { border-block-end-color: var(--wp--preset--color--navy) !important; color: var(--wp--preset--color--navy) !important; }
.blockshift-tabs-content { padding: 1.25rem 0 !important; border: 0 !important; background: none !important; font-size: 1.0625rem !important; font-weight: 300 !important; line-height: 1.7 !important; }
.blockshift-tab-content { white-space: pre-line; }
[class*="blockshift-page-"] .wp-block-blockshift-tabs + .wp-block-blockshift-tabs { margin-block-start: 2rem; }

/* Vom Theme zurückgeholte Widgets */
.wp-block-column:has(> .tx-person) { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr)); gap: 1.5rem 2.5rem; }
.wp-block-column:has(> .tx-person) > :not(.tx-person) { grid-column: 1 / -1; }
.wp-block-column > .tx-person + .tx-person { margin-block-start: 0 !important; }
[class*="blockshift-page-"] .tx-person__text :is(p, a, strong) { font-size: 0.9375rem !important; line-height: 1.55 !important; }
.tx-bs-agenda { container-type: inline-size; margin-block-start: 1rem; }
.tx-bs-agenda .tx-filter { display: none; }
.tx-bs-agenda .tx-agenda__empty { margin: 0; color: var(--wp--preset--color--muted) !important; font-size: 0.9375rem !important; line-height: 1.55 !important; }
/* Terminliste in schmalen Spalten: Datum über dem Titel, ohne Linienraster */
@container (max-width: 40rem) {
	.tx-bs-agenda .tx-stop__link { display: block; padding-block: 0.75rem; padding-inline-start: 0.875rem; }
	.tx-bs-agenda .tx-stop::before { inset-inline-start: 0; }
	.tx-bs-agenda .tx-stop::after, .tx-bs-agenda .tx-stop__field { display: none; }
	.tx-bs-agenda .tx-stop__date { display: block; margin-block-end: 0.25rem; line-height: 1.3; }
	.tx-bs-agenda .tx-stop__day, .tx-bs-agenda .tx-stop__month { display: inline; color: var(--wp--preset--color--muted); font-size: 0.875rem; font-weight: 400; letter-spacing: 0; }
	.tx-bs-agenda .tx-stop__main { padding: 0; }
	.tx-bs-agenda .tx-stop__title { font-size: 0.9375rem; line-height: 1.4; }
	.tx-bs-agenda .tx-stop__meta { font-size: 0.8125rem; line-height: 1.45; }
}
.tx-bs-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr)); gap: 2rem clamp(2rem, 4vw, 3.5rem); padding: 0 !important; list-style: none; }
.tx-bs-items img { display: block; width: 100%; height: auto; margin-block-end: 0.75rem; }
.tx-bs-items strong { display: block; margin-block-end: 0.25rem; color: var(--bs-head) !important; }
.tx-bs-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 2.5rem; padding: 0 !important; list-style: none; }
.tx-bs-logos img { display: block; width: auto; max-width: 10rem; max-height: 4rem; }

/*
 * Seitenaufbau für Inhalte aus Core-Blöcken: Sektionen auf dem Raster von Kopf und Titel.
 * Die Klassen tx-sec, tx-card, tx-people, tx-items, tx-steps, tx-logos und tx-list lassen sich im Editor frei vergeben.
 */
.tx-content:has(> .tx-sec) { max-width: none; margin: 0; padding: 0; }
.tx-content:has(> .tx-sec) > * + * { margin-block-start: 0; }
.tx-content:has(> .tx-sec) > .tx-article__image { width: 100%; max-width: calc(1240px + 2 * var(--tx-gutter)); margin: clamp(2rem, 4vw, 3rem) auto 0; padding-inline: var(--tx-gutter); }
.tx-content:has(> .tx-sec) > .tx-article__image img { display: block; width: 100%; max-height: 30rem; object-fit: cover; }

.tx-sec { margin: 0 !important; padding-block: clamp(2.5rem, 5vw, 4.5rem); padding-inline: max(var(--tx-gutter), calc((100% - 1240px) / 2)); font-size: 1.0625rem; line-height: 1.7; }
.tx-sec--pale { background: var(--wp--preset--color--sky-pale); }
.tx-sec--green { background: #F1F7EE; }
.tx-sec--surface { background: var(--wp--preset--color--surface); }
.tx-sec--pale + .tx-sec--pale, .tx-sec--green + .tx-sec--green, .tx-sec--surface + .tx-sec--surface, .tx-sec:not([class*="tx-sec--"]) + .tx-sec:not([class*="tx-sec--"]) { padding-block-start: 0; }

.tx-sec :is(h2, h3, h4, h5, h6) { margin-block: 0; color: var(--wp--preset--color--navy); letter-spacing: -0.01em; line-height: 1.25; overflow-wrap: break-word; hyphens: auto; }
.tx-sec h2 { font-size: clamp(1.5rem, 2.4vw, 1.875rem); font-weight: 300; }
.tx-sec h3 { font-size: 1.3125rem; font-weight: 400; }
.tx-sec :is(h4, h5, h6) { font-size: 1.0625rem; font-weight: 500; }
.tx-sec :is(p, ul, ol) { margin-block: 0; overflow-wrap: break-word; hyphens: auto; }
.tx-sec :is(p, .wp-block-list) { max-width: 46rem; font-weight: 300; }
.tx-sec :is(strong, b) { font-weight: 500; }
.tx-sec .wp-block-list { padding-inline-start: 1.25rem; }
.tx-sec li + li { margin-block-start: 0.35rem; }
.tx-sec img { max-width: 100%; height: auto; }

.tx-sec > * + *, .tx-sec .wp-block-column > * + *, .tx-card > * + *, .tx-item > * + * { margin-block-start: 1rem; }
.tx-sec > * + :is(h2, h3), .tx-sec .wp-block-column > * + :is(h2, h3), .tx-card > * + :is(h2, h3) { margin-block-start: 2.25rem; }
.tx-sec > * + :is(h4, h5, h6), .tx-sec .wp-block-column > * + :is(h4, h5, h6), .tx-card > * + :is(h4, h5, h6) { margin-block-start: 1.5rem; }
.tx-sec > :is(h2, h3) + *, .tx-sec .wp-block-column > :is(h2, h3) + * { margin-block-start: 0.875rem; }
.tx-sec .wp-block-columns { gap: clamp(1.5rem, 4vw, 3.5rem); margin-block-end: 0; }
.tx-sec > .wp-block-columns + .wp-block-columns { margin-block-start: clamp(1.5rem, 3vw, 2.5rem); }
.tx-sec .wp-block-column { min-width: 0; }
.tx-sec .wp-block-buttons { margin-block-start: 1.25rem; }

/* Einspaltige Textsektion: Überschrift links, Text rechts */
@media (min-width: 900px) {
	.tx-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
	.tx-split > * { grid-column: 2; }
	.tx-split > :first-child { grid-column: 1; grid-row: 1 / span 40; }
	.tx-split > :first-child + * { margin-block-start: 0; }
}

/* Karten: früher farbige Spalten */
.tx-card { padding: clamp(1.25rem, 2.5vw, 2rem); border-radius: 4px; background: var(--wp--preset--color--surface); }
.tx-sec[class*="tx-sec--"] .tx-card { background: #fff; }

/* Weiße Symbole aus früher dunklen Flächen */
.tx-tint img { filter: brightness(0) saturate(100%) invert(15%) sepia(61%) saturate(2700%) hue-rotate(186deg) brightness(95%) contrast(101%); }

/* Bilder */
.tx-sec .wp-block-image { margin-inline: 0; }
.tx-sec .wp-block-gallery.has-nested-images { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(11rem, 100%), 1fr)); gap: 0.75rem; }
.tx-sec .wp-block-gallery.has-nested-images figure.wp-block-image { width: 100% !important; margin: 0 !important; }
.tx-sec .wp-block-gallery.is-cropped img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.tx-sec .wp-block-gallery.tx-logos { grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); gap: 1.5rem 2.5rem; align-items: center; }
.tx-sec .wp-block-gallery.tx-logos img { width: auto; max-height: 4rem; object-fit: contain; }

/* Raster für Karten und Abläufe */
.tx-items, .tx-steps { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(18rem, 100%), 1fr)); gap: 2rem clamp(2rem, 4vw, 3.5rem); }
.tx-steps { counter-reset: tx-step; }
.tx-steps .tx-item { padding-block-start: 1rem; border-block-start: 2px solid var(--wp--preset--color--blue); }
.tx-item__sub { color: var(--wp--preset--color--muted); font-size: 0.875rem; }
.tx-item__sub + * { margin-block-start: 0.25rem !important; }
.tx-item > * { margin-block-end: 0; }

/* Ansprechpersonen */
.tx-sec .tx-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr)); gap: 1.5rem 2.5rem; }
.tx-sec .tx-person > * + * { margin-block-start: 0 !important; }
.tx-sec .tx-person__text { font-size: 0.9375rem; font-weight: 400; line-height: 1.55; }

/* Beitragslisten */
.tx-list .wp-block-post-template { gap: 2.5rem clamp(2rem, 4vw, 3.5rem); margin: 0; padding: 0; list-style: none; }
.tx-list .wp-block-post { margin: 0; padding-block-start: 1.25rem; border-block-start: var(--tx-rule); }
.tx-list .wp-block-post-featured-image { margin: 0 0 0.875rem; }
.tx-list .wp-block-post-title { margin: 0 0 0.625rem; font-size: 1.125rem; font-weight: 400; line-height: 1.35; }
.tx-list .wp-block-post-title a { color: inherit; text-decoration: none; }
.tx-list .wp-block-post-title a:hover { text-decoration: underline; }
.tx-list .wp-block-post-excerpt { margin: 0; }
.tx-list .wp-block-post-excerpt__excerpt { font-size: 0.9375rem; line-height: 1.6; }

/* Aufklappbares */
.tx-sec .wp-block-details { max-width: 46rem; padding-block: 0.875rem; border-block-end: var(--tx-rule); }
.tx-sec .wp-block-details + .wp-block-details { margin-block-start: 0; }
.tx-sec .wp-block-details summary { color: var(--wp--preset--color--navy); cursor: pointer; font-weight: 400; }
.tx-sec .wp-block-details[open] summary { margin-block-end: 0.75rem; }

/* Tabellen, Zitate, Videos */
.tx-sec .wp-block-table { overflow-x: auto; margin-inline: 0; }
.tx-sec .wp-block-table table { width: 100%; border-collapse: collapse; }
.tx-sec .wp-block-table :is(td, th) { padding: 0.5rem 1.5rem 0.5rem 0; border: 0; border-block-end: var(--tx-rule); vertical-align: top; text-align: start; font-size: 0.9375rem; line-height: 1.55; }
.tx-sec .wp-block-quote { margin-inline: 0; padding-inline-start: 1.25rem; border-inline-start: 2px solid var(--wp--preset--color--blue); }
.tx-sec .wp-block-embed { max-width: 46rem; margin-inline: 0; }

/* Terminliste in schmalen Spalten */
.tx-sec .tx-agenda { container-type: inline-size; }
.tx-sec .tx-filter { display: none; }
.tx-sec .tx-agenda__empty { margin: 0; color: var(--wp--preset--color--muted); font-size: 0.9375rem; line-height: 1.55; }
@container (max-width: 40rem) {
	.tx-sec .tx-stop__link { display: block; padding-block: 0.75rem; padding-inline-start: 0.875rem; }
	.tx-sec .tx-stop::before { inset-inline-start: 0; }
	.tx-sec .tx-stop::after, .tx-sec .tx-stop__field { display: none; }
	.tx-sec .tx-stop__date { display: block; margin-block-end: 0.25rem; line-height: 1.3; }
	.tx-sec .tx-stop__day, .tx-sec .tx-stop__month { display: inline; color: var(--wp--preset--color--muted); font-size: 0.875rem; font-weight: 400; letter-spacing: 0; }
	.tx-sec .tx-stop__main { padding: 0; }
	.tx-sec .tx-stop__title { font-size: 0.9375rem; line-height: 1.4; }
	.tx-sec .tx-stop__meta { font-size: 0.8125rem; line-height: 1.45; }
}

/* Knöpfe stehen in Spalten nicht gestreckt */
.tx-sec .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.tx-sec .wp-block-button__link { height: auto; }
.tx-sec .tx-mark img { width: 4rem !important; }
.tx-sec .tx-tint img { max-width: 14rem; }
@media (max-width: 781px) {
	.tx-sec .wp-block-columns .wp-block-columns .wp-block-image img { max-width: 6rem; }
}

/* Beitragslisten passen ihre Spaltenzahl der Breite an */
.tx-list .wp-block-post-template { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr)) !important; }
.tx-list .wp-block-post { width: auto !important; min-width: 0; }

/*
 * Einheitliche Bildformate. Die height-Angabe der Bilder hebelt aspect-ratio sonst aus.
 * Hochformate zeigen den oberen Teil, weil dort meist Gesichter und Titel stehen.
 */
.tx-list__image img, .tx-list .wp-block-post-featured-image img, .tx-story--lead img, .tx-items .wp-block-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 30%; }
/* Grafiken und Banner vollständig zeigen statt beschneiden */
.tx-list__image img:is([src*=".png"], [data-src*=".png"]) { background: var(--wp--preset--color--surface); object-fit: contain; }
/* Die Klasse für Beitragslisten aus Query-Blöcken erbt nicht das Raster der PHP-Listen */
.wp-block-query.tx-list { display: block; }
/* Porträts: quadratisch. Im Editor über die Klasse tx-portrait am Bild-Block nutzbar. */
.tx-portrait img, .page-id-3459 .tx-sec .wp-block-column > .wp-block-image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 50% 15%; }

/* Versteckte Texte in den Karussells dürfen die Seite nicht breiter machen, auch bevor das Skript geladen ist */
.tx-shelf__track, .tx-quotes, .tx-book__pdf { position: relative; }

/* Detailseite einer Veranstaltung */
.tx-event { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem); gap: clamp(2.5rem, 6vw, 5rem); align-items: start; padding-block: clamp(2.5rem, 5vw, 4.5rem) var(--tx-section); }
.tx-event__facts { grid-column: 2; grid-row: 1; font-size: 0.9375rem; line-height: 1.55; }
.tx-event__main { grid-column: 1; grid-row: 1; min-width: 0; }
.tx-event__facts dl { margin: 0; }
.tx-event__facts dt { margin-block-start: 1.25rem; color: var(--wp--preset--color--muted); font-size: 0.8125rem; }
.tx-event__facts dt:first-child { margin-block-start: 0; }
.tx-event__facts dd { margin: 0.125rem 0 0; color: var(--wp--preset--color--navy); overflow-wrap: anywhere; }
.tx-event__past { margin: 0 0 1.5rem; padding: 0.75rem 1rem; border-radius: 4px; background: var(--wp--preset--color--surface); }
.tx-event__action { margin: 1.5rem 0 0; }
.tx-event__button { display: block; padding: 0.75em 1em; border-radius: 4px; background: var(--wp--preset--color--green-dark); color: #fff; font-weight: 500; text-align: center; text-decoration: none; }
.tx-event__button:hover { background: #2E7220; color: #fff; }
.tx-event__button--quiet { background: var(--wp--preset--color--sky-pale); color: var(--wp--preset--color--navy); }
.tx-event__button--quiet:hover { background: var(--wp--preset--color--sky-pale); color: var(--wp--preset--color--navy); text-decoration: underline; }
.tx-event__meeting > p:not(.tx-event__action) { margin: 0.5rem 0 0; color: var(--wp--preset--color--muted); }
.tx-event__meeting > .tx-event__action + p { margin-block-start: 0.75rem; }
.tx-event__calendar { margin: 1.5rem 0 0; color: var(--wp--preset--color--muted); }
.tx-event .veranstalter-eintrag { display: flex; gap: 0.75rem; align-items: center; }
.tx-event .veranstalter-eintrag + .veranstalter-eintrag { margin-block-start: 0.75rem; }
.tx-event .veranstalter-bild { display: block; width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; }
.tx-event__body { font-size: 1.0625rem; font-weight: 300; line-height: 1.7; overflow-wrap: break-word; }
.tx-event__body > * { max-width: 46rem; margin-block: 0; }
.tx-event__body > * + * { margin-block-start: 1rem; }
.tx-event__body > p:has(> br:only-child), .tx-event__body > p:empty { display: none; }
.tx-event__body :is(h2, h3, h4) { color: var(--wp--preset--color--navy); letter-spacing: -0.01em; line-height: 1.25; }
.tx-event__body h2 { font-size: clamp(1.375rem, 2.2vw, 1.75rem); font-weight: 300; }
.tx-event__body h3 { font-size: 1.1875rem; font-weight: 400; }
.tx-event__body > * + :is(h2, h3, h4) { margin-block-start: 2.25rem; }
.tx-event__body > :is(h2, h3, h4) + * { margin-block-start: 0.75rem; }
.tx-event__body strong { font-weight: 500; }
.tx-event__body img { max-width: 100%; height: auto; }
.tx-event__body .tribe-events-c-subscribe-dropdown__container { display: none; }
.tx-event__forms { margin-block-start: 3rem; scroll-margin-block-start: 6rem; }
@media (max-width: 860px) {
	.tx-event { grid-template-columns: minmax(0, 1fr); }
	.tx-event__facts, .tx-event__main { grid-column: 1; grid-row: auto; }
}

/* Veranstaltungsbild über die ganze Breite */
.tx-event-hero { margin: 0; }
.tx-event-hero img { display: block; width: 100%; height: auto; max-height: 60vh; aspect-ratio: 16 / 9; object-fit: cover; }
.tx-event-hero + .tx-band { padding-block-start: clamp(2rem, 4vw, 3.5rem); }
.tx-event__body img { display: block; max-width: 100%; height: auto; }

/* Tabellen im Beschreibungstext: Word- und Editor-Breiten ignorieren */
.tx-event__body table { width: 100% !important; max-width: 100%; border-collapse: collapse; font-size: 0.9375rem; line-height: 1.5; }
.tx-event__body :is(td, th) { width: auto !important; padding: 0.5rem 1.25rem 0.5rem 0; border-block-end: var(--tx-rule); vertical-align: top; text-align: start; }
@media (max-width: 600px) {
	.tx-event__body :is(table, tbody, tr, td, th) { display: block; }
	.tx-event__body tr { padding-block: 0.75rem; border-block-end: var(--tx-rule); }
	.tx-event__body :is(td, th) { padding: 0; border: 0; }
	.tx-event__body td:first-child { color: var(--wp--preset--color--muted); font-size: 0.875rem; }
	.tx-event__body td:nth-child(2) { color: var(--wp--preset--color--navy); font-weight: 400; }
	.tx-event__body tr:first-child:has(> td:last-child > strong:only-child) { display: none; }
}

/* Ähnliche Veranstaltungen */
.tx-event-related { padding-block: clamp(2.5rem, 5vw, 4.5rem); background: var(--wp--preset--color--surface); }
.tx-event-related .tribe-events-related-events-title { margin: 0 0 2rem; padding: 0; border: 0; color: var(--wp--preset--color--navy); font-size: clamp(1.5rem, 2.4vw, 1.875rem); font-weight: 300; line-height: 1.25; }
.tx-event-related .tribe-related-events { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(18rem, 100%), 1fr)); gap: 2.5rem clamp(2rem, 4vw, 3.5rem); margin: 0; padding: 0; list-style: none; }
.tx-event-related .tribe-related-events::before, .tx-event-related .tribe-related-events::after { content: none; }
.tx-event-related .tribe-related-events > li { float: none; width: auto; margin: 0; padding: 0; }
.tx-event-related .tribe-related-events-thumbnail { margin: 0 0 1rem; }
.tx-event-related .tribe-related-events-thumbnail a { display: block; }
.tx-event-related .tribe-related-events-thumbnail img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.tx-event-related .tribe-related-event-info { color: var(--wp--preset--color--muted); font-size: 0.875rem; line-height: 1.5; }
.tx-event-related .tribe-related-events-title { margin: 0 0 0.5rem; font-size: 1.125rem; font-weight: 400; line-height: 1.35; hyphens: manual; }
.tx-event-related .tribe-related-events-title a { color: var(--wp--preset--color--navy); text-decoration: none; }
.tx-event-related .tribe-related-events-title a:hover { text-decoration: underline; }
.tx-event__back.tx-wrap { padding-block: clamp(1.5rem, 3vw, 2.5rem) var(--tx-section); font-size: 0.9375rem; }
.tx-event__back.tx-wrap { margin: 0 auto; }

/* Kontaktwege */
.tx-wege { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 3rem clamp(3rem, 7vw, 7rem); align-items: start; scroll-margin-block-start: 5rem; background: var(--wp--preset--color--sky-pale); }
.tx-wege > * + * { margin-block-start: 0; }
.tx-wege__form > h2 + p { margin-block: 0.875rem 2rem; }
.tx-wege__more { padding-block-start: 0.25rem; font-size: 0.9375rem; line-height: 1.6; }
.tx-wege__more h2 { margin-block-end: 0.875rem; }
.tx-wege__more h3 { margin-block: 2rem 0.375rem; font-size: 1.0625rem; font-weight: 500; }
.tx-wege__more h2 + h3 { margin-block-start: 1.25rem; }
.tx-wege__more p + p { margin-block-start: 0.5rem; }
.tx-wege__more p { font-weight: 400; }
.tx-wege a { color: var(--wp--preset--color--navy); }
.tx-anfrage .fluentform label { color: var(--wp--preset--color--ink); font-size: 0.9375rem; font-weight: 400; }
.tx-anfrage .fluentform .ff-el-form-control { border: 1px solid var(--wp--preset--color--line); border-radius: 4px; background: #fff; color: var(--wp--preset--color--ink); font-size: 1rem; }
.tx-anfrage .fluentform .ff-el-form-control:focus { border-color: var(--wp--preset--color--blue); }
.tx-anfrage .fluentform .ff-btn-submit { padding: 0.8em 1.75em; border: 0; border-radius: 4px; background: var(--wp--preset--color--green-dark) !important; color: #fff !important; font-size: 0.9375rem; font-weight: 500; }
.tx-anfrage .fluentform .ff-btn-submit:hover { background: #2E7220 !important; opacity: 1; }
.tx-anfrage fieldset > .ff-custom_html:has(> :is(h1, h2, h3, h4):only-child) { display: none; }
.tx-ask { background: var(--wp--preset--color--sky-pale); }
.tx-ask__inner { display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; align-items: baseline; justify-content: space-between; padding-block: clamp(1.75rem, 3vw, 2.5rem); }
.tx-ask__text { margin: 0; color: var(--wp--preset--color--navy); font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 300; }
.tx-ask__link { margin: 0; font-weight: 500; }
.tx-ask__link a { color: var(--wp--preset--color--navy); }
@media (max-width: 860px) {
	.tx-wege { grid-template-columns: minmax(0, 1fr); }
}

/*
 * Veranstaltungsübersicht im Stil der Terminlinie auf der Startseite.
 * Der Kalender setzt seine Werte teils sehr spezifisch und über den Customizer, daher die !important-Angaben.
 */
.tx-events-page .tribe-common { --tec-color-text-primary: var(--wp--preset--color--ink); --tec-color-text-secondary: var(--wp--preset--color--muted); --tec-color-border-default: var(--wp--preset--color--line); --tec-color-border-secondary: var(--wp--preset--color--line); }
.tx-events-page .tribe_events_cat-handlungsfeld-strategie { --line: var(--wp--preset--color--navy); }
.tx-events-page .tribe_events_cat-handlungsfeld-technologie { --line: var(--wp--preset--color--blue); }
.tx-events-page .tribe_events_cat-handlungsfeld-geschaeftsmodell { --line: var(--wp--preset--color--green); }
.tx-events-page .tribe_events_cat-handlungsfeld-qualifikation { --line: var(--wp--preset--color--sky); }
.tx-events-page .tribe-common-c-svgicon__svg-fill, .tx-events-page :is(.tribe-events-c-search__input-control-icon-svg, .tribe-events-c-events-bar__search-button-icon-svg) path { fill: var(--wp--preset--color--navy) !important; }
.tx-events-page .tribe-events-c-events-bar__search-button { background: none !important; }

/* Suchleiste */
.tx-events-page .tribe-events-header { margin-block-end: 0 !important; }
.tx-events-page .tribe-events-c-events-bar--border { border: 0 !important; border-radius: 4px; background: var(--wp--preset--color--surface) !important; box-shadow: none !important; }
.tx-events-page .tribe-events-c-events-bar__views { display: none !important; }
.tx-events-page .tribe-events-c-search__input { color: var(--wp--preset--color--ink) !important; font-size: 0.9375rem !important; font-weight: 400; }
.tx-events-page .tribe-events-c-search__input::placeholder { color: var(--wp--preset--color--muted); }
.tx-events-page .tribe-events-c-search__input-group { border-color: var(--wp--preset--color--line) !important; }
.tx-events-page .tribe-events-c-search__button { padding: 0.65em 1.25em !important; border: 0 !important; border-radius: 4px !important; background: var(--wp--preset--color--green-dark) !important; color: #fff !important; font-size: 0.9375rem !important; font-weight: 500 !important; }
.tx-events-page .tribe-events-c-search__button:hover { background: #2E7220 !important; }

/* Blättern und Zeitraum */
.tx-events-page .tribe-events-c-top-bar { margin-block: clamp(1.5rem, 3vw, 2.5rem) 0 !important; }
.tx-events-page .tribe-events-c-top-bar__datepicker-button, .tx-events-page .tribe-events-c-top-bar__datepicker-time { color: var(--wp--preset--color--navy) !important; font-size: clamp(1.375rem, 2.2vw, 1.75rem) !important; font-weight: 300 !important; letter-spacing: -0.01em; }
.tx-events-page .tribe-events-c-top-bar__today-button { border: 1px solid var(--wp--preset--color--line) !important; border-radius: 4px; color: var(--wp--preset--color--navy) !important; font-size: 0.875rem !important; font-weight: 400 !important; }

/* Monate */
.tx-events-page .tribe-events-calendar-list__month-separator { margin-block: clamp(1.75rem, 3vw, 2.5rem) 0 !important; }
.tx-events-page .tribe-events-calendar-list__month-separator-text { color: var(--wp--preset--color--muted) !important; font-size: 0.9375rem !important; font-weight: 400 !important; }
.tx-events-page .tribe-events-calendar-list__month-separator::after { background: var(--wp--preset--color--line) !important; }

/* Eine Veranstaltung: Datum, Linie, Inhalt, Bild */
.tx-events-page .tribe-events-calendar-list__event-row { display: grid !important; grid-template-columns: 6rem 3rem minmax(0, 1fr); margin: 0 !important; padding: 0 !important; }
.tx-events-page .tribe-events-calendar-list__event-date-tag { grid-column: 1; align-self: start; width: auto !important; margin: 0 !important; padding: 2rem 0 0 !important; }
.tx-events-page .tribe-events-calendar-list__event-date-tag-datetime { display: flex !important; flex-direction: column; align-items: flex-start; height: auto !important; }
.tx-events-page .tribe-events-calendar-list__event-date-tag-daynum { order: -1; }
.tx-events-page .tribe-events-calendar-list__event-date-tag-daynum { color: var(--wp--preset--color--navy) !important; font-size: 2rem !important; font-weight: 200 !important; letter-spacing: -0.02em; line-height: 1.1 !important; }
.tx-events-page .tribe-events-calendar-list__event-date-tag-weekday { color: var(--wp--preset--color--muted) !important; font-size: 0.875rem !important; font-weight: 400 !important; line-height: 1.4; text-transform: none !important; }
.tx-events-page .tribe-events-calendar-list__event-wrapper { grid-column: 3; width: auto !important; margin: 0 !important; padding: 0 !important; }
.tx-events-page .tribe-events-calendar-list__event { position: relative; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(12rem, 18rem); gap: 0 clamp(2rem, 4vw, 3.5rem); margin: 0 !important; padding-block: 2rem !important; padding-inline: 0 !important; }
.tx-events-page .tribe-events-calendar-list__event::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: calc(-1.5rem - 1px); width: 2px; background: var(--line, var(--wp--preset--color--line)); }
.tx-events-page .tribe-events-calendar-list__event::after { content: ""; position: absolute; inset-block-start: 2.5rem; inset-inline-start: calc(-1.5rem - 6px); width: 12px; height: 12px; border: 2px solid var(--line, var(--wp--preset--color--line)); border-radius: 50%; background: #fff; }
.tx-events-page .tribe-events-calendar-list__event-details { grid-column: 1; grid-row: 1; width: auto !important; margin: 0 !important; padding: 0 !important; }
.tx-events-page .tribe-events-calendar-list__event-featured-image-wrapper { grid-column: 2; grid-row: 1; width: auto !important; margin: 0 !important; padding: 0 !important; }
.tx-events-page .tribe-events-calendar-list__event-featured-image { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.tx-events-page .tribe-events-calendar-list__event-title { margin: 0.25rem 0 0 !important; font-size: clamp(1.125rem, 1.6vw, 1.3125rem) !important; font-weight: 400 !important; line-height: 1.35 !important; }
.tx-events-page .tribe-events-calendar-list__event-title-link { border: 0 !important; color: var(--wp--preset--color--navy) !important; font-weight: 400 !important; text-decoration: none !important; }
.tx-events-page .tribe-events-calendar-list__event-title-link:hover { text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 0.2em; }
.tx-events-page .tribe-events-calendar-list__event-datetime-wrapper { order: -1; margin: 0 !important; }
.tx-events-page .tribe-events-calendar-list__event-datetime, .tx-events-page .tribe-events-calendar-list__event-datetime * { color: var(--wp--preset--color--muted) !important; font-size: 0.875rem !important; font-weight: 400 !important; }
.tx-events-page .tribe-events-calendar-list__event-venue { margin: 0.5rem 0 0 !important; color: var(--wp--preset--color--muted) !important; font-size: 0.9375rem !important; font-style: normal; line-height: 1.5; }
.tx-events-page .tribe-events-calendar-list__event-venue-title { color: inherit !important; font-weight: 400 !important; }
.tx-events-page .tribe-events-calendar-list__event-venue-title:has(+ .tribe-events-calendar-list__event-venue-address)::after { content: ","; }
.tx-events-page .tribe-events-calendar-list__event-description { margin: 0.75rem 0 0 !important; font-size: 0.9375rem !important; font-weight: 300 !important; line-height: 1.6 !important; }
.tx-events-page .tribe-events-calendar-list__event-description p { display: -webkit-box; overflow: hidden; margin: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.tx-events-page .tribe-events-c-small-cta { margin: 0.875rem 0 0 !important; font-size: 0.875rem !important; }
.tx-events-page .tribe-events-c-small-cta__link { border: 0 !important; color: var(--wp--preset--color--navy) !important; font-size: 0.875rem !important; font-weight: 500 !important; text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 0.2em; }
.tx-events-page .tribe-events-c-small-cta__price { color: var(--wp--preset--color--muted) !important; font-size: 0.875rem !important; font-weight: 400 !important; }

/* Unten */
.tx-events-page .tribe-events-c-nav { margin-block-start: 2rem !important; padding-block-start: 1.5rem !important; border-block-start: var(--tx-rule) !important; }
.tx-events-page :is(.tribe-events-c-nav__prev, .tribe-events-c-nav__next, .tribe-events-c-nav__today) { color: var(--wp--preset--color--navy) !important; font-size: 0.9375rem !important; font-weight: 400 !important; }
.tx-events-page .tribe-events-c-subscribe-dropdown__button { border: 1px solid var(--wp--preset--color--line) !important; border-radius: 4px; background: #fff !important; color: var(--wp--preset--color--navy) !important; }
.tx-events-page .tribe-events-c-subscribe-dropdown__button-text { color: inherit !important; font-size: 0.875rem !important; font-weight: 400 !important; }

@media (max-width: 781px) {
	.tx-events-page .tribe-events-calendar-list__event-row { grid-template-columns: 3rem 1.75rem minmax(0, 1fr); }
	.tx-events-page .tribe-events-calendar-list__event-date-tag { padding-block-start: 1.5rem !important; }
	.tx-events-page .tribe-events-calendar-list__event-date-tag-daynum { font-size: 1.625rem !important; }
	.tx-events-page .tribe-events-calendar-list__event-wrapper { grid-column: 3; }
	.tx-events-page .tribe-events-calendar-list__event { grid-template-columns: minmax(0, 1fr); padding-block: 1.5rem !important; }
	.tx-events-page .tribe-events-calendar-list__event::before { inset-inline-start: calc(-0.875rem - 1px); }
	.tx-events-page .tribe-events-calendar-list__event::after { inset-block-start: 2rem; inset-inline-start: calc(-0.875rem - 6px); }
	.tx-events-page .tribe-events-calendar-list__event-featured-image-wrapper { grid-column: 1; grid-row: 1; margin-block-end: 0.875rem !important; }
	.tx-events-page .tribe-events-calendar-list__event-details { grid-column: 1; grid-row: 2; }
}

/*
 * Die Breitenklassen setzt der Kalender per Skript, LiteSpeed lädt es aber erst nach der ersten Eingabe.
 * Damit Computer nicht bis dahin die Handy-Ansicht zeigen, gilt die Desktop-Darstellung hier schon über die Fensterbreite.
 */
@media (min-width: 782px) {
	.tx-events-page .tribe-events-c-events-bar__search-button { display: none !important; }
	.tx-events-page .tribe-events-c-events-bar__search { flex: 1 1 auto; width: 100%; }
	.tx-events-page .tribe-events-c-events-bar__search-container { position: static !important; display: block !important; visibility: visible !important; width: 100% !important; padding: 0 !important; background: none !important; }
	.tx-events-page .tribe-events-c-search { display: flex !important; flex-direction: row !important; align-items: center; gap: 1rem; width: 100%; padding: 0.625rem 0.75rem !important; }
	.tx-events-page .tribe-events-c-search__input-group { display: flex !important; flex: 1 1 auto; min-width: 0; }
	.tx-events-page .tribe-events-c-search__input-control { flex: 1 1 0; min-width: 0; margin: 0 !important; }
	.tx-events-page .tribe-events-c-search__button { flex: none; width: auto !important; margin: 0 !important; }
	.tx-events-page .tribe-events-c-top-bar__nav { display: block !important; }
	.tx-events-page .tribe-events-c-top-bar__today-button { display: inline-block !important; margin-inline-end: 1rem; padding: 0.4em 0.9em; }
	.tx-events-page .tribe-events-calendar-list__event-description { position: static !important; overflow: visible !important; visibility: visible !important; width: auto !important; height: auto !important; clip: auto !important; clip-path: none !important; }
}

/* Kontakt: Team im festen Raster, neue Personen rutschen in die nächste Zeile */
.page-id-3459 .tx-sec > .wp-block-columns:has(> .wp-block-column > .wp-block-image) { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr)); }
