/*
 * Zermatt Apartment Verein (Block-Theme)
 * Werte gemessen am Elementor-Original (07.11.2026). Elementor-Breakpoints: Tablet <= 1024 px, Handy <= 767 px.
 * Icons: Font Awesome Free 5 (CC BY 4.0), als CSS-Maske.
 */

:root {
	--zav-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z'/%3E%3C/svg%3E");
	--zav-icon-ort: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E");
	--zav-icon-pfeil: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z'/%3E%3C/svg%3E");
	--zav-schatten-kopf: 0 5px 30px 0 rgba(0, 0, 0, 0.1);
}

/* ---------- Grundgerüst ---------- */

body {
	margin: 0;
}

.zav-main {
	margin: 0;
}

/* WP setzt zwischen Blöcken im Inhalt einen Abstand, Elementor-Sektionen stossen aneinander. */
.zav-main > .wp-block-post-content > * {
	margin-block: 0;
}

/* Absätze wie Hello Elementor */
.zav-main p {
	margin: 0 0 0.9rem;
}

.zav-main :where(h1, h2, h3, h4, h5, h6) {
	margin: 0.5rem 0 1rem;
}

/* Kopf, Inhalt und Fuss stossen aneinander (WP setzt sonst den Blockabstand dazwischen). */
.wp-site-blocks > * {
	margin-block: 0;
}

/* ---------- Kopfzeile ---------- */

header.wp-block-template-part {
	display: contents;
}

.zav-kopf {
	position: sticky;
	top: 0;
	z-index: 99;
	box-shadow: var(--zav-schatten-kopf);
}

.admin-bar .zav-kopf {
	top: var(--wp-admin--admin-bar--height, 32px);
}

.zav-topbar {
	background: var(--wp--preset--color--header);
	padding: 12px;
}

.zav-kopf .zav-topbar__innen {
	max-width: 1200px;
	margin: 0 auto;
	gap: 10px;
	min-height: 31px;
}

.zav-kopf .zav-topbar__kontakt {
	gap: 0 30px;
}

.zav-kopf .zav-topbar__kontakt p {
	margin: 0;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 300;
	line-height: 21px;
}

.zav-icon {
	display: inline-flex;
	align-items: center;
}

.zav-icon::before {
	content: "";
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin-right: 10px;
	background: currentColor;
	-webkit-mask: var(--zav-icon) center / contain no-repeat;
	mask: var(--zav-icon) center / contain no-repeat;
}

.zav-icon--mail {
	--zav-icon: var(--zav-icon-mail);
}

.zav-icon--ort {
	--zav-icon: var(--zav-icon-ort);
}

.zav-kopf .zav-topbar__rechts {
	gap: 15px;
}

/* Suche: Lupe öffnet ein Vollbild-Suchfeld wie im Original («full screen») */
.zav-suche .wp-block-search__button {
	background: transparent;
	color: #FFFFFF;
	border: 0;
	padding: 0;
	margin: 0;
	width: 31px;
	height: 31px;
	min-width: 31px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.zav-suche .wp-block-search__button svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
	min-width: 18px;
	min-height: 18px;
}

.zav-suche .wp-block-search__button:hover,
.zav-suche .wp-block-search__button:focus {
	color: var(--wp--preset--color--accent);
	background: transparent;
}

.zav-suche .wp-block-search__inside-wrapper {
	border: 0;
	padding: 0;
	background: transparent;
}

.zav-suche:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	position: fixed;
	z-index: 1000;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	padding: 0 15% !important;
	background: rgba(0, 0, 0, 0.8);
	color: #FFFFFF;
	border: 0;
	font-size: 40px;
	font-weight: 300;
	font-family: var(--wp--preset--font-family--montserrat);
	outline: none;
	background-clip: content-box;
	box-shadow: inset 0 -1px 0 0 rgba(255, 255, 255, 0.5);
}

.zav-suche:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	background: rgba(0, 0, 0, 0.8);
	background-clip: border-box;
	box-shadow: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

/* Social Icons */
.zav-social.wp-block-social-links {
	gap: 15px;
	margin: 0;
	padding: 0;
}

.zav-social.wp-block-social-links .wp-social-link {
	font-size: 18px;
}

.zav-social.wp-block-social-links .wp-social-link a {
	padding: 0;
}

.zav-social.wp-block-social-links .wp-social-link svg {
	width: 18px;
	height: 18px;
}

.zav-social--kopf.wp-block-social-links .wp-social-link a:hover {
	color: var(--wp--preset--color--accent);
}

.zav-social--kopf .wp-social-link:hover {
	transform: none;
}

/* Hauptleiste */
.zav-hauptleiste {
	background: #FFFFFF;
	padding: 15px 12px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
}

.zav-kopf .zav-hauptleiste__innen {
	max-width: 1200px;
	margin: 0 auto;
	gap: 10px;
}

.zav-kopf .zav-logo {
	flex: 0 0 132px;
	margin: 0;
}

.zav-kopf .zav-logo img {
	width: 132px;
	height: 75px;
	object-fit: contain;
}

.zav-kopf > * {
	margin-block: 0;
}

.zav-suche.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper {
	height: 31px;
}

.zav-suche.wp-block-search__searchfield-hidden .wp-block-search__input {
	height: 0;
	padding: 0;
	border: 0;
}

/* WordPress gibt die Klasse des Navigationsblocks auch an die innere Liste weiter: nur das nav-Element meinen. */
.zav-kopf nav.zav-nav {
	flex: 0 1 68.364%;
	font-size: 16px;
	font-weight: 400;
	color: var(--wp--preset--color--text);
	gap: 50px;
}

.zav-kopf .zav-nav .wp-block-navigation__container {
	gap: 50px;
}

.zav-kopf .zav-nav a {
	color: var(--wp--preset--color--text);
	line-height: 20px;
	white-space: nowrap;
}

.zav-kopf .zav-nav a:hover,
.zav-kopf .zav-nav .current-menu-item > a,
.zav-kopf .zav-nav a[aria-current="page"] {
	color: var(--wp--preset--color--primary);
}

/* Handy-Menü in den Farben des Elementor-Menüs: Hamburger und Menüpunkte #16163F, Hover und aktiv Primär.
   Nur Farben, kein display auf dem Hamburger (WordPress blendet ihn ab 600 px selbst aus). */
.zav-kopf .zav-nav .wp-block-navigation__responsive-container-open,
.zav-kopf .zav-nav .wp-block-navigation__responsive-container-close,
.zav-kopf .zav-nav .wp-block-navigation__responsive-container.is-menu-open,
.zav-kopf .zav-nav .wp-block-navigation__responsive-container.is-menu-open a {
	color: #16163F;
}

.zav-kopf .zav-nav .wp-block-navigation__responsive-container.is-menu-open a:hover,
.zav-kopf .zav-nav .wp-block-navigation__responsive-container.is-menu-open a[aria-current="page"] {
	color: var(--wp--preset--color--primary);
}

.zav-kopf .zav-kopf__button {
	margin: 0;
}

/* Button mit Pfeil (Kopfzeile «Mitglied werden») */
.wp-block-button.is-style-zav-pfeil .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: var(--wp--preset--color--secondary);
	color: #FFFFFF;
	font-size: 16px;
	font-weight: 400;
	line-height: 16px;
	padding: 12px 24px;
	border-radius: 0;
	text-transform: capitalize;
	transition: transform 0.3s, background-color 0.3s;
}

.wp-block-button.is-style-zav-pfeil .wp-block-button__link::after {
	content: "";
	width: 14px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--zav-icon-pfeil) center / contain no-repeat;
	mask: var(--zav-icon-pfeil) center / contain no-repeat;
}

.wp-block-button.is-style-zav-pfeil .wp-block-button__link:hover,
.wp-block-button.is-style-zav-pfeil .wp-block-button__link:focus {
	background: var(--wp--preset--color--primary);
	color: #FFFFFF;
	transform: scale(1.1);
}

/* ---------- Überschrift «Titel» (Elementor-Überschrift-Widget: Primärschrift 600, Violett, Zeilenhöhe 1) ---------- */

.wp-block-heading.is-style-zav-titel {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	line-height: 1;
}

/* ---------- Slider (Elementor «Slides») ---------- */

.is-style-zav-slider {
	position: relative;
	overflow: hidden;
}

.is-style-zav-slider > .zav-slider__spur {
	display: flex;
	transition: transform 0.5s ease;
}

.is-style-zav-slider .wp-block-cover.zav-slide {
	flex: 0 0 100%;
	min-height: 65vh;
	padding: 50px;
	margin: 0;
}

.is-style-zav-slider .zav-slide .wp-block-cover__inner-container {
	max-width: 66%;
	text-align: center;
	color: #FFFFFF;
}

.is-style-zav-slider .zav-slide h2 {
	color: #FFFFFF;
	font-size: 35px;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 30px;
}

.is-style-zav-slider .zav-slide p {
	color: #FFFFFF;
	font-size: 17px;
	line-height: 1.4;
	margin: 0 0 30px;
}

.is-style-zav-slider .zav-slide .wp-block-buttons {
	justify-content: center;
}

.wp-block-button.is-style-zav-kontur .wp-block-button__link {
	background: transparent;
	color: #FFFFFF;
	border: 2px solid #FFFFFF;
	border-radius: 3px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	padding: 12px 24px;
}

/* Ganze Slide ist ein Link (Elementor «link_click: slide») */
.is-style-zav-slider .zav-slide .wp-block-button__link::after {
	content: "";
	position: absolute;
	inset: 0;
}

.zav-slider__pfeil {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 25px;
	height: 25px;
	margin-top: -12px;
	border: 0;
	padding: 0;
	background: transparent;
	color: rgba(238, 238, 238, 0.9);
	cursor: pointer;
	font-size: 25px;
	line-height: 1;
}

.zav-slider__pfeil--zurueck {
	left: 10px;
}

.zav-slider__pfeil--weiter {
	right: 10px;
}

.zav-slider__pfeil svg {
	width: 25px;
	height: 25px;
	fill: currentColor;
}

.zav-slider__punkte {
	position: absolute;
	bottom: 5px;
	left: 0;
	right: 0;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 12px;
}

.zav-slider__punkte button {
	width: 6px;
	height: 6px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #FFFFFF;
	opacity: 0.2;
	cursor: pointer;
}

.zav-slider__punkte button[aria-current="true"] {
	opacity: 1;
}

/* ---------- Sektionen (Elementor-Container: boxed 1200 px, 10 px Innenabstand) ---------- */

.zav-mitte {
	text-align: center;
}

.zav-sektion {
	padding: 10px;
}

.zav-sektion > .zav-sektion__innen {
	max-width: 1200px;
	margin: 0 auto;
}

.zav-main > .wp-block-post-content > .zav-news {
	margin: 5% 0 10%;
}

.zav-news .zav-sektion__innen > .wp-block-heading {
	margin: 0 0 40px;
}

/* ---------- Beitragskarten (Elementor «Posts», Skin Classic) ---------- */

.zav-karten .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 35px 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.zav-karten .wp-block-post {
	background: var(--wp--preset--color--background);
	padding: 5%;
	margin: 0;
}

.zav-karten .wp-block-post-featured-image {
	margin: 0 0 20px;
}

.zav-karten .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 250 / 165;
	object-fit: cover;
}

.zav-karten .wp-block-post-title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 7px;
}

.zav-karten .wp-block-post-title a {
	color: var(--wp--preset--color--secondary);
}

.zav-karten .wp-block-read-more {
	display: block;
	font-size: 12px;
	font-weight: 500;
	line-height: 15px;
	margin-bottom: 3px;
	color: var(--wp--preset--color--primary);
}

/* ---------- Fusszeile ---------- */

.zav-fuss {
	background: var(--wp--preset--color--footer);
	padding: 0 8%;
}

.zav-fuss .zav-fuss__innen {
	max-width: 1200px;
	margin: 0 auto;
	padding: 5% 0;
}

.zav-fuss .zav-fuss__spalten {
	gap: 0;
	margin: 0;
}

.zav-fuss .zav-fuss__spalten.wp-block-columns > .wp-block-column {
	flex: 0 0 33%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.zav-fuss .zav-fuss__spalten.wp-block-columns > .zav-fuss__verein {
	padding-right: 10%;
	gap: 0;
}

.zav-fuss .wp-block-column > * {
	margin-block: 0;
}

.zav-fuss .wp-block-column > .zav-fuss__logo {
	width: 70%; /* Elementor-Bildbox: Bild 70 % der Boxbreite */
	margin: 0 0 26px;
}

.zav-fuss .zav-fuss__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.zav-fuss p {
	margin: 0;
}

.zav-fuss .zav-fuss__beschreibung {
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5;
}

.zav-fuss .zav-fuss__titel {
	margin: 0;
	overflow-wrap: normal; /* wie Elementor: ein zu langes Wort steht über, statt umzubrechen */
	word-break: normal;
	hyphens: manual;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--ink);
	text-transform: capitalize;
}

.zav-fuss nav.zav-fuss__nav {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5;
	gap: 10px;
}

.zav-fuss .zav-fuss__nav .wp-block-navigation__container {
	gap: 10px;
}

.zav-fuss .zav-fuss__nav a {
	color: var(--wp--preset--color--text);
}

.zav-fuss .zav-fuss__nav a:hover {
	color: var(--wp--preset--color--primary);
}

.zav-fuss .wp-block-column > .zav-fuss__adresse {
	margin-bottom: -2px;
}

.zav-fuss .zav-fuss__mail {
	line-height: 24px; /* Elementor-Iconliste: Zeilenhöhe bleibt auch bei 14 px Schrift */
}

.zav-fuss .zav-fuss__mail a {
	color: var(--wp--preset--color--text);
}

.zav-social--fuss.wp-block-social-links {
	gap: 20px;
}

.zav-social--fuss.wp-block-social-links .wp-social-link svg {
	width: 23px;
	height: 23px;
}

.zav-copyright {
	background: var(--wp--preset--color--header);
	min-height: 45px;
	padding: 0 8%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.zav-copyright p {
	margin: 0;
	text-align: center;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5;
}

.zav-copyright a,
.zav-copyright a:hover {
	color: #FFFFFF;
}

/* ---------- Elementor-Widgets im Stapel: Ränder wie im Original (Flex-Element, nichts fällt zusammen) ---------- */

/* Wie Elementor: Ein Widget wird nie breiter als seine Spalte, auch wenn ein langes Wort hinausragt. */
.zav-main .zav-widget {
	min-width: 0;
	max-width: 100%;
}

/* Datenschutz-Titel: der Absatzabstand bleibt in der Sektion (Elementor-Widget ist ein Flex-Element). */
.zav-ds-kopf {
	display: flow-root;
}

.zav-main .zav-widget > p {
	margin: 0 0 0.9rem;
}

.zav-main .zav-widget > :where(h1, h2, h3, h4, h5, h6) {
	margin: 0.5rem 0 1rem;
}

/* ---------- Textseiten (Elementor-Container mit 5 % Innenabstand) ----------
 * Elementor rechnet den Innenabstand oben und unten von der inneren Breite (90 %): 5 % davon = 4.5 % der Seite. */

.zav-textseite {
	padding: 4.5% 5%;
}

.zav-textseite > .zav-textseite__innen {
	max-width: 1200px;
	margin: 0 auto;
}

/* ---------- Elementor-Button mit Icon (15 px, Radius 3 px, Icon links, 14 px Abstand) ---------- */

.wp-block-button[class*="is-style-zav-icon"] .wp-block-button__link,
.wp-block-button.is-style-zav-pdf .wp-block-button__link,
.wp-block-button.is-style-zav-suche .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	background: var(--wp--preset--color--secondary);
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 400;
	line-height: 15px;
	padding: 12px 24px;
	border-radius: 3px;
}

.wp-block-button.is-style-zav-pdf .wp-block-button__link::before,
.wp-block-button.is-style-zav-suche .wp-block-button__link::before {
	content: "";
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--zav-icon) center / contain no-repeat;
	mask: var(--zav-icon) center / contain no-repeat;
}

.wp-block-button.is-style-zav-pdf {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z'/%3E%3C/svg%3E");
}

.wp-block-button.is-style-zav-suche {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z'/%3E%3C/svg%3E");
}

.wp-block-button.is-style-zav-pdf .wp-block-button__link:hover,
.wp-block-button.is-style-zav-suche .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	color: #FFFFFF;
}

/* ---------- Inhaltsseiten: grosser Titel, leichter Text, hohe Bilder ---------- */

.zav-main .wp-block-heading.zav-grosstitel {
	margin: 0;
	font-size: 65px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--secondary);
}

.zav-main .zav-leicht > p {
	font-weight: 300;
}

.zav-main .zav-widget > :where(ol, ul) {
	margin: 0;
	padding-left: 40px;
}

.zav-main li.zav-li-p {
	margin-bottom: 0.9rem;
}

.zav-main .wp-block-image.zav-bild-hoch {
	margin: 0;
}

.zav-main .wp-block-image.zav-bild-hoch img {
	display: block;
	width: 100%;
	height: 500px;
	object-fit: cover;
}

.zav-main .wp-block-image.zav-bild-hoch--rechts img {
	object-position: 100% 50%;
}

/* ---------- Zweispaltige Abschnitte (Elementor-Container volle Breite, 12 % Rand, 15 % Abstand) ---------- */

.zav-main > .wp-block-post-content > .zav-zweispalter {
	margin: 10% 0;
	padding: 0 12%;
}

.zav-main > .wp-block-post-content > .zav-zweispalter--m12 {
	margin: 12% 0 10%;
}

.zav-zweispalter > .zav-zweispalter__innen {
	gap: 15%;
	align-items: stretch;
}

.zav-zweispalter--zentriert > .zav-zweispalter__innen {
	align-items: center;
}

.zav-zweispalter .zav-zweispalter__innen > .zav-zweispalter__spalte {
	flex: 0 1 50%;
	min-width: 0;
	gap: 15px;
}

/* Erster Abschnitt «Über uns»: linke Spalte ohne Abstand, senkrecht zentriert */
.zav-zweispalter--mitte-links .zav-zweispalter__innen > .zav-zweispalter__spalte:first-child {
	gap: 0;
	justify-content: center;
}

.zav-zweispalter--mitte-links .zav-zweispalter__innen > .zav-zweispalter__spalte:last-child {
	gap: 0;
	justify-content: center;
}

/* ---------- Personenraster (Elementor-Grid, Image-Box) ---------- */

.zav-rastertitel {
	padding: 0 5%;
}

.zav-raster {
	padding: 5% 0 10%;
}

.zav-raster > .zav-raster__innen {
	max-width: 1200px;
	margin: 0 auto;
	gap: 20px;
}

.zav-person {
	text-align: center;
}

.zav-main .zav-person > .zav-person__bild {
	margin: 0 auto 24px;
	width: 55%;
}

.zav-person__bild a {
	display: block;
}

.zav-person__bild img {
	display: block; /* wie Elementor: links in der 55-%-Box, Breite aus dem width-Attribut, höchstens 100 % */
	max-width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 100px;
}

.zav-main .zav-person > .zav-person__name {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--primary);
}

.zav-main .zav-person > .zav-person__funktion {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

/* ---------- Mitgliedschaft (Seite 184) ---------- */

.zav-main .wp-block-heading.zav-mittel-titel {
	margin: 0;
	font-size: 50px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--secondary);
}

.wp-block-button.is-style-zav-gross .wp-block-button__link {
	background: var(--wp--preset--color--secondary);
	color: #FFFFFF;
	border: 1px solid var(--wp--preset--color--secondary);
	border-radius: 3px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	padding: 16px 55px;
}

.wp-block-button.is-style-zav-gross .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}

/* Bildcollage mit Aufruf */
.zav-hero {
	padding: 0 3%;
}

.zav-hero > .zav-hero__innen {
	max-width: 1200px;
	min-height: 70vh;
	margin: 0 auto;
	align-items: center;
}

.zav-hero .zav-hero__innen > .zav-collage__bilder {
	flex: 0 0 55%;
	gap: 20px;
}

.zav-hero .zav-collage__bilder > .zav-collage__spalte {
	flex: 1 1 0;
	min-width: 0;
	gap: 25px;
}

.zav-main .wp-block-image.zav-collage {
	margin: 0;
}

.zav-main .wp-block-image.zav-collage img {
	display: block;
	width: 100%;
	object-fit: cover;
}

.zav-main .wp-block-image.zav-collage--gross img {
	height: 280px;
}

.zav-main .wp-block-image.zav-collage--klein {
	width: 45%;
}

.zav-main .wp-block-image.zav-collage--klein img {
	height: 160px;
}

.zav-main .zav-collage__spalte > .wp-block-image.zav-collage--rechts {
	margin-left: auto;
}

.zav-hero .zav-hero__innen > .zav-aufruf {
	flex: 0 0 40%;
	gap: 15px;
}

.zav-hero .zav-aufruf > .zav-aufruf__text {
	box-sizing: border-box;
	padding-right: 20%;
}

.zav-main .zav-aufruf__text > p {
	font-size: 22px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--wp--preset--color--secondary);
}

/* Vorteile (Icon-Boxen) */
.zav-vorteile {
	background: var(--wp--preset--color--background);
	/* Elementor-Box: Inhalt höchstens 1200 px, senkrechte 8 % aber von der ungekappten Innenbreite (94 %). */
	padding: 7.52% max(3%, calc((100% - 1200px) / 2));
}

.zav-main .zav-vorteile > .wp-block-heading.zav-grosstitel {
	margin: 0 0 50px;
}

.zav-vorteile > .zav-vorteile__reihe {
	max-width: 1200px;
	margin: 0 auto;
	align-items: flex-start;
}

.zav-vorteile .zav-vorteile__reihe > .zav-vorteil {
	flex: 0 0 13.76%;
	position: relative;
	padding-top: 113px;
	text-align: center;
}

.zav-vorteil::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 85px;
	height: 85px;
	margin-left: -42.5px;
	background: #FFFFFF;
	border-radius: 12px;
}

.zav-vorteil::after {
	content: "";
	position: absolute;
	top: 20px;
	left: 50%;
	width: 45px;
	height: 45px;
	margin-left: -22.5px;
	background: #C8D5DC;
	-webkit-mask: var(--zav-icon) center / contain no-repeat;
	mask: var(--zav-icon) center / contain no-repeat;
}

.zav-vorteil--credit-card {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z'/%3E%3C/svg%3E");
}

.zav-vorteil--cloud-download-alt {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z'/%3E%3C/svg%3E");
}

.zav-vorteil--desktop {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z'/%3E%3C/svg%3E");
}

.zav-vorteil--book-reader {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z'/%3E%3C/svg%3E");
}

.zav-main .zav-vorteil > .zav-vorteil__titel {
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--secondary);
}

.zav-main .zav-vorteil > .zav-vorteil__text {
	margin: 0;
	font-weight: 300;
}

/* Mitglieder-Stimmen */
.zav-main > .wp-block-post-content > .zav-stimmen-sektion {
	margin: 12% 0 0;
}

.zav-stimmen-sektion {
	min-height: 500px;
	padding-right: 5%;
	gap: 0;
}

.zav-stimmen-sektion > .zav-stimmen-box {
	flex: 0 0 35%;
	box-sizing: border-box;
	padding: 100px 50px;
	background: var(--wp--preset--color--background);
}

.zav-stimmen-sektion > .zav-stimmen {
	flex: 0 0 50%;
	display: grid;
}

.zav-stimmen > .zav-stimme {
	margin: 0; /* übereinander im Raster: kein Blockabstand von WordPress */
}

.zav-stimme {
	grid-area: 1 / 1;
	padding: 11px;
	font-family: -apple-system, "system-ui", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	transition: opacity 2s ease;
}

.zav-js .zav-stimme:not(.ist-aktiv) {
	opacity: 0;
	visibility: hidden;
}

.zav-main .zav-stimme__text > p {
	margin: 0 0 0.9rem;
	font-size: 16px;
	font-style: italic;
	line-height: 1.5;
	color: #383737;
}

.zav-main .zav-stimme > .zav-stimme__wer {
	margin: 0;
	font-size: 14.4px;
	line-height: 1.75;
	color: #272727;
}

.zav-stimme__firma {
	font-weight: 100;
}

.zav-main .zav-stimme > .zav-stimme__bild {
	margin: 10px 0 0;
	max-width: 25%; /* wie Essential Addons: ein Viertel der Breite, höchstens Originalgrösse */
}

.zav-stimme__bild img {
	display: block;
	width: 100%;
	max-width: 150px;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
}

/* Preistabellen */
.zav-main > .wp-block-post-content > .zav-preise {
	margin: 12% 0 0;
}

.zav-preise {
	padding: 0 max(3%, calc((100% - 1200px) / 2));
	align-items: stretch;
	scroll-margin-top: 160px;
}

.zav-preise > .zav-preis {
	flex: 0 0 47.52%;
	display: flex;
	flex-direction: column;
	background: #F9FAFD;
}

.zav-preis > .zav-preis__kopf {
	background: var(--wp--preset--color--secondary);
	padding: 15px 10px;
}

.zav-main .zav-preis__kopf > .zav-preis__titel {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: #FFFFFF;
	text-align: center;
}

.zav-main .zav-preis > .zav-preis__betrag {
	margin: 0;
	padding: 40px 0;
	height: 29px;
	box-sizing: content-box;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--wp--preset--color--secondary);
}

.zav-preis__zahl {
	font-size: 36px;
	font-weight: 600;
}

.zav-preis__periode {
	font-size: 16px;
	font-weight: 400;
}

.zav-main .zav-preis > .zav-preis__liste {
	flex: 1 0 auto;
	margin: 0;
	padding: 0 0 180px;
	list-style: none;
}

.zav-main .zav-preis--gross > .zav-preis__liste {
	padding-bottom: 60px;
}

.zav-preis__liste li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-height: 30px;
	margin: 0 15px 10px;
	line-height: 1.5;
}

.zav-preis__liste li:last-child {
	margin-bottom: 0;
}

.zav-preis__liste li::before {
	content: "";
	flex: 0 0 21px;
	height: 21px;
	background: var(--wp--preset--color--secondary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.zav-preis > .zav-preis__fuss {
	justify-content: center;
	padding: 0 0 60px;
	margin: 0;
}

.zav-preis__knopf .wp-block-button__link {
	background: var(--wp--preset--color--secondary);
	color: #FFFFFF;
	border-radius: 3px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.125;
	padding: 16px 55px;
}

.zav-preis__knopf .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
}

/* Fussnote */
.zav-fussnote > .zav-widget {
	max-width: 1200px;
	margin: 0 auto;
}

/* FAQ (Elementor-Toggle → Details) */
.zav-main > .wp-block-post-content > .zav-faq-sektion {
	margin: 12% 0;
	padding: 0 12%;
}

.zav-faq-sektion > .zav-faq__spalten {
	margin-top: calc(30px + 4%);
	gap: 15%;
}

.zav-faq-sektion .zav-faq__spalten > .zav-faq-liste {
	flex: 0 1 50%;
	min-width: 0;
	padding-top: 30px;
	border-top: 0.5px solid #C8D5DC;
}

.zav-main .zav-faq-liste > .wp-block-details {
	margin: 0 0 30px;
}

.zav-faq > summary {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 53px;
	padding-bottom: 30px;
	border-bottom: 0.5px solid #D8D8D8;
	list-style: none;
	cursor: pointer;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	color: var(--wp--preset--color--secondary);
}

.zav-faq > summary::-webkit-details-marker {
	display: none;
}

.zav-faq > summary::after {
	content: "";
	flex: 0 0 24px;
	height: 24px;
	background: var(--wp--preset--color--secondary);
	-webkit-mask: url("../images/faq-plus.svg") center / 17px no-repeat;
	mask: url("../images/faq-plus.svg") center / 17px no-repeat;
}

.zav-faq[open] > summary::after {
	-webkit-mask-image: url("../images/faq-minus.svg");
	mask-image: url("../images/faq-minus.svg");
}

.zav-main .zav-faq > :not(summary) {
	padding-right: 30px;
	font-weight: 300;
}

.zav-main .zav-faq > :not(summary):first-of-type {
	padding-top: 15px;
}

.zav-main .zav-faq > :last-child {
	padding-bottom: 15px;
}

/* ---------- Mitgliederbereich (Seite 664, Vorlage «seite-mitglieder») ---------- */

.zav-mkopf {
	background: #E0E6EC;
	padding: 0 4%;
}

.zav-mkopf > .zav-mkopf__innen {
	max-width: 1200px;
	min-height: 650px;
	margin: 0 auto;
	gap: 0;
}

.zav-mkopf .zav-mkopf__innen > .zav-mkopf__text {
	flex: 0 0 58.322%;
	box-sizing: border-box;
	padding-right: 10%;
	gap: 20px;
}

.zav-main .zav-mkopf__text > .zav-mkopf__titel {
	margin: 0;
	font-size: 51px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: capitalize;
	color: var(--wp--preset--color--secondary);
}

.zav-main .zav-mkopf__text > .zav-mkopf__unter {
	margin: 4% 30% 8% 0;
	font-size: 22px;
	font-weight: 300;
	line-height: 1.5;
	color: var(--wp--preset--color--secondary);
}

.zav-mkopf .zav-mkopf__innen > .zav-mkopf__bild {
	flex: 1 1 50%;
	min-width: 0;
	margin: 0;
}

.zav-mkopf__bild img {
	display: block;
	width: 100%;
	height: 473px;
	object-fit: cover;
}

.zav-main > .zav-mitglieder {
	max-width: 1200px;
	margin: 10% auto;
	padding: 10px 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.zav-main .zav-mitglieder > .zav-mitglieder__hinweis {
	margin: 0;
	padding-bottom: 14.4px;
	font-size: 12px;
	line-height: 1.5;
}

.zav-mitglieder > .zav-mitglieder__inhalt {
	margin: 0;
}

/* Passwortformular (Wortlaut und Aufbau wie Essential Addons «Protected Content») */
.zav-passwort__meldung {
	padding: 10px;
}

.zav-main .zav-passwort__meldung p {
	margin: 0 0 0.9rem;
}

.zav-passwort__form {
	display: flex;
}

.zav-passwort__feld {
	flex: 1 1 auto;
	min-width: 0;
	height: 40px;
	box-sizing: border-box;
	padding: 10px 20px;
	border: 1px solid #666666;
	border-radius: 0;
	color: var(--wp--preset--color--secondary);
	font-size: 16px;
	line-height: 1;
	font-family: inherit;
}

.zav-passwort__knopf {
	height: 38px;
	margin-top: 1px;
	padding: 10px 20px;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 0;
	background: var(--wp--preset--color--secondary);
	color: #FFFFFF;
	font-size: 16px;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	font-family: inherit;
}

.zav-passwort__knopf:hover,
.zav-passwort__knopf:focus {
	background: var(--wp--preset--color--primary);
}

.zav-main .zav-passwort__fehler {
	margin: 10px 0 0;
	color: #FF1C1C;
}

/* Elementor-Container (allgemeiner Wandler): Standard 10 px Innenabstand, 20 px Abstand */
.zav-inhalt .zav-ec {
	box-sizing: border-box;
	padding: 10px;
	gap: 20px;
	margin: 0;
}

.zav-inhalt .zav-ec.zav-ec--p0 {
	padding: 0;
}

.zav-inhalt .zav-ec.zav-ec--g0 {
	gap: 0;
}

.zav-inhalt .zav-ec.zav-ec--zeile {
	align-items: stretch;
}

.zav-inhalt .zav-ec--zeile > .zav-ec {
	flex: 1 1 0;
	min-width: 0;
}

.zav-inhalt .zav-ec--zeile > .zav-ec--w50 {
	flex: 0 0 50%;
}

.zav-inhalt .zav-ec.zav-ec--mitte {
	justify-content: center;
}

.zav-inhalt .zav-ec--h54vh {
	min-height: 54vh;
}

.zav-inhalt .zav-ec--h30vh {
	min-height: 30vh;
}

.zav-inhalt .zav-ec--h100 {
	min-height: 100px;
}

.zav-inhalt .zav-ec.zav-ec--mb5 {
	margin-bottom: 5%;
}

.zav-inhalt .zav-ec.zav-ec--mb15 {
	margin-bottom: 15%;
}

.zav-main .zav-ec > .wp-block-heading.zav-mb-titel {
	margin: 0;
	font-size: 32px;
	line-height: 1;
	color: var(--wp--preset--color--secondary);
}

/* Icon-Listen mit Download-Links */
.zav-main .zav-ec > .zav-iconliste {
	margin: 0;
	padding: 0;
	list-style: none;
}

.zav-iconliste li {
	display: flex;
	align-items: center;
	color: var(--wp--preset--color--secondary);
	line-height: 24px;
}

.zav-iconliste--abstand li + li {
	margin-top: 7px;
}

.zav-iconliste li::before {
	content: "";
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin-right: 8px;
	background: var(--wp--preset--color--primary);
	-webkit-mask: var(--zav-icon) center / contain no-repeat;
	mask: var(--zav-icon) center / contain no-repeat;
}

.zav-iconliste li.zav-i-ohne::before {
	content: none;
}

.zav-iconliste a {
	color: var(--wp--preset--color--secondary);
}

.zav-iconliste a:hover {
	color: var(--wp--preset--color--primary);
}

/* Grosses Icon rechts (200 px, Violett 17 %) */
.zav-grossicon {
	align-self: center;
	width: 200px;
	height: 200px;
	background: rgba(91, 16, 155, 0.17);
	-webkit-mask: var(--zav-icon) center / contain no-repeat;
	mask: var(--zav-icon) center / contain no-repeat;
	transition: transform 0.3s;
}

.zav-grossicon:hover {
	transform: rotate(10deg);
}

/* Hinweis-Kasten (Elementor «Alert», Typ Info) */
.zav-main .zav-ec > .zav-hinweis {
	margin: 0;
	padding: 15px;
	border-left: 5px solid #BCDFF1;
	background: #D9EDF7;
	color: #31708F;
	font-size: 13px;
	line-height: 1.5;
}

.zav-main .zav-hinweis > p {
	margin: 0 0 0.9rem;
}

.zav-main .zav-hinweis > .zav-hinweis__titel {
	margin: 0;
	font-size: 16px;
	line-height: 24px;
}

.zav-hinweis a {
	color: #31708F;
}

/* Sprungmenü als Punkte rechts (Essential Addons «One Page Navigation») */
.zav-main .zav-punktnav {
	position: fixed;
	z-index: 50;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.zav-punktnav a {
	display: block;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: var(--wp--preset--color--header);
	font-size: 0;
	color: transparent;
}

.zav-punktnav a:hover,
.zav-punktnav a:focus-visible {
	background: var(--wp--preset--color--primary);
}

.zav-punktnav a[aria-current="true"] {
	background: var(--wp--preset--color--accent);
}

/* Sprungziele: Abstand für die fixierte Kopfzeile (160 px) */
.zav-mitglieder__inhalt [id] {
	scroll-margin-top: 160px;
}

/* Protokolle (Elementor-Akkordeon → Details) */
.zav-main .zav-ec > .zav-akkordeon-liste {
	margin: 0;
}

.zav-main .zav-akkordeon-liste > .wp-block-details.zav-akkordeon {
	margin: 0;
	border: 1px solid #D5D8DC;
}

.zav-main .zav-akkordeon-liste > .zav-akkordeon + .zav-akkordeon {
	border-top: 0;
}

.zav-akkordeon > summary {
	gap: 10px;
	padding: 15px 20px;
	border-bottom: 0;
	align-items: center;
	font-size: 16px;
	font-weight: 600;
	line-height: 16px;
	color: var(--wp--preset--color--primary);
}

.zav-akkordeon > summary::after {
	flex: 0 0 16px;
	height: 16px;
	background: var(--wp--preset--color--primary);
	-webkit-mask-size: 16px;
	mask-size: 16px;
}

.zav-main .zav-akkordeon > :not(summary) {
	margin: 0;
	padding: 0 20px;
	font-weight: 400;
}

.zav-main .zav-akkordeon[open] > summary {
	border-bottom: 1px solid #D5D8DC;
}

.zav-main .zav-akkordeon > :not(summary):first-of-type {
	padding-top: 15px;
}

.zav-main .zav-akkordeon > :last-child {
	padding-bottom: 15px;
}

.zav-i--file-pdf {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z'/%3E%3C/svg%3E");
}

.zav-i--file-word {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z'/%3E%3C/svg%3E");
}

.zav-i--globe {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z'/%3E%3C/svg%3E");
}

.zav-i--address-card {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z'/%3E%3C/svg%3E");
}

.zav-i--file-contract {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z'/%3E%3C/svg%3E");
}

.zav-i--cash-register {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z'/%3E%3C/svg%3E");
}

.zav-i--shopping-bag {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z'/%3E%3C/svg%3E");
}

.zav-i--hand-point-right {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252 80c23.375 0 44.8 8.8 44.8 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z'/%3E%3C/svg%3E");
}

/* ---------- Datenschutz (Seite 3) ---------- */

.zav-ds-kopf {
	padding: 4.5% 5% 0;
}

.zav-ds-kopf > .zav-widget {
	max-width: 1200px;
	margin: 0 auto;
}

.zav-main .zav-ds-titel > p {
	font-size: 3.4vw;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--secondary);
}

.zav-ds-spalten {
	padding: 1.8% max(5%, calc((100% - 1200px) / 2)) 4.5%; /* Elementor-Box: Inhalt höchstens 1200 px */
	gap: 50px;
	align-items: flex-start;
}

.zav-ds-spalten > .zav-ds-spalte {
	flex: 1 1 0;
	min-width: 0;
	gap: 20px;
}

.zav-ds-spalten > .zav-ds-spalte--2 {
	gap: 38px;
}

.zav-ds-icon {
	width: 312.5px;
	height: 256px;
	transition: transform 0.3s;
}

.zav-ds-icon:hover {
	transform: scale(1.4);
}

.zav-i--balance-scale {
	--zav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z'/%3E%3C/svg%3E");
}

/* ---------- Gäste (Seite 283): leerer Raster-Container, Mindesthöhe 1440 px ---------- */

.zav-gaeste {
	min-height: 1440px;
	padding: 10px;
	box-sizing: border-box;
}

/* ---------- Beitrag (Vorlage single, Elementor «Blog Einzelbeitrag» #547) ---------- */

.zav-main > .zav-beitrag-kopf {
	margin: 0;
	padding: 4.2% 8% 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.zav-beitrag-kopf > .wp-block-post-title {
	margin: 0;
	font-size: 65px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	color: var(--wp--preset--color--secondary);
}

.zav-beitrag-kopf > .zav-beitrag-kopf__info {
	margin: 15px 0 0;
	gap: 31px;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5;
	color: var(--wp--preset--color--secondary);
}

.zav-beitrag-kopf__info > .wp-block-post-author-name {
	position: relative;
}

.zav-beitrag-kopf__info > .wp-block-post-author-name::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -16px;
	border-left: 1px solid #1C244B;
}

.zav-main > .zav-beitrag {
	margin: 8% 0 0;
	padding: 0 8%;
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.zav-beitrag > * {
	margin: 0;
}

.zav-beitrag > .zav-beitrag__bild img {
	display: block;
	width: 100%;
	height: auto;
}

.zav-beitrag > .zav-beitrag__auszug p {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
}

.zav-beitrag > .zav-beitrag__inhalt {
	display: flow-root;
	text-align: justify;
	font-weight: 300;
}

/* Klassischer Inhalt: Der letzte Absatz behält seinen Abstand (WordPress setzt ihn sonst auf 0). */
.zav-main .zav-beitrag__inhalt > p:last-child {
	margin-bottom: 0.9rem;
}

/* Elementor-Inhalte im Beitrag: Die Widgets hatten ihre eigene Typografie (400, linksbündig).
   Blocksatz und 300 der Beitragsvorlage galten nur für klassischen Inhalt. */
.zav-beitrag__inhalt .zav-ec {
	text-align: start;
	font-weight: 400;
}

.zav-beitrag > .zav-beitrag__navigation {
	margin-top: 3%;
	padding-top: 30px;
	border-top: 1px solid var(--wp--preset--color--text);
	font-size: 16px;
	line-height: 24px;
	text-transform: capitalize;
}

.zav-beitrag__navigation a {
	color: var(--wp--preset--color--primary);
	font-style: italic;
	text-decoration: underline;
}

.zav-beitrag > .zav-beitrag__teilen {
	gap: 30px;
}

.zav-main .zav-beitrag__teilen > .zav-beitrag__teilen-text {
	margin: 0;
	font-weight: 300;
}

.zav-social--teilen.wp-block-social-links {
	gap: 22px;
}

.zav-social--teilen.wp-block-social-links .wp-social-link {
	color: var(--wp--preset--color--secondary);
}

.zav-social--teilen.wp-block-social-links .wp-social-link svg {
	width: 22px;
	height: 22px;
}

.zav-social--teilen.wp-block-social-links .wp-social-link a:hover {
	color: var(--wp--preset--color--primary);
}

.zav-main > .zav-aufruf-box {
	margin: 12% 0 10%;
	padding: 0 8%;
	min-height: 455px;
	gap: 30px;
	background: var(--wp--preset--color--background);
}

.zav-aufruf-box > .wp-block-heading {
	margin: 0;
}

.zav-aufruf-box > .wp-block-buttons {
	margin: 0;
}

/* Elementor-Button (Standard 15 px / 500, Radius 3 px, Pfeil rechts mit 14 px Abstand) */
.wp-block-button.zav-ebutton .wp-block-button__link {
	gap: 14px;
	padding: 12px 24px;
	font-size: 15px;
	font-weight: 500;
	line-height: 15px;
	text-transform: none;
	border-radius: 3px;
}

.wp-block-button.zav-ebutton .wp-block-button__link:hover {
	transform: none;
}

/* Aufruf unter dem Beitrag: Elementor-Standardabstand 5 px, Pfeil 15 px */
.zav-aufruf-box .wp-block-button.zav-ebutton .wp-block-button__link {
	gap: 5px;
}

.zav-aufruf-box .wp-block-button.zav-ebutton .wp-block-button__link::after {
	width: 15px;
	height: 15px;
}

.zav-main > .zav-weitere {
	margin: 12% 0 10%;
	padding: 0 8%;
}

.zav-main .zav-weitere > .wp-block-heading.zav-grosstitel {
	margin: 0 0 100px;
}

.zav-karten2 .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 80px 60px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.zav-karten2 .wp-block-post {
	margin: 0;
	padding-bottom: 20px;
}

.zav-karten2 .wp-block-post-featured-image {
	margin: 0 0 41px;
}

.zav-karten2 .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
}

.zav-karten2 .wp-block-post-title {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
}

.zav-karten2 .wp-block-post-title a {
	color: var(--wp--preset--color--secondary);
}

.zav-karten2 .wp-block-post-excerpt {
	margin: 0;
}

.zav-karten2 .wp-block-post-excerpt p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #777777;
}

.zav-karten2 .wp-block-read-more {
	display: block;
	margin-top: 30px;
	font-size: 16px;
	line-height: 1;
	color: var(--wp--preset--color--primary);
}

/* ---------- Archive, Beitragsübersicht, Suche, 404 ---------- */

/* Bildkopf (Elementor-Container 520 px, Bild mit grauer Überlagerung 62 %, Innenabstand 10 %) */
.zav-main > .wp-block-cover.zav-bildkopf {
	margin: 0;
	padding: 10%;
	min-height: 520px;
}

/* Kern setzt die Deckkraft mit 0,4,0 (.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60),
   der Cover-Block rundet dimRatio auf 10er. Deshalb hier mit 0,4,1 (unabhängig von der Ladereihenfolge) auf 62 % wie Elementor. */
.wp-block-cover.zav-bildkopf > span.wp-block-cover__background.has-background-dim {
	opacity: 0.62;
}

.zav-bildkopf .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	gap: 20px;
	color: #FFFFFF;
	text-align: center;
}

.zav-main .zav-bildkopf .wp-block-heading {
	margin: 0;
	color: #FFFFFF;
}

.zav-main .zav-bildkopf .zav-bildkopf__titel {
	font-size: 65px;
	font-weight: 600;
	line-height: 1.2;
}

.zav-main .zav-bildkopf .zav-bildkopf__unter {
	font-size: 22px;
	font-weight: 300;
	line-height: 1.5;
}

/* Beitragsraster der Übersicht (Elementor «Posts», Skin Classic, 3 Spalten) */
.zav-main > .zav-archiv {
	margin: 5% 0 0;
	padding: 0 8%;
}

.zav-karten3 .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 35px 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.zav-karten3 .wp-block-post {
	margin: 0;
	padding: 20px;
	background: var(--wp--preset--color--background);
}

.zav-karten3 .wp-block-post > * {
	margin: 0;
}

.zav-karten3 .wp-block-post-featured-image {
	margin-bottom: 21px;
}

.zav-karten3 .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	aspect-ratio: 289 / 190;
	object-fit: cover;
}

.zav-karten3 .wp-block-post-title {
	margin-bottom: 8px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
}

.zav-karten3 .wp-block-post-title a {
	color: var(--wp--preset--color--secondary);
}

.zav-karten3 .wp-block-post > .zav-karten3__meta {
	margin-bottom: 13px;
	gap: 0;
	font-size: 12px;
	line-height: 1.3;
	color: #ADADAD;
}

.zav-karten3__meta .wp-block-post-comments-link::before {
	content: "\00a0///\00a0";
}

.zav-karten3__meta a {
	color: #ADADAD;
}

.zav-karten3 .wp-block-post-excerpt {
	margin-bottom: 12px;
}

.zav-karten3 .wp-block-post-excerpt p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #777777;
}

.zav-karten3 .wp-block-read-more {
	display: block;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	color: var(--wp--preset--color--primary);
}

/* Social Media Posts (unter Archiv und Suche) */
.zav-main > .zav-social-sektion {
	margin: 5% 0 10%;
	padding: 0 8%;
	gap: 20px;
}

.zav-main > .zav-social-sektion--suche {
	margin: 12% 0 10%;
	gap: 10px;
	align-items: center;
}

.zav-main .zav-social-sektion > * {
	margin: 0;
}

.zav-main .zav-social-sektion > .zav-social-sektion__text {
	margin-bottom: 0.9rem;
	font-size: 22px;
	font-weight: 300;
	line-height: 1.5;
	text-align: center;
}

/* Suche: Suchfeld und Treffer (Elementor «Archive Posts», Skin Cards ohne Bild) */
.zav-main > .zav-suchfeld,
.zav-main > .zav-treffer {
	margin: 5% 0 0;
	padding: 0 8%;
}

.zav-suchfeld__form .wp-block-search__inside-wrapper {
	height: 50px;
	padding: 0;
	border: 0;
	border-radius: 3px;
	background: #F1F2F3;
	overflow: hidden;
}

.zav-suchfeld__form .wp-block-search__input {
	padding: 0 16.67px;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--text);
	font-size: 15px;
}

.zav-suchfeld__form .wp-block-search__button {
	box-sizing: border-box;
	width: 50px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--wp--preset--color--primary); /* altes Child-Theme: Rand #5B109B an allen Knöpfen */
	border-radius: 0;
	background: var(--wp--preset--color--secondary);
	color: #FFFFFF;
	font-size: 16px;
}

.zav-suchfeld__form .wp-block-search__button:hover,
.zav-suchfeld__form .wp-block-search__button:focus {
	background: var(--wp--preset--color--primary);
}

.zav-trefferliste .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 35px 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.zav-trefferliste .wp-block-post {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding-top: 20px;
	border-radius: 3px;
	background: var(--wp--preset--color--background);
	overflow: hidden;
}

.zav-trefferliste .wp-block-post > * {
	margin: 0;
	padding: 0 30px;
}

.zav-trefferliste .wp-block-post-title {
	margin-bottom: 25px;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.2;
}

.zav-trefferliste .wp-block-post-title a {
	color: var(--wp--preset--color--secondary);
}

.zav-trefferliste .wp-block-post-excerpt {
	margin-bottom: 25px;
}

.zav-trefferliste .wp-block-post-excerpt p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #777777;
}

.zav-trefferliste .wp-block-read-more {
	display: block;
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--wp--preset--color--accent);
}

.zav-trefferliste .wp-block-post > .zav-trefferliste__meta {
	margin-top: auto;
	padding: 15px 30px;
	gap: 0;
	border-top: 1px solid #EAEAEA;
	font-size: 12px;
	line-height: 1.3;
	color: #ADADAD;
}

.zav-trefferliste__meta > * + *::before {
	content: "\00a0|\00a0";
}

.zav-trefferliste .zav-trefferliste__seiten {
	justify-content: center;
	margin-top: 0;
	font-size: 16px;
}

/* 404 (Elementor «Error 404», 88 vh hoch, Hellgrau) */
.zav-main > .zav-fehler {
	margin: 0;
	min-height: 88vh;
	padding: 0 8%;
	gap: 0;
	justify-content: center;
	background: var(--wp--preset--color--background);
}

.zav-main .zav-fehler > * {
	margin: 0;
	text-align: center;
}

.zav-main .zav-fehler > .zav-fehler__zahl {
	font-size: 200px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--secondary);
}

.zav-main .zav-fehler > .zav-fehler__text {
	font-weight: 300;
	margin-bottom: 0.9rem;
}

.zav-main .zav-fehler > .zav-fehler__knopf {
	margin-top: 40px;
}

/* ---------- Kontakt (Seite 386): zwei Hälften, 75 % Fensterhöhe ---------- */

.zav-kontakt {
	background: var(--wp--preset--color--background);
}

.zav-kontakt > .zav-kontakt__innen {
	max-width: 1200px;
	min-height: 75vh;
	margin: 0 auto;
	gap: 0;
	align-items: stretch;
}

.zav-kontakt .zav-kontakt__innen > .wp-block-group {
	flex: 0 0 50%;
	box-sizing: border-box;
	padding: 0 6%;
	justify-content: center;
}

.zav-kontakt .zav-kontakt__innen > .zav-kontakt__links {
	gap: 15px;
	background: var(--wp--preset--color--background);
}

.zav-kontakt .zav-kontakt__innen > .zav-kontakt__rechts {
	flex-wrap: nowrap; /* mit «wrap» misst Chrome das Formular zu niedrig */
	background: #FFFFFF;
}

.zav-kontakt .zav-kontakt__links > .zav-kontakt__titel {
	margin: 0;
	font-size: 65px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--secondary);
}

.zav-kontakt .zav-kontakt__links > .zav-kontakt__text {
	margin: 0;
	font-size: 22px;
	font-weight: 300;
	line-height: 1.5;
	color: var(--wp--preset--color--text);
}

/* Altes Child-Theme «zav» (Kommentare dort: «Farbe Cookie-Leiste SeoPress», «Close Button von der PDF-Lightbox»):
   alle echten Knöpfe mit Rand #5B109B und violettem Hover, mit !important wie dort. Hier nur auf die Plugin-Knöpfe
   gezielt, die das Original traf, nicht auf Hamburger und Slider (im Original div-Elemente). */
button[id^="seopress-user-consent"],
[class*="seopress-user-consent"] button,
.fancybox-container button {
	border: 1px solid #5B109B !important;
}

button[id^="seopress-user-consent"]:hover,
button[id^="seopress-user-consent"]:focus,
[class*="seopress-user-consent"] button:hover,
[class*="seopress-user-consent"] button:focus,
.fancybox-container button:hover,
.fancybox-container button:focus {
	background-color: #5B109B !important;
}

/* Fehlerfarbe wie im Elementor-Formular (error_message_color #FF1C1C statt Fluent-Standard #F56C6C) */
.zav-kontakt .fluentform {
	--fluentform-danger: #FF1C1C;
}

.zav-kontakt .ff-el-form-control {
	padding: 8px 16px;
	height: auto;
}

.zav-kontakt .fluentform select.ff-el-form-control {
	height: 40px;
	min-height: 40px;
	padding-block: 0;
}

.zav-kontakt textarea.ff-el-form-control {
	height: 108px;
	min-height: 108px;
}

/* Fluent Forms gibt auch der Knopfzeile 20 px Abstand nach unten, Elementor nicht. */
.zav-kontakt .fluentform .ff_submit_btn_wrapper {
	margin-bottom: 0;
}

.zav-kontakt .fluentform form .ff-btn-submit:not(.ff_btn_no_style) {
	min-height: 40px; /* wie der Elementor-Formularknopf */
	border-color: var(--wp--preset--color--primary); /* altes Child-Theme: Rand #5B109B an allen Knöpfen */
}

.zav-kontakt .fluentform form .ff-btn-submit:not(.ff_btn_no_style):hover,
.zav-kontakt .fluentform form .ff-btn-submit:not(.ff_btn_no_style):focus {
	background-color: var(--wp--preset--color--primary);
	opacity: 1;
}

/* Zustimmung wie Elementor: Checkbox steht im Text, die Folgezeilen beginnen ganz links. */
.zav-kontakt .fluentform .ff-el-tc label.ff_tc_label {
	display: block;
}

.zav-kontakt .fluentform .ff-el-tc .ff_tc_checkbox,
.zav-kontakt .fluentform .ff-el-tc .ff_t_c {
	display: inline;
	padding: 0;
}

.zav-kontakt .fluentform .ff-el-tc .ff_tc_checkbox input {
	margin: 0 4px 0 0;
}

.zav-kontakt .fluentform .ff-el-group:has(.ff-el-tc) {
	margin-bottom: 15px;
}

/* ---------- Tablet und Handy ---------- */

@media (max-width: 1024px) {
	.zav-main .zav-ds-titel > p {
		font-size: 38px;
	}

	.zav-ds-spalten {
		flex-direction: column;
		align-items: stretch;
	}

	.zav-ds-spalten > .zav-ds-spalte--2 {
		gap: 20px;
	}

	.zav-ds-icon {
		width: 150px;
		height: 120px;
	}

	.zav-topbar {
		padding: 27px 15px;
	}

	.zav-kopf .zav-topbar__kontakt p {
		font-size: 12px;
	}

	.zav-kopf .zav-logo,
	.zav-kopf .zav-logo img {
		width: 120px;
		flex-basis: 120px;
	}

	.zav-hauptleiste {
		padding: 15px 0 10px;
	}

	.zav-kopf .zav-hauptleiste__innen {
		gap: 0;
	}

	.zav-kopf nav.zav-nav {
		flex: 1 1 auto;
	}

	.zav-kopf .zav-nav .wp-block-navigation__container {
		gap: 16px;
	}

	/* Elementor-Widget 171 px breit, 8 % Innenabstand rechts bezogen auf das Widget selbst (13,68 px) */
	.zav-kopf .zav-kopf__button {
		flex: 0 0 171px;
		box-sizing: border-box;
		padding-right: 13.68px;
		justify-content: flex-end;
	}

	.zav-kopf .wp-block-button.is-style-zav-pfeil .wp-block-button__link {
		font-size: 14px;
		padding: 10px;
		letter-spacing: -0.8px;
	}

	.zav-karten .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	/* Elementor stapelt auf dem Handy alle Flex-Container (Breite 100 %, Umbruch). */
	.zav-zweispalter > .zav-zweispalter__innen,
	.zav-inhalt .zav-ec.zav-ec--zeile {
		flex-wrap: wrap;
	}

	.zav-zweispalter .zav-zweispalter__innen > .zav-zweispalter__spalte,
	.zav-inhalt .zav-ec--zeile > .zav-ec {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.zav-main .wp-block-heading.zav-grosstitel,
	.zav-main .wp-block-heading.zav-mittel-titel {
		font-size: 28px;
		line-height: 1.1;
	}

	.zav-raster > .zav-raster__innen {
		grid-template-columns: minmax(0, 1fr);
	}

	.zav-kontakt .ff-t-container {
		flex-wrap: wrap;
		gap: 0;
	}

	.zav-kontakt .ff-t-container > .ff-t-cell {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.zav-main .zav-ds-titel > p {
		font-size: 31px;
	}

	.zav-ds-spalten {
		box-sizing: border-box;
		min-height: 100vh;
		padding: 20px;
	}

	.zav-ds-spalten > .zav-ds-spalte--2 {
		margin: 5% 0 10%;
	}

	.zav-topbar {
		padding: 15px;
	}

	.zav-kopf .zav-topbar__kontakt {
		display: none;
	}

	.zav-kopf .zav-topbar__innen {
		justify-content: flex-end;
	}

	.zav-hauptleiste {
		padding: 0 10px;
	}

	.zav-kopf .zav-logo,
	.zav-kopf .zav-logo img {
		width: 100px;
		flex-basis: 100px;
	}

	.zav-kopf .zav-kopf__button {
		display: none;
	}

	.is-style-zav-slider .wp-block-cover.zav-slide {
		min-height: 50vh;
		padding: 30px; /* Elementor-Slides auf dem Handy */
	}

	.is-style-zav-slider .zav-slide p {
		font-size: 13px;
	}

	/* Elementor «Posts» auf dem Handy: Bildverhältnis 0,5 statt 0,66 */
	.zav-karten .wp-block-post-featured-image img {
		aspect-ratio: 2 / 1;
	}

	.zav-main > .wp-block-post-content > .zav-news {
		box-sizing: border-box;
		min-height: 1250px;
	}

	.zav-news .zav-sektion__innen > .wp-block-heading {
		margin-bottom: 20px;
		padding-top: 10px;
	}

	.is-style-zav-slider .zav-slide h2 {
		font-size: 22px;
	}

	.wp-block-button.is-style-zav-kontur .wp-block-button__link {
		font-size: 11px;
	}

	.zav-karten .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Fusszeile auf Tablet und Handy (Elementor-Vorlage #83). Tablet: Kontakt links, Links rechts, Verein darunter.
   Handy: Kontakt, Links, Verein untereinander. */
@media (max-width: 1024px) {
	.zav-fuss {
		padding: 0 5%;
	}

	/* Der Kern setzt beim Spaltenblock flex-wrap mit !important, nur so lässt es sich übersteuern. */
	.zav-fuss .zav-fuss__spalten.wp-block-columns {
		flex-direction: row-reverse;
		flex-wrap: wrap !important;
	}

	.zav-fuss .zav-fuss__spalten.wp-block-columns > .wp-block-column {
		flex: 0 0 50%;
	}

	.zav-fuss .zav-fuss__spalten.wp-block-columns > .zav-fuss__kontakt {
		padding-right: 15%;
	}

	.zav-fuss .zav-fuss__spalten.wp-block-columns > .zav-fuss__verein {
		flex: 0 0 100%;
		order: 1;
		margin-top: 8%;
		padding-right: 35%;
	}

	.zav-fuss .wp-block-column > .zav-fuss__logo {
		width: 205px; /* Bildbox 293 px breit, Bild 70 % */
		max-width: 70%;
		margin-bottom: 25px;
	}

	.zav-fuss .zav-fuss__beschreibung {
		max-width: 293px;
	}

	.zav-fuss .zav-fuss__beschreibung,
	.zav-fuss nav.zav-fuss__nav,
	.zav-fuss .zav-fuss__adresse,
	.zav-copyright p {
		font-size: 14px;
	}

	.zav-social--fuss.wp-block-social-links .wp-social-link svg {
		width: 18px;
		height: 18px;
	}

	.zav-copyright {
		padding: 0 5%;
	}
}

@media (max-width: 767px) {
	.zav-fuss .zav-fuss__innen {
		padding: 20% 0;
	}

	.zav-fuss .zav-fuss__spalten.wp-block-columns > .wp-block-column {
		flex: 0 0 100%;
	}

	.zav-fuss .zav-fuss__spalten.wp-block-columns > .zav-fuss__kontakt {
		order: -1;
		margin-bottom: 25%;
		padding-right: 0;
	}

	.zav-fuss .zav-fuss__spalten.wp-block-columns > .zav-fuss__verein {
		margin-top: 25%;
		padding-right: 0;
		align-items: center;
		text-align: center;
	}

	.zav-fuss .wp-block-column > .zav-fuss__logo {
		width: 70%;
		max-width: none;
		margin: 0 auto 6px;
	}

	.zav-fuss .zav-fuss__beschreibung {
		max-width: none;
	}

	.zav-fuss .zav-fuss__titel {
		font-size: 18px;
	}

	.zav-fuss .zav-fuss__nav .wp-block-navigation__container,
	.zav-fuss nav.zav-fuss__nav {
		gap: 8px;
	}
}

/* Mitgliederbereich (Elementor-Seite 664) auf Tablet und Handy: Kopf untereinander, Bild unten. */
@media (max-width: 1024px) {
	.zav-mkopf {
		padding: 0 12%;
	}

	.zav-mkopf > .zav-mkopf__innen {
		flex-wrap: wrap;
		box-sizing: border-box;
		min-height: 880px;
		padding: 20% 0;
	}

	.zav-mkopf .zav-mkopf__innen > .zav-mkopf__text {
		flex: 0 0 100%;
		padding: 0 0 12%;
	}

	.zav-mkopf .zav-mkopf__innen > .zav-mkopf__bild {
		flex: 0 0 100%;
	}

	.zav-main .zav-mkopf__text > .zav-mkopf__titel {
		font-size: 45px;
		text-align: center;
	}

	.zav-main .zav-mkopf__text > .zav-mkopf__unter {
		margin: 4% 10% 8%;
		font-size: 14px;
		text-align: center;
	}

	.zav-mkopf__bild img {
		height: 400px;
	}

	/* Elementor-Container: 10 px Innenabstand, auf dem Desktop ausserhalb der 1200 px nicht sichtbar */
	.zav-main > .zav-mitglieder {
		padding: 10px;
	}
}

@media (max-width: 767px) {
	.zav-mkopf {
		padding: 0 6%;
	}

	.zav-mkopf > .zav-mkopf__innen {
		min-height: 600px;
		padding: 30% 0;
	}

	.zav-main .zav-mkopf__text > .zav-mkopf__titel {
		font-size: 28px;
		line-height: 1.1;
	}

	.zav-mkopf__bild img {
		height: 250px;
	}

	/* Elementor: 15 % oben und unten. Der rechte Rand von 5 % verkleinert den Container dort nicht (feste Breite). */
	.zav-main > .zav-mitglieder {
		margin: 15% 0;
	}

	.zav-main .zav-mitglieder > .zav-mitglieder__hinweis {
		padding-inline: 10px;
	}
}

/* Beitrag (Elementor-Vorlage «Blog Einzelbeitrag» #547) auf Tablet und Handy. */
@media (max-width: 1024px) {
	/* Kopf: Inhalt auf dem Tablet höchstens 620 px breit */
	.zav-main > .zav-beitrag-kopf {
		padding: 4.2% max(8%, calc((100% - 620px) / 2)) 0;
	}

	.zav-beitrag-kopf > .wp-block-post-title {
		font-size: 45px;
	}

	.zav-beitrag-kopf > .zav-beitrag-kopf__info,
	.zav-beitrag > .zav-beitrag__inhalt,
	.zav-beitrag > .zav-beitrag__navigation,
	.zav-main .zav-beitrag__teilen > .zav-beitrag__teilen-text {
		font-size: 14px;
	}

	.zav-main > .zav-beitrag {
		padding: 0 5%;
	}

	.zav-main > .zav-aufruf-box {
		margin: 15% 0 0;
		padding: 7.2% 5%;
		min-height: 0;
	}

	.zav-main .zav-aufruf-box > .wp-block-heading,
	.zav-main .zav-weitere > .wp-block-heading.zav-grosstitel {
		font-size: 45px;
	}

	.zav-main > .zav-weitere {
		padding: 0 5%;
	}

	.zav-main .zav-weitere > .wp-block-heading.zav-grosstitel {
		margin-bottom: 50px;
	}

	.zav-karten2 .wp-block-post-template {
		row-gap: 71px;
	}

	.zav-beitrag > .zav-beitrag__inhalt li {
		line-height: 1.5;
	}

	.zav-karten2 .wp-block-read-more {
		font-size: 14px;
	}
}

@media (max-width: 767px) {
	.zav-beitrag-kopf > .wp-block-post-title {
		font-size: 28px;
		line-height: 1.1;
	}

	.zav-main > .zav-beitrag {
		gap: 25px;
	}

	.zav-beitrag > .zav-beitrag__auszug p {
		font-size: 18px;
	}

	.zav-beitrag > .zav-beitrag__teilen {
		margin-top: 5%;
		gap: 15px;
	}

	.zav-beitrag > .zav-beitrag__navigation {
		line-height: 1;
	}

	.zav-main > .zav-aufruf-box {
		padding: 18% 5%;
	}

	.zav-main .zav-aufruf-box > .wp-block-heading,
	.zav-main .zav-weitere > .wp-block-heading.zav-grosstitel {
		font-size: 28px;
		line-height: 1.1;
	}

	.zav-main .zav-aufruf-box > .wp-block-heading {
		text-align: center;
	}

	.zav-main > .zav-weitere {
		margin: 35% 0 0;
	}

	.zav-main .zav-weitere > .wp-block-heading.zav-grosstitel {
		margin-bottom: 20px;
	}

	.zav-karten2 .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}

	.zav-karten2 .wp-block-post-title {
		margin-bottom: 9px;
		font-size: 18px;
		line-height: 1.1;
	}

	/* Elementor «Posts» auf dem Handy: Bildverhältnis 0,5 */
	.zav-karten2 .wp-block-post-featured-image img {
		aspect-ratio: 2 / 1;
	}
}

/* Beitragsübersicht (Elementor-Vorlage «Blogbeiträge» #2455) auf Tablet und Handy. */
@media (max-width: 1024px) {
	/* Kopf: aussen 5 %, innen 10 % der Breite, Inhalt höchstens 420 px */
	.zav-main > .wp-block-cover.zav-bildkopf {
		min-height: 300px;
		padding: 7.2% 14%;
	}

	.zav-bildkopf .wp-block-cover__inner-container {
		max-width: 420px;
		margin: 0 auto;
	}

	.zav-main .zav-bildkopf .zav-bildkopf__titel {
		font-size: 45px;
	}

	.zav-main > .zav-archiv {
		padding: 0 5%;
	}

	.zav-karten3 .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zav-karten3 .wp-block-post-featured-image img {
		aspect-ratio: 100 / 66;
	}

	.zav-main > .zav-social-sektion {
		padding: 0 5%;
	}

	.zav-main .zav-social-sektion > .wp-block-heading.zav-grosstitel {
		font-size: 45px;
	}

	.zav-main .zav-social-sektion > .zav-social-sektion__text {
		font-size: 19px;
	}
}

@media (max-width: 767px) {
	.zav-main > .wp-block-cover.zav-bildkopf {
		min-height: 260px;
		padding: 8% 10%;
	}

	.zav-bildkopf .wp-block-cover__inner-container {
		max-width: none;
	}

	.zav-main .zav-bildkopf .zav-bildkopf__titel {
		font-size: 28px;
		line-height: 1.1;
	}

	.zav-main > .zav-archiv {
		margin-top: 10%;
	}

	.zav-karten3 .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}

	.zav-karten3 .wp-block-post-featured-image img {
		aspect-ratio: 2 / 1;
	}

	.zav-main > .zav-social-sektion {
		margin: 15% 0;
		padding: 0 0 0 15px;
	}

	.zav-main .zav-social-sektion > .wp-block-heading.zav-grosstitel {
		font-size: 28px;
		line-height: 1.1;
	}

	.zav-main .zav-social-sektion > .zav-social-sektion__text {
		font-size: 14px;
	}
}

/* Suche (Elementor-Vorlage «Suchergebnisse» #2435) auf Tablet und Handy. Kopf wie die News (zav-bildkopf). */
@media (max-width: 1024px) {
	.zav-main > .zav-suchfeld,
	.zav-main > .zav-treffer {
		padding: 0 5%;
	}

	.zav-trefferliste .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zav-main .zav-social-sektion--suche > .zav-social-sektion__text {
		font-size: 14px;
	}
}

@media (max-width: 767px) {
	.zav-main > .zav-suchfeld,
	.zav-main > .zav-treffer {
		margin-top: 10%;
	}

	.zav-trefferliste .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}

	.zav-main > .zav-social-sektion--suche {
		margin: 35% 0 10%;
		padding: 0 5%;
	}
}

/* 404 (Elementor-Vorlage #712) auf Tablet und Handy. */
@media (max-width: 1024px) {
	.zav-main > .zav-fehler {
		padding: 0 5%;
	}

	.zav-main .zav-fehler > .zav-fehler__zahl {
		font-size: 145px;
	}

	.zav-main .zav-fehler > .zav-fehler__text,
	.zav-main .zav-fehler .wp-block-button__link {
		font-size: 14px;
	}
}

@media (max-width: 767px) {
	.zav-main .zav-fehler > .zav-fehler__zahl {
		font-size: 100px;
		line-height: 1;
	}

	.zav-main .zav-fehler > .zav-fehler__knopf {
		margin-top: 20px;
	}
}

/* Allgemeiner Elementor-Wandler (Mitgliederinhalt, Elementor-Beiträge) auf Tablet und Handy:
   Schriftgrössen und Umkehrungen kommen als Klassen aus den Elementor-Einstellungen. */
@media (max-width: 1024px) {
	.zav-main .zav-ec > .wp-block-heading.zav-fs-t20 {
		font-size: 20px;
	}
}

@media (max-width: 767px) {
	.zav-main .zav-ec > .wp-block-heading.zav-fs-m25 {
		font-size: 25px;
	}

	.zav-main .zav-ec > .wp-block-heading.zav-fs-m28 {
		font-size: 28px;
	}

	.zav-main .zav-ec > .wp-block-heading.zav-mb-m5 {
		margin: 0 0 5%;
	}

	.zav-inhalt .zav-ec.zav-ec--handy-umgekehrt {
		flex-direction: column-reverse;
		flex-wrap: nowrap;
		align-items: stretch;
	}

	.zav-inhalt .zav-ec--handy-umgekehrt > .zav-ec {
		flex: 0 0 auto;
	}

	.zav-inhalt .zav-ec.zav-ec--handy-ai-mitte {
		align-items: center;
	}

	/* Elementor-Icon-Widget: das Icon steht in einer Textzeile, darunter bleiben 7 px */
	.zav-main .zav-ec > .zav-grossicon {
		margin-bottom: 7px;
	}

	/* Elementor-Akkordeon auf dem Handy: Titel 12/15 px, Inhalt 7/15 px Innenabstand */
	.zav-akkordeon > summary {
		padding: 12px 15px;
	}

	.zav-main .zav-akkordeon > :not(summary) {
		padding-inline: 15px;
	}

	.zav-main .zav-akkordeon > :not(summary):first-of-type {
		padding-top: 7px;
	}

	.zav-main .zav-akkordeon > :last-child {
		padding-bottom: 7px;
	}
}

/* Kontakt auf Tablet und Handy (Elementor-Seite 386): ab Tablet untereinander, Schrift 14 px. */
@media (max-width: 1024px) {
	.zav-kontakt > .zav-kontakt__innen {
		flex-wrap: wrap;
	}

	.zav-kontakt .zav-kontakt__innen > .wp-block-group {
		flex: 0 0 100%;
	}

	.zav-kontakt .zav-kontakt__innen > .zav-kontakt__links {
		text-align: center;
	}

	.zav-kontakt .zav-kontakt__links > .zav-kontakt__titel {
		font-size: 45px;
	}

	.zav-kontakt .zav-kontakt__links > .zav-kontakt__text,
	.zav-kontakt .fluentform .ff-el-form-control,
	.zav-kontakt .fluentform .ff-el-input--label label,
	.zav-kontakt .fluentform .ff-el-tc .ff_t_c,
	.zav-kontakt .fluentform form .ff-btn-submit:not(.ff_btn_no_style) {
		font-size: 14px;
	}

	/* Elementor-Formular: Felder mindestens 40 px, Textfeld 4 Zeilen bei 14 px */
	.zav-kontakt .fluentform input.ff-el-form-control {
		min-height: 40px;
	}

	.zav-kontakt textarea.ff-el-form-control {
		height: 96px;
		min-height: 96px;
	}

	.zav-kontakt .fluentform .ff_submit_btn_wrapper {
		text-align: center;
	}
}

@media (max-width: 767px) {
	.zav-kontakt .zav-kontakt__innen > .zav-kontakt__links {
		margin: 50px 0;
	}

	.zav-kontakt .zav-kontakt__links > .zav-kontakt__titel {
		font-size: 28px;
		line-height: 1.1;
	}

	.zav-kontakt .zav-kontakt__rechts > .fluentform {
		margin: 50px 0;
	}
}

/* Über uns auf Tablet und Handy (Elementor-Seite 504). */
@media (max-width: 1024px) {
	.zav-main > .wp-block-post-content > .zav-zweispalter {
		margin: 5% 0 0;
		padding: 0 5%;
	}

	.zav-main > .wp-block-post-content > .zav-zweispalter--m12 {
		margin: 15% 0 0;
	}

	.zav-zweispalter > .zav-zweispalter__innen,
	.zav-zweispalter--zentriert > .zav-zweispalter__innen {
		gap: 3%;
		justify-content: flex-end;
		align-items: flex-start;
	}

	.zav-zweispalter .zav-zweispalter__innen > .zav-zweispalter__spalte {
		gap: 15px;
	}

	/* Erste Spalte von «Über uns»: oben und links ausgerichtet, Knopf damit links */
	.zav-zweispalter--mitte-links .zav-zweispalter__innen > .zav-zweispalter__spalte:first-child {
		gap: 15px;
		justify-content: flex-start;
		align-items: flex-start;
	}

	.zav-zweispalter--mitte-links .zav-zweispalter__innen > .zav-zweispalter__spalte:first-child > * {
		max-width: 100%;
	}

	.zav-zweispalter--mitte-links .zav-zweispalter__innen > .zav-zweispalter__spalte:last-child {
		gap: 0;
		justify-content: center;
	}

	.zav-zweispalter .zav-zweispalter__spalte > .zav-leicht,
	.zav-zweispalter .zav-zweispalter__spalte > .zav-leicht > * {
		font-size: 14px;
	}

	.zav-main .zav-zweispalter .wp-block-heading.zav-grosstitel,
	.zav-main .zav-rastertitel .wp-block-heading.zav-grosstitel {
		font-size: 42px;
	}

	.zav-main > .wp-block-post-content > .zav-rastertitel {
		margin-top: 15%;
	}

	.zav-raster > .zav-raster__innen {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-rows: 1fr; /* Elementor-Raster: Zeilen gleich hoch */
	}
}

@media (max-width: 767px) {
	.zav-main > .wp-block-post-content > .zav-zweispalter {
		margin: 14% 0 0;
	}

	.zav-main > .wp-block-post-content > .zav-zweispalter--m12 {
		margin: 25% 0 0;
	}

	/* Dritter Abschnitt (der zweite m12-Abschnitt ohne Umkehrung): 20 % Abstand nach unten */
	.zav-main > .wp-block-post-content > .zav-zweispalter--m12:not(.zav-zweispalter--handy-umgekehrt) {
		margin-bottom: 20%;
	}

	.zav-zweispalter > .zav-zweispalter__innen,
	.zav-zweispalter--zentriert > .zav-zweispalter__innen {
		gap: 0;
	}

	.zav-zweispalter--handy-umgekehrt > .zav-zweispalter__innen {
		flex-direction: column-reverse;
		align-items: stretch;
		gap: 50px;
	}

	.zav-zweispalter--handy-umgekehrt .zav-zweispalter__innen > .zav-zweispalter__spalte {
		align-items: stretch;
	}

	.zav-zweispalter--handy-umgekehrt .wp-block-buttons {
		justify-content: center;
	}

	.zav-zweispalter--mitte-links .zav-zweispalter__innen > .zav-zweispalter__spalte:last-child {
		padding: 15% 0;
	}

	.zav-main .zav-zweispalter .wp-block-heading.zav-grosstitel,
	.zav-main .zav-rastertitel .wp-block-heading.zav-grosstitel {
		font-size: 28px;
	}

	.zav-main .wp-block-image.zav-bild-hoch {
		width: 70%;
		margin: 0 auto;
	}

	.zav-main .wp-block-image.zav-bild-hoch img {
		height: 230px;
	}

	.zav-raster > .zav-raster__innen {
		grid-template-columns: minmax(0, 1fr);
		grid-auto-rows: auto;
	}
}

/* Mitgliedschaft auf Tablet und Handy. Elementor: Tablet bis 1024 px, Handy bis 767 px, Tablet-Werte gelten
   auch auf dem Handy, solange dort nichts eigenes gesetzt ist. Senkrechte %-Abstände in Boxen rechnet Elementor
   von der Innenbreite (15 % bei 5 % Seitenabstand = 13,5 % der Seite). */
@media (max-width: 1024px) {
	.zav-hero {
		padding: 0 5%;
	}

	.zav-hero > .zav-hero__innen {
		flex-direction: column-reverse;
		justify-content: space-around;
		gap: 63px;
		min-height: 100vh;
		box-sizing: border-box;
		padding: 5% 0;
	}

	.zav-hero .zav-hero__innen > .zav-collage__bilder,
	.zav-hero .zav-hero__innen > .zav-aufruf {
		flex: 0 0 auto;
		width: 100%;
		box-sizing: border-box;
	}

	.zav-hero .zav-hero__innen > .zav-collage__bilder {
		align-items: stretch;
		gap: 20px;
	}

	.zav-hero .zav-collage__bilder > .zav-collage__spalte {
		gap: 30px;
	}

	.zav-main .wp-block-image.zav-collage--klein {
		width: 50%;
	}

	.zav-main .wp-block-image.zav-collage--gross {
		width: 85%;
	}

	.zav-main .zav-collage__spalte:first-child > .wp-block-image.zav-collage {
		margin-left: auto;
	}

	.zav-main .zav-collage__spalte:last-child > .wp-block-image.zav-collage {
		margin-left: 0;
	}

	.zav-hero .zav-hero__innen > .zav-aufruf {
		padding-right: 15%;
	}

	.zav-main .zav-aufruf > .wp-block-heading.zav-mittel-titel {
		font-size: 42px;
	}

	.zav-hero .zav-aufruf > .zav-aufruf__text {
		padding-right: 30%;
	}

	.zav-main .zav-aufruf__text > p {
		font-size: 16px;
	}

	.zav-aufruf .wp-block-button.is-style-zav-gross .wp-block-button__link {
		font-size: 14px;
	}

	.zav-main .zav-vorteile > .wp-block-heading.zav-grosstitel,
	.zav-main .zav-stimmen-box > .wp-block-heading.zav-mittel-titel,
	.zav-main .zav-faq-sektion > .wp-block-heading.zav-grosstitel {
		font-size: 45px;
	}

	.zav-main > .wp-block-post-content > .zav-vorteile {
		margin-top: 15%;
	}

	.zav-vorteile {
		padding: 7.2% 5%;
	}

	.zav-vorteile > .zav-vorteile__reihe {
		flex-wrap: wrap;
		justify-content: center;
		gap: 95px;
		padding: 0 8%;
	}

	.zav-vorteile .zav-vorteile__reihe > .zav-vorteil {
		flex: 0 0 25%;
	}

	.zav-main .zav-vorteil > .zav-vorteil__text {
		font-size: 14px;
	}

	.zav-main > .wp-block-post-content > .zav-stimmen-sektion {
		margin-top: 15%;
	}

	.zav-main .zav-stimmen-sektion {
		flex-wrap: wrap;
		padding: 0 5%;
	}

	.zav-stimmen-sektion > .zav-stimmen-box,
	.zav-stimmen-sektion > .zav-stimmen {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.zav-stimmen-sektion > .zav-stimmen-box {
		text-align: center;
	}

	.zav-stimmen-sektion > .zav-stimmen {
		margin-top: 10%;
	}


	.zav-main .zav-preise {
		flex-wrap: wrap;
		padding: 0 5%;
		gap: 2%;
	}

	.zav-preise > .zav-preis {
		flex: 0 0 49%;
	}

	.zav-preis__zahl {
		font-size: 32px;
	}

	/* Elementor: Preiszeile so hoch wie 0,8 × Schriftgrösse, Listenzeilen bei 14 px Schrift 25 px hoch. */
	.zav-main .zav-preis > .zav-preis__betrag {
		height: 25.6px;
	}

	.zav-preis__liste li {
		min-height: 25px;
	}

	.zav-preis__periode,
	.zav-preis__liste li,
	.zav-preis__knopf .wp-block-button__link {
		font-size: 14px;
	}

	.zav-main .zav-preis--klein > .zav-preis__liste {
		padding-bottom: 150px;
	}

	/* Elementor streckt die Liste nicht: der Knopf sitzt direkt darunter, die Karte bleibt kürzer */
	.zav-main .zav-preis > .zav-preis__liste {
		flex-grow: 0;
	}

	.zav-main .zav-preis--gross > .zav-preis__liste {
		padding-bottom: 87px;
	}

	.zav-preis > .zav-preis__fuss {
		padding-bottom: 25px;
	}

	.zav-main > .wp-block-post-content > .zav-faq-sektion {
		margin: 15% 0 0;
		padding: 0 5%;
	}

	.zav-faq-sektion > .zav-faq__spalten {
		flex-direction: column;
		gap: 30px;
	}

	.zav-faq-sektion .zav-faq__spalten > .zav-faq-liste {
		flex: 0 0 auto;
		padding-top: 0;
		border-top: 0;
	}

	.zav-faq-sektion .zav-faq > summary,
	.zav-main .zav-faq-sektion .zav-faq > :not(summary) {
		font-size: 14px;
	}
}

@media (max-width: 767px) {
	.zav-hero > .zav-hero__innen {
		gap: 48px;
		min-height: 80vh;
	}

	.zav-hero .zav-hero__innen > .zav-collage__bilder {
		justify-content: center;
		align-items: center;
		gap: 12px;
	}

	.zav-hero .zav-collage__bilder > .zav-collage__spalte {
		flex: 0 0 45%;
		gap: 15px;
	}

	.zav-main .wp-block-image.zav-collage--klein {
		width: 60%;
	}

	.zav-main .wp-block-image.zav-collage--gross {
		width: 100%;
	}

	.zav-main .wp-block-image.zav-collage--klein img {
		height: 70px;
	}

	.zav-main .wp-block-image.zav-collage--gross img {
		height: 140px;
	}

	.zav-hero .zav-hero__innen > .zav-aufruf {
		padding-right: 0;
	}

	.zav-main .zav-aufruf > .wp-block-heading.zav-mittel-titel {
		text-align: left;
	}

	.zav-hero .zav-aufruf > .zav-aufruf__text {
		padding-right: 0;
	}

	.zav-main .zav-aufruf > .wp-block-heading.zav-mittel-titel,
	.zav-main .zav-vorteile > .wp-block-heading.zav-grosstitel,
	.zav-main .zav-stimmen-box > .wp-block-heading.zav-mittel-titel,
	.zav-main .zav-faq-sektion > .wp-block-heading.zav-grosstitel {
		font-size: 28px;
		line-height: 1.1;
	}

	.zav-main .zav-aufruf__text > p {
		font-size: 14px;
	}

	.zav-aufruf > .wp-block-buttons {
		justify-content: center;
	}

	.zav-aufruf .wp-block-button.is-style-zav-gross .wp-block-button__link {
		padding: 15px 35px;
	}

	.zav-main > .wp-block-post-content > .zav-vorteile {
		margin-top: 25%;
	}

	.zav-vorteile {
		padding: 13.5% 5%;
	}

	/* In Elementor stehen Titel und Reihe in einem Flex-Container: die Abstände addieren sich. */
	.zav-main .zav-vorteile > .wp-block-heading.zav-grosstitel {
		margin-bottom: 0;
	}

	.zav-vorteile > .zav-vorteile__reihe {
		margin-top: calc(50px + 10%);
		gap: 45px;
	}

	.zav-vorteile .zav-vorteile__reihe > .zav-vorteil {
		flex: 0 0 45%;
	}

	.zav-main .zav-vorteil > .zav-vorteil__titel {
		font-size: 18px;
	}

	.zav-main > .wp-block-post-content > .zav-stimmen-sektion {
		margin-top: 25%;
	}

	.zav-main .zav-stimmen-sektion {
		flex-direction: column;
		min-height: 390px;
	}

	.zav-stimmen-sektion > .zav-stimmen-box {
		padding: 15%;
	}

	.zav-stimmen-sektion > .zav-stimmen {
		min-height: 390px;
		align-content: center;
	}

	.zav-main > .wp-block-post-content > .zav-preise {
		margin-top: 30%;
	}

	.zav-main .zav-preise {
		gap: 38px;
	}

	.zav-preise > .zav-preis {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.zav-preis__zahl {
		font-size: 28px;
	}

	.zav-main .zav-preis > .zav-preis__betrag {
		height: 22.4px;
	}

	.zav-main .zav-preis__kopf > .zav-preis__titel {
		font-size: 18px;
	}

	.zav-main .zav-preis--klein > .zav-preis__liste,
	.zav-main .zav-preis--gross > .zav-preis__liste {
		padding-bottom: 100px;
	}

	.zav-preis > .zav-preis__fuss {
		padding-bottom: 50px;
	}

	.zav-main > .wp-block-post-content > .zav-faq-sektion {
		margin-top: 25%;
	}

	.zav-main .zav-faq-sektion .zav-faq > :not(summary) {
		padding-right: 0;
	}

	.zav-main .zav-faq-sektion .zav-faq > :not(summary):first-of-type {
		padding-top: 0;
	}

	.zav-main .zav-faq-sektion .zav-faq > :last-child {
		padding-bottom: 30px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.is-style-zav-slider > .zav-slider__spur,
	.wp-block-button.is-style-zav-pfeil .wp-block-button__link {
		transition: none;
	}
}

/* Lose Inline-Inhalte aus dem Elementor-Texteditor (ohne <p> im Original): kein Absatzabstand.
   Am Dateiende, damit die Regel die Absatzregeln gleicher Gewichtung schlägt. */
.zav-main p.zav-lose {
	margin: 0;
}

/* Das Sprungmenü ist fest positioniert und fällt aus dem Fluss. Im Original stand es als leeres Element
   mit 20 px Abstand unter dem Hinweis: den Abstand behalten. */
.zav-main .zav-ec > .zav-hinweis:has(+ .zav-punktnav) {
	margin-bottom: 20px;
}
