/* sumaoptix/site-header — Kopfleiste */
header.nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 60;
	padding: 14px 0;
	color: #f2f3f5;
	transition: background .35s, border-color .35s, color .35s, padding .35s;
	border-bottom: 1px solid transparent;
}

header.nav.light {
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(16px) saturate(150%);
	backdrop-filter: blur(16px) saturate(150%);
	border-bottom-color: var(--line);
	color: #111317;
	padding: 10px 0;
}

.nav-in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.logo {
	display: flex;
	align-items: center;
	gap: 14px;
}

.logo-img {
	height: 23px;
	width: auto;
}

.logo-l {
	display: none;
}

header.nav.light .logo-d {
	display: none;
}

header.nav.light .logo-l {
	display: block;
}

.logo-sub {
	font-family: var(--mono);
	font-size: .56rem;
	letter-spacing: .24em;
	text-transform: uppercase;
	opacity: .55;
	border-left: 1px solid currentColor;
	padding-left: 14px;
	white-space: nowrap;
}

.nav-links {
	display: flex;
	align-items: center;
	gap: 30px;
	font-size: .92rem;
	font-weight: 500;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav-links > li {
	position: relative;
}

.nav-links > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	opacity: .82;
	transition: opacity .25s;
}

.nav-links > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -5px;
	height: 1.5px;
	background: var(--red);
	transition: right .4s var(--ease);
}

.nav-links > li > a:hover {
	opacity: 1;
}

.nav-links > li > a:hover::after {
	right: 0;
}

.nav-links .caret {
	font-size: .6em;
	opacity: .7;
	transition: transform .25s;
}

.nav-item.has-mega:hover .caret,
.nav-item.has-mega:focus-within .caret {
	transform: rotate(180deg);
}

/* ---------- Mega-Menü (EY-Stil, Master/Detail) ---------- */
/* has-mega statisch, damit das Panel die volle Header-Breite einnimmt */
.nav-item.has-mega {
	position: static;
}

.mega {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #101216;
	border-top: 1px solid rgba(255, 255, 255, .07);
	box-shadow: 0 34px 60px -30px rgba(0, 0, 0, .7);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;
	z-index: 65;
}

/* unsichtbare Brücke über den Header-Innenabstand, damit der Hover nicht abreißt */
.mega::before {
	content: "";
	position: absolute;
	top: -22px;
	left: 0;
	right: 0;
	height: 22px;
}

.nav-item.has-mega:hover > .mega,
.nav-item.has-mega:focus-within > .mega {
	opacity: 1;
	visibility: visible;
	transform: none;
}

header.nav.light .mega {
	background: #fff;
	border-top-color: var(--line);
	box-shadow: 0 34px 60px -30px rgba(17, 19, 23, .22);
}

.mega-inner {
	width: 100%;
	max-width: 1000px;
	margin-inline: auto;
	padding: 30px 24px;
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 48px;
	align-items: start;
}

/* Master: Hauptkategorien untereinander */
.mega-cats {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.mega-cat {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 13px 16px;
	border-radius: 10px;
	transition: background .2s;
}

.mega-cat-title {
	display: block;
	font-size: 1.08rem;
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.25;
	color: #fff;
}

.mega-cat-desc {
	display: block;
	font-size: .82rem;
	color: #8b8e92;
	margin-top: 3px;
}

.mega-cat-arr {
	flex: 0 0 auto;
	color: var(--red);
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity .2s, transform .2s;
}

.mega-cat:hover,
.mega-cat.is-active {
	background: rgba(255, 255, 255, .05);
}

.mega-cat:hover .mega-cat-arr,
.mega-cat.is-active .mega-cat-arr {
	opacity: 1;
	transform: none;
}

header.nav.light .mega-cat-title { color: var(--ink); }
header.nav.light .mega-cat-desc { color: var(--muted); }

header.nav.light .mega-cat:hover,
header.nav.light .mega-cat.is-active {
	background: #f5f6f7;
}

/* Detail/Spotlight: die wichtigsten Punkte der aktiven Kategorie */
.mega-details {
	position: relative;
	border-left: 1px solid rgba(255, 255, 255, .08);
	padding-left: 48px;
	min-height: 230px;
}

header.nav.light .mega-details {
	border-left-color: var(--line);
}

.mega-detail-eyebrow {
	display: block;
	font-family: var(--mono);
	font-size: .62rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 18px;
}

.mega-detail ul {
	list-style: none;
	display: grid;
	gap: 3px;
	margin: 0 0 22px;
	padding: 0;
}

.mega-detail li a {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	padding: 8px 0;
	font-size: 1rem;
	color: #d4d7da;
	transition: color .2s, transform .2s;
}

.mega-detail li a::before {
	content: "";
	width: 7px;
	height: 7px;
	flex: 0 0 auto;
	border-radius: 1.5px;
	background: var(--red);
	transform: rotate(-8deg);
	opacity: .5;
	transition: opacity .2s;
}

.mega-detail li a:hover {
	color: #fff;
	transform: translateX(3px);
}

.mega-detail li a:hover::before {
	opacity: 1;
}

header.nav.light .mega-detail li a { color: var(--ink-2); }
header.nav.light .mega-detail li a:hover { color: var(--red); }

.mega-detail-all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .9rem;
	font-weight: 600;
	color: var(--red);
}

.mega-detail-all .arr { transition: transform .3s var(--ease); }
.mega-detail-all:hover .arr { transform: translateX(4px); }

/* Promo-Streifen unten (Gratis-Check) */
.mega-promo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	max-width: 1000px;
	margin-inline: auto;
	padding: 15px 24px;
	border-top: 1px solid rgba(255, 255, 255, .08);
}

header.nav.light .mega-promo {
	border-top-color: var(--line);
}

.mega-promo-txt {
	font-size: .9rem;
	color: #b0b4b9;
}

.mega-promo-txt strong { color: #fff; font-weight: 600; }
header.nav.light .mega-promo-txt { color: var(--ink-2); }
header.nav.light .mega-promo-txt strong { color: var(--ink); }

.mega-promo-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .88rem;
	font-weight: 600;
	color: var(--red);
	white-space: nowrap;
}

.mega-promo-cta .arr { transition: transform .3s var(--ease); }
.mega-promo:hover .mega-promo-cta .arr { transform: translateX(4px); }

@media (max-width: 1120px) {
	.mega-inner {
		max-width: 860px;
		gap: 32px;
	}

	.mega-details {
		padding-left: 32px;
	}
}

header.nav .btn {
	padding: 11px 19px;
	font-size: .87rem;
}

header.nav.light .btn.primary {
	box-shadow: none;
}

header.nav.light .btn.primary:hover {
	box-shadow: 0 8px 20px -12px rgba(227, 6, 19, .6);
}

/* ---------- Hamburger + Mobil-Panel ---------- */
.nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-right: -10px;
	padding: 0;
	background: transparent;
	border: 0;
	color: currentColor;
	cursor: pointer;
}

.nav-toggle-box {
	display: block;
	position: relative;
	width: 24px;
	height: 16px;
}

.nav-toggle-bar {
	position: absolute;
	left: 0;
	right: 0;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform .3s var(--ease), opacity .2s var(--ease);
}

.nav-toggle-bar:nth-child(1) { top: 0; }
.nav-toggle-bar:nth-child(2) { top: 7px; }
.nav-toggle-bar:nth-child(3) { top: 14px; }

header.nav.open .nav-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
header.nav.open .nav-toggle-bar:nth-child(2) { opacity: 0; }
header.nav.open .nav-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav-mobile {
	display: none;
}

@media (max-width: 960px) {
	/* höhere Spezifität als base .btn, da base.css nach dem Block-CSS laden kann */
	.nav-links,
	header.nav .nav-cta {
		display: none;
	}

	.nav-toggle {
		display: inline-flex;
	}

	.nav-mobile {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #0a0b0d;
		border-bottom: 1px solid rgba(255, 255, 255, .13);
		max-height: 0;
		overflow: hidden;
		visibility: hidden;
		transition: max-height .4s var(--ease), visibility .4s var(--ease);
	}

	header.nav.light .nav-mobile {
		background: rgba(255, 255, 255, .98);
		-webkit-backdrop-filter: blur(16px);
		backdrop-filter: blur(16px);
		border-bottom-color: var(--line);
	}

	header.nav.open .nav-mobile {
		max-height: 82vh;
		overflow-y: auto;
		visibility: visible;
	}

	.nav-mobile nav {
		display: flex;
		flex-direction: column;
		padding: 8px 24px 24px;
	}

	.nav-mobile a:not(.btn) {
		padding: 15px 2px;
		font-size: 1.06rem;
		font-weight: 500;
		color: #f2f3f5;
		border-bottom: 1px solid rgba(255, 255, 255, .1);
	}

	header.nav.light .nav-mobile a:not(.btn) {
		color: var(--ink);
		border-bottom-color: var(--line);
	}

	.nav-mobile a.m-sub {
		padding-left: 16px;
		font-size: .98rem;
		font-weight: 400;
		color: #b0b4b9;
	}

	.nav-mobile a.m-sub::before {
		content: "›";
		margin-right: 8px;
		color: var(--red);
	}

	header.nav.light .nav-mobile a.m-sub {
		color: var(--ink-2);
	}

	/* Mobil-Akkordeon je Leistungsspalte */
	.m-group {
		border-bottom: 1px solid rgba(255, 255, 255, .1);
	}

	header.nav.light .m-group {
		border-bottom-color: var(--line);
	}

	.m-group-toggle {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 15px 2px;
		background: none;
		border: 0;
		color: inherit;
		font: inherit;
		font-size: 1.06rem;
		font-weight: 500;
		text-align: left;
		cursor: pointer;
	}

	.m-caret {
		color: var(--red);
		font-size: 1.35rem;
		line-height: 1;
		transition: transform .3s var(--ease);
	}

	.m-group.open .m-caret {
		transform: rotate(45deg);
	}

	.m-group-panel {
		display: flex;
		flex-direction: column;
		max-height: 0;
		overflow: hidden;
		transition: max-height .35s var(--ease);
	}

	.m-group-panel .m-sub {
		display: block;
		width: 100%;
	}

	.m-group.open .m-group-panel {
		max-height: 520px;
		padding-bottom: 8px;
	}

	.m-group-panel .m-sub {
		border-bottom: 0;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.m-group-panel a.m-sub-head {
		color: var(--red);
		font-weight: 600;
	}

	.m-group-panel a.m-sub-head::before {
		content: "" !important;
		margin-right: 0;
	}

	.nav-mobile .btn {
		margin-top: 18px;
		width: 100%;
	}
}

@media (max-width: 620px) {
	.logo-sub {
		display: none;
	}

	.logo-img {
		height: 21px;
	}
}
