/* =====================================================================
   SOLID MENU — Cascade design
   Auto-extracted. Loaded only when the matching dropdown_design is selected.
   ===================================================================== */



.solidae-solid-menu.design-cascade .solidae-solid-menu__list > .solidae-solid-menu__item > .solidae-solid-menu__submenu{
	width: 720px;
	min-width: 720px;
	max-width: calc(100vw - 24px);
	padding: 14px 10px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0;
	min-height: 320px;
	overflow: visible;
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__list > .solidae-solid-menu__item > .solidae-solid-menu__submenu > .solidae-solid-menu__item{
	display: flex;
	flex-direction: column;
	border-right: 1px solid var(--line);
	padding: 0 10px;
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__list > .solidae-solid-menu__item > .solidae-solid-menu__submenu > .solidae-solid-menu__item:last-child{
	border-right: 0;
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__submenu .solidae-solid-menu__link{
	padding: 9px 12px;
	border-radius: var(--r-sm);
	font-size: 14px;
	color: var(--ink-2);
	font-weight: 500;
	transition: background 140ms ease, color 140ms ease;
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__submenu .solidae-solid-menu__link:hover,
.solidae-solid-menu.design-cascade .solidae-solid-menu__submenu .solidae-solid-menu__item.is-open > .solidae-solid-menu__link,
.solidae-solid-menu.design-cascade .solidae-solid-menu__submenu .solidae-solid-menu__item.is-active > .solidae-solid-menu__link,
.solidae-solid-menu.design-cascade .solidae-solid-menu__submenu .solidae-solid-menu__item.is-current > .solidae-solid-menu__link{
	background: var(--paper-2);
	color: var(--ink);
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__submenu .solidae-solid-menu__submenu{
	position: static;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 4px 0 8px 12px;
	margin: 0;
	display: none;
	flex-direction: column;
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__submenu .solidae-solid-menu__item.is-open > .solidae-solid-menu__submenu,
.solidae-solid-menu.design-cascade.trigger-hover .solidae-solid-menu__submenu .solidae-solid-menu__item:hover > .solidae-solid-menu__submenu{
	display: flex;
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__list > .solidae-solid-menu__item > .solidae-solid-menu__submenu{
	width: 720px !important;
	min-width: 720px !important;
	padding: 14px 10px !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr !important;
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__submenu .solidae-solid-menu__link{
	padding: 9px 12px !important;
	border-radius: var(--r-sm) !important;
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__list > .solidae-solid-menu__item > .solidae-solid-menu__submenu > .solidae-solid-menu__item{
	border-right: 1px solid var(--line) !important;
	padding: 0 10px !important;
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__list > .solidae-solid-menu__item > .solidae-solid-menu__submenu > .solidae-solid-menu__item:last-child{
	border-right: 0 !important;
}



.solidae-solid-menu .cascade{
	position: absolute;
	top: calc(100% - 4px);
	left: 50%;
	margin-top: 8px;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, -8px);
	pointer-events: none;
	transition:
		opacity 200ms ease,
		transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
		width 240ms cubic-bezier(0.2, 0.8, 0.2, 1),
		visibility 0s linear 220ms;
	z-index: 1000;
}


.solidae-solid-menu .solidae-solid-menu__item.is-open > .cascade{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
	transition:
		opacity 200ms ease,
		transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}



.solidae-solid-menu .cascade-inner{
	display: grid;
	grid-template-columns: 200px var(--cascade-mid-w, 220px) 1fr;
	min-height: 360px;
}


/* Collapsed-column variants. The cascade-cols-N class is applied to .cascade
   at first render (matching the active root's depth) and re-applied by JS
   whenever the active root changes — so empty Mid / Leaf columns auto-hide
   when a root with no children is selected. When the Promo Card is enabled
   the panel is locked at cols-3 (the promo lives in the leaf column).

   The mid / leaf columns are kept in the DOM regardless (so switching to a
   deeper root re-shows them); display:none here drops them from the grid
   when not needed, and the panel width shrinks to match. */

.solidae-solid-menu .cascade.cascade-cols-2:not(.cascade-cols-locked){
	width: calc(200px + var(--cascade-mid-w, 220px)) !important;
	min-width: 0 !important;
}

.solidae-solid-menu .cascade.cascade-cols-2:not(.cascade-cols-locked) .cascade-inner{
	grid-template-columns: 200px var(--cascade-mid-w, 220px);
}

.solidae-solid-menu .cascade.cascade-cols-2:not(.cascade-cols-locked) .cascade-col-leaf{
	display: none;
}

.solidae-solid-menu .cascade.cascade-cols-1:not(.cascade-cols-locked){
	width: 240px !important;
	min-width: 0 !important;
}

.solidae-solid-menu .cascade.cascade-cols-1:not(.cascade-cols-locked) .cascade-inner{
	grid-template-columns: 1fr;
	min-height: 0;
}

.solidae-solid-menu .cascade.cascade-cols-1:not(.cascade-cols-locked) .cascade-col-mid,
.solidae-solid-menu .cascade.cascade-cols-1:not(.cascade-cols-locked) .cascade-col-leaf{
	display: none;
}

/* Hide the column-divider right border on whatever happens to be the last
   visible column in the collapsed variants — otherwise it draws a line at
   the right edge of the panel. */
.solidae-solid-menu .cascade.cascade-cols-2:not(.cascade-cols-locked) .cascade-col-mid,
.solidae-solid-menu .cascade.cascade-cols-1:not(.cascade-cols-locked) .cascade-col-root{
	border-right: 0 !important;
}


.solidae-solid-menu .cascade-col{
	padding: 14px 10px;
	display: flex;
	flex-direction: column;
	gap: 1px;
}


.solidae-solid-menu .cascade-col-leaf{
	padding: 14px 14px 14px 14px;
	border-right: 0 !important;
}


.solidae-solid-menu .cascade-label{
	padding: 4px 10px 10px;
	letter-spacing: 0.01em;
}


.solidae-solid-menu .cascade-row{
	all: unset;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	cursor: pointer;
	transition: background 140ms ease, color 140ms ease;
	text-align: left;
	font-family: inherit;
}



.solidae-solid-menu .cascade-row.leaf{
	font-weight: 500;
}


.solidae-solid-menu .cascade-chev{
	font-size: 16px;
	line-height: 1;
	transition: color 140ms ease, transform 160ms ease;
}


.solidae-solid-menu .cascade-row.leaf .cascade-arrow{
	font-size: 13px;
	opacity: 0;
	transition: opacity 140ms ease, transform 160ms ease;
}


.solidae-solid-menu .cascade-row.leaf:hover .cascade-arrow{
	opacity: 1;
	transform: translateX(2px);
}


.solidae-solid-menu .cascade-mid-group,
.solidae-solid-menu .cascade-leaf-group{
	display: none;
	flex-direction: column;
	gap: 1px;
}


.solidae-solid-menu .cascade-mid-group.active,
.solidae-solid-menu .cascade-leaf-group.active{
	display: flex;
}


.solidae-solid-menu .cascade-promo{
	margin-top: 14px;
	padding: 14px;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
}


.solidae-solid-menu .cascade-promo-eyebrow{
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 6px;
	font-weight: 500;
}


.solidae-solid-menu .cascade-promo-title{
	margin-bottom: 10px;
}


.solidae-solid-menu .cascade-promo-cta{
	font-size: 13px;
	font-weight: 500;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
	align-self: flex-start;
	text-decoration: none;
}


.solidae-solid-menu.design-cascade .solidae-solid-menu__list > .solidae-solid-menu__item > .solidae-solid-menu__submenu{
	display: none !important;
}

@media (max-width: 1080px) {
.solidae-solid-menu .cascade{ width: 660px; min-width: 660px; }
.solidae-solid-menu .cascade-inner{ grid-template-columns: 180px 200px 1fr; }
}

@media (max-width: 1024px) {
.solidae-solid-menu.mbreak-tablet .cascade,
	.solidae-solid-menu.mbreak-tablet .vertical,
	.solidae-solid-menu.mbreak-tablet .inline-menu,
	.solidae-solid-menu.mbreak-tablet .indexm{
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		box-shadow: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		max-height: 0;
		overflow: hidden;
		padding: 0 !important;
		transition: max-height 220ms ease, padding 220ms ease;
	}
.solidae-solid-menu.mbreak-tablet .solidae-solid-menu__item.is-open > .cascade,
	.solidae-solid-menu.mbreak-tablet .solidae-solid-menu__item.is-open > .vertical,
	.solidae-solid-menu.mbreak-tablet .solidae-solid-menu__item.is-open > .inline-menu,
	.solidae-solid-menu.mbreak-tablet .solidae-solid-menu__item.is-open > .indexm{
		max-height: 4000px;
		padding: 8px 0 !important;
	}
/* Cascade: stack columns vertically and show all groups */
	.solidae-solid-menu.mbreak-tablet.design-cascade .cascade-inner{
		display: block;
		grid-template-columns: 1fr;
		min-height: 0;
	}
.solidae-solid-menu.mbreak-tablet.design-cascade .cascade-col{
		border-right: 0 !important;
		padding: 8px 0;
	}
.solidae-solid-menu.mbreak-tablet.design-cascade .cascade-mid-group,
	.solidae-solid-menu.mbreak-tablet.design-cascade .cascade-leaf-group{
		display: flex !important;
	}
.solidae-solid-menu.mbreak-tablet.design-cascade .cascade-col-leaf{
		background: transparent !important;
	}
.solidae-solid-menu.mbreak-tablet.design-cascade .cascade-promo{ display: none; }
}

@media (max-width: 767px) {
.solidae-solid-menu.mbreak-mobile .cascade,
	.solidae-solid-menu.mbreak-mobile .vertical,
	.solidae-solid-menu.mbreak-mobile .inline-menu,
	.solidae-solid-menu.mbreak-mobile .indexm{
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		box-shadow: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		max-height: 0;
		overflow: hidden;
		padding: 0 !important;
		transition: max-height 220ms ease, padding 220ms ease;
	}
.solidae-solid-menu.mbreak-mobile .solidae-solid-menu__item.is-open > .cascade,
	.solidae-solid-menu.mbreak-mobile .solidae-solid-menu__item.is-open > .vertical,
	.solidae-solid-menu.mbreak-mobile .solidae-solid-menu__item.is-open > .inline-menu,
	.solidae-solid-menu.mbreak-mobile .solidae-solid-menu__item.is-open > .indexm{
		max-height: 4000px;
		padding: 8px 0 !important;
	}
.solidae-solid-menu.mbreak-mobile.design-cascade .cascade-inner{ display: block; grid-template-columns: 1fr; min-height: 0; }
.solidae-solid-menu.mbreak-mobile.design-cascade .cascade-col{ border-right: 0 !important; padding: 8px 0; }
.solidae-solid-menu.mbreak-mobile.design-cascade .cascade-mid-group,
	.solidae-solid-menu.mbreak-mobile.design-cascade .cascade-leaf-group{ display: flex !important; }
.solidae-solid-menu.mbreak-mobile.design-cascade .cascade-col-leaf{ background: transparent !important; }
.solidae-solid-menu.mbreak-mobile.design-cascade .cascade-promo{ display: none; }
}


.solidae-solid-menu .cascade ul,
.solidae-solid-menu .cascade li,
.solidae-solid-menu .vertical ul,
.solidae-solid-menu .vertical li,
.solidae-solid-menu .inline-menu ul,
.solidae-solid-menu .inline-menu li,
.solidae-solid-menu .indexm ul,
.solidae-solid-menu .indexm li,
.solidae-solid-menu .solidae-drawer ul,
.solidae-solid-menu .solidae-drawer li{
	list-style: none !important;
}
