/*!
 * Gescheit Menu 3.1.0
 * Transparente Menüleiste mit Dropdowns, mobilem Overlay und User-Menü.
 * Alle Farben/Maße kommen aus CSS-Variablen (siehe Plugin-Einstellungen).
 *
 * Hinweis zum Aufbau: Der Portal-Container für das mobile Menü bekommt per JS
 * ebenfalls die Klasse .gm-bar – deshalb reicht überall .gm-bar als Scope.
 */

/* ==========================================================================
   1. Theme-Reset
   Viele Themes (und Elementor) stylen <button> und <a> global mit Rahmen,
   Hintergrund, Schatten oder display:block. Das wird hier gezielt neutralisiert.
   ========================================================================== */

.gm-bar,
.gm-bar * {
	box-sizing: border-box;
}

.gm-bar button,
.gm-bar a.gm-link {
	-webkit-appearance: none;
	appearance: none;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-shadow: none !important;
	text-decoration: none !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none;
	font-family: inherit !important;
	font-style: inherit;
	color: inherit;
	cursor: pointer;
	text-align: left;
}

.gm-bar button::after,
.gm-bar button::before,
.gm-bar a.gm-link::before {
	content: none;
}

.gm-bar ul,
.gm-bar li {
	list-style: none !important;
	margin: 0;
	padding: 0;
}

/* Icons dürfen vom Theme weder gestreckt noch gestaucht werden. */
.gm-bar svg {
	flex: 0 0 auto;
	max-width: none;
	vertical-align: middle;
}

.gm-bar li::before,
.gm-bar li::after,
.gm-bar ul::before,
.gm-bar ul::after {
	content: none;
}

/* ==========================================================================
   2. Grundgerüst
   ========================================================================== */

.gm-bar {
	position: relative;
	z-index: 9990;
	font-family: inherit;
	color: var(--gm-fg, currentColor);
	-webkit-tap-highlight-color: transparent;
}

.gm-bar--sticky {
	position: sticky;
	top: 0;
}

.gm-bar__inner {
	display: flex;
	align-items: center;
	gap: clamp(10px, 2vw, 24px);
	width: 100%;
	max-width: var(--gm-max, none);
	margin-inline: auto;
	padding-block: var(--gm-bar-py, 8px);
	transition: background-color .3s ease, box-shadow .3s ease, padding .3s ease;
}

/* Hintergrund erst beim Scrollen – die Leiste selbst bleibt transparent. */
.gm-bar--sticky.is-stuck .gm-bar__inner {
	background: var(--gm-bar-bg, rgba(14, 14, 22, .92));
	box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .8);
	-webkit-backdrop-filter: blur(12px) saturate(150%);
	backdrop-filter: blur(12px) saturate(150%);
	padding-inline: 16px;
	border-radius: var(--gm-radius, 14px);
}

.gm-bar--solo {
	display: inline-block;
	z-index: 9991;
}

.gm-bar--solo .gm-bar__inner {
	padding-block: 0;
}

/* Brand / Logo */
.gm-bar .gm-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	text-decoration: none !important;
	color: inherit;
	transition: opacity .2s ease;
}

.gm-bar .gm-brand:hover {
	opacity: .78;
}

.gm-brand__img {
	display: block;
	max-height: 40px;
	width: auto;
}

.gm-brand__text {
	font-weight: 700;
	font-size: calc(var(--gm-size, 15px) + 2px);
	letter-spacing: -.01em;
}

/* Ausrichtung */
.gm-bar--align-right .gm-nav { margin-left: auto; }
.gm-bar--align-left .gm-nav { margin-right: auto; }
.gm-bar--align-left .gm-actions { margin-left: auto; }
.gm-bar--align-center .gm-nav { margin-inline: auto; }
.gm-bar--align-center .gm-actions { margin-left: auto; }
.gm-bar--align-spread .gm-nav { flex: 1 1 auto; }
.gm-bar--align-spread .gm-menu { justify-content: center; }

.gm-bar .gm-actions {
	display: flex;
	align-items: center;
	gap: 2px;
	flex: 0 0 auto;
}

/* ==========================================================================
   3. Menüliste
   ========================================================================== */

.gm-bar .gm-menu {
	display: flex !important;
	align-items: center;
	gap: var(--gm-gap, 26px);
}

.gm-bar .gm-item {
	position: relative;
}

.gm-bar .gm-row {
	display: flex !important;
	align-items: center;
	gap: 2px;
}

.gm-bar .gm-link {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	position: relative;
	padding: 8px 0;
	font-size: var(--gm-size, 15px);
	font-weight: var(--gm-weight, 600);
	line-height: 1.25;
	color: var(--gm-fg, currentColor);
	transition: color .22s ease, opacity .22s ease, transform .22s ease, background-color .18s ease;
}

/* Hauptpunkte bleiben einzeilig. */
.gm-bar:not(.is-compact) .gm-item--0 .gm-link__label {
	white-space: nowrap;
}

.gm-bar--caps .gm-item--0 > .gm-link,
.gm-bar--caps .gm-item--0 > .gm-row > .gm-link {
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: calc(var(--gm-size, 15px) - 1px);
}

.gm-bar .gm-link--plain {
	cursor: default;
}

.gm-link__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.gm-link__label {
	display: block;
}

.gm-link__icon {
	font-size: 1em;
	line-height: 1;
	opacity: .9;
}

.gm-link__desc {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
	opacity: .62;
}

/* Unterstrich-Indikator (nur oberste Ebene) */
.gm-bar .gm-item--0 > .gm-link::after,
.gm-bar .gm-item--0 > .gm-row > .gm-link::after {
	content: "" !important;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .34s cubic-bezier(.22, 1, .36, 1);
	pointer-events: none;
}

.gm-bar--no-underline .gm-item--0 > .gm-link::after,
.gm-bar--no-underline .gm-item--0 > .gm-row > .gm-link::after {
	content: none !important;
}

.gm-bar .gm-item--0:hover > .gm-link,
.gm-bar .gm-item--0:hover > .gm-row > .gm-link,
.gm-bar .gm-item--0.is-open > .gm-link,
.gm-bar .gm-item--0.is-open > .gm-row > .gm-link,
.gm-bar .gm-item--0.is-current > .gm-link,
.gm-bar .gm-item--0.is-current > .gm-row > .gm-link,
.gm-bar .gm-item--0.is-ancestor > .gm-link,
.gm-bar .gm-item--0.is-ancestor > .gm-row > .gm-link {
	color: var(--gm-fg-hover, #7b8ffe);
}

.gm-bar .gm-item--0:hover > .gm-link::after,
.gm-bar .gm-item--0:hover > .gm-row > .gm-link::after,
.gm-bar .gm-item--0.is-open > .gm-link::after,
.gm-bar .gm-item--0.is-open > .gm-row > .gm-link::after,
.gm-bar .gm-item--0.is-current > .gm-link::after,
.gm-bar .gm-item--0.is-current > .gm-row > .gm-link::after,
.gm-bar .gm-item--0.is-ancestor > .gm-link::after,
.gm-bar .gm-item--0.is-ancestor > .gm-row > .gm-link::after {
	transform: scaleX(1);
}

/* Pfeil */
.gm-bar .gm-toggle {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 6px 2px;
	color: inherit;
	line-height: 0;
	border-radius: 6px;
}

.gm-caret {
	display: inline-flex;
	line-height: 0;
	opacity: .7;
	transition: transform .3s cubic-bezier(.22, 1, .36, 1), opacity .2s ease;
}

.gm-caret svg {
	display: block;
}

.gm-bar .gm-item.is-open > .gm-link .gm-caret,
.gm-bar .gm-item.is-open > .gm-row .gm-caret {
	transform: rotate(180deg);
	opacity: 1;
}

/* Varianten */
.gm-bar .gm-item--cta > .gm-link,
.gm-bar .gm-item--cta > .gm-row > .gm-link {
	padding: 9px 18px;
	border-radius: 999px;
	background: var(--gm-accent, #7b8ffe) !important;
	color: #fff;
}

.gm-bar .gm-item--cta > .gm-link::after,
.gm-bar .gm-item--cta > .gm-row > .gm-link::after {
	content: none !important;
}

.gm-bar .gm-item--cta:hover > .gm-link,
.gm-bar .gm-item--cta:hover > .gm-row > .gm-link {
	color: #fff;
	transform: translateY(-1px);
}

.gm-bar .gm-item--muted > .gm-link,
.gm-bar .gm-item--muted > .gm-row > .gm-link {
	font-weight: 500;
	opacity: .68;
}

.gm-bar .gm-item--muted:hover > .gm-link,
.gm-bar .gm-item--muted:hover > .gm-row > .gm-link {
	opacity: 1;
}

/* ==========================================================================
   4. Dropdown-Panels
   ========================================================================== */

.gm-bar .gm-panel {
	position: absolute;
	top: calc(100% + 12px);
	left: -14px;
	z-index: 30;
	min-width: 232px;
	max-width: min(92vw, 460px);
	padding: 8px;
	background: var(--gm-panel-bg, rgba(20, 20, 32, .96));
	color: var(--gm-panel-fg, #e9eaf5);
	border: 1px solid var(--gm-panel-border, rgba(255, 255, 255, .1));
	border-radius: var(--gm-radius, 14px);
	box-shadow: 0 26px 60px -24px rgba(0, 0, 0, .75), 0 2px 6px rgba(0, 0, 0, .18);
	-webkit-backdrop-filter: blur(var(--gm-blur, 14px)) saturate(150%);
	backdrop-filter: blur(var(--gm-blur, 14px)) saturate(150%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-8px) scale(.985);
	transform-origin: top left;
	transition: opacity .2s ease, transform .3s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .3s;
}

/* Unsichtbare Brücke, damit der Hover über die Lücke nicht abreißt. */
.gm-bar .gm-panel::before {
	content: "" !important;
	position: absolute;
	left: 0;
	right: 0;
	top: -14px;
	height: 14px;
}

.gm-bar .is-open > .gm-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	transition-delay: 0s, 0s, 0s;
}

.gm-bar .gm-panel.is-flipped {
	left: auto;
	right: -14px;
	transform-origin: top right;
}

.gm-bar .gm-sub {
	display: grid;
	gap: 1px;
}

.gm-bar .gm-panel--cols-2 .gm-sub { grid-template-columns: repeat(2, minmax(170px, 1fr)); }
.gm-bar .gm-panel--cols-3 .gm-sub { grid-template-columns: repeat(3, minmax(160px, 1fr)); }

.gm-bar .gm-panel--cols-2,
.gm-bar .gm-panel--cols-3 { max-width: min(94vw, 720px); }

/* Gestaffelter Auftritt der Einträge */
.gm-bar .gm-panel > .gm-sub > li {
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity .25s ease var(--gm-d, 0ms), transform .25s cubic-bezier(.22, 1, .36, 1) var(--gm-d, 0ms);
}

.gm-bar .is-open > .gm-panel > .gm-sub > li {
	opacity: 1;
	transform: none;
	--gm-d: calc(var(--gm-i, 0) * 26ms);
}

.gm-bar .gm-panel .gm-row {
	width: 100%;
	justify-content: space-between;
}

.gm-bar .gm-panel .gm-link {
	display: flex !important;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 9px 12px;
	border-radius: max(6px, calc(var(--gm-radius, 14px) - 6px));
	color: var(--gm-panel-fg, #e9eaf5);
	font-size: calc(var(--gm-size, 15px) - 1px);
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	white-space: normal;
}

.gm-bar .gm-panel .gm-link--plain {
	opacity: .55;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	padding-bottom: 4px;
}

.gm-bar .gm-panel .gm-link:not(.gm-link--plain):hover,
.gm-bar .gm-panel .gm-link:not(.gm-link--plain):focus-visible {
	background: var(--gm-panel-hover, rgba(123, 143, 254, .16)) !important;
	color: var(--gm-panel-fg-h, #fff);
	transform: translateX(2px);
}

.gm-bar .gm-panel .gm-item.is-current > .gm-link,
.gm-bar .gm-panel .gm-item.is-current > .gm-row > .gm-link {
	background: var(--gm-panel-hover, rgba(123, 143, 254, .16)) !important;
	color: var(--gm-panel-fg-h, #fff);
}

.gm-bar .gm-panel .gm-toggle {
	padding: 8px;
	margin-right: 2px !important;
	border-radius: 8px;
}

/* Nicht klickbarer Punkt mit Untermenü: Pfeil rechts, sobald die Zeile
   die volle Breite einnimmt (im Dropdown und im mobilen Menü). */
.gm-bar .gm-panel .gm-link--toggle,
.gm-bar.is-compact .gm-nav .gm-link--toggle {
	justify-content: space-between;
}

.gm-bar .gm-panel .gm-link--toggle > .gm-caret,
.gm-bar.is-compact .gm-nav .gm-link--toggle > .gm-caret {
	margin-left: auto;
	padding-left: 10px;
}

/* Dritte Ebene: seitliches Ausklappen */
.gm-bar:not(.is-compact) .gm-panel .gm-panel {
	top: -9px;
	left: calc(100% + 8px);
	transform: translateX(-6px) scale(.985);
}

.gm-bar:not(.is-compact) .gm-panel .gm-panel::before {
	top: 0;
	bottom: 0;
	left: -10px;
	right: auto;
	width: 10px;
	height: auto;
}

.gm-bar:not(.is-compact) .gm-panel .gm-panel.is-flipped {
	left: auto;
	right: calc(100% + 8px);
	transform: translateX(6px) scale(.985);
}

.gm-bar:not(.is-compact) .gm-panel .gm-item.is-open > .gm-panel {
	transform: none;
}

.gm-bar:not(.is-compact) .gm-panel .gm-item.is-open > .gm-row .gm-caret {
	transform: rotate(-90deg);
}

.gm-bar .gm-sep {
	height: 1px;
	margin: 6px 10px;
	background: var(--gm-panel-border, rgba(255, 255, 255, .1));
}

.gm-bar .gm-subhead {
	padding: 8px 12px 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	opacity: .5;
}

/* ==========================================================================
   5. User-Menü
   ========================================================================== */

.gm-bar .gm-user {
	position: relative;
	display: inline-flex;
}

.gm-bar .gm-user__trigger {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	line-height: 0;
	border-radius: 10px;
	color: var(--gm-accent, #7b8ffe);
	transition: color .2s ease, transform .2s ease;
}

.gm-bar .gm-user__trigger:hover,
.gm-bar .gm-user.is-open .gm-user__trigger {
	color: var(--gm-fg-hover, #7b8ffe);
	transform: scale(1.06);
}

.gm-user__icon {
	display: block;
	width: var(--gm-icon, 21px);
	height: var(--gm-icon, 21px);
	fill: currentColor;
}

.gm-user__avatar {
	display: block;
	width: calc(var(--gm-icon, 21px) + 6px);
	height: calc(var(--gm-icon, 21px) + 6px);
	border-radius: 50%;
	object-fit: cover;
}

.gm-bar .gm-panel--user {
	left: auto;
	right: -4px;
	top: calc(100% + 8px);
	min-width: 244px;
	max-width: calc(100vw - 24px);
	transform-origin: top right;
}

.gm-user__head {
	padding: 10px 12px 12px;
	margin-bottom: 4px;
	border-bottom: 1px solid var(--gm-panel-border, rgba(255, 255, 255, .1));
}

.gm-user__hint {
	display: block;
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	opacity: .5;
}

.gm-user__name {
	display: block;
	margin-top: 2px;
	font-size: 14px;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Passwort-Formular */
.gm-passform {
	padding: 10px 12px 4px;
	margin-top: 6px;
	border-top: 1px solid var(--gm-panel-border, rgba(255, 255, 255, .1));
	animation: gm-fade .26s ease both;
}

.gm-passform[hidden] {
	display: none;
}

.gm-bar .gm-passform label {
	display: block;
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 400;
	color: inherit;
	text-transform: none;
	letter-spacing: 0;
}

.gm-bar .gm-passform label span {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	opacity: .68;
}

.gm-bar .gm-passform input[type="password"] {
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	padding: 9px 11px !important;
	font-family: inherit !important;
	font-size: 14px !important;
	color: inherit !important;
	background: rgba(255, 255, 255, .06) !important;
	border: 1px solid var(--gm-panel-border, rgba(255, 255, 255, .14)) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	transition: border-color .18s ease, background-color .18s ease;
}

.gm-bar .gm-passform input[type="password"]:focus {
	outline: none;
	border-color: var(--gm-accent, #7b8ffe) !important;
	background: rgba(255, 255, 255, .09) !important;
}

.gm-passform__actions {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}

.gm-bar .gm-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	padding: 9px 14px;
	border-radius: 9px;
	transition: filter .2s ease, opacity .2s ease, transform .15s ease;
}

.gm-bar .gm-btn--primary {
	background: var(--gm-accent, #7b8ffe) !important;
	color: #fff;
}

.gm-bar .gm-btn--primary:hover:not(:disabled) {
	filter: brightness(1.1);
	transform: translateY(-1px);
}

.gm-bar .gm-btn--primary:disabled {
	opacity: .55;
	cursor: default;
}

.gm-bar .gm-btn--ghost {
	color: inherit;
	opacity: .7;
	padding-inline: 8px;
}

.gm-bar .gm-btn--ghost:hover {
	opacity: 1;
}

.gm-passform__msg {
	margin: 8px 0 4px;
	font-size: 13px;
	line-height: 1.4;
}

.gm-passform__msg.is-error { color: #ff8f9b; }
.gm-passform__msg.is-ok { color: #6ee7a8; }

@keyframes gm-fade {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: none; }
}

/* ==========================================================================
   6. Burger, Drawer, Backdrop – nur im Kompaktmodus sichtbar
   ========================================================================== */

.gm-bar .gm-burger,
.gm-bar .gm-close,
.gm-bar .gm-nav__head {
	display: none !important;
}

.gm-bar .gm-burger {
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	color: var(--gm-fg, currentColor);
	border-radius: 10px;
}

.gm-burger__box {
	position: relative;
	display: block;
	width: 20px;
	height: 14px;
}

.gm-burger__line {
	position: absolute;
	left: 0;
	right: 0;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transition: transform .36s cubic-bezier(.22, 1, .36, 1), opacity .2s ease;
}

.gm-burger__line:nth-child(1) { top: 0; }
.gm-burger__line:nth-child(2) { top: 6px; }
.gm-burger__line:nth-child(3) { top: 12px; }

.gm-bar.is-drawer .gm-burger__line:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.gm-bar.is-drawer .gm-burger__line:nth-child(2) { opacity: 0; transform: scaleX(.3); }
.gm-bar.is-drawer .gm-burger__line:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.gm-backdrop {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(6, 6, 12, .55);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity .32s ease;
}

.gm-bar.is-drawer .gm-backdrop {
	opacity: 1;
}

.gm-bar .gm-close {
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 9px;
	background: rgba(255, 255, 255, .06) !important;
	color: inherit;
	transition: background-color .2s ease, transform .2s ease;
}

.gm-bar .gm-close:hover {
	background: rgba(255, 255, 255, .12) !important;
	transform: rotate(90deg);
}

body.gm-locked {
	overflow: hidden;
}

/* --- Kompaktmodus (Klasse wird per JS anhand des Breakpoints gesetzt) --- */

.gm-bar.is-compact .gm-burger {
	display: inline-flex !important;
}

.gm-bar.is-compact .gm-actions {
	margin-left: auto;
}

.gm-bar.is-compact .gm-nav {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	width: min(400px, 88vw);
	margin: 0;
	padding: 16px 16px calc(28px + env(safe-area-inset-bottom, 0px));
	background: var(--gm-panel-bg, rgba(20, 20, 32, .96));
	color: var(--gm-panel-fg, #e9eaf5);
	border-left: 1px solid var(--gm-panel-border, rgba(255, 255, 255, .1));
	box-shadow: -30px 0 70px -34px rgba(0, 0, 0, .9);
	-webkit-backdrop-filter: blur(var(--gm-blur, 14px)) saturate(150%);
	backdrop-filter: blur(var(--gm-blur, 14px)) saturate(150%);
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	visibility: hidden;
	transform: translateX(102%);
	transition: transform .4s cubic-bezier(.4, 0, .2, 1), visibility 0s linear .4s;
}

.gm-bar.is-compact.is-drawer .gm-nav {
	visibility: visible;
	transform: none;
	transition-delay: 0s, 0s;
}

.gm-bar.is-compact .gm-nav__head {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 4px 4px 14px;
	margin-bottom: 6px;
	border-bottom: 1px solid var(--gm-panel-border, rgba(255, 255, 255, .1));
}

.gm-bar.is-compact .gm-close {
	display: inline-flex !important;
}

.gm-nav__title {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .5;
}

.gm-bar.is-compact .gm-menu {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.gm-bar.is-compact .gm-item--0 {
	border-bottom: 1px solid rgba(128, 128, 160, .12);
}

.gm-bar.is-compact .gm-item--0:last-child {
	border-bottom: 0;
}

.gm-bar.is-compact .gm-row {
	width: 100%;
	justify-content: space-between;
}

.gm-bar.is-compact .gm-link {
	width: 100%;
	padding: 14px 6px;
	color: var(--gm-panel-fg, #e9eaf5);
	font-size: calc(var(--gm-size, 15px) + 1px);
	border-radius: 10px;
	text-transform: none;
	letter-spacing: 0;
}

.gm-bar.is-compact .gm-item--0 > .gm-link::after,
.gm-bar.is-compact .gm-item--0 > .gm-row > .gm-link::after {
	content: none !important;
}

.gm-bar.is-compact .gm-item--0.is-current > .gm-link,
.gm-bar.is-compact .gm-item--0.is-current > .gm-row > .gm-link {
	color: var(--gm-fg-hover, #7b8ffe);
}

.gm-bar.is-compact .gm-toggle {
	padding: 14px 10px;
	margin-right: -6px !important;
	flex: 0 0 auto;
}

.gm-bar.is-compact .gm-caret svg {
	width: 12px;
	height: 8px;
}

/* Untermenüs werden im Drawer zum Akkordeon (Höhe steuert das JS). */
.gm-bar.is-compact .gm-nav .gm-panel {
	position: static;
	min-width: 0;
	max-width: none;
	height: 0;
	padding: 0 0 0 12px;
	margin: 0 0 0 6px;
	overflow: hidden;
	opacity: 1;
	visibility: hidden;
	pointer-events: auto;
	transform: none;
	background: none;
	border: 0;
	border-left: 1px solid var(--gm-panel-border, rgba(255, 255, 255, .12));
	border-radius: 0;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	transition: height .34s cubic-bezier(.4, 0, .2, 1), visibility 0s linear .34s;
}

/* Geschlossene Akkordeons bleiben unsichtbar – so landet der Tab-Fokus
   nicht in eingeklappten Untermenüs. */
.gm-bar.is-compact .gm-nav .gm-item.is-open > .gm-panel {
	visibility: visible;
	transition-delay: 0s, 0s;
}

.gm-bar.is-compact .gm-nav .gm-panel::before {
	content: none !important;
}

.gm-bar.is-compact .gm-nav .gm-panel .gm-sub {
	grid-template-columns: 1fr;
	padding-bottom: 8px;
}

.gm-bar.is-compact .gm-nav .gm-panel .gm-link {
	padding: 11px 10px;
	font-size: var(--gm-size, 15px);
	font-weight: 500;
}

/* Im Drawer laufen die Einträge nach dem Öffnen herein. */
.gm-bar.is-compact.is-drawer .gm-menu > .gm-item--0 {
	animation: gm-slide-in .42s cubic-bezier(.22, 1, .36, 1) both;
	animation-delay: calc(90ms + var(--gm-i, 0) * 45ms);
}

@keyframes gm-slide-in {
	from { opacity: 0; transform: translateX(22px); }
	to { opacity: 1; transform: none; }
}

/* Userbox bleibt auch mobil ein Dropdown in der Leiste. */
.gm-bar.is-compact .gm-panel--user {
	right: 0;
	min-width: 240px;
}

/* ==========================================================================
   7. Fokus, Barrierefreiheit, Fallbacks
   ========================================================================== */

.gm-bar :focus-visible {
	outline: 2px solid var(--gm-accent, #7b8ffe);
	outline-offset: 3px;
	border-radius: 6px;
}

.gm-bar :focus:not(:focus-visible) {
	outline: none;
}

/* Ohne JavaScript: Dropdowns per reinem CSS-Hover. */
.gm-bar:not(.gm-js) .gm-item.gm-has-sub:hover > .gm-panel,
.gm-bar:not(.gm-js) .gm-item.gm-has-sub:focus-within > .gm-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	transition-delay: 0s;
}

.gm-bar:not(.gm-js) .gm-item.gm-has-sub:hover > .gm-panel > .gm-sub > li,
.gm-bar:not(.gm-js) .gm-item.gm-has-sub:focus-within > .gm-panel > .gm-sub > li {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.gm-bar * {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
