/* =========================================================================
   Kidszone Header UI – mobiler Burger-Drawer
   Stylt die Theme-<ul> (.header-navbar__burger > ul) zu einem rechten Drawer.
   ========================================================================= */

/* Backdrop */
.kz-drawer-backdrop {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(15, 23, 39, .45);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility 0s .25s;
}
body.kz-drawer-open .kz-drawer-backdrop {
	opacity: 1;
	visibility: visible;
	transition: opacity .25s ease, visibility 0s 0s;
}

/* CTA ist ein Body-Element (immer im DOM) – auf Desktop ausblenden,
   nur im mobilen Drawer (Media-Query unten) sichtbar machen. */
.kz-drawer-cta {
	display: none;
}

/* Desktop: alle Header-Dropdowns einheitlich beige (wie das Mega-Menü),
   inkl. Benutzer-Menü beim Benutzernamen. Trifft nur direkte Dropdowns,
   nicht das als <div> injizierte Mega-Menü. */
.header-navbar__menu > ul > li > ul,
.header-navbar__menu > ul > li > ul ul {
	background: #f5f4d7 !important;
	border-color: #e6e3aa !important;
}

/* =========================================================================
   Sticky-Header in fixer Größe (Desktop + Mobile, kein Shrink)
   Nur .header-navbar wird fixiert; .site-header reserviert den Platz via
   padding-top (exakten Wert setzt das JS). position:fixed statt sticky, weil
   .site-container overflow:hidden hat (würde sticky brechen).
   ========================================================================= */
.site-header .header-navbar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: #f5f4d7;
	/* Theme-Unterkante (.header-navbar:last-child{border-bottom}) entfernen */
	border-bottom: 0 !important;
}
body.admin-bar .site-header .header-navbar {
	top: 32px;
}
@media screen and (max-width: 782px) {
	body.admin-bar .site-header .header-navbar {
		top: 46px;
	}
}
/* ≤600px: WP-Adminbar ist position:absolute (scrollt weg) -> kein Offset,
   sonst bleibt nach dem Wegscrollen der Adminbar eine 46px-Lücke oben. */
@media screen and (max-width: 600px) {
	body.admin-bar .site-header .header-navbar {
		top: 0;
	}
}

/* Overscroll/Bounce-Hintergrund beige statt weiß:
   - html beige färbt den Überscroll-Bereich (Canvas), OHNE den weißen Content
     (body #fff) zu verändern.
   - .site-header beige füllt den Spalt direkt unter dem fixen Header, der beim
     Runter-Bouncen des Contents kurz sichtbar wird.
   Beide treffen NICHT den weißen Inhaltsbereich (.site-content liegt auf body). */
html {
	background-color: #faf6c5;
}
/* Platz für den fixen Header reservieren (Fallback gegen Flash; JS setzt exakt). */
.site-header {
	padding-top: 100px;
	background: #faf6c5;
}
@media only screen and (max-width: 74.99em) {
	.site-header {
		padding-top: 100px;
	}
}

/* Desktop: Header etwas schmaler als Theme-Default (Logo 100x125 -> 84x105,
   Padding 1rem -> .75rem). Theme setzt .header-logo img{width:100px;height:125px};
   wir skalieren BEIDE Maße proportional (sonst gestaucht). */
@media only screen and (min-width: 75em) {
	.site-header .header-navbar {
		padding-top: .5rem;
		padding-bottom: .5rem;
	}
	.header-logo img {
		width: 64px !important;
		height: 80px !important;
	}
}

/* Mobiler Header noch schmaler: kleineres Logo + weniger Padding. */
@media only screen and (max-width: 74.99em) {
	.site-header .header-navbar {
		padding-top: .55rem;
		padding-bottom: .55rem;
	}
	.header-logo img {
		width: 60px !important;
		height: 75px !important;
	}
	.header-logo__name {
		font-size: 1.35rem;
	}
}

@media only screen and (max-width: 74.99em) {

	/* Drawer-Panel (= die fixe Theme-<ul>) */
	.header-navbar__burger > ul {
		left: auto !important;
		right: 0;
		bottom: 0;
		width: min(420px, 88vw);
		/* unten Platz lassen, damit Inhalt über den fixen CTA scrollen kann */
		padding: 0 0 6.5rem !important;
		/* !important: Theme setzt .header-navbar__burger>ul{background-color:#fff} */
		background: #f5f4d7 !important;
		box-shadow: -14px 0 44px rgba(7, 36, 86, .22);
		transform: translateX(100%);
		transition: transform .28s cubic-bezier(.4, 0, .2, 1);
	}
	body.kz-drawer-open .header-navbar__burger > ul {
		transform: translateX(0);
	}

	/* Theme-Schließen-Icon (×) ausblenden – wir haben einen eigenen Button */
	.header-navbar__burger > ul::before {
		display: none !important;
	}

	/* Kopfzeile */
	.kz-drawer-head {
		position: sticky;
		top: 0;
		z-index: 2;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 1.1rem 1.35rem;
		background: #f5f4d7;
		border-bottom: 1px solid rgba(7, 36, 86, .1);
	}
	.kz-drawer-brand {
		font-weight: 800;
		font-size: 1.15rem;
		letter-spacing: -.01em;
		color: #072456;
	}
	.kz-drawer-close {
		all: unset;
		box-sizing: border-box;
		cursor: pointer;
		width: 40px;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		font-size: 28px;
		line-height: 1;
		color: #072456;
		background: transparent;
		transition: color .15s ease;
	}
	.kz-drawer-close:hover,
	.kz-drawer-close:focus-visible {
		color: #f73838;
	}

	/* Link-Liste */
	.header-navbar__burger > ul > li {
		padding: 0 !important;
		margin: 0 !important;
		border-top: 1px solid rgba(7, 36, 86, .07);
	}
	.header-navbar__burger > ul > li:first-of-type {
		border-top: 0;
	}
	/* Rotes Tap-Highlight beim Antippen im Drawer (Buttons, Links, Akkordeon) */
	.header-navbar__burger > ul a,
	.header-navbar__burger > ul button,
	.kz-drawer-close,
	.kz-drawer-cta {
		-webkit-tap-highlight-color: rgba(247, 56, 56, .22);
	}
	.header-navbar__burger > ul > li > a {
		display: block;
		padding: 15px 1.35rem !important;
		font-size: 1.05rem !important;
		font-weight: 500;
		color: rgba(15, 23, 39, .9);
		transition: color .15s ease;
	}
	/* Highlight-/Aktiv-Farbe im Drawer: Rot */
	.header-navbar__burger > ul > li > a:hover,
	.header-navbar__burger > ul > li > a:focus,
	.header-navbar__burger > ul > li > a:active {
		color: #f73838;
	}
	.header-navbar__burger > ul > li.current-menu-item > a {
		color: #f73838;
		font-weight: 600;
	}
	.header-navbar__burger > ul > li.current-menu-item::before {
		left: 0 !important;
		background-color: #f73838 !important;
	}
	/* Chevron der Akkordeon-Eltern sauber rechts positionieren */
	.header-navbar__burger > ul > li.menu-item-has-children::after,
	.header-navbar__burger > ul > li.parent::after {
		right: 1.35rem !important;
		top: 1.15rem !important;
	}

	/* Mega-Akkordeon innerhalb des Drawers etwas einrücken */
	.header-navbar__burger .kz-mega {
		padding: 0 1.35rem .5rem !important;
	}

	/* Untermenüs (Benutzer-Konto etc.) */
	.header-navbar__burger > ul ul {
		padding-left: 1.35rem !important;
	}
	.header-navbar__burger > ul ul li a {
		padding: 11px 0 !important;
		font-size: .98rem !important;
		color: rgba(15, 23, 39, .7);
		transition: color .15s ease;
	}
	/* Highlight im Drawer auch für Untermenü- und Mega-Akkordeon-Links: Rot
	   (nur im Drawer, Desktop-Mega bleibt grün) */
	.header-navbar__burger > ul ul li a:hover,
	.header-navbar__burger > ul ul li a:focus,
	.header-navbar__burger > ul ul li a:active,
	.header-navbar__burger .kz-mega a:hover,
	.header-navbar__burger .kz-mega a:focus,
	.header-navbar__burger .kz-mega a:active {
		color: #f73838 !important;
	}

	/* Auf-/Zuklappen der obersten Eltern-Punkte (per JS-Klasse .kz-open) */
	.header-navbar__burger > ul > li > ul {
		display: none !important;
	}
	.header-navbar__burger > ul > li.kz-open > ul {
		display: block !important;
	}
	.header-navbar__burger > ul > li.kz-open::after {
		transform: rotate(90deg) !important;
	}

	/* CTA unten (sticky) */
	.kz-drawer-cta {
		display: block;
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 10001;
		width: min(420px, 88vw);
		padding: .9rem 1.1rem calc(.9rem + env(safe-area-inset-bottom, 0px));
		background: #f5f4d7;
		border-top: 1px solid rgba(7, 36, 86, .1);
		transform: translateX(100%);
		visibility: hidden;
		transition: transform .28s cubic-bezier(.4, 0, .2, 1), visibility 0s .28s;
	}
	body.kz-drawer-open .kz-drawer-cta {
		transform: translateX(0);
		visibility: visible;
		transition: transform .28s cubic-bezier(.4, 0, .2, 1), visibility 0s 0s;
	}
	.kz-drawer-cta:hover {
		text-decoration: none;
	}
	.kz-drawer-cta__btn {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: .5rem;
		padding: 14px;
		border-radius: 12px;
		background: #f73838;
		color: #fff;
		font-weight: 700;
		font-size: 1.02rem;
		box-shadow: 0 8px 18px rgba(247, 56, 56, .3);
		transition: background-color .15s ease;
	}
	.kz-drawer-cta:hover .kz-drawer-cta__btn,
	.kz-drawer-cta:focus-visible .kz-drawer-cta__btn {
		background: #e02424;
	}
}
