/* Kaltzahn Basis-Styles - ergaenzt theme.json, kein Layout-Framework. */

/* Lange Woerter/Inhalte duerfen Grids nicht sprengen */
* {
	min-width: 0;
}

img {
	height: auto;
	max-width: 100%;
}

/* Fokus-Stile fuer Tastaturnutzer */
:where(a, button, input, textarea, select):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* Header-Logo */
.kz-logo {
	display: block;
	line-height: 0;
}

.kz-logo svg {
	height: 72px;
	width: auto;
}

/* Dropdown der Hauptnavigation */
.kz-header .wp-block-navigation__submenu-container {
	min-width: 340px !important;
	background: #ffffff !important;
	border: 1px solid #ececec !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1) !important;
	padding: 0.5rem !important;
	margin-top: 0.75rem;
	overflow: hidden;
}

/* Unsichtbare Hover-Bruecke ueber die Luecke zwischen Menuepunkt und Dropdown,
   sonst klappt das Untermenue zu, bevor man es erreicht. */
.kz-header .wp-block-navigation-item.has-child::after {
	content: "";
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	height: 1rem;
}

.kz-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: 0.6rem 0.9rem !important;
	border-radius: 8px;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease;
}

.kz-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.kz-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--preset--color--mint-light);
	color: var(--wp--preset--color--accent-dark) !important;
}

/* Keine Unterstreichung an Top-Level-Links, dezenter Hover */
.kz-header .wp-block-navigation-item__content {
	text-decoration: none;
}

.kz-header > .wp-block-group .wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--accent-dark);
	text-decoration: none;
}

/* Footer-Linklisten ohne Aufzählungspunkte */
.kz-footer-links {
	list-style: none;
	padding-left: 0;
}

.kz-footer-links li {
	margin-bottom: 0.5rem;
}

.kz-footer-links a,
.kz-footer a {
	text-decoration: none;
}

.kz-footer a:hover {
	text-decoration: underline;
}

/* Hero-Karte mit dezentem Verlauf (wie Live-Design) */
.kz-hero {
	background: linear-gradient(135deg, #eaf9ee 0%, #ffffff 45%);
	border-radius: 24px;
}

/* Pill-Badge (z. B. "Ihre Zahngesundheit in besten Händen") */
.kz-pill {
	display: inline-block;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 999px;
	background: var(--wp--preset--color--mint-light);
	color: var(--wp--preset--color--accent-dark);
	font-size: var(--wp--preset--font-size--small);
	padding: 0.35em 1.1em;
	width: fit-content;
}

.kz-pill-center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Weißer Sekundär-Button mit Schatten (Hero "Jetzt anrufen") */
.kz-btn-white .wp-block-button__link {
	background: #ffffff;
	color: var(--wp--preset--color--contrast);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.kz-btn-white .wp-block-button__link:hover {
	background: var(--wp--preset--color--gray-light);
	color: var(--wp--preset--color--contrast);
}

/* Eyebrow-Zeile (z. B. "UNSERE PHILOSOPHIE") */
.kz-eyebrow {
	color: var(--wp--preset--color--accent);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

/* Leistungs-Karte */
.kz-card {
	background: var(--wp--preset--color--base);
	border: 1px solid #ececec;
	border-radius: 16px;
	padding: 1.75rem;
	height: 100%;
	transition: transform 0.2s ease;
}

.kz-card:hover {
	transform: translateY(-3px);
}

.kz-card h3 a {
	color: var(--wp--preset--color--accent-dark);
	text-decoration: none;
}

.kz-card .kz-more {
	text-decoration: none;
	font-weight: 500;
}

/* Icon-Box (Über-Uns-Sektion) */
.kz-iconbox-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--wp--preset--color--mint);
	display: flex;
	align-items: center;
	justify-content: center;
}

.kz-iconbox-icon svg {
	width: 22px;
	height: 22px;
	fill: var(--wp--preset--color--accent-dark);
}

.kz-iconbox h3 {
	font-size: 1.125rem;
	margin: 0 0 0.35rem;
}

.kz-iconbox p {
	margin: 0;
	color: var(--wp--preset--color--gray);
}

/* Abgerundete Content-Bilder */
.kz-img-rounded img {
	border-radius: 16px;
}

/* Hero-Karte der Leistungsseiten: weiße Karte, Bild randbündig rechts */
.kz-hero-card {
	background: var(--wp--preset--color--base);
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
}

/* Graue Hero-Sektion wie live: abgerundet, symmetrisches Padding */
.wp-block-post-content > .has-gray-light-background-color:has(.kz-hero-card) {
	padding: 48px 32px !important;
	border-radius: 32px;
}

.kz-hero-card .kz-hero-text {
	padding: 70px;
}

.kz-hero-card .kz-hero-text > * + * {
	margin-block-start: 2rem !important;
}

.kz-hero-card .kz-hero-text h1 {
	line-height: 1.1;
}

/* Bildspalte auf volle Kartenhöhe strecken */
.kz-hero-card .kz-hero-img {
	align-self: stretch !important;
	display: flex;
	margin: 0;
}

.kz-hero-card .kz-hero-img figure {
	width: 100%;
	margin: 0;
}

.kz-hero-card .kz-hero-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

@media (max-width: 781px) {
	.kz-hero-card .kz-hero-img {
		display: none;
	}

	.kz-hero-card .kz-hero-text {
		padding: 40px 28px;
		text-align: center;
	}

	.kz-hero-card .kz-hero-text h1 {
		font-size: 36px !important;
		hyphens: auto;
		overflow-wrap: break-word;
		/* Nur lange Woerter trennen (z. B. Wurzelbehandlung), nicht "moderne" */
		hyphenate-limit-chars: 12 6 6;
		-webkit-hyphenate-limit-before: 6;
		-webkit-hyphenate-limit-after: 6;
	}

	.kz-hero-card .kz-hero-text .wp-block-buttons {
		justify-content: center;
	}

	.wp-block-post-content > .has-gray-light-background-color:has(.kz-hero-card) {
		padding: 24px 16px !important;
		border-radius: 24px;
	}
}

/* Icon-Liste der Leistungsseiten: plain grüne Icons ohne Kreis */
.kz-icon-plain {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
}

.kz-icon-plain svg {
	width: 48px;
	height: 48px;
}

.kz-icon-plain svg,
.kz-icon-plain svg path {
	fill: var(--wp--preset--color--accent);
}

/* Zähler-Karten (z. B. Wurzelbehandlung) */
.kz-counter-icon {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--wp--preset--color--mint-light);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

.kz-counter-icon svg {
	width: 28px;
	height: 28px;
}

.kz-counter-icon svg,
.kz-counter-icon svg path {
	fill: var(--wp--preset--color--accent);
}

.kz-counter-num {
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--accent);
	margin: 0.75rem 0 0.25rem;
}

/* Angebots-Karten: Bild randbündig, Text darunter bzw. daneben */
.kz-offer-card {
	background: var(--wp--preset--color--base);
	border: 1px solid #ececec;
	border-radius: 16px;
	overflow: hidden;
	height: 100%;
}

.kz-offer-card .kz-offer-img,
.kz-offer-card .kz-offer-img figure {
	margin: 0;
}

.kz-offer-card .kz-offer-img img {
	display: block;
	width: 100%;
	height: 260px;
	object-fit: cover;
}

.kz-offer-card .kz-offer-body {
	padding: var(--wp--preset--spacing--50);
}

/* Breite Angebots-Karte: Bild füllt rechte Spalte */
.kz-offer-wide {
	background: var(--wp--preset--color--base);
	border: 1px solid #ececec;
	border-radius: 16px;
	overflow: hidden;
}

.kz-offer-wide .kz-offer-body {
	padding: var(--wp--preset--spacing--50);
}

.kz-offer-wide .kz-offer-img,
.kz-offer-wide .kz-offer-img figure {
	height: 100%;
	margin: 0;
}

.kz-offer-wide .kz-offer-img img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

/* Dunkelgrüne Karte (Team-Profil, Philosophie & Werte) */
.kz-dark-card {
	background: #2b4a35;
	border-radius: 20px;
	overflow: hidden;
	color: #ffffff;
}

.kz-dark-card h1,
.kz-dark-card h2,
.kz-dark-card h3 {
	color: #ffffff;
}

/* Weiße Karten innerhalb der dunklen Karte behalten dunkle Titel */
.kz-dark-card .kz-card h2,
.kz-dark-card .kz-card h3 {
	color: var(--wp--preset--color--contrast);
}

.kz-dark-card .kz-eyebrow-light {
	color: rgba(255, 255, 255, 0.65);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

.kz-dark-card .kz-text-light {
	color: rgba(255, 255, 255, 0.85);
}

.kz-dark-card .kz-profile-img figure {
	height: 100%;
	margin: 0;
}

/* Bildspalte auf volle Kartenhoehe strecken (Spalten sind vertikal zentriert);
   kein height auf der Spalte selbst, sonst greift align-self:stretch nicht */
.kz-dark-card .kz-profile-img.wp-block-column {
	align-self: stretch;
	height: auto;
}

.kz-dark-card .kz-profile-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Zitat-Box im Team-Profil */
.kz-quote {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(165, 214, 167, 0.4);
	border-radius: 12px;
	padding: 1.1rem 1.4rem;
	font-style: italic;
	color: #d9efe0;
}

/* Initialen-Avatar (Team-Karten) */
.kz-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: var(--wp--preset--color--mint);
	color: var(--wp--preset--color--accent-dark);
	font-weight: 600;
	font-size: 1.25rem;
}

/* Label-Chips (SEIT 1993, HIGHTECH-ERHALT) */
.kz-chip {
	display: inline-block;
	background: var(--wp--preset--color--mint-light);
	color: var(--wp--preset--color--accent-dark);
	border-radius: 6px;
	padding: 0.2em 0.7em;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.kz-chip-orange {
	background: #fdf1e3;
	color: #c77b2b;
}

/* Hinweis-Banner (Pünktlichkeit, Anfahrt) */
.kz-notice {
	background: var(--wp--preset--color--mint-light);
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: 8px;
	padding: 1rem 1.25rem;
}

.kz-notice p {
	margin: 0.25rem 0;
}

/* Terminanfrage-Formular */
.kz-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.9rem;
}

.kz-form .kz-form-full {
	grid-column: 1 / -1;
}

.kz-form input[type="text"],
.kz-form input[type="email"],
.kz-form input[type="tel"],
.kz-form select,
.kz-form textarea {
	width: 100%;
	padding: 0.7rem 0.9rem;
	border: 1px solid #dcdcdc;
	border-radius: 8px;
	background: #ffffff;
	font: inherit;
	color: var(--wp--preset--color--contrast);
}

.kz-form input:focus,
.kz-form select:focus,
.kz-form textarea:focus {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 0;
	border-color: var(--wp--preset--color--accent);
}

.kz-form .kz-form-accept {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--gray);
}

.kz-form .kz-form-accept input {
	margin-top: 0.3rem;
}

.kz-form button[type="submit"] {
	background: var(--wp--preset--color--accent);
	color: #ffffff;
	border: none;
	border-radius: 999px;
	padding: 0.8rem 2.2rem;
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	width: fit-content;
}

.kz-form button[type="submit"]:hover {
	background: var(--wp--preset--color--accent-dark);
}

.kz-form-feedback {
	display: none;
	border-radius: 8px;
	padding: 0.9rem 1.2rem;
	margin-bottom: 1rem;
	font-weight: 500;
}

.kz-form-feedback.kz-ok {
	background: var(--wp--preset--color--mint-light);
	color: var(--wp--preset--color--accent-dark);
}

.kz-form-feedback.kz-err {
	background: #fdecea;
	color: #b3261e;
}

@media (max-width: 600px) {
	.kz-form {
		grid-template-columns: 1fr;
	}
}

/* Kontakt-Infokarten */
.kz-info-card {
	display: flex;
	gap: 1rem;
	align-items: center;
	background: var(--wp--preset--color--base);
	border: 1px solid #ececec;
	border-radius: 14px;
	padding: 1.1rem 1.4rem;
	margin-bottom: 1rem;
}

.kz-info-card .kz-info-label {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
	color: var(--wp--preset--color--gray);
	margin: 0 0 0.15rem;
}

.kz-info-card p {
	margin: 0;
}

.kz-info-card a {
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

/* Karten-Embed (Google Maps) */
.kz-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
	border: 0;
	border-radius: 16px;
}

/* FAQ-Akkordeon (Details-Block) */
.kz-faq {
	background: var(--wp--preset--color--base);
	border: 1px solid #ececec;
	border-radius: 14px;
	padding: 0;
	margin-bottom: 1rem;
	overflow: hidden;
}

.kz-faq summary {
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	padding: 1.1rem 3rem 1.1rem 1.4rem;
	position: relative;
}

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

.kz-faq summary::after {
	content: "+";
	position: absolute;
	right: 1.4rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wp--preset--color--accent);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
}

.kz-faq[open] summary::after {
	content: "–";
}

.kz-faq[open] summary {
	color: var(--wp--preset--color--accent-dark);
}

.kz-faq > :not(summary) {
	padding: 0 1.4rem;
	color: var(--wp--preset--color--gray);
}

.kz-faq > p:last-child {
	padding-bottom: 1.25rem;
}

/* Ratgeber-Beitragskarten (Query Loop) */
.kz-post-card {
	background: var(--wp--preset--color--base);
	border: 1px solid #ececec;
	border-radius: 16px;
	overflow: hidden;
	height: 100%;
	transition: transform 0.2s ease;
}

.kz-post-card:hover {
	transform: translateY(-3px);
}

.kz-post-card .wp-block-post-featured-image img {
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.kz-post-card .wp-block-post-featured-image {
	margin: 0;
}

.kz-post-card .kz-post-body {
	padding: 1.5rem;
}

.kz-post-card .wp-block-post-terms {
	font-size: 0.75rem;
}

.kz-post-card .wp-block-post-terms a {
	display: inline-block;
	background: var(--wp--preset--color--mint-light);
	color: var(--wp--preset--color--accent-dark);
	border-radius: 999px;
	padding: 0.2em 0.9em;
	text-decoration: none;
	font-weight: 600;
}

.kz-post-card .wp-block-post-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.kz-post-card .wp-block-post-title a:hover {
	color: var(--wp--preset--color--accent-dark);
}

.kz-post-card .wp-block-post-excerpt__more-link {
	color: var(--wp--preset--color--accent-dark);
	font-weight: 500;
	text-decoration: none;
}

/* Signatur-Strich (Philosophie) */
.kz-sign {
	border-top: 2px solid var(--wp--preset--color--accent);
	width: 48px;
}

/* Sanftes Scrollen zu Ankern (FAQ, Sprungmarken) */
html {
	scroll-behavior: smooth;
}

/* Schwebender Scroll-Button */
.kz-smart-btn {
	position: fixed;
	bottom: 40px;
	right: 40px;
	width: 48px;
	height: 48px;
	padding: 0;
	background-color: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(5px);
	border: 1.5px solid #3EA44B;
	color: #3EA44B;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 99999;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	animation: kzFloatGentle 2.5s infinite ease-in-out;
}

.kz-smart-btn:hover,
.kz-smart-btn:focus-visible {
	background-color: #3EA44B;
	color: #ffffff;
	transform: scale(1.05);
	box-shadow: 0 10px 25px rgba(62, 164, 75, 0.25);
	animation-play-state: paused;
}

.kz-smart-btn:focus-visible {
	outline: 2px solid #111827;
	outline-offset: 3px;
}

.kz-arrow-svg {
	width: 24px;
	height: 24px;
	transition: transform 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.kz-smart-btn.is-bottom .kz-arrow-svg {
	transform: rotate(180deg);
}

.kz-smart-btn.is-bottom {
	background-color: #111827;
	border-color: #111827;
	color: #ffffff;
	animation: none;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.kz-smart-btn.is-bottom:hover {
	background-color: #3EA44B;
	border-color: #3EA44B;
	transform: translateY(-4px);
}

@keyframes kzFloatGentle {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(6px); }
}

@media (max-width: 768px) {
	.kz-smart-btn {
		bottom: 25px;
		right: 25px;
		width: 42px;
		height: 42px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.kz-smart-btn {
		animation: none;
	}
}

/* ---------- Blogartikel (Single Post) – cleaner Look wie Live-Seite ---------- */

.kz-back-link {
	margin-bottom: 1.5rem;
}

.kz-back-link a {
	color: #888888;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.kz-back-link a:hover {
	color: var(--wp--preset--color--accent);
}

.kz-single .wp-block-post-title {
	line-height: 1.15;
	margin-bottom: 1rem;
}

.kz-single-meta {
	margin-bottom: 0.5rem;
}

.kz-single-meta .wp-block-post-date {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--wp--preset--color--gray);
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.kz-single-meta .wp-block-post-date::before {
	content: "";
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	background-color: var(--wp--preset--color--accent);
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l352 0 0 256c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256z"/></svg>') center / contain no-repeat;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l352 0 0 256c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256z"/></svg>') center / contain no-repeat;
}

.kz-single-img img {
	border-radius: 24px;
}

/* Fließtext: groß und luftig wie live */
.kz-single .wp-block-post-content > p {
	font-size: 1.25rem;
	line-height: 1.8;
	color: #444444;
}

/* Zwischenüberschriften in Akzentgrün */
.kz-single .wp-block-post-content h2,
.kz-single .wp-block-post-content h3 {
	color: var(--wp--preset--color--accent);
	margin-top: 2.5rem;
}

.kz-single .wp-block-post-content h2 {
	font-size: 1.75rem;
}

.kz-single .wp-block-post-content h3 {
	font-size: 1.625rem;
}

/* Listen als helle Info-Boxen */
.kz-single .wp-block-post-content > ul,
.kz-single .wp-block-post-content > ol {
	background-color: #FCFDFC;
	border: 1px solid #EEF2EE;
	border-radius: 16px;
	padding: 35px 35px 35px 55px;
	font-size: 1.125rem;
	line-height: 1.8;
	color: #444444;
}

.kz-single .wp-block-post-content li {
	margin-bottom: 0.5rem;
}

.kz-single .wp-block-post-content li::marker {
	color: var(--wp--preset--color--accent);
}

@media (max-width: 781px) {
	.kz-single .wp-block-post-content > p {
		font-size: 1.125rem;
	}

	.kz-single .wp-block-post-content > ul,
	.kz-single .wp-block-post-content > ol {
		padding: 24px 24px 24px 40px;
	}
}

/* ---------- Mobiles Burger-Menue: Panel von oben wie Live-Seite ---------- */
@media (max-width: 599px) {
	/* Overlay nicht als Vollbild, sondern als Panel mit runden unteren Ecken */
	.kz-header .wp-block-navigation__responsive-container.is-menu-open {
		inset: 0 0 auto 0;
		height: auto;
		min-height: 0;
		max-height: 88vh;
		max-height: 88dvh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		background-color: #ffffff;
		border-radius: 0 0 28px 28px;
		box-shadow: 0 24px 48px rgba(0, 0, 0, 0.16);
		padding: 1.25rem 1.5rem 2rem;
	}

	/* Platz fuer Logo-Zeile, Logo links oben wie im geschlossenen Header */
	.kz-header .is-menu-open .wp-block-navigation__responsive-dialog {
		position: relative;
		padding-top: 76px;
	}

	.kz-header .is-menu-open .wp-block-navigation__responsive-dialog::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 190px;
		height: 60px;
		background: url('../img/logo.svg') left center / contain no-repeat;
	}

	/* Schliessen-Button rechts oben auf Logo-Hoehe */
	.kz-header .is-menu-open .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: 12px;
		right: 0;
		padding: 0.5rem;
		color: var(--wp--preset--color--contrast);
	}

	.kz-header .is-menu-open .wp-block-navigation__responsive-container-close svg {
		width: 26px;
		height: 26px;
	}

	/* Menueliste: rechtsbuendig, kompakte Abstaende */
	.kz-header .is-menu-open .wp-block-navigation__responsive-container-content {
		padding: 0;
	}

	.kz-header .is-menu-open .wp-block-navigation__container {
		width: 100%;
		align-items: flex-end;
		gap: 0.5rem;
	}

	.kz-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
	}

	.kz-header .is-menu-open .wp-block-navigation-item__content {
		font-size: 1.125rem;
		padding: 0.7rem 1rem;
	}

	/* Hover-Bruecke vom Desktop-Dropdown im Overlay deaktivieren */
	.kz-header .is-menu-open .wp-block-navigation-item.has-child::after {
		display: none;
	}

	/* "Leistungen"-Zeile: Mint-Pille mit gruenem Text und Pfeil wie live */
	.kz-header .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		background-color: var(--wp--preset--color--mint) !important;
		border-radius: 16px;
		color: var(--wp--preset--color--accent) !important;
		font-weight: 600;
		text-align: right;
	}

	.kz-header .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content::before {
		content: "";
		display: inline-block;
		width: 0.65em;
		height: 0.65em;
		margin-right: 0.6rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg) translateY(-0.15em);
		transition: transform 0.2s ease;
	}

	.kz-header .is-menu-open .wp-block-navigation__container > .has-child.kz-open > .wp-block-navigation-item__content::before {
		transform: rotate(225deg) translateY(-0.15em);
	}

	/* Untermenue: standardmaessig eingeklappt, oeffnet per Tipp auf "Leistungen" */
	.kz-header .is-menu-open .wp-block-navigation__submenu-container {
		display: none !important;
		width: 100%;
		min-width: 0 !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		padding: 0.25rem 0 0.5rem !important;
		margin: 0;
		align-items: flex-end;
		gap: 0.25rem;
	}

	.kz-header .is-menu-open .has-child.kz-open .wp-block-navigation__submenu-container {
		display: flex !important;
		flex-direction: column;
	}

	.kz-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		font-size: 1rem;
		padding: 0.45rem 1rem !important;
		color: var(--wp--preset--color--contrast) !important;
		white-space: normal;
		text-align: right;
	}
}

/* ---------- Lange Woerter in Ueberschriften mobil trennen (kein Overflow) ---------- */
@media (max-width: 781px) {
	h1, h2, h3, h4, h5, h6 {
		overflow-wrap: break-word;
		hyphens: auto;
		/* Nur lange Komposita trennen, kurze Woerter bleiben ganz */
		hyphenate-limit-chars: 14 6 6;
		-webkit-hyphenate-limit-before: 6;
		-webkit-hyphenate-limit-after: 6;
	}
}

/* Lange URLs im Fliesstext (z. B. Datenschutzerklaerung) umbrechen lassen */
.wp-block-post-content a {
	overflow-wrap: anywhere;
}
