/*! Hikari Mega Menu | Studio Hikari
 * Cores com !important por causa das travas .light/.dark do Salient.
 * Layout sem @media (compatível com "Remover CSS não utilizado" do WP Rocket):
 * o estado desktop/mobile vem da classe html.hkmm-desktop aplicada pelo JS.
 */

.hkmm-root {
	--hkmm-panel-bg: #fff;
	--hkmm-featured-bg: #f5f5f7;
	--hkmm-radius: 20px;
	--hkmm-border-w: 0px;
	--hkmm-border-c: rgba(0, 0, 0, .08);
	--hkmm-shadow-a: 22;
	--hkmm-pad-x: 50px;
	--hkmm-pad-y: 40px;
	--hkmm-gap-featured: 32px;
	--hkmm-gap-list: 20px;
	--hkmm-font: inherit;
	--hkmm-eyebrow-c: #949494;
	--hkmm-eyebrow-fs: 12px;
	--hkmm-eyebrow-fw: 700;
	--hkmm-eyebrow-ls: .06em;
	--hkmm-eyebrow-mb: 36px;
	--hkmm-title-c: #141515;
	--hkmm-title-fs: 19px;
	--hkmm-title-fw: 500;
	--hkmm-title-ls: 0em;
	--hkmm-desc-c: rgba(20, 21, 21, .9);
	--hkmm-desc-fs: 13px;
	--hkmm-desc-lh: 1.4;
	--hkmm-desc-maxw: 220px;
	--hkmm-desc-gap: 10px;
	--hkmm-badge-bg: #e0e0e0;
	--hkmm-badge-c: #707271;
	--hkmm-badge-fs: 12px;
	--hkmm-hover-c: #008ed9;
	--hkmm-dur: 240ms;
	--hkmm-overlay-c: rgba(12, 12, 14, .55);
	--hkmm-overlay-blur: 4px;
	--hkmm-z: 99990;
}

/* ---------- Submenu nativo: oculto só no desktop, nos itens com mega ---------- */
html.hkmm-desktop .hkmm-has-mega > .sub-menu,
html.hkmm-desktop .hkmm-has-mega > ul,
html.hkmm-desktop .hkmm-has-mega > .nectar-global-section-megamenu {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

html:not(.hkmm-desktop) .hkmm-panel,
html:not(.hkmm-desktop) .hkmm-overlay {
	display: none !important;
}

/* ---------- Reset contra o tema ---------- */
.hkmm-root *,
.hkmm-root *::before,
.hkmm-root *::after {
	box-sizing: border-box;
}

.hkmm-root ul,
.hkmm-root li,
.hkmm-root p {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: none;
	border: 0;
	text-indent: 0;
}

.hkmm-root li::before,
.hkmm-root li::marker {
	content: none !important;
	display: none !important;
}

/* ---------- Painel ---------- */
.hkmm-panel {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: var(--hkmm-z);
	overflow: hidden;
	background: var(--hkmm-panel-bg) !important;
	border: var(--hkmm-border-w) solid var(--hkmm-border-c) !important;
	border-radius: var(--hkmm-radius);
	box-shadow:
		0 40px 90px -30px rgba(0, 0, 0, calc(var(--hkmm-shadow-a) / 100)),
		0 10px 30px -14px rgba(0, 0, 0, calc(var(--hkmm-shadow-a) / 140)) !important;
	color: var(--hkmm-title-c) !important;
	font-family: var(--hkmm-font);
	font-size: 16px;
	line-height: 1.4;
	text-align: left;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	opacity: 0;
	visibility: hidden;
	transform: none;
	transform-origin: 50% 0;
	transition:
		opacity var(--hkmm-dur) cubic-bezier(.2, .8, .2, 1),
		transform var(--hkmm-dur) cubic-bezier(.2, .8, .2, 1),
		visibility 0s linear var(--hkmm-dur);
}

.hkmm-panel[hidden] {
	display: none !important;
}

.hkmm-panel.is-open {
	opacity: 1;
	visibility: visible;
	transform: none !important;
	transition:
		opacity var(--hkmm-dur) cubic-bezier(.2, .8, .2, 1),
		transform var(--hkmm-dur) cubic-bezier(.2, .8, .2, 1),
		visibility 0s;
}

.hkmm--anim-slide .hkmm-panel { transform: translateY(12px); }
.hkmm--anim-scale .hkmm-panel { transform: translateY(6px) scale(.975); }
.hkmm--anim-none .hkmm-panel,
.hkmm--anim-none .hkmm-panel.is-open { transition: none !important; }

/* Troca direta entre painéis: sem reanimar */
.hkmm-panel.is-instant,
.hkmm-panel.is-instant .hkmm-col > * {
	transition: none !important;
}

.hkmm-panel__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	max-height: inherit;
	overflow-y: auto;
	overscroll-behavior: contain;
}

/* ---------- Colunas ---------- */
.hkmm-col {
	min-width: 0;
	padding: var(--hkmm-pad-y) var(--hkmm-pad-x) calc(var(--hkmm-pad-y) + 6px);
	background: var(--hkmm-col-bg, transparent) !important;
}

.hkmm-col--featured {
	background: var(--hkmm-col-bg, var(--hkmm-featured-bg)) !important;
}

.hkmm-root .hkmm-col__label {
	margin: 0 0 var(--hkmm-eyebrow-mb) !important;
	color: var(--hkmm-eyebrow-c) !important;
	font-family: inherit;
	font-size: var(--hkmm-eyebrow-fs) !important;
	font-weight: var(--hkmm-eyebrow-fw) !important;
	letter-spacing: var(--hkmm-eyebrow-ls) !important;
	line-height: 1.2 !important;
	text-transform: none !important;
}

.hkmm--eyebrow-upper .hkmm-col__label {
	text-transform: uppercase !important;
}

.hkmm-root .hkmm-col__label a {
	color: inherit !important;
	text-decoration: none !important;
	box-shadow: none !important;
	background: none !important;
}

.hkmm-root .hkmm-col__label a:hover {
	color: var(--hkmm-hover-c) !important;
}

.hkmm-col__list {
	display: flex !important;
	flex-direction: column;
	gap: var(--hkmm-gap-list);
}

.hkmm-col--list .hkmm-col__list {
	padding-top: 8px !important;
}

.hkmm-col--featured .hkmm-col__list {
	gap: var(--hkmm-gap-featured);
}

/* ---------- Links ---------- */
.hkmm-root .hkmm-link {
	display: block;
	margin: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 6px;
	background: none !important;
	box-shadow: none !important;
	color: var(--hkmm-title-c) !important;
	text-decoration: none !important;
	transition: opacity .2s ease;
}

.hkmm-root span.hkmm-link {
	cursor: default;
}

.hkmm-link__title {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 11px;
	max-width: 100%;
}

.hkmm-root .hkmm-link__text {
	color: var(--hkmm-title-c) !important;
	font-family: inherit;
	font-size: var(--hkmm-title-fs) !important;
	font-weight: var(--hkmm-title-fw) !important;
	letter-spacing: var(--hkmm-title-ls) !important;
	line-height: 1.25 !important;
	text-transform: none !important;
	transition: color .2s ease, transform .25s cubic-bezier(.2, .8, .2, 1), background-size .3s ease;
}

.hkmm-root .hkmm-link__desc {
	display: block;
	max-width: var(--hkmm-desc-maxw);
	margin-top: var(--hkmm-desc-gap);
	color: var(--hkmm-desc-c) !important;
	font-family: inherit;
	font-size: var(--hkmm-desc-fs) !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	line-height: var(--hkmm-desc-lh) !important;
	text-transform: none !important;
}

.hkmm-root .hkmm-badge {
	display: inline-block;
	padding: .5em 1em;
	border-radius: 999px;
	background: var(--hkmm-badge-bg) !important;
	color: var(--hkmm-badge-c) !important;
	font-family: inherit;
	font-size: var(--hkmm-badge-fs) !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
	line-height: 1.15 !important;
	text-transform: none !important;
	white-space: nowrap;
}

.hkmm--badge-upper .hkmm-badge {
	text-transform: uppercase !important;
}

.hkmm-root .hkmm-link:focus {
	outline: none;
}

.hkmm-root .hkmm-link:focus-visible {
	outline: 2px solid var(--hkmm-hover-c) !important;
	outline-offset: 4px;
}

/* ---------- Efeitos de hover ---------- */
.hkmm--hover-color .hkmm-link:hover .hkmm-link__text,
.hkmm--hover-color .hkmm-link:focus-visible .hkmm-link__text,
.hkmm--hover-color .hkmm-li.is-current .hkmm-link__text {
	color: var(--hkmm-hover-c) !important;
}

.hkmm--hover-opacity .hkmm-col__list:hover .hkmm-link {
	opacity: .42;
}

.hkmm--hover-opacity .hkmm-col__list:hover .hkmm-link:hover {
	opacity: 1;
}

.hkmm--hover-slide .hkmm-link__text {
	display: inline-block;
}

.hkmm--hover-slide .hkmm-link:hover .hkmm-link__text,
.hkmm--hover-slide .hkmm-link:focus-visible .hkmm-link__text {
	transform: translateX(6px);
	color: var(--hkmm-hover-c) !important;
}

.hkmm--hover-underline .hkmm-link__text {
	background-image: linear-gradient(var(--hkmm-hover-c), var(--hkmm-hover-c)) !important;
	background-position: 0 100% !important;
	background-repeat: no-repeat !important;
	background-size: 0 1.5px !important;
	padding-bottom: 2px;
}

.hkmm--hover-underline .hkmm-link:hover .hkmm-link__text,
.hkmm--hover-underline .hkmm-link:focus-visible .hkmm-link__text {
	background-size: 100% 1.5px !important;
}

/* ---------- Entrada em sequência ---------- */
.hkmm--stagger .hkmm-col > * {
	opacity: 0;
	transform: translateY(8px);
	transition:
		opacity var(--hkmm-dur) ease calc(var(--i, 0) * 55ms + 50ms),
		transform var(--hkmm-dur) cubic-bezier(.2, .8, .2, 1) calc(var(--i, 0) * 55ms + 50ms);
}

.hkmm--stagger .hkmm-panel.is-open .hkmm-col > * {
	opacity: 1;
	transform: none;
}

.hkmm--anim-none.hkmm--stagger .hkmm-col > * {
	opacity: 1;
	transform: none;
	transition: none;
}

/* ---------- Fundo escurecido ---------- */
.hkmm-overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: calc(var(--hkmm-z) - 1);
	background: var(--hkmm-overlay-c) !important;
	-webkit-backdrop-filter: blur(var(--hkmm-overlay-blur));
	backdrop-filter: blur(var(--hkmm-overlay-blur));
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--hkmm-dur) ease, visibility 0s linear var(--hkmm-dur);
}

.hkmm-overlay.is-open {
	opacity: 1;
	visibility: visible;
	transition: opacity var(--hkmm-dur) ease, visibility 0s;
}

@media (prefers-reduced-motion: reduce) {
	.hkmm-panel,
	.hkmm-overlay,
	.hkmm-root .hkmm-col > *,
	.hkmm-root .hkmm-link__text {
		transition: none !important;
		transform: none !important;
	}
}
