/**
 * Nickel – Navigation (Divi Menu Module)
 * Desktop-Dropdown + Fullscreen-Mobile-Overlay
 */

/* -------------------------------------------------------------------------- */
/* Desktop: Top-Level                                                          */
/* -------------------------------------------------------------------------- */

.nickel-site .et_pb_menu .et-menu > li > a {
	font-family: var(--font-body);
	font-weight: 500;
	letter-spacing: 0.02em;
	transition: color var(--transition-fast);
}

.nickel-site .et_pb_menu .et-menu > li > a:hover,
.nickel-site .et_pb_menu .et-menu > li.current-menu-item > a,
.nickel-site .et_pb_menu .et-menu > li.current-menu-ancestor > a {
	opacity: 1;
}

/* Divi-Pfeil bei Parent-Items dezenter */
.nickel-site .et_pb_menu .et-menu > .menu-item-has-children > a:first-child::after {
	font-family: inherit !important;
	font-size: 0 !important;
	opacity: 0.45;
	margin-left: 0.45em;
	top: -1px;
	right: auto !important;
	position: relative !important;
	border: 0 !important;
	content: "" !important;
	display: inline-block;
	width: 0.4em;
	height: 0.4em;
	border-right: 1.5px solid currentColor !important;
	border-bottom: 1.5px solid currentColor !important;
	transform: rotate(45deg) translateY(-2px);
	transition: transform var(--transition-fast), opacity var(--transition-fast);
	speak: normal;
}

.nickel-site .et_pb_menu .et-menu > .menu-item-has-children:hover > a:first-child::after {
	opacity: 0.8;
	transform: rotate(225deg) translateY(-2px);
}

/* -------------------------------------------------------------------------- */
/* Desktop: Dropdown                                                           */
/* -------------------------------------------------------------------------- */

.nickel-site .et_pb_menu .nav li ul,
.nickel-site .et_pb_menu .et-menu .sub-menu {
	position: absolute;
	min-width: 15.5rem;
	padding: 0.85rem 0 0.65rem !important;
	margin-top: 0.5rem;
	border: 1px solid rgba(27, 27, 27, 0.06) !important;
	border-top: 1px solid rgba(27, 27, 27, 0.06) !important;
	border-radius: 2px;
	background: var(--color-surface) !important;
	box-shadow:
		0 4px 6px rgba(27, 27, 27, 0.02),
		0 18px 40px rgba(27, 27, 27, 0.08) !important;
	overflow: hidden;
}

/* Feine Akzentlinie statt Divi-Blau-Balken */
.nickel-site .et_pb_menu .nav li ul::before,
.nickel-site .et_pb_menu .et-menu .sub-menu::before {
	content: "";
	position: absolute;
	top: 0;
	left: 1.25rem;
	width: 1.75rem;
	height: 2px;
	background: var(--color-primary);
}

.nickel-site .et_pb_menu .nav li li,
.nickel-site .et_pb_menu .et-menu .sub-menu li {
	padding: 0;
	margin: 0;
}

.nickel-site .et_pb_menu .nav li li a,
.nickel-site .et_pb_menu .et-menu .sub-menu a {
	display: block;
	padding: 0.7rem 1.35rem !important;
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.35;
	color: var(--color-text) !important;
	background: transparent !important;
	border: 0 !important;
	opacity: 1 !important;
	transition:
		color var(--transition-fast),
		background var(--transition-fast),
		padding-left var(--transition-fast);
}

.nickel-site .et_pb_menu .nav li li a:hover,
.nickel-site .et_pb_menu .et-menu .sub-menu a:hover,
.nickel-site .et_pb_menu .nav li li.current-menu-item > a,
.nickel-site .et_pb_menu .et-menu .sub-menu .current-menu-item > a {
	color: var(--color-primary) !important;
	background: var(--color-surface-muted) !important;
	padding-left: 1.55rem !important;
	opacity: 1 !important;
}

/* Sanfteres Einblenden als Standard-Divi */
.nickel-site .et_dropdown_animation_fade.et_pb_menu .nav li ul,
.nickel-site .et_dropdown_animation_fade.et_pb_menu .et-menu .sub-menu {
	transform: translateY(6px);
	transition:
		opacity 0.22s ease,
		visibility 0.22s ease,
		transform 0.22s ease !important;
}

.nickel-site .et_dropdown_animation_fade.et_pb_menu .nav li.et-hover > ul,
.nickel-site .et_dropdown_animation_fade.et_pb_menu .nav li:hover > ul,
.nickel-site .et_dropdown_animation_fade.et_pb_menu .et-menu > li:hover > .sub-menu {
	transform: translateY(0);
}

/* -------------------------------------------------------------------------- */
/* Mobile: Burger                                                              */
/* -------------------------------------------------------------------------- */

@media (max-width: 980px) {
	.nickel-site .et_pb_menu .et_mobile_nav_menu {
		float: none;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		margin: 0;
	}

	.nickel-site .et_pb_menu .mobile_nav {
		position: static;
	}

	.nickel-site .et_pb_menu .mobile_menu_bar {
		position: relative;
		z-index: 100002;
		width: 44px;
		height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		border-radius: 2px;
		transition: background var(--transition-fast);
	}

	.nickel-site .et_pb_menu .mobile_menu_bar:hover {
		background: rgba(27, 27, 27, 0.04);
	}

	/* Eigenes Icon statt ETmodules-Glyph */
	.nickel-site .et_pb_menu .mobile_menu_bar::before {
		content: "" !important;
		display: block;
		width: 22px;
		height: 2px;
		margin: 0;
		background: var(--color-text);
		box-shadow:
			0 -7px 0 var(--color-text),
			0 7px 0 var(--color-text);
		transition:
			transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
			box-shadow 0.25s ease,
			background 0.25s ease;
	}

	.nickel-site .et_pb_menu .mobile_menu_bar::after {
		display: none !important;
		content: none !important;
	}

	.nickel-site.nickel-mobile-nav-open .et_pb_menu .mobile_menu_bar::before,
	.nickel-site .et_pb_menu .mobile_nav.opened .mobile_menu_bar::before {
		background: var(--color-text);
		box-shadow: none;
		transform: rotate(45deg);
	}

	.nickel-site.nickel-mobile-nav-open .et_pb_menu .mobile_menu_bar::after,
	.nickel-site .et_pb_menu .mobile_nav.opened .mobile_menu_bar::after {
		display: block !important;
		content: "" !important;
		position: absolute;
		width: 22px;
		height: 2px;
		background: var(--color-text);
		transform: rotate(-45deg);
	}

	/* -------------------------------------------------------------------------- */
	/* Mobile: Fullscreen-Overlay (von rechts)                                     */
	/* -------------------------------------------------------------------------- */

	.nickel-site .et_pb_menu .et_mobile_menu {
		position: fixed !important;
		inset: 0 !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100dvh !important;
		max-height: none !important;
		margin: 0 !important;
		padding: clamp(5.5rem, 14vh, 7rem) clamp(1.5rem, 6vw, 3rem) 2.5rem !important;
		border: 0 !important;
		border-top: 0 !important;
		border-radius: 0 !important;
		background:
			linear-gradient(165deg, #fff 0%, var(--color-surface-muted) 55%, #f3efe9 100%) !important;
		box-shadow: none !important;
		z-index: 100001 !important;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		display: none;
		opacity: 0;
		visibility: hidden;
		transform: translateX(100%);
		pointer-events: none;
	}

	.nickel-site .et_pb_menu .mobile_nav.opened .et_mobile_menu,
	.nickel-site.nickel-mobile-nav-open .et_pb_menu .et_mobile_menu {
		display: flex !important;
		flex-direction: column;
		justify-content: center;
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
		pointer-events: auto;
		animation: nickel-nav-overlay-in 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
	}

	.nickel-site .et_pb_menu .et_mobile_menu,
	.nickel-site .et_pb_menu .et_mobile_menu ul {
		list-style: none !important;
		text-align: left;
	}

	.nickel-site .et_pb_menu .et_mobile_menu > li {
		opacity: 0;
		transform: translateX(1.25rem);
	}

	.nickel-site.nickel-mobile-nav-open .et_pb_menu .et_mobile_menu > li {
		animation: nickel-nav-item-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
	}

	.nickel-site.nickel-mobile-nav-open .et_pb_menu .et_mobile_menu > li:nth-child(1) { animation-delay: 0.08s; }
	.nickel-site.nickel-mobile-nav-open .et_pb_menu .et_mobile_menu > li:nth-child(2) { animation-delay: 0.12s; }
	.nickel-site.nickel-mobile-nav-open .et_pb_menu .et_mobile_menu > li:nth-child(3) { animation-delay: 0.16s; }
	.nickel-site.nickel-mobile-nav-open .et_pb_menu .et_mobile_menu > li:nth-child(4) { animation-delay: 0.2s; }
	.nickel-site.nickel-mobile-nav-open .et_pb_menu .et_mobile_menu > li:nth-child(5) { animation-delay: 0.24s; }
	.nickel-site.nickel-mobile-nav-open .et_pb_menu .et_mobile_menu > li:nth-child(6) { animation-delay: 0.28s; }

	.nickel-site .et_pb_menu .et_mobile_menu > li > a {
		display: block;
		padding: 0.85rem 0 !important;
		border: 0 !important;
		border-bottom: 1px solid rgba(27, 27, 27, 0.08) !important;
		background: transparent !important;
		font-family: var(--font-heading);
		font-size: clamp(1.75rem, 7vw, 2.35rem);
		font-weight: 400;
		line-height: 1.15;
		letter-spacing: 0.01em;
		color: var(--color-text) !important;
		opacity: 1 !important;
		transition: color var(--transition-fast);
	}

	.nickel-site .et_pb_menu .et_mobile_menu > li > a:hover,
	.nickel-site .et_pb_menu .et_mobile_menu > li.current-menu-item > a,
	.nickel-site .et_pb_menu .et_mobile_menu > li.current-menu-ancestor > a {
		color: var(--color-primary) !important;
		background: transparent !important;
		opacity: 1 !important;
	}

	.nickel-site .et_pb_menu .et_mobile_menu .menu-item-has-children > a {
		font-weight: 400 !important;
		background: transparent !important;
	}

	/* Unterpunkte: flach, klar, ohne Divi-Graukasten */
	.nickel-site .et_pb_menu .et_mobile_menu li ul,
	.nickel-site .et_pb_menu .et_mobile_menu .sub-menu {
		display: block !important;
		visibility: visible !important;
		padding: 0.35rem 0 1rem 0 !important;
		margin: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		position: static !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.nickel-site .et_pb_menu .et_mobile_menu li li {
		padding-left: 0 !important;
	}

	.nickel-site .et_pb_menu .et_mobile_menu li li a {
		padding: 0.45rem 0 !important;
		border: 0 !important;
		font-family: var(--font-body);
		font-size: var(--font-size-md);
		font-weight: 500;
		letter-spacing: 0.02em;
		color: var(--color-text-soft) !important;
		background: transparent !important;
	}

	.nickel-site .et_pb_menu .et_mobile_menu li li a:hover,
	.nickel-site .et_pb_menu .et_mobile_menu li li.current-menu-item > a {
		color: var(--color-primary) !important;
		background: transparent !important;
		opacity: 1 !important;
	}

	/* Body-Scroll sperren, wenn Overlay offen */
	.nickel-site.nickel-mobile-nav-open {
		overflow: hidden;
	}

	.nickel-site.nickel-mobile-nav-open .et-l--header {
		position: relative;
		z-index: 100000;
	}
}

@keyframes nickel-nav-overlay-in {
	from {
		opacity: 0;
		transform: translateX(100%);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes nickel-nav-item-in {
	from {
		opacity: 0;
		transform: translateX(1.25rem);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nickel-site .et_pb_menu .et_mobile_menu,
	.nickel-site .et_pb_menu .et_mobile_menu > li,
	.nickel-site .et_dropdown_animation_fade.et_pb_menu .nav li ul {
		animation: none !important;
		transition: none !important;
	}
}
