/* Solid Menu — Mobile styles. */
.solidae-solid-menu.mbreak-tablet{ --solidae-sm-mobile-bp: 1024px; }
.solidae-solid-menu.mbreak-mobile{ --solidae-sm-mobile-bp: 767px; }

@media (max-width: 1024px){
	.solidae-solid-menu.mbreak-tablet .solidae-solid-menu__hamburger{ display: inline-flex; }
	.solidae-solid-menu.mbreak-tablet .solidae-solid-menu__list{ display: none; }
	.solidae-solid-menu.mbreak-tablet.is-open .solidae-solid-menu__list{ display: flex; }

	.solidae-solid-menu.mbreak-tablet.mobile-drawer-left .solidae-solid-menu__list,
	.solidae-solid-menu.mbreak-tablet.mobile-drawer-right .solidae-solid-menu__list{
		position: fixed;
		top: 0;
		bottom: 0;
		width: 320px;
		max-width: 90vw;
		flex-direction: column;
		align-items: stretch;
		flex-wrap: nowrap;
		overflow-y: auto;
		padding: 24px 16px;
		background: #fff;
		z-index: 999;
		gap: 4px;
		transform: translateX(-100%);
		transition: transform var(--solidae-sm-anim-duration) ease;
	}
	.solidae-solid-menu.mbreak-tablet.mobile-drawer-left .solidae-solid-menu__list{ left: 0; transform: translateX(-100%); }
	.solidae-solid-menu.mbreak-tablet.mobile-drawer-right .solidae-solid-menu__list{ right: 0; left: auto; transform: translateX(100%); }
	.solidae-solid-menu.mbreak-tablet.is-open.mobile-drawer-left .solidae-solid-menu__list,
	.solidae-solid-menu.mbreak-tablet.is-open.mobile-drawer-right .solidae-solid-menu__list{
		display: flex;
		transform: translateX(0);
	}

	.solidae-solid-menu.mbreak-tablet.mobile-overlay .solidae-solid-menu__list{
		position: fixed;
		inset: 0;
		flex-direction: column;
		align-items: stretch;
		flex-wrap: nowrap;
		overflow-y: auto;
		padding: 64px 24px;
		background: #fff;
		z-index: 999;
		opacity: 0;
		visibility: hidden;
		transition: opacity var(--solidae-sm-anim-duration) ease;
	}
	.solidae-solid-menu.mbreak-tablet.is-open.mobile-overlay .solidae-solid-menu__list{
		display: flex;
		opacity: 1;
		visibility: visible;
	}

	.solidae-solid-menu.mbreak-tablet.mobile-accordion.is-open .solidae-solid-menu__list{
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}

	/* Mobile submenu/panel: inline accordion. */
	.solidae-solid-menu.mbreak-tablet .solidae-solid-menu__submenu,
	.solidae-solid-menu.mbreak-tablet .solidae-solid-menu__panel{
		position: static;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		box-shadow: none;
		margin: 0;
		min-width: 0;
		max-height: 0;
		overflow: hidden;
		padding-top: 0;
		padding-bottom: 0;
		transition: max-height var(--solidae-sm-anim-duration) ease, padding var(--solidae-sm-anim-duration) ease;
	}
	.solidae-solid-menu.mbreak-tablet .solidae-solid-menu__item.is-open > .solidae-solid-menu__submenu,
	.solidae-solid-menu.mbreak-tablet .solidae-solid-menu__item.is-open > .solidae-solid-menu__panel{
		max-height: 2000px;
		padding-top: 8px;
		padding-bottom: 8px;
	}
}

@media (max-width: 767px){
	.solidae-solid-menu.mbreak-mobile .solidae-solid-menu__hamburger{ display: inline-flex; }
	.solidae-solid-menu.mbreak-mobile .solidae-solid-menu__list{ display: none; }
	.solidae-solid-menu.mbreak-mobile.is-open .solidae-solid-menu__list{ display: flex; }

	.solidae-solid-menu.mbreak-mobile.mobile-drawer-left .solidae-solid-menu__list,
	.solidae-solid-menu.mbreak-mobile.mobile-drawer-right .solidae-solid-menu__list{
		position: fixed;
		top: 0;
		bottom: 0;
		width: 320px;
		max-width: 90vw;
		flex-direction: column;
		align-items: stretch;
		flex-wrap: nowrap;
		overflow-y: auto;
		padding: 24px 16px;
		background: #fff;
		z-index: 999;
		transform: translateX(-100%);
		transition: transform var(--solidae-sm-anim-duration) ease;
	}
	.solidae-solid-menu.mbreak-mobile.mobile-drawer-left .solidae-solid-menu__list{ left: 0; }
	.solidae-solid-menu.mbreak-mobile.mobile-drawer-right .solidae-solid-menu__list{ right: 0; left: auto; transform: translateX(100%); }
	.solidae-solid-menu.mbreak-mobile.is-open.mobile-drawer-left .solidae-solid-menu__list,
	.solidae-solid-menu.mbreak-mobile.is-open.mobile-drawer-right .solidae-solid-menu__list{
		display: flex;
		transform: translateX(0);
	}

	.solidae-solid-menu.mbreak-mobile.mobile-overlay .solidae-solid-menu__list{
		position: fixed;
		inset: 0;
		flex-direction: column;
		align-items: stretch;
		flex-wrap: nowrap;
		overflow-y: auto;
		padding: 64px 24px;
		background: #fff;
		z-index: 999;
	}

	.solidae-solid-menu.mbreak-mobile .solidae-solid-menu__submenu,
	.solidae-solid-menu.mbreak-mobile .solidae-solid-menu__panel{
		position: static;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		box-shadow: none;
		margin: 0;
		min-width: 0;
		max-height: 0;
		overflow: hidden;
		padding-top: 0;
		padding-bottom: 0;
		transition: max-height var(--solidae-sm-anim-duration) ease, padding var(--solidae-sm-anim-duration) ease;
	}
	.solidae-solid-menu.mbreak-mobile .solidae-solid-menu__item.is-open > .solidae-solid-menu__submenu,
	.solidae-solid-menu.mbreak-mobile .solidae-solid-menu__item.is-open > .solidae-solid-menu__panel{
		max-height: 2000px;
		padding-top: 8px;
		padding-bottom: 8px;
	}
}

/* Hamburger animations. */
.solidae-solid-menu.ham-x.is-open .solidae-solid-menu__hamburger span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.solidae-solid-menu.ham-x.is-open .solidae-solid-menu__hamburger span:nth-child(2){ opacity: 0; }
.solidae-solid-menu.ham-x.is-open .solidae-solid-menu__hamburger span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

.solidae-solid-menu.ham-arrow.is-open .solidae-solid-menu__hamburger span:nth-child(1){ transform: translateY(6px) rotate(-45deg) scaleX(0.5); transform-origin: right; }
.solidae-solid-menu.ham-arrow.is-open .solidae-solid-menu__hamburger span:nth-child(3){ transform: translateY(-6px) rotate(45deg) scaleX(0.5); transform-origin: right; }

/* Body scroll lock helper. */
/* Body lock when drawer is open — iOS Safari ignores plain `overflow: hidden` on
   body for touch scrolling, so we add touch-action: none to actually freeze the page
   behind the drawer. The drawer's nav has its own `touch-action: pan-y` allowing
   vertical scroll inside it. */
html.solidae-sm-locked,
body.solidae-sm-locked{
	overflow: hidden;
	touch-action: none;
	overscroll-behavior: none;
}

/* Show mobile close button only when drawer/overlay is open on mobile widths. */
@media (max-width: 1024px){
	.solidae-solid-menu.mbreak-tablet.is-open .solidae-solid-menu__mobile-close-wrap{ display: flex; }
	/* Force the in-drawer close button to use design tokens — without these rules,
	   themes can leak link/button hover (often red) onto this element. */
	.solidae-solid-menu__mobile-close{
		all: unset;
		/* Width/height left to padding + icon size — Style → Mobile Drawer → Close Icon. */
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		line-height: 1;
		color: var(--ink-2, #5B544A);
		background: transparent;
		transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
	}
	.solidae-solid-menu__mobile-close:hover,
	.solidae-solid-menu__mobile-close:focus-visible{
		background: var(--paper-2, #F4F1EA);
		color: var(--ink, #1F1A14);
	}
	.solidae-solid-menu__mobile-close i,
	.solidae-solid-menu__mobile-close svg{ width: 20px; height: 20px; fill: currentColor; color: inherit; }
	.solidae-solid-menu.mbreak-tablet.ham-custom .solidae-solid-menu__hamburger{ display: inline-flex; }
}
@media (max-width: 767px){
	.solidae-solid-menu.mbreak-mobile.is-open .solidae-solid-menu__mobile-close-wrap{ display: flex; }
	.solidae-solid-menu.mbreak-mobile.ham-custom .solidae-solid-menu__hamburger{ display: inline-flex; }
}

/* Caret-only mobile trigger: link follows URL, caret-toggle opens submenu. */
@media (max-width: 1024px){
	.solidae-solid-menu.mbreak-tablet.mtrigger-caret .solidae-solid-menu__caret-toggle{ display: inline-flex; }
	.solidae-solid-menu.mbreak-tablet.mtrigger-whole .solidae-solid-menu__caret-toggle{ pointer-events: none; }
}
@media (max-width: 767px){
	.solidae-solid-menu.mbreak-mobile.mtrigger-caret .solidae-solid-menu__caret-toggle{ display: inline-flex; }
	.solidae-solid-menu.mbreak-mobile.mtrigger-whole .solidae-solid-menu__caret-toggle{ pointer-events: none; }
}

