/**
 * Datei: _nc-context-help.css
 * Erstellt: 2026-08-02 13:10:48 Europe/Berlin (Dateisystem; nicht durch Git belegt)
 * Letzte Änderung: 2026-10-11 18:54:24 Europe/Berlin 
 */

.nc-context-help__term {
	border-bottom: 1px dotted currentColor;
	cursor: help;
	text-underline-offset: 3px;
}

.nc-context-help__term:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.nc-context-help__separator {
	white-space: pre;
}

.nc-context-help__link-trigger {
	display: none;
}

@media (hover: none), (pointer: coarse) {
	a.nc-context-help__linked-term {
		border-bottom: 0 !important;
		text-decoration: none !important;
	}

	.nc-context-help__linked-term .nc-context-help__term {
		border-bottom: 0;
	}

	.nc-context-help__link-trigger {
		display: inline-flex;
		box-sizing: border-box;
		position: relative;
		align-items: center;
		justify-content: center;
		flex: 0 0 20px;
		width: 20px;
		height: 20px;
		margin-left: 3px;
		margin-right: 24px;
		padding: 0;
		color: #ffffff;
		font: inherit;
		font-size: 12px;
		font-weight: 800;
		line-height: 1;
		vertical-align: middle;
		background: #2f53ab;
		border: 1px solid #ffffff;
		border-radius: 50%;
		cursor: help;
	}

	.nc-context-help__link-trigger::after {
		position: absolute;
		/* Trefferfläche rechts reserviert; der benachbarte Link bleibt frei. */
		inset: auto;
		top: 50%;
		left: -1px;
		width: 44px;
		height: 44px;
		transform: translateY(-50%);
		content: '';
	}

	.nc-context-help__link-trigger:focus-visible {
		outline: 2px solid currentColor;
		outline-offset: 2px;
	}
}

.nc-context-help__tooltip {
	position: fixed;
	inset: auto;
	margin: 0;
	box-sizing: border-box;
	overflow-wrap: anywhere;
	z-index: 99999;
	width: min(320px, calc(100vw - 24px));
	max-width: calc(100vw - 24px);
	max-height: calc(100dvh - 24px);
	padding: 14px 16px;
	overflow-y: auto;
	color: #ffffff;
	font-family: Inter, Roboto, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	background: #1e1919;
	border: 2px solid #ffffff;
	box-shadow: 8px 8px 0 #fad24b;
}

.nc-context-help__tooltip[hidden] {
	display: none;
}

.nc-context-help__tooltip strong,
.nc-context-help__tooltip span {
	display: block;
}

.nc-context-help__tooltip strong {
	margin-bottom: 5px;
	font-size: 15px;
	font-weight: 800;
}

/* Gemeinsame schwebende i-Hilfe; Begriffshilfe behält ihre eigene Gestaltung. */
.nc-context-help__topic { display: inline-block; width: 44px; height: 44px; vertical-align: middle; }
.nc-context-help__topic > button.nc-context-help__topic-trigger { display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer; }
.nc-context-help__topic-trigger > span { display: grid; place-items: center; width: 20px; height: 20px; color: #fff; font: 800 12px/1 Inter, sans-serif; background: #2f53ab; border: 1px solid #fff; border-radius: 50%; box-sizing: border-box; }
.nc-context-help__topic-trigger:focus-visible { outline: 2px solid #2f53ab; outline-offset: 0; }
.nc-context-help__topic-panel { position: fixed; inset: auto; margin: 0; box-sizing: border-box; width: min(420px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow: auto; overscroll-behavior: contain; padding: 16px; border: 1px solid #aebac7; border-radius: 8px; background: #eef2fb; color: #374151; box-shadow: 0 6px 16px #1e293b26; font: 400 14px/1.5 Inter, Roboto, sans-serif; overflow-wrap: anywhere; }
.nc-context-help__topic-panel:not(:popover-open) { display: none; }
.nc-context-help__topic-panel h3 { margin: 0 0 12px; color: #2173ab; font-size: 16px; line-height: 1.4; }
.nc-context-help__topic-panel p { margin: 0 0 12px; }
.nc-context-help__topic-panel p:last-child { margin-bottom: 0; }

/* Elementor gibt den Menülink als Block aus. Link und separater Hilfeknopf
   teilen auf Touch-Geräten eine Zeile; SmartMenus behält seine DOM-Struktur.
   Die 47px sind 3px Abstand + 20px Kreis + 24px reservierte Trefferfläche. */
@media (hover: none), (pointer: coarse) {
    .elementor-nav-menu li:has(> a.nc-context-help__linked-term + .nc-context-help__link-trigger) {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .elementor-nav-menu li > a.nc-context-help__linked-term:has(+ .nc-context-help__link-trigger) {
        position: relative;
        box-sizing: border-box;
        flex: 0 1 auto;
        width: auto;
        min-width: 0;
        max-width: calc(100% - 47px);
        min-height: 44px;
        padding-inline-end: 0 !important;
        white-space: normal;
    }
    .elementor-nav-menu a.nc-context-help__linked-term .nc-context-help__term {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .elementor-nav-menu a.nc-context-help__linked-term + .nc-context-help__link-trigger {
        align-self: center;
    }
    /* Der native Pfeil bleibt im Link und folgt optisch hinter der Hilfe.
       Zusätzliche 44px werden am Knopf reserviert, auch bei breiter Schrift. */
    .elementor-nav-menu li > a.nc-context-help__linked-term:has(.sub-arrow):has(+ .nc-context-help__link-trigger) {
        max-width: calc(100% - 91px);
    }
    .elementor-nav-menu a.nc-context-help__linked-term:has(.sub-arrow) + .nc-context-help__link-trigger {
        margin-inline-end: 68px;
    }
    .elementor-nav-menu a.nc-context-help__linked-term:has(+ .nc-context-help__link-trigger) > .sub-arrow {
        position: absolute;
        inset-inline-start: calc(100% + 47px);
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
    }
    .elementor-nav-menu li:has(> a.nc-context-help__linked-term + .nc-context-help__link-trigger) > ul {
        flex: 0 0 100%;
    }
}
