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



.solidae-solid-menu.design-index .solidae-solid-menu__list > .solidae-solid-menu__item > .solidae-solid-menu__submenu{
	width: 560px;
	min-width: 560px;
	padding: 14px 14px 10px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 6px;
	row-gap: 1px;
	counter-reset: solidae-idx;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__item{
	counter-increment: solidae-idx;
	position: relative;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__link{
	padding: 10px 8px;
	border-radius: var(--r-sm);
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--ink);
	transition: background 140ms ease;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__link::before{
	content: counter(solidae-idx, decimal-leading-zero);
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 11px;
	color: var(--ink-3);
	letter-spacing: 0.04em;
	min-width: 24px;
	transition: color 140ms ease;
	flex-shrink: 0;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__link:hover{
	background: var(--paper-2);
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__link:hover::before{
	color: var(--accent);
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__label{
	font-size: 14px;
	font-weight: 500;
	letter-spacing: -0.005em;
	color: var(--ink);
	flex: 1;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__caret-toggle,
.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__caret{ display: none; }


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__link::after{
	content: "";
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 4px;
	height: 1px;
	background: var(--line);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1), background 140ms ease;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__link:hover::after{
	transform: scaleX(1);
	background: var(--accent);
}


.solidae-solid-menu.design-index .solidae-solid-menu__list > .solidae-solid-menu__item > .solidae-solid-menu__submenu{
	width: 560px !important;
	min-width: 560px !important;
	padding: 14px 14px 10px !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	column-gap: 6px !important;
	row-gap: 1px !important;
	counter-reset: solidae-idx !important;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__item{
	counter-increment: solidae-idx !important;
	position: relative !important;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__link{
	padding: 10px 8px !important;
	border-radius: var(--r-sm) !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: var(--ink) !important;
	background: transparent !important;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__link::before{
	content: counter(solidae-idx, decimal-leading-zero) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
	font-size: 11px !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.04em !important;
	min-width: 24px !important;
	flex-shrink: 0 !important;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__link:hover{
	background: var(--paper-2) !important;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__link:hover::before{
	color: var(--accent) !important;
}


.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__caret-toggle,
.solidae-solid-menu.design-index .solidae-solid-menu__submenu .solidae-solid-menu__caret{
	display: none !important;
}


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


.solidae-solid-menu .solidae-solid-menu__item.is-open > .indexm{
	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 .indexm-head{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 4px 6px 12px;
	border-bottom: 1px solid;
	margin-bottom: 8px;
}


.solidae-solid-menu .indexm-count{
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 11px;
	letter-spacing: 0.04em;
}


.solidae-solid-menu .indexm-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 6px;
	row-gap: 1px;
}


.solidae-solid-menu .indexm-list li{
	counter-increment: indexm-counter;
}


.solidae-solid-menu .indexm-row{
	position: relative;
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 10px;
	align-items: center;
	padding: 10px 8px;
	border-radius: 6px;
	text-decoration: none;
	transition: background 140ms ease;
}


.solidae-solid-menu .indexm-num{
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 11px;
	letter-spacing: 0.04em;
	align-self: flex-start;
	margin-top: 2px;
	transition: color 140ms ease;
}


.solidae-solid-menu .indexm-num::before{
	content: counter(indexm-counter, decimal-leading-zero);
}


.solidae-solid-menu .indexm-body{
	display: flex;
	flex-direction: column;
	min-width: 0;
}


.solidae-solid-menu .indexm-cat{
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 2px;
}


.solidae-solid-menu .indexm-name{
	font-size: 14px;
	font-weight: 500;
	letter-spacing: -0.005em;
}


.solidae-solid-menu .indexm-line{
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 4px;
	height: 1px;
	background: currentColor;
	opacity: 0.15;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 140ms ease;
}


.solidae-solid-menu .indexm-row:hover .indexm-line{
	transform: scaleX(1);
	opacity: 1;
}


.solidae-solid-menu .indexm-foot{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 10px;
	padding: 12px 8px 4px;
	border-top: 1px solid;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	transition: color 140ms ease;
}



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

@media (max-width: 1080px) {
.solidae-solid-menu .indexm{ width: 520px; min-width: 520px; }
}

@media (max-width: 1024px) {
/* Index: single column */
	.solidae-solid-menu.mbreak-tablet.design-index .indexm-list{ grid-template-columns: 1fr; }
.solidae-solid-menu.mbreak-tablet.design-index .indexm-head,
	.solidae-solid-menu.mbreak-tablet.design-index .indexm-foot{ padding-left: 0; padding-right: 0; }
}

@media (max-width: 767px) {
.solidae-solid-menu.mbreak-mobile.design-index .indexm-list{ grid-template-columns: 1fr; }
}

/* =====================================================================
   INDEX — Sectioned mode (3-level): each L2 becomes its own section
   with its own 01/02/03 counter restarting per section.
   ===================================================================== */

.solidae-solid-menu .indexm.indexm--sectioned{
	display: block;
}

.solidae-solid-menu .indexm-sections{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.solidae-solid-menu .indexm-section{
	counter-reset: indexm-counter;
}

.solidae-solid-menu .indexm-section + .indexm-section{
	border-top: 1px dashed currentColor;
	padding-top: 12px;
	border-color: var(--line, #E8E5DD);
}

.solidae-solid-menu .indexm-section-label{
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 10.5px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ink-3, #8C8478);
	padding: 0 8px 6px;
	margin: 0 0 4px;
}

/* In sectioned mode the inner list keeps the 2-column grid for readability,
   but its counter is now scoped to the section, not the whole panel. */
.solidae-solid-menu .indexm--sectioned .indexm-list{
	counter-reset: none;
}
