/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/

/* Mobiles Off-Canvas-Menü (Simple Dropdown)
   1. Inhalt vom Scrollbalken freihalten, damit die Untermenü-Pfeile frei bleiben
   2. Höhe am sichtbaren Viewport (svh) ausrichten, damit der letzte Eintrag erreichbar ist
   3. Scrollen bleibt im Menü (overscroll-behavior) */
body #header-outer #mobile-menu > .inner {
	padding-right: 22px;
	box-sizing: border-box;
	scrollbar-gutter: stable;
	max-height: calc(100vh - 100px);
	max-height: calc(100svh - 100px);
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}
/* Hintergrund-Scrollsperre: siehe ttz_ocm_scroll_lock() in functions.php */

/* Smartphone: Spaltenabstand über row-gap statt margin-bottom, damit leere Spalten
   (z. B. Abstandshalter neben dem Intro-Text) ausgeblendet werden können, ohne Platz
   zu hinterlassen; so bestimmt allein das Zeilen-Padding den Abstand oben und unten */
@media only screen and (max-width: 690px) {
	body .wpb_row > .row_col_wrap_12 {
		row-gap: 25px;
	}
	/* Zeilen mit in WPBakery gesetzten Spaltenabständen (z. B. Footer) behalten ihr Original-Layout */
	body .wpb_row > .row_col_wrap_12:has(> .wpb_column[style*="margin-bottom"]) {
		row-gap: 0;
	}
	/* Spalten mit in WPBakery gesetztem Außenabstand (z. B. Footer) ausgenommen */
	body .wpb_row > .row_col_wrap_12 > .wpb_column:not([style*="margin-bottom"]) {
		margin-bottom: 0 !important;
	}
	body .wpb_row > .row_col_wrap_12 > .wpb_column:not(:has(.wpb_wrapper > *)) {
		display: none;
	}
	.wpb_row .wpb_column .wpb_wrapper > .vc_custom_heading:last-child {
		margin-bottom: 0;
	}
	.main-content > .row > .wpb_row:not(.full-width-section):not(.full-width-content) {
		margin-bottom: 0;
	}
}

/* Smartphone: Bilderslider auf der Startseite 30 % niedriger (550 px -> 385 px).
   Salient setzt die Höhe per JS inline, daher !important */
@media only screen and (max-width: 690px) {
	body.home .parallax_slider_outer,
	body.home .nectar-slider-wrap,
	body.home .nectar-slider-wrap .swiper-container,
	body.home .nectar-slider-wrap .swiper-wrapper,
	body.home .nectar-slider-wrap .swiper-slide {
		height: 385px !important;
		min-height: 0 !important;
	}
}

/* ===== ttz Sektion "Unsere Dörfer" (Shortcode [ttz_doerfer]) ===== */
.ttz-doerfer-row .vc_column-inner,
.ttz-doerfer-row .wpb_wrapper { padding: 0 !important; }
.ttz-doerfer {
	background: #1a739f; color: #fff; overflow: hidden;
	padding: 56px 0 48px; margin: 0;
}
.ttz-doerfer__head,
.ttz-doerfer__all { box-sizing: border-box; max-width: 1200px; margin-left: auto; margin-right: auto; }
.ttz-doerfer__head { padding: 0 24px; }
.ttz-doerfer p { padding: 0; }
.ttz-doerfer .ttz-doerfer__eyebrow { font-size: 12px; line-height: 1; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; opacity: .75; margin: 0 0 14px; color: #fff; }
.ttz-doerfer .ttz-doerfer__count { display: flex; align-items: baseline; gap: 12px; margin: 0; color: #fff; }
.ttz-doerfer__num { font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 96px; line-height: .9; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.ttz-doerfer__lbl { font-family: 'Quicksand', sans-serif; font-weight: 600; font-size: 20px; line-height: 1.2; max-width: 9ch; }
.ttz-doerfer .ttz-doerfer__text { margin: 18px 0 0; font-size: 15px; line-height: 1.6; color: #fff; opacity: .92; max-width: 34ch; }
.ttz-doerfer__rows { margin-top: 34px; display: grid; gap: 10px; position: relative; }
/* Randverlauf als Überlagerung statt mask-image (Maske zwingt bei laufender Animation zum ständigen Neuzeichnen) */
.ttz-doerfer__rows::before, .ttz-doerfer__rows::after { content: ""; position: absolute; top: 0; bottom: 0; width: 8%; z-index: 2; pointer-events: none; }
.ttz-doerfer__rows::before { left: 0; background: linear-gradient(90deg, #1a739f, rgba(26, 115, 159, 0)); }
.ttz-doerfer__rows::after { right: 0; background: linear-gradient(270deg, #1a739f, rgba(26, 115, 159, 0)); }
.ttz-doerfer__row { overflow: hidden; contain: paint; }
.ttz-doerfer__track { display: flex; gap: 8px; width: max-content; animation: ttz-drift var(--ttz-dur, 90s) linear infinite; will-change: transform; backface-visibility: hidden; }
.ttz-doerfer__row.is-rev .ttz-doerfer__track { animation-direction: reverse; }
@keyframes ttz-drift { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ttz-doerfer__chip {
	flex: none; font-size: 14px; line-height: 1; font-weight: 600; white-space: nowrap;
	padding: 10px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.28);
	color: rgba(255,255,255,.62); background: transparent;
	transition: background .5s ease, color .5s ease, border-color .5s ease;
}
.ttz-doerfer__chip.is-lit { color: #145a7c; background: #fff; border-color: #fff; }
.ttz-doerfer__all { margin-top: 30px; padding-left: 24px; padding-right: 24px; background-clip: content-box; padding-top: 0; }
.ttz-doerfer__all summary { border-top: 1px solid rgba(255,255,255,.22); padding-top: 16px; }
.ttz-doerfer__all summary { cursor: pointer; font-size: 15px; line-height: 1.3; font-weight: 600; list-style: none; display: flex; justify-content: space-between; align-items: center; color: #fff; }
.ttz-doerfer__all summary::-webkit-details-marker { display: none; }
.ttz-doerfer__all summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg) translateY(-3px); transition: transform .3s; }
.ttz-doerfer__all[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.ttz-doerfer__all ul { columns: 2; column-gap: 18px; margin: 16px 0 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.9; color: #fff; opacity: .92; }
.ttz-doerfer__all li { break-inside: avoid; list-style: none; margin: 0; padding: 0; }
@media only screen and (min-width: 1000px) {
	.ttz-doerfer { padding: 96px 0 80px; }
	.ttz-doerfer__head,
	.ttz-doerfer__all { max-width: none; padding-left: 90px; padding-right: 90px; }
	.ttz-doerfer__head { display: grid; grid-template-columns: auto 1fr; column-gap: 64px; align-items: end; }
	.ttz-doerfer .ttz-doerfer__eyebrow { grid-column: 1 / -1; }
	.ttz-doerfer__num { font-size: 140px; }
	.ttz-doerfer__lbl { font-size: 26px; }
	.ttz-doerfer .ttz-doerfer__text { margin: 0; font-size: 18px; max-width: 42ch; padding-bottom: 10px; }
	.ttz-doerfer__rows { margin-top: 56px; gap: 12px; }
	.ttz-doerfer__chip { font-size: 16px; padding: 12px 18px; }
	.ttz-doerfer__all ul { columns: 5; }
}
@media (prefers-reduced-motion: reduce) {
	.ttz-doerfer__track { animation: none; }
	.ttz-doerfer__row { overflow-x: auto; }
	.ttz-doerfer__chip { transition: none; }
}

/* ===== ttz Footer-Turm zeichnet sich selbst (Skript: ttz_footer_tower_script() in functions.php) ===== */
.nectar_hook_global_section_footer .row-bg-wrap.ttz-tower-on::after { visibility: hidden !important; }
.ttz-tower { position: absolute; pointer-events: none; }
.ttz-tower svg { width: 100%; height: 100%; display: block; overflow: visible; }
.ttz-tower__fill { fill: #fff; opacity: var(--ttz-tower-op, .1); transition: opacity 1.2s ease; }
.ttz-tower__lines { fill: none; stroke: #fff; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transition: opacity 1.2s ease; }
.ttz-tower__lines path,
.ttz-tower__lines circle { stroke-dasharray: 1; stroke-dashoffset: 1; }
.ttz-tower.is-drawing .ttz-tower__fill { opacity: 0; transition: none; }
.ttz-tower.is-drawing .ttz-tower__lines { opacity: var(--ttz-tower-line, .22); transition: none; }
.ttz-tower.is-drawing .ttz-tower__lines path,
.ttz-tower.is-drawing .ttz-tower__lines circle { animation: ttz-tower-draw var(--d, 1s) cubic-bezier(.45,.05,.35,1) var(--s, 0s) forwards; }
.ttz-tower.is-done .ttz-tower__lines path,
.ttz-tower.is-done .ttz-tower__lines circle { stroke-dashoffset: 0; }
@keyframes ttz-tower-draw { to { stroke-dashoffset: 0; } }

/* ===== ttz Seitenübergänge (Skript: ttz_view_transitions_head() in functions.php) ===== */
@view-transition { navigation: auto; }
#header-outer { view-transition-name: ttz-header; }
::view-transition-group(ttz-header) { animation: none; }
::view-transition-old(root),
::view-transition-new(root) { animation-duration: .3s; }
@media (prefers-reduced-motion: reduce) {
	@view-transition { navigation: none; }
}


/* ===== Bilderslider: kein Zucken beim Seitenaufbau =====
   Vor dem Start des Slider-Skripts zeigt Salient das Bild mit anderen Maßen (Desktop 750 statt 550 px hoch,
   Parallax-Versatz fehlt). Höhe wird daher von Anfang an festgehalten und das Bild erst eingeblendet,
   wenn der Slider bereit ist (Klasse .loaded). Sicherheitsnetz: nach 6 s wird das Bild in jedem Fall gezeigt. */
@media only screen and (min-width: 691px) {
	/* Höhe wie Salient „flexible Höhe“: mindestens 550 px, bei breiten Fenstern 34,375 % der Breite.
	   Rahmen und Slider erhalten dieselbe Höhe, damit nichts über den folgenden Text ragt. */
	body.home .parallax_slider_outer,
	body.home .nectar-slider-wrap,
	body.home .nectar-slider-wrap .swiper-container,
	body.home .nectar-slider-wrap .swiper-wrapper,
	body.home .nectar-slider-wrap .swiper-slide {
		height: max(550px, 34.375vw) !important;
		min-height: 0 !important;
	}
}
/* Abdeckfläche über dem Slider, die beim Start ausblendet (Swiper unterdrückt Transitions an Wrapper und Slides). */
.nectar-slider-wrap::after {
	content: ""; position: absolute; inset: 0; z-index: 100; pointer-events: none;
	background: #dde8ea; opacity: 0; transition: opacity .6s ease;
}
.nectar-slider-wrap:not(.loaded)::after { opacity: 1; animation: ttz-slider-fallback .6s ease 6s forwards; }
@keyframes ttz-slider-fallback { to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
	.nectar-slider-wrap::after { transition: none; }
}

/* ===== ttz Gemeindekarte (Shortcode [ttz_karte] in functions.php) ===== */
.ttz-karte{--teal:#1a739f; --teal-dark:#145a7c; --teal-soft:#e7f0f5; --land:#f0f6f9; --water:#8db9cf;
  --paper:#ffffff; --grey:#edf7fc; --ink:#1f2d32; --muted:#5d6f75; --line:#d6e2e5; --spark:#e8b100;
  --f-body:'Open Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-display:'Quicksand',ui-rounded,system-ui,sans-serif;font-family:var(--f-body);color:var(--ink);line-height:1.6}
.ttz-karte .eyebrow{font:600 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:0 0 12px}
.ttz-karte .intro{max-width:60ch;color:var(--muted);margin:0 0 36px}


@media (max-width:600px){.ttz-karte .attrib{font-size:9px}}

.ttz-karte .mapbox svg{display:block;width:100%;height:auto;max-width:100%}
.ttz-karte .attrib{position:absolute;right:8px;bottom:6px;font-size:11px;color:var(--muted);background:rgba(255,255,255,.8);padding:2px 6px;border-radius:4px}
.ttz-karte .layout{position:relative;display:grid;grid-template-columns:1fr;gap:14px;max-width:1040px;background:#f3f1ec;border-radius:18px;padding:clamp(14px,2.4vw,28px)}
.ttz-karte .mapbox{position:relative;background:linear-gradient(180deg,#fbfaf7 0%,#f6f3ec 100%);border:0;border-radius:12px;overflow:hidden}
.ttz-karte .panel{position:absolute;top:clamp(26px,3.4vw,44px);left:clamp(26px,3.4vw,44px);width:min(340px,42%);z-index:3}
.ttz-karte .finder{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(26, 115, 159,.15);border-radius:12px;padding:18px 18px 16px;box-shadow:0 10px 30px rgba(20,40,45,.12)}
@media (max-width:760px){.ttz-karte .panel{position:static;width:auto;order:-1}.ttz-karte .finder{background:#fff;box-shadow:none;border-color:var(--line)}}
.ttz-karte .legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding:0 4px;margin:0}
.ttz-karte .legend span{display:inline-flex;align-items:center;gap:7px}
.ttz-karte .legend i{width:10px;height:10px;border-radius:50%;background:var(--teal);display:inline-block}
.ttz-karte .legend i.k{width:14px;height:14px;border:2px solid var(--teal);background:#fff}
.ttz-karte .bnd{fill:#fff;stroke:var(--teal);stroke-width:1.6;stroke-dasharray:5 4;stroke-linejoin:round}
.ttz-karte .bnd-draw{fill:none;stroke:#fff;stroke-width:10;stroke-linejoin:round;stroke-linecap:round}
.ttz-karte .bnd-line{fill:none;stroke:var(--teal);stroke-width:1.6;stroke-dasharray:5 4;stroke-linejoin:round}
.ttz-karte svg:not(.anim) .bnd-line{display:none}
.ttz-karte .river{fill:none;stroke:var(--water);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.ttz-karte .river-label{font:italic 600 15px var(--f-display);fill:#5f9dbc;letter-spacing:.08em}
.ttz-karte .dot{fill:var(--teal);stroke:#fff;stroke-width:1.5;cursor:pointer;transition:r .25s ease,fill .25s ease}
.ttz-karte .dot:hover{fill:var(--teal-dark)}
.ttz-karte .dot.main{stroke-width:2}
.ttz-karte .dot.sel{fill:var(--spark)}
.ttz-karte .dot.approx{fill:#fff;stroke:var(--teal);stroke-width:1.8;stroke-dasharray:2.5 2}
.ttz-karte .dot.approx.sel{fill:var(--spark);stroke-dasharray:none}
.ttz-karte .lbl{font:600 15px var(--f-display);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.ttz-karte .lbl.small{font-size:13px;font-weight:600;fill:var(--teal-dark)}
.ttz-karte .route{fill:none;stroke:var(--spark);stroke-width:2.5;stroke-dasharray:6 6;stroke-linecap:round}
.ttz-karte .pin{pointer-events:none}
.ttz-karte .stem{stroke:var(--teal);stroke-linecap:round}
.ttz-karte .anim .stem{opacity:0}
.ttz-karte .play .stem{animation:ttzk-fadeIn .5s ease 2.6s forwards}
.ttz-karte .pin .halo{fill:var(--teal);opacity:.14;transition:opacity .3s}
.ttz-karte .pin:hover .halo,.ttz-karte .pin.active .halo{opacity:.3}
.ttz-karte .pin .badge{fill:#fff;stroke:var(--teal);stroke-width:2}
.ttz-karte .pin.active .badge{fill:var(--teal)}
.ttz-karte .pin .ico{color:var(--teal)}
.ttz-karte .pin.active .ico{color:#fff}
.ttz-karte .pin:focus-visible{outline:none}
.ttz-karte .pin:focus-visible .badge{stroke:var(--spark);stroke-width:3}
.ttz-karte .scale text,.ttz-karte .north text{font:600 12px var(--f-body);fill:var(--muted)}
.ttz-karte .scale line,.ttz-karte .north path{stroke:var(--muted);stroke-width:1.5;fill:none}
.ttz-karte .tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;font-size:13px;font-weight:600;padding:5px 9px;border-radius:6px;transform:translate(-50%,-130%);white-space:nowrap;opacity:0;transition:opacity .15s}
.ttz-karte .tip.on{opacity:1}
.ttz-karte .anim .bnd{fill-opacity:0;stroke-opacity:0}
.ttz-karte .anim .bnd-draw{stroke-dasharray:1;stroke-dashoffset:1}
.ttz-karte .anim .river{stroke-dasharray:1;stroke-dashoffset:1}
.ttz-karte .anim .dot,.ttz-karte .anim .lbl,.ttz-karte .anim .pin,.ttz-karte .anim .river-label{opacity:0}
.ttz-karte .play .bnd{animation:ttzk-fadeLand .8s ease 1.6s forwards}
.ttz-karte .play .bnd-draw{animation:ttzk-draw 2s cubic-bezier(.45,.05,.35,1) forwards}
.ttz-karte .play .river{animation:ttzk-draw 1.6s ease .7s forwards}
.ttz-karte .play .river-label{animation:ttzk-fadeIn .6s ease 1.8s forwards}
.ttz-karte .play .dot{animation:ttzk-pop .4s cubic-bezier(.3,1.6,.6,1) var(--d,1.4s) forwards;transform-box:fill-box;transform-origin:center}
.ttz-karte .play .lbl{animation:ttzk-fadeIn .5s ease 2.4s forwards}
.ttz-karte .play .pin{animation:ttzk-fadeIn .5s ease 2.6s forwards}
@keyframes ttzk-draw{to{stroke-dashoffset:0}}
@keyframes ttzk-fadeLand{to{fill-opacity:1;stroke-opacity:1}}
@keyframes ttzk-fadeOut{to{opacity:0}}
@keyframes ttzk-fadeIn{to{opacity:1}}
@keyframes ttzk-pop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}


.ttz-karte .finder label{display:block;font:600 15px var(--f-body);margin-bottom:10px}
.ttz-karte .finder .row{display:flex;gap:10px}
.ttz-karte .finder select{flex:1;min-width:0;font:400 16px var(--f-body);padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.ttz-karte .finder select:focus-visible{outline:3px solid var(--teal);outline-offset:1px}
.ttz-karte .result{margin-top:14px;min-height:48px;font-size:15px}
.ttz-karte .result b{font-family:var(--f-display);font-size:22px;color:var(--teal);display:block;line-height:1.2}
.ttz-karte .places{display:grid;gap:12px}
.ttz-karte .place{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .2s,box-shadow .2s}
.ttz-karte .place:hover{border-color:var(--teal)}
.ttz-karte .place.active{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal) inset}
.ttz-karte .place:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.ttz-karte .place .ic{width:44px;height:44px;border-radius:50%;background:var(--teal-soft);display:grid;place-items:center}
.ttz-karte .place .ic svg{width:22px;height:22px;color:var(--teal)}
.ttz-karte .place h3{margin:0;font-size:16px;line-height:1.3}
.ttz-karte .place .addr{font-size:14px;color:var(--muted);margin:2px 0 0}
.ttz-karte .place .more{display:none;margin:10px 0 0;padding:0;list-style:none;font-size:14px;line-height:1.5}
.ttz-karte .place .more li{padding:3px 0;border-top:1px solid var(--line)}
.ttz-karte .place.active .more{display:block}
.ttz-karte .source{font-size:12px;color:var(--muted);margin:4px 0 0}
@media (prefers-reduced-motion: reduce){.ttz-karte .anim .stem{opacity:1;animation:none!important}.ttz-karte .anim .bnd,.ttz-karte .anim .bnd-draw,.ttz-karte .anim .river,.ttz-karte .anim .dot,.ttz-karte .anim .lbl,.ttz-karte .anim .pin,.ttz-karte .anim .river-label{opacity:1;fill-opacity:1;stroke-opacity:1;stroke-dashoffset:0;animation:none!important}.ttz-karte .anim .bnd-draw{opacity:0}}
.ttz-karte .ttzk-h{font-family:var(--f-body);font-weight:600;font-size:clamp(32px,4vw,44px);line-height:1.1;color:var(--teal);margin:0 0 14px;letter-spacing:0}
.ttz-karte .place h3{font-family:var(--f-body);letter-spacing:0;font-weight:600}
.ttz-karte .place,.ttz-karte .finder select{box-sizing:border-box}
.ttz-karte .place .more li{list-style:none;margin:0}
.ttz-karte svg text{letter-spacing:0}
.ttz-karte-row .vc_column-inner,.ttz-karte-row .wpb_wrapper{padding:0}

/* Gemeindekarte: Salient-Grundstile neutralisieren */
.ttz-karte p { padding-bottom: 0; }
.ttz-karte .finder .ttzk-row { display: flex; gap: 10px; }
.ttz-karte .finder select { width: 100%; margin: 0; }
.ttz-karte .finder select { -webkit-appearance: none; appearance: none; padding-right: 46px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23333' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 20px center; background-size: 12px 8px; }
.ttz-karte .place { line-height: 1.5; height: auto; min-height: 0; margin: 0; white-space: normal; letter-spacing: 0; }
.ttz-karte .place h3 { padding: 0; }
.ttz-karte .place .more { padding: 0; }
.ttz-karte .attrib { line-height: 1.4; }
@media (max-width: 600px) { .ttz-karte .attrib { font-size: 9px; padding: 1px 5px; } }

/* ===== Gemeindebrief zum Blättern (ttz) ===== */
.ttz-gbf {
	--gbf-accent: var(--nectar-accent-color, #1a739f);
	--gbf-pink: #e9327a;
	--gbf-ink: #1f2d32;
	--gbf-muted: rgba(0, 0, 0, .6);
	--gbf-ratio: 1.4184;
	position: relative;
	margin-top: clamp(24px, 3vw, 40px);
	padding: clamp(20px, 3vw, 40px) clamp(16px, 3vw, 40px) clamp(18px, 2.4vw, 30px);
	border-radius: 6px;
	background: radial-gradient(120% 90% at 50% 0%, #faf9f6 0%, #ebe7df 75%);
	scroll-margin-top: 110px;
}
.ttz-gbf *, .ttz-gbf *::before, .ttz-gbf *::after { box-sizing: border-box; }
.ttz-gbf, .ttz-gbf button, .ttz-gbf-swipe { touch-action: manipulation; }
.ttz-gbf-swipe { touch-action: pan-x pan-y pinch-zoom; }
.ttz-gbf .ttz-gbf-cap {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 4px 20px; margin: 0 0 clamp(16px, 2vw, 26px); padding: 0;
}
.ttz-gbf .ttz-gbf-title { margin: 0; padding: 0; font-weight: 700; font-size: 1.05em; color: var(--gbf-ink); line-height: 1.3; }
.ttz-gbf .ttz-gbf-hint { margin: 0; padding: 0; font-size: .85em; color: var(--gbf-muted); line-height: 1.4; }
.ttz-gbf .ttz-gbf-hint .m { display: none; }

/* Desktop: aufgeschlagenes Heft */
.ttz-gbf-bookwrap { display: grid; place-items: center; }
.ttz-gbf-book {
	position: relative;
	width: min(100%, calc((100vh - 260px) / var(--gbf-ratio) * 2), 1100px);
	aspect-ratio: 2 / var(--gbf-ratio);
	perspective: 2600px;
	transition: transform .7s cubic-bezier(.3, .7, .2, 1);
}
.ttz-gbf-book.at-start { transform: translateX(-25%); }
.ttz-gbf-book.at-end { transform: translateX(25%); }
.ttz-gbf-leaf {
	position: absolute; top: 0; left: 50%; width: 50%; height: 100%;
	transform-style: preserve-3d; transform-origin: left center;
	transition: transform .9s cubic-bezier(.45, .05, .2, 1); cursor: pointer;
}
.ttz-gbf-leaf.turned { transform: rotateY(-180deg); }
.ttz-gbf-face {
	position: absolute; inset: 0; overflow: hidden; background: #fff;
	backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.ttz-gbf-face.back { transform: rotateY(180deg); }
.ttz-gbf-book.instant .ttz-gbf-leaf { transition: none; }
.ttz-gbf-leaf.moving .ttz-gbf-face { box-shadow: 0 10px 30px rgba(40, 30, 10, .22); }
.ttz-gbf-book .sh { position: absolute; top: 0; width: 50%; height: 100%; box-shadow: 0 12px 34px rgba(40, 30, 10, .2); opacity: 0; transition: opacity .5s; }
.ttz-gbf-book .sh.l { left: 0; }
.ttz-gbf-book .sh.r { left: 50%; }
.ttz-gbf-book.has-left .sh.l, .ttz-gbf-book.has-right .sh.r { opacity: 1; }
.ttz-gbf-face.front::after, .ttz-gbf-face.back::after { content: ""; position: absolute; top: 0; bottom: 0; width: 9%; pointer-events: none; z-index: 2; }
.ttz-gbf-face.front::after { left: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .16), transparent); }
.ttz-gbf-face.back::after { right: 0; background: linear-gradient(270deg, rgba(0, 0, 0, .16), transparent); }
.ttz-gbf-face.blank::after { display: none; }
.ttz-gbf-face .shade { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .45s ease; z-index: 3; }
.ttz-gbf-face.front .shade { background: linear-gradient(90deg, rgba(0, 0, 0, .18), rgba(255, 255, 255, .25) 60%, rgba(0, 0, 0, .05)); }
.ttz-gbf-face.back .shade { background: linear-gradient(270deg, rgba(0, 0, 0, .18), rgba(255, 255, 255, .25) 60%, rgba(0, 0, 0, .05)); }
.ttz-gbf-leaf.moving .shade { opacity: 1; }

/* Seiteninhalt */
.ttz-gbf .ttz-gbf-pg { position: relative; width: 100%; height: 100%; background: #fff; }
.ttz-gbf .ttz-gbf-pg img {
	display: block; width: 100%; height: 100%; margin: 0 !important; object-fit: cover;
	user-select: none; -webkit-user-drag: none; opacity: 0; transition: opacity .35s ease;
}
.ttz-gbf .ttz-gbf-pg img.on { opacity: 1; }
.ttz-gbf .ttz-gbf-pg.wait::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(100deg, #fff 30%, #f3f1ec 50%, #fff 70%) 0 0 / 300% 100%;
	animation: ttzgbf-shimmer 1.6s linear infinite;
}
@keyframes ttzgbf-shimmer { to { background-position: -150% 0; } }
.ttz-gbf .ttz-gbf-hidden {
	display: flex; flex-direction: column; height: 100%; padding: 9%; background: #fff; text-align: left;
}
.ttz-gbf .ttz-gbf-hidden .k { margin: 0 0 6%; padding: 0; color: var(--gbf-pink); font-weight: 600; font-size: clamp(10px, 1.1vw, 13px); line-height: 1.3; }
.ttz-gbf .ttz-gbf-hidden .h { margin: 0 0 8%; padding: 0; color: var(--gbf-pink); font-weight: 700; font-size: clamp(15px, 1.9vw, 24px); line-height: 1.2; }
.ttz-gbf .ttz-gbf-hidden .t { margin: 0; padding: 0; color: var(--gbf-muted); font-size: clamp(12px, 1.15vw, 14px); line-height: 1.6; }
.ttz-gbf .ttz-gbf-hidden .no {
	margin-top: auto; width: 2.6em; height: 2.6em; border-radius: 50%; display: grid; place-items: center;
	background: var(--gbf-pink); color: #fff; font-weight: 700; font-size: clamp(10px, 1vw, 12px);
}

/* Steuerung */
.ttz-gbf-bar { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 22px; }
.ttz-gbf button.ttz-gbf-nav {
	width: 46px; height: 46px; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 50%;
	background: #fff; color: var(--gbf-accent); box-shadow: 0 2px 10px rgba(40, 30, 10, .14);
	display: grid; place-items: center; cursor: pointer; transition: transform .2s, opacity .2s;
	border-radius: 50% !important; line-height: 1; font-size: 0;
}
.ttz-gbf button.ttz-gbf-nav:hover { transform: scale(1.06); }
.ttz-gbf button.ttz-gbf-nav:disabled { opacity: .35; cursor: default; transform: none; }
.ttz-gbf button.ttz-gbf-nav:focus-visible { outline: 3px solid var(--gbf-accent); outline-offset: 3px; }
.ttz-gbf-nav svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ttz-gbf-count { min-width: 170px; text-align: center; font-weight: 600; font-size: 14px; color: var(--gbf-ink); font-variant-numeric: tabular-nums; }
.ttz-gbf-thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 16px 4px 6px; margin-top: 8px; scrollbar-width: thin; }
.ttz-gbf button.ttz-gbf-thumb {
	flex: none; width: 46px; height: auto; min-width: 0; aspect-ratio: 1 / var(--gbf-ratio); margin: 0; padding: 0;
	border: 2px solid transparent; border-radius: 3px; background: #fff; cursor: pointer; opacity: .75;
	transition: opacity .2s, border-color .2s; overflow: hidden;
}
.ttz-gbf button.ttz-gbf-thumb.on { border-color: var(--gbf-accent); opacity: 1; }
.ttz-gbf button.ttz-gbf-thumb:focus-visible { outline: 2px solid var(--gbf-accent); outline-offset: 2px; }
.ttz-gbf-thumb img { display: block; width: 100%; height: 100%; margin: 0 !important; object-fit: cover; }
.ttz-gbf-thumb .ph { display: block; width: 100%; height: 100%; background: #fbe3ec; }
.ttz-gbf .ttz-gbf-note { margin: 14px 0 0; padding: 0; text-align: center; font-size: .82em; color: var(--gbf-muted); }
.ttz-gbf .ttz-gbf-error { margin: 0; padding: 30px 0; text-align: center; }

/* Smartphone: Seite für Seite */
.ttz-gbf-swipe { display: none; }
@media (max-width: 760px) {
	.ttz-gbf { padding: 20px 16px 18px; }
	.ttz-gbf .ttz-gbf-hint .d { display: none; }
	.ttz-gbf .ttz-gbf-hint .m { display: inline; }
	.ttz-gbf-bookwrap, .ttz-gbf-thumbs { display: none; }
	.ttz-gbf-swipe {
		display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
		margin: 0 -16px; padding: 4px 16px 14px; overscroll-behavior-x: contain;
	}
	.ttz-gbf-swipe::-webkit-scrollbar { display: none; }
	.ttz-gbf-swipe > .ttz-gbf-pg {
		flex: 0 0 100%; aspect-ratio: 1 / var(--gbf-ratio); height: auto; scroll-snap-align: center;
		box-shadow: 0 8px 24px rgba(40, 30, 10, .16); border-radius: 2px; overflow: hidden;
	}
	.ttz-gbf-bar { margin-top: 12px; }
	.ttz-gbf-count { min-width: 120px; }
}
@media (prefers-reduced-motion: reduce) {
	.ttz-gbf-leaf, .ttz-gbf-book, .ttz-gbf .ttz-gbf-pg img { transition: none; }
	.ttz-gbf .ttz-gbf-pg.wait::before { animation: none; }
}

/* Aktionen der aktuellen Ausgabe: "Jetzt lesen" als Hauptknopf, PDF als Nebenlink */
.ttz-gb a.ttz-gb-btn.ttz-gb-btn-read svg { width: 18px; height: 18px; flex: none; }
.ttz-gb a.ttz-gb-link.ttz-gb-link-pdf { display: inline-flex; align-items: center; gap: .4em; font-weight: 500; color: var(--ttz-gb-muted, rgba(0, 0, 0, .6)); }
.ttz-gb a.ttz-gb-link.ttz-gb-link-pdf:hover { color: var(--ttz-gb-accent, #1a739f); }
.ttz-gb a.ttz-gb-link.ttz-gb-link-pdf svg { width: 16px; height: 16px; flex: none; }
.ttz-gb a.ttz-gb-link.ttz-gb-link-pdf .ttz-gb-btn-size { font-weight: 400; opacity: .8; }

/* Vollbild-Knopf und Lupe (nur Smartphone) */
.ttz-gbf button.ttz-gbf-fsbtn { display: inline-flex; align-items: center; gap: 8px; border: 0; background: var(--gbf-accent); color: #fff; font: 600 13px/1 var(--f-body, 'Open Sans', sans-serif); padding: 10px 14px; border-radius: 999px !important; cursor: pointer; margin: 0; }
.ttz-gbf button.ttz-gbf-fsbtn svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ttz-gbf button.ttz-gbf-lupe { display: none; position: absolute; right: 10px; bottom: 10px; width: 40px; height: 40px; min-width: 0; margin: 0; padding: 0; border-radius: 50% !important; border: 0; background: rgba(255, 255, 255, .92); color: var(--gbf-accent); place-items: center; box-shadow: 0 2px 10px rgba(0, 0, 0, .2); cursor: pointer; z-index: 2; font-size: 0; line-height: 1; }
.ttz-gbf button.ttz-gbf-lupe svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 760px) {
	.ttz-gbf .ttz-gbf-cap { align-items: center; }
	.ttz-gbf .ttz-gbf-cap .ttz-gbf-hint { flex-basis: 100%; }
	.ttz-gbf-swipe > .ttz-gbf-pg { position: relative; }
	.ttz-gbf-swipe button.ttz-gbf-lupe { display: grid; }
}

/* Vollbild-Knopf in der Leiste unter dem Heft (Desktop): rund wie die Pfeile, Icon mit kurzem Text */
.ttz-gbf-bar button.ttz-gbf-fsbtn { margin-left: 10px; height: 46px; padding: 0 16px 0 12px; border-radius: 999px !important; background: #fff; color: var(--gbf-accent); box-shadow: 0 2px 10px rgba(40, 30, 10, .14); font-size: 13px; }
.ttz-gbf-bar button.ttz-gbf-fsbtn:hover { transform: scale(1.04); }
.ttz-gbf-bar button.ttz-gbf-fsbtn svg { width: 18px; height: 18px; }

/* ===== Vollbild-Leser ===== */
html.ttz-gbfs-open, html.ttz-gbfs-open body { overflow: hidden !important; }
.ttz-gbfs { position: fixed; inset: 0; background: #0d1214; color: #fff; z-index: 2147483000; display: flex; flex-direction: column; opacity: 0; pointer-events: none; transition: opacity .25s ease; font-family: 'Open Sans', system-ui, sans-serif; }
.ttz-gbfs[hidden] { display: none !important; }
.ttz-gbfs.on { opacity: 1; pointer-events: auto; }
.ttz-gbfs *, .ttz-gbfs *::before, .ttz-gbfs *::after { box-sizing: border-box; }
.ttz-gbfs-top, .ttz-gbfs-bot { position: absolute; left: 0; right: 0; z-index: 5; display: flex; align-items: center; }
.ttz-gbfs-top { top: 0; justify-content: space-between; gap: 10px; padding: calc(10px + env(safe-area-inset-top, 0px)) max(14px, env(safe-area-inset-right, 0px)) 10px max(14px, env(safe-area-inset-left, 0px)); background: linear-gradient(180deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); }
.ttz-gbfs-bot { bottom: 0; justify-content: center; gap: 14px; padding: 12px max(14px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px)); background: linear-gradient(0deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); }
.ttz-gbfs-btns { display: flex; gap: 8px; }
.ttz-gbfs-ttl { font: 700 15px 'Quicksand', 'Open Sans', sans-serif; color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .6); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ttz-gbfs button.ttz-gbfs-ib { width: 42px; height: 42px; min-width: 0; margin: 0; padding: 0; border-radius: 50% !important; border: 0; background: rgba(255, 255, 255, .16); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; display: grid; place-items: center; cursor: pointer; touch-action: manipulation; flex: none; font-size: 0; line-height: 1; }
.ttz-gbfs button.ttz-gbfs-ib svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ttz-gbfs button.ttz-gbfs-ib:disabled { opacity: .35; }
.ttz-gbfs button.ttz-gbfs-ib[hidden] { display: none; }
.ttz-gbfs button.ttz-gbfs-ib:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
/* Blätterpfeile unten: weiß gefüllt mit dunklem Pfeil, damit sie auf jeder Seite gut sichtbar sind */
.ttz-gbfs .ttz-gbfs-bot button.ttz-gbfs-ib[data-d] { width: 52px; height: 52px; background: #fff; color: #0d1214; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 2px 10px rgba(0, 0, 0, .45), 0 0 0 1px rgba(0, 0, 0, .08); transition: transform .15s ease, box-shadow .15s ease; }
.ttz-gbfs .ttz-gbfs-bot button.ttz-gbfs-ib[data-d] svg { width: 24px; height: 24px; stroke-width: 2.6; }
.ttz-gbfs .ttz-gbfs-bot button.ttz-gbfs-ib[data-d]:hover:not(:disabled) { transform: scale(1.08); box-shadow: 0 4px 16px rgba(0, 0, 0, .5), 0 0 0 1px rgba(0, 0, 0, .08); }
.ttz-gbfs .ttz-gbfs-bot button.ttz-gbfs-ib[data-d]:disabled { opacity: .4; box-shadow: none; }
.ttz-gbfs .ttz-gbfs-bot button.ttz-gbfs-ib[data-d]:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.ttz-gbfs .ttz-gbfs-bot { gap: 12px; background: linear-gradient(0deg, rgba(0, 0, 0, .75), rgba(0, 0, 0, 0)); }
.ttz-gbfs .ttz-gbfs-bot .ttz-gbfs-pc { padding: 6px 14px; border-radius: 999px; background: rgba(13, 18, 20, .72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); text-shadow: none; }
@media (prefers-reduced-motion: reduce) { .ttz-gbfs .ttz-gbfs-bot button.ttz-gbfs-ib[data-d] { transition: none; } }
.ttz-gbfs-pc { font: 600 14px 'Open Sans', sans-serif; font-variant-numeric: tabular-nums; min-width: 110px; text-align: center; color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .6); }
.ttz-gbfs-zl { position: absolute; top: calc(64px + env(safe-area-inset-top, 0px)); left: 50%; transform: translateX(-50%); z-index: 5; background: rgba(0, 0, 0, .55); color: #fff; font: 600 12px 'Open Sans', sans-serif; padding: 6px 10px; border-radius: 999px; opacity: 0; transition: opacity .2s; pointer-events: none; }
.ttz-gbfs-zl.on { opacity: 1; }
.ttz-gbfs-track { position: relative; z-index: 1; flex: 1; display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-x; overscroll-behavior: contain; }
.ttz-gbfs-track::-webkit-scrollbar { display: none; }
.ttz-gbfs.zoomed .ttz-gbfs-track { overflow: hidden; scroll-snap-type: none; touch-action: none; }
.ttz-gbfs-slide { flex: 0 0 100%; height: 100%; scroll-snap-align: center; display: grid; place-items: center; overflow: hidden; position: relative; }
.ttz-gbfs-z { transform-origin: 0 0; will-change: transform; display: flex; gap: 0; touch-action: pan-x; }
.ttz-gbfs-slide.spread img { max-width: 50vw; }
.ttz-gbfs-slide.spread img + img { box-shadow: -1px 0 0 rgba(0, 0, 0, .25); }
.ttz-gbfs.zoomed .ttz-gbfs-z { touch-action: none; }
.ttz-gbfs-slide img { display: block; width: auto; height: auto; max-width: 100vw; max-height: 100vh; max-height: 100dvh; margin: 0 !important; user-select: none; -webkit-user-drag: none; background: #fff; }
.ttz-gbfs-slide.wait::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, #1a2226 30%, #263036 50%, #1a2226 70%) 0 0 / 300% 100%; animation: ttzgbf-shimmer 1.6s linear infinite; }
.ttz-gbfs-mini { position: absolute; left: max(14px, env(safe-area-inset-left, 0px)); bottom: calc(78px + env(safe-area-inset-bottom, 0px)); width: 72px; aspect-ratio: 1 / 1.4184; z-index: 5; border-radius: 4px; overflow: hidden; box-shadow: 0 2px 12px rgba(0, 0, 0, .5); opacity: 0; transition: opacity .25s; pointer-events: none; background: #fff; }
.ttz-gbfs-mini img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .9; margin: 0 !important; }
.ttz-gbfs-mini.spread { width: 144px; aspect-ratio: 2 / 1.4184; display: flex; }
.ttz-gbfs-mini.spread img { width: 50%; }
.ttz-gbfs-mini img.second { display: none; }
.ttz-gbfs-mini.spread img.second { display: block; }
.ttz-gbfs-vp { position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 2px solid #c8f255; background: rgba(200, 242, 85, .18); box-shadow: 0 0 0 999px rgba(0, 0, 0, .35); }
.ttz-gbfs.zoomed .ttz-gbfs-mini { opacity: 1; }
.ttz-gbfs-hint { position: absolute; left: 50%; bottom: calc(200px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); background: rgba(0, 0, 0, .55); color: #fff; font: 600 13px 'Open Sans', sans-serif; padding: 8px 14px; border-radius: 999px; z-index: 5; white-space: nowrap; opacity: 0; transition: opacity .4s; pointer-events: none; }
.ttz-gbfs-hint.on { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .ttz-gbfs, .ttz-gbfs-zl, .ttz-gbfs-mini { transition: none; } .ttz-gbfs-slide.wait::before { animation: none; } }

/* Off-Canvas: Seite im Hintergrund weichzeichnen */
body #ajax-content-wrap, body #footer-outer { transition: filter .45s ease; }
body.ttz-ocm-open #ajax-content-wrap, body.ttz-ocm-open #footer-outer { filter: blur(7px) brightness(.78); pointer-events: none; }
@media (prefers-reduced-motion: reduce) { body #ajax-content-wrap, body #footer-outer { transition: none; } }

/* Startseiten-Slider: leichter Zoom auf dem Smartphone (auf dem Bild-Wrapper, damit die Parallaxe von Salient auf .image-bg unberührt bleibt) */
@media (max-width: 690px) {
	.nectar-slider-wrap .swiper-slide { overflow: hidden; }
	.nectar-slider-wrap .swiper-slide .slide-bg-wrap { transform: scale(1) !important; transition: transform 7s cubic-bezier(.2, .6, .3, 1) !important; will-change: transform; }
	.nectar-slider-wrap .swiper-slide.swiper-slide-active .slide-bg-wrap { transform: scale(1.08) !important; }
	.nectar-slider-wrap .swiper-slide .image-bg { transition: none; }
	@media (prefers-reduced-motion: reduce) {
		.nectar-slider-wrap .swiper-slide .slide-bg-wrap { transition: none !important; transform: none !important; }
	}
}

/* Barrierefreiheit: Kontrast und Fokus */
/* Farben des Hauptmenüs kommen aus Salient (Header Navigation), hier nicht überschreiben */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
body:not(.ttz-kbd) a:focus, body:not(.ttz-kbd) button:focus, body:not(.ttz-kbd) [tabindex]:focus { outline: none !important; }
body.ttz-kbd a:focus-visible, body.ttz-kbd button:focus-visible, body.ttz-kbd [tabindex]:focus-visible, body select:focus-visible, body input:focus-visible, body textarea:focus-visible {
	outline: 3px solid var(--nectar-accent-color, #1a739f) !important; outline-offset: 3px;
}
/* Suchfeld im Header: kein Fokusrahmen beim Öffnen über die Lupe (die farbige Unterlinie zeigt den Fokus) */
#search-outer #search input[type="text"]:focus, #search-outer #search input[type="text"]:focus-visible, #search-outer #search input[type="search"]:focus-visible { outline: none !important; }
#footer-outer a:focus-visible { outline-color: #fff !important; }
#header-outer a:focus-visible, #header-outer button:focus-visible { outline-color: currentColor !important; }
.nectar-skip-to-content:focus { position: fixed !important; left: 16px; top: 16px; z-index: 100000; width: auto; height: auto; clip: auto; padding: 12px 18px; background: #fff; color: #1a739f; font-weight: 600; border-radius: 4px; box-shadow: 0 4px 20px rgba(0, 0, 0, .25); }

/* Aktuelles-Kacheln: Bild 3:2, Datum als Label auf dem Bild, Titel max. zwei Zeilen */
.nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item { position: relative; }
.nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item .content, .nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item .item-main { position: static !important; }
.nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item-bg { position: relative; aspect-ratio: 3 / 2; height: auto !important; overflow: hidden; }
.nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item-bg img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item__meta-wrap { position: absolute; top: 14px; left: 14px; z-index: 6; margin: 0; pointer-events: none; }
.nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item .meta-date { display: inline-block; background: rgba(255, 255, 255, .94); color: #1a739f !important; font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 13px; line-height: 1; letter-spacing: .02em; padding: 8px 11px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0, 30, 40, .18); font-variant-numeric: tabular-nums; }
.nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item .post-heading { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item .meta-excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item .item-main > :last-child { margin-bottom: 0; }
@media (max-width: 690px) { .nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid-item .post-heading { -webkit-line-clamp: 3; } }

/* Mikrotypografie */
#ajax-content-wrap, #footer-outer { font-kerning: normal; font-variant-ligatures: common-ligatures; }
#ajax-content-wrap time, #ajax-content-wrap .meta-date, #ajax-content-wrap .em-date, #ajax-content-wrap .em-time, #ajax-content-wrap .event-time, #ajax-content-wrap .ttzk-result b, #ajax-content-wrap table { font-variant-numeric: tabular-nums; }
#ajax-content-wrap .wpb_text_column h2, #ajax-content-wrap .wpb_text_column h3, #ajax-content-wrap .wpb_text_column h4 { padding-bottom: 0; margin-bottom: .55em; }
#ajax-content-wrap .wpb_text_column h2:not(:first-child), #ajax-content-wrap .wpb_text_column h3:not(:first-child), #ajax-content-wrap .wpb_text_column h4:not(:first-child) { margin-top: 1.4em; }
#ajax-content-wrap .wpb_text_column p:last-child { margin-bottom: 0; padding-bottom: 0; }
#ajax-content-wrap .vc_custom_heading { margin-bottom: .55em; }
#ajax-content-wrap p, #ajax-content-wrap li { hyphens: manual; }

/* Druckstil */
@media print {
	@page { margin: 18mm 16mm; }
	html, body { background: #fff !important; color: #000 !important; font-size: 11pt; line-height: 1.45; }
	#header-outer, #header-space, #header-secondary-outer, #footer-outer, #slide-out-widget-area, #slide-out-widget-area-bg, #mobile-menu, .ocm-effect-wrap::before, #to-top, #search-outer, .nectar-skip-to-content, .slide-out-widget-area-toggle, .nectar-slider-wrap, .nectar-social, .nectar-share, #ajax-loading-screen, .BorlabsCookie, #BorlabsCookieBox, #BorlabsCookieWidget, .ttz-ph-modal, .nectar-post-grid-filters, .nectar-post-grid-load-more, .ttz-doerfer-row, .ttz-doerfer, .wpb_row:has(.nectar-slider-wrap), .wpb_row:has(.ttz-doerfer), .nectar_hook_global_section_footer, #page-header-wrap, #page-header-bg, .ttz-karte .finder, .ttz-karte .legend, .ttz-gbf, .ttz-gb-actions, .ttz-gb-link, .nectar-button, .nectar-cta, .wpcf7, form, button, .ttz-tower, iframe, video, .nectar-video-wrap, .row-bg-wrap, .column-image-bg-wrap, .nectar-post-grid-item-bg, .ttz-gb-current-media { display: none !important; }
	#ajax-content-wrap, .container-wrap, .main-content, .container, .wpb_row, .row_col_wrap_12, .wpb_column, .vc_column-inner, .wpb_wrapper { padding: 0 !important; margin: 0 !important; background: transparent !important; width: 100% !important; max-width: none !important; min-height: 0 !important; box-shadow: none !important; }
	.wpb_row, .wpb_column { float: none !important; display: block !important; }
	.wpb_row + .wpb_row { margin-top: 14pt !important; }
	.row_col_wrap_12 { display: block !important; }
	#ajax-content-wrap *, #ajax-content-wrap *::before, #ajax-content-wrap *::after { color: #000 !important; background: transparent !important; box-shadow: none !important; text-shadow: none !important; animation: none !important; transition: none !important; opacity: 1 !important; }
	#ajax-content-wrap :not(svg):not(svg *) { transform: none !important; }
	#ajax-content-wrap .wpb_row:has(.column-link) .wpb_column { margin-bottom: 6pt !important; }
	#ajax-content-wrap .wpb_row:has(.column-link) .wpb_column * { min-height: 0 !important; height: auto !important; padding: 0 !important; margin: 0 !important; }
	#ajax-content-wrap .wpb_row:has(.column-link) h3 { font-size: 11.5pt !important; margin: 0 !important; }
	h1, h2, h3, h4, h5, h6 { page-break-after: avoid; break-after: avoid; }
	h1 { font-size: 22pt !important; } h2 { font-size: 17pt !important; } h3 { font-size: 13.5pt !important; }
	p, li, blockquote, table, figure, .nectar-post-grid-item, .ttz-gb-item { page-break-inside: avoid; break-inside: avoid; orphans: 3; widows: 3; }
	img { max-width: 100% !important; height: auto !important; page-break-inside: avoid; }
	a[href]:not([href^="#"]):not([href^="javascript"]) { text-decoration: underline; }
	.main-content a[href^="http"]:not([href*="evangelische-kirche-ruppichteroth"])::after, .main-content a[href^="mailto:"]::after, .main-content a[href^="tel:"]::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }
	.main-content a[href^="mailto:"]::after { content: " (" attr(href) ")"; }
	.main-content a[href^="tel:"]::after { content: ""; }
	.ttz-karte .layout { padding: 0 !important; background: transparent !important; }
	.ttz-karte .mapbox { max-width: 120mm; margin: 0 auto !important; border: 1px solid #999 !important; }
	.ttz-karte .bnd { fill: #fff !important; stroke: #000 !important; stroke-dasharray: none !important; }
	.ttz-karte .dot { fill: #000 !important; stroke: #fff !important; }
	.ttz-karte .lbl { fill: #000 !important; }
	.ttz-karte .river { stroke: #888 !important; }
	.ttz-karte .pin .badge { fill: #fff !important; stroke: #000 !important; }
	.ttz-karte .pin .ico { color: #000 !important; }
	.ttz-karte .pin .halo, .ttz-karte .route { display: none !important; }
	.nectar-post-grid { display: block !important; }
	.nectar-post-grid-item { width: 100% !important; margin: 0 0 10pt !important; border-bottom: 1px solid #ccc; padding-bottom: 8pt !important; }
	.nectar-post-grid-item__meta-wrap { position: static !important; }
	.nectar-post-grid-item .meta-date { padding: 0 !important; box-shadow: none !important; font-size: 9pt !important; }
	.ttz-gb-current { display: block !important; }
	.ttz-gb-current::after { content: "Den Gemeindebrief als PDF finden Sie auf der Website unter Aktuelles › Gemeindegruß."; display: block; font-size: 9pt; margin-top: 6pt; }
	.screen-reader-text { display: none !important; }
	body::after { content: "Ev. Verwaltungsverband Rheinland-Mitte · Zeughausstraße 7–9 · 53721 Siegburg · Telefon 02241 54 94-0"; display: block; margin-top: 18pt; padding-top: 8pt; border-top: 1px solid #000; font-size: 9pt; }
}

/* Bild-Platzhalter: Durchschnittsfarbe bis zum Laden, kein Springen */
img.ttz-ph { height: auto; }
img.ttz-ph:not([width]) { background: none; }

/* Dörfer-Zahl: weich einblenden, kein Aufblitzen der Endzahl */
.ttz-doerfer .ttz-doerfer__num { opacity: 0; transition: opacity .8s ease; }
.ttz-doerfer .ttz-doerfer__num.is-on { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .ttz-doerfer .ttz-doerfer__num { transition: none; } }

/* Aktuelles-Kacheln: Hover-Unterstreichung am Text statt unter dem ganzen Titelblock (echte Textunterstreichung, auf jeder Zeile gleich) */
.nectar-post-grid[data-hover-effect="animated_underline_zoom"] .nectar-post-grid-item .post-heading { background-image: none !important; }
.nectar-post-grid[data-hover-effect="animated_underline_zoom"] .nectar-post-grid-item .post-heading > span {
	display: inline; background: none; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .18em; text-decoration-skip-ink: none;
	text-decoration-color: transparent; transition: text-decoration-color .45s cubic-bezier(.2, .75, .5, 1), color .45s cubic-bezier(.15, .75, .5, 1);
}
.nectar-post-grid[data-hover-effect="animated_underline_zoom"] .nectar-post-grid-item:hover .post-heading > span,
.nectar-post-grid[data-hover-effect="animated_underline_zoom"] .nectar-post-grid-item:focus-within .post-heading > span { text-decoration-color: currentColor; }
@media (prefers-reduced-motion: reduce) { .nectar-post-grid[data-hover-effect="animated_underline_zoom"] .nectar-post-grid-item .post-heading > span { transition: none; } }

/* ===== Formular „Trauung anfragen": Petrol-Bühne mit Turm (ttz) ===== */
#trauanfrage#trauanfrage.ttz-trau-row { position: relative; color: #fff; background: transparent !important; }
#trauanfrage.ttz-trau-row .row-bg-wrap .row-bg { background: linear-gradient(170deg, #1a739f 0%, #145a7c 60%, #0e3d54 100%) !important; }
#trauanfrage.ttz-trau-row .row-bg-wrap { overflow: hidden !important; }
#trauanfrage.ttz-trau-row .ttz-trau-tower { position: absolute; right: -2%; bottom: -6%; width: min(34vw, 420px); height: auto; opacity: .09; pointer-events: none; z-index: 2; }
#trauanfrage.ttz-trau-row .ttz-trau-tower path { fill: #fff; }
#trauanfrage.ttz-trau-row .row_col_wrap_12 { position: relative; z-index: 1; }
#trauanfrage.ttz-trau-row .wpb_column { width: 100% !important; }
#trauanfrage.ttz-trau-row .wpb_text_column { max-width: 860px; margin-left: auto; margin-right: auto; }
#trauanfrage.ttz-trau-row .ttz-trau-head { text-align: center; max-width: 62ch; margin: 0 auto 30px; }
#trauanfrage.ttz-trau-row .ttz-trau-head .eyebrow { font: 600 12px/1.5 'Open Sans', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #ffffff; margin: 0 0 14px; padding: 0; }
#trauanfrage.ttz-trau-row .ttz-trau-head h2 { font-family: 'Quicksand', sans-serif; font-weight: 600; font-size: clamp(30px, 4vw, 44px); line-height: 1.1; color: #fff !important; margin: 0 0 10px; padding: 0; }
#trauanfrage.ttz-trau-row .ttz-trau-head p { color: rgba(255, 255, 255, .85); margin: 0; padding: 0; }
/* Karte */
#trauanfrage.ttz-trau-row .forminator-custom-form { position: relative; background: #fff; color: #1f2d32; border-radius: 18px !important; padding: clamp(22px, 3.5vw, 46px) !important; box-shadow: 0 30px 70px rgba(0, 30, 40, .35) !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-label, #trauanfrage.ttz-trau-row .forminator-custom-form .forminator-description, #trauanfrage.ttz-trau-row .forminator-custom-form p { color: #1f2d32; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-label { font-weight: 600 !important; font-size: 15px !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-required { color: #e9327a !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-description { color: #5d6f75 !important; font-size: 14px !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-row { margin-bottom: 26px !important; }
/* Schritte: Kreise mit Nummern und Verbindungslinie */
#trauanfrage.ttz-trau-row .forminator-pagination-steps { display: flex !important; align-items: flex-start; justify-content: space-between; position: relative; margin: 0 0 34px !important; padding: 0 !important; counter-reset: ttzstep; }
#trauanfrage.ttz-trau-row .forminator-pagination-steps::before { content: ""; position: absolute; left: 10%; right: 10%; top: 17px; height: 2px; background: #d8e3e6; }
#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-break { display: none !important; }
#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step { position: relative; z-index: 1; flex: 1; display: flex !important; flex-direction: column; align-items: center; gap: 8px; background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; cursor: pointer; counter-increment: ttzstep; font: 600 12px/1.2 'Open Sans', sans-serif !important; color: #5d6f75 !important; text-align: center; height: auto !important; }
#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step::before { content: counter(ttzstep); width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 2px solid #d8e3e6; display: grid; place-items: center; font: 700 14px 'Quicksand', sans-serif; color: #5d6f75; box-sizing: border-box; transition: box-shadow .25s, background .25s; }
#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step.forminator-current { color: #1a739f !important; }
#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step.forminator-current::before { background: #1a739f; border-color: #1a739f; color: #fff; box-shadow: 0 0 0 6px rgba(26, 115, 159, .15); }
#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step.forminator-step-past::before, #trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step[aria-selected="false"].ttz-done::before { border-color: #1a739f; color: #1a739f; }
#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step-dot { display: none !important; }
#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step-label { font: inherit; color: inherit; }
@media (max-width: 600px) {
	#trauanfrage.ttz-trau-row .forminator-pagination-steps { padding-bottom: 26px !important; margin-bottom: 26px !important; }
	#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step { gap: 0; position: static; }
	#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step-label { display: none !important; }
	#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step.forminator-current .forminator-step-label { display: block !important; position: absolute; left: 0; right: 0; bottom: 0; text-align: center; font-size: 13px; }
	#trauanfrage.ttz-trau-row .forminator-pagination-steps .forminator-step.forminator-current .forminator-step-label::before { content: "Schritt " counter(ttzstep) ": "; font-weight: 400; color: #5d6f75; }
	#trauanfrage.ttz-trau-row .forminator-pagination-steps::before { left: 12%; right: 12%; }
	#trauanfrage.ttz-trau-row .ttz-trau-head .eyebrow { font-size: 11px; letter-spacing: .1em; }
	#trauanfrage.ttz-trau-row .ttz-trau-head { margin-bottom: 22px; }
	#trauanfrage.ttz-trau-row .forminator-custom-form { border-radius: 14px !important; padding: 20px 16px !important; }
	#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-pagination-footer { flex-wrap: wrap; }
	#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-button { flex: 1 1 auto; text-align: center; }
	.ttz-trau-trust { gap: 10px 18px; margin-top: 20px; font-size: 12px; }
}
/* Eingabefelder */
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-input::placeholder, #trauanfrage.ttz-trau-row .forminator-custom-form .forminator-textarea::placeholder { color: #8a9a9f !important; opacity: 1; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-input, #trauanfrage.ttz-trau-row .forminator-custom-form .forminator-textarea, #trauanfrage.ttz-trau-row .forminator-custom-form select.forminator-select2 + .select2 .select2-selection { background: #f7f9f9 !important; border: 1px solid #dfe8ea !important; border-radius: 8px !important; color: #1f2d32 !important; font-size: 16px !important; padding: 13px 14px !important; height: auto !important; box-shadow: none !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-input-with-icon .forminator-input { padding-left: 42px !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-input:focus, #trauanfrage.ttz-trau-row .forminator-custom-form .forminator-textarea:focus { outline: 3px solid rgba(26, 115, 159, .35) !important; border-color: #1a739f !important; }
/* Auswahlkacheln statt Radiokreise, Chips für Checkboxen */
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-radio .forminator-field { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-radio .forminator-label { grid-column: 1 / -1; margin-bottom: 0 !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio { position: relative; display: flex !important; gap: 12px; align-items: flex-start; border: 1px solid #d8e3e6; border-radius: 10px; padding: 13px 14px !important; margin: 0 !important; background: #fff; cursor: pointer; transition: border-color .2s, box-shadow .2s, background .2s; font-size: 15px !important; line-height: 1.4 !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; width: 100%; height: 100%; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio .forminator-radio-bullet { flex: none; width: 20px !important; height: 20px !important; border-radius: 50% !important; border: 2px solid #b9c7cb !important; background: #fff !important; margin: 2px 0 0 !important; box-sizing: border-box; transition: border-color .2s, box-shadow .2s; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio .forminator-radio-bullet::before, #trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio .forminator-radio-bullet::after { display: none !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio:hover { border-color: #1a739f; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio:has(input:checked) { border-color: #1a739f; box-shadow: inset 0 0 0 1px #1a739f; background: #f4f8fa; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio:has(input:checked) .forminator-radio-bullet { border-color: #1a739f !important; box-shadow: inset 0 0 0 5px #1a739f; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio:has(input:focus-visible) { outline: 3px solid rgba(26, 115, 159, .35); outline-offset: 2px; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio-label { color: #1f2d32 !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field { display: flex; flex-wrap: wrap; gap: 8px; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-label { flex-basis: 100%; margin-bottom: 2px !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-checkbox:not(.forminator-consent) { position: relative; display: inline-flex !important; align-items: center; border: 1px solid #d8e3e6; border-radius: 999px; padding: 9px 14px !important; margin: 0 !important; font-size: 14px !important; cursor: pointer; background: #fff; transition: background .2s, border-color .2s, color .2s; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-checkbox:not(.forminator-consent) input { position: absolute; inset: 0; opacity: 0; margin: 0; width: 100%; height: 100%; cursor: pointer; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-checkbox:not(.forminator-consent) .forminator-checkbox-box { display: none !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-checkbox:not(.forminator-consent):has(input:checked) { background: #1a739f; border-color: #1a739f; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-checkbox:not(.forminator-consent):has(input:checked) .forminator-checkbox-label { color: #fff !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-checkbox:not(.forminator-consent):has(input:focus-visible) { outline: 3px solid rgba(26, 115, 159, .35); }
/* Einverständnis-Kästchen bleiben klassisch */
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent .forminator-checkbox-box { border-radius: 5px !important; border-color: #b9c7cb !important; }
/* Buttons */
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-pagination-footer { display: flex; justify-content: space-between !important; gap: 14px; margin-top: 10px; border-top: 1px solid #e6edef; padding-top: 22px; }
#trauanfrage.ttz-trau-row .forminator-ui.forminator-custom-form .forminator-button, #trauanfrage.ttz-trau-row .forminator-custom-form .forminator-button { border-radius: 999px !important; font: 600 15px/1 'Open Sans', sans-serif !important; padding: 14px 22px !important; height: auto !important; min-height: 0 !important; border: 2px solid #1a739f !important; background: #1a739f !important; color: #fff !important; box-shadow: none !important; transition: filter .2s; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-button:hover { filter: brightness(.92); }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-button-back { background: #fff !important; color: #1a739f !important; margin-right: auto; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-button.forminator-hidden { display: none !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-button:focus-visible { outline: 3px solid rgba(26, 115, 159, .35) !important; outline-offset: 3px; }
/* Kacheln und Chips als ganze Fläche antippbar (Forminator setzt pointer-events: none auf das Label) */
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio, #trauanfrage.ttz-trau-row .forminator-custom-form .forminator-checkbox, #trauanfrage.ttz-trau-row .forminator-custom-form .forminator-radio *, #trauanfrage.ttz-trau-row .forminator-custom-form .forminator-checkbox * { pointer-events: auto !important; }
/* Kalender über dem Salient-Container halten */
.ui-datepicker.forminator-calendar--default { z-index: 20000000 !important; background: #fff !important; border-radius: 12px !important; box-shadow: 0 16px 40px rgba(0, 30, 40, .25) !important; }
/* Vertrauenszeile */
.ttz-trau-trust { display: flex; gap: 22px; justify-content: center; flex-wrap: wrap; margin: 26px auto 0; padding: 0; font-size: 13px; color: rgba(255, 255, 255, .8); }
.ttz-trau-trust span { display: inline-flex; gap: 8px; align-items: center; }
.ttz-trau-trust svg { width: 16px; height: 16px; stroke: #fff; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ttz-trau-trust a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }

/* ===== Downloads: kompakte Zeilen (ttz) ===== */
a.ttz-dl { display: flex; align-items: center; gap: 14px; padding: 14px 14px 14px 16px; border: 1px solid #dfe8ea; border-radius: 12px; margin: 0; background: #fff; color: #1f2d32 !important; text-decoration: none !important; box-shadow: none !important; transition: border-color .2s, box-shadow .2s, background .2s; }
a.ttz-dl:hover, a.ttz-dl:focus-visible { border-color: #1a739f; box-shadow: 0 6px 18px rgba(20, 90, 124, .12) !important; }
a.ttz-dl:active { background: #f4f8fa; }
body.ttz-kbd a.ttz-dl:focus-visible { outline: 3px solid rgba(26, 115, 159, .4); outline-offset: 2px; }
a.ttz-dl .ttz-dl-ico { flex: none; width: 42px; height: 42px; border-radius: 10px; background: #e8f1f5; display: grid; place-items: center; color: #1a739f; transition: background .2s, color .2s; }
a.ttz-dl:hover .ttz-dl-ico { background: #1a739f; color: #fff; }
a.ttz-dl .ttz-dl-ico svg { width: 22px; height: 22px; display: block; }
a.ttz-dl .ttz-dl-txt { flex: 1; min-width: 0; display: block; }
a.ttz-dl .ttz-dl-t { display: block; font: 600 16px/1.3 'Open Sans', sans-serif; color: #1f2d32; }
a.ttz-dl .ttz-dl-m { display: block; font-size: 12.5px; line-height: 1.4; color: #5d6f75; margin-top: 2px; }
a.ttz-dl .ttz-dl-arr { flex: none; color: #1a739f; transition: transform .2s; }
a.ttz-dl .ttz-dl-arr svg { width: 20px; height: 20px; display: block; }
a.ttz-dl:hover .ttz-dl-arr { transform: translateX(3px); }
a.ttz-dl + a.ttz-dl { margin-top: 12px; }
.inner_row + .inner_row a.ttz-dl:only-child { margin-top: 12px; }
@media (max-width: 690px) { a.ttz-dl { padding: 12px 12px 12px 14px; gap: 12px; } a.ttz-dl .ttz-dl-t { font-size: 15px; } }

/* ===== FAQ-Akkordeon: Salient-Toggles seitenweit (ttz), aktiv nur mit body.ttz-faq (Schalter in ttz Config) ===== */
body.ttz-faq .toggles .toggle { border: 1px solid #dfe8ea !important; border-radius: 12px; background: #fff; margin: 0 0 12px !important; overflow: hidden; transition: border-color .25s, background-color .25s, box-shadow .25s; }
body.ttz-faq .toggles .toggle:hover { border-color: #b9d3d8 !important; }
body.ttz-faq .toggles .toggle.open { border-color: #1a739f !important; background: #f4f8fa; box-shadow: 0 8px 22px rgba(20, 90, 124, .08); }
body.ttz-faq .toggles .toggle > .toggle-title { background: transparent !important; padding: 0 !important; margin: 0 !important; position: relative; border: 0 !important; }
body.ttz-faq .toggles .toggle > .toggle-title a { display: block; padding: 18px 72px 18px 22px !important; font-family: 'Open Sans', sans-serif !important; font-weight: 600 !important; font-size: 17px !important; line-height: 1.4 !important; letter-spacing: 0 !important; color: #1f2d32 !important; text-decoration: none !important; }
body.ttz-faq .toggles .toggle > .toggle-title a::after { display: none !important; }
body.ttz-faq .toggles .toggle > .toggle-title i { position: absolute !important; right: 18px !important; left: auto !important; top: 50% !important; margin: -16px 0 0 !important; width: 32px !important; height: 32px !important; border: 0 !important; border-radius: 50% !important; background: #e8f1f5 !important; font-size: 0 !important; line-height: 0 !important; color: transparent !important; transform: none; transition: background-color .25s, transform .35s cubic-bezier(.2, .7, .2, 1) !important; }
body.ttz-faq .toggles .toggle > .toggle-title i::before, body.ttz-faq .toggles .toggle > .toggle-title i::after { content: "" !important; display: block !important; position: absolute !important; left: 50% !important; top: 50% !important; width: 12px !important; height: 2px !important; margin: -1px 0 0 -6px !important; background: #1a739f !important; border-radius: 2px; opacity: 1 !important; transition: transform .35s cubic-bezier(.2, .7, .2, 1), background-color .25s !important; }
body.ttz-faq .toggles .toggle > .toggle-title i::before { transform: none !important; }
body.ttz-faq .toggles .toggle > .toggle-title i::after { transform: rotate(90deg) !important; }
body.ttz-faq .toggles .toggle:hover > .toggle-title i { background: #d6ecf0 !important; }
body.ttz-faq .toggles .toggle.open > .toggle-title i { background: #1a739f !important; transform: rotate(180deg) !important; }
body.ttz-faq .toggles .toggle.open > .toggle-title i::before, body.ttz-faq .toggles .toggle.open > .toggle-title i::after { background: #fff !important; }
body.ttz-faq .toggles .toggle.open > .toggle-title i::after { transform: rotate(0deg) !important; }
body.ttz-faq .toggles .toggle > [role="region"] .inner-toggle-wrap { padding: 0 72px 20px 22px !important; color: #3d4c51; font-size: 16px; line-height: 1.65; opacity: 0; transition: opacity .25s; }
body.ttz-faq .toggles .toggle.open > [role="region"] .inner-toggle-wrap { opacity: 1; transition-delay: .08s; }
body.ttz-faq .toggles .toggle .inner-toggle-wrap p:last-child, body.ttz-faq .toggles .toggle .inner-toggle-wrap .wpb_content_element:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.ttz-kbd.ttz-faq .toggles .toggle > .toggle-title a:focus-visible { outline: 3px solid rgba(26, 115, 159, .4); outline-offset: -3px; border-radius: 12px; }
@media (max-width: 690px) {
	body.ttz-faq .toggles .toggle > .toggle-title a { font-size: 16px !important; padding: 15px 60px 15px 18px !important; }
	body.ttz-faq .toggles .toggle > .toggle-title i { right: 14px !important; }
	body.ttz-faq .toggles .toggle > [role="region"] .inner-toggle-wrap { padding: 0 18px 18px !important; font-size: 15.5px; }
}
@media (prefers-reduced-motion: reduce) { body.ttz-faq .toggles .toggle, body.ttz-faq .toggles .toggle *, body.ttz-faq .toggles .toggle *::before, body.ttz-faq .toggles .toggle *::after { transition: none !important; } }
@media print { body.ttz-faq .toggles .toggle > [role="region"] { max-height: none !important; } body.ttz-faq .toggles .toggle .inner-toggle-wrap { opacity: 1 !important; } }

/* ===== Einblenden beim Scrollen (ttz) ===== */
.ttz-rv { opacity: 0; transform: translate3d(0, 18px, 0); }
.ttz-rv.ttz-rv-in { opacity: 1; transform: none; transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1) !important; }
@media print { .ttz-rv { opacity: 1 !important; transform: none !important; } }
@media (prefers-reduced-motion: reduce) { .ttz-rv { opacity: 1 !important; transform: none !important; } }

/* ===== Kontaktseite: Gemeindebüro-Karte und Team-Kacheln (ttz) ===== */
.ttz-office { border: 1px solid #dfe8ea; border-radius: 16px; background: #fff; padding: 30px 32px 32px; margin: 0 0 40px; }
.ttz-office-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 20px; }
.ttz-office-head > * { min-width: 0; max-width: 100%; }
.ttz-office h2.ttz-office-nm { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.2; margin: 0 !important; padding: 0 !important; color: #1a739f; }
.ttz-office-st { display: inline-flex; align-items: center; gap: 7px; margin: 0 !important; padding: 6px 13px 6px 12px !important; border-radius: 999px; font-size: 13.5px; line-height: 1.35; font-weight: 600; color: #8a4b00; background: #fdf0dc; }
.ttz-office-st::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: #d98a00; }
.ttz-office-st b { font-weight: 700; }
.ttz-office-st.is-open { color: #1a7f37; background: #e4f5e9; }
.ttz-office-st.is-open::before { background: #1a9f45; }
.ttz-office-body { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; align-items: start; }
.ttz-office-hours { background: #f7f9f9; border-radius: 14px; padding: 18px 22px 16px; }
.ttz-office-hh { margin: 0 0 8px !important; padding: 0 !important; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5d6f75; }
.ttz-office table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 0 !important; border: 0 !important; background: none !important; }
.ttz-office tr { background: none !important; }
.ttz-office td { padding: 6px 0 !important; border: 0 !important; color: #3d4c51; background: none !important; }
.ttz-office td:last-child { text-align: right; white-space: nowrap; }
.ttz-office tr.is-today td { font-weight: 700; color: #1f2d32; }
.ttz-office td.is-closed { color: #8a9a9f; }

/* Platzhalter Kontaktformular: gleiche Karte wie Gemeindebüro */
.ttz-kf > .vc_column-inner { border: 1px solid #dfe8ea !important; border-radius: 16px !important; padding: 30px 32px 32px !important; background: #fff !important; }
.ttz-kf > .vc_column-inner > .border-wrap { display: none !important; }
.ttz-kf h2 { font-size: clamp(22px, 2.2vw, 28px) !important; line-height: 1.2 !important; margin: 0 0 20px !important; padding: 0 !important; }
.ttz-kf .wpb_text_column { margin-bottom: 0 !important; }
.ttz-kf .wpb_text_column + .wpb_text_column > .wpb_wrapper > div[style] { border-radius: 14px !important; padding: 18px 22px !important; border-width: 1.5px !important; }
.ttz-kf-row { padding-top: 0 !important; }

.ttz-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 0 0 18px; }
.ttz-team-tile { border: 1px solid #dfe8ea; border-radius: 16px; overflow: hidden; background: #fff; transition: box-shadow .25s, transform .25s; }
.ttz-team-tile:hover { box-shadow: 0 14px 34px rgba(0, 30, 40, .12); transform: translateY(-2px); }
.ttz-team-img { position: relative; aspect-ratio: 1 / 1; background: #e8f1f5; }
.ttz-team-img img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.ttz-team-init { position: absolute; inset: 0; display: grid; place-items: center; font: 700 44px 'Quicksand', sans-serif; color: #1a739f; }
.ttz-team-ov { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 14px 12px; background: linear-gradient(to top, rgba(0, 30, 40, .8), rgba(0, 30, 40, .45) 55%, rgba(0, 30, 40, 0)); color: #fff; }
.ttz-team .ttz-team-nm { font: 600 17px/1.2 'Open Sans', sans-serif; color: #fff; margin: 0; padding: 0; text-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
.ttz-team-rl { font-size: 13px; line-height: 1.3; margin: 3px 0 0; color: rgba(255, 255, 255, .92); }
.ttz-team-hint { font-size: 14px; color: #5d6f75; margin: 0; }
.ttz-team-hint span { display: block; }
@media (max-width: 999px) { .ttz-team { grid-template-columns: repeat(2, 1fr); gap: 14px; } .ttz-office-body { grid-template-columns: 1fr; gap: 20px; } }
@media (max-width: 690px) {
	.ttz-office, .ttz-kf > .vc_column-inner { padding: 18px 16px 18px !important; }
	.ttz-office { margin-bottom: 24px; }
	.ttz-office h2.ttz-office-nm, .ttz-kf h2 { font-size: 21px !important; }
	.ttz-office-head { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
	.ttz-kf h2 { margin-bottom: 14px !important; }
	.ttz-office-st { display: block; position: relative; padding: 7px 12px 7px 26px !important; border-radius: 12px; }
	.ttz-office-st::before { position: absolute; left: 12px; top: 13px; }
	.ttz-office-hours { padding: 14px 16px; }
	.ttz-office table { font-size: 14px; }
	.ttz-kf .wpb_text_column + .wpb_text_column > .wpb_wrapper > div[style] { padding: 14px 16px !important; }
	.ttz-team { gap: 12px; }
			.ttz-team-hint { font-size: 13px; }
}
/* Gemeindebüro: Kontaktliste (Variante A) */
.ttz-office-list { list-style: none !important; margin: 0 !important; padding: 0 !important; border-top: 1px solid #e6edef; }
.ttz-office-list li { list-style: none !important; margin: 0 !important; padding: 0 !important; border-bottom: 1px solid #e6edef; }
.ttz-office-list li::before { display: none !important; }
.ttz-office-list a { display: flex; align-items: center; gap: 14px; padding: 13px 4px; text-decoration: none !important; color: #1f2d32 !important; box-shadow: none !important; }
.ttz-ol-ico { flex: none; width: 40px; height: 40px; border-radius: 10px; background: #e8f1f5; color: #1a739f; display: grid; place-items: center; transition: background .2s, color .2s; }
.ttz-ol-ico svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ttz-ol-tx { flex: 1; min-width: 0; }
.ttz-ol-k { display: block; font-size: 12.5px; line-height: 1.3; color: #5d6f75; }
.ttz-ol-v { display: block; font-size: 16px; font-weight: 600; line-height: 1.35; color: #1f2d32; overflow-wrap: anywhere; transition: color .2s; }
.ttz-ol-go { flex: none; display: inline-flex; align-items: center; gap: 4px; color: #1a739f; font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.ttz-ol-go svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.ttz-office-list a:hover .ttz-ol-ico { background: #1a739f; color: #fff; }
.ttz-office-list a:hover .ttz-ol-v { color: #1a739f; }
.ttz-office-list a:hover .ttz-ol-go svg { transform: translateX(3px); }
body.ttz-kbd .ttz-office-list a:focus-visible { outline: 3px solid rgba(26, 115, 159, .4); outline-offset: 2px; border-radius: 8px; }
@media (max-width: 690px) { .ttz-ol-go > span { display: none; } .ttz-office-list a { padding: 12px 2px; gap: 12px; } .ttz-ol-v { font-size: 15px; } }

/* Team-Kacheln: Kontaktzeilen (Variante A) */
.ttz-team-head { display: none; }
.ttz-team-rows a { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-top: 1px solid #e6edef; font-size: 14px; line-height: 1.3; color: #1f2d32 !important; text-decoration: none !important; box-shadow: none !important; min-width: 0; transition: background .2s, color .2s; }
.ttz-team-rows a:first-child { border-top: 0; }
.ttz-team-rows a svg { flex: none; width: 16px; height: 16px; stroke: #1a739f; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ttz-team-rows a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ttz-team-rows a:hover { background: #f4f8fa; color: #1a739f !important; }
body.ttz-kbd .ttz-team-rows a:focus-visible { outline: 3px solid rgba(26, 115, 159, .4); outline-offset: -3px; }
.ttz-team-body { border-top: 1px solid #e6edef; }
@media (max-width: 690px) {
	.ttz-team { grid-template-columns: 1fr; gap: 12px; }
	.ttz-team-tile { display: grid; grid-template-columns: 104px 1fr; }
	.ttz-team-tile:hover { transform: none; }
	.ttz-team-img { aspect-ratio: auto !important; height: auto; min-height: 128px; position: relative; overflow: hidden; }
	.ttz-team-img img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
	.ttz-team-ov { display: none; }
	.ttz-team-body { border-top: 0; display: flex; flex-direction: column; min-width: 0; }
	.ttz-team-head { display: block; padding: 11px 12px 8px; }
	.ttz-team-head .ttz-team-nm, .ttz-team .ttz-team-head h3.ttz-team-nm { color: #1f2d32 !important; font: 600 16px/1.25 'Open Sans', sans-serif !important; letter-spacing: 0 !important; text-shadow: none; margin: 0 !important; padding: 0 !important; }
	.ttz-team-head .ttz-team-rl { color: #5d6f75 !important; font-size: 12.5px !important; line-height: 1.35 !important; margin: 2px 0 0 !important; padding: 0 !important; }
	.ttz-team-rows a { padding: 9px 12px; font-size: 13.5px; gap: 8px; border-top: 1px solid #e6edef; }
	.ttz-team-rows a:first-child { border-top: 1px solid #e6edef; }
}

/* iOS-Datenerkennung: falls doch verlinkt, unauffällig und ohne Umbruch */
a[x-apple-data-detectors] { color: inherit !important; text-decoration: none !important; font: inherit !important; display: inline !important; }
.ttz-team-hint { line-height: 1.5; }
.ttz-team-hint span { display: block; margin: 0 0 2px; }

/* ===== Trauformular: Einzel-Checkbox wie Einwilligung, Kreuz als Auswahl, Link-Farbe (ttz) ===== */
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox { display: flex !important; align-items: flex-start; gap: 12px; border: 0 !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; outline: 0 !important; font-size: 15px !important; line-height: 1.5 !important; cursor: pointer; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox .forminator-checkbox-label { color: #1f2d32 !important; margin: 0 !important; padding: 0 !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox .forminator-checkbox-box,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent .forminator-checkbox-box { display: block !important; position: relative !important; flex: none; width: 22px !important; height: 22px !important; min-width: 22px; margin: 1px 0 0 !important; border: 2px solid #b9c7cb !important; border-radius: 5px !important; background: #fff !important; box-shadow: none !important; transition: border-color .2s; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox .forminator-checkbox-box::before,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox .forminator-checkbox-box::after,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent .forminator-checkbox-box::before,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent .forminator-checkbox-box::after { content: "" !important; display: block !important; position: absolute !important; left: 50% !important; top: 50% !important; width: 14px !important; height: 2.4px !important; margin: -1.2px 0 0 -7px !important; padding: 0 !important; border: 0 !important; border-radius: 2px; background: #1a739f !important; font-size: 0 !important; opacity: 0 !important; transform: rotate(45deg) scale(.3); transition: opacity .15s, transform .2s cubic-bezier(.2, .7, .2, 1); }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox .forminator-checkbox-box::after,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent .forminator-checkbox-box::after { transform: rotate(-45deg) scale(.3); }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox:hover .forminator-checkbox-box,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent:hover .forminator-checkbox-box { border-color: #1a739f !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox input:checked + .forminator-checkbox-box,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent input:checked + .forminator-checkbox-box { border-color: #1a739f !important; background: #fff !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox input:checked + .forminator-checkbox-box::before,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent input:checked + .forminator-checkbox-box::before { opacity: 1 !important; transform: rotate(45deg) scale(1); }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox input:checked + .forminator-checkbox-box::after,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent input:checked + .forminator-checkbox-box::after { opacity: 1 !important; transform: rotate(-45deg) scale(1); }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-field-checkbox .forminator-field:has(> label.forminator-checkbox:only-of-type) > label.forminator-checkbox input:focus-visible + .forminator-checkbox-box,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent input:focus-visible + .forminator-checkbox-box { outline: 3px solid rgba(26, 115, 159, .35) !important; outline-offset: 2px; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-has_error .forminator-checkbox-box { border-color: #c0392b !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent__label, #trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent__label p { color: #1f2d32 !important; font-size: 15px !important; line-height: 1.5 !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent__label a { color: #1a739f !important; text-decoration: underline !important; text-underline-offset: 2px; font-weight: 600; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-consent__label a:hover { color: #145a7c !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message { border-radius: 12px !important; padding: 14px 18px !important; margin: 0 0 22px !important; border: 1px solid #dfe8ea !important; background: #f7f9f9 !important; box-shadow: none !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message,
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message * { color: #1f2d32 !important; font-size: 15px; line-height: 1.55; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message.forminator-success { background: #e9f6ee !important; border-color: #b7e3c4 !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message.forminator-success * { color: #14532d !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message.forminator-error { background: #fdecea !important; border-color: #f5c2bc !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message.forminator-error * { color: #8a1c12 !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message a { text-decoration: underline !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-error-message { color: #b42318 !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message.forminator-loading { display: flex !important; align-items: center; gap: 12px; padding: 14px 18px !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message.forminator-loading::before { position: static !important; flex: none; display: inline-block; width: 18px; height: 18px; line-height: 18px !important; text-align: center; font-size: 16px !important; color: #1a739f !important; margin: 0 !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message.forminator-loading p { margin: 0 !important; padding: 0 !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message.forminator-loading { background: #f7f9f9 !important; border-color: #dfe8ea !important; }
#trauanfrage.ttz-trau-row .forminator-custom-form .forminator-response-message.forminator-loading * { color: #1f2d32 !important; }

/* ===== Suchergebnisse: Liste mit Auszügen (ttz) ===== */
.search-results #page-header-bg[data-ttz-sr] .inner-wrap h1 span { color: #1a739f; }
.search-results #page-header-bg[data-ttz-sr] .result-num { display: block; color: #5d6f75; font-size: 15px; }
.ttz-sr-form { display: flex; align-items: center; gap: 8px; max-width: 560px; margin: 18px auto 0; background: #fff; border: 1.5px solid #dfe8ea; border-radius: 999px; padding: 4px 4px 4px 18px; text-align: left; }
.ttz-sr-form:focus-within { border-color: #1a739f; box-shadow: 0 0 0 4px rgba(26, 115, 159, .12); }
.ttz-sr-form svg { flex: none; width: 18px; height: 18px; stroke: #5d6f75; fill: none; stroke-width: 2; stroke-linecap: round; }
.ttz-sr-form input[type="search"] { flex: 1; min-width: 0; margin: 0 !important; padding: 9px 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-size: 15.5px !important; line-height: 1.4 !important; color: #1f2d32 !important; height: auto !important; }
.ttz-sr-form input[type="search"]:focus { outline: none !important; }
.ttz-sr-form button { border: 0 !important; background: #1a739f !important; color: #fff !important; font: 600 14px/1 'Open Sans', sans-serif !important; padding: 11px 18px !important; border-radius: 999px !important; cursor: pointer; margin: 0 !important; }
.ttz-sr-form button:hover { background: #145a7c !important; }
.search-results .container-wrap[data-layout] { padding-top: 8px !important; }
.search-results .container-wrap[data-layout] .main-content { padding-top: 0 !important; }
.ttz-sr { max-width: 980px; margin: 0 auto; }
.ttz-sr-list { display: flex; flex-direction: column; border-top: 1px solid #dfe8ea; }
.ttz-sr-row { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; padding: 20px 6px; border-bottom: 1px solid #dfe8ea; text-decoration: none !important; color: #1f2d32 !important; box-shadow: none !important; transition: background .2s; }
.ttz-sr-row:hover { background: #f4f8fa; }
.ttz-sr-row.has-img { grid-template-columns: 96px 1fr auto; }
.ttz-sr-thumb { width: 96px; height: 72px; border-radius: 10px; object-fit: cover; display: block; }
.ttz-sr-tx { min-width: 0; display: block; }
.ttz-sr-kind { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #145a7c; }
.ttz-sr-kind::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #1a739f; }
.ttz-sr-kind.is-post { color: #8a4b00; }
.ttz-sr-kind.is-post::before { background: #d98a00; }
.ttz-sr-crumb { color: #5d6f75; font-size: 12.5px; }
.ttz-sr-crumb::before { content: "·"; margin: 0 6px; }
.ttz-sr-title { display: block; font: 600 18px/1.3 'Open Sans', sans-serif; color: #1f2d32; margin: 4px 0; transition: color .2s; }
.ttz-sr-row:hover .ttz-sr-title { color: #1a739f; }
.ttz-sr-ex { display: block; color: #5d6f75; font-size: 14.5px; line-height: 1.55; max-width: 70ch; }
.ttz-sr mark { background: #fff3c4; color: inherit; border-radius: 3px; padding: 0 2px; }
.ttz-sr-go { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: #e8f1f5; color: #1a739f; transition: background .2s, color .2s; }
.ttz-sr-go svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ttz-sr-row:hover .ttz-sr-go, .ttz-sr-quick:hover .ttz-sr-go { background: #1a739f; color: #fff; }
body.ttz-kbd .ttz-sr-row:focus-visible, body.ttz-kbd .ttz-sr-quick:focus-visible { outline: 3px solid rgba(26, 115, 159, .4); outline-offset: 2px; border-radius: 8px; }
.search-results .search-result-pagination { max-width: 980px; margin: 28px auto 0; text-align: center; }
/* Keine Treffer */
.ttz-sr-empty { text-align: center; padding: 10px 0 20px; }
.ttz-sr-eico { width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%; background: #e8f1f5; color: #1a739f; display: grid; place-items: center; }
.ttz-sr-eico svg { width: 28px; height: 28px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; }
.ttz-sr-empty h2 { font-size: 24px; line-height: 1.25; margin: 0 0 8px; }
.ttz-sr-empty p { color: #5d6f75; max-width: 52ch; margin: 0 auto; }
.ttz-sr-quicks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 820px; margin: 28px auto 0; text-align: left; }
.ttz-sr-quick { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid #dfe8ea; border-radius: 12px; text-decoration: none !important; color: #1f2d32 !important; box-shadow: none !important; transition: border-color .2s, box-shadow .2s; }
.ttz-sr-quick:hover { border-color: #1a739f; box-shadow: 0 8px 24px rgba(0, 30, 40, .08); }
.ttz-sr-quick .ttz-sr-qt { display: block; font-weight: 600; font-size: 16px; }
.ttz-sr-quick .ttz-sr-qs { display: block; color: #5d6f75; font-size: 13px; }
.ttz-sr-qx { flex: 1; min-width: 0; }
@media (max-width: 690px) {
	.ttz-sr-form button span { display: none; }
	.ttz-sr-form button::before { content: "→"; font-size: 16px; }
	.ttz-sr-form button { padding: 9px 14px !important; }
	.search-results .container-wrap[data-layout] { padding-top: 0 !important; }
	.ttz-sr-row { padding: 16px 2px; gap: 12px; }
	.ttz-sr-row.has-img { grid-template-columns: 72px 1fr auto; }
	.ttz-sr-thumb { width: 72px; height: 56px; }
	.ttz-sr-title { font-size: 16.5px; }
	.ttz-sr-ex { font-size: 14px; }
	.ttz-sr-go { width: 30px; height: 30px; }
	.ttz-sr-quicks { grid-template-columns: 1fr; }
	.ttz-sr-empty h2 { font-size: 21px; }
}

/* ===== Beitragskacheln (Salient Post Grid): keine Bewegung von Bild und Überschrift bei Hover, Tippen und Klick (ttz) ===== */
.nectar-post-grid .nectar-post-grid-item .nectar-post-grid-item-bg-wrap-inner, .nectar-post-grid .nectar-post-grid-item .nectar-post-grid-item-bg, .nectar-post-grid .nectar-post-grid-item:hover .nectar-post-grid-item-bg-wrap-inner, .nectar-post-grid .nectar-post-grid-item:hover .nectar-post-grid-item-bg, .nectar-post-grid .nectar-post-grid-item:active .nectar-post-grid-item-bg-wrap-inner { transition: none !important; transform: none !important; }
.nectar-post-grid .nectar-post-grid-item, .nectar-post-grid .nectar-post-grid-item:active, .nectar-post-grid .nectar-post-grid-item .content, .nectar-post-grid .nectar-post-grid-item .content > *, .nectar-post-grid .nectar-post-grid-item .post-heading, .nectar-post-grid .nectar-post-grid-item .post-heading span, .nectar-post-grid .nectar-post-grid-item .nectar-post-grid-link { transition: none !important; transform: none !important; }
.nectar-post-grid .nectar-post-grid-item .post-heading { background-size: 0 !important; }

/* ===== Ansprechpartner-Karten (Global Section): keine feste Mindesthöhe, gleiche Höhe über Flex (ttz) ===== */
.ansprechpartner-single > .vc_column-inner { min-height: 0 !important; flex: 1 1 auto; }
.wpb_column:has(> .vc_column-inner > .wpb_wrapper > .vc_row > [class*="row_col_wrap_12"] > .ansprechpartner-single) { display: flex; flex-direction: column; }
.wpb_column:has(> .vc_column-inner > .wpb_wrapper > .vc_row > [class*="row_col_wrap_12"] > .ansprechpartner-single) > .vc_column-inner { flex: 1 1 auto; display: flex; flex-direction: column; }
.wpb_column:has(> .vc_column-inner > .wpb_wrapper > .vc_row > [class*="row_col_wrap_12"] > .ansprechpartner-single) > .vc_column-inner > .wpb_wrapper { flex: 1 1 auto; display: flex; flex-direction: column; }
.wpb_column:has(> .vc_column-inner > .wpb_wrapper > .vc_row > [class*="row_col_wrap_12"] > .ansprechpartner-single) > .vc_column-inner > .wpb_wrapper > .vc_row { flex: 1 1 auto; display: flex; }
.wpb_column:has(> .vc_column-inner > .wpb_wrapper > .vc_row > [class*="row_col_wrap_12"] > .ansprechpartner-single) > .vc_column-inner > .wpb_wrapper > .vc_row > [class*="row_col_wrap_12"] { flex: 1 1 auto; display: flex; }
.wpb_column:has(> .vc_column-inner > .wpb_wrapper > .vc_row > [class*="row_col_wrap_12"] > .ansprechpartner-single) > .vc_column-inner > .wpb_wrapper > .vc_row > [class*="row_col_wrap_12"] > .ansprechpartner-single { display: flex; flex-direction: column; }

/* ===== Smartphone: größere Tippfläche für das Menü-Symbol (mind. 44 x 44 px, Symbol bleibt an Ort und Stelle) ===== */
@media only screen and (max-width: 1265px) {
	#header-outer .slide-out-widget-area-toggle a { display: inline-block; padding: 14px 12px; margin: -14px -12px; line-height: 0; }
	#header-outer .slide-out-widget-area-toggle a .lines-button { margin: 0; }
	#header-outer #search-btn a, #header-outer .nectar-mobile-search a { padding: 12px; margin: -12px; }
}

/* ==========================================================================
   EVRM | Footer-Wasserzeichen: Logo des Verwaltungsverbands (hell, statisch)
   Ersetzt den Kirchturm aus dem Salient-Custom-CSS. Animation in functions.php
   (ttz_footer_tower_script) deaktiviert.
   ========================================================================== */
.nectar_hook_global_section_footer .wpb_row.full-width-section > .row-bg-wrap::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 167.32 167.32'%3E%3Cg fill='%23fff'%3E%3Cpath d='M99.82,86.84c-11.49,2.11-22.32,5.81-32.21,11-7.62-13.04-19.23-27.92-41.4-35.16.7-1.92,1.49-3.8,2.37-5.62,8.88-5.2,19.63-11.33,20.9-11.33,1.95,0,40.91,33.08,50.34,41.11Z'/%3E%3Cpath d='M165.99,68.71h0c-5.4.78-10.78,1.8-15.99,3.04-5.62-31.53-33.18-55.46-66.33-55.46-29.25,0-54.15,18.64-63.46,44.69-.12-.03-.25-.06-.38-.09-4.84-1.15-10.19-1.970-15.95-2.45C14.57,24.56,46.25,0,83.66,0c41.1,0,75.28,29.64,82.330,68.71Z'/%3E%3Cpath d='M116.78,160.51c-10.16,4.39-21.35,6.81-33.12,6.81-9.82,0-19.24-1.69-27.99-4.8,4.21-4.43,7.37-9.49,9.35-14.1,2.47-5.75,3.08-10.81,1.55-13.11-.93-1.4-2.98-3.88-7.37-5.85-4.39-1.97-7.830-3.2-8.02-8.6-.14-4.05,6.51-9.56,12.63-13.56h0c2.05-1.35,4.04-2.52,5.7-3.41,7.31-3.94,18.34-8.73,33.17-11.22-6.74,2.9-22.63,11.13-22.4,20.1.04,1.67.59,3.06,1.43,4.56,5.45,9.76,16.35,6.57,33.4,19.42,2.15,1.62,3.5,2.75,4.44,3.94.47.59.83,1.19,1.14,1.87,2.07,4.56.16,12.25-3.91,17.95Z'/%3E%3Cpath d='M167.32,83.66c0,28.24-14,53.22-35.43,68.37.19-3.88-.25-8.83-2.72-13.67-.59-1.16-1.27-2.24-2-3.25-4.98-6.82-12.81-10.66-19.77-13.36-8.23-3.2-17.42-2.59-19.02-9.47-2.05-8.8,25.36-20.3,31.05-23.08,7.56-3.68,18.02-7.99,31.37-11.24,4.95-1.2,10.31-2.26,16.07-3.09.3,2.89.46,5.82.46,8.79Z'/%3E%3Cpath d='M57.17,136.7c.32,1.73-.44,4.6-2.15,7.96-2.05,4.04-5.48,8.8-10.060,13.19C18.24,143.89,0,115.9,0,83.66c0-6.57.76-12.97,2.19-19.11,6.02.44,11.38,1.24,16.18,2.39,22.68,5.41,35.22,18.7,44.92,35.9-2.58,1.54-5.59,3.13-7.33,4.35-4.55,3.19-11.9,8.42-10.71,16.1,1.07,6.92,10.81,7.44,11.92,13.41Z'/%3E%3Cpath d='M121.19,42.07v8.83h-15.09v33.12l-.2-.17c-.06-.05-3.4-2.91-8.35-7.1v-25.85h-14.97v-8.83h14.97v-17.94c2.93.69,5.79,1.6,8.55,2.71v15.23h15.09Z'/%3E%3C/g%3E%3C/svg%3E");
	background-position: center top;
	background-size: contain;
	background-repeat: no-repeat;
	top: 40px;
	right: 3%;
	width: 280px;
	height: 280px;
	opacity: .1;
}
@media (max-width: 999px) {
	.nectar_hook_global_section_footer .wpb_row.full-width-section > .row-bg-wrap::after { width: 220px; height: 220px; right: 2%; }
}
@media (max-width: 690px) {
	.nectar_hook_global_section_footer .wpb_row.full-width-section > .row-bg-wrap::after { top: auto; bottom: -30px; right: -20px; width: 170px; height: 170px; }
}

/* ==========================================================================
   EVRM | Beiträge: Zwischenüberschriften bündig mit der Textspalte
   Das Salient-Custom-CSS rückt p, ul und ol in Beiträgen ab 1000 px ein
   (translateX 20 %), ttz-typo begrenzt sie auf min(72ch, 100 %).
   Überschriften im Textblock bekommen dieselbe Spalte. Die Spaltenbreite wird
   per @property in der Schrift des Textblocks berechnet, damit „ch“ nicht von
   der größeren Überschriftenschrift abhängt.
   ========================================================================== */
@property --evrm-measure {
	syntax: '<length>';
	inherits: true;
	initial-value: 0px;
}
.single-post .main-content .wpb_text_column { --evrm-measure: 72ch; }
@media (min-width: 1000px) {
	.single-post .main-content .wpb_text_column h2,
	.single-post .main-content .wpb_text_column h3,
	.single-post .main-content .wpb_text_column h4,
	.single-post .main-content .wpb_text_column h5,
	.single-post .main-content .wpb_text_column h6 {
		max-width: min(var(--evrm-measure), 100%);
		transform: translateX(20%);
	}
}
