:root {
	--tusw-i-news: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4' width='17' height='16' rx='2'/%3E%3Cpath d='M7.5 8.5h9M7.5 12h9M7.5 15.5h5'/%3E%3C/svg%3E");
	--tusw-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	--tusw-i-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.2' cy='6.8' r='.8' fill='black'/%3E%3C/svg%3E");
	--tusw-i-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");
	--tusw-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0114 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
	--tusw-i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.4 15.4L20 20'/%3E%3C/svg%3E");
	--tusw-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2'/%3E%3Cpath d='M3.5 7l8.5 6 8.5-6'/%3E%3C/svg%3E");
	--tusw-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.5l1.8 4.5-2.3 1.4a11 11 0 005.1 5.1l1.4-2.3L19 14.5V18a2 2 0 01-2 2A14 14 0 013 6a2 2 0 012-2z'/%3E%3C/svg%3E");
	--tusw-i-ball: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5l4 2.9-1.5 4.7h-5L8 10.4z'/%3E%3Cpath d='M12 3v4.5M21 10.4h-5M17.5 19.3l-3-4.2M6.5 19.3l3-4.2M3 10.4h5'/%3E%3C/svg%3E");
	--tusw-i-paddle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9.5' cy='9.5' r='6'/%3E%3Cpath d='M13.8 13.8L20 20'/%3E%3Ccircle cx='18.5' cy='5.5' r='1.8'/%3E%3C/svg%3E");
	--tusw-i-gym: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='4.8' r='2'/%3E%3Cpath d='M5 9.5l7 1.5 7-1.5M12 11v5l-3.5 5M12 16l3.5 5'/%3E%3C/svg%3E");
	--tusw-i-volley: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 3c-2 4-2 8 0 9M12 12c4.5 0 7.5-2 8.5-4.5M12 12c-2.5 3.8-6 5.2-8.5 4.8M12 12c2.2 3.6 2.5 6.5 1.5 9'/%3E%3C/svg%3E");
	--tusw-i-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0113 0'/%3E%3Cpath d='M16 4.6a3.5 3.5 0 010 6.8M18 14a6.5 6.5 0 013.5 6'/%3E%3C/svg%3E");
	--tusw-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
/* ==========================================================================
   TuS Windschläg Block – Ergänzungen zu theme.json
   Mobile first. Breakpoints: 600 / 782 / 1024 px.
   ========================================================================== */

:root {
	--tusw-radius: 14px;
	--tusw-radius-sm: 8px;
	--tusw-shadow: 0 1px 2px rgba(24, 24, 24, .06), 0 8px 24px rgba(24, 24, 24, .08);
	--tusw-shadow-hover: 0 2px 4px rgba(24, 24, 24, .06), 0 16px 36px rgba(24, 24, 24, .14);
	--tusw-ease: cubic-bezier(.2, .7, .2, 1);
	--tusw-blue: var(--wp--preset--color--tus-blue);
	--tusw-navy: var(--wp--preset--color--tus-navy);
	--tusw-accent: var(--wp--preset--color--tus-accent);
	--tusw-line: var(--wp--preset--color--line);
	--tusw-header-h: 64px;
	--tusw-quickbar-h: 0px;
}
@media (min-width: 782px) { :root { --tusw-header-h: 76px; } }

html { scroll-padding-top: calc(var(--tusw-header-h) + 12px); }
body { -webkit-font-smoothing: antialiased; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--tusw-blue); outline-offset: 2px; border-radius: 4px; box-shadow: 0 0 0 2px #fff; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }

/* Icon-Helfer: Maske mit Icon aus --tusw-i-* */
.tusw-icon-mask, [class*="tusw-ic-"]::before, .tusw-quickbar li::before, .tusw-contact li::before, .tusw-more a::after {
	-webkit-mask: var(--tusw-icon) center / contain no-repeat;
	mask: var(--tusw-icon) center / contain no-repeat;
	background-color: currentColor;
}
.tusw-ic-ball { --tusw-icon: var(--tusw-i-ball); }
.tusw-ic-paddle { --tusw-icon: var(--tusw-i-paddle); }
.tusw-ic-gym { --tusw-icon: var(--tusw-i-gym); }
.tusw-ic-volley { --tusw-icon: var(--tusw-i-volley); }
.tusw-ic-calendar { --tusw-icon: var(--tusw-i-calendar); }
.tusw-ic-pin { --tusw-icon: var(--tusw-i-pin); }
.tusw-ic-users { --tusw-icon: var(--tusw-i-users); }
.tusw-ic-check { --tusw-icon: var(--tusw-i-check); }

/* ---------- Dachzeile ---------- */
.is-style-kicker {
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: .78rem !important;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--tusw-blue);
}
.has-text-color.is-style-kicker { color: inherit; }
.tusw-hero .is-style-kicker, .tusw-page-hero .is-style-kicker { color: var(--tusw-accent); }

/* ---------- "Alle …"-Link ---------- */
.tusw-more { margin: 0; }
.tusw-more a {
	display: inline-flex; align-items: center; gap: .4em;
	font: 800 1rem/1 var(--wp--preset--font-family--head); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.tusw-more a::after { content: ""; width: 18px; height: 18px; --tusw-icon: var(--tusw-i-arrow); transition: transform .2s var(--tusw-ease); }
.tusw-more a:hover::after { transform: translateX(4px); }

/* ==========================================================================
   Buttons (Block-Stile)
   ========================================================================== */
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; transition: background-color .2s, color .2s, border-color .2s, transform .2s var(--tusw-ease); }
.wp-block-button__link:active { transform: scale(.97); }
.wp-block-button.is-style-light .wp-block-button__link { background: #fff; color: var(--tusw-blue); }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--wp--preset--color--blue-tint); color: var(--tusw-navy); }
.wp-block-button.is-style-ghost .wp-block-button__link { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .55); }
.wp-block-button.is-style-ghost .wp-block-button__link:hover { box-shadow: inset 0 0 0 2px #fff; background: rgba(255, 255, 255, .1); }
.wp-block-button.is-style-outline-blue .wp-block-button__link { background: transparent; color: var(--tusw-blue); box-shadow: inset 0 0 0 2px var(--tusw-blue); }
.wp-block-button.is-style-outline-blue .wp-block-button__link:hover { background: var(--tusw-blue); color: #fff; }
@media (max-width: 599px) {
	.tusw-hero__actions, .tusw-join .wp-block-buttons { flex-direction: column; align-items: stretch !important; width: 100%; }
	.tusw-hero__actions .wp-block-button, .tusw-join .wp-block-button { width: 100%; }
	.tusw-hero__actions .wp-block-button__link, .tusw-join .wp-block-button__link { width: 100%; }
}

/* ==========================================================================
   Header
   ========================================================================== */
.tusw-site-header { position: sticky; top: 0; z-index: 100; background: #fff; transition: box-shadow .2s; }
/* Admin-Leiste: bis 600px scrollt sie mit weg (position:absolute) – dann klebt der Header ganz oben */
.admin-bar .tusw-site-header { top: 0; }
@media (min-width: 601px) { .admin-bar .tusw-site-header { top: 46px; } }
@media (min-width: 783px) { .admin-bar .tusw-site-header { top: 32px; } }
.tusw-site-header:has(+ main) { box-shadow: 0 1px 0 var(--tusw-line); }
.tusw-header__row { min-height: var(--tusw-header-h); }
.tusw-brand { min-width: 0; }
.tusw-brand { gap: 10px !important; }
.tusw-brand .wp-block-site-logo img { width: auto !important; height: 48px; max-height: none; object-fit: contain; }
@media (min-width: 782px) { .tusw-brand .wp-block-site-logo img { height: 58px; } }
.tusw-brand__text { gap: 2px !important; }
.tusw-brand__tag { margin: 0 !important; font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--ink-soft); line-height: 1.1; white-space: nowrap; }
.tusw-brand__jubi { color: var(--tusw-blue); }
@media (max-width: 359px) { .tusw-brand__tag { display: none; } }
.tusw-site-title { margin: 0; font: 800 1.4rem/1 var(--wp--preset--font-family--head); text-transform: uppercase; letter-spacing: .02em; }
.tusw-site-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.tusw-footer .tusw-site-title { font-size: 1.6rem; margin-bottom: 1rem; }
.tusw-footer .tusw-site-title a { color: #fff; }

.tusw-header-cta { display: none !important; }
@media (min-width: 600px) { .tusw-header-cta { display: flex !important; } }

/* Suche im Header */
.tusw-header-search .wp-block-search__button { width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--wp--preset--color--ink); }
.tusw-header-search .wp-block-search__button:hover { background: var(--wp--preset--color--paper-soft); }
.tusw-header-search .wp-block-search__button { display: grid; place-items: center; }
/* Eigene, symmetrische Lupe (Core-Icon ist schief) – mittig im 44px-Knopf, Strichstärke wie das Menü-Icon */
.tusw-header-search .wp-block-search__button svg { display: none; }
.tusw-header-search .wp-block-search__button::before {
	content: ""; width: 24px; height: 24px; background-color: currentColor;
	-webkit-mask: var(--tusw-i-search) center / contain no-repeat; mask: var(--tusw-i-search) center / contain no-repeat;
}
.tusw-header-search.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper { border: 0; }
.tusw-header-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { min-width: min(60vw, 280px); border-radius: 999px; border: 2px solid var(--tusw-line); padding: .5em 1em; font-size: 16px; }

/* ==========================================================================
   Navigation – mobil (Overlay bis 1023 px)
   ========================================================================== */
.tusw-main-nav .wp-block-navigation__responsive-container-open,
.tusw-main-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; place-items: center; border-radius: 50%; }
@media (max-width: 599px) { .tusw-main-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: grid; } }
.tusw-main-nav .wp-block-navigation__responsive-container-open svg,
.tusw-main-nav .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }

/* Hamburger bis 1023 px statt Core-Standard 599 px */
@media (min-width: 600px) and (max-width: 1023px) {
	.tusw-main-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: grid; }
	.tusw-main-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.tusw-main-nav .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; display: flex; }
	.tusw-main-nav .wp-block-navigation__responsive-container-close { display: grid; }
	.tusw-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { display: flex; flex-direction: column; align-items: flex-start; }
}
@media (max-width: 1023px) {
	.tusw-header__row > .tusw-main-nav { order: 3; flex: 0 0 auto; }
	.tusw-header__actions { margin-left: auto; }
}

.tusw-main-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 0; --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; --navigation-layout-align: flex-start; }
.tusw-main-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.tusw-main-nav .is-menu-open .wp-block-navigation__container,
.tusw-main-nav .is-menu-open .wp-block-navigation-item,
.tusw-main-nav .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; justify-content: flex-start !important; text-align: left; }
.tusw-main-nav .is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.tusw-main-nav .is-menu-open .wp-block-navigation__responsive-dialog { margin: 0; }
.tusw-main-nav .is-menu-open .wp-block-navigation__responsive-container-close { position: absolute; top: 10px; right: 12px; color: #fff; z-index: 2; }
.tusw-main-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding: calc(var(--tusw-header-h) + 8px) 16px 32px !important; gap: 0 !important;
	background: linear-gradient(var(--tusw-blue), var(--tusw-blue)) top / 100% var(--tusw-header-h) no-repeat #fff;
}
.tusw-main-nav .is-menu-open .wp-block-navigation__responsive-container-content::before {
	content: "Menü"; position: absolute; top: 0; left: 16px; height: var(--tusw-header-h); display: flex; align-items: center;
	color: #fff; font: 800 1.4rem/1 var(--wp--preset--font-family--head); text-transform: uppercase; letter-spacing: .05em;
}
.tusw-main-nav .is-menu-open .wp-block-navigation__container { width: 100%; gap: 0 !important; }
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; padding: 14px 0; border-bottom: 1px solid var(--tusw-line); }
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: 1.45rem; }
.tusw-main-nav .is-menu-open .wp-block-navigation__submenu-container { padding: 4px 0 0 !important; gap: 0 !important; width: 100%; }
.tusw-main-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
/* Ebene 2: Spaltenüberschrift */
.tusw-main-nav .is-menu-open .wp-block-navigation__submenu-container > .has-child > .wp-block-navigation-item__content {
	padding: 12px 0 4px; font: 600 .75rem/1.2 var(--wp--preset--font-family--body); letter-spacing: .14em; color: var(--wp--preset--color--ink-soft);
}
/* Ebene 2 ohne Kinder und Ebene 3: normale Links */
.tusw-main-nav .is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content,
.tusw-main-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 0 8px 12px; border-left: 2px solid var(--tusw-line);
	font: 400 1rem/1.3 var(--wp--preset--font-family--body); text-transform: none; letter-spacing: 0; color: var(--wp--preset--color--ink);
}
.tusw-main-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { padding: 0 !important; }
/* Mobil: Akkordeon – Ebene 1 (Verein, Sport, Kurse) klappt erst per Pfeil auf */
.tusw-main-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon { display: none; }
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .has-child { position: relative; }
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon {
	display: grid !important; place-items: center; position: absolute; right: 0; top: 8px; width: 44px; height: 44px; margin: 0;
	padding: 0; border: 0; border-radius: 50%; background: var(--wp--preset--color--paper-soft); color: var(--wp--preset--color--ink); cursor: pointer;
}
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon svg { width: 14px; height: 14px; transition: transform .25s var(--tusw-ease); }
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon[aria-expanded="true"] svg { transform: rotate(180deg); }
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { display: none !important; }
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon[aria-expanded="true"] ~ .wp-block-navigation__submenu-container { display: flex !important; }
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content { padding-right: 56px; }
.tusw-main-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--tusw-blue) !important; border-color: var(--tusw-blue); }

/* ==========================================================================
   Navigation – Desktop Mega-Menü (Block-Stil "Mega-Menü")
   ========================================================================== */
@media (min-width: 1024px) {
	.tusw-header__row { gap: 24px !important; }
	.tusw-main-nav { flex: 1; }
	.tusw-main-nav .wp-block-navigation__container { gap: 6px !important; }
	.tusw-main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 10px 8px; position: relative; }
	.tusw-main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
		content: ""; position: absolute; left: 8px; right: 8px; bottom: 2px; height: 3px; border-radius: 3px; background: var(--tusw-blue);
		transform: scaleX(0); transition: transform .2s var(--tusw-ease);
	}
	.tusw-main-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
	.tusw-main-nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
	.tusw-main-nav .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content::after { transform: scaleX(1); }

	.is-style-mega .wp-block-navigation__container > .has-child { position: static; }
	.is-style-mega .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
		left: 50%; top: calc(100% + 14px); transform: translate(-50%, 8px);
		display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); align-items: start; gap: 8px 32px;
		background: #fff; color: var(--wp--preset--color--ink); border: 0; border-top: 3px solid var(--tusw-blue); border-radius: 0 0 var(--tusw-radius) var(--tusw-radius);
		box-shadow: var(--tusw-shadow);
		font-family: var(--wp--preset--font-family--body); text-transform: none; letter-spacing: 0; font-size: .95rem; font-weight: 400;
		transition: opacity .18s, transform .18s var(--tusw-ease), visibility 0s linear .18s;
	}
	/* Brücke, damit das Menü beim Mausweg nicht zuklappt */
	.is-style-mega .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -20px; height: 20px; }
	.is-style-mega .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-container,
	.is-style-mega .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation__submenu-container,
	.is-style-mega .wp-block-navigation__container > .has-child > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		width: min(1100px, calc(100vw - 48px)); min-width: 0; padding: 28px 36px 32px; transform: translate(-50%, 0);
		transition: opacity .18s, transform .18s var(--tusw-ease);
	}
	/* Kleines Untermenü ohne dritte Ebene */
	.is-style-mega .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container:not(:has(.wp-block-navigation__submenu-container)) { grid-template-columns: 1fr; }
	.is-style-mega .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-container:not(:has(.wp-block-navigation__submenu-container)),
	.is-style-mega .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation__submenu-container:not(:has(.wp-block-navigation__submenu-container)) { width: 280px; padding: 14px 22px; }

	/* Spalten */
	.is-style-mega .wp-block-navigation__submenu-container > .wp-block-navigation-item { display: block; }
	.is-style-mega .wp-block-navigation__submenu-container > .has-child > .wp-block-navigation-item__content {
		display: block; padding: 0 0 8px; margin-bottom: 4px; border-bottom: 1px solid var(--tusw-line);
		font: 800 1.15rem/1.1 var(--wp--preset--font-family--head); letter-spacing: .05em; text-transform: uppercase; color: var(--tusw-blue);
	}
	.is-style-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		position: static; opacity: 1; visibility: visible; height: auto; width: auto; min-width: 0; overflow: visible;
		border: 0; box-shadow: none; background: transparent; padding: 0; transform: none; display: flex; flex-direction: column;
	}
	/* Spalten-Listen behalten ihre Breite auch beim Überfahren (WordPress setzt sonst min-width: 200px → anderer Zeilenumbruch) */
	.is-style-mega .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container,
	.is-style-mega .wp-block-navigation__submenu-container .has-child:hover > .wp-block-navigation__submenu-container,
	.is-style-mega .wp-block-navigation__submenu-container .has-child:focus-within > .wp-block-navigation__submenu-container {
		position: static !important; width: 100% !important; min-width: 0 !important; left: auto !important; top: auto !important;
	}
	.is-style-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon { display: none; }
	/* Direkter Link als eigene Spalte (z. B. „Volleyball“ → Seite) sieht aus wie eine Gruppenüberschrift */
	.is-style-mega .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container:has(.wp-block-navigation__submenu-container) > .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content {
		display: block; padding: 0 0 8px; margin-bottom: 4px; border-bottom: 1px solid var(--tusw-line);
		font: 800 1.15rem/1.1 var(--wp--preset--font-family--head); letter-spacing: .05em; text-transform: uppercase; color: var(--tusw-blue);
	}
	.is-style-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 6px 0; transition: transform .15s var(--tusw-ease), color .15s; }
	.is-style-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { transform: translateX(3px); color: var(--tusw-blue); }
	.is-style-mega .wp-block-navigation__submenu-container .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content:hover { color: var(--tusw-blue); }
}

/* ==========================================================================
   Hero & Seitenkopf
   ========================================================================== */
/* Hero im Stil des Jubiläums-Roll-ups: Blau-Verlauf mit weißer Diagonale */
.tusw-hero { overflow: hidden; }
.tusw-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
	background: linear-gradient(200deg, transparent 0 42%, rgba(15, 42, 75, .55) 42% 100%);
}
.tusw-hero .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100% !important; }
.tusw-hero .wp-block-cover__inner-container > * { margin-left: max(0px, calc((100% - 1240px) / 2)) !important; margin-right: auto !important; }
.tusw-hero__title { max-width: 15ch; line-height: .9 !important; margin: .1em 0 .3em; text-shadow: 0 6px 24px rgba(0, 0, 0, .25); }
.tusw-light { display: block; font-weight: 600; }
.tusw-hero__text { max-width: 40ch; color: rgba(255, 255, 255, .88); }
.tusw-hero.has-background-dim-100:has(img.wp-block-cover__image-background) .wp-block-cover__background { background: linear-gradient(180deg, rgba(15, 42, 75, .35) 0%, rgba(15, 42, 75, .92) 78%) !important; opacity: 1; }

/* 100-Jahre-Logo auf weißer Fläche */
.tusw-hero__jubilogo { position: relative; margin: 0 0 var(--wp--preset--spacing--40) !important; padding: 18px 20px; background: #fff; border-radius: 22px; box-shadow: 0 18px 40px rgba(0, 0, 0, .28); width: fit-content; max-width: 100%; }
.tusw-hero__jubilogo img { width: min(240px, 62vw) !important; height: auto; display: block; transition: transform .4s var(--tusw-ease); }
.tusw-hero__jubilogo a:hover img { transform: scale(1.03); }
@media (min-width: 1024px) {
	.tusw-hero { min-height: 640px !important; }
	/* weiße Diagonale rechts – wie auf dem Roll-up */
	.tusw-hero::after {
		content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 52%; z-index: 1; pointer-events: none;
		background: #fff; clip-path: polygon(34% 0, 100% 0, 100% 100%, 0 100%);
		box-shadow: none;
	}
	.tusw-hero__copy { max-width: 48%; }
	.tusw-hero__title { font-size: clamp(3.4rem, 5.6vw, 5.4rem) !important; }
	.tusw-hero__jubilogo {
		position: absolute !important; right: max(0px, calc((100% - 1240px) / 2)); top: 50%; transform: translateY(-50%);
		margin: 0 !important; padding: 0; background: transparent; box-shadow: none; z-index: 3;
	}
	.tusw-hero__jubilogo img { width: min(500px, 38vw) !important; }
}

.tusw-page-hero { position: relative; overflow: hidden; }
.tusw-page-hero::after {
	content: ""; position: absolute; right: -60px; top: 0; bottom: 0; width: 220px; pointer-events: none;
	background: linear-gradient(115deg, transparent 40%, rgba(36, 83, 154, .75) 40% 62%, transparent 62%);
}
.tusw-page-hero > * { position: relative; z-index: 1; }
.tusw-page-hero h1 { margin: 0; }
@media (min-width: 1024px) { .tusw-page-hero::after { width: 380px; } }

/* ==========================================================================
   Sektionen
   ========================================================================== */
.tusw-section-head { margin-bottom: var(--wp--preset--spacing--40); align-items: flex-end; }

/* News: mobil wischbar, Desktop 3 Spalten */
@media (max-width: 1023px) {
	.tusw-rail .wp-block-post-template {
		display: grid !important; grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: 82%;
		overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
		margin-inline: calc(-1 * var(--wp--style--root--padding-left)) !important; padding: 4px var(--wp--style--root--padding-left) 12px !important; gap: 16px !important;
	}
	.tusw-rail .wp-block-post-template::-webkit-scrollbar { display: none; }
	.tusw-rail .wp-block-post-template > li { scroll-snap-align: start; }
}
@media (min-width: 600px) and (max-width: 1023px) { .tusw-rail .wp-block-post-template { grid-auto-columns: 46%; } }
@media (min-width: 1024px) { .tusw-rail .wp-block-post-template > li:nth-child(n+4) { display: none; } }

/* Karte (Block-Stil) */
.is-style-card { position: relative; height: 100%; background: #fff; border-radius: var(--tusw-radius); overflow: hidden; box-shadow: var(--tusw-shadow); transition: transform .25s var(--tusw-ease), box-shadow .25s; }
.is-style-card:hover { transform: translateY(-4px); box-shadow: var(--tusw-shadow-hover); }
.wp-block-post-template > li { display: flex; }
.wp-block-post-template > li > .is-style-card { width: 100%; }
.tusw-post-card__media { margin: 0 !important; background: var(--wp--preset--color--blue-tint); }
.tusw-post-card__media img { transition: transform .5s var(--tusw-ease); }
.tusw-post-card:hover .tusw-post-card__media img { transform: scale(1.04); }
.tusw-post-card:not(:has(.tusw-post-card__media img))::before { content: ""; display: block; aspect-ratio: 16 / 10; background: var(--wp--preset--color--blue-tint) var(--tusw-logo-placeholder, none) center / 30% no-repeat; }
.tusw-post-card__title { margin: .2em 0 0 !important; }
.tusw-post-card__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.tusw-post-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.tusw-post-card .wp-block-post-excerpt__excerpt { margin: 0; }
.tusw-post-card .wp-block-post-excerpt__more-text { display: none; }

/* Kategorie-Chip */
.tusw-chip a { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--wp--preset--color--blue-tint); color: var(--tusw-blue); text-decoration: none; position: relative; z-index: 2; }
.tusw-chip .wp-block-post-terms__separator { display: none; }
.tusw-chip--dark a { background: rgba(255, 255, 255, .14); color: #fff; }

/* Kategorie-Filter (Archiv) */
.tusw-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; list-style: none; padding: 0 0 4px !important; margin-bottom: var(--wp--preset--spacing--40) !important; }
.tusw-chips::-webkit-scrollbar { display: none; }
.tusw-chips li { flex: 0 0 auto; }
.tusw-chips a { display: inline-block; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--tusw-line); color: var(--wp--preset--color--ink); font-size: .9rem; font-weight: 600; text-decoration: none; }
.tusw-chips a:hover { border-color: var(--tusw-blue); color: var(--tusw-blue); }
.tusw-chips .current-cat a { background: var(--tusw-blue); border-color: var(--tusw-blue); color: #fff; }

/* Sport-Kachel (Block-Stil) */
.tusw-sport-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; margin-top: var(--wp--preset--spacing--40); }
@media (min-width: 1024px) { .tusw-sport-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; } }
.is-style-sport-tile {
	position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 168px; padding: 18px;
	border-radius: var(--tusw-radius); background: var(--tusw-blue); color: #fff; overflow: hidden; transition: transform .25s var(--tusw-ease), background-color .2s;
}
.is-style-sport-tile:nth-child(2n) { background: var(--tusw-navy); }
.is-style-sport-tile::before { content: ""; position: absolute; top: 18px; left: 18px; width: 30px; height: 30px; color: var(--tusw-accent); }
.is-style-sport-tile::after { content: ""; position: absolute; right: -30%; bottom: -40%; width: 90%; aspect-ratio: 1; background: linear-gradient(120deg, transparent 45%, rgba(255, 255, 255, .09) 45% 60%, transparent 60%); pointer-events: none; }
.is-style-sport-tile:hover { transform: translateY(-3px); }
.is-style-sport-tile h3, .is-style-sport-tile h3 a { margin: 0; color: #fff; text-decoration: none; text-transform: uppercase; font-size: 1.5rem; line-height: 1; }
.is-style-sport-tile h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.is-style-sport-tile p { margin: 0; color: rgba(255, 255, 255, .75); line-height: 1.35; }
@media (min-width: 1024px) { .is-style-sport-tile { min-height: 230px; padding: 26px; } .is-style-sport-tile::before { top: 26px; left: 26px; } .is-style-sport-tile h3 { font-size: 2rem; } }

/* Panels (Block-Stile) */
.is-style-panel-dark { position: relative; overflow: hidden; padding: 28px 24px; border-radius: var(--tusw-radius); background: var(--tusw-navy); color: rgba(255, 255, 255, .85); }
.is-style-panel-dark h2, .is-style-panel-dark h3 { color: #fff; }
.is-style-panel-dark[class*="tusw-ic-"]::before { content: ""; display: block; width: 34px; height: 34px; margin-bottom: 16px; color: var(--tusw-accent); }
.is-style-panel-dark::after { content: ""; position: absolute; right: -20%; bottom: -50%; width: 70%; aspect-ratio: 1; border-radius: 50%; border: 18px solid rgba(255, 255, 255, .05); pointer-events: none; }
.is-style-panel-soft { padding: 28px 24px; border-radius: var(--tusw-radius); background: var(--wp--preset--color--blue-tint); }
@media (min-width: 782px) { .is-style-panel-soft, .is-style-panel-dark { padding: 40px 44px; } }

/* Mitmachen */
.tusw-join { gap: 20px !important; }
.tusw-join__text { flex: 1 1 320px; }
.tusw-join__text p { margin: 0; }

/* Zahlen */
.tusw-stats > .wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (min-width: 782px) { .tusw-stats > .wp-block-group { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
.tusw-stat { text-align: center; }
.tusw-stat__num { margin: 0 !important; font: 800 clamp(2.6rem, 10vw, 4.2rem)/1 var(--wp--preset--font-family--head); }
.tusw-stat__label { margin: 0 !important; font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .78); }

/* Sponsoren-Logos */
.tusw-logo-grid.wp-block-gallery { gap: 12px !important; }
.tusw-logo-grid.wp-block-gallery .wp-block-image { display: grid !important; place-items: center; min-height: 96px; padding: 16px; border: 1px solid var(--tusw-line); border-radius: var(--tusw-radius-sm); background: #fff; }
.tusw-logo-grid.wp-block-gallery .wp-block-image img { width: auto !important; max-height: 64px; object-fit: contain !important; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.tusw-logo-grid.wp-block-gallery .wp-block-image:hover img { filter: none; opacity: 1; }
@media (max-width: 781px) { .tusw-logo-grid.wp-block-gallery .wp-block-image { width: calc(50% - 6px) !important; } }
.wp-block-image.is-style-logo-grey img { filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.wp-block-image.is-style-logo-grey:hover img { filter: none; opacity: 1; }

/* ==========================================================================
   Inhalte
   ========================================================================== */
.wp-block-post-featured-image img { border-radius: var(--tusw-radius); }
/* Ausschnitt standardmäßig am oberen Drittel (Gesichter) statt mittig – pro Beitrag änderbar über „Bildausschnitt“ */
.wp-block-post-featured-image img { object-position: 50% 30%; }
.wp-block-post-content > * + h2, .wp-block-post-content > * + h3 { margin-top: 1.6em; }
.wp-block-post-content img { border-radius: var(--tusw-radius-sm); }

/* Link-Kacheln (Liste & Unterseiten-Block) */
.is-style-link-tiles { list-style: none; padding: 0 !important; display: grid; gap: 10px; }
@media (min-width: 600px) { .is-style-link-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .is-style-link-tiles { grid-template-columns: repeat(3, 1fr); } }
.is-style-link-tiles li { margin: 0 !important; }
.is-style-link-tiles a {
	display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 18px; border-radius: var(--tusw-radius-sm);
	background: var(--wp--preset--color--paper-soft); color: var(--wp--preset--color--ink); font-weight: 600; text-decoration: none; transition: background-color .2s, color .2s;
}
.is-style-link-tiles a::after { content: ""; flex: 0 0 18px; height: 18px; --tusw-icon: var(--tusw-i-arrow); -webkit-mask: var(--tusw-icon) center / contain no-repeat; mask: var(--tusw-icon) center / contain no-repeat; background-color: currentColor; }
.is-style-link-tiles a:hover { background: var(--tusw-blue); color: #fff; }
.is-style-clean { list-style: none; padding-left: 0 !important; }
.is-style-clean li { padding: 5px 0; }

/* Tabellen */
.wp-block-table { overflow-x: auto; }
.wp-block-table.is-style-tus table { border-collapse: collapse; width: 100%; }
.wp-block-table.is-style-tus th, .wp-block-table.is-style-tus td { border: 0; border-bottom: 1px solid var(--tusw-line); padding: 10px 12px; text-align: left; white-space: nowrap; }
.wp-block-table.is-style-tus thead { border: 0; }
.wp-block-table.is-style-tus th { background: var(--wp--preset--color--paper-soft); font-weight: 600; }

/* Aufklapper (FAQ, umgewandelte WPBakery-Akkordeons) */
.wp-block-details summary { font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; font: 800 1.4rem/1 var(--wp--preset--font-family--head); color: var(--tusw-blue); }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details[open] summary { margin-bottom: .6rem; }

/* Kurs-Steckbrief */
.tusw-facts { gap: 20px !important; }
.tusw-facts > [class*="tusw-ic-"] { position: relative; padding-left: 34px; }
.tusw-facts > [class*="tusw-ic-"]::before { content: ""; position: absolute; left: 0; top: 0; width: 22px; height: 22px; color: var(--tusw-blue); }
.tusw-facts p { margin: 0; }

/* Personen */
.tusw-person .wp-block-image { margin: 0; }
.tusw-person .wp-block-image img { width: 100%; border-radius: 0; }
.tusw-person .wp-block-image:not(:has(img[src])) { aspect-ratio: 4 / 5; background: var(--wp--preset--color--blue-tint); }
.tusw-person h3 { margin: 0; }
.tusw-person p { margin: 0; }

/* Beitragsnavigation, Schlagworte */
.tusw-post-nav { gap: 12px !important; align-items: stretch !important; }
.tusw-post-nav > .kmpf-box { flex: 1 1 100%; max-width: none; margin: 0 0 4px; }
.tusw-post-nav .post-navigation-link-previous, .tusw-post-nav .post-navigation-link-next { box-sizing: border-box; flex: 0 1 calc(50% - 6px); min-width: 0; padding: 16px 18px; border: 1px solid var(--tusw-line); border-radius: var(--tusw-radius-sm); transition: border-color .2s, box-shadow .2s; }
.tusw-post-nav .post-navigation-link-previous:has(a:hover), .tusw-post-nav .post-navigation-link-next:has(a:hover) { border-color: var(--tusw-blue); box-shadow: var(--tusw-shadow); }
.tusw-post-nav .post-navigation-link-previous::before, .tusw-post-nav .post-navigation-link-next::before { display: block; margin-bottom: 4px; font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--tusw-blue); }
.tusw-post-nav .post-navigation-link-previous::before { content: "Älterer Beitrag"; }
.tusw-post-nav .post-navigation-link-next::before { content: "Neuerer Beitrag"; }
.tusw-post-nav .post-navigation-link-next { margin-left: auto; text-align: right; }
.tusw-post-nav .post-navigation-link-previous:empty, .tusw-post-nav .post-navigation-link-next:empty, .tusw-post-nav .post-navigation-link-previous:not(:has(a)), .tusw-post-nav .post-navigation-link-next:not(:has(a)) { display: none; }
@media (max-width: 600px) { .tusw-post-nav .post-navigation-link-previous, .tusw-post-nav .post-navigation-link-next { flex-basis: 100%; } }
.tusw-post-nav a { color: var(--wp--preset--color--ink); text-decoration: none; font-weight: 600; }
.tusw-tags a { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--wp--preset--color--paper-soft); font-size: .85rem; text-decoration: none; }
.tusw-tags .wp-block-post-terms__separator { display: none; }
.tusw-tags { display: flex; flex-wrap: wrap; gap: 8px; }

/* Paginierung */
.tusw-pagination { margin-top: var(--wp--preset--spacing--50) !important; gap: 6px !important; }
.tusw-pagination .page-numbers, .tusw-pagination > a { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--tusw-line); text-decoration: none; color: var(--wp--preset--color--ink); font-weight: 600; }
.tusw-pagination .page-numbers.current { background: var(--tusw-blue); border-color: var(--tusw-blue); color: #fff; }
.tusw-pagination .page-numbers.dots { border: 0; }

/* Suche */
.tusw-search .wp-block-search__inside-wrapper { border: 2px solid var(--tusw-line) !important; border-radius: 999px; overflow: hidden; background: #fff; padding: 0 !important; }
.tusw-search .wp-block-search__input { border: 0; padding: 0 18px; height: 48px; font-size: 16px; }
.tusw-search .wp-block-search__button { margin: 0; width: 52px; border-radius: 0; padding: 0; display: grid; place-items: center; }
.tusw-page-hero .tusw-search { max-width: 560px; margin-top: 1rem; }
.tusw-search-results { list-style: none; padding: 0; }
.tusw-search-result { border-bottom: 1px solid var(--tusw-line); }
.tusw-search-result h2 { margin: 0; text-transform: none; }
.tusw-search-result h2 a { color: var(--wp--preset--color--ink); text-decoration: none; }
.tusw-search-result p { margin: 0; }

/* 404 */
.tusw-404__code { margin: 0 !important; font: 800 clamp(6rem, 30vw, 11rem)/.9 var(--wp--preset--font-family--head); color: var(--wp--preset--color--blue-tint); -webkit-text-stroke: 2px var(--tusw-blue); }

/* ==========================================================================
   Footer
   ========================================================================== */
.tusw-footer { color: rgba(255, 255, 255, .78); }
.tusw-footer a { text-decoration: none; }
.tusw-footer a:hover { color: var(--tusw-accent) !important; }
.tusw-footer__title { color: #fff; letter-spacing: .08em; margin-bottom: .8rem; }
.tusw-footer__sep { border-color: rgba(255, 255, 255, .12) !important; background: rgba(255, 255, 255, .12) !important; opacity: 1; }
.tusw-contact li { position: relative; padding-left: 30px; }
.tusw-contact li::before { content: ""; position: absolute; left: 0; top: 8px; width: 18px; height: 18px; color: var(--tusw-accent); }
.tusw-contact .ic-pin { --tusw-icon: var(--tusw-i-pin); }
.tusw-contact .ic-phone { --tusw-icon: var(--tusw-i-phone); }
.tusw-contact .ic-mail { --tusw-icon: var(--tusw-i-mail); }
.tusw-footer .wp-block-social-links .wp-social-link { transition: transform .2s var(--tusw-ease); }
.tusw-footer .wp-block-social-links .wp-social-link:hover { transform: translateY(-2px); }
.tusw-footer .wp-block-social-links .wp-social-link a { padding: .55em; }

/* ==========================================================================
   Mobile Schnellleiste
   ========================================================================== */
body:has(.tusw-quickbar-wrap) { --tusw-quickbar-h: calc(64px + env(safe-area-inset-bottom)); padding-bottom: var(--tusw-quickbar-h); }
.tusw-quickbar-wrap { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; margin: 0 !important; padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid var(--tusw-line); box-shadow: 0 -6px 18px rgba(24, 24, 24, .06); }
.tusw-quickbar { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; height: 64px; margin: 0 !important; padding: 0 !important; list-style: none; }
.tusw-quickbar li { position: relative; margin: 0; }
.tusw-quickbar li::before { content: ""; position: absolute; top: 12px; left: 50%; width: 22px; height: 22px; margin-left: -11px; color: var(--wp--preset--color--ink-soft); pointer-events: none; }
.tusw-quickbar li:hover::before { color: var(--tusw-blue); }
.tusw-quickbar a { display: flex; align-items: flex-end; justify-content: center; height: 100%; padding-bottom: 10px; color: var(--wp--preset--color--ink-soft); font-size: .7rem; font-weight: 600; line-height: 1; text-decoration: none; }
.tusw-quickbar a:hover { color: var(--tusw-blue); }
.tusw-quickbar .qb-calendar { --tusw-icon: var(--tusw-i-calendar); }
.tusw-quickbar .qb-news { --tusw-icon: var(--tusw-i-news); }
.tusw-quickbar .qb-ball { --tusw-icon: var(--tusw-i-ball); }
.tusw-quickbar .qb-gym { --tusw-icon: var(--tusw-i-gym); }
.tusw-quickbar .qb-users { --tusw-icon: var(--tusw-i-users); }
.tusw-quickbar .qb-pin { --tusw-icon: var(--tusw-i-pin); }
.tusw-quickbar .qb-mail { --tusw-icon: var(--tusw-i-mail); }
@media (min-width: 1024px) { .tusw-quickbar-wrap { display: none; } body:has(.tusw-quickbar-wrap) { padding-bottom: 0; } }

/* ==========================================================================
   100 Jahre TuS (1927 – 2027)
   ========================================================================== */
.tusw-jubi-wrap { margin: 0 !important; }
.tusw-jubi-bar p { margin: 0; line-height: 1.35; }
.tusw-jubi-bar a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; white-space: nowrap; }
.tusw-jubi-bar a::after { content: " →"; }

/* Jubiläums-Sektion (Roll-up-Stil) */
.tusw-jubi { position: relative; overflow: hidden; background: linear-gradient(160deg, #0f2a4b 0%, #1a3e70 55%, #24539a 100%) !important; }
.tusw-jubi::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(20deg, transparent 0 55%, rgba(15, 42, 75, .5) 55% 100%); }
.tusw-jubi > * { position: relative; z-index: 1; }
.tusw-jubi__years { margin: 0 !important; font: 800 clamp(3.4rem, 13vw, 6.5rem)/.9 var(--wp--preset--font-family--head); letter-spacing: -.01em; text-shadow: 0 8px 24px rgba(0, 0, 0, .3); white-space: nowrap; }
.tusw-jubi__title { margin: .25em 0 .5em !important; font-size: clamp(2rem, 6.5vw, 3.4rem) !important; line-height: .95; }
.tusw-jubi__title .tusw-light { text-transform: none; font-size: .92em; }
.tusw-jubi__lead { color: rgba(255, 255, 255, .86); max-width: 56ch; }
.tusw-jubi__list { list-style: none; padding: 0 !important; margin: 1.2rem 0 0; display: grid; gap: 10px; }
.tusw-jubi__list li { position: relative; padding-left: 34px; color: rgba(255, 255, 255, .9); }
.tusw-jubi__list li::before { content: ""; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%; background: var(--tusw-accent); }
.tusw-jubi__list li::after { content: ""; position: absolute; left: 4px; top: 6px; width: 14px; height: 14px; background: #fff; -webkit-mask: var(--tusw-i-check) center / contain no-repeat; mask: var(--tusw-i-check) center / contain no-repeat; }
.tusw-jubi__list strong { color: #fff; }
/* historisches Foto mit weißem Rahmen wie auf dem Roll-up */
.tusw-jubi__photo { margin: 0 !important; }
.tusw-jubi__photo img { width: 100%; border: 8px solid #fff; border-radius: 4px !important; box-shadow: 0 20px 44px rgba(0, 0, 0, .4); transform: rotate(-1.5deg); }
.tusw-jubi__photo figcaption { margin-top: 1rem; text-align: center; color: rgba(255, 255, 255, .7); font-size: .85rem; }

/* Jubiläums-Seitenkopf */
.tusw-page-hero--jubi { background: radial-gradient(80% 120% at 100% 0%, rgba(36, 83, 154, .9), transparent 60%), var(--tusw-navy) !important; }
.tusw-page-hero__seal { margin: 0 0 1.2rem !important; padding: 12px 14px; background: #fff; border-radius: 16px; width: fit-content; }
.tusw-page-hero__seal img { width: 220px !important; display: block; }
@media (min-width: 1024px) {
	.tusw-page-hero--jubi { min-height: 340px; padding-top: 96px !important; padding-bottom: 96px !important; }
	.tusw-page-hero--jubi > :not(.tusw-page-hero__seal) { max-width: min(1240px, 100%) !important; padding-right: 50%; box-sizing: border-box; }
	.tusw-page-hero--jubi::after { width: 46%; right: 0; background: #fff; clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%); }
	.tusw-page-hero--jubi .tusw-page-hero__seal { position: absolute !important; right: max(var(--wp--style--root--padding-right), calc((100% - 1240px) / 2)); top: 50%; transform: translateY(-50%); margin: 0 !important; padding: 0; background: transparent; z-index: 2; }
	.tusw-page-hero--jubi .tusw-page-hero__seal img { width: 360px !important; }
}

/* Zeitleiste */
.tusw-timeline { position: relative; padding-left: 28px; }
.tusw-timeline::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(var(--tusw-blue), var(--tusw-accent)); border-radius: 2px; }
.tusw-timeline__item { position: relative; padding-bottom: var(--wp--preset--spacing--40); }
.tusw-timeline__item::before { content: ""; position: absolute; left: -27px; top: 6px; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 3px solid var(--tusw-blue); box-sizing: border-box; }
.tusw-timeline__item:last-child::before { background: var(--tusw-accent); border-color: var(--tusw-accent); box-shadow: 0 0 0 6px rgba(88, 177, 70, .2); }
.tusw-timeline__year { margin: 0 !important; font: 800 2rem/1 var(--wp--preset--font-family--head); color: var(--tusw-blue); }
.tusw-timeline__item h3, .tusw-timeline__item p { margin: 0 !important; }

/* Instagram */
.tusw-ig-follow .wp-block-button__link::before { content: ""; width: 18px; height: 18px; margin-right: 8px; background: currentColor; -webkit-mask: var(--tusw-i-instagram) center / contain no-repeat; mask: var(--tusw-i-instagram) center / contain no-repeat; }
.tusw-instagram .kmig-feed { margin-top: var(--wp--preset--spacing--30); }

/* Wappen im Footer */
.tusw-footer__brand { margin-bottom: 1rem; }
.tusw-footer__brand .wp-block-site-logo img { width: 72px !important; height: auto; }
.tusw-footer__brand .tusw-site-title { margin: 0 !important; }
.tusw-footer__slogan { margin: 0 !important; color: var(--tusw-accent); font: 600 1rem/1.1 var(--wp--preset--font-family--head); letter-spacing: .04em; text-transform: uppercase; }

/* ==========================================================================
   Umgewandelte Theme-/Addon-Elemente (migrate-shortcodes)
   ========================================================================== */
/* Personen-Raster */
.tusw-team { gap: 16px !important; margin-block: var(--wp--preset--spacing--40); }
@media (max-width: 599px) {
	.tusw-team { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
	.tusw-team .tusw-person .wp-block-group { padding: .75rem .8rem .9rem !important; }
	.tusw-team .tusw-person h3 { font-size: 1.1rem !important; }
	.tusw-team .tusw-person p { font-size: .85rem; }
	.tusw-team .tusw-person .is-style-kicker { font-size: .66rem !important; letter-spacing: .05em; }
}
/* Person ohne Foto: Platzhalter mit Wappen, damit das Raster gleichmäßig bleibt */
.tusw-person:not(:has(img[src]))::before {
	content: ""; display: block; aspect-ratio: 4 / 5;
	background: url("../img/tus-wappen-160.png") center / 38% no-repeat, var(--wp--preset--color--blue-tint);
}
.tusw-person .wp-block-group a { overflow-wrap: anywhere; }
.tusw-person .is-style-kicker { letter-spacing: .08em; hyphens: auto; }

/* Kurs-Steckbrief */
.tusw-facts { gap: 18px 24px !important; }
.tusw-fact > :first-child { margin-top: 0; }
.tusw-fact p:not(.is-style-kicker) { font-size: .98rem; }

/* Zähler (auf hellem Grund) */
.tusw-counters { gap: 12px !important; margin-block: var(--wp--preset--spacing--40); }
.tusw-counter { text-align: center; padding: 22px 12px; border-radius: var(--tusw-radius); background: var(--wp--preset--color--blue-tint); }
.tusw-counter__num { margin: 0 !important; font: 800 clamp(2.4rem, 8vw, 3.4rem)/1 var(--wp--preset--font-family--head); color: var(--tusw-blue); }
.tusw-counter__label { margin: 0 !important; font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--ink-soft); }

/* Info-Boxen */
.tusw-iconboxes { gap: 16px !important; margin-block: var(--wp--preset--spacing--40); }
.tusw-iconbox h3 { margin-top: 0; }

/* Zeitleiste: hervorgehobene Einträge */
.tusw-timeline__item.is-featured h3 { color: var(--tusw-blue); }
.tusw-timeline__item.is-featured::before { background: var(--tusw-accent); border-color: var(--tusw-accent); }

/* Bilder in Panels (z. B. umgewandelte Info-Banner) nicht zu hoch */
.is-style-panel-dark .wp-block-image img, .is-style-panel-soft .wp-block-image img { width: 100%; max-height: 340px; object-fit: cover; border-radius: var(--tusw-radius-sm); }

/* Runde Bilder (z. B. Schiedsrichter-Porträts aus WPBakery „circle“) – als Kreis zugeschnitten */
.wp-block-image.is-style-rounded img { border-radius: 9999px !important; aspect-ratio: 1; object-fit: cover; max-width: 240px; margin-inline: auto; display: block; }


/* ==========================================================================
   2.10 – Aktiver Menüpunkt, Jubiläum im Menü
   ========================================================================== */
/* Aktiver Eintrag im aufgeklappten Menü (Desktop-Mega-Menü und mobil) */
.tusw-main-nav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content,
.tusw-main-nav .wp-block-navigation__submenu-container .tusw-is-current > .wp-block-navigation-item__content { color: var(--tusw-blue) !important; font-weight: 700 !important; }
@media (min-width: 1024px) {
	.is-style-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
		position: relative; padding-left: 12px !important;
	}
	.is-style-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content::before {
		content: ""; position: absolute; left: 0; top: 50%; width: 4px; height: 1.1em; transform: translateY(-50%); border-radius: 2px; background: var(--tusw-accent);
	}
	/* Spaltenüberschrift der aktiven Gruppe */
	.is-style-mega .wp-block-navigation__submenu-container > .current-menu-ancestor > .wp-block-navigation-item__content { border-bottom-color: var(--tusw-blue) !important; }
	/* Jubiläum: hervorgehobener Hauptpunkt */
	.tusw-main-nav .wp-block-navigation__container > .tusw-nav-jubi > .wp-block-navigation-item__content {
		color: #fff !important; background: linear-gradient(135deg, var(--tusw-blue), var(--tusw-navy)); border-radius: 999px; padding: 8px 14px !important;
	}
	.tusw-main-nav .wp-block-navigation__container > .tusw-nav-jubi > .wp-block-navigation-item__content::after { display: none; }
	.tusw-main-nav .wp-block-navigation__container > .tusw-nav-jubi > .wp-block-navigation__submenu-icon { color: var(--tusw-blue); }
	.tusw-main-nav .wp-block-navigation__container > .tusw-nav-jubi.current-menu-ancestor > .wp-block-navigation-item__content,
	.tusw-main-nav .wp-block-navigation__container > .tusw-nav-jubi.current-menu-item > .wp-block-navigation-item__content { box-shadow: 0 0 0 3px rgba(88, 177, 70, .45); }
}
/* Mobil: aktiver Punkt mit Balken, Jubiläum farbig */
.tusw-main-nav .is-menu-open .tusw-is-current > .wp-block-navigation-item__content { border-left-color: var(--tusw-accent) !important; }
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .tusw-nav-jubi > .wp-block-navigation-item__content { color: var(--tusw-blue) !important; }
.tusw-main-nav .is-menu-open .wp-block-navigation__container > .tusw-nav-jubi > .wp-block-navigation-item__content::before { content: "★ "; color: var(--tusw-accent); }

/* ==========================================================================
   2.10 – Zeitstrahl (lange Zeiträume), Fußball-Chronik-Tabelle, Liga-Kürzel
   ========================================================================== */
.tusw-timeline__year.is-long { font-size: 1.35rem !important; line-height: 1.1 !important; }
.tusw-timeline__item ul { margin: .2rem 0 0; padding-left: 1.1em; color: var(--wp--preset--color--ink-soft); }
.tusw-timeline__item li + li { margin-top: .2rem; }

.tusw-liga { display: inline-block; min-width: 2.6em; padding: 2px 8px; border-radius: 999px; font: 700 .72rem/1.4 var(--wp--preset--font-family--body); letter-spacing: .05em; text-align: center; color: #fff; }
.tusw-liga--klb { background: #7fa6d6; }
.tusw-liga--kla { background: var(--tusw-blue); }
.tusw-liga--bl { background: var(--tusw-navy); }
.tusw-liga-legende .tusw-liga { margin-right: 4px; }
.tusw-chronik-tabelle { max-width: 100%; }
.tusw-chronik-tabelle table { min-width: 640px; }
.wp-block-table.tusw-chronik-tabelle th { position: sticky; top: 0; background: var(--wp--preset--color--blue-tint) !important; color: var(--tusw-navy); font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }
.wp-block-table.tusw-chronik-tabelle td { white-space: normal !important; vertical-align: top; }
.wp-block-table.tusw-chronik-tabelle td:nth-child(1), .wp-block-table.tusw-chronik-tabelle td:nth-child(2), .wp-block-table.tusw-chronik-tabelle td:nth-child(4) { white-space: nowrap !important; }
.wp-block-table.tusw-chronik-tabelle td:nth-child(4) { text-align: center; }
.wp-block-table.tusw-chronik-tabelle td:nth-child(4) strong { display: inline-block; min-width: 2em; border-radius: 999px; background: var(--tusw-accent); color: #fff; }
.wp-block-table.tusw-chronik-tabelle tbody tr:nth-child(even) td { background: var(--wp--preset--color--paper-soft); }
.wp-block-table.tusw-chronik-tabelle td:last-child { min-width: 18rem; color: var(--wp--preset--color--ink-soft); }
.wp-block-table.tusw-chronik-tabelle td:last-child strong { color: var(--tusw-navy); }
@media (max-width: 781px) {
	.wp-block-table.tusw-chronik-tabelle td:first-child, .wp-block-table.tusw-chronik-tabelle th:first-child { position: sticky; left: 0; z-index: 1; background: #fff; }
	.wp-block-table.tusw-chronik-tabelle tbody tr:nth-child(even) td:first-child { background: var(--wp--preset--color--paper-soft); }
}

/* Bilder in Spalten nie breiter als die Spalte (überlagerten z. B. auf „Schiedsrichter“ den Text) */
.wp-block-column .wp-block-image img { max-width: 100%; height: auto; }

/* ==========================================================================
   2.10 – Mitgliedschaft (Preiskarten), Prämien Shoppen, Projekte
   ========================================================================== */
.tusw-preise { gap: 14px !important; margin-block: var(--wp--preset--spacing--40); }
.tusw-preis { padding: 18px 20px !important; text-align: center; }
.tusw-preis p { margin: 0 !important; }
.tusw-preis__label { font-weight: 600; color: var(--wp--preset--color--ink); }
.tusw-preis__betrag { margin-top: 8px !important; font: 800 2.2rem/1 var(--wp--preset--font-family--head); color: var(--tusw-blue); }
.tusw-preis__betrag small { display: block; margin-top: 4px; font: 500 .78rem/1 var(--wp--preset--font-family--body); color: var(--wp--preset--color--ink-soft); letter-spacing: 0; }
.tusw-preis.is-highlight { background: var(--tusw-blue) !important; }
.tusw-preis.is-highlight p, .tusw-preis.is-highlight .tusw-preis__betrag, .tusw-preis.is-highlight small { color: #fff !important; }
.tusw-join .wp-block-buttons { margin-top: var(--wp--preset--spacing--30); }
.tusw-praemien ol { padding-left: 1.3em; }
.tusw-praemien li + li { margin-top: .5rem; }
.tusw-projekt__titel a { font-weight: 700; color: var(--tusw-blue); text-decoration: none; }
.tusw-projekt__titel a:hover { text-decoration: underline; }
.wp-block-column:has(.tusw-projekt__titel) .wp-block-image a img { transition: transform .3s var(--tusw-ease); }
.wp-block-column:has(.tusw-projekt__titel) .wp-block-image a:hover img { transform: scale(1.02); }

/* ==========================================================================
   Weiterblättern am Seitenende (Plugin km Page Navigation) in TuS-Optik
   ========================================================================== */
.kmpn { margin-top: var(--wp--preset--spacing--60) !important; padding-top: var(--wp--preset--spacing--40); }
.kmpn__dir { font-family: var(--wp--preset--font-family--body); }
.kmpn__title { font-size: 1.25rem; line-height: 1.15; letter-spacing: .02em; }
@media (max-width: 600px) {
	.kmpn { gap: 10px; }
	.kmpn__link { padding: 12px 14px; }
	.kmpn__title { font-size: 1.05rem; }
}

/* Jubiläums-Termine */
.tusw-jubi-badge { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--tusw-accent); color: #fff; font: 700 .68rem/1.5 var(--wp--preset--font-family--body); letter-spacing: .06em; text-transform: uppercase; vertical-align: middle; }
.wp-block-table.tusw-termine-tabelle td { white-space: normal !important; vertical-align: top; }
.wp-block-table.tusw-termine-tabelle td:first-child { white-space: nowrap !important; font-weight: 600; color: var(--tusw-blue); }
.wp-block-table.tusw-termine-tabelle tr:has(.tusw-jubi-badge) td { background: var(--wp--preset--color--blue-tint); }

/* ==========================================================================
   Barrierefreiheit: Kontraste (WCAG AA 4,5:1) – dunkleres Grün für weiße Schrift, dunklere Texte auf Grau
   ========================================================================== */
:root { --tusw-ok: #2e7524; }
.tusw-jubi-badge,
.wp-block-table.tusw-chronik-tabelle td:nth-child(4) strong { background: var(--tusw-ok) !important; color: #fff !important; }
.tusw-liga--klb { color: var(--tusw-navy) !important; }
/* Fokus auf dunklem Grund (Footer, Seitenkopf) gut sichtbar */
:where(.tusw-footer, .has-tus-navy-background-color, .tusw-hero) :where(a, button):focus-visible { outline-color: #fff; box-shadow: 0 0 0 2px var(--tusw-navy); }
/* Tabellen, die per Tastatur gescrollt werden können */
.wp-block-table[tabindex]:focus-visible { outline-offset: 4px; }
/* Bewegung reduzieren: auch das Weiterblättern und Karten nicht verschieben */
@media (prefers-reduced-motion: reduce) { .kmpn__link:hover, .kmpn__link:focus-visible { transform: none; } }

/* ------------------------------------------------------------------ Orte (Sportstätten) */
.tusw-ort { display: flex; flex-direction: column; gap: 14px; }
.tusw-ort > * { margin: 0 !important; }
.tusw-ort__adresse { position: relative; padding-left: 30px; line-height: 1.6; }
.tusw-ort__adresse::before { content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; background: var(--tusw-blue); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat; }
.tusw-ort .wp-block-button__link::after { content: "↗"; margin-left: .35em; }
.tusw-orte { gap: 24px !important; align-items: stretch !important; }
.tusw-ort-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--tusw-line); border-radius: var(--tusw-radius); background: #fff; box-shadow: var(--tusw-shadow); }
.tusw-ort-card > * { margin: 0 !important; }
.tusw-ort-card__bild img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0 !important; }
.tusw-ort-card__text { padding: 22px 24px 24px; }
.tusw-ort-card__text > .wp-block-heading { margin: 0 0 14px !important; font-size: clamp(1.5rem, 2.4vw, 2rem); }
.tusw-ort-card__mehr { margin-top: auto !important; padding: 0 24px 24px; gap: 8px !important; }
.tusw-ort-card__mehr .wp-block-image img { aspect-ratio: 4 / 3; border-radius: var(--tusw-radius-sm) !important; }
@media (min-width: 782px) { .tusw-ort-card__text { padding: 26px 28px 28px; } .tusw-ort-card__mehr { padding: 0 28px 28px; } }

/* Spalte nur aus Bild/Logo + Knopf (z. B. Fanshop, Partner): als ruhiger Kasten, mittig */
.wp-block-columns > .wp-block-column:has(> .wp-block-image):has(> .wp-block-buttons):not(:has(> p, > .wp-block-heading, > ul, > ol, > .wp-block-group, > .wp-block-table, > .wp-block-columns)) {
	align-self: center; display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 28px 24px; border: 1px solid var(--tusw-line); border-radius: var(--tusw-radius); background: #fff; box-shadow: var(--tusw-shadow); text-align: center;
}
.wp-block-columns > .wp-block-column:has(> .wp-block-image):has(> .wp-block-buttons):not(:has(> p, > .wp-block-heading, > ul, > ol, > .wp-block-group, > .wp-block-table, > .wp-block-columns)) > * { margin: 0 !important; }
.wp-block-columns > .wp-block-column:has(> .wp-block-image):has(> .wp-block-buttons):not(:has(> p, > .wp-block-heading, > ul, > ol, > .wp-block-group, > .wp-block-table, > .wp-block-columns)) .wp-block-buttons { justify-content: center; }
.wp-block-columns > .wp-block-column:has(> .wp-block-image):has(> .wp-block-buttons):not(:has(> p, > .wp-block-heading, > ul, > ol, > .wp-block-group, > .wp-block-table, > .wp-block-columns)) .wp-block-image img { max-height: 120px; max-width: 100%; width: auto; height: auto; object-fit: contain; border-radius: 0; margin-inline: auto; }


/* Nur für Screenreader */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ==========================================================================
   km Sports Courses (Steckbrief, Kursübersicht, Belegungsplan) in TuS-Farben
   ========================================================================== */
:root {
	--kmsc-primary: var(--tusw-blue);
	--kmsc-dark: var(--tusw-navy);
	--kmsc-highlight: var(--tusw-ok);
	--kmsc-soft: var(--wp--preset--color--blue-tint);
	--kmsc-line: var(--tusw-line);
	--kmsc-radius: var(--tusw-radius);
	--kmsc-muted: var(--wp--preset--color--ink-soft);
	--kmsc-font-heading: var(--wp--preset--font-family--head);
	--kmsc-i-users: var(--tusw-i-users);
	--kmsc-i-leaders: var(--tusw-i-gym);
	--kmsc-i-calendar: var(--tusw-i-calendar);
	--kmsc-i-pin: var(--tusw-i-pin);
	--kmsc-i-costs: var(--tusw-i-check);
	/* km Timeline (Chronik) */
	--kmtl-line-start: var(--tusw-blue);
	--kmtl-line-end: var(--tusw-accent);
	--kmtl-year-font: var(--wp--preset--font-family--head);
	--kmtl-muted: var(--wp--preset--color--ink-soft);
	--kmtl-gap: var(--wp--preset--spacing--40);
	/* km Page Navigation, km Page Feedback, km Photo Mosaic, km Instagram Feed */
	--kmpn-accent: var(--tusw-blue);
	--kmpn-title: var(--tusw-navy);
	--kmpn-muted: var(--wp--preset--color--ink-soft);
	--kmpn-line: var(--tusw-line);
	--kmpn-radius: var(--tusw-radius);
	--kmpn-shadow: var(--tusw-shadow);
	--kmpn-font-heading: var(--wp--preset--font-family--head);
	--kmpn-title-weight: 800;
	--kmpn-title-transform: uppercase;
	--kmpf-accent: var(--tusw-blue);
	--kmpf-dark: var(--tusw-navy);
	--kmpf-ok: var(--tusw-ok);
	--kmpf-line: var(--tusw-line);
	--kmpf-tint: var(--wp--preset--color--blue-tint);
	--kmpf-muted: var(--wp--preset--color--ink-soft);
	--kmpf-radius: var(--tusw-radius);
	--kmpf-font-heading: var(--wp--preset--font-family--head);
	--kmpf-font-body: var(--wp--preset--font-family--body);
	--kmpm-accent: var(--tusw-blue);
	--kmpm-dark: var(--tusw-navy);
	--kmpm-highlight: var(--tusw-ok);
	--kmpm-tint: var(--wp--preset--color--blue-tint);
	--kmpm-line: var(--tusw-line);
	--kmpm-muted: var(--wp--preset--color--ink-soft);
	--kmpm-radius: var(--tusw-radius);
	--kmpm-font-heading: var(--wp--preset--font-family--head);
	--kmig-placeholder: var(--wp--preset--color--blue-tint);
}
.kmsc-profile[data-sport="fussball"] .kmsc-ic-match { --_icon: var(--tusw-i-ball); }
.kmsc-profile[data-sport="tischtennis"] .kmsc-ic-match { --_icon: var(--tusw-i-paddle); }
.kmsc-profile[data-sport="volleyball"] .kmsc-ic-match { --_icon: var(--tusw-i-volley); }
.kmsc-profile__label { font-family: var(--wp--preset--font-family--body) !important; font-size: .78rem !important; letter-spacing: .14em; }
.kmsc-profile__content > p:last-child { font-size: var(--wp--preset--font-size--m, 1.125rem); }
.kmsc-overview__title { font-size: var(--wp--preset--font-size--l, 1.4rem); }
.kmsc-overview__item, .kmsc-overview__count { color: var(--wp--preset--color--ink); }
.kmsc-overview__count { color: var(--tusw-navy); }
/* Belegungsplan: TuS-Sonderformen */
.kmsc-plan .kmsc-cat--aktivtreff { border-style: dashed; }
.kmsc-plan .kmsc-cat--kindergarten { background: repeating-linear-gradient(135deg, #eef0f4 0 6px, #e2e6ec 6px 12px); }
.kmsc-plan__seasons { background: var(--wp--preset--color--paper-soft, #f1f3f6); }

/* Startseite: Abschnitte stehen jetzt im Seiteninhalt (bearbeitbar) – ohne Abstand dazwischen wie bisher */
.tusw-front > .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }

/* ---------- Organigramm (Muster „Organigramm Vorstand & Verwaltungsrat“) ---------- */
.tusw-org { container: tusw-org / inline-size; --org-line: var(--tusw-navy); --org-gap: 1.25rem; --org-drop: 2.25rem; color: var(--tusw-navy); }
.tusw-org > * { margin-block: 0; }
.tusw-org p, .tusw-org ul { margin: 0; }
.tusw-org .tusw-org__top > *, .tusw-org .tusw-org__ressorts > *, .tusw-org :is(.tusw-org__box, .tusw-org__unit, .tusw-org__ressort) > * { margin-block: 0; }
.tusw-org .tusw-org__role + * { margin-top: .3rem; }
.tusw-org .tusw-org__ressort-title + * { margin-top: .6rem; }
.tusw-org .tusw-org__stand { text-align: right; text-wrap: balance; font-size: .9rem; color: var(--wp--preset--color--ink-soft); }
.tusw-org .tusw-org__section {
	display: flex; align-items: center; gap: 1rem; margin: 2.5rem 0 1.25rem;
	font: 800 .95rem/1.2 var(--wp--preset--font-family--head); letter-spacing: .18em; text-transform: uppercase; color: var(--tusw-navy);
}
.tusw-org .tusw-org__section::after { content: ""; flex: 1; height: 1px; background: var(--tusw-line); }
.tusw-org .tusw-org__stand + .tusw-org__section { margin-top: .75rem; }
.tusw-org .tusw-org__section:nth-of-type(n+2) { color: var(--wp--preset--color--tus-green-dark); }

/* Kästen */
.tusw-org .tusw-org__box, .tusw-org .tusw-org__unit, .tusw-org .tusw-org__ressort {
	position: relative; background: #fff; border: 1px solid var(--tusw-line); border-radius: var(--tusw-radius-sm); padding: .9rem 1.05rem;
}
.tusw-org .tusw-org__role {
	font: 600 .7rem/1.3 var(--wp--preset--font-family--body); letter-spacing: .12em; text-transform: uppercase;
	color: var(--wp--preset--color--tus-green-dark); hyphens: auto;
}
.tusw-org .tusw-org__name { font-weight: 700; font-size: 1.05rem; color: var(--tusw-navy); }
.tusw-org .tusw-org__top .tusw-org__role { color: var(--wp--preset--color--ink-soft); }
.tusw-org .tusw-org__names { list-style: none; padding: 0; font-size: .95rem; color: var(--wp--preset--color--ink); }
.tusw-org .tusw-org__names li + li { margin-top: .15rem; }

/* Oben: Präsident | Vorsitz (dunkel, Mitte) | Schriftführer */
.tusw-org .tusw-org__top { display: grid; grid-template-columns: 1fr; gap: .75rem; }
.tusw-org .tusw-org__top > :nth-child(2) {
	order: -1; background: var(--tusw-navy); border-color: var(--tusw-navy); color: #fff; text-align: center;
	box-shadow: var(--tusw-shadow); padding: 1.1rem 1.25rem;
	display: flex; flex-direction: column; justify-content: center;
}
.tusw-org .tusw-org__top > :nth-child(2) .tusw-org__role { color: #a8dc9c; }
.tusw-org .tusw-org__top > :nth-child(2) .tusw-org__name { color: #fff; font: 800 1.9rem/1.05 var(--wp--preset--font-family--head); }

/* Ressorts */
.tusw-org .tusw-org__ressorts { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .75rem; margin-top: .75rem; }
.tusw-org .tusw-org__ressort { border-top: 4px solid var(--tusw-accent); box-shadow: 0 1px 2px rgba(24, 24, 24, .05); padding-bottom: 1.1rem; }
.tusw-org .tusw-org__ressort-title { margin: 0; font: 800 1.3rem/1.1 var(--wp--preset--font-family--head); color: var(--tusw-navy); }
.tusw-org .tusw-org__members { list-style: none; padding: 0; font-size: .95rem; color: var(--wp--preset--color--ink); }
.tusw-org .tusw-org__members li { display: flex; align-items: center; gap: .55rem; }
.tusw-org .tusw-org__members li + li { margin-top: .4rem; }
.tusw-org .tusw-org__members li::before, .tusw-org .tusw-org__legend li::before {
	content: "2"; flex: 0 0 1.35rem; height: 1.35rem; border-radius: 50%;
	display: inline-grid; place-items: center; font: 700 .7rem/1 var(--wp--preset--font-family--body);
	background: var(--wp--preset--color--line); color: var(--tusw-navy);
}
.tusw-org .tusw-org__members li:first-child::before, .tusw-org .tusw-org__legend li:first-child::before { content: "1"; background: var(--tusw-navy); color: #fff; }

/* Verwaltungsrat */
.tusw-org .tusw-org__rat { gap: .75rem; margin-bottom: 0; }
.tusw-org .tusw-org__rat > .wp-block-column { display: flex; flex-direction: column; gap: .75rem; }
.tusw-org .tusw-org__rat > .wp-block-column > * { margin: 0; }
.tusw-org .is-style-org-open { border-style: dashed; border-width: 1.5px; background: var(--wp--preset--color--paper-soft); }
.tusw-org .tusw-org__badge {
	position: absolute; top: .75rem; right: .75rem; padding: .15rem .5rem; border-radius: 999px;
	background: var(--wp--preset--color--blue-tint); font: 700 .7rem/1.3 var(--wp--preset--font-family--body); color: var(--tusw-navy);
}
.tusw-org .tusw-org__badge ~ .tusw-org__open, .tusw-org .tusw-org__unit:has(.tusw-org__badge) .tusw-org__role { padding-right: 4.5rem; }
.tusw-org .tusw-org__open { font-size: .95rem; color: var(--wp--preset--color--ink-soft); }

/* Legende */
.tusw-org .tusw-org__legend {
	list-style: none; padding: 1rem 0 0; margin-top: 2rem; border-top: 1px solid var(--tusw-line);
	display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-size: .85rem; color: var(--wp--preset--color--ink-soft);
}
.tusw-org .tusw-org__legend li { display: flex; align-items: center; gap: .5rem; margin: 0; }

/* Schmal (Handy oder schmale Spalte): Verwaltungsrat untereinander */
@container tusw-org (max-width: 619px) {
	.tusw-org .tusw-org__rat { flex-wrap: wrap !important; }
	.tusw-org .tusw-org__rat > .wp-block-column { flex-basis: 100% !important; }
}
/* Genug Platz (auch in schmalen Spalten richtig): Linien wie im Organigramm */
@container tusw-org (min-width: 860px) {
	.tusw-org .tusw-org__top { grid-template-columns: 1fr 1fr 1fr; gap: var(--org-gap); align-items: center; }
	.tusw-org .tusw-org__top > :nth-child(2) { order: 0; align-self: stretch; min-height: 5.25rem; }
	.tusw-org .tusw-org__top > :nth-child(2)::after {
		content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: calc(var(--org-drop) / 2); margin-left: -1px; background: var(--org-line);
	}
	.tusw-org .tusw-org__ressorts { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--org-gap); margin-top: var(--org-drop); }
	.tusw-org .tusw-org__ressort::before, .tusw-org .tusw-org__ressort::after { content: ""; position: absolute; background: var(--org-line); }
	.tusw-org .tusw-org__ressort::before { left: 50%; width: 2px; margin-left: -1px; top: calc(var(--org-drop) / -2 - 4px); height: calc(var(--org-drop) / 2); }
	.tusw-org .tusw-org__ressort::after { height: 2px; top: calc(var(--org-drop) / -2 - 4px); left: calc(var(--org-gap) / -2 - 1px); right: calc(var(--org-gap) / -2 - 1px); }
	.tusw-org .tusw-org__ressort:first-child::after { left: 50%; }
	.tusw-org .tusw-org__ressort:last-child::after { right: 50%; }
	.tusw-org .tusw-org__ressort:only-child::after { display: none; }
	.tusw-org .tusw-org__rat { gap: var(--org-gap); }
}
