/* Thayarunde Mobilmenü */
:root {
	--tmm-green: #00612f;
	--tmm-green-dark: #00401f;
	--tmm-accent: #118b34;
	--tmm-soft: #eef5ee;
	--tmm-warn: #e02b20;
	--tmm-text: #1f2a22;
	--tmm-muted: #5f6b62;
	--tmm-line: #e2e8e2;
}

/* Nur auf Smartphone/Tablet: Divi-Mobilmenü ausblenden, eigenes einblenden */
.tmm-bar, .tmm-panel, .tmm-overlay { display: none; }

/* Breite wie TMM_BREAKPOINT in thayarunde-mobilmenue.php */
@media (max-width: 1112px) {
	/* Divi-Navigation samt Suchsymbol ausblenden (die Suche gibt es im Menü) */
	#et-top-navigation, #et_mobile_nav_menu, .mobile_nav, #et_top_search { display: none !important; }
	/* Zwischen 981 und 1112 px zeigt Divi noch die Desktop-Kopfzeile – auf die schlanke Mobil-Kopfzeile umstellen. */
	#top-header { display: none !important; }
	#page-container { padding-top: 80px !important; }
	#main-header .logo_container { top: 0 !important; height: 80px !important; }
	#main-header #logo { max-height: 72px !important; }
	/* Das Divi-Logo ist absolut positioniert – ohne das alte Menüsymbol braucht die Kopfzeile eine Mindesthöhe. */
	#main-header .et_menu_container { position: relative; min-height: 80px; }

	/* Kopfzeile bleibt oben: beim Runterscrollen weg, beim Hochscrollen wieder da */
	/* Divi-Anpassungen der Desktop-Kopfzeile beim Scrollen (Verschieben, grüner Rand, Bogen) gelten hier nicht. */
	#main-header {
		position: fixed !important;
		top: 0 !important;
		transform: none !important;
		border-width: 0 !important;
		transition: transform .3s ease, box-shadow .3s ease !important;
	}
	#main-header.et-fixed-header::before { content: none !important; }
	.admin-bar #main-header { top: var(--wp-admin--admin-bar--height, 0px) !important; }
	html.tmm-scrolled #main-header { box-shadow: 0 2px 12px rgba(0, 0, 0, .12) !important; }
	html.tmm-hdr-hidden #main-header { transform: translateY(calc(-100% - var(--wp-admin--admin-bar--height, 0px) - 12px)) !important; }

	/* Leiste rechts in der Kopfzeile: Sprachumschalter (TranslatePress) + Menü-Knopf */
	.tmm-bar {
		display: flex;
		align-items: center;
		gap: 10px;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		z-index: 2;
	}
	.tmm-bar-lang { position: relative; }
	.tmm-bar-lang .trp-language-switcher { margin: 0 !important; }

	.tmm-toggle {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		height: 44px;
		padding: 0 14px 0 12px;
		border: 0;
		border-radius: 22px;
		background: var(--tmm-tina, #1e73be);
		color: #fff;
		font: 700 15px/1 inherit;
		font-family: inherit;
		cursor: pointer;
		box-shadow: 0 2px 8px color-mix(in srgb, var(--tmm-tina, #1e73be) 35%, transparent);
	}
	.tmm-toggle:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 2px; }
	.tmm-burger { display: grid; gap: 4px; width: 20px; }
	.tmm-burger span { display: block; height: 2px; border-radius: 2px; background: currentColor; }
	.tmm-burger span:nth-child(2) { width: 70%; }

	.tmm-overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 100000;
		background: rgba(0, 32, 15, .45);
		opacity: 0;
		transition: opacity .25s ease;
	}
	.tmm-overlay.is-open { opacity: 1; }

	.tmm-panel {
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 100001;
		width: min(420px, 100%);
		background: #fff;
		color: var(--tmm-text);
		font-family: inherit;
		box-shadow: -10px 0 40px rgba(0, 0, 0, .2);
		transform: translateX(100%);
		transition: transform .3s cubic-bezier(.2, .8, .2, 1);
	}
	.tmm-panel.is-open { transform: none; }
	.tmm-overlay[hidden], .tmm-panel[hidden] { display: none; }
	html.tmm-locked, html.tmm-locked body { overflow: hidden; }
}

/* Sehr schmale Handys: Platz für den Sprachumschalter – nur das Hamburger-Symbol zeigen */
@media (max-width: 359px) {
	.tmm-toggle-label { display: none; }
	.tmm-toggle { padding: 0 12px; }
}

/* Am Handy ohne feste Admin-Leiste: Kopfzeile nach dem Scrollen ganz nach oben */
@media (max-width: 600px) {
	html.tmm-scrolled .admin-bar #main-header { top: 0 !important; }
}

/* Ladebalken nach einem Klick im Menü, bis die neue Seite da ist */
.tmm-progress {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100002;
	width: 100%;
	height: 3px;
	overflow: hidden;
	background: rgba(17, 139, 52, .2);
	pointer-events: none;
}
.tmm-progress::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 40%;
	background: var(--tmm-accent);
	animation: tmm-progress 1.1s ease-in-out infinite;
}
@keyframes tmm-progress {
	from { transform: translateX(-100%); }
	to { transform: translateX(250%); }
}

.tmm-ico { width: 20px; height: 20px; flex: none; }

.tmm-head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px 12px 18px;
	border-bottom: 1px solid var(--tmm-line);
}
.tmm-logo { flex: 1; min-width: 0; }
.tmm-logo img { display: block; height: 52px; width: auto; }

.tmm-lang { display: inline-flex; padding: 3px; border-radius: 20px; background: color-mix(in srgb, var(--tmm-tina, #1e73be) 10%, #fff); }
.tmm-lang a { padding: 6px 11px; border-radius: 16px; color: var(--tmm-tina, #1e73be); font-size: 13px; font-weight: 700; text-decoration: none; }
.tmm-lang a.is-active { background: var(--tmm-tina, #1e73be); color: #fff; }

.tmm-close {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: var(--tmm-soft);
	color: var(--tmm-green);
	cursor: pointer;
}
.tmm-close .tmm-ico { width: 22px; height: 22px; }

.tmm-body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 14px 18px 28px; }

.tmm-search {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	padding: 0 14px;
	border: 1px solid var(--tmm-line);
	border-radius: 12px;
	background: #f7f9f7;
	color: var(--tmm-muted);
}
.tmm-search input {
	flex: 1;
	min-width: 0;
	height: 46px;
	border: 0 !important;
	background: transparent !important;
	color: var(--tmm-text);
	font: inherit;
	font-size: 16px;
	padding: 0 !important;
	outline: none;
}
.tmm-search:focus-within { border-color: var(--tmm-accent); box-shadow: 0 0 0 3px rgba(17, 139, 52, .15); }

.tmm-list, .tmm-sub { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.tmm-item { border-bottom: 1px solid var(--tmm-line); }
.tmm-list li { padding: 0 !important; }
.tmm-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	min-height: 58px;
	padding: 6px 2px;
	border: 0;
	background: none;
	color: var(--tmm-text);
	font: inherit;
	font-size: 19px;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}
.tmm-row strong { color: var(--tmm-green); font-weight: 800; }
.tmm-row .tmm-ico { color: var(--tmm-green); transition: transform .2s ease; }
.tmm-row[aria-expanded="true"] .tmm-ico { transform: rotate(180deg); }
.tmm-item.is-current > .tmm-row { color: var(--tmm-green); }

.tmm-sub { padding: 0 0 12px !important; }
.tmm-sublink {
	display: flex;
	flex-direction: column;
	padding: 10px 14px;
	margin: 0 0 4px;
	border-radius: 10px;
	background: #f7f9f7;
	color: var(--tmm-text);
	font-size: 16px;
	line-height: 1.3;
	text-decoration: none;
}
.tmm-sublink:hover, .tmm-sublink:focus-visible { background: var(--tmm-soft); color: var(--tmm-green); }
.tmm-sublink.is-current { background: var(--tmm-soft); color: var(--tmm-green); font-weight: 700; box-shadow: inset 3px 0 0 var(--tmm-green); }
.tmm-kicker { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--tmm-accent); }
.tmm-overview { flex-direction: row; align-items: center; justify-content: space-between; font-weight: 700; color: var(--tmm-green); background: var(--tmm-soft); }

.tmm-heading { margin: 22px 0 8px !important; padding: 0 !important; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tmm-muted); }
.tmm-quick { display: flex; flex-wrap: wrap; gap: 8px; }
.tmm-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 14px;
	border-radius: 22px;
	background: var(--tmm-soft);
	color: var(--tmm-green);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}
.tmm-chip .tmm-ico { width: 18px; height: 18px; }
.tmm-chip-warn { background: #fdecea; color: #b3261e; }

.tmm-tina {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 22px 0 0;
	padding: 14px 16px;
	border: 0;
	border-radius: 16px;
	background: var(--tmm-tina, #1e73be);
	background: linear-gradient(135deg, var(--tmm-tina, #1e73be), color-mix(in srgb, var(--tmm-tina, #1e73be) 75%, #fff));
	color: #fff;
	font: inherit;
	text-align: left;
	cursor: pointer;
	box-shadow: 0 6px 18px color-mix(in srgb, var(--tmm-tina, #1e73be) 35%, transparent);
}
.tmm-tina[hidden] { display: none; }
.tmm-tina > span:nth-child(2) { flex: 1; display: grid; }
.tmm-tina strong { font-size: 17px; }
.tmm-tina small { font-size: 13px; opacity: .9; }
.tmm-tina-img { display: block; width: 48px; height: 48px; border-radius: 50%; background: #fff; border: 2px solid #fff; object-fit: cover; flex: none; }
.tmm-tina-ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .2); }

.tmm-foot { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--tmm-line); }
.tmm-foot a { display: inline-flex; align-items: center; gap: 5px; color: var(--tmm-muted); font-size: 14px; text-decoration: none; }
.tmm-foot .tmm-ico { width: 15px; height: 15px; }

.tmm-panel a:focus-visible, .tmm-panel button:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
	.tmm-panel, .tmm-overlay, .tmm-row .tmm-ico, #main-header { transition: none !important; }
	.tmm-progress::before { animation-duration: 3s; }
}
