.rivf-member-menu-root > .wp-block-navigation-item__content,
.rivf-member-menu-root > a,
.rivf-member-login-link > .wp-block-navigation-item__content {
	font-weight: 700;
	overflow-wrap: anywhere;
}

.rivf-member-menu-root .wp-block-navigation__submenu-container,
.rivf-member-menu-root > .sub-menu {
	box-sizing: border-box;
	min-width: min(300px, calc(100vw - 2rem));
	max-width: min(360px, calc(100vw - 2rem));
	padding: .45rem;
	border: 1px solid rgba(84, 67, 31, .18);
	border-radius: 10px;
	background: #fffdf8;
	box-shadow: 0 12px 32px rgba(62, 48, 20, .14);
}

.rivf-member-menu-root .wp-block-navigation__submenu-container > .wp-block-navigation-item,
.rivf-member-menu-root > .sub-menu > .menu-item {
	box-sizing: border-box;
	width: 100%;
}

.rivf-member-menu-root .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.rivf-member-menu-root .sub-menu a {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 46px;
	padding: .7rem .85rem;
	border-radius: 7px;
	color: #24462f;
	line-height: 1.35;
	white-space: normal;
	overflow-wrap: anywhere;
	transition: background-color 120ms ease, color 120ms ease;
}

.rivf-member-menu-root .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.rivf-member-menu-root .sub-menu a:hover,
.rivf-member-menu-root .current-menu-item > .wp-block-navigation-item__content,
.rivf-member-menu-root .current-menu-ancestor > .wp-block-navigation-item__content,
.rivf-member-menu-root .current-menu-item > a,
.rivf-member-menu-root .current-menu-ancestor > a {
	background: #f5edd9;
	color: #315b3d;
}

.rivf-member-menu-root .wp-block-navigation-item__content:focus-visible,
.rivf-member-menu-root .wp-block-navigation__submenu-icon:focus-visible,
.rivf-member-menu-root a:focus-visible,
.rivf-member-menu-root button:focus-visible,
.rivf-member-login-link > .wp-block-navigation-item__content:focus-visible {
	outline: 3px solid #d9a928;
	outline-offset: 2px;
}

.rivf-member-menu-root .rivf-member-menu-logout,
.rivf-member-menu-root .menu-item.rivf-member-menu-logout {
	margin-top: .35rem;
	padding-top: .35rem;
	border-top: 1px solid rgba(84, 67, 31, .18);
}

.rivf-member-menu-root .rivf-member-menu-logout > .wp-block-navigation-item__content,
.rivf-member-menu-root .rivf-member-menu-logout > a {
	color: #655129;
}

/* Zweite Unterebene öffnet auf Desktop nach links. */
@media (min-width: 783px) {
	.rivf-member-menu-root > .wp-block-navigation__submenu-container > .has-child > .wp-block-navigation__submenu-container {
		inset: 0 100% auto auto;
		margin-right: .25rem;
	}

	.rivf-member-menu-root > .sub-menu > .menu-item-has-children > .sub-menu {
		inset: 0 100% auto auto;
		margin-right: .25rem;
	}
}

@media (max-width: 782px) {
	.wp-block-navigation__responsive-container.is-menu-open .rivf-member-menu-root,
	.wp-block-navigation__responsive-container.is-menu-open .rivf-member-login-link {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}

	.wp-block-navigation__responsive-container.is-menu-open .rivf-member-menu-root > .wp-block-navigation-item__content {
		max-width: 100%;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	/* Der bereits gewünschte Mitglieder-Hauptzweig bleibt angemeldet offen. */
	.wp-block-navigation__responsive-container.is-menu-open .rivf-member-menu-root.rivf-member-menu-user {
		display: block;
	}

	.wp-block-navigation__responsive-container.is-menu-open .rivf-member-menu-root.rivf-member-menu-user > .wp-block-navigation__submenu-icon {
		display: none !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .rivf-member-menu-root > .wp-block-navigation__submenu-container {
		position: static;
		display: flex !important;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		margin-top: .4rem;
		box-shadow: none;
	}

	/* Weitere Ebenen behalten ihre WordPress-Schalter und werden nicht erzwungen. */
	.wp-block-navigation__responsive-container.is-menu-open .rivf-member-menu-root .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		position: static;
		box-sizing: border-box;
		width: calc(100% - .8rem);
		min-width: 0;
		max-width: 100%;
		margin: 0 0 .45rem .8rem;
		padding: .15rem 0 .15rem .55rem;
		border: 0;
		border-left: 3px solid rgba(84, 67, 31, .22);
		border-radius: 0;
		background: #fffaf0;
		box-shadow: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rivf-member-menu-root *,
	.rivf-member-login-link * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
