/* Hexato UI — comportamento e estados que as classes globais V4 nao suportam */

/* Fontes de reserva */
body .elementor .hx-mono,
body .elementor .hx-mm-label,
body .elementor .hx-ph-file,
body .elementor .hx-sep-mark,
body .elementor .hx-hd-phone,
body .elementor .hx-ticker-item {
	font-family: var(--font-mono), "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
body .elementor [class*="hx-"] {
	-webkit-font-smoothing: antialiased;
}

/* Destaque verde em titulos: use <u> no texto */
body .elementor .hx-display u,
body .elementor .hx-h2 u,
body .elementor .hx-h3-lg u {
	text-decoration: none;
	box-shadow: inset 0 -0.14em 0 var(--accent);
}

/* Elementos ocultos via JS */
body .elementor [class*="hx-"][hidden] {
	display: none !important;
}

/* Foco visivel */
body .elementor [class*="hx-"]:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}
body .elementor .hx-panel-primary [class*="hx-"]:focus-visible,
body .elementor .hx-panel-ink [class*="hx-"]:focus-visible,
body .elementor .hx-mm-card [class*="hx-"]:focus-visible {
	outline-color: #FFFFFF;
}

/* Guias: so a partir de 1320px */
@media (max-width: 1319px) {
	body .elementor .hx-guides { display: none; }
}
@media (min-width: 1320px) {
	body .elementor .hx-guides { display: block; }
}

/* ---------- Header ---------- */
.elementor-location-header:has(.hx-hd) {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
}
body .elementor .hx-hd::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(247, 247, 251, 0.86);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
	pointer-events: none;
}
body .elementor .hx-hd-trigger svg {
	transition: transform 0.2s;
}
body .elementor .hx-hd-trigger[aria-expanded="true"] {
	background-color: var(--primary-tint);
	color: var(--primary);
}
body .elementor .hx-hd-trigger[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

/* Mega menu */
body .elementor .hx-mega.is-open {
	display: flex;
	animation: hxMmIn 0.18s ease-out;
}
@keyframes hxMmIn {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}
@media (max-width: 1024px) {
	body .elementor .hx-mega.is-open { display: none; }
}
body .elementor .hx-mm-item:hover .hx-mm-t,
body .elementor .hx-mm-item:focus-visible .hx-mm-t {
	color: var(--primary);
}
body .elementor .hx-mm-item:hover .hx-mm-ico,
body .elementor .hx-mm-item:focus-visible .hx-mm-ico {
	background-color: var(--primary);
}
body .elementor .hx-mm-ico svg {
	transition: filter 0.15s;
}
body .elementor .hx-mm-item:hover .hx-mm-ico svg,
body .elementor .hx-mm-item:focus-visible .hx-mm-ico svg {
	filter: brightness(0) invert(1);
}
body .elementor .hx-mm-row:hover .hx-mm-arrow,
body .elementor .hx-mm-row:focus-visible .hx-mm-arrow {
	opacity: 1;
	transform: none;
}

/* Gaveta mobile */
body .elementor .hx-drawer.is-open {
	display: flex;
}
@media (min-width: 1025px) {
	body .elementor .hx-drawer.is-open { display: none; }
}
body.hx-lock {
	overflow: hidden;
}
body .elementor .hx-drawer-close .hx-burger-bar {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -1px 0 0 -9px;
}
body .elementor .hx-drawer-close .hx-burger-bar:first-child { transform: rotate(45deg); }
body .elementor .hx-drawer-close .hx-burger-bar:last-child { transform: rotate(-45deg); }
body .elementor .hx-acc.is-open > .hx-acc-panel {
	display: flex;
}
body .elementor .hx-acc.is-open .hx-acc-sign {
	background-color: var(--primary);
	color: #FFFFFF;
}

/* Editor do Elementor: paineis visiveis para edicao */
body.elementor-editor-active .elementor .hx-mega,
body.elementor-editor-active .elementor .hx-drawer {
	display: flex;
	position: relative;
	inset: auto;
	top: auto;
	z-index: auto;
	margin-top: 16px;
	outline: 1px dashed var(--guide);
}
body.elementor-editor-active .elementor .hx-acc-panel {
	display: flex;
}

/* ---------- Ticker e marquee ---------- */
body .elementor .hx-ticker.is-ready .hx-ticker-track,
body .elementor .hx-marquee.is-ready .hx-marquee-track {
	animation: hxMarq 46s linear infinite;
}
body .elementor .hx-marquee.is-ready .hx-marquee-track {
	animation-duration: 38s;
}
body .elementor .hx-ticker:hover .hx-ticker-track,
body .elementor .hx-marquee:hover .hx-marquee-track {
	animation-play-state: paused;
}
@keyframes hxMarq {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
body .elementor .hx-pulse {
	animation: hxPulse 1.8s ease-in-out infinite;
}
@keyframes hxPulse {
	50% { opacity: 0.35; }
}

@media (prefers-reduced-motion: reduce) {
	body .elementor .hx-ticker-track,
	body .elementor .hx-marquee-track,
	body .elementor .hx-pulse,
	body .elementor .hx-mega.is-open {
		animation: none !important;
	}
	body .elementor [class*="hx-"] {
		transition-duration: 0.01ms !important;
	}
}
body .elementor .hx-seg-btn[aria-pressed='true'] {
	background-color: var(--surface);
	color: var(--primary);
	box-shadow: 0 1px 3px rgba(16, 13, 46, .12);
}
body .elementor .hx-acc-sign {
	font-size: 20px;
}

/* ---------- Ancoras ---------- */
html {
	scroll-behavior: smooth;
}
body .elementor section[id] {
	scroll-margin-top: 80px;
}

/* ---------- Painel de status da hero ---------- */
body .elementor .hx-scn:not([data-mode='ok']) .hx-scn-ok,
body .elementor .hx-scn[data-mode='ok'] .hx-scn-chaos {
	display: none !important;
}
body .elementor .hx-scn[data-mode='ok'] .hx-scn-status {
	background-color: var(--accent-tint);
}
body .elementor .hx-scn[data-mode='ok'] .hx-scn-icon {
	background-color: var(--accent);
}
body .elementor .hx-scn .hx-scn-btn[aria-pressed='true'] {
	background-color: var(--surface);
	color: var(--danger-text);
	box-shadow: 0 2px 8px rgba(16, 13, 46, .12);
}
body .elementor .hx-scn[data-mode='ok'] .hx-scn-btn[aria-pressed='true'] {
	color: var(--primary);
}
body .elementor .hx-scn .hx-tile:nth-child(5),
body .elementor .hx-scn .hx-tile:nth-child(14),
body .elementor .hx-scn .hx-tile:nth-child(20) {
	background-color: var(--danger);
	border-color: var(--danger);
	animation: hxPulse 1.8s ease-in-out infinite;
}
body .elementor .hx-scn .hx-tile:nth-child(3),
body .elementor .hx-scn .hx-tile:nth-child(9),
body .elementor .hx-scn .hx-tile:nth-child(16),
body .elementor .hx-scn .hx-tile:nth-child(18),
body .elementor .hx-scn .hx-tile:nth-child(23) {
	background-color: #F6C77A;
	border-color: var(--warning);
}
body .elementor .hx-scn[data-mode='ok'] .hx-tile {
	background-color: #E4E2FB;
	border-color: #C9C5F5;
	animation: none;
}
body .elementor .hx-scn[data-mode='ok'] .hx-tile:nth-child(5),
body .elementor .hx-scn[data-mode='ok'] .hx-tile:nth-child(14),
body .elementor .hx-scn[data-mode='ok'] .hx-tile:nth-child(20) {
	background-color: var(--accent);
	border-color: var(--accent);
}

/* ---------- Antes e depois ---------- */
body .elementor .hx-ba {
	--ba: 50%;
}
body .elementor .hx-ba-after {
	clip-path: inset(0 0 0 var(--ba));
}
body .elementor .hx-ba-handle {
	left: var(--ba);
}
body .elementor .hx-ba-after img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---------- Controles gerados por JS ---------- */
body .elementor .hx-ba-range input[type='range'],
body .elementor .hx-calc-field input[type='range'] {
	display: block;
	width: 100%;
	height: 28px;
	margin: 0;
	accent-color: var(--accent);
	cursor: pointer;
}
body .elementor .hx-ba-range input[type='range'] {
	accent-color: var(--primary);
}
body .elementor .hx-calc-num {
	display: block;
	width: 100%;
	min-height: 50px;
	padding: 12px 16px 12px 46px;
	border: 1.5px solid #363163;
	border-radius: var(--r-md);
	background-color: var(--ink-2);
	color: #FFFFFF;
	font-family: var(--font-sans), system-ui, sans-serif;
	font-size: 16px;
	outline: none;
}
body .elementor .hx-calc-num:focus {
	border-color: var(--primary);
	box-shadow: 0 0 0 4px rgba(52, 40, 211, .35);
}
body .elementor .hx-calc-prefix {
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
	color: #8E8AB8;
	font-family: var(--font-mono), ui-monospace, monospace;
	font-size: 14px;
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	body .elementor .hx-scn .hx-tile { animation: none !important; }
}

/* ---------- Abas (pilares e personas) ---------- */
body .elementor .hx-tabs:not(.is-ready) .hx-tabpanel ~ .hx-tabpanel {
	display: none;
}
body .elementor .hx-ptab::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background-color: transparent;
}
body .elementor .hx-ptab[aria-selected='true'],
body .elementor .hx-tabs:not(.is-ready) .hx-ptab:first-child {
	background-color: var(--surface);
	box-shadow: 0 18px 36px -22px rgba(52, 40, 211, .55), inset 0 0 0 1.5px var(--primary);
}
body .elementor .hx-ptab[aria-selected='true']::after,
body .elementor .hx-tabs:not(.is-ready) .hx-ptab:first-child::after {
	background-color: var(--primary);
}
body .elementor .hx-ptab[aria-selected='true'] .hx-ptab-num,
body .elementor .hx-ptab[aria-selected='true'] .hx-ptab-kick,
body .elementor .hx-tabs:not(.is-ready) .hx-ptab:first-child .hx-ptab-num,
body .elementor .hx-tabs:not(.is-ready) .hx-ptab:first-child .hx-ptab-kick {
	color: var(--primary);
}
body .elementor .hx-pill-tab[aria-selected='true'],
body .elementor .hx-tabs:not(.is-ready) .hx-pill-tab:first-child {
	background-color: var(--surface);
	color: var(--primary);
	box-shadow: 0 2px 8px rgba(16, 13, 46, .12);
}

/* ---------- Demo de failover ---------- */
body .elementor .hx-fo:not([data-down='1']) .hx-fo-down,
body .elementor .hx-fo[data-down='1'] .hx-fo-up {
	display: none !important;
}
body .elementor .hx-fo[data-down='1'] .hx-fo-l1 {
	border-color: #F2B3B5;
	background-color: var(--danger-tint);
}
body .elementor .hx-fo[data-down='1'] .hx-fo-l2 {
	border-color: #9ADBB6;
	background-color: var(--accent-tint);
}
body .elementor .hx-fo[data-down='1'] .hx-fo-btn {
	background-color: transparent;
	color: var(--ink);
	box-shadow: inset 0 0 0 1.5px var(--line-strong);
	transform: none;
}

/* ---------- Filtro do inventario ---------- */
body .elementor .hx-inv[data-filter='att'] .hx-inv-ok {
	display: none !important;
}

/* ---------- FAQ ---------- */
body .elementor .hx-faq-head {
	list-style: none;
}
body .elementor .hx-faq-head::-webkit-details-marker {
	display: none;
}
body .elementor details:not([open]) > .hx-faq-head .hx-faq-minus,
body .elementor details[open] > .hx-faq-head .hx-faq-plus {
	display: none;
}
body .elementor details[open] > .hx-faq-head .hx-faq-ico {
	background-color: var(--primary);
	color: #FFFFFF;
}
body .elementor .hx-faq-head:hover .hx-faq-q {
	color: var(--primary);
}

/* ---------- Formulario em 2 etapas ---------- */
body .elementor .hx-sform:not([data-step='2']) .hx-fstep-2,
body .elementor .hx-sform[data-step='2'] .hx-fstep-1,
body .elementor .hx-sform.form-state-success .hx-fstep {
	display: none !important;
}
body .elementor .hx-sform:not([data-hint='1']) .hx-fhint {
	display: none;
}
body .elementor .hx-fchip:has(input:checked) {
	background-color: var(--primary);
	border-color: var(--primary);
	color: #FFFFFF;
}
body .elementor .hx-fchip:has(input:focus-visible) {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}
body .elementor .hx-ferr {
	margin: 0;
	font-family: var(--font-sans), system-ui, sans-serif;
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--danger-text);
}
body .elementor .hx-sform [aria-invalid='true'] {
	border-color: var(--danger);
}
