:root {
	--cortex-font-sans: 'Instrument Sans', sans-serif;
	/* Alias: mesma sans principal (substitui famílias tipo Barlow em novos blocos). */
	--font-primary: var(--cortex-font-sans);
	--lubmix-primary: #003357;
	--lubmix-secondary: #006BB4;
	--lubmix-text: #2F2F2F;
	--lubmix-white: #FFFFFF;
	--lubmix-bg: #FFFFFF;
	/* Marca Lubmix — acento roxo (tarja sob títulos da home etc.). */
	--accent: #6c3cab;
	/* Títulos de seção institucional na home (texto sobre fundos claros). */
	--lubmix-home-heading-fg: #0a1628;

	--bcn-primary: var(--lubmix-primary);
	--bcn-secondary: var(--lubmix-secondary);
	--bcn-tertiary: var(--lubmix-secondary);
	--bcn-text: var(--lubmix-text);
	--bcn-gray-custom: var(--lubmix-text);
	--bcn-heading: var(--lubmix-text);
	--bcn-white: var(--lubmix-white);
	--bcn-bg-primary: var(--lubmix-bg);
	--bcn-gold: var(--lubmix-secondary);
	--bcn-gold-light: var(--lubmix-secondary);
	--bcn-gray-border: #C5C6CB;
	--bcn-gray-text: #747474;
}

html {
	scroll-behavior: smooth;
}

html,
body {
	min-height: 100vh;
	font-family: var(--cortex-font-sans);
}

body {
	display: flex;
	flex-direction: column;
	color: var(--lubmix-text);
	background-color: var(--lubmix-bg);
}

/* Títulos de seção na home: mesma tipografia; `lubmix-heading-accent-underline` inclui a tarja roxa. */
.lubmix-home-heading,
.lubmix-heading-accent-underline {
	font-family: var(--font-primary), var(--cortex-font-sans), ui-sans-serif, system-ui, sans-serif;
	font-weight: 700;
	color: var(--lubmix-home-heading-fg);
}

/* Sobrescreve utilitários/plugins que deixam o h2 com cinza herdado. */
#main.site-main h2.lubmix-home-heading,
#main.site-main h2.lubmix-heading-accent-underline {
	color: var(--lubmix-home-heading-fg) !important;
}

.lubmix-heading-accent-underline {
	position: relative;
	display: inline-block;
	max-width: 100%;
	box-sizing: border-box;
	padding-bottom: 6px;
}

.lubmix-heading-accent-underline::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 66px;
	height: 4px;
	background: var(--accent);
	border-radius: 2px;
}

#page.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	flex: 1;
}

#main.site-main {
	flex: 1;
}

a {
	transition: all 0.25s ease;
}

/* =========================
   Header Lubmix
========================= */

#lubmix-header {
	background: #ffffff;
}


#lubmix-header .lubmix-header-top {
	min-height: 120px;
}

/*
 * A faixa branca (logo + busca + ações) e a barra azul são irmãos dentro de #lubmix-header-main.
 * Sem z-index explícito, o bloco azul pinta por cima da área que se sobrepõe ao dropdown de login;
 * os cliques caem nos <a> do menu (ex.: Projetos Personalizados) e os inputs ficam inacessíveis.
 */
#lubmix-header-main > div.bg-white:first-of-type {
	position: relative;
	z-index: 50;
}

#lubmix-header-main > div.bg-primary {
	position: relative;
	z-index: 40;
}

#lubmix-header .lubmix-header-top {
	min-height: 96px;
}

/*
 * Sticky: global.js adiciona #lubmix-header-spacer e a classe .is-sticky ao rolar.
 * Sem position:fixed no bloco principal, o header permanece no fluxo e o spacer duplica
 * a altura — faixa branca entre a barra azul e o conteúdo (ex.: hero).
 *
 * Com body.admin-bar: usar --wp-admin--admin-bar--height (WordPress 6.2+ no elemento html)
 * em vez de 32px/46px fixos — evita faixa vazia acima do header quando a barra não está
 * visível ou a altura real não coincide com esses valores (comum em homolog logada).
 */
#lubmix-header-main.is-sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10040;
	width: 100%;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

body.admin-bar #lubmix-header-main.is-sticky {
	top: var(--wp-admin--admin-bar--height, 0px);
}

/*
 * Mobile & tablet: header colado ao topo com position: sticky (sem fixed + spacer).
 * --lubmix-mobile-header-offset é atualizado em global.js (base do drawer de filtros no catálogo).
 */
@media (max-width: 1023px) {
	#lubmix-header-main,
	#lubmix-header-main.is-sticky {
		position: sticky;
		top: 0;
		left: auto;
		right: auto;
		width: 100%;
		z-index: 10040;
		box-shadow: none;
	}

	body.admin-bar #lubmix-header-main,
	body.admin-bar #lubmix-header-main.is-sticky {
		top: var(--wp-admin--admin-bar--height, 0px);
	}

	#lubmix-header-main.header-scrolled {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	}
}

/*
 * Desktop (lg+): o sticky fixa só a barra azul (#lubmix-header-desktop-nav), não a faixa branca.
 * O JS insere #lubmix-header-desktop-nav-spacer com a altura da barra para não saltar o layout.
 */
@media (min-width: 1024px) {
	#lubmix-header-desktop-nav.is-sticky {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		z-index: 10040;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	}

	body.admin-bar #lubmix-header-desktop-nav.is-sticky {
		top: var(--wp-admin--admin-bar--height, 0px);
	}

	/* Evita estado residual se .is-sticky existir no wrapper (só mobile deve fixar #lubmix-header-main). */
	#lubmix-header-main.is-sticky {
		position: static;
		left: auto;
		right: auto;
		width: auto;
		box-shadow: none;
	}
}

#lubmix-header .lubmix-header-top > a {
	flex: 0 0 auto;
}

#lubmix-header .new-search-header {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 18px;
}

#lubmix-header .new-search-header input[type="search"] {
	box-shadow: none;
	height: 46px;
	border-radius: 9999px;
	font-size: 16px;
}

#lubmix-header .new-search-header input[type="search"]::placeholder {
	text-align: center;
}

#lubmix-header .new-search-header form {
	position: relative;
}

#lubmix-header .new-search-header button {
	position: absolute;
	right: 20px;
	left: auto;
	top: 50%;
	transform: translateY(-50%);
}

/* —— Busca: painel (desktop) após o container, largura 100% da faixa branca —— */
#lubmix-header .lubmix-search-modal,
#lubmix-search-mobile .lubmix-search-modal {
	--lubmix-search-popular-link: #0f766e;
	--lubmix-search-chip-bg: #f3f4f6;
	--lubmix-search-chip-text: #4b5563;
	box-sizing: border-box;
	background: var(--lubmix-white, #fff);
	border-top: 1px solid #e5e7eb;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
	border-radius: 0;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-6px);
	transition:
		opacity 0.25s ease,
		visibility 0.25s ease,
		transform 0.25s ease;
}

/* Mobile: esconde o modal desktop para não criar espaço branco indevisto no layout */
@media (max-width: 1023px) {
	#lubmix-header-main > div.bg-white:first-of-type > .lubmix-search-modal:not(.lubmix-search-modal--mobile) {
		display: none !important;
	}
}

/**
 * Desktop: modal sempre em position:fixed (aberto ou fechado) para evitar o salto visual
 * de "vir da esquerda" que ocorre quando position:absolute → position:fixed ao abrir.
 * Visibilidade controlada apenas por opacity/visibility — sem animação de posição.
 */
@media (min-width: 1024px) {
	#lubmix-header-main > div.bg-white:first-of-type > .lubmix-search-modal:not(.lubmix-search-modal--mobile) {
		position: fixed;
		top: 120px;
		left: calc((100vw - min(1280px, calc(100vw - 32px))) / 2);
		right: auto;
		width: min(1280px, calc(100vw - 32px));
		height: calc(100vh - 190px);
		max-height: calc(100vh - 190px);
		transform: none;
		z-index: 10045;
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}
	body.admin-bar #lubmix-header-main > div.bg-white:first-of-type > .lubmix-search-modal:not(.lubmix-search-modal--mobile) {
		top: 152px;
		height: calc(100vh - 222px);
		max-height: calc(100vh - 222px);
	}
}

#lubmix-header .lubmix-search-modal.lubmix-search-modal--open,
#lubmix-search-mobile .lubmix-search-modal.lubmix-search-modal--open {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto;
	transform: translateY(0) !important;
}

#lubmix-header-main > div.bg-white:first-of-type > .lubmix-search-modal.lubmix-search-modal--open:not(.lubmix-search-modal--mobile) {
	transform: none !important;
}

#lubmix-search-mobile {
	position: fixed;
	inset: 0;
	z-index: 10055;
	padding-top: max(0.5rem, env(safe-area-inset-top, 0px));
	box-sizing: border-box;
}

body.admin-bar #lubmix-search-mobile {
	padding-top: max(
		0.75rem,
		calc(var(--wp-admin--admin-bar--height, 0px) + env(safe-area-inset-top, 0px) + 0.5rem)
	);
}

#lubmix-search-mobile .lubmix-search-mobile__bar {
	padding-bottom: 0.5rem;
}

#lubmix-search-mobile[aria-hidden="true"] {
	display: none !important;
}

#lubmix-search-mobile[aria-hidden="false"] {
	display: flex !important;
}

#lubmix-search-mobile .lubmix-search-modal--mobile {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-height: none;
	border-top: 0;
	transform: none;
}

#lubmix-search-mobile .lubmix-search-modal--mobile.lubmix-search-modal--open {
	transform: none !important;
}

#lubmix-header .lubmix-search-modal__close,
#lubmix-search-mobile .lubmix-search-modal__close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 9999px;
	background: #f3f4f6;
	color: var(--lubmix-primary, #003357);
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

#lubmix-header .lubmix-search-modal__close:hover,
#lubmix-header .lubmix-search-modal__close:focus-visible,
#lubmix-search-mobile .lubmix-search-modal__close:hover,
#lubmix-search-mobile .lubmix-search-modal__close:focus-visible {
	background: #e5e7eb;
	outline: 2px solid var(--lubmix-secondary, #006bb4);
	outline-offset: 2px;
}

#lubmix-header .lubmix-search-modal__close-icon,
#lubmix-search-mobile .lubmix-search-modal__close-icon {
	display: block;
	flex-shrink: 0;
}

#lubmix-header .lubmix-search-modal__body {
	flex: 1 1 auto;
	min-height: 0;
	padding-top: 0;
	padding-bottom: 1rem;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

#lubmix-search-mobile .lubmix-search-modal__body {
	flex: 1 1 auto;
	min-height: 0;
	padding-top: 0;
	padding-bottom: 1rem;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

#lubmix-header .lubmix-search-section + .lubmix-search-section,
#lubmix-search-mobile .lubmix-search-section + .lubmix-search-section {
	margin-top: 2rem;
}

#lubmix-header .lubmix-search-section__title,
#lubmix-search-mobile .lubmix-search-section__title {
	margin: 0 0 1rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--lubmix-text, #2f2f2f);
}

#lubmix-header .lubmix-search-section__empty,
#lubmix-search-mobile .lubmix-search-section__empty {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #6b7280;
}

#lubmix-header .lubmix-search-popular-list,
#lubmix-search-mobile .lubmix-search-popular-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.5rem 0;
}

#lubmix-header .lubmix-search-popular-list .lubmix-search-popular-link,
#lubmix-search-mobile .lubmix-search-popular-list .lubmix-search-popular-link {
	display: inline;
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--lubmix-search-popular-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	overflow-wrap: anywhere;
}

#lubmix-header .lubmix-search-popular-list .lubmix-search-popular-link:hover,
#lubmix-header .lubmix-search-popular-list .lubmix-search-popular-link:focus-visible,
#lubmix-search-mobile .lubmix-search-popular-list .lubmix-search-popular-link:hover,
#lubmix-search-mobile .lubmix-search-popular-list .lubmix-search-popular-link:focus-visible {
	color: #0d9488;
	outline: none;
}

#lubmix-header .lubmix-search-recent-chips,
#lubmix-search-mobile .lubmix-search-recent-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.5rem;
	min-height: 0;
}

#lubmix-header .lubmix-search-recent-chips:empty,
#lubmix-search-mobile .lubmix-search-recent-chips:empty {
	min-height: 0;
}

#lubmix-header .lubmix-search-recent-chip,
#lubmix-search-mobile .lubmix-search-recent-chip {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: 0.45rem 0.9rem;
	border-radius: 9999px;
	background: var(--lubmix-search-chip-bg);
	color: var(--lubmix-search-chip-text);
	font-size: 0.8125rem;
	line-height: 1.3;
	font-weight: 500;
	text-decoration: none;
	border: 0;
	box-shadow: none;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
	white-space: normal;
	hyphens: auto;
}

#lubmix-header .lubmix-search-recent-chip:hover,
#lubmix-header .lubmix-search-recent-chip:focus-visible,
#lubmix-search-mobile .lubmix-search-recent-chip:hover,
#lubmix-search-mobile .lubmix-search-recent-chip:focus-visible {
	background: #e5e7eb;
	color: #374151;
	outline: 2px solid var(--lubmix-secondary, #006bb4);
	outline-offset: 2px;
}

body.lubmix-search-mobile-open {
	overflow: hidden;
}

@media (min-width: 1024px) {
	#lubmix-search-mobile {
		display: none !important;
	}
}

#lubmix-header .lubmix-header-actions,
#lubmix-header .lubmix-header-actions a,
#lubmix-header .lubmix-header-actions button {
	color: #003357;
}

#lubmix-header .lubmix-header-actions {
	display: flex;
	align-items: center;
	gap: 24px;
	flex: 0 0 auto;
	flex-shrink: 0;
	margin-left: 8px;
}

#lubmix-header .lubmix-header-actions button,
#lubmix-header .lubmix-header-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

#lubmix-header .lubmix-header-actions svg {
	display: block;
}

/* Alinhado à produção: carrinho 30×30; ícone de conta (SVG 52×30: silhueta + seta no mesmo desenho); blog 38×38 */
#lubmix-header .lubmix-header-actions svg.lubmix-header-action-icon--user {
	width: auto;
	height: 30px;
	flex-shrink: 0;
}

#lubmix-header .lubmix-header-actions svg.lubmix-header-action-icon--cart {
	width: 30px;
	height: 30px;
	flex-shrink: 0;
}

#lubmix-header .lubmix-header-actions svg.lubmix-header-action-icon--blog {
	width: 38px;
	height: 38px;
	flex-shrink: 0;
}

#lubmix-header .lubmix-header-top img {
	width: auto;
	height: auto;
	max-width: 320px;
	max-height: 84px;
}

#lubmix-header .lubmix-header-bottom {
	min-height: 68px;
	overflow: visible;
}

/* Mesmo tamanho do #primary-menu (evita depender só de utilitário Tailwind no botão) */
#lubmix-header #lubmix-product-categories-desktop #lubmix-mega-menu-trigger {
	font-size: 15px;
	line-height: 1.1;
}

/* Duas linhas fixas, alinhado à produção: “Todas as” / “categorias” */
#lubmix-header #lubmix-product-categories-desktop .lubmix-mega-menu-trigger__label {
	display: block;
	text-align: left;
}

#lubmix-header #lubmix-product-categories-desktop .lubmix-mega-menu-trigger__line {
	display: block;
	line-height: 1.12;
	white-space: normal;
}

#lubmix-header .lubmix-primary-menu,
#lubmix-header #primary-menu {
	display: flex;
	align-items: stretch;
	gap: 4px;      /* gap menor: o espaço real entre textos já vem do padding lateral dos links */
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

#lubmix-header #primary-menu > li {
	display: flex;
	align-items: stretch;
	margin: 0;
	padding: 0;
	position: relative;
	flex: 1 1 0;
	min-width: 0;
}

#lubmix-header #primary-menu > li > a.lubmix-desktop-menu-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;       /* gap ícone→texto reduzido para dar mais espaço ao texto */
	min-height: 68px;
	padding: 0 14px; /* padding lateral aumentado: cria separação visual entre itens */
	width: 100%;
	min-width: 0;
	color: #ffffff;
	text-decoration: none;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.1;
	white-space: normal;
	transition: color 0.18s ease;
}


#lubmix-header .lubmix-desktop-menu-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	flex: 0 0 26px;
	color: #ffffff;
}

#lubmix-header .lubmix-menu-icon-svg {
	display: block;
	width: 24px;
	height: 24px;
}

#lubmix-header .lubmix-header-bottom nav,
#lubmix-header .lubmix-primary-menu,
#lubmix-header #primary-menu {
	overflow: visible;
}

#lubmix-header .lubmix-desktop-menu-text {
	display: block;
	white-space: normal;
	max-width: 150px;
	line-height: 1.12;
}

#lubmix-header #primary-menu > li:first-child > a.lubmix-desktop-menu-link {
	padding-left: 0;   /* alinha com borda esquerda do container */
	padding-right: 18px;
}



#lubmix-header #primary-menu > li.menu-item-has-children > a.lubmix-desktop-menu-link::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-left: 2px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	flex: 0 0 auto;
}

@media (min-width: 1024px) {
	#lubmix-header #primary-menu > li {
		position: relative;
	}
	
	#lubmix-header #primary-menu > li.menu-item-has-children > .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 999;
		min-width: 300px;
		margin: 0;
		padding: 14px 0;
		list-style: none;
		background: #ffffff;
		border-radius: 0 0 12px 12px;
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(6px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	}
	
	#lubmix-header #primary-menu > li.menu-item-has-children:hover > .sub-menu,
	#lubmix-header #primary-menu > li.menu-item-has-children:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}
	
	#lubmix-header .lubmix-desktop-submenu-link {
		display: block;
		padding: 10px 18px;
		font-size: 15px;
		line-height: 1.35;
		font-weight: 400;
		color: #003357;
		text-decoration: none;
		white-space: normal;
	}
	
	#lubmix-header .lubmix-desktop-submenu-link:hover {
		background: #f5f7fa;
		color: #006bb4;
	}
}

/* Dropdown de login (header) – alinhado à produção */
#lubmix-auth-dropdown.lubmix-auth-dropdown-panel {
	width: min(400px, calc(100vw - 32px));
	min-width: 300px;
	max-width: 400px;
	box-sizing: border-box;
	overflow: hidden;
}

/* Padding explícito (não depender de utilitários Tailwind no template) */
#lubmix-auth-dropdown .lubmix-auth-dropdown__header {
	box-sizing: border-box;
	padding: 1rem 1.5rem 0.5rem;
}

#lubmix-auth-dropdown .lubmix-auth-dropdown__title {
	padding-left: 0;
	padding-right: 2.75rem;
}

#lubmix-auth-dropdown .lubmix-auth-dropdown-form {
	box-sizing: border-box;
	padding: 0.5rem 1.5rem 1.75rem;
}

#lubmix-auth-dropdown .lubmix-auth-dropdown__title {
	color: #003357;
}

#lubmix-auth-dropdown .lubmix-auth-dropdown-notice {
	margin-bottom: 0.75rem;
}

#lubmix-auth-dropdown .lubmix-auth-dropdown-notice,
#lubmix-auth-dropdown .lubmix-auth-dropdown-notice.text-primary {
	color: #003357;
	font-size: 0.875rem;
}

#lubmix-auth-dropdown .lubmix-auth-dropdown__register {
	margin-top: 1.5rem;
}

#lubmix-auth-dropdown .lubmix-header-login-form,
#lubmix-auth-dropdown .lubmix-auth-dropdown-form form {
	margin: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

#lubmix-auth-dropdown .lubmix-auth-dropdown-form form p {
	margin: 0;
	padding: 0;
}

/* Não exibir “Lembre-me” (plugins/defaults Woo) no dropdown do header */
#lubmix-auth-dropdown .woocommerce-form-login .form-row-remembering,
#lubmix-auth-dropdown .woocommerce-form-login p.login-remember,
#lubmix-auth-dropdown .woocommerce-form-login p:has( > label > #rememberme ),
#lubmix-auth-dropdown .woocommerce-form-login .woocommerce-form__label-for-checkbox[for="rememberme"] {
	display: none !important;
}

/* Evita link duplicado “Perdeu sua senha?” injetado por hooks/default Woo */
#lubmix-auth-dropdown .woocommerce-form-login > p.woocommerce-LostPassword.lost_password:not(.lubmix-login-forgot),
#lubmix-auth-dropdown .woocommerce-form-login > p.lost_password:not(.lubmix-login-forgot) {
	display: none !important;
}

#lubmix-auth-dropdown .login-username,
#lubmix-auth-dropdown .login-password {
	margin-bottom: 0;
}

#lubmix-auth-dropdown .login-username {
	margin-bottom: 20px;
}

#lubmix-auth-dropdown .login-password {
	margin-bottom: 0;
}

#lubmix-auth-dropdown label {
	display: block;
	font-size: 15px;
	line-height: 1.3;
	color: #111827;
	font-weight: 500;
	margin-bottom: 8px;
}

#lubmix-auth-dropdown .lubmix-auth-password-wrap {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}

#lubmix-auth-dropdown input[type="text"],
#lubmix-auth-dropdown input[type="email"],
#lubmix-auth-dropdown input[type="password"] {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 48px;
	height: 48px;
	border: 1px solid #c5c6cb;
	border-radius: 10px;
	padding: 0 16px;
	font-size: 16px;
	color: #111827;
	background: #ffffff;
	box-sizing: border-box;
}

#lubmix-auth-dropdown .lubmix-auth-password-wrap .lubmix-auth-password-field {
	padding-right: 48px;
}

#lubmix-auth-dropdown .lubmix-auth-toggle-pw {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #4b5563;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: color 0.15s ease, background 0.15s ease;
}

#lubmix-auth-dropdown .lubmix-auth-toggle-pw:hover,
#lubmix-auth-dropdown .lubmix-auth-toggle-pw:focus-visible {
	color: #003357;
	background: rgba(0, 51, 87, 0.06);
	outline: none;
}

#lubmix-auth-dropdown .lubmix-auth-toggle-pw__icon {
	display: block;
}

#lubmix-auth-dropdown .lubmix-login-forgot {
	margin: 8px 0 20px;
	text-align: center;
}

#lubmix-auth-dropdown .lubmix-login-forgot a {
	color: #003357;
	font-size: 15px;
	font-weight: 500;
}

#lubmix-auth-dropdown .lubmix-login-forgot a:hover,
#lubmix-auth-dropdown .lubmix-login-forgot a:focus-visible {
	text-decoration: underline;
}

#lubmix-auth-dropdown .login-submit {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

#lubmix-header .lubmix-header-actions #lubmix-auth-dropdown input[type="submit"],
#lubmix-header .lubmix-header-actions #lubmix-auth-dropdown button.lubmix-auth-submit,
#lubmix-auth-dropdown input[type="submit"],
#lubmix-auth-dropdown button.lubmix-auth-submit {
	display: block;
	width: 100%;
	min-width: 0;
	height: 48px;
	padding: 0 16px;
	border: 0;
	border-radius: 10px;
	background: #003357;
	color: #ffffff;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}

#lubmix-header .lubmix-header-actions #lubmix-auth-dropdown input[type="submit"]:hover,
#lubmix-header .lubmix-header-actions #lubmix-auth-dropdown button.lubmix-auth-submit:hover,
#lubmix-auth-dropdown input[type="submit"]:hover,
#lubmix-auth-dropdown button.lubmix-auth-submit:hover,
#lubmix-header .lubmix-header-actions #lubmix-auth-dropdown input[type="submit"]:focus-visible,
#lubmix-header .lubmix-header-actions #lubmix-auth-dropdown button.lubmix-auth-submit:focus-visible,
#lubmix-auth-dropdown input[type="submit"]:focus-visible,
#lubmix-auth-dropdown button.lubmix-auth-submit:focus-visible {
	opacity: 0.96;
}

#lubmix-header .lubmix-header-actions #lubmix-auth-dropdown .lubmix-auth-dropdown__close {
	position: absolute;
	right: 0.75rem;
	top: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: #eef0f3;
	border: 0;
	box-shadow: none;
}

#lubmix-auth-dropdown .lubmix-auth-dropdown__register a {
	color: #003357;
	font-size: 15px;
	font-weight: 500;
}

/* =========================
   Tablet / Mobile
========================= */

@media (max-width: 1023px) {
	#lubmix-header .lubmix-header-top {
		min-height: 96px;
		padding-top: 12px;
		padding-bottom: 12px;
		display: grid;
		grid-template-columns: 48px 1fr 48px;
		align-items: center;
	}

	#lubmix-header .lubmix-header-top > a {
		justify-self: center;
		min-width: 0;
	}

	#lubmix-header .lubmix-header-top img {
		height: auto;
		max-height: 52px;
		max-width: 200px;
	}

	#lubmix-header .lubmix-header-actions,
	#lubmix-header .new-search-header,
	#lubmix-header .lubmix-header-bottom {
		display: none !important;
	}
}

@media (max-width: 767px) {
	#lubmix-header .lubmix-header-top {
		min-height: 128px;
		padding-top: 12px;
		padding-bottom: 12px;
		grid-template-columns: 48px 1fr 40px;
		column-gap: 6px;
	}

	#lubmix-header .lubmix-header-top img {
		height: auto;
		max-height: 68px;
		max-width: 230px;
	}
	
	#lubmix-header .new-search-mobile,
	#lubmix-header .header-search-mobile,
	#lubmix-header .lubmix-search-trigger {
		transform: scale(0.88);
		transform-origin: center;
		justify-self: end;
	}
}

/* ===== Breadcrumb / header shadow exceptions (breadcrumb visível só ≥1024px) ===== */
@media (min-width: 1024px) {
	body:has(.lubmix-breadcrumb-wrapper) #lubmix-header-main {
		box-shadow: none;
	}

	body:has(.lubmix-breadcrumb-wrapper) #lubmix-header-main.header-scrolled:not(.is-sticky) {
		box-shadow: none;
	}

	body:has(.lubmix-breadcrumb-wrapper) #lubmix-header-main.is-sticky.header-scrolled {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	}

	body:has(.lubmix-breadcrumb-wrapper) #lubmix-header-desktop-nav.is-sticky {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	}
}

.footer-accordion-toggle svg {
	transform: rotate(0deg);
	transition: transform 0.3s ease;
}

.footer-accordion-toggle[aria-expanded="true"] svg {
	transform: rotate(45deg);
}

.footer-accordion-content {
	overflow: hidden;
	transition: max-height 0.3s ease, opacity 0.3s ease;
}

@media (max-width: 1023px) {
	.footer-accordion-content {
		max-height: 0;
		opacity: 0;
		visibility: hidden;
		margin-bottom: 0;
		transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s ease, margin-bottom 0.3s ease;
	}
}

@media (min-width: 1024px) {
	.footer-accordion-toggle {
		display: none;
	}

	.footer-accordion-content {
		max-height: none;
		opacity: 1;
		visibility: visible;
		overflow: visible;
	}
}

.content-hero strong {
	font-weight: 600;
	color: var(--bcn-tertiary);
}

.text-tracado-orange::before {
	content: "";
	position: absolute;
	bottom: -10px;
	z-index: 5;
	width: 25%;
	height: 8px;
	border-radius: 80px;
	background: linear-gradient(90deg, var(--bcn-gold) 0%, var(--bcn-gold-light) 100%);
}

@media screen and (max-width: 768px) {
	.text-tracado-orange::before {
		width: 55%;
		height: 5px;
	}
}

/* =========================
   Footer Lubmix
========================= */

#lubmix-footer {
	background: #fff;
	color: #003357;
}

#lubmix-footer .lubmix-footer-container {
	max-width: 1360px;
	margin: 0 auto;
	padding: 48px 32px 42px;
}

#lubmix-footer .lubmix-footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 40px;
	align-items: start;
}

#lubmix-footer .lubmix-footer-left {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 28px;
}

#lubmix-footer .lubmix-footer-left-bottom {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 32px;
}

#lubmix-footer .lubmix-footer-col {
	align-self: start;
}

#lubmix-footer .lubmix-footer-logo-img {
	display: block;
	width: 100%;
	max-width: 339px;
	height: auto;
}

#lubmix-footer h2 {
	margin: 0 0 20px;
	font-size: 16px;
	line-height: 1.2;
	font-weight: 700;
	color: #003357;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding-bottom: 4px;
	border-bottom: none;
	display: block;
	width: fit-content;
	position: relative;
}

#lubmix-footer h2::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 88%;
	height: 2px;
	background-color: #006bb4;
}

#lubmix-footer .lubmix-footer-col-info ul {
	margin-top: 18px;
	padding: 0;
	list-style: none;
}

#lubmix-footer .lubmix-footer-col-info a,
#lubmix-footer .lubmix-footer-col-contato a,
#lubmix-footer .lubmix-footer-col-contato p,
#lubmix-footer .lubmix-footer-col-certificacao p {
	font-size: 15px;
	line-height: 1.35;
	color: #003357;
}

#lubmix-footer .lubmix-footer-col-contato p.font-semibold {
	font-size: 11px;
	line-height: 1.2;
	font-weight: 700;
	color: #8fa3b0;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

#lubmix-footer .lubmix-social-label {
	margin-top: 26px;
	margin-bottom: 10px;
	font-size: 11px;
	font-weight: 600;
	color: #8fa3b0;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

#lubmix-footer .lubmix-social-links {
	display: flex;
	align-items: center;
	gap: 10px;
}

#lubmix-footer .lubmix-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	transition: transform 0.2s ease, filter 0.2s ease;
}

#lubmix-footer .lubmix-social-icon svg {
	display: block;
	width: 19px;
	height: 19px;
}

#lubmix-footer .lubmix-footer-col-contato > .mt-5 {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	align-items: flex-start;
}

#lubmix-footer .lubmix-footer-col-contato > .mt-5 > div {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	width: 100%;
}

#lubmix-footer .lubmix-footer-col-contato > .mt-5 > div > div:first-child {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	border-radius: 9999px;
	background: #006bb4;
	color: #fff;
}

#lubmix-footer .lubmix-footer-col-contato > .mt-5 > div > div:first-child svg {
	display: block;
	width: 20px;
	height: 20px;
}

#lubmix-footer .lubmix-footer-col-contato > .mt-5 > div > div:nth-child(2) {
	text-align: left;
}

#lubmix-footer .lubmix-footer-col-certificacao h2 {
	margin-bottom: 14px;
}

#lubmix-footer .lubmix-seal-section {
	margin-top: 28px;
}

#lubmix-footer .lubmix-seal-card {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid #dde8f0;
	border-radius: 10px;
	text-decoration: none;
	transition: border-color 0.2s ease;
	width: 100%;
	max-width: 260px;
}

#lubmix-footer .lubmix-seal-card:hover {
	border-color: #006BB4;
}

#lubmix-footer .lubmix-seal-icon {
	width: 38px;
	height: 38px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

#lubmix-footer .lubmix-seal-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

#lubmix-footer .lubmix-seal-title {
	font-size: 13px;
	font-weight: 700;
	color: #003357;
	margin: 0;
	line-height: 1.2;
}

#lubmix-footer .lubmix-seal-sub {
	font-size: 11px;
	color: #8fa3b0;
	margin: 0;
	line-height: 1.3;
}

#lubmix-footer .lubmix-footer-col-certificacao p + p {
	margin-top: 4px;
}

#lubmix-footer .lubmix-footer-col-certificacao > div {
	margin-top: 36px;
}

/* ── Footer: hovers ── */

/* Links de informações: bullet dot + deslize — apenas itens do ul, não social icons */
#lubmix-footer .lubmix-footer-col-info ul a {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 14px;
	color: #4a6578;
	transition: color 0.2s ease, transform 0.2s ease;
}

#lubmix-footer .lubmix-footer-col-info ul a::before {
	content: '';
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #006BB4;
	opacity: 0.4;
	flex-shrink: 0;
	transition: opacity 0.18s;
}

#lubmix-footer .lubmix-footer-col-info ul a:hover {
	color: #0079c1;
	transform: translateX(4px);
}

#lubmix-footer .lubmix-footer-col-info ul a:hover::before {
	opacity: 1;
}

/* Linhas de contato: ícone escurece + linha desliza */
#lubmix-footer .lubmix-footer-col-contato > .mt-5 > div {
	transition: transform 0.2s ease;
	cursor: default;
}

#lubmix-footer .lubmix-footer-col-contato > .mt-5 > div:has(a):hover {
	transform: translateX(4px);
}

#lubmix-footer .lubmix-footer-col-contato > .mt-5 > div > div:first-child {
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

#lubmix-footer .lubmix-footer-col-contato > .mt-5 > div:hover > div:first-child {
	background-color: #0079c1;
	box-shadow: 0 3px 8px rgba(0, 121, 193, 0.35);
}

#lubmix-footer .lubmix-footer-col-contato a {
	transition: color 0.2s ease;
}

#lubmix-footer .lubmix-footer-col-contato a:hover {
	color: #0079c1;
}

/* Redes sociais: scale + brilho */
#lubmix-footer .lubmix-social-icon:hover {
	transform: translateY(-3px) scale(1.1);
	filter: brightness(1.12) drop-shadow(0 4px 8px rgba(0, 0, 0, 0.28));
}

#lubmix-footer .lubmix-footer-seal {
	display: block;
	height: auto;
	transition: opacity 0.2s ease, filter 0.2s ease;
}

#lubmix-footer a:has(.lubmix-footer-seal):hover .lubmix-footer-seal {
	opacity: 0.78;
	filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.15));
}

#lubmix-footer .lubmix-footer-seal-tuv {
	width: 100%;
	max-width: 320px;
	margin-top: 8px;
}

#lubmix-footer .lubmix-footer-seal-google {
	width: 100%;
	max-width: 140px;
	margin-top: 8px;
}

#lubmix-footer .lubmix-footer-seal-abieps {
	width: 100%;
	max-width: 234px;
	margin-top: 8px;
}

#lubmix-footer .lubmix-footer-bottombar {
	background: #003357;
}

#lubmix-footer .lubmix-footer-bottombar-inner {
	max-width: 1360px;
	margin: 0 auto;
	padding: 16px 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	text-align: center;
}

#lubmix-footer .lubmix-footer-cnpj {
	font-size: 12px;
	line-height: 1.4;
	color: rgb(255, 255, 255);
	letter-spacing: 0.02em;
	margin: 0;
}

#lubmix-footer .lubmix-footer-copy {
	font-size: 13px;
	line-height: 1.4;
	color: rgb(255, 255, 255);
	margin: 0;
}

#lubmix-footer .lubmix-footer-credit {
	font-size: 12px;
	font-weight: 600;
	color: rgb(255, 255, 255);
	letter-spacing: 0.13em;
	text-transform: uppercase;
	margin: 5px 0 0;
}

#lubmix-footer .lubmix-footer-credit a {
	color: rgb(255, 255, 255);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	padding-bottom: 1px;
	transition: color 0.15s;
}

#lubmix-footer .lubmix-footer-credit a:hover {
	color: #5cbdf5;
}

#lubmix-footer .lubmix-footer-bottombar p {
	margin: 0;
}

/* =========================
   Desktop
========================= */

@media (min-width: 1024px) {
	#lubmix-footer .lubmix-footer-grid {
		grid-template-columns: minmax(0, 760px) minmax(280px, 360px);
		column-gap: 72px;
		row-gap: 24px;
		justify-content: center;
		align-items: start;
	}

	#lubmix-footer .lubmix-footer-left {
		row-gap: 34px;
	}

	#lubmix-footer .lubmix-footer-left-bottom {
		grid-template-columns: 250px 320px;
		column-gap: 68px;
		row-gap: 0;
		align-items: start;
	}

	#lubmix-footer .lubmix-footer-col-certificacao {
		text-align: left;
	}
}

/* =========================
   Tablet
========================= */

@media (min-width: 768px) and (max-width: 1023px) {
	#lubmix-footer .lubmix-footer-container {
		padding: 40px 24px 36px;
	}

	#lubmix-footer .lubmix-footer-grid {
		grid-template-columns: 1fr;
		row-gap: 40px;
	}

	#lubmix-footer .lubmix-footer-left-bottom {
		grid-template-columns: 1fr 1fr;
		column-gap: 40px;
		row-gap: 40px;
	}
}

/* =========================
   Mobile
========================= */

@media (max-width: 767px) {
	#lubmix-footer .lubmix-footer-container {
		padding: 32px 20px;
	}

	#lubmix-footer .lubmix-footer-grid {
		grid-template-columns: 1fr;
		row-gap: 32px;
	}

	#lubmix-footer .lubmix-footer-left-bottom {
		grid-template-columns: 1fr;
		row-gap: 32px;
	}

	#lubmix-footer .lubmix-footer-logo-img {
		max-width: 220px;
	}

	#lubmix-footer .lubmix-footer-bottombar-inner {
		padding: 14px 20px;
	}
}

.lubmix-mega-dropdown-shell {
	width: max-content;
	max-width: min(980px, calc(100vw - 40px));
}

.lubmix-mega-menu-desktop {
	display: grid;
	grid-template-columns: 430px;
	width: max-content;
	max-width: min(980px, calc(100vw - 40px));
	background: #e9e9e9;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.lubmix-mega-menu-desktop.lubmix-mega-menu-desktop--right-visible {
	grid-template-columns: 430px minmax(0, 1fr);
	width: min(980px, calc(100vw - 40px));
}

.lubmix-mega-menu-desktop__parents {
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: #e9e9e9;
	border-right: 1px solid #d6d6d6;
	max-height: min(720px, 78vh);
	overflow-y: auto;
	min-height: 420px;
}

.lubmix-mega-menu-desktop__children {
	position: relative;
	min-width: 0;
	min-height: 420px;
	background: #f3f3f3;
	border-left: 1px solid #d6d6d6;
	overflow: hidden;
}

.lubmix-mega-menu-desktop__children.hidden {
	display: none !important;
}

.lubmix-mega-panel {
	position: absolute;
	inset: 0;
	padding: 32px 36px;
	overflow-y: auto;
}

.lubmix-mega-menu-desktop__children-grid {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px 42px;
	max-width: 620px;
}

#lubmix-product-categories-desktop {
	position: relative;
	z-index: 30;
}

#lubmix-mega-menu-desktop .lubmix-mega-parent-link[aria-current="true"] {
	background: #dddddd;
}

@media (max-width: 1279px) {
	.lubmix-mega-dropdown-shell {
		max-width: calc(100vw - 24px);
	}

	.lubmix-mega-menu-desktop {
		grid-template-columns: 360px;
	}

	.lubmix-mega-menu-desktop.lubmix-mega-menu-desktop--right-visible {
		grid-template-columns: 360px minmax(0, 1fr);
	}
}

#lubmix-mobile-menu .lubmix-mobile-menu-quick__title {
	margin: 0 0 0.75rem;
	padding: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	color: #ffffff;
	text-transform: uppercase;
}

/* Categorias no drawer mobile: sublistas recolhidas; chevron gira ao abrir (JS em header-product-categories.js) */
#lubmix-mobile-menu #lubmix-mobile-product-categories .lubmix-mobile-cat-toggle {
	-webkit-tap-highlight-color: transparent;
}

#lubmix-mobile-menu #lubmix-mobile-product-categories .lubmix-mobile-cat-item--open .lubmix-mobile-cat-toggle__icon {
	transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
	#lubmix-mobile-menu #lubmix-mobile-product-categories .lubmix-mobile-cat-toggle__icon {
		transition: none;
	}
}

/*
 * Drawer mobile: global.js remove .hidden e adiciona .active em #lubmix-mobile-menu.
 * Sem estas regras o painel permanece fora da tela (-translate-x-full) e o backdrop invisível.
 */
#lubmix-mobile-menu.active {
	pointer-events: auto;
}

#lubmix-mobile-menu.active .lubmix-mobile-overlay-backdrop {
	visibility: visible;
	opacity: 1;
}

#lubmix-mobile-menu.active .lubmix-mobile-overlay-panel {
	transform: translateX(0);
}

body.lubmix-mobile-menu-open {
	overflow: hidden;
}

#lubmix-header-desktop-nav {
	border-bottom: 5px solid;
	border-image: linear-gradient(to right, #810fb5, #00baff) 1;
  }

.grecaptcha-badge {
	visibility: hidden;
}