/**
 * Design tokens oficiais da ABOI.
 * Estes valores espelham as cores globais configuradas no Elementor.
 */
:root {
	--aboi-color-primary: #1c4463;
	--aboi-color-primary-deep: #0f2a3f;
	--aboi-color-primary-mist: #eaf0f5;
	--aboi-color-iris-blue: #2b7bb9;
	--aboi-color-turquoise: #17a0a0;
	--aboi-color-clinical-green: #4e9a51;
	--aboi-color-lime: #8dc63f;
	--aboi-color-magenta: #c4247d;
	--aboi-color-ink: #0f1e2b;
	--aboi-color-graphite: #58595b;
	--aboi-color-border: #e3e8ed;
	--aboi-color-paper: #fafbfc;
	--aboi-color-white: #ffffff;
	--aboi-color-transparent: #00000000;

	--aboi-space-1: 4px;
	--aboi-space-2: 8px;
	--aboi-space-3: 12px;
	--aboi-space-4: 16px;
	--aboi-space-6: 24px;
	--aboi-space-8: 32px;
	--aboi-space-12: 48px;
	--aboi-space-16: 64px;
	--aboi-space-24: 96px;

	--aboi-radius-sm: 2px;
	--aboi-radius-md: 4px;
	--aboi-shadow-overlay: 0 2px 8px rgb(28 68 99 / 12%);
}


/* ========================================================================== */
/* Correções modulares: mobile, minicarrinho e Single Product Premium         */
/* ========================================================================== */
html body .elementor-location-header .aboi-native-cart .elementor-menu-cart__footer-buttons .elementor-button-text {
	display: inline-block !important;
	visibility: visible !important;
	width: auto !important;
	height: auto !important;
	opacity: 1 !important;
	
	font-family: "Montserrat", sans-serif;
	font-size: 13px !important;
	
	line-height: 18px;
	white-space: nowrap !important;
}
html body .elementor-location-header .aboi-native-cart .elementor-menu-cart__footer-buttons .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px !important;
	padding: 10px 12px !important;
	overflow: visible !important;
}
html body.single-product {
	background: #f8fafc !important;
}
html body.single-product :is(#page, .site, .site-main) {
	background: transparent !important;
}
html body.single-product .elementor-location-single.elementor-226 {
	background: #f8fafc !important;
}

html body.single-product .elementor-226 .elementor-element-abfaq000 {
	width: 100% !important;
	margin: 42px 0 22px !important;
}
html body.single-product .elementor-226 .elementor-element-abfaq000 .elementor-heading-title {
	margin: 0 !important;
	
	font-family: "Montserrat", sans-serif;
	font-size: 30px !important;
	
	line-height: 38px;
}
html body.single-product .elementor-226 .elementor-element-abfaq001 {
	width: 100% !important;
	margin: 0 !important;
}
html body.single-product .elementor-226 .elementor-element-abfaq001::before {
	content: none !important;
	display: none !important;
}
html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-accordion {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	width: 100% !important;
	padding: 0 20px !important;
}
html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-accordion-item {
	overflow: hidden !important;
	margin: 0 !important;
	border: 1px solid #e5eaf0 !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, .045) !important;
}
html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-tab-title {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 56px !important;
	padding: 14px 18px !important;
	border: 0 !important;
	background: #fff !important;
	
}
html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-accordion-title {
	order: 1 !important;
	flex: 1 1 auto !important;
	
	font-family: "Montserrat", sans-serif;
	font-size: 16px !important;
	
	line-height: 24px;
}
html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-accordion-icon {
	order: 2 !important;
	flex: 0 0 18px !important;
	width: 18px !important;
	margin: 0 0 0 16px !important;
	
}
html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-accordion-icon svg {
	width: 14px !important;
	height: 14px !important;
	fill: currentColor !important;
}
html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-tab-content {
	padding: 0 18px 18px !important;
	border: 0 !important;
	background: #fff !important;
	
	font-family: "Montserrat", sans-serif;
	font-size: 14px !important;
	line-height: 23px;
}

@media (max-width: 1180px) {
	html body .elementor-location-header .aboi-native-menu .elementor-nav-menu--dropdown {
		position: absolute !important;
		top: calc(100% + 10px) !important;
		right: 0 !important;
		left: auto !important;
		width: min(360px, calc(100vw - 32px)) !important;
		height: auto !important;
		max-height: calc(100vh - 96px) !important;
		margin: 0 !important;
		overflow: auto !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 14px !important;
		background: #fff !important;
		box-shadow: 0 18px 42px rgba(15, 23, 42, .18) !important;
	}
	html body .elementor-location-header .aboi-native-menu .elementor-nav-menu--dropdown .elementor-nav-menu {
		display: flex !important;
		flex-flow: column nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	html body .elementor-location-header .aboi-native-menu .elementor-nav-menu--dropdown :is(li, a.elementor-item) {
		width: 100% !important;
		max-width: none !important;
	}
	html body .elementor-location-header .aboi-native-menu .elementor-nav-menu--dropdown a.elementor-item {
		display: flex !important;
		min-height: 46px !important;
		align-items: center !important;
		justify-content: flex-start !important;
		padding: 12px 16px !important;
		border-bottom: 1px solid #eef2f7 !important;
		background: #fff !important;
		
		font-size: 14px;
		line-height: 20px !important;
		white-space: normal !important;
	}
}
@media (max-width: 767px) {
	html body.home .aboi-native-hero {
		padding: 88px 0 56px !important;
	}
	html body.home .aboi-native-hero-inner > .e-con-inner {
		gap: 28px !important;
	}
	html body.home .aboi-native-hero-media > .e-con-inner {
		height: 230px !important;
		min-height: 230px !important;
		padding: 28px !important;
		overflow: hidden !important;
	}
	html body.home .aboi-native-hero-logo,
	html body.home .aboi-native-hero-logo > .elementor-widget-container {
		width: 100% !important;
		height: 100% !important;
	}
	html body.home .aboi-native-hero-logo img {
		display: block !important;
		width: 100% !important;
		max-width: 220px !important;
		height: 100% !important;
		max-height: 174px !important;
		margin: 0 auto !important;
		object-fit: contain !important;
	}
	html body.home .aboi-native-display .elementor-heading-title {
		font-size: 36px;
		line-height: 42px !important;
	}
	html body.home .aboi-native-body,
	html body.home .aboi-native-body p {
		font-size: 15px;
		line-height: 24px !important;
	}
	html body.home .aboi-native-actions > .e-con-inner {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}
	html body.home .aboi-native-actions :is(.elementor-widget-button, .elementor-button) {
		width: 100% !important;
	}

	html body .elementor-location-header .aboi-native-cart .elementor-menu-cart__main {
		width: min(100%, 408px) !important;
	}
	html body .elementor-location-header .aboi-native-cart .elementor-menu-cart__footer-buttons {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}
	html body .elementor-location-header .aboi-native-cart .elementor-menu-cart__footer-buttons .elementor-button {
		width: 100% !important;
	}
	html body.single-product .elementor-location-single.elementor-226 {
		width: calc(100% - 32px) !important;
		margin-inline: 16px !important;
		padding: 24px 0 64px !important;
	}
	html body.single-product .elementor-226 .elementor-element-abfaq000 {
		margin-top: 36px !important;
		margin-bottom: 18px !important;
	}
	html body.single-product .elementor-226 .elementor-element-abfaq000 .elementor-heading-title {
		font-size: 26px;
		line-height: 34px !important;
	}
	html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-accordion {
		padding: 0 !important;
	}
	html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-tab-title {
		min-height: 58px !important;
		padding: 14px 16px !important;
	}
	html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-accordion-title {
		font-size: 15px;
		line-height: 22px !important;
	}
	html body.single-product .elementor-226 .elementor-element-abfaq001 .elementor-tab-content {
		padding: 0 16px 16px !important;
	}
}
