/* Dynamic Content — Navigation Menu */

.dynamic-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 1.6rem;
}

.dynamic-menu__item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 1rem 1.6rem;
	text-decoration: none;
	font-size: 1.5rem;
	border-radius: 0.6rem;
	transition: background 0.2s;
}

.dynamic-menu__item:hover {
	background: rgba(128,128,128,0.15);
}

.dynamic-menu__arrow {
	display: inline-block;
	width: 1.6rem;
	height: 1.6rem;
	transition: transform 0.2s;
}

.dynamic-menu__item-wrapper{
	display: flex;
	align-items: center;
	width: 100%;
	justify-content: space-between;
}

/* Desktop: hide submenu toggle (hover works) */
.dynamic-menu__toggle-sub {
	display: none;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: inherit;
}

.dynamic-menu__submenu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 20rem;
	color: inherit;
	border: 0.1rem solid rgba(128,128,128,0.2);
	border-radius: 0.8rem;
	box-shadow: 0 0.4rem 1.6rem rgba(0,0,0,0.1);
	list-style: none;
	margin: 0.4rem 0 0;
	padding: 0.6rem;
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.4rem);
	transition: 0.2s;
	z-index: 10;
}

.dynamic-menu__item--has-children:hover > .dynamic-menu__submenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.dynamic-menu__submenu .dynamic-menu__link {
	padding: 0.8rem 1.2rem;
	font-size: 1.4rem;
}

.dynamic-menu__submenu .dynamic-menu__item {
	padding: 0.4rem 0;
}

.dynamic-menu__submenu .dynamic-menu__submenu {
	top: -0.6rem;
	left: 100%;
	margin: 0 0 0 0.4rem;
}

.dynamic-icon {
	display: inline-block;
	vertical-align: middle;
}

/* ─── Backdrop (hidden on desktop) ─────────────── */
.dynamic-menu__backdrop {
	display: none;
}

.dynamic-menu__header {
	display: none;
}

/* ─── Mobile (< 767px) ─────────────────────────── */
@media (max-width: 767px) {
	.dynamic-menu__wrapper {
		display: contents;
	}

	.dynamic-menu__wrapper.open .dynamic-menu__backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,0.58);
		z-index: 998;
	}

	.dynamic-menu__wrapper.open .dynamic-menu {
		transform: translateX(0);
	}

	.dynamic-menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 26.8rem;
		height: 100vh;
		overflow-y: auto;
		z-index: 999;
		background: #fff;
		color: #2d2926;
		transform: translateX(-100%);
		transition: transform 0.3s ease;
	}

	.dynamic-menu .dynamic-menu__label{
		color: #5A4E44;
	}

	.dynamic-menu__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 4.8rem;
		padding: 0 1.6rem;
		border-bottom: 0.1rem solid #C1B6A4;
	}

	.dynamic-menu__header-logo {
		height: 3rem;
		width: auto;
	}

	.dynamic-menu__close {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 2.4rem;
		height: 2.4rem;
		padding: 0;
		border: none;
		background: none;
		cursor: pointer;
		color: #2d2926;
	}

	.dynamic-menu__list {
		flex-direction: column;
		gap: 0;
		padding: 0.8rem 1.6rem;
	}

	.dynamic-menu__item{
		border-bottom: 0.1rem solid #E4E4E7;
		font-size: 1.4rem;
		color: #5A4E44;
		padding: 0;
		border-radius: 0rem;
	}

	.dynamic-menu__item:hover{
		background: transparent;
	}

	.dynamic-menu__item .dynamic-menu__item-wrapper {
		display: flex;
		gap: 0.6rem;
		padding: 1.6rem 0rem;
		text-decoration: none;
		font-size: 1.4rem;
		border-radius: 0.6rem;
		transition: background 0.2s;
		font-weight: 500;
	}

	.dynamic-menu__item--has-children {
		display: flex;
		flex-wrap: wrap;
	}

	.dynamic-menu__toggle-sub {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 3.6rem;
		flex-shrink: 0;
		border-radius: 0.6rem;
		color: #5a4e44;
	}

	.dynamic-menu__toggle-sub[aria-expanded="true"] .dynamic-menu__arrow {
		transform: rotate(180deg);
	}

	.dynamic-menu__submenu {
		display: none;
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		border: none;
		border-radius: 0;
		box-shadow: none;
		margin: 0;
		padding: 0;
		background: transparent;
		width: 100%;
		flex-basis: 100%;
	}

	.dynamic-menu__submenu .dynamic-menu__item-wrapper {
		font-weight: 400;
	}

	.dynamic-menu__item--has-children.is-open > .dynamic-menu__submenu {
		display: block;
	}


	.dynamic-menu__submenu .dynamic-menu__submenu {
		top: auto;
		left: auto;
		margin: 0 0 0 1.6rem;
	}

	.dynamic-menu__submenu .dynamic-menu__item-wrapper{
		padding: 0;
	}

	.dynamic-menu__submenu .dynamic-menu__item{
		border-bottom: none;
	}

	.dynamic-menu__submenu .dynamic-menu__link{
		padding: 0.2rem 1.2rem;
	}

	.dynamic-menu__item--has-children{
		gap: 0;
	}

	.dynamic-menu__item--has-children.is-open>.dynamic-menu__item-wrapper{
		padding-bottom: 0.8rem;
	}

	.dynamic-menu__item--has-children.is-open{
		padding-bottom: 0.8rem;
	}

	.dynamic-menu__separator {
		height: 0.1rem;
		margin: 0.8rem 1.6rem;
		background: #e5e5e5;
	}

	.dynamic-menu__section {
		padding: 1.6rem 1.6rem 0.8rem;
	}

	.dynamic-menu__section-link {
		display: flex;
		align-items: center;
		gap: 0.4rem;
		padding: 0.8rem;
		border-radius: 0.8rem;
		font-family: 'Montserrat', sans-serif;
		font-weight: 500;
		font-size: 1.4rem;
		color: #5a4e44;
		text-decoration: none;
	}
}

/* ─── Desktop submenu ──────────────────────────── */
@media (min-width: 768px) {
	.dynamic-menu__submenu {
		background: #fff;
		color: #2d2926;
	}

	.dynamic-menu__toggle-sub {
		display: inline-flex;
		align-items: center;
		pointer-events: none;
		padding: 1rem 0.8rem;
	}

	.dynamic-menu__item--has-children > .dynamic-menu__link {
		padding-right: 0.6rem;
	}

	.dynamic-menu__submenu .dynamic-menu__item--has-children:hover .dynamic-menu__arrow {
		transform: rotate(-90deg);
	}

	.dynamic-menu__submenu .dynamic-menu__toggle-sub {
		pointer-events: auto;
	}

	.dynamic-menu .dynamic-menu .dynamic-menu__toggle-sub {
		pointer-events: auto;
	}
}

.dynamic-menu__item--has-children {
	display: flex;
	align-items: center;
}
