/*
|--------------------------------------------------------------------------
| 2026-08-27
| Author: Codex
| Änderung:
| Verschachtelte Astra-Desktop-Submenus öffnen viewportgerecht nach links.
| Ruhige Hierarchiefarben ersetzen die gestapelten CTA-artigen Flächen.
|--------------------------------------------------------------------------
*/

body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .sub-menu .sub-menu {
	left: auto;
	right: 100%;
}

body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .sub-menu {
	/* Runtime-Regel `.sub-menu` setzt den Altbestand ebenfalls important. */
	background-color: rgba(15, 23, 42, 0.97) !important;
}

body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .sub-menu .sub-menu {
	background-color: rgba(24, 34, 54, 0.98) !important;
}

body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .sub-menu .menu-link {
	color: var(--ast-global-color-3);
	background-color: transparent;
}

body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .menu-item:hover > .menu-link,
body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .menu-item.focus > .menu-link,
body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .menu-link:focus {
	color: #ffffff;
	background-color: rgba(231, 246, 255, 0.08);
}

body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .menu-item.current-menu-parent > .menu-link,
body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .menu-item.current-menu-ancestor > .menu-link {
	color: var(--ast-global-color-3);
	background-color: rgba(231, 246, 255, 0.06);
	box-shadow: inset 3px 0 0 rgba(0, 133, 255, 0.65);
}

body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .menu-item.current-menu-item > .menu-link {
	color: var(--ast-global-color-0);
	background-color: rgba(0, 133, 255, 0.12);
	box-shadow: inset 3px 0 0 var(--ast-global-color-0);
}


/*
|--------------------------------------------------------------------------
| 2026-09-08
| Desktop-Submenu Proportionen / Ebene 3
|--------------------------------------------------------------------------
*/

/* Ebene 2 und 3: vertikales Innenpadding ca. Faktor 1,3. */
body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .sub-menu .menu-link {
	padding-top: 1.3em;
	padding-bottom: 1.3em;
}

/* Ebene 3: gegenüber dem ersten Teststand 4 px nach oben. */
body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .sub-menu .sub-menu {
	top: calc(100% - 8px);
}


/*
|--------------------------------------------------------------------------
| 2026-09-08
| Desktop Ebene 2 -> Ebene 3: Hover-Korridor
|--------------------------------------------------------------------------
| Rein funktionale Brücke über den durch den vertikalen Versatz
| entstandenen Mausweg. Position, Padding und sichtbare Gestaltung
| der Menüs bleiben unverändert.
*/

body.ast-desktop #ast-desktop-header #ast-hf-menu-1
.sub-menu > .menu-item.menu-item-has-children {
	position: relative;
}

body.ast-desktop #ast-desktop-header #ast-hf-menu-1
.sub-menu > .menu-item.menu-item-has-children::after {
	content: "";
	position: absolute;
	z-index: 1;
	top: 100%;
	right: 0;
	width: 100%;
	height: 8px;
	background: transparent;
}


/*
|--------------------------------------------------------------------------
| 2026-09-08
| Ebene 2: Strukturpunkte ohne eigenes Seitenziel
|--------------------------------------------------------------------------
*/

/* Strukturpunkte visuell zurücknehmen und nicht als normalen Link darstellen. */
body.ast-desktop #ast-desktop-header #ast-hf-menu-1
.sub-menu > .menu-item.menu-item-has-children > .menu-link {
	color: rgba(231, 246, 255, 0.68);
	cursor: default;
}

/* Strukturpunkt beim Hover etwas dunkler. */
body.ast-desktop #ast-desktop-header #ast-hf-menu-1
.sub-menu > .menu-item.menu-item-has-children:hover > .menu-link {
	background-color: rgba(0, 0, 0, 0.18);
}

/* Chevron unsichtbar, Platz bleibt erhalten. */
body.ast-desktop #ast-desktop-header #ast-hf-menu-1
.sub-menu > .menu-item.menu-item-has-children > .menu-link
> .dropdown-menu-toggle {
	visibility: hidden;
}


/*
|--------------------------------------------------------------------------
| 2026-09-14
| Desktop Navigation – Ebene 1
| Etwas mehr vertikale Präsenz und Kennzeichnung des aktiven Bereichs.
|--------------------------------------------------------------------------
*/

/* Ebene 1 gegenüber dem bisherigen Stand vertikal leicht vergrößern. */
body.ast-desktop #ast-desktop-header #ast-hf-menu-1
> .menu-item > .menu-link {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

/* Aktiven Hauptbereich auf Ebene 1 kennzeichnen. */
body.ast-desktop #ast-desktop-header #ast-hf-menu-1
> .menu-item.current-menu-parent > .menu-link,
body.ast-desktop #ast-desktop-header #ast-hf-menu-1
> .menu-item.current-menu-ancestor > .menu-link {
	background-color: #0085FF75;
}



/*
|--------------------------------------------------------------------------
| 2026-09-14
| Desktop Navigation – Tastaturfokus
| Astra-/Browser-Fokus durch VT-eigenen Fokus ersetzen.
|--------------------------------------------------------------------------
*/

body.ast-desktop #ast-desktop-header #ast-hf-menu-1
.menu-link:focus,
body.ast-desktop #ast-desktop-header #ast-hf-menu-1
.menu-link:focus-visible {
	outline: none !important;
	background-color: #0085FF75;
	box-shadow: inset 0 0 0 2px #0085FF;
}



/*
|--------------------------------------------------------------------------
| 2026-09-14
| Desktop Navigation – Ladebestätigung
| Gleiche Spinner-Sprache wie Mobile, mit transparentem Seitenoverlay.
|--------------------------------------------------------------------------
*/

.vt-astra-desktop-loader {
	position: fixed;
	inset: 0;
	z-index: 99999;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;

	box-sizing: border-box;
	padding: 24px;

	background-color: rgba(15, 23, 42, 0.30);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity .12s linear,
		visibility 0s linear .12s;
}

body.vt-desktop-navigation-is-loading
.vt-astra-desktop-loader {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;

	transition:
		opacity .12s linear,
		visibility 0s linear 0s;
}

@keyframes vtAstraDesktopSpin {
	to {
		transform: rotate(360deg);
	}
}

.vt-astra-desktop-spinner {
	display: inline-block;

	width: 54px;
	height: 54px;

	box-sizing: border-box;

	border: 3px solid rgba(255, 255, 255, 0.16);
	border-top-color: #3DA3FF;
	border-radius: 50%;

	animation: vtAstraDesktopSpin .7s linear infinite;
}

.vt-astra-desktop-loader-text {
	color: #ffffff;

	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.vt-astra-desktop-loader {
		transition: none;
	}

	.vt-astra-desktop-spinner {
		animation: none;
	}
}


/*
|--------------------------------------------------------------------------
| 2026-09-15
| Desktop Navigation – Z-Ebene der Dropdown-Menüs
| Dropdowns oberhalb seitlicher UI-Elemente halten.
|--------------------------------------------------------------------------
*/

body.ast-desktop #ast-desktop-header #ast-hf-menu-1 .sub-menu {
	z-index: 10000;
}

