/**
 * Loja Master B2B Global CSS and Design System
 */

/* ==========================================
   1. VARIABLES & RESET
   ========================================== */
:root {
	/* Harmonious B2B Color Palette */
	--color-bg-primary: #ffffff;
	--color-bg-secondary: #f8fafc;
	--color-border: #e2e8f0;
	--color-border-focus: #3b82f6;
	
	--color-text-primary: #0f172a;
	--color-text-secondary: #475569;
	--color-text-muted: #94a3b8;

	--color-primary: #2563eb;
	--color-primary-hover: #1d4ed8;
	--color-accent: #db2777; /* Premium Pink Accent */
	--color-accent-dark: #be185d;

	--scrollbar-track: #eef2f6;
	--scrollbar-thumb: #be185d;
	--scrollbar-thumb-hover: var(--color-accent);
	--scrollbar-size: 6px;
	
	--color-success: #10b981;
	--color-error: #ef4444;
	
	--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	
	--font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	
	--header-height: 80px;
	--transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

*, ::before, ::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.5;
	color: var(--color-text-primary);
	background-color: var(--color-bg-secondary);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* Global subtle scrollbars */
* {
	scrollbar-width: thin;
	scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}

*::-webkit-scrollbar {
	width: var(--scrollbar-size);
	height: var(--scrollbar-size);
}

*::-webkit-scrollbar-track {
	background: var(--scrollbar-track);
}

*::-webkit-scrollbar-thumb {
	background-color: var(--scrollbar-thumb);
	border-radius: 999px;
	border: 1px solid var(--scrollbar-track);
	transition: background-color 0.2s ease;
}

*::-webkit-scrollbar-thumb:hover {
	background-color: var(--scrollbar-thumb-hover);
}

*::-webkit-scrollbar-corner {
	background: var(--scrollbar-track);
}

body.drawer-open {
	overflow: hidden;
}

a {
	color: inherit;
	text-decoration: none;
	transition: var(--transition-smooth);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

input, select, textarea, button {
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	outline: none;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ==========================================
   2. TOP PROMOTIONAL BANNER
   ========================================== */
.top-promo-banner {
	position: relative;
	width: 100%;
	min-height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 48px;
	color: #ffffff;
	font-size: 0.875rem;
	font-weight: 500;
	text-align: center;
	z-index: 9999;
	transition: var(--transition-smooth);
}

.top-promo-banner .banner-content {
	max-width: 1200px;
	width: 100%;
}

.top-promo-banner .banner-link {
	color: inherit;
	text-decoration: underline;
	transition: opacity 0.2s;
}

.top-promo-banner .banner-link:hover {
	opacity: 0.9;
}

.top-promo-banner .close-banner-btn {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: inherit;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	transition: var(--transition-smooth);
}

.top-promo-banner .close-banner-btn:hover {
	background-color: rgba(255, 255, 255, 0.15);
}

/* ==========================================
   3. HEADER & BRANDING
   ========================================== */
.site-header {
	background-color: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--color-border);
	box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 999;
	transition: var(--transition-smooth);
}

.header-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 24px;
	height: var(--header-height);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.site-branding .site-title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.025em;
	color: var(--color-primary);
}

/* Desktop Navigation Menu */
.desktop-navigation-wrapper {
	background-color: #111111; /* Fundo preto elegante */
	border-top: 1px solid #222222;
	border-bottom: 1px solid #222222;
	width: 100%;
	transition: var(--transition-smooth);
}

.desktop-nav-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 24px;
	position: relative;
}

.desktop-nav {
	display: block;
}

.desktop-menu-list {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;
	margin: 0;
	padding: 0;
}

.desktop-menu-list > li {
	position: relative;
}

.desktop-menu-list > li > a {
	font-size: 0.9rem;
	font-weight: 600;
	color: #f1f5f9; /* Links claros contrastando com fundo preto */
	display: flex;
	align-items: center;
	gap: 6px;
	position: relative;
	padding: 14px 0;
	transition: var(--transition-smooth);
}

.desktop-menu-list > li > a::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 0;
	height: 2px;
	background-color: var(--color-accent);
	transition: var(--transition-smooth);
}

.desktop-menu-list > li:hover > a {
	color: var(--color-accent);
}

.desktop-menu-list > li:hover > a::after {
	width: 100%;
}

/* ==========================================
   DESKTOP MEGA MENU IMPLEMENTATION
   ========================================== */
/* Forçar transbordo visível para que o menu flutuante não seja cortado por nenhum contêiner do cabeçalho */
.site-header,
.header-container,
.desktop-navigation-wrapper,
.desktop-nav-container,
.desktop-nav {
	overflow: visible !important;
}

/* Tornar o item do menu de 1º nível estático para posicionar o submenu em relação ao container geral */
.desktop-menu-list > li {
	position: static !important;
}

/* O submenu do primeiro nível vira o Mega Menu */
.desktop-menu-list > li > .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background-color: #ffffff; /* Fundo branco premium */
	border: 1px solid #e2e8f0;
	border-top: none;
	border-radius: 0 0 2px 2px; /* Reduzido de 12px */
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	padding: 24px 32px;
	list-style: none;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px 20px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.25s;
	z-index: 99999 !important;
}

/* Revelar o Mega Menu ao passar o mouse */
.desktop-menu-list > li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Estilização das colunas do Mega Menu */
.desktop-menu-list > li > .sub-menu > li {
	display: block;
	width: 100%;
}

.desktop-menu-list > li > .sub-menu > li > a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background-color: #f8fafc; /* Fundo claro */
	border: 1px solid #e2e8f0;
	border-radius: 2px; /* Reduzido de 8px */
	color: #0f172a; /* Texto escuro */
	font-size: 0.813rem;
	font-weight: 600;
	text-decoration: none;
	transition: var(--transition-smooth);
	text-align: left;
}

.desktop-menu-list > li > .sub-menu > li > a:hover {
	background-color: var(--color-accent); /* Destaque em rosa premium */
	border-color: var(--color-accent);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(219, 39, 119, 0.35);
	padding-left: 18px; /* Efeito deslizante */
}

/* Adicionar ícone de seta sutil no hover */
.desktop-menu-list > li > .sub-menu > li > a::before {
	content: "chevron_right";
	font-family: 'Material Symbols Outlined';
	font-size: 14px;
	color: #64748b;
	transition: var(--transition-smooth);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.desktop-menu-list > li > .sub-menu > li > a:hover::before {
	color: #ffffff;
	transform: translateX(3px);
}

/* Responsividade do Mega Menu */
@media (max-width: 1200px) {
	.desktop-menu-list > li > .sub-menu {
		grid-template-columns: repeat(3, 1fr);
		padding: 20px;
	}
}

@media (max-width: 991px) {
	.desktop-menu-list > li > .sub-menu {
		grid-template-columns: repeat(2, 1fr);
		padding: 16px;
	}
}

/* Segundo nível de dropdown */
.desktop-menu-list .sub-menu .sub-menu {
	top: 0;
	left: 100%;
	margin-top: -8px;
}

/* ==========================================
   3.5. STICKY HEADER INTELIGENTE
   ========================================== */
.site-header {
	transition: background-color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.header-container {
	transition: height 0.3s ease, padding 0.3s ease;
}

.site-branding img.custom-logo,
.site-branding img {
	transition: max-height 0.3s ease !important;
}

.search-form-ajax .search-field-ajax {
	transition: height 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}

/* Estado Sticky */
.site-header.is-sticky {
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
	background-color: rgba(255, 255, 255, 0.98);
	border-bottom-color: rgba(226, 232, 240, 0.8);
}

.site-header.is-sticky .header-container {
	height: 60px; /* Reduz de 80px para 60px */
}

.site-header.is-sticky .site-branding img.custom-logo,
.site-header.is-sticky .site-branding img {
	max-height: 38px !important; /* Logo compactada */
}

.site-header.is-sticky .search-form-ajax .search-field-ajax {
	height: 38px; /* Busca compactada: de 48px para 38px */
	font-size: 0.875rem;
}

.site-header.is-sticky .search-form-ajax .search-icon {
	font-size: 18px;
}

.site-header.is-sticky .search-form-ajax .search-spinner {
	width: 16px;
	height: 16px;
	right: 14px;
}

.site-header.is-sticky .desktop-menu-list > li > a {
	padding: 10px 0; /* Menu mais compacto verticalmente */
}

/* ==========================================
   4. AJAX ADVANCED SEARCH
   ========================================== */
.header-search-wrapper {
	flex: 1;
	max-width: 600px;
	position: relative;
}

.search-form-ajax .search-input-group {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
}

.search-form-ajax .search-icon {
	position: absolute;
	left: 16px;
	color: var(--color-text-muted);
	pointer-events: none;
	font-size: 20px;
}

.search-form-ajax .search-field-ajax {
	width: 100%;
	height: 48px;
	padding: 8px 16px 8px 48px;
	border: 1px solid var(--color-border);
	border-radius: 9999px;
	font-size: 0.938rem;
	background-color: var(--color-bg-secondary);
	transition: var(--transition-smooth);
}

.search-form-ajax .search-input-group.is-searching .search-field-ajax {
	padding-right: 44px;
}

.search-form-ajax .search-field-ajax:focus {
	border-color: var(--color-border-focus);
	background-color: var(--color-bg-primary);
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

/* Spinner Loader */
.search-form-ajax .search-spinner {
	position: absolute;
	right: 16px;
	width: 20px;
	height: 20px;
}

.spinner-ring {
	width: 100%;
	height: 100%;
	border: 2px solid var(--color-border);
	border-top-color: var(--color-primary);
	border-radius: 50%;
	animation: spin 0.6s linear infinite;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Results Dropdown */
.ajax-search-results {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	margin-top: 8px;
	box-shadow: var(--shadow-lg);
	overflow: hidden;
	max-height: 400px;
	overflow-y: auto;
	z-index: 1000;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.2s, transform 0.2s;
}

.ajax-search-results.active {
	opacity: 1;
	transform: translateY(0);
}

.search-result-item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--color-border);
	cursor: pointer;
	transition: var(--transition-smooth);
}

.search-result-item:last-child {
	border-bottom: none;
}

.search-result-item:hover {
	background-color: var(--color-bg-secondary);
}

.search-result-image {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 2px;
	border: 1px solid var(--color-border);
}

.search-result-info {
	flex: 1;
}

.search-result-title {
	font-weight: 500;
	font-size: 0.938rem;
	color: var(--color-text-primary);
	margin-bottom: 2px;
}

.search-result-sku {
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.search-no-results {
	padding: 16px;
	text-align: center;
	color: var(--color-text-secondary);
	font-size: 0.875rem;
}

/* ==========================================
   5. HEADER ACTIONS
   ========================================== */
.header-actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

.action-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--color-text-secondary);
	position: relative;
	font-size: 0.75rem;
	font-weight: 600;
	padding: 4px;
	min-width: 60px;
}

.action-btn:hover {
	color: var(--color-primary);
}

.action-btn .material-symbols-outlined {
	font-size: 24px;
	margin-bottom: 2px;
}

.cart-count-badge {
	position: absolute;
	top: -2px;
	right: 8px;
	background-color: var(--color-accent);
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
	min-width: 18px;
	width: auto;
	height: 18px;
	padding: 0 4px;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 0 2px var(--color-bg-primary);
}

/* Header account dropdown */
.header-actions,
.header-user-account.header-account-dropdown-wrap {
	position: relative;
}

.header-account-dropdown-wrap {
	display: flex;
	align-items: center;
}

.header-account-toggle {
	text-decoration: none;
}

.header-account-dropdown {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	min-width: 260px;
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	box-shadow: var(--shadow-lg);
	z-index: 10020;
	overflow: hidden;
}

.header-account-dropdown__greeting {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	background: linear-gradient(180deg, rgba(253, 242, 248, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
	border-bottom: 1px solid var(--color-border);
}

.header-account-dropdown__greeting .material-symbols-outlined {
	font-size: 22px;
	color: var(--color-accent);
	flex-shrink: 0;
}

.header-account-dropdown__greeting p {
	margin: 0;
	font-size: 0.938rem;
	color: var(--color-text-primary);
	line-height: 1.35;
}

.header-account-dropdown__greeting strong {
	font-weight: 700;
	color: var(--color-primary);
}

.header-account-dropdown__menu {
	list-style: none;
	margin: 0;
	padding: 8px;
}

.header-account-dropdown__menu li {
	margin: 0;
}

.header-account-dropdown__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 8px;
	color: var(--color-text-secondary);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 600;
	transition: var(--transition-smooth);
}

.header-account-dropdown__link .material-symbols-outlined {
	font-size: 20px;
	color: var(--color-primary);
}

.header-account-dropdown__link:hover,
.header-account-dropdown__menu li.is-active .header-account-dropdown__link {
	background: var(--color-bg-secondary);
	color: var(--color-text-primary);
}

.header-account-dropdown__link.is-logout {
	color: #b91c1c;
}

.header-account-dropdown__link.is-logout .material-symbols-outlined {
	color: #b91c1c;
}

.header-account-dropdown-wrap.is-open .header-account-toggle {
	color: var(--color-primary);
}

@media (max-width: 768px) {
	.header-account-dropdown {
		right: -8px;
		min-width: 240px;
	}
}

/* ==========================================
   6. SLIDING MINI CART DRAWER
   ========================================== */
.side-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	width: 100vw;
	height: 100vh;
	z-index: 10000;
	visibility: hidden;
	transition: visibility 0.4s;
}

.side-cart-drawer.active {
	visibility: visible;
}

.side-cart-drawer .drawer-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(15, 23, 42, 0.4);
	backdrop-filter: blur(4px);
	opacity: 0;
	transition: opacity 0.4s ease;
}

.side-cart-drawer.active .drawer-overlay {
	opacity: 1;
}

.side-cart-drawer .drawer-content {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	max-width: 440px;
	height: 100%;
	background-color: var(--color-bg-primary);
	box-shadow: var(--shadow-lg);
	transform: translateX(100%);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
}

.side-cart-drawer.active .drawer-content {
	transform: translateX(0);
}

.drawer-header {
	padding: 24px;
	border-bottom: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.drawer-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-text-primary);
}

.close-drawer-btn {
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--color-text-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	transition: var(--transition-smooth);
}

.close-drawer-btn:hover {
	background-color: var(--color-bg-secondary);
	color: var(--color-text-primary);
}

.drawer-body {
	flex: 1;
	overflow-y: auto;
	padding: 24px;
}

/* ==========================================
   7. WOOCOMMERCE MINI CART OVERRIDES
   ========================================== */
.widget_shopping_cart {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.widget_shopping_cart_content {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.woocommerce-mini-cart {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-mini-cart-item {
	display: flex;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid var(--color-border);
	position: relative;
}

.woocommerce-mini-cart-item:first-child {
	padding-top: 0;
}

.woocommerce-mini-cart-item img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 3px;
	border: 1px solid var(--color-border);
}

.woocommerce-mini-cart-item a:not(.remove) {
	font-weight: 600;
	font-size: 0.938rem;
	color: var(--color-text-primary);
	display: block;
	margin-bottom: 4px;
}

.woocommerce-mini-cart-item .quantity {
	font-size: 0.875rem;
	color: var(--color-text-secondary);
}

.woocommerce-mini-cart-item .remove {
	position: absolute;
	top: 16px;
	right: 0;
	color: var(--color-error) !important;
	font-size: 1.25rem;
	font-weight: bold;
}

.woocommerce-mini-cart__total {
	margin-top: auto;
	padding: 20px 0;
	border-top: 2px solid var(--color-border);
	display: flex;
	justify-content: space-between;
	font-weight: 700;
	font-size: 1.125rem;
}

.woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.woocommerce-mini-cart__buttons a {
	display: block;
	text-align: center;
	padding: 14px;
	border-radius: 3px;
	font-weight: 600;
	font-size: 0.938rem;
}

.woocommerce-mini-cart__buttons a.button:not(.checkout) {
	background-color: var(--color-bg-secondary);
	color: var(--color-text-primary);
	border: 1px solid var(--color-border);
}

.woocommerce-mini-cart__buttons a.button.checkout {
	background-color: var(--color-primary);
	color: #ffffff;
}

.woocommerce-mini-cart__buttons a.button.checkout:hover {
	background-color: var(--color-primary-hover);
}

.woocommerce-mini-cart__empty-message {
	text-align: center;
	color: var(--color-text-secondary);
	padding: 40px 0;
	font-size: 0.938rem;
}

/* ==========================================
   7.5. MOBILE NAVIGATION & DRAWER SYSTEM
   ========================================== */
.mobile-menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--color-text-primary);
	padding: 8px;
	margin-left: -8px;
	align-items: center;
	justify-content: center;
}

.mobile-menu-toggle span {
	font-size: 28px;
}

.mobile-categories-carousel {
	display: none;
	width: 100%;
	background-color: var(--color-bg-primary);
	border-bottom: 1px solid var(--color-border);
}

.carousel-scroll-container {
	display: flex;
	overflow-x: auto;
	gap: 8px;
	padding: 8px 16px 12px 16px;
	width: 100%;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
}

.carousel-scroll-container::-webkit-scrollbar {
	display: none; /* Oculta barra de rolagem */
}

.category-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background-color: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-radius: 99px;
	color: var(--color-text-secondary);
	font-size: 0.813rem;
	font-weight: 600;
	white-space: nowrap;
	transition: var(--transition-smooth);
	scroll-snap-align: start;
}

.category-pill:hover, .category-pill:focus {
	background-color: var(--color-border);
	color: var(--color-text-primary);
}

.category-pill .pill-icon {
	font-size: 16px;
}

/* Pílula Especial de Destaque */
.category-pill.pill-highlight {
	background-color: #fdf2f8;
	border-color: #fbcfe8;
	color: var(--color-accent);
}

.category-pill.pill-highlight:hover {
	background-color: #fce7f3;
	border-color: var(--color-accent);
}

/* Mobile Menu Drawer Structure */
.mobile-menu-drawer {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 100000;
	visibility: hidden;
	transition: visibility 0.4s;
}

.mobile-menu-drawer.active {
	visibility: visible;
}

.mobile-menu-drawer .drawer-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(15, 23, 42, 0.4);
	backdrop-filter: blur(4px);
	opacity: 0;
	transition: opacity 0.4s ease;
}

.mobile-menu-drawer.active .drawer-overlay {
	opacity: 1;
}

.mobile-menu-drawer .drawer-content {
	position: absolute;
	top: 0;
	left: 0;
	width: 85%;
	max-width: 320px;
	height: 100%;
	background-color: var(--color-bg-primary);
	box-shadow: var(--shadow-lg);
	transform: translateX(-100%);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
}

.mobile-menu-drawer.active .drawer-content {
	transform: translateX(0);
}

.mobile-menu-drawer .drawer-header {
	padding: 20px;
	border-bottom: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.mobile-menu-drawer .close-drawer-btn {
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--color-text-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	transition: var(--transition-smooth);
}

.mobile-menu-drawer .close-drawer-btn:hover {
	background-color: var(--color-bg-secondary);
	color: var(--color-text-primary);
}

.mobile-menu-drawer .drawer-body {
	flex: 1;
	overflow-y: auto;
	padding: 20px;
}

/* User Info Card inside Drawer */
.drawer-user-info {
	display: flex;
	align-items: center;
	gap: 12px;
	background-color: var(--color-bg-secondary);
	border-radius: 4px;
	padding: 16px;
	margin-bottom: 24px;
	border: 1px solid var(--color-border);
}

.drawer-user-info .user-avatar-icon {
	font-size: 36px;
	color: var(--color-text-muted);
}

.drawer-user-info .user-details {
	display: flex;
	flex-direction: column;
}

.drawer-user-info .user-welcome {
	font-weight: 700;
	font-size: 0.938rem;
	color: var(--color-text-primary);
}

.drawer-user-info .user-link {
	font-size: 0.813rem;
	color: var(--color-accent);
	font-weight: 600;
	text-decoration: underline;
}

/* Navigation inside Drawer */
.drawer-menu-section {
	margin-bottom: 28px;
}

.drawer-section-title {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-text-muted);
	font-weight: 700;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--color-border);
	padding-bottom: 6px;
}

.drawer-nav-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.drawer-nav-list li {
	margin: 0;
	padding: 0;
}

.drawer-nav-list li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 3px;
	color: var(--color-text-secondary);
	font-weight: 600;
	font-size: 0.938rem;
	transition: var(--transition-smooth);
}

.drawer-nav-list li a:hover {
	background-color: var(--color-bg-secondary);
	color: var(--color-primary);
}

.drawer-nav-list li .nav-icon {
	font-size: 20px;
	color: var(--color-text-muted);
}

/* Submenu toggles */
.drawer-menu-item .menu-item-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.drawer-menu-item .menu-item-row a {
	flex: 1;
}

.submenu-toggle-btn {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--color-text-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 3px;
	transition: var(--transition-smooth);
}

.submenu-toggle-btn:hover {
	background-color: var(--color-bg-secondary);
	color: var(--color-text-primary);
}

.drawer-submenu {
	list-style: none;
	padding: 4px 0 4px 28px;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.drawer-submenu li a {
	font-size: 0.875rem;
	font-weight: 500;
	padding: 8px 12px;
}

/* Institutional List */
.institutional-links-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-left: 12px;
}

.institutional-links-list li a {
	color: var(--color-text-secondary);
	font-size: 0.875rem;
	font-weight: 500;
	transition: var(--transition-smooth);
	display: inline-block;
}

.institutional-links-list li a:hover {
	color: var(--color-accent);
}

/* ==========================================
   8. RESPONSIVENESS
   ========================================== */
@media (max-width: 768px) {
	.desktop-navigation-wrapper {
		display: none !important;
	}

	.header-container {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas:
			"toggle brand actions"
			"search search search";
		align-items: center;
		column-gap: 10px;
		row-gap: 8px;
		height: auto;
		min-height: 0;
		padding: 8px 12px 10px;
	}

	.mobile-menu-toggle {
		display: flex;
		grid-area: toggle;
		flex-shrink: 0;
		padding: 4px;
		margin-left: 0;
	}

	.mobile-menu-toggle span {
		font-size: 26px;
	}

	.site-branding {
		grid-area: brand;
		margin-right: 0;
		min-width: 0;
		justify-self: center;
		text-align: center;
	}

	.site-branding img.custom-logo,
	.site-branding img {
		max-height: 40px !important;
		width: auto;
		max-width: 100%;
	}

	.header-actions {
		grid-area: actions;
		gap: 4px;
		flex-shrink: 0;
		justify-self: end;
	}

	.header-search-wrapper {
		grid-area: search;
		width: 100%;
		max-width: none;
		margin: 0;
		min-width: 0;
	}

	.site-header {
		height: auto;
		position: sticky;
		top: 0;
		box-shadow: var(--shadow-sm);
	}

	.mobile-categories-carousel {
		display: flex;
	}

	.action-label {
		display: none;
	}
	
	.action-btn {
		min-width: 40px;
		padding: 2px;
	}

	.action-btn .material-symbols-outlined {
		font-size: 22px;
		margin-bottom: 0;
	}

	.cart-count-badge {
		right: 2px;
		top: -4px;
	}

	.search-form-ajax .search-field-ajax {
		height: 42px;
		font-size: 0.875rem;
	}

	.search-form-ajax .search-icon {
		left: 14px;
		font-size: 18px;
	}

	.site-header.is-sticky .header-container {
		height: auto;
	}

	.site-header.is-sticky .site-branding img.custom-logo,
	.site-header.is-sticky .site-branding img {
		max-height: 36px !important;
	}

	.top-promo-banner {
		padding: 8px 32px;
		font-size: 0.813rem;
	}
}

@media (max-width: 380px) {
	.header-container {
		column-gap: 8px;
		padding: 6px 10px 8px;
	}

	.site-branding img.custom-logo,
	.site-branding img {
		max-height: 32px !important;
	}

	.mobile-menu-toggle span {
		font-size: 24px;
	}

	.action-btn .material-symbols-outlined {
		font-size: 20px;
	}

	.action-btn {
		min-width: 36px;
	}
}

/* ==========================================
   9. MOBILE UX OPTIMIZATIONS (PRODUCT & CHECKOUT)
   ========================================== */
@media (max-width: 768px) {
	/* Single Product Page Adjustments */
	.woocommerce-product-gallery {
		margin-bottom: 20px !important;
	}
	
	.single-product .summary {
		padding: 0 16px;
	}

	.single-product .product_title {
		font-size: 1.5rem !important;
		line-height: 1.25;
	}
	
	/* Make CTA buttons huge on mobile for easy thumb tapping */
	.woocommerce div.product p.cart, 
	.woocommerce div.product form.cart,
	.single-product-login-cta-wrapper .primary-cta {
		width: 100% !important;
		display: block !important;
	}
	
	.single-product-login-cta-wrapper .primary-cta {
		padding: 16px 24px !important;
		font-size: 1rem !important;
	}
	
	/* Checkout Form Layout on Mobile */
	.woocommerce-checkout .col2-set {
		margin-bottom: 24px;
	}
	
	.woocommerce-checkout .col-1,
	.woocommerce-checkout .col-2 {
		width: 100% !important;
		float: none !important;
		margin-bottom: 24px;
	}

	/* Read-only checkout inputs look grey and locked */
	.b2b-locked-checkout-field input[readonly] {
		background-color: #f1f5f9 !important;
		border-color: var(--color-border) !important;
		cursor: not-allowed;
		color: var(--color-text-secondary);
	}
}

/* ==========================================
   10. B2B PRODUCT SHORTCODES & CARDS
   ========================================== */
.loja-master-products-container {
	width: 100%;
	margin: 30px 0;
}

/* Grid Layout */
.loja-master-grid-layout {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
}

/* Carousel Layout (Zero-dependency Snap Scroll) */
.loja-master-carousel-wrapper {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	gap: 20px;
	padding: 10px 0 20px 0;
	align-items: stretch;
	-webkit-overflow-scrolling: touch;
}

.loja-master-carousel-wrapper::-webkit-scrollbar {
	height: var(--scrollbar-size);
}

.loja-master-carousel-wrapper::-webkit-scrollbar-track {
	background: var(--scrollbar-track);
	border-radius: 99px;
}

.loja-master-carousel-wrapper::-webkit-scrollbar-thumb {
	background-color: var(--scrollbar-thumb);
	border-radius: 99px;
	border: 1px solid var(--scrollbar-track);
}

.loja-master-carousel-wrapper::-webkit-scrollbar-thumb:hover {
	background-color: var(--scrollbar-thumb-hover);
}

.loja-master-carousel-wrapper .product-card {
	flex: 0 0 calc(25% - 15px); /* 4 items on desktop */
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
}

@media (max-width: 1024px) {
	.loja-master-carousel-wrapper .product-card {
		flex: 0 0 calc(33.333% - 14px); /* 3 items on tablet */
	}
}

@media (max-width: 768px) {
	.loja-master-carousel-wrapper .product-card {
		flex: 0 0 calc(50% - 10px); /* 2 items on mobile */
	}
}

@media (max-width: 480px) {
	.loja-master-carousel-wrapper .product-card {
		flex: 0 0 82%; /* Swipe layout: single prominent item on mobile */
	}
}

/* Product Card Styling */
.product-card {
	transition: var(--transition-smooth);
}

.product-card-inner {
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	box-shadow: var(--shadow-sm);
	transition: var(--transition-smooth);
	position: relative;
}

.product-card-kit-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
	background: var(--color-accent);
	color: #ffffff;
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 4px 10px;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(219, 39, 119, 0.25);
}

.product-card-inner:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-md);
	border-color: var(--color-border-focus);
}

.product-card-image-link {
	display: block;
	position: relative;
	flex: 0 0 auto;
	width: 100%;
	aspect-ratio: 1 / 1;
	padding-top: 0;
	background-color: #ffffff; /* Fundo branco para mesclar imagens de fundo branco */
	overflow: hidden;
}

.product-card-image {
	position: absolute;
	top: 12px;
	left: 12px;
	width: calc(100% - 24px);
	height: calc(100% - 24px);
	object-fit: contain; /* Exibe a imagem inteira sem cortar */
	transition: transform 0.5s ease;
}

.product-card-inner:hover .product-card-image {
	transform: scale(1.05);
}

.product-card-details {
	padding: 16px;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	gap: 8px;
}

.product-card-details-info {
	flex: 0 0 auto;
}

.product-card-sku {
	display: block;
	min-height: 1.125rem;
	font-size: 0.75rem;
	color: var(--color-text-muted);
	font-weight: 500;
	margin-bottom: 6px;
}

.product-card-sku:empty::before {
	content: '\00a0';
	visibility: hidden;
}

.product-card-title {
	font-size: 0.938rem;
	font-weight: 600;
	color: var(--color-text-primary);
	line-height: 1.35;
	margin: 0 0 8px;
	min-height: 4.05em;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.product-card-title a:hover {
	color: var(--color-primary);
}

.product-card-price {
	min-height: 1.5rem;
	font-size: 1.063rem;
	font-weight: 700;
	color: var(--color-primary);
}

.product-card-price:empty::before {
	content: '\00a0';
	visibility: hidden;
}

.product-card-price-action-wrap {
	margin-top: auto;
	padding-top: 8px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.product-card-price-action-wrap .product-card-price {
	margin-top: 0;
	margin-bottom: 0;
}

.product-card-price-action-wrap .product-card-actions {
	margin-top: 0;
	padding-top: 0;
}

.product-card-actions .button {
	width: 100%;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background-color: var(--color-accent);
	color: #ffffff;
	border: none;
	border-radius: 3px;
	font-weight: 600;
	font-size: 0.875rem;
	cursor: pointer;
	transition: var(--transition-smooth);
}

.product-card-actions .button:hover {
	background-color: #0f172a;
}

.product-card-actions .button .material-symbols-outlined {
	font-size: 18px;
}

/* Gated Cards (Not logged in) */
.product-card-gated-info {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.login-to-see-price {
	font-size: 0.813rem;
	font-weight: 500;
	color: var(--color-accent);
}

.product-card-gated-info .login-cta-btn {
	background-color: var(--color-accent);
	border: none;
	color: #ffffff;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
	font-weight: 600;
	font-size: 0.813rem;
}

.product-card-gated-info .login-cta-btn:hover {
	background-color: #0f172a;
	color: #ffffff;
}

/* Infinite scroll loader */
.lm-infinite-scroll-status {
	font-weight: 600;
	color: var(--color-text-secondary);
	font-size: 0.938rem;
}

/* ==========================================
   11. BRAND CARDS SHORTCODE & HOVER EFFECTS
   ========================================== */
.loja-master-brand-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin: 40px auto;
	max-width: 1400px;
	padding: 0 24px;
	width: 100%;
}

@media (max-width: 1024px) {
	.loja-master-brand-cards-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
		padding: 0 20px;
	}
}

@media (max-width: 576px) {
	.loja-master-brand-cards-grid--mobile-2col {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
		padding: 0 12px;
	}

	.loja-master-brand-cards-grid--mobile-stack {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 0 16px;
	}
}

.brand-card-item {
	position: relative;
	border-radius: 6px;
	overflow: hidden;
	transition: var(--transition-smooth);
}

.brand-card-link-wrapper {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.brand-card-inner-wrap {
	width: 100%;
	position: relative;
}

.brand-card-media-wrapper {
	position: relative;
	width: 100%;
	line-height: 0; /* Remove inline-block spacing */
}

/* Images at natural size — no forced crop */
.brand-img-default {
	display: block;
	width: 100%;
	height: auto;
	transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hover image (only exists when has-hover) */
.brand-img-hover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hover effects ONLY when has-hover class is present */
.brand-card-item.has-hover:hover {
	transform: translateY(-5px);
}

.brand-card-item.has-hover:hover .brand-img-default {
	opacity: 0;
}

.brand-card-item.has-hover:hover .brand-img-hover {
	opacity: 1;
	transform: scale(1.03);
}

.brand-card-overlay-text {
	display: none !important;
}

.brand-card-title {
	display: none !important;
}

/* ==========================================
   12. PREMIUM FOOTER GRID LAYOUT
   ========================================== */
.site-footer {
	background-color: var(--color-bg-primary);
	border-top: 1px solid var(--color-border);
	margin-top: 60px;
	width: 100%;
}

.footer-top-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 60px 24px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 40px;
}

@media (min-width: 1024px) {
	.footer-top-container {
		grid-template-columns: 2fr 1fr 1fr 1fr 1.5fr;
	}
}

.footer-column h4 {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--color-text-primary);
	margin-bottom: 20px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.footer-column ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer-column ul a {
	color: var(--color-text-secondary);
	font-size: 0.875rem;
}

.footer-column ul a:hover {
	color: var(--color-primary);
	padding-left: 2px;
}

.social-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: var(--color-bg-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border);
	transition: var(--transition-smooth);
}

.social-icon:hover {
	background-color: var(--color-primary);
	color: #ffffff !important;
	border-color: var(--color-primary);
}

/* ==========================================
   13. FLOATING WHATSAPP B2B WIDGET
   ========================================== */
.loja-master-whatsapp-widget {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9999;
	display: flex;
	align-items: center;
	gap: 16px;
	pointer-events: none;
}

.loja-master-whatsapp-widget * {
	pointer-events: auto;
}

.whatsapp-bubble {
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 3px;
	padding: 10px 16px;
	box-shadow: var(--shadow-md);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-text-secondary);
	max-width: 250px;
	white-space: normal;
	opacity: 1; /* Always visible B2B info bubble */
	transform: translateX(0);
	transition: var(--transition-smooth);
}

.whatsapp-trigger {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: #25d366;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--shadow-lg);
	transition: var(--transition-smooth);
	cursor: pointer;
}

.whatsapp-trigger:hover {
	transform: scale(1.1);
	background-color: #20ba5a;
}

@media (max-width: 768px) {
	.loja-master-whatsapp-widget {
		bottom: 20px;
		right: 20px;
		gap: 8px;
	}
	
	.whatsapp-bubble {
		display: none; /* Hide B2B info bubble on small screens to save space */
	}
}

/* ==========================================
   14. B2B INTELIGENTE POPUP ENGINE
   ========================================== */
.loja-master-b2b-popup {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	box-sizing: border-box;
}

.loja-master-b2b-popup .b2b-popup-overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(15, 23, 42, 0.6);
	backdrop-filter: blur(8px);
}

.loja-master-b2b-popup .b2b-popup-container {
	position: relative;
	z-index: 100001;
	animation: b2bPopupScaleIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	max-width: 80vw;
	max-height: 80vh;
	box-sizing: border-box;
}

@keyframes b2bPopupScaleIn {
	from {
		opacity: 0;
		transform: scale(0.94);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

.loja-master-b2b-popup .close-b2b-popup-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	background: rgba(255, 255, 255, 0.96);
	border: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-text-primary);
	cursor: pointer;
	transition: var(--transition-smooth);
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
}

.loja-master-b2b-popup .close-b2b-popup-btn:hover {
	background: #ffffff;
	transform: rotate(90deg);
}

/* --- Modo: somente imagem --- */
.loja-master-b2b-popup .b2b-popup-container.popup-mode-image-only {
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	width: auto;
	height: auto;
	overflow: visible;
}

.loja-master-b2b-popup .b2b-popup-container.popup-mode-image-only .b2b-popup-body-content {
	display: block;
	line-height: 0;
	max-width: 80vw;
	max-height: 80vh;
}

.loja-master-b2b-popup .b2b-popup-container.popup-mode-image-only .b2b-popup-body-content a {
	display: block;
	line-height: 0;
}

.loja-master-b2b-popup .b2b-popup-container.popup-mode-image-only .b2b-popup-body-content img,
.loja-master-b2b-popup .b2b-popup-container.popup-mode-image-only .b2b-popup-body-content .b2b-popup-image,
.loja-master-b2b-popup .b2b-popup-container.popup-mode-image-only .b2b-popup-picture {
	display: block;
	max-width: 80vw;
	max-height: 80vh;
	width: auto;
	height: auto;
	border-radius: 10px;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
}

.loja-master-b2b-popup .b2b-popup-container.popup-mode-image-only .b2b-popup-picture img {
	max-width: 80vw;
	max-height: 80vh;
	width: auto;
	height: auto;
	border-radius: 10px;
	box-shadow: none;
}

.loja-master-b2b-popup .b2b-popup-container.popup-mode-image-only .close-b2b-popup-btn {
	top: 8px;
	right: 8px;
}

/* --- Modo: imagem + texto (Gutenberg) --- */
.loja-master-b2b-popup .b2b-popup-container.popup-mode-content {
	background: #ffffff;
	border: 1px solid var(--color-border);
	border-radius: 14px;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	width: min(640px, 80vw);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content {
	padding: 0 24px 24px;
	overflow-y: auto;
	max-height: calc(80vh - 8px);
	color: var(--color-text-secondary);
	font-size: 0.938rem;
	line-height: 1.7;
}

.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content > figure:first-child,
.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content > .wp-block-image:first-child {
	margin: 0 -24px 20px;
}

.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content figure:first-child img,
.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content > .wp-block-image:first-child img,
.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content > p:first-child > img:only-child {
	width: 100%;
	max-height: min(45vh, 420px);
	height: auto;
	object-fit: contain;
	display: block;
	border-radius: 14px 14px 0 0;
}

.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content p {
	margin-bottom: 14px;
}

.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content .wp-block-button,
.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content .button,
.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content a.button {
	margin-top: 8px;
}

/* Positions configurations */
.loja-master-b2b-popup.popup-pos-bottom-left {
	align-items: flex-end;
	justify-content: flex-start;
	padding: 24px;
	pointer-events: none;
}

.loja-master-b2b-popup.popup-pos-bottom-left .b2b-popup-overlay {
	display: none;
}

.loja-master-b2b-popup.popup-pos-bottom-left .b2b-popup-container {
	pointer-events: auto;
	margin: 0;
}

.loja-master-b2b-popup.popup-pos-bottom-right {
	align-items: flex-end;
	justify-content: flex-end;
	padding: 24px;
	pointer-events: none;
}

.loja-master-b2b-popup.popup-pos-bottom-right .b2b-popup-overlay {
	display: none;
}

.loja-master-b2b-popup.popup-pos-bottom-right .b2b-popup-container {
	pointer-events: auto;
	margin: 0;
}

@media (max-width: 768px) {
	.loja-master-b2b-popup {
		padding: 12px;
	}

	.loja-master-b2b-popup .b2b-popup-container.popup-mode-content {
		width: 80vw;
	}

	.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content {
		padding: 0 16px 16px;
	}

	.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content > figure:first-child,
	.loja-master-b2b-popup .b2b-popup-container.popup-mode-content .b2b-popup-body-content > .wp-block-image:first-child {
		margin: 0 -16px 16px;
	}

	.loja-master-b2b-popup.popup-pos-bottom-left,
	.loja-master-b2b-popup.popup-pos-bottom-right {
		padding: 16px;
	}
}

/* ==========================================
   15. INFO RULER (RÉGUA DE INFORMAÇÕES)
   ========================================== */
.loja-master-info-ruler-wrapper {
	width: 100%;
	max-width: 1200px;
	margin: 24px auto;
	padding: 0 20px;
}

.loja-master-info-ruler-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.info-ruler-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.info-ruler-card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	box-shadow: var(--shadow-sm);
	transition: var(--transition-smooth);
	min-height: 0;
}

.info-ruler-card-link:hover .info-ruler-card {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
	border-color: var(--color-primary);
}

.info-ruler-icon {
	color: var(--color-primary);
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: rgba(37, 99, 235, 0.08);
}

.info-ruler-icon svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.info-ruler-icon .material-symbols-outlined {
	font-size: 20px;
}

.info-ruler-texts {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.info-ruler-title {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-text-primary);
	margin: 0;
	line-height: 1.25;
}

.info-ruler-subtitle {
	font-size: 0.6875rem;
	color: var(--color-text-secondary);
	margin: 0;
	line-height: 1.3;
}

/* Responsive Info Ruler: native CSS Snap Scroll on mobile */
@media (max-width: 992px) {
	.loja-master-info-ruler-container {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 16px;
		padding-bottom: 12px;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
	}

	.info-ruler-card-link {
		flex: 0 0 240px;
		scroll-snap-align: start;
	}

	.info-ruler-card {
		height: 100%;
		padding: 10px 12px;
	}
}

/* ==========================================
   16. PRODUCT CARD BADGES ACTIONS & SHARE TOAST
   ========================================== */
.product-card {
	position: relative;
}

.product-card-badge-actions {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	z-index: 10;
	opacity: 0;
	transform: translateX(10px);
	transition: var(--transition-smooth);
}

.product-card:hover .product-card-badge-actions {
	opacity: 1;
	transform: translateX(0);
}

/* On mobile, make actions always visible */
@media (max-width: 768px) {
	.product-card-badge-actions {
		opacity: 1;
		transform: translateX(0);
	}
}

.badge-action-btn {
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(4px);
	border: 1px solid var(--color-border);
	color: var(--color-text-secondary);
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: var(--shadow-sm);
	transition: var(--transition-smooth);
	padding: 0;
}

.badge-action-btn:hover {
	background: var(--color-bg-primary);
	color: var(--color-primary);
	transform: scale(1.1);
	box-shadow: var(--shadow-md);
}

/* Wishlist Active State */
.badge-action-btn.action-wishlist.active {
	color: var(--color-error);
	background: var(--color-bg-primary);
}

.badge-action-btn.action-wishlist.active .icon-heart {
	font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* WhatsApp Icon Badge SPECIFIC */
.badge-action-btn.action-whatsapp {
	color: #25d366;
}
.badge-action-btn.action-whatsapp:hover {
	background: #25d366;
	color: #ffffff;
	border-color: #25d366;
}

/* Share Toast Message */
.lm-share-toast {
	position: fixed;
	bottom: 50px;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(15, 23, 42, 0.9);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: #ffffff;
	padding: 12px 24px;
	border-radius: 12px;
	font-size: 0.875rem;
	font-weight: 500;
	z-index: 1000000;
	box-shadow: var(--shadow-lg);
	display: none;
}

/* ==========================================
   17. HERO SLIDESHOW (BANNERS ROTATIVOS)
   ========================================== */
.loja-master-slider-wrapper {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: 50px auto 30px auto;
	padding: 0 24px;
	background: transparent;
}

.loja-master-slider {
	position: relative;
	width: 100%;
	height: auto;
	border-radius: 6px; /* Cantos arredondados premium */
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: var(--transition-smooth);
}

.slider-track {
	position: relative;
	width: 100%;
	height: 100%;
}

.slider-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 1;
	transition: opacity 0.8s ease-in-out;
	pointer-events: none;
}
.slider-slide.height-reference {
	position: relative !important;
	height: auto !important;
	display: block !important;
}

.slider-slide.active {
	opacity: 1;
	z-index: 2;
	pointer-events: auto;
}

.slide-link {
	display: block;
	width: 100%;
	height: 100%;
}

.slide-picture {
	width: 100%;
	height: 100%;
	display: block;
}

.slide-img {
	width: 100%;
	height: auto !important;
	object-fit: contain !important;
	object-position: center;
	display: block;
}

/* Slide controls */
.slider-nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	background: #ffffff; /* Botão branco limpo */
	border: none;
	color: var(--color-text-primary);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: var(--shadow-md);
	transition: var(--transition-smooth);
	padding: 0;
}

.slider-nav-btn:hover {
	background: var(--color-accent); /* Hover rosa */
	color: #ffffff;
	transform: translateY(-50%) scale(1.08);
	box-shadow: var(--shadow-lg);
}

.prev-btn {
	left: 20px;
}

.next-btn {
	right: 20px;
}

.slider-pagination-dots {
	position: relative;
	margin-top: 15px; /* Posicionado abaixo da imagem */
	display: flex;
	justify-content: center;
	gap: 10px;
	z-index: 5;
}

.slider-dot {
	background: rgba(17, 17, 17, 0.4); /* Preto inativo sutil */
	border: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	cursor: pointer;
	padding: 0;
	transition: var(--transition-smooth);
}

.slider-dot.active {
	background: var(--color-accent); /* Rosa cor ativa */
	width: 20px;
	border-radius: 2px;
}

@media (max-width: 768px) {
	.loja-master-slider-wrapper {
		margin: 20px auto 20px auto;
		padding: 0 16px;
	}

	.home-section--hero .loja-master-slider-wrapper {
		margin: 0;
		padding: 0;
		max-width: none;
	}

	.loja-master-slider {
		height: auto;
		border-radius: 3px; /* Cantos menos acentuados no mobile */
	}

	.home-section--hero .loja-master-slider {
		border-radius: 0;
	}
	
	.slider-nav-btn {
		width: 36px;
		height: 36px;
	}
	
	.prev-btn {
		left: 10px;
	}

	.next-btn {
		right: 10px;
	}
}

/* ==========================================
   18. AMERICANAS-STYLE COLLAPSIBLE FOOTER
   ========================================== */
.site-footer {
	background-color: var(--color-bg-primary);
	border-top: 1px solid var(--color-border);
	width: 100%;
}

/* Section 1: Offers Tags (On Sale products tags) */
.footer-offers-tags-section {
	background-color: #f1f5f9;
	border-bottom: 1px solid var(--color-border);
	padding: 30px 20px;
}

.footer-offers-container {
	max-width: 1200px;
	margin: 0 auto;
}

.footer-offers-title {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--color-text-primary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 20px;
}

.footer-offers-tags-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px 20px;
}

.footer-tag-link {
	font-size: 0.813rem;
	color: var(--color-text-secondary);
	text-decoration: underline;
	transition: var(--transition-smooth);
}

.footer-tag-link:hover {
	color: var(--color-primary);
}

@media (max-width: 992px) {
	.footer-offers-tags-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 576px) {
	.footer-offers-tags-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Section 2: Quick Links Bar */
.footer-quick-links-section {
	padding: 24px 20px;
	border-bottom: 1px solid var(--color-border);
	background-color: var(--color-bg-primary);
}

.footer-quick-links-container {
	max-width: 1200px;
	margin: 0 auto;
}

.footer-quick-links-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	gap: 16px;
}

.footer-quick-links-list a {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-text-primary);
	text-transform: lowercase;
}

.footer-quick-links-list a:hover {
	color: var(--color-primary);
}

/* Section 3: Collapsible content (reveals menus, payments and legal notes) */
.footer-collapsible-wrapper {
	background-color: var(--color-bg-primary);
	border-bottom: 1px solid var(--color-border);
}

.footer-collapsible-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 20px;
}

.footer-menus-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	margin-bottom: 40px;
}

.footer-col-title {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--color-text-primary);
	margin-bottom: 20px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.footer-links-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer-links-list a {
	font-size: 0.813rem;
	color: var(--color-text-secondary);
	transition: var(--transition-smooth);
}

.footer-links-list a:hover {
	color: var(--color-primary);
	padding-left: 3px;
}

/* Payments under collapsible */
.footer-collapsible-payments {
	border-top: 1px solid var(--color-border);
	padding-top: 30px;
}

.footer-payments-title {
	font-size: 0.813rem;
	font-weight: 700;
	color: var(--color-text-primary);
	margin-bottom: 16px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.footer-payments-badges-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}

.footer-payments-badges-grid .payment-badge {
	background-color: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	padding: 6px 12px;
	border-radius: 2px;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-text-secondary);
}

.footer-legal-disclaimer {
	font-size: 0.75rem;
	color: var(--color-text-muted);
	line-height: 1.6;
	margin: 0;
}

@media (max-width: 768px) {
	.footer-menus-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media (max-width: 480px) {
	.footer-menus-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/* Section 4: Fixed toggle bar */
.footer-toggle-bar-section {
	padding: 20px;
	background-color: var(--color-bg-primary);
}

.footer-toggle-bar-container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footer-expand-toggle-btn {
	background-color: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	color: var(--color-text-secondary);
	padding: 10px 24px;
	border-radius: 10px;
	font-size: 0.813rem;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
	transition: var(--transition-smooth);
}

.footer-expand-toggle-btn:hover {
	background-color: var(--color-border);
	color: var(--color-text-primary);
}

.footer-expand-toggle-btn .material-symbols-outlined {
	transition: transform 0.3s ease;
}

.footer-expand-toggle-btn.active .material-symbols-outlined {
	transform: rotate(180deg);
}

.footer-bar-socials {
	display: flex;
	gap: 12px;
}

@media (max-width: 576px) {
	.footer-toggle-bar-container {
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}
}

/* Section 5: Legal details */
.footer-legal-section {
	background-color: var(--color-bg-secondary);
	border-top: 1px solid var(--color-border);
	padding: 24px 20px;
	text-align: center;
}

.footer-legal-container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.copyright-text {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-text-secondary);
	margin: 0;
}

.company-details-text {
	font-size: 0.688rem;
	color: var(--color-text-muted);
	margin: 0;
	line-height: 1.5;
}

/* ==========================================
   19. NEWSLETTER & CONTACTS FOOTER SECTIONS
   ========================================== */
/* Newsletter Section */
.footer-newsletter-section {
	background-color: #0f172a;
	padding: 24px 20px;
	color: #ffffff;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-newsletter-container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

.newsletter-texts {
	display: flex;
	align-items: center;
	gap: 16px;
}

.newsletter-icon {
	font-size: 32px;
	color: var(--color-accent);
}

.newsletter-headings {
	display: flex;
	flex-direction: column;
}

.newsletter-title {
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0;
}

.newsletter-subtitle {
	font-size: 0.813rem;
	color: var(--color-text-muted);
	margin: 0;
}

.newsletter-form {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	flex: 1;
	max-width: 600px;
	justify-content: flex-end;
}

.newsletter-form input {
	background-color: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: #ffffff;
	padding: 10px 16px;
	border-radius: 2px;
	font-size: 0.875rem;
	flex: 1;
	min-width: 150px;
	transition: var(--transition-smooth);
}

.newsletter-form input:focus {
	background-color: rgba(255, 255, 255, 0.12);
	border-color: var(--color-accent);
}

.newsletter-submit-btn {
	background-color: var(--color-accent);
	color: #ffffff;
	border: none;
	padding: 10px 24px;
	border-radius: 2px;
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
	transition: var(--transition-smooth);
	white-space: nowrap;
}

.newsletter-submit-btn:hover {
	background-color: #be185d;
	transform: translateY(-1px);
}

/* Contacts Bar Section */
.footer-contacts-bar-section {
	background-color: #ffffff;
	border-bottom: 1px solid var(--color-border);
	padding: 20px;
}

.footer-contacts-bar-container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

.contact-item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.contact-icon {
	font-size: 20px;
}

.contact-text {
	font-size: 0.938rem;
	font-weight: 600;
	color: var(--color-text-primary);
}

.contact-socials-wrap {
	display: flex;
	align-items: center;
	gap: 16px;
}

.social-label {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--color-text-secondary);
	letter-spacing: 0.05em;
}

.social-icons-list {
	display: flex;
	gap: 10px;
}

.social-icons-list .social-link {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-text-secondary);
	transition: var(--transition-smooth);
}

.social-icons-list .social-link:hover {
	background-color: var(--color-primary);
	color: #ffffff !important;
	border-color: var(--color-primary);
	transform: scale(1.05);
}

.social-icons-list .social-link svg,
.footer-bar-socials .social-icon svg {
	display: block;
}

@media (max-width: 768px) {
	.footer-newsletter-container,
	.footer-contacts-bar-container {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}
	
	.newsletter-texts {
		flex-direction: column;
		text-align: center;
	}
	
	.newsletter-form {
		flex-direction: column;
		justify-content: center;
	}
	
	.contact-item {
		justify-content: center;
	}
	
	.contact-socials-wrap {
		flex-direction: column;
		justify-content: center;
		margin-top: 10px;
	}
}

/* ==========================================
   20. BREADCRUMBS OPTIMIZED FOR SEO & MOBILE
   ========================================== */
.loja-master-breadcrumb {
	padding: 15px 0;
	margin-bottom: 20px;
	width: 100%;
	font-size: 0.813rem;
	color: var(--color-text-secondary);
}

.loja-master-breadcrumb ol {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.loja-master-breadcrumb li {
	display: inline-flex;
	align-items: center;
}

.loja-master-breadcrumb a {
	color: var(--color-text-secondary);
	transition: var(--transition-smooth);
}

.loja-master-breadcrumb a:hover {
	color: var(--color-primary);
	text-decoration: underline;
}

.loja-master-breadcrumb .breadcrumb-separator {
	color: var(--color-text-muted);
	font-size: 0.75rem;
	user-select: none;
}

/* Mobile swipe optimization */
@media (max-width: 768px) {
	.loja-master-breadcrumb {
		overflow-x: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		padding: 12px 16px;
		background-color: var(--color-bg-primary);
		border-radius: 3px;
		box-shadow: var(--shadow-sm);
		border: 1px solid var(--color-border);
		margin: 15px 0;
	}

	.loja-master-breadcrumb::-webkit-scrollbar {
		display: none; /* Hide scrollbar for a cleaner feel */
	}

	.loja-master-breadcrumb ol {
		flex-wrap: nowrap;
	}
	
	.loja-master-breadcrumb li {
		flex-shrink: 0;
	}
}

/* ==========================================
   21. WOOCOMMERCE PRODUCT TABS & CUSTOM TABS
   ========================================== */
.woocommerce-tabs {
	margin: 50px 0;
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	padding: 30px;
	box-shadow: var(--shadow-sm);
}

.woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 24px 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-end !important;
	gap: 6px !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 3px solid #0f2c59 !important;
	border-radius: 0 !important;
	overflow: visible !important;
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after {
	display: none !important;
	content: none !important;
}

.woocommerce-tabs ul.tabs::-webkit-scrollbar {
	display: none;
}

.woocommerce-tabs ul.tabs li {
	position: relative;
	float: none !important;
	display: block;
	flex: 0 0 auto;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

.woocommerce-tabs ul.tabs li::after,
.woocommerce-tabs ul.tabs li::before {
	display: none !important;
	content: none !important;
}

.woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: auto !important;
	padding: 12px 24px !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	color: #94a3b8 !important;
	transition: color 0.2s ease, background-color 0.2s ease !important;
	border: none !important;
	border-radius: 8px 8px 0 0 !important;
	background: transparent !important;
	line-height: 1.25 !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
}

.woocommerce-tabs ul.tabs li:not(.active) a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li:not(.active) a:hover {
	color: #475569 !important;
	background: rgba(15, 44, 89, 0.06) !important;
	transform: none !important;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #ffffff !important;
	background: #0f2c59 !important;
	border: none !important;
	box-shadow: none !important;
	font-weight: 700 !important;
	margin-bottom: -3px !important;
	padding: 12px 24px 15px !important;
	text-shadow: none !important;
}

.woocommerce-tabs ul.tabs li.active a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:hover {
	color: #ffffff !important;
	background: #0a2247 !important;
}

/* Ordem fixa das abas: Descrição à esquerda, Informação adicional depois */
.woocommerce-tabs ul.tabs li.description_tab {
	order: 1;
}

.woocommerce-tabs ul.tabs li.additional_information_tab {
	order: 2;
}

.woocommerce-tabs ul.tabs li.reviews_tab {
	order: 50;
}

.woocommerce-Tabs-panel {
	display: none;
	max-height: none !important;
	overflow: visible !important;
}

.woocommerce-Tabs-panel.entry-content {
	animation: fadeInTab 0.4s ease;
}

@keyframes fadeInTab {
	from {
		opacity: 0;
		transform: translateY(5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.woocommerce-Tabs-panel h2 {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 20px;
	color: var(--color-text-primary);
}

.woocommerce-Tabs-panel p {
	font-size: 0.938rem;
	color: var(--color-text-secondary);
	line-height: 1.7;
	margin-bottom: 16px;
}

.woocommerce-Tabs-panel ul {
	margin-left: 20px;
	margin-bottom: 16px;
	color: var(--color-text-secondary);
	font-size: 0.938rem;
}

.woocommerce-Tabs-panel li {
	margin-bottom: 6px;
}

.b2b-custom-tab-content {
	font-size: 0.938rem;
	color: var(--color-text-secondary);
	line-height: 1.7;
}

@media (max-width: 768px) {
	.woocommerce-tabs {
		padding: 20px;
		margin: 30px 0;
		border-radius: 5px;
	}

	.woocommerce-tabs ul.tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 4px;
		margin-bottom: 20px;
		padding: 0;
		width: 100%;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.woocommerce-tabs ul.tabs::-webkit-scrollbar {
		display: none;
	}

	.woocommerce-tabs ul.tabs li {
		flex: 0 0 auto;
		min-width: 0;
	}

	.woocommerce-tabs ul.tabs li a,
	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		padding: 10px 16px !important;
		font-size: 0.8125rem !important;
		white-space: nowrap !important;
	}

	.woocommerce-tabs ul.tabs li.active a,
	.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
		padding: 10px 16px 13px !important;
	}
}

/* ==========================================
   22. PRODUCT VIDEO LIGHTBOX & FLOATING BUTTON
   ========================================== */
.woocommerce-product-gallery {
	position: relative;
}

.b2b-product-video-floating-wrap {
	position: absolute;
	bottom: 20px;
	left: 20px;
	z-index: 99;
	pointer-events: none;
}

.b2b-product-video-floating-btn {
	pointer-events: auto;
	background-color: var(--color-primary);
	color: #ffffff;
	border: none;
	padding: 10px 16px;
	border-radius: 8px;
	font-size: 0.813rem;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
	box-shadow: var(--shadow-md);
	transition: var(--transition-smooth);
}

.b2b-product-video-floating-btn:hover {
	background-color: var(--color-primary-hover);
	transform: translateY(-2px);
	box-shadow: var(--shadow-lg);
}

.b2b-product-video-floating-btn .material-symbols-outlined {
	font-size: 20px;
}

/* Video Thumbnail in gallery list */
.woocommerce-product-gallery .flex-control-nav {
	margin-top: 10px;
}

.video-thumbnail-item {
	display: inline-block;
	vertical-align: top;
	width: 64px !important;
	height: 64px !important;
	margin-right: 10px;
	background: #f8fafc;
	border: 1px dashed var(--color-border);
	border-radius: 3px;
	transition: var(--transition-smooth);
}

.video-thumbnail-item:hover {
	border-color: var(--color-primary);
	background: #f1f5f9;
}

.video-thumbnail-item a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
}

.video-thumbnail-overlay {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	color: var(--color-primary);
}

.video-thumbnail-overlay .material-symbols-outlined {
	font-size: 24px;
}

.video-thumbnail-overlay .video-text {
	font-size: 0.563rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Responsive Lightbox Modal */
.b2b-video-lightbox-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.video-modal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(15, 23, 42, 0.85);
	backdrop-filter: blur(8px);
}

.video-modal-content {
	position: relative;
	width: 90%;
	max-width: 800px;
	z-index: 1000001;
	aspect-ratio: 16 / 9;
	background: #000000;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: var(--shadow-lg);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.video-iframe-wrapper {
	width: 100%;
	height: 100%;
}

.video-iframe-wrapper iframe {
	width: 100%;
	height: 100%;
	border: none;
}

.close-video-modal-btn {
	position: absolute;
	top: 12px;
	right: 12px;
	background: rgba(255, 255, 255, 0.2);
	border: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	cursor: pointer;
	z-index: 10;
	transition: var(--transition-smooth);
}

.close-video-modal-btn:hover {
	background: rgba(255, 255, 255, 0.3);
	transform: scale(1.05);
}

body.video-modal-open {
	overflow: hidden;
}

/* ==========================================
   23. B2B KIT GALLERY CAROUSEL & COMPONENT MODAL
   ========================================== */
.single-product-media-column {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
	width: 100%;
}

@media (min-width: 992px) {
	.single-product-media-column {
		position: sticky;
		top: 24px;
		align-self: start;
		grid-column: 1;
		grid-row: 1;
	}

	.single-product div.product:has(.b2b-kit-gallery-carousel--full-width) div.summary {
		grid-column: 2;
		grid-row: 1;
		align-self: start;
	}

	.b2b-kit-gallery-carousel--full-width {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		max-width: 100%;
		margin-top: 28px;
	}
}

.b2b-kit-gallery-carousel {
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 12px;
	padding: 16px;
	box-shadow: var(--shadow-sm);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.b2b-kit-gallery-carousel__header {
	margin-bottom: 12px;
}

.b2b-kit-gallery-carousel__title {
	margin: 0 0 4px;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--color-text-primary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.b2b-kit-gallery-carousel__hint {
	margin: 0;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.b2b-kit-carousel-shell {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.b2b-kit-carousel-track {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding: 4px 2px 8px;
	width: 100%;
	min-width: 0;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.b2b-kit-carousel-track::-webkit-scrollbar {
	height: var(--scrollbar-size);
}

.b2b-kit-carousel-track::-webkit-scrollbar-track {
	background: var(--scrollbar-track);
	border-radius: 999px;
}

.b2b-kit-carousel-track::-webkit-scrollbar-thumb {
	background-color: var(--scrollbar-thumb);
	border-radius: 999px;
	border: 1px solid var(--scrollbar-track);
}

.b2b-kit-carousel-track::-webkit-scrollbar-thumb:hover {
	background-color: var(--scrollbar-thumb-hover);
}

.b2b-kit-carousel-nav {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border);
	border-radius: 50%;
	background: #ffffff;
	color: var(--color-text-secondary);
	cursor: pointer;
	padding: 0;
	transition: var(--transition-smooth);
}

.b2b-kit-carousel-nav:hover:not(.swiper-button-disabled) {
	border-color: var(--color-accent);
	color: var(--color-accent);
}

.b2b-kit-card {
	flex: 0 0 168px;
	width: 168px;
	min-height: 220px;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-align: left;
	background: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	padding: 10px;
	cursor: pointer;
	transition: var(--transition-smooth);
}

.b2b-kit-card:hover,
.b2b-kit-card:focus-visible {
	border-color: var(--color-accent);
	box-shadow: 0 8px 20px rgba(219, 39, 119, 0.12);
	transform: translateY(-2px);
	outline: none;
}

.b2b-kit-card__media {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	overflow: hidden;
	background: #ffffff;
	margin-bottom: 10px;
}

.b2b-kit-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.b2b-kit-card__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1 1 auto;
	min-height: 0;
}

.b2b-kit-card__name {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-text-primary);
	line-height: 1.35;
	min-height: 2.7em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.b2b-kit-card__sku {
	font-size: 0.6875rem;
	color: var(--color-text-muted);
	min-height: 1em;
}

.b2b-kit-card__qty {
	margin-top: 8px;
	align-self: flex-start;
	font-size: 0.6875rem;
	font-weight: 700;
	color: var(--color-text-secondary);
	background: var(--color-border);
	padding: 4px 8px;
	border-radius: 999px;
}

.b2b-kit-gallery-carousel__footer {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--color-border);
	text-align: center;
}

.b2b-kit-gallery-carousel__footer .scroll-to-desc-tab {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-primary);
	text-decoration: underline;
}

.b2b-kit-gallery-carousel__footer .scroll-to-desc-tab:hover {
	color: var(--color-primary-hover);
}

.b2b-kit-component-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.b2b-kit-component-modal[hidden] {
	display: none !important;
}

.b2b-kit-component-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.65);
}

.b2b-kit-component-modal__dialog {
	position: relative;
	z-index: 2;
	width: min(920px, 100%);
	max-height: min(90vh, 860px);
	overflow: auto;
	background: #ffffff;
	border-radius: 14px;
	box-shadow: var(--shadow-lg);
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.b2b-kit-component-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: var(--color-text-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: var(--shadow-sm);
}

.b2b-kit-component-modal__media {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: var(--color-bg-secondary);
	border-right: 1px solid var(--color-border);
}

.b2b-kit-component-modal__image {
	display: block;
	width: 100%;
	max-height: 360px;
	object-fit: contain;
}

.b2b-kit-component-modal__content {
	padding: 28px 24px 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.b2b-kit-component-modal__sku,
.b2b-kit-component-modal__qty {
	margin: 0;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.b2b-kit-component-modal__title {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.3;
	color: var(--color-text-primary);
}

.b2b-kit-component-modal__description {
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--color-text-secondary);
}

.b2b-kit-component-modal__description p {
	margin: 0 0 10px;
}

body.b2b-kit-modal-open {
	overflow: hidden;
}

@media (max-width: 768px) {
	.b2b-kit-gallery-carousel--full-width {
		margin-top: 24px;
	}

	.b2b-kit-card {
		flex-basis: 148px;
		width: 148px;
		min-height: 210px;
	}

	.b2b-kit-carousel-nav {
		display: none;
	}

	.b2b-kit-component-modal__dialog {
		grid-template-columns: 1fr;
	}

	.b2b-kit-component-modal__media {
		border-right: none;
		border-bottom: 1px solid var(--color-border);
		padding: 20px;
	}

	.b2b-kit-component-modal__content {
		padding: 20px;
	}
}

/* Legacy summary box — kept for backwards compatibility if rendered elsewhere */
.b2b-kit-products-summary-box {
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	padding: 20px;
	margin: 20px 0;
	box-shadow: var(--shadow-sm);
	font-family: var(--font-sans);
}

.b2b-kit-products-summary-box .kit-box-title {
	font-size: 0.938rem;
	font-weight: 700;
	color: var(--color-text-primary);
	text-align: center;
	margin-bottom: 16px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-bottom: 1px solid var(--color-border);
	padding-bottom: 12px;
}

.b2b-kit-products-summary-box .kit-products-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.b2b-kit-products-summary-box .kit-product-item-row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 10px;
	min-height: 72px;
	background: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-radius: 3px;
	transition: var(--transition-smooth);
}

.b2b-kit-products-summary-box .kit-product-item-row:hover {
	border-color: var(--color-border-focus);
	background: var(--color-bg-primary);
}

.b2b-kit-products-summary-box .kit-item-img {
	width: 50px;
	height: 50px;
	object-fit: cover;
	border-radius: 2px;
	border: 1px solid var(--color-border);
	background: #ffffff;
}

.b2b-kit-products-summary-box .kit-item-details {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.b2b-kit-products-summary-box .kit-item-name {
	font-size: 0.813rem;
	font-weight: 600;
	color: var(--color-text-primary);
	line-height: 1.3;
	min-height: 2.6em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.b2b-kit-products-summary-box .kit-item-sku {
	font-size: 0.688rem;
	color: var(--color-text-muted);
}

.b2b-kit-products-summary-box .kit-item-qty {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-text-secondary);
	background: var(--color-border);
	padding: 4px 10px;
	border-radius: 8px;
	white-space: nowrap;
}

.b2b-kit-products-summary-box .kit-box-footer {
	text-align: center;
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid var(--color-border);
}

.b2b-kit-products-summary-box .scroll-to-desc-tab {
	font-size: 0.813rem;
	font-weight: 600;
	color: var(--color-primary);
	transition: var(--transition-smooth);
	text-decoration: underline;
}

.b2b-kit-products-summary-box .scroll-to-desc-tab:hover {
	color: var(--color-primary-hover);
}

/* ==========================================
   24. STICKY BOTTOM PURCHASE BAR (DESKTOP ONLY)
   ========================================== */
.b2b-sticky-purchase-bar-wrapper {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background-color: #0f2c59; /* Sophisticated B2B Navy Blue */
	color: #ffffff;
	z-index: 9999;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
	transform: translateY(100%);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	border-top: 2px solid var(--color-success); /* Green divider top */
}

.b2b-sticky-purchase-bar-wrapper.active {
	transform: translateY(0);
}

.b2b-sticky-purchase-bar-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.b2b-sticky-bar-left {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 35%;
}

.b2b-sticky-bar-left .sticky-bar-thumb {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 2px;
	background: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.b2b-sticky-bar-left .sticky-bar-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.b2b-sticky-bar-left .sticky-bar-title {
	font-size: 0.875rem;
	font-weight: 700;
	color: #ffffff;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 250px;
}

.b2b-sticky-bar-left .sticky-bar-sku {
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.6);
}

.b2b-sticky-bar-middle {
	flex: 1;
	text-align: center;
}

.b2b-sticky-bar-middle .b2b-gated-msg {
	font-size: 0.875rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
	line-height: 1.4;
}

.b2b-sticky-bar-right {
	display: flex;
	align-items: center;
	gap: 16px;
}

.b2b-sticky-bar-right .sticky-cta-link {
	font-size: 0.813rem;
	color: #ffffff;
	text-decoration: underline;
	font-weight: 500;
	transition: var(--transition-smooth);
}

.b2b-sticky-bar-right .sticky-cta-link:hover {
	color: rgba(255, 255, 255, 0.8);
}

.b2b-sticky-bar-right .sticky-cta-btn {
	background-color: var(--color-success); /* Green button */
	color: #ffffff;
	padding: 10px 20px;
	border-radius: 8px;
	font-size: 0.875rem;
	font-weight: 700;
	transition: var(--transition-smooth);
}

.b2b-sticky-bar-right .sticky-cta-btn:hover {
	background-color: #0fa370;
	transform: translateY(-1px);
}

.b2b-sticky-bar-right-logged {
	display: flex;
	align-items: center;
	gap: 20px;
}

.b2b-sticky-bar-right-logged .sticky-bar-price-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.b2b-sticky-bar-right-logged .price {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #ffffff !important;
}

.b2b-sticky-bar-right-logged .price del {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.5);
	margin-right: 6px;
}

.b2b-sticky-bar-right-logged .price ins {
	background: transparent;
	color: #ffffff;
	text-decoration: none;
}

.b2b-sticky-bar-right-logged .sticky-bar-cart-form {
	display: flex;
	align-items: center;
	gap: 12px;
}

.b2b-sticky-bar-right-logged .sticky-bar-cart-form .quantity {
	display: flex;
	align-items: center;
}

.b2b-sticky-bar-right-logged .sticky-bar-cart-form .quantity input {
	width: 60px;
	height: 38px;
	text-align: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
	border-radius: 2px;
	font-weight: 600;
}

.b2b-sticky-bar-right-logged .sticky-buy-btn {
	background-color: var(--color-accent) !important; /* Premium Pink/Accent */
	color: #ffffff !important;
	border: none;
	padding: 10px 24px;
	height: 38px;
	border-radius: 8px;
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
	transition: var(--transition-smooth);
	white-space: nowrap;
}

.b2b-sticky-bar-right-logged .sticky-buy-btn:hover {
	background-color: #be185d !important;
	transform: translateY(-1px);
}

/* Hide on mobile browsers (less than 768px wide) */
@media (max-width: 768px) {
	.b2b-sticky-purchase-bar-wrapper {
		display: none !important;
	}
}

/* Align Sticky Purchase Bar controls and reset single product form styles */
.b2b-sticky-purchase-bar-wrapper {
	background-color: #0f2c59 !important;
	height: 80px !important;
	display: block !important;
}

.b2b-sticky-purchase-bar-container {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	height: 100% !important;
}

.b2b-sticky-bar-right-logged {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 100% !important;
}

.b2b-sticky-bar-right-logged .sticky-bar-price-wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	justify-content: center !important;
	margin: 0 !important;
}

.b2b-sticky-bar-right-logged .price {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	font-size: 1.25rem !important;
	color: #ffffff !important;
}

.b2b-sticky-purchase-bar-wrapper form.cart.sticky-bar-cart-form {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	width: auto !important;
	float: none !important;
}

.b2b-sticky-purchase-bar-wrapper form.cart.sticky-bar-cart-form .quantity,
.b2b-sticky-purchase-bar-wrapper form.cart.sticky-bar-cart-form .lm-qty-enhanced {
	width: 100px !important;
	max-width: 100px !important;
	min-width: 100px !important;
	height: 38px !important;
	display: flex !important;
	margin: 0 !important;
	padding: 0 !important;
	background: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 4px !important;
	overflow: hidden !important;
}

.b2b-sticky-purchase-bar-wrapper form.cart.sticky-bar-cart-form .lm-qty-enhanced .qty-btn {
	width: 30px !important;
	height: 100% !important;
	flex: 0 0 30px !important;
	background: transparent !important;
	border: none !important;
	color: #ffffff !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
}

.b2b-sticky-purchase-bar-wrapper form.cart.sticky-bar-cart-form .lm-qty-enhanced .qty-btn:hover {
	background: rgba(255, 255, 255, 0.15) !important;
}

.b2b-sticky-purchase-bar-wrapper form.cart.sticky-bar-cart-form .lm-qty-enhanced input.qty {
	width: 40px !important;
	height: 100% !important;
	flex: 1 !important;
	border: none !important;
	background: transparent !important;
	color: #ffffff !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-align: center !important;
	padding: 0 !important;
	margin: 0 !important;
}

.b2b-sticky-purchase-bar-wrapper form.cart.sticky-bar-cart-form .sticky-buy-btn {
	width: auto !important;
	height: 38px !important;
	padding: 0 24px !important;
	border-radius: 6px !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	margin: 0 !important;
	background-color: var(--color-accent) !important;
	color: #ffffff !important;
	box-shadow: none !important;
	border: none !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: var(--transition-smooth) !important;
}

.b2b-sticky-purchase-bar-wrapper form.cart.sticky-bar-cart-form .sticky-buy-btn:hover {
	background-color: var(--color-accent) !important;
	opacity: 0.9 !important;
	transform: translateY(-1px) !important;
}

/* ==========================================
   25. B2B WHOLESALE ARCHIVE LAYOUT & FILTERS
   ========================================== */
.b2b-archive-layout-container {
	display: flex;
	gap: 30px;
	margin: 40px auto;
	max-width: 1400px;
	padding: 0 24px;
	align-items: flex-start;
}

/* Sidebar de Filtros */
.b2b-archive-filters-sidebar {
	flex: 0 0 260px;
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	padding: 24px;
	box-shadow: var(--shadow-sm);
	position: sticky;
	top: 100px; /* sticky relative to sticky header */
}

/* Hide sidebar when it has no filter groups (empty) */
.b2b-archive-filters-sidebar:not(:has(.filter-group)) {
	display: none;
}

/* Expand main content when sidebar is hidden */
.b2b-archive-layout-container:has(.b2b-archive-filters-sidebar:not(:has(.filter-group))) .b2b-archive-main-content {
	flex: 1;
	max-width: 100%;
}

/* Fallback for browsers without :has() — add via JS */
.b2b-archive-filters-sidebar.no-filters {
	display: none !important;
}

.close-filters-drawer-btn {
	display: none; /* Desktop hidden */
}

.filters-sidebar-title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-text-primary);
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-bottom: 1px solid var(--color-border);
	padding-bottom: 12px;
}

.filters-sidebar-title .material-symbols-outlined {
	color: var(--color-primary);
}

.filter-group {
	margin-bottom: 20px;
	border-bottom: 1px solid var(--color-border);
	padding-bottom: 16px;
}

.filter-group:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.filter-group-title {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--color-text-primary);
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	margin-bottom: 12px;
	user-select: none;
}

.filter-group-title .toggle-icon {
	font-size: 18px;
	transition: transform 0.2s ease;
}

.filter-group.active .toggle-icon {
	transform: rotate(180deg);
}

.filter-terms-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.filter-terms-list li label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.813rem;
	color: var(--color-text-secondary);
	cursor: pointer;
	transition: var(--transition-smooth);
}

.filter-terms-list li label:hover {
	color: var(--color-primary);
}

.filter-terms-list input[type="checkbox"] {
	width: 16px;
	height: 16px;
	border: 1px solid var(--color-border);
	border-radius: 2px;
	cursor: pointer;
	accent-color: var(--color-primary);
}

.filter-terms-list .term-count {
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

/* Main Catalog Area */
.b2b-archive-main-content {
	flex: 1;
	min-width: 0;
	max-width: 100%;
	overflow-x: hidden;
}

.products-catalog-wrapper {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

/* Control Bar */
.b2b-archive-control-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	padding: 12px 20px;
	margin-bottom: 24px;
	box-shadow: var(--shadow-sm);
	gap: 16px;
}

.b2b-layout-switcher {
	display: flex;
	gap: 8px;
}

.layout-switch-btn {
	background: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	color: var(--color-text-secondary);
	width: 38px;
	height: 38px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: var(--transition-smooth);
}

.layout-switch-btn:hover,
.layout-switch-btn.active {
	background: var(--color-primary);
	color: #ffffff;
	border-color: var(--color-primary);
}

.b2b-results-count {
	font-size: 0.875rem;
	color: var(--color-text-secondary);
	flex: 1;
	min-width: 0;
}

.b2b-archive-control-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.b2b-archive-control-actions:not(:has(.b2b-subcategory-select)) {
	justify-content: flex-end;
}

.b2b-subcategory-select {
	flex: 1 1 auto;
	min-width: 0;
}

.b2b-subcategory-select select {
	padding: 8px 12px;
	border: 1px solid var(--color-border);
	border-radius: 3px;
	font-size: 0.875rem;
	color: var(--color-text-secondary);
	background-color: var(--color-bg-secondary);
	cursor: pointer;
	width: 100%;
	height: 38px;
}

.b2b-ordering-dropdown {
	position: relative;
	flex: 0 0 auto;
}

.b2b-ordering-toggle {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border);
	border-radius: 3px;
	background: var(--color-bg-secondary);
	color: var(--color-text-secondary);
	cursor: pointer;
	padding: 0;
	transition: var(--transition-smooth);
}

.b2b-ordering-toggle .material-symbols-outlined {
	font-size: 20px;
}

.b2b-ordering-toggle:hover,
.b2b-ordering-dropdown.is-open .b2b-ordering-toggle {
	background: var(--color-primary);
	color: #ffffff;
	border-color: var(--color-primary);
}

.b2b-ordering-menu {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	min-width: 220px;
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	box-shadow: var(--shadow-md);
	z-index: 60;
	padding: 6px;
}

.b2b-ordering-dropdown form.woocommerce-ordering {
	display: none;
}

.b2b-ordering-options {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.b2b-ordering-option {
	width: 100%;
	text-align: left;
	padding: 9px 12px;
	border: none;
	background: transparent;
	border-radius: 4px;
	font-size: 0.875rem;
	color: var(--color-text-secondary);
	cursor: pointer;
	transition: var(--transition-smooth);
}

.b2b-ordering-option:hover,
.b2b-ordering-option.is-active {
	background: var(--color-bg-secondary);
	color: var(--color-primary);
	font-weight: 600;
}

.b2b-archive-control-bar .woocommerce-ordering {
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Products Catalog Wrap */
.products-catalog-wrapper ul.products {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Grid Layout Styling (WooCommerce default override) */
.products-catalog-wrapper.products-layout-grid ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
	width: 100%;
}

/* Neutralize WooCommerce float/column widths inside archive wrapper */
.products-catalog-wrapper ul.products::before,
.products-catalog-wrapper ul.products::after {
	display: none !important;
	content: none !important;
}

.products-catalog-wrapper ul.products li.product,
.products-catalog-wrapper ul.products li.product-card-item-loop {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
}

/* Remove pseudo-elements from CSS Grid to prevent empty blocks */
.products-catalog-wrapper.products-layout-grid ul.products::before,
.products-catalog-wrapper.products-layout-grid ul.products::after,
.loja-master-grid-layout::before,
.loja-master-grid-layout::after {
	display: none !important;
}

.products-catalog-wrapper.products-layout-grid ul.products li.product-card-item-loop {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* List Layout Styling (Wholesale View) */
.products-catalog-wrapper.products-layout-list ul.products {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.products-catalog-wrapper.products-layout-list ul.products li.product-card-item-loop {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.products-layout-list .product-card-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px;
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	gap: 20px;
	box-shadow: var(--shadow-sm);
	transition: var(--transition-smooth);
}

.products-layout-list .product-card-inner:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
	border-color: var(--color-border-focus);
}

/* Image in List View */
.products-layout-list .product-card-image-link {
	width: 72px;
	height: 72px;
	flex-shrink: 0;
	padding-top: 0;
	border-radius: 3px;
	border: 1px solid var(--color-border);
	background-color: #ffffff;
	position: relative;
	overflow: hidden;
}

.products-layout-list .product-card-image {
	position: static;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 4px;
}

/* Badges/Actions position in List View */
.products-layout-list .product-card-badge-actions {
	position: static;
	opacity: 1;
	transform: none;
	flex-direction: row;
	gap: 8px;
	order: 4;
	flex-shrink: 0;
}

.products-layout-list .badge-action-btn {
	background: var(--color-bg-secondary);
	border-color: var(--color-border);
}

/* Details in List View */
.products-layout-list .product-card-details {
	flex: 1;
	padding: 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 0;
}

.products-layout-list .product-card-sku {
	order: 2;
	margin-bottom: 0;
	font-size: 0.813rem;
	width: 120px;
}

.products-layout-list .product-card-title {
	order: 1;
	margin-bottom: 0;
	min-height: auto;
	font-size: 0.938rem;
	flex: 1;
	-webkit-line-clamp: 1;
}

.products-layout-list .product-card-stock {
	order: 3;
	margin: 0;
	width: 140px;
}

.products-layout-list .product-card-gated-info {
	order: 5;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	margin-top: 0;
}

.products-layout-list .product-card-price-action-wrap {
	order: 5;
	display: flex;
	align-items: center;
	gap: 24px;
	width: 320px;
	justify-content: flex-end;
}

.products-layout-list .product-card-price {
	margin: 0;
	font-size: 1.063rem;
	font-weight: 700;
	white-space: nowrap;
}

.products-layout-list .product-card-cart-form {
	display: flex;
	align-items: center;
	gap: 10px;
}

.products-layout-list .product-card-cart-form .quantity {
	display: block;
}

.products-layout-list .product-card-cart-form .quantity input {
	width: 55px;
	height: 38px;
	border: 1px solid var(--color-border);
	background: var(--color-bg-secondary);
	border-radius: 2px;
	text-align: center;
	font-weight: 600;
}

.products-layout-list .add-to-cart-quick-btn {
	height: 38px;
	background-color: var(--color-primary);
	color: #ffffff;
	border: none;
	border-radius: 3px;
	padding: 0 16px;
	font-weight: 600;
	font-size: 0.813rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: var(--transition-smooth);
}

.products-layout-list .add-to-cart-quick-btn:hover {
	background-color: var(--color-primary-hover);
}

.products-layout-list .add-to-cart-quick-btn .material-symbols-outlined {
	font-size: 16px;
}

/* Stock Badges */
.stock-badge {
	font-size: 0.75rem;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.stock-badge.in-stock {
	background-color: rgba(16, 185, 129, 0.1);
	color: var(--color-success);
}

.stock-badge.in-stock .material-symbols-outlined {
	font-size: 14px;
}

.stock-badge.out-stock {
	background-color: rgba(239, 68, 68, 0.1);
	color: var(--color-error);
}

.stock-badge.out-stock .material-symbols-outlined {
	font-size: 14px;
}

/* Mobile Filters Trigger wrapper */
.b2b-mobile-filters-trigger-wrap {
	display: none;
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 998;
	width: auto;
}

.b2b-mobile-filters-trigger-btn {
	background-color: var(--color-primary);
	color: #ffffff;
	border: none;
	padding: 12px 24px;
	border-radius: 12px;
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 10px 20px rgba(37, 99, 235, 0.3);
	display: flex;
	align-items: center;
	gap: 8px;
	transition: var(--transition-smooth);
}

.b2b-mobile-filters-trigger-btn:hover {
	background-color: var(--color-primary-hover);
	transform: scale(1.05);
}

.b2b-mobile-filters-trigger-btn .material-symbols-outlined {
	font-size: 18px;
}

.b2b-filters-drawer-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(15, 23, 42, 0.4);
	backdrop-filter: blur(4px);
	z-index: 10000;
}

.b2b-filters-drawer-overlay.active {
	display: block;
}

/* ==========================================
   26. MOBILE RESPONSIVENESS ARCHIVE
   ========================================== */
@media (max-width: 1024px) {
	.products-layout-list .product-card-details {
		flex-wrap: wrap;
		gap: 12px;
	}

	.products-layout-list .product-card-sku {
		width: auto;
	}

	.products-layout-list .product-card-stock {
		width: auto;
	}

	.products-layout-list .product-card-price-action-wrap {
		width: 100%;
		justify-content: space-between;
		margin-top: 10px;
		border-top: 1px dashed var(--color-border);
		padding-top: 10px;
	}
}

/* ==========================================
   26. MOBILE RESPONSIVENESS ARCHIVE
   ========================================== */
@media (max-width: 1024px) {
	.b2b-archive-layout-container {
		padding: 0 12px;
		margin: 24px auto;
	}

	/* 2-column grid on tablet and mobile */
	.products-catalog-wrapper.products-layout-grid ul.products,
	.products-catalog-wrapper.products-layout-list ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px;
		width: 100% !important;
	}

	.b2b-archive-control-bar {
		flex-wrap: wrap;
		align-items: stretch;
		padding: 10px 12px;
		gap: 10px;
	}

	.b2b-results-count {
		flex: 1 1 100%;
		order: 1;
		font-size: 0.8125rem;
		line-height: 1.35;
	}

	.b2b-archive-control-actions {
		flex: 1 1 100%;
		order: 2;
		display: flex;
		align-items: center;
		gap: 8px;
		width: 100%;
	}

	.b2b-subcategory-select {
		flex: 1 1 auto;
		min-width: 0;
	}

	.b2b-subcategory-select select {
		height: 36px;
		font-size: 0.8125rem;
		padding: 6px 10px;
	}

	.b2b-ordering-toggle {
		width: 36px;
		height: 36px;
		flex-shrink: 0;
	}

	.b2b-ordering-menu {
		min-width: 200px;
	}

	/* Compact archive product cards */
	.products-catalog-wrapper .product-card .product-card-inner {
		border-radius: 5px;
	}

	.products-catalog-wrapper .product-card .product-card-inner:hover {
		transform: none;
		box-shadow: var(--shadow-sm);
	}

	.products-catalog-wrapper .product-card .product-card-image-link {
		aspect-ratio: 1 / 1;
	}

	.products-catalog-wrapper .product-card .product-card-image {
		top: 4px !important;
		left: 4px !important;
		width: calc(100% - 8px) !important;
		height: calc(100% - 8px) !important;
	}

	.products-catalog-wrapper .product-card .product-card-details {
		padding: 8px 8px 10px;
		gap: 4px;
	}

	.products-catalog-wrapper .product-card .product-card-sku {
		font-size: 0.5625rem;
		min-height: 0.875rem;
	}

	.products-catalog-wrapper .product-card .product-card-title {
		font-size: 0.6875rem !important;
		min-height: 2.6em;
		-webkit-line-clamp: 2;
		line-height: 1.3;
	}

	.products-catalog-wrapper .product-card .product-card-stock {
		margin-top: 0;
	}

	.products-catalog-wrapper .product-card .stock-badge {
		font-size: 0.5625rem;
		padding: 2px 6px;
		gap: 2px;
	}

	.products-catalog-wrapper .product-card .stock-badge .material-symbols-outlined {
		font-size: 12px;
	}

	.products-catalog-wrapper .product-card .product-card-price {
		font-size: 0.8125rem;
		min-height: 1.125rem;
	}

	.products-catalog-wrapper .product-card .product-card-price-action-wrap {
		padding-top: 4px;
		gap: 6px;
	}

	.products-catalog-wrapper .product-card .product-card-buttons-row {
		gap: 6px !important;
		align-items: stretch !important;
	}

	.products-catalog-wrapper .product-card .add-to-cart-quick-btn,
	.products-catalog-wrapper .product-card .view-product-btn.icon-only,
	.products-catalog-wrapper .product-card .product-card-added-label {
		height: 32px !important;
		min-height: 32px !important;
		max-height: 32px !important;
		box-sizing: border-box !important;
		line-height: 1 !important;
		margin: 0 !important;
	}

	.products-catalog-wrapper .product-card .add-to-cart-quick-btn {
		padding: 0 8px !important;
		font-size: 0.6875rem !important;
		gap: 4px !important;
		flex: 1 1 auto !important;
		width: auto !important;
	}

	.products-catalog-wrapper .product-card .add-to-cart-quick-btn .btn-text {
		display: inline !important;
	}

	.products-catalog-wrapper .product-card .add-to-cart-quick-btn .material-symbols-outlined {
		font-size: 15px !important;
	}

	.products-catalog-wrapper .product-card .product-card-added-label {
		padding: 0 8px !important;
		font-size: 0.6875rem !important;
		gap: 4px !important;
	}

	.products-catalog-wrapper .product-card .product-card-added-label .material-symbols-outlined {
		font-size: 15px !important;
	}

	.products-catalog-wrapper .product-card .view-product-btn.icon-only {
		width: 32px !important;
		min-width: 32px !important;
		max-width: 32px !important;
		flex: 0 0 32px !important;
		padding: 0 !important;
		border-width: 1px !important;
	}

	.products-catalog-wrapper .product-card .product-card-badge-actions {
		opacity: 1;
		transform: none;
		top: 6px;
		right: 6px;
	}

	.products-catalog-wrapper .product-card .badge-action-btn {
		width: 28px;
		height: 28px;
	}

	.products-catalog-wrapper .product-card .badge-action-btn .material-symbols-outlined {
		font-size: 15px;
	}

	/* List layout falls back to compact cards on tablet/mobile */
	.products-catalog-wrapper.products-layout-list .product-card-inner {
		flex-direction: column;
		align-items: stretch;
		padding: 0;
		gap: 0;
	}

	.products-catalog-wrapper.products-layout-list .product-card-image-link {
		width: 100%;
		height: auto;
		padding-top: 0;
		border: none;
		border-radius: 0;
	}

	.products-catalog-wrapper.products-layout-list .product-card-image {
		position: absolute;
	}

	.products-catalog-wrapper.products-layout-list .product-card-details {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
		margin-top: 0;
		padding: 8px 8px 10px;
	}

	.products-catalog-wrapper.products-layout-list .product-card-title {
		-webkit-line-clamp: 2;
	}

	.products-catalog-wrapper.products-layout-list .product-card-price-action-wrap {
		border-top: none;
		padding-top: 0;
		margin-top: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
		width: 100%;
	}

	.products-catalog-wrapper.products-layout-list .product-card-badge-actions {
		position: absolute;
		top: 6px;
		right: 6px;
		flex-direction: column;
	}

	/* Equal-height action buttons (override global WooCommerce button rules) */
	.products-catalog-wrapper .product-card .product-card-buttons-row .add-to-cart-quick-btn,
	.products-catalog-wrapper .product-card .product-card-buttons-row .view-product-btn.icon-only,
	.products-catalog-wrapper .product-card .product-card-buttons-row .product-card-added-label {
		height: 38px !important;
		min-height: 38px !important;
		max-height: 32px !important;
		box-sizing: border-box !important;
		margin: 0 !important;
	}

	.products-catalog-wrapper .product-card .product-card-buttons-row .view-product-btn.icon-only {
		width: 32px !important;
		min-width: 32px !important;
		max-width: 32px !important;
		padding: 0 !important;
		border: 1px solid #0f172a !important;
	}
}

@media (max-width: 768px) {
	body.woocommerce-shop .site-content,
	body.tax-product_cat .site-content,
	body.tax-product_tag .site-content {
		padding-left: 0;
		padding-right: 0;
	}

	.b2b-archive-layout-container {
		flex-direction: column;
		padding: 0 10px;
	}

	/* Mobile Sidebar as full Drawer overlay */
	.b2b-archive-filters-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		width: min(300px, 88vw);
		height: 100vh;
		z-index: 10001;
		transform: translateX(-100%);
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		overflow-y: auto;
		border-radius: 0;
		border: none;
		box-shadow: var(--shadow-lg);
	}

	.b2b-archive-filters-sidebar.active {
		transform: translateX(0);
	}

	.close-filters-drawer-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 16px;
		right: 16px;
		background: var(--color-bg-secondary);
		border: none;
		width: 32px;
		height: 32px;
		border-radius: 50%;
		cursor: pointer;
		color: var(--color-text-secondary);
	}

	.close-filters-drawer-btn:hover {
		background: var(--color-border);
		color: var(--color-text-primary);
	}

	.b2b-mobile-filters-trigger-wrap {
		display: block;
		bottom: 16px;
	}

	.b2b-layout-switcher {
		display: none;
	}

	.b2b-archive-control-bar {
		padding: 8px 10px;
	}

	.b2b-mobile-filters-trigger-btn {
		padding: 10px 18px;
		font-size: 0.8125rem;
	}
}

@media (max-width: 380px) {
	.products-catalog-wrapper.products-layout-grid ul.products,
	.products-catalog-wrapper.products-layout-list ul.products {
		gap: 8px;
	}
}


/* ==========================================
   27. GLOBAL CONTAINER SYSTEM
   ========================================== */
.site-content {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
	width: 100%;
}

.main-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
	width: 100%;
}

/* WooCommerce default wrappers also need containment */
.woocommerce .woocommerce-notices-wrapper,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-products-header {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* ==========================================
   WOOCOMMERCE NOTICES (ALERTS)
   ========================================== */
.woocommerce-notices-wrapper {
	width: 100%;
	margin: 16px auto 20px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper ul.woocommerce-message,
.woocommerce-notices-wrapper ul.woocommerce-info,
.woocommerce-notices-wrapper ul.woocommerce-error {
	list-style: none;
	margin: 0 0 12px;
	padding: 14px 18px 14px 46px;
	border-radius: 10px;
	border: 1px solid transparent;
	font-size: 0.938rem;
	font-weight: 500;
	line-height: 1.5;
	position: relative;
	box-shadow: var(--shadow-sm);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-family: 'Material Symbols Outlined';
	font-size: 20px;
	line-height: 1;
	font-weight: normal;
}

.woocommerce-message,
.woocommerce-notices-wrapper ul.woocommerce-message {
	background: rgba(34, 197, 94, 0.08);
	border-color: rgba(34, 197, 94, 0.22);
	color: #166534;
}

.woocommerce-message::before {
	content: 'check_circle';
	color: #16a34a;
}

.woocommerce-info,
.woocommerce-notices-wrapper ul.woocommerce-info {
	background: rgba(59, 130, 246, 0.08);
	border-color: rgba(59, 130, 246, 0.2);
	color: #1e40af;
}

.woocommerce-info::before {
	content: 'info';
	color: #2563eb;
}

.woocommerce-error,
.woocommerce-notices-wrapper ul.woocommerce-error {
	background: rgba(239, 68, 68, 0.08);
	border-color: rgba(239, 68, 68, 0.2);
	color: #991b1b;
}

.woocommerce-error::before {
	content: 'error';
	color: #dc2626;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
}

.woocommerce-message .button,
.woocommerce-info .button {
	float: right;
	margin-left: 12px;
	background: transparent !important;
	border: 1px solid currentColor !important;
	color: inherit !important;
	border-radius: 8px !important;
	padding: 6px 12px !important;
	font-size: 0.8125rem !important;
	line-height: 1.2 !important;
}

@media (max-width: 768px) {
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error {
		padding: 12px 14px 12px 42px;
	}

	.woocommerce-message .button,
	.woocommerce-info .button {
		float: none;
		display: inline-block;
		margin: 10px 0 0;
	}
}

/* Single Product Page container */
.single-product .site-content {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}

.single-product .woocommerce-breadcrumb,
.single-product .product {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 768px) {
	.site-content,
	.main-container {
		padding: 0 16px;
	}
}

/* ==========================================
   28. HOMEPAGE SECTIONS & LAYOUT
   ========================================== */
.home-page {
	background-color: var(--color-bg-secondary);
}

.home-content-wrapper {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* Each homepage section */
.home-section {
	padding: 48px 0;
	width: 100%;
}

.home-section--hero {
	padding: 0;
}

.home-section--full-width .home-section-container {
	max-width: none;
	padding: 0;
}

.home-section--alt-bg {
	background-color: var(--color-bg-primary);
}

.home-section-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Section Header (Title + CTA) */
.home-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
}

.home-section-titles {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.home-section-title {
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--color-text-primary);
	margin: 0;
	position: relative;
	padding-left: 16px;
	letter-spacing: -0.02em;
}

.home-section-title::before {
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 4px;
	background: var(--color-accent);
	border-radius: 2px;
}

.home-section-subtitle {
	font-size: 0.875rem;
	color: var(--color-text-secondary);
	margin: 0;
	padding-left: 16px;
}

.home-section-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-accent);
	white-space: nowrap;
	padding: 8px 16px;
	border-radius: 3px;
	background-color: rgba(219, 39, 119, 0.06);
	transition: var(--transition-smooth);
}

.home-section-cta:hover {
	background-color: rgba(219, 39, 119, 0.14);
	color: #0f172a;
	transform: translateX(2px);
}

.home-section-cta .material-symbols-outlined {
	font-size: 18px;
	transition: transform 0.2s ease;
}

.home-section-cta:hover .material-symbols-outlined {
	transform: translateX(3px);
}

/* Brands section override — remove extra margin from shortcode */
.home-section--brands .loja-master-brand-cards-grid {
	margin: 0;
}

/* Info ruler override — remove margin from shortcode wrapper */
.home-section--info-ruler {
	padding: 20px 0;
}

.home-section--info-ruler .loja-master-info-ruler-wrapper {
	margin: 0;
	padding: 0;
	max-width: none;
}

.home-section--info-ruler .loja-master-info-ruler-container {
	gap: 10px;
}

.home-section--info-ruler .info-ruler-card {
	padding: 8px 10px;
	gap: 8px;
}

/* Products container override inside home sections */
.home-section .loja-master-products-container {
	margin: 0;
}

@media (max-width: 768px) {
	.home-section {
		padding: 32px 0;
	}

	.home-section-container {
		padding: 0 16px;
	}

	.home-section-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		margin-bottom: 20px;
	}

	.home-section-title {
		font-size: 1.25rem;
	}

	.home-section-cta {
		align-self: flex-end;
	}
}

/* ==========================================
   28B. SHORTCODE PRODUCT CONTAINERS & CAROUSEL
   ========================================== */
/* Container for all shortcode product outputs */
.loja-master-products-container {
	width: 100%;
	position: relative;
}

/* === GRID LAYOUT === */
.loja-master-grid-layout {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

@media (max-width: 1024px) {
	.loja-master-grid-layout {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.loja-master-grid-layout {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
}

@media (max-width: 480px) {
	.loja-master-grid-layout {
		grid-template-columns: 1fr;
	}
}

/* === CAROUSEL (SNAP SCROLL) LAYOUT === */
.loja-master-carousel-wrapper {
	position: relative;
}

.snap-scroll-carousel {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	align-items: stretch;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 8px;
	scrollbar-width: none; /* Firefox */
}

.snap-scroll-carousel > .product-card {
	flex: 0 0 calc(25% - 15px);
	scroll-snap-align: start;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.snap-scroll-carousel::-webkit-scrollbar {
	display: none; /* Chrome/Safari */
}

@media (max-width: 1024px) {
	.snap-scroll-carousel > .product-card {
		flex: 0 0 calc(33.333% - 14px);
	}
}

@media (max-width: 768px) {
	.snap-scroll-carousel > .product-card {
		flex: 0 0 calc(50% - 10px);
	}

	.snap-scroll-carousel {
		gap: 14px;
	}
}

@media (max-width: 480px) {
	.snap-scroll-carousel > .product-card {
		flex: 0 0 80%;
	}
}

/* Carousel Navigation Arrows */
.loja-master-products-container .carousel-nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-md);
	color: var(--color-text-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: var(--transition-smooth);
	padding: 0;
}

.loja-master-products-container .carousel-nav-btn:hover {
	background: var(--color-primary);
	color: #ffffff;
	border-color: var(--color-primary);
	transform: translateY(-50%) scale(1.05);
}

.loja-master-products-container .carousel-nav-btn.carousel-prev {
	left: -16px;
}

.loja-master-products-container .carousel-nav-btn.carousel-next {
	right: -16px;
}

.loja-master-products-container .carousel-nav-btn .material-symbols-outlined {
	font-size: 22px;
}

@media (max-width: 768px) {
	.loja-master-products-container .carousel-nav-btn {
		display: none;
	}
}

/* === SHORTCODE PRODUCT CARD (shared by both grid & carousel) === */
.product-card {
	position: relative;
	height: 100%;
}

.product-card .product-card-inner {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	overflow: hidden;
	transition: var(--transition-smooth);
	display: flex;
	flex-direction: column;
	height: 100%;
	position: relative;
}

.product-card .product-card-inner:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-md);
	border-color: var(--color-border-focus);
}

/* Image container */
.product-card .product-card-image-link {
	display: block;
	position: relative;
	flex: 0 0 auto;
	width: 100%;
	aspect-ratio: 1 / 1;
	padding-top: 0;
	overflow: hidden;
	background: #ffffff;
}

.product-card .product-card-image {
	position: absolute !important;
	top: 6px !important;
	left: 6px !important;
	width: calc(100% - 12px) !important;
	height: calc(100% - 12px) !important;
	object-fit: contain !important;
	transition: transform 0.4s ease, opacity 0.4s ease;
}

.product-card .product-card-image.hover-image {
	opacity: 0;
	z-index: 2;
}

.product-card .product-card-image.primary-image {
	opacity: 1;
	z-index: 1;
}

/* Image Hover Effects */
.product-card .product-card-inner:hover .product-card-image-link.has-hover-image .primary-image {
	opacity: 0;
}

.product-card .product-card-inner:hover .product-card-image-link.has-hover-image .hover-image {
	opacity: 1;
	transform: scale(1.03);
}

.product-card .product-card-inner:hover .product-card-image-link:not(.has-hover-image) .primary-image {
	transform: scale(1.03);
}

/* Badge actions (appear on hover) */
.product-card .product-card-badge-actions {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	z-index: 5;
	opacity: 0;
	transform: translateX(8px);
	transition: all 0.3s ease;
}

.product-card .product-card-inner:hover .product-card-badge-actions {
	opacity: 1;
	transform: translateX(0);
}

.product-card .badge-action-btn {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--color-accent);
	transition: var(--transition-smooth);
	padding: 0;
	box-shadow: var(--shadow-sm);
}

.product-card .badge-action-btn:hover {
	background: #0f172a;
	color: #ffffff;
	border-color: #0f172a;
	transform: scale(1.1);
}

.product-card .badge-action-btn .material-symbols-outlined {
	font-size: 18px;
}

/* Details section */
.product-card .product-card-details {
	padding: 10px 12px 12px 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 auto;
	min-height: 0;
}

.product-card .product-card-sku {
	display: block;
	min-height: 1.125rem;
	font-size: 0.688rem;
	color: var(--color-text-muted);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.product-card .product-card-sku:empty::before {
	content: '\00a0';
	visibility: hidden;
}

.product-card .product-card-title {
	font-size: 0.8em !important;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
	min-height: 4.05em; /* 1.35 * 3 lines */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.product-card .product-card-title a {
	color: var(--color-text-primary);
	transition: var(--transition-smooth);
}

.product-card .product-card-title a:hover {
	color: var(--color-primary);
}

/* Price */
.product-card .product-card-price {
	min-height: 1.5rem;
	font-size: 0.938rem;
	font-weight: 700;
	color: var(--color-text-primary);
	margin-top: 0;
}

.product-card .product-card-price:empty::before {
	content: '\00a0';
	visibility: hidden;
}

.product-card .product-card-price del {
	font-size: 0.813rem;
	color: var(--color-text-muted);
	font-weight: 400;
}

.product-card .product-card-price ins {
	text-decoration: none;
	background: transparent;
}

/* Cart actions — push to bottom of card */
.product-card .product-card-price-action-wrap {
	margin-top: auto;
	padding-top: 8px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.product-card .product-card-price-action-wrap .product-card-actions {
	margin-top: 0;
	padding-top: 0;
}

/* Stock badges */
.product-card .product-card-stock {
	font-size: 0.688rem;
	margin-top: 2px;
}

.product-card .stock-badge {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-weight: 500;
	line-height: 1;
}

.product-card .stock-badge .material-symbols-outlined {
	font-size: 14px;
}

.product-card .stock-badge.in-stock {
	color: #16a34a;
}

.product-card .stock-badge.out-stock {
	color: #dc2626;
}

/* Side-by-side buttons row */
.product-card .product-card-buttons-row {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
}

/* Inline add-to-cart form */
.product-card .product-card-buttons-row .product-card-cart-form {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 1 !important;
	width: auto !important;
}

/* Add to cart button */
.product-card .add-to-cart-quick-btn {
	width: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	height: 38px !important;
	padding: 0 16px !important;
	background: var(--color-accent) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 3px !important;
	font-weight: 600 !important;
	font-size: 0.813rem !important;
	cursor: pointer !important;
	transition: var(--transition-smooth) !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	line-height: 1 !important;
}

.product-card .add-to-cart-quick-btn:hover {
	background: #0f172a !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.2) !important;
}

.product-card .add-to-cart-quick-btn .material-symbols-outlined {
	font-size: 16px !important;
}

.product-card .add-to-cart-quick-btn .btn-text {
	font-size: 0.813rem !important;
}

.product-card-added-label {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	height: 38px !important;
	min-height: 38px !important;
	max-height: 38px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	box-sizing: border-box !important;
	background: rgba(22, 163, 74, 0.08) !important;
	color: #166534 !important;
	border: 1px solid rgba(22, 163, 74, 0.25) !important;
	border-radius: 3px !important;
	font-weight: 700 !important;
	font-size: 0.813rem !important;
	line-height: 1 !important;
	cursor: default !important;
	user-select: none !important;
}

.product-card-added-label .material-symbols-outlined {
	font-size: 18px !important;
	color: #16a34a !important;
}

.product-card-added-label .btn-text {
	font-size: 0.813rem !important;
}

/* View item button */
.product-card .view-product-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	width: 100% !important;
	height: 38px !important;
	padding: 0 16px !important;
	background: var(--color-bg-secondary) !important;
	color: var(--color-text-secondary) !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 3px !important;
	font-weight: 600 !important;
	font-size: 0.813rem !important;
	cursor: pointer !important;
	transition: var(--transition-smooth) !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	line-height: 1 !important;
}

.product-card .view-product-btn:hover {
	background: var(--color-accent) !important;
	color: #ffffff !important;
	border-color: var(--color-accent) !important;
	box-shadow: 0 4px 12px rgba(219, 39, 119, 0.35) !important;
}

.product-card .view-product-btn .material-symbols-outlined {
	font-size: 16px !important;
}

.product-card .view-product-btn .btn-text {
	font-size: 0.813rem;
}

/* Icon-only variation for view button when placed side-by-side */
.woocommerce a.button.secondary.view-product-btn.icon-only,
.woocommerce .product-card .view-product-btn.icon-only,
.product-card .view-product-btn.icon-only {
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	max-width: 38px !important;
	min-height: 38px !important;
	max-height: 38px !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
	margin-top: 0 !important;
	box-sizing: border-box !important;
	background-color: #0f172a !important;
	color: #ffffff !important;
	border: 1px solid #0f172a !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.woocommerce a.button.secondary.view-product-btn.icon-only:hover,
.woocommerce .product-card .view-product-btn.icon-only:hover,
.product-card .view-product-btn.icon-only:hover {
	background-color: var(--color-accent) !important;
	border-color: var(--color-accent) !important;
	box-shadow: 0 4px 12px rgba(219, 39, 119, 0.35) !important;
}

.woocommerce a.button.secondary.view-product-btn.icon-only .btn-text,
.woocommerce .product-card .view-product-btn.icon-only .btn-text,
.product-card .view-product-btn.icon-only .btn-text {
	display: none !important;
}

/* Legacy actions container */
.product-card .product-card-actions {
	margin-top: auto;
	padding-top: 8px;
}

.product-card .product-card-price-action-wrap .product-card-actions {
	margin-top: 0;
	padding-top: 0;
}

.product-card .product-card-actions a.button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 10px 16px;
	background: var(--color-accent);
	color: #ffffff;
	border: none;
	border-radius: 3px;
	font-weight: 600;
	font-size: 0.813rem;
	cursor: pointer;
	transition: var(--transition-smooth);
	text-decoration: none;
}

.product-card .product-card-actions a.button:hover {
	background: #0f172a;
	transform: translateY(-1px);
}

.product-card .product-card-actions a.button .material-symbols-outlined {
	font-size: 18px;
}

/* Gated info (Guest users) */
.product-card .product-card-gated-info {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: auto;
	padding-top: 6px;
}

.product-card .login-to-see-price {
	font-size: 0.75rem;
	color: var(--color-text-muted);
	font-weight: 500;
}

.product-card .login-cta-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 10px 16px;
	background: var(--color-accent);
	color: #ffffff;
	border: none;
	border-radius: 3px;
	font-weight: 600;
	font-size: 0.813rem;
	cursor: pointer;
	transition: var(--transition-smooth);
	text-decoration: none;
}

.product-card .login-cta-btn:hover {
	background: #0f172a;
	transform: translateY(-1px);
}

/* No products message */
.lm-no-products {
	text-align: center;
	color: var(--color-text-muted);
	font-size: 0.875rem;
	padding: 40px 20px;
}

/* ==========================================
   29. WOOCOMMERCE RELATED & UPSELLS OVERRIDES
   ========================================== */
/* Container for related products and upsells */
.woocommerce .related.products,
.woocommerce .upsells.products,
.woocommerce section.related,
.woocommerce section.up-sells {
	max-width: 1280px;
	margin: 50px auto;
	padding: 0 24px;
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce section.related > h2,
.woocommerce section.up-sells > h2 {
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--color-text-primary);
	margin-bottom: 28px;
	padding-left: 16px;
	position: relative;
	letter-spacing: -0.02em;
}

.woocommerce .related.products > h2::before,
.woocommerce .upsells.products > h2::before,
.woocommerce section.related > h2::before,
.woocommerce section.up-sells > h2::before {
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 4px;
	background: var(--color-accent);
	border-radius: 2px;
}

/* Override WooCommerce default grid for related/upsells
   Our content-product.php outputs .product-card-item-loop > .product-card-inner
   so we force proper grid on the <ul> and reset WooCommerce float/width defaults */
.woocommerce .related.products ul.products,
.woocommerce .upsells.products ul.products,
.woocommerce section.related ul.products,
.woocommerce section.up-sells ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px !important;
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Force our custom card items to behave correctly inside related/upsells grid */
.woocommerce .related.products ul.products li.product-card-item-loop,
.woocommerce .upsells.products ul.products li.product-card-item-loop,
.woocommerce .related.products ul.products li.product,
.woocommerce .upsells.products ul.products li.product {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

/* Ensure the card inner (from our content-product.php) looks correct in related context */
.woocommerce .related.products .product-card-inner,
.woocommerce .upsells.products .product-card-inner {
	border: 1px solid var(--color-border);
	border-radius: 6px;
	overflow: hidden;
	background: var(--color-bg-primary);
	box-shadow: var(--shadow-sm);
	transition: var(--transition-smooth);
	height: 100%;
	display: flex;
	flex-direction: column;
}

.woocommerce .related.products .product-card-inner:hover,
.woocommerce .upsells.products .product-card-inner:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-md);
	border-color: var(--color-border-focus);
}

/* Ensure badge actions appear on hover within related/upsells */
.woocommerce .related.products .product-card-badge-actions,
.woocommerce .upsells.products .product-card-badge-actions {
	z-index: 10;
}

/* Product details section fills remaining space */
.woocommerce .related.products .product-card-details,
.woocommerce .upsells.products .product-card-details {
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* Responsive related/upsells */
@media (max-width: 1024px) {
	.woocommerce .related.products ul.products,
	.woocommerce .upsells.products ul.products,
	.woocommerce section.related ul.products,
	.woocommerce section.up-sells ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 768px) {
	.woocommerce .related.products,
	.woocommerce .upsells.products,
	.woocommerce section.related,
	.woocommerce section.up-sells {
		padding: 0 16px;
		margin: 30px auto;
	}

	.woocommerce .related.products ul.products,
	.woocommerce .upsells.products ul.products,
	.woocommerce section.related ul.products,
	.woocommerce section.up-sells ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 16px !important;
	}
}

@media (max-width: 480px) {
	.woocommerce .related.products ul.products,
	.woocommerce .upsells.products ul.products {
		grid-template-columns: 1fr !important;
	}
}

/* ==========================================
   30. WOOCOMMERCE PAGE TITLE STYLING
   ========================================== */
.woocommerce-products-header {
	max-width: 1280px;
	margin: 30px auto 10px auto;
	padding: 0 24px;
}

.woocommerce-products-header__title.page-title {
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--color-text-primary);
	letter-spacing: -0.02em;
	padding-left: 16px;
	position: relative;
}

.woocommerce-products-header__title.page-title::before {
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 4px;
	background: var(--color-accent);
	border-radius: 2px;
}

@media (max-width: 768px) {
	.woocommerce-products-header {
		padding: 0 16px;
	}

	.woocommerce-products-header__title.page-title {
		font-size: 1.375rem;
	}
}

/* ==========================================
   31. B2B CART, MINI-CART & CHECKOUT REDESIGN
   ========================================== */
.b2b-hidden-field {
	display: none !important;
}

/* Sliding mini-cart list items */
.woocommerce-mini-cart-item {
	display: flex !important;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--color-border);
	position: relative;
}
.mini-cart-item-thumbnail {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
}
.mini-cart-item-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 3px;
	border: 1px solid var(--color-border);
	background-color: #ffffff;
}
.mini-cart-item-details {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mini-cart-item-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.mini-cart-item-title {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--color-text-primary) !important;
	margin: 0 !important;
	line-height: 1.25 !important;
}

.mini-cart-item-title a {
	color: inherit;
	text-decoration: none;
}

.mini-cart-item-title a:hover {
	color: var(--color-primary);
}

.mini-cart-item-details dl.variation {
	margin: 0;
}

.mini-cart-item-meta-row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 0;
	gap: 8px;
}

.mini-cart-item-price {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--color-text-primary);
	line-height: 1.2;
}
.mini-cart-qty-selector {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--color-border);
	border-radius: 2px;
	overflow: hidden;
	background: var(--color-bg-primary);
}
.mini-cart-qty-btn {
	width: 28px;
	height: 28px;
	background: none;
	border: none;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	color: var(--color-text-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--transition-smooth);
}
.mini-cart-qty-btn:hover {
	background-color: var(--color-bg-secondary);
	color: var(--color-text-primary);
}
.mini-cart-qty-input {
	width: 32px;
	height: 28px;
	border: none;
	border-left: 1px solid var(--color-border);
	border-right: 1px solid var(--color-border);
	text-align: center;
	font-size: 0.813rem;
	font-weight: 600;
	color: var(--color-text-primary);
	background: transparent;
	padding: 0;
	margin: 0;
}
.mini-cart-item-actions {
	display: flex;
	align-items: center;
	justify-content: center;
}
.mini-cart-remove-btn {
	color: var(--color-text-muted) !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: var(--transition-smooth);
	padding: 6px;
	border-radius: 50%;
}
.mini-cart-remove-btn:hover {
	color: var(--color-error) !important;
	background-color: #fee2e2;
}
.mini-cart-remove-btn .material-symbols-outlined {
	font-size: 18px !important;
}

/* Mini-cart footer buttons */
.woocommerce-mini-cart__buttons.buttons {
	display: flex !important;
	gap: 12px !important;
	padding: 16px 0 0 0 !important;
	margin: 0 !important;
}
.woocommerce-mini-cart__buttons.buttons a.button {
	flex: 1;
	text-align: center;
	padding: 12px 16px !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	border-radius: 3px !important;
	display: block !important;
	margin: 0 !important;
}
.woocommerce-mini-cart__buttons.buttons a.lm-view-cart-btn {
	background-color: var(--color-bg-primary) !important;
	border: 1px solid var(--color-border) !important;
	color: var(--color-text-primary) !important;
}
.woocommerce-mini-cart__buttons.buttons a.lm-view-cart-btn:hover {
	background-color: var(--color-bg-secondary) !important;
	border-color: var(--color-text-muted) !important;
}
.woocommerce-mini-cart__buttons.buttons a.lm-checkout-btn {
	background-color: var(--color-accent) !important; /* Pink brand */
	border: 1px solid var(--color-accent) !important;
	color: #ffffff !important;
	box-shadow: var(--shadow-sm);
}
.woocommerce-mini-cart__buttons.buttons a.lm-checkout-btn:hover {
	background-color: var(--color-text-primary) !important; /* Black */
	border-color: var(--color-text-primary) !important;
}

/* Empty Mini Cart drawer */
.woocommerce-mini-cart__empty-message-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 60px 24px;
	text-align: center;
}
.woocommerce-mini-cart__empty-message-container .empty-cart-icon {
	font-size: 48px;
	color: var(--color-text-muted);
	margin-bottom: 16px;
}
.woocommerce-mini-cart__empty-message-container .woocommerce-mini-cart__empty-message {
	font-size: 0.938rem;
	color: var(--color-text-secondary);
	margin-bottom: 24px;
}
.woocommerce-mini-cart__empty-message-container .return-to-shop-btn {
	background-color: var(--color-primary) !important;
	color: white !important;
	padding: 10px 20px !important;
	border-radius: 2px !important;
	font-weight: 500 !important;
}
.woocommerce-mini-cart__empty-message-container .return-to-shop-btn:hover {
	background-color: var(--color-primary-hover) !important;
}

.woocommerce-cart-container {
	max-width: 1000px;
	margin: 0 auto;
	padding: 60px 24px 120px 24px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	min-height: 65vh; /* Garante respiro visual impedindo que o rodapé suba muito */
}

/* Alinhamento dos totais do carrinho abaixo da lista de produtos */
.woocommerce-cart-sidebar {
	width: 100%;
	display: flex;
	justify-content: flex-end;
}
.b2b-cart-totals-card {
	width: 100%;
	max-width: 480px;
}
@media (max-width: 768px) {
	.b2b-cart-totals-card {
		max-width: 100%;
	}
}

/* Profile warning alert */
.b2b-cart-profile-warning {
	display: flex;
	gap: 16px;
	background-color: #fffbeb;
	border: 1px solid #fef3c7;
	border-left: 4px solid #f59e0b;
	padding: 20px;
	border-radius: 3px;
	margin-bottom: 24px;
}
.b2b-cart-profile-warning .warning-icon-wrap {
	color: #d97706;
	display: flex;
	align-items: flex-start;
	margin-top: 2px;
}
.b2b-cart-profile-warning .warning-icon-wrap .material-symbols-outlined {
	font-size: 24px;
}
.b2b-cart-profile-warning .warning-title {
	font-size: 1rem;
	font-weight: 700;
	color: #78350f;
	margin-bottom: 6px;
}
.b2b-cart-profile-warning .warning-text {
	font-size: 0.875rem;
	color: #92400e;
	line-height: 1.5;
	margin-bottom: 16px;
}
.b2b-cart-profile-warning .warning-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.b2b-cart-profile-warning .warning-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.813rem;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: 2px;
	transition: var(--transition-smooth);
}
.b2b-cart-profile-warning .warning-btn .material-symbols-outlined {
	font-size: 16px;
}
.b2b-cart-profile-warning .warning-btn.primary {
	background-color: #d97706;
	color: white;
}
.b2b-cart-profile-warning .warning-btn.primary:hover {
	background-color: #b45309;
}
.b2b-cart-profile-warning .warning-btn.secondary {
	background-color: transparent;
	border: 1px solid #d97706;
	color: #d97706;
}
.b2b-cart-profile-warning .warning-btn.secondary:hover {
	background-color: #fef3c7;
}

/* Cart items list cards layout */
.b2b-cart-items-list {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	padding: 24px;
	box-shadow: var(--shadow-sm);
}
.b2b-cart-item {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid var(--color-border);
	align-items: center;
}
@media (min-width: 768px) {
	.b2b-cart-item {
		grid-template-columns: 80px 2.5fr 1fr 40px;
		gap: 24px;
	}
}
.b2b-cart-item:first-child {
	padding-top: 0;
}
.b2b-cart-item:last-of-type {
	border-bottom: none;
	padding-bottom: 24px;
}
.b2b-cart-item-thumbnail {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
}
.b2b-cart-item-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border: 1px solid var(--color-border);
	border-radius: 3px;
	background-color: #ffffff;
}
.b2b-cart-item-details {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.b2b-cart-item-title {
	font-size: 0.938rem !important;
	font-weight: 600 !important;
	color: var(--color-text-primary) !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}
.b2b-cart-item-title a:hover {
	color: var(--color-accent) !important;
}
.b2b-cart-item-meta-row {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 4px;
}
.b2b-cart-item-prices {
	font-size: 0.813rem;
	color: var(--color-text-secondary);
}
.b2b-cart-item-prices .unit-price-val {
	font-weight: 600;
	color: var(--color-text-primary);
}

.b2b-cart-qty-selector {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--color-border);
	border-radius: 2px;
	overflow: hidden;
	background: var(--color-bg-secondary);
}
.cart-qty-btn {
	width: 32px;
	height: 32px;
	background: none;
	border: none;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	color: var(--color-text-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--transition-smooth);
}
.cart-qty-btn:hover {
	background-color: var(--color-border);
	color: var(--color-text-primary);
}
.cart-qty-input {
	width: 40px;
	height: 32px;
	border: none;
	border-left: 1px solid var(--color-border);
	border-right: 1px solid var(--color-border);
	text-align: center;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-text-primary);
	background: transparent;
	padding: 0;
	margin: 0;
}

.b2b-cart-item-subtotal-column {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.875rem;
}
@media (min-width: 768px) {
	.b2b-cart-item-subtotal-column {
		flex-direction: column;
		align-items: flex-end;
		gap: 2px;
	}
}
.b2b-cart-item-subtotal-column .subtotal-label {
	color: var(--color-text-secondary);
}
.b2b-cart-item-subtotal-column .subtotal-val {
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-text-primary);
}
.b2b-cart-item-remove {
	display: flex;
	justify-content: flex-end;
}
.b2b-cart-remove-btn {
	color: var(--color-text-muted) !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	border-radius: 50%;
	transition: var(--transition-smooth);
}
.b2b-cart-remove-btn:hover {
	color: var(--color-error) !important;
	background-color: #fee2e2;
}
.b2b-cart-remove-btn .material-symbols-outlined {
	font-size: 20px !important;
}

/* Coupon & Cart Actions */
.b2b-cart-actions-row {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 24px;
	border-top: 1px solid var(--color-border);
}
@media (min-width: 768px) {
	.b2b-cart-actions-row {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
}
.b2b-cart-coupon-form {
	display: flex;
	gap: 8px;
	max-width: 100%;
}
.b2b-cart-coupon-form input.input-text {
	padding: 10px 16px;
	border: 1px solid var(--color-border);
	border-radius: 3px;
	font-size: 0.875rem;
	outline: none;
	width: 180px;
	max-width: 100%;
	background-color: var(--color-bg-primary);
	color: var(--color-text-primary);
}
.b2b-cart-coupon-form button.apply-coupon-btn {
	background-color: var(--color-text-primary) !important;
	color: white !important;
	border: none !important;
	padding: 10px 16px !important;
	border-radius: 3px !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	transition: var(--transition-smooth);
}
.b2b-cart-coupon-form button.apply-coupon-btn:hover {
	background-color: var(--color-accent) !important;
}

/* Cart Sidebar / Totals */
.b2b-cart-totals-card {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	padding: 24px;
	box-shadow: var(--shadow-sm);
}
.b2b-cart-totals-card h2 {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: var(--color-text-primary) !important;
	margin-bottom: 20px !important;
	border-bottom: 1px solid var(--color-border);
	padding-bottom: 12px;
}
.b2b-cart-totals-card table.shop_table {
	width: 100% !important;
	border-collapse: collapse;
	margin-bottom: 24px;
	border: none !important;
}
.b2b-cart-totals-card table.shop_table tr {
	border-bottom: 1px solid var(--color-border) !important;
	border-top: none !important;
}
.b2b-cart-totals-card table.shop_table td,
.b2b-cart-totals-card table.shop_table th {
	border: none !important;
}
.b2b-cart-totals-card table.shop_table th {
	text-align: left;
	font-weight: 500;
	color: var(--color-text-secondary);
	padding: 12px 0;
	width: 35%;
}
.b2b-cart-totals-card table.shop_table td {
	text-align: right;
	padding: 12px 0;
	color: var(--color-text-primary);
}
.b2b-cart-totals-card table.shop_table td strong {
	font-size: 1.125rem;
	color: var(--color-text-primary);
}

ul#shipping_method {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: right;
	display: inline-block;
	width: 100%;
}
ul#shipping_method li {
	margin-bottom: 8px;
	font-size: 0.813rem;
	color: var(--color-text-secondary);
}
ul#shipping_method li input {
	margin-left: 6px;
	accent-color: var(--color-accent);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background-color: var(--color-accent) !important; /* Pink brand */
	color: white !important;
	padding: 14px 24px !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	border-radius: 3px !important;
	display: block !important;
	text-align: center !important;
	box-shadow: var(--shadow-sm);
	transition: var(--transition-smooth);
	width: 100%;
}
.woocommerce-cart .wc-proceed-to-checkout a.lm-continue-shopping-btn {
	display: block !important;
	width: 100%;
	margin-bottom: 12px !important;
	padding: 12px 24px !important;
	background: var(--color-bg-primary) !important;
	color: var(--color-text-primary) !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 3px !important;
	font-size: 0.938rem !important;
	font-weight: 600 !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: var(--transition-smooth);
	box-shadow: none !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.lm-continue-shopping-btn:hover {
	background: var(--color-bg-secondary) !important;
	border-color: var(--color-text-primary) !important;
	color: var(--color-text-primary) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--color-text-primary) !important; /* Black */
}

/* Loading State */
.lm-loading-state {
	position: relative;
	pointer-events: none;
}
.lm-loading-state::after {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(255, 255, 255, 0.7);
	z-index: 10;
	transition: var(--transition-smooth);
}

/* Product cards: never dim the whole card — only the buy button shows loading/added state */
.product-card-inner.lm-loading-state {
	pointer-events: auto;
}
.product-card-inner.lm-loading-state::after {
	display: none !important;
}

.product-card .add-to-cart-quick-btn.is-loading {
	opacity: 0.7;
	cursor: wait;
}

.product-card-buttons-row.is-added-to-cart .view-product-btn.icon-only {
	opacity: 1 !important;
	pointer-events: auto !important;
}

/* Checkout Page Grid — single column: dados → contato → resumo + pagamento */
.b2b-checkout-grid {
	max-width: 820px;
	margin: 0 auto;
	padding: 60px 24px 120px 24px;
	display: flex;
	flex-direction: column;
	gap: 28px;
	align-items: stretch;
	min-height: 65vh;
}

.b2b-checkout-main,
.b2b-checkout-sidebar {
	width: 100%;
	min-width: 0;
}

@media (max-width: 576px) {
	.b2b-checkout-grid {
		padding: 24px 16px 80px 16px;
		gap: 24px;
	}
	.b2b-checkout-address-box .box-body {
		padding: 16px;
	}
	.box-addresses-wrapper {
		gap: 16px;
		padding-top: 16px;
	}
}

/* Box Detalhado de Endereço B2B */
.b2b-checkout-address-box {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	margin-bottom: 28px;
	box-shadow: var(--shadow-sm);
	overflow: hidden;
}

.b2b-checkout-address-box--compact {
	margin-bottom: 20px;
}

.b2b-checkout-address-box--compact .box-header {
	padding: 12px 16px;
}

.b2b-checkout-address-box--compact .box-body {
	padding: 14px 16px;
}

.b2b-checkout-address-box--compact .box-footer {
	padding: 10px 16px;
}

.b2b-checkout-address-box--compact .box-grid--compact {
	gap: 12px;
}

@media (min-width: 576px) {
	.b2b-checkout-address-box--compact .box-grid--compact {
		grid-template-columns: 1fr 1fr;
	}

	.b2b-checkout-address-box--compact .box-grid--compact .full-width {
		grid-column: span 2;
	}
}

.b2b-address-single {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 10px 12px;
	background-color: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-radius: 6px;
}

.b2b-address-single__head {
	display: flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
	min-width: 170px;
}

.b2b-address-single__label {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--color-text-primary);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	line-height: 1.2;
}

.b2b-address-single__text {
	font-size: 0.813rem;
	color: var(--color-text-muted);
	line-height: 1.45;
	flex: 1 1 auto;
	min-width: 0;
}

@media (max-width: 640px) {
	.b2b-address-single {
		flex-direction: column;
		gap: 8px;
	}

	.b2b-address-single__head {
		min-width: 0;
	}
}
.b2b-checkout-address-box .box-header {
	background-color: var(--color-bg-secondary);
	border-bottom: 1px solid var(--color-border);
	padding: 16px 20px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.b2b-checkout-address-box .box-header-icon {
	color: var(--color-accent);
	font-size: 20px;
}
.b2b-checkout-address-box .box-title {
	font-size: 0.938rem;
	font-weight: 700;
	color: var(--color-text-primary);
	margin: 0;
}
.b2b-checkout-address-box .box-body {
	padding: 20px;
}
.b2b-checkout-address-box .box-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 576px) {
	.b2b-checkout-address-box .box-grid {
		grid-template-columns: 1fr 1fr;
	}
	.b2b-checkout-address-box .box-grid .full-width {
		grid-column: span 2;
	}
}
.b2b-checkout-address-box .box-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.b2b-checkout-address-box .item-label {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.b2b-checkout-address-box .item-value {
	font-size: 0.875rem;
	color: var(--color-text-primary);
	font-weight: 500;
	line-height: 1.4;
}
.b2b-checkout-address-box .box-footer {
	background-color: #f0fdf4; /* Soft green */
	border-top: 1px solid #dcfce7;
	padding: 12px 20px;
	display: flex;
	gap: 8px;
	align-items: flex-start;
}
.b2b-checkout-address-box .info-icon {
	color: var(--color-success);
	font-size: 18px;
	margin-top: 1px;
}
.b2b-checkout-address-box .info-text {
	font-size: 0.75rem;
	color: #166534;
	line-height: 1.4;
	margin: 0;
}

/* Oculta os campos editáveis de endereço para B2B */
.b2b-hidden-field {
	display: none !important;
}

/* Oculta o título redundante "Detalhes de cobrança" no formulário de contato */
.woocommerce-billing-fields > h3 {
	display: none !important;
}

/* Wrapper e Colunas de Endereço Formatado */
.box-addresses-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin-top: 8px;
	border-top: 1px dashed var(--color-border);
	padding-top: 20px;
}
@media (min-width: 576px) {
	.box-addresses-wrapper {
		grid-template-columns: 1fr 1fr;
	}
}
.b2b-address-col {
	background-color: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-radius: 3px;
	padding: 16px;
	transition: var(--transition-smooth);
}
.b2b-address-col:hover {
	border-color: rgba(219, 39, 119, 0.3); /* Soft accent */
	box-shadow: var(--shadow-sm);
}
.b2b-address-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.813rem;
	font-weight: 700;
	color: var(--color-text-primary);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--color-border);
	padding-bottom: 8px;
}
.b2b-address-title .address-col-icon {
	color: var(--color-accent);
	font-size: 18px;
}
.b2b-address-text {
	font-size: 0.813rem;
	color: var(--color-text-muted);
	line-height: 1.5;
}

/* Contact information checkout fields */
.b2b-checkout-form-fields {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	padding: 24px;
	box-shadow: var(--shadow-sm);
}

/* Hide Brazilian Market Mailcheck typo hints (false positives on .com.br domains). */
.b2b-checkout-form-fields .wcbcf-mailcheck-hint,
.b2b-checkout-form-fields .email-suggestion,
.b2b-checkout-form-fields #wcbcf-mailcheck-hint,
.b2b-checkout-form-fields [id*="mailcheck"],
.b2b-checkout-form-fields [class*="mailcheck"] {
	display: none !important;
}

.b2b-checkout-section-title {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--color-text-primary) !important;
	margin-bottom: 20px !important;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Order review panel checkout */
.b2b-order-review-card {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border) !important;
	border-radius: 5px;
	padding: 24px;
	box-shadow: var(--shadow-sm);
}

.b2b-checkout-payment-block {
	margin-top: 8px;
	padding-top: 24px;
	border-top: 1px solid var(--color-border);
}

.b2b-checkout-payment-title {
	margin-bottom: 16px !important;
	font-size: 1.125rem !important;
}

/* ===== Checkout review table border reset (scoped — do NOT affect account/order pages) ===== */
.woocommerce-checkout table.shop_table,
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table,
table.woocommerce-checkout-review-order-table,
.woocommerce-checkout-review-order-table,
#order_review table,
.b2b-order-review-card table,
.woocommerce-checkout .woocommerce-checkout-review-order table {
	border: none !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table tr,
.woocommerce-checkout-review-order-table thead,
.woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout-review-order-table tfoot,
#order_review table th,
#order_review table td,
#order_review table tr,
.b2b-order-review-card table th,
.b2b-order-review-card table td,
.b2b-order-review-card table tr,
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
	border: none !important;
	border-top: none !important;
	border-bottom: none !important;
	border-left: none !important;
	border-right: none !important;
	outline: none !important;
}

/* Re-apply clean styling after the nuclear reset */
.woocommerce-checkout-review-order-table {
	width: 100% !important;
	margin-bottom: 24px !important;
}
.woocommerce-checkout-review-order-table th, 
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table tr {
	padding: 12px 0 !important;
	font-size: 0.875rem;
	color: var(--color-text-primary);
}
.woocommerce-checkout-review-order-table th.product-name,
.woocommerce-checkout-review-order-table td.product-name {
	text-align: left !important;
	width: 65%;
}
.woocommerce-checkout-review-order-table th.product-total,
.woocommerce-checkout-review-order-table td.product-total {
	text-align: right !important;
	width: 35%;
	white-space: nowrap;
}
.woocommerce-checkout-review-order-table th {
	font-weight: 700;
	color: var(--color-text-secondary);
}
.woocommerce-checkout-review-order-table td {
	text-align: right;
}
.woocommerce-checkout-review-order-table .product-name {
	font-weight: 500;
}
.woocommerce-checkout-review-order-table .order-total th, 
.woocommerce-checkout-review-order-table .order-total td {
	font-weight: 700 !important;
	font-size: 1rem !important;
}

#payment {
	background: transparent !important;
	padding: 0 !important;
}
#payment ul.payment_methods {
	padding: 0 !important;
	border-bottom: 1px solid var(--color-border) !important;
	list-style: none;
	margin: 0 0 20px 0 !important;
}
#payment ul.payment_methods li {
	padding: 12px 0 !important;
}
#payment ul.payment_methods li input {
	accent-color: var(--color-accent);
	margin-right: 8px;
}
#payment div.payment_box {
	background-color: var(--color-bg-secondary) !important;
	color: var(--color-text-secondary) !important;
	border-radius: 2px !important;
	font-size: 0.813rem !important;
	padding: 12px !important;
	margin: 8px 0 0 0 !important;
}
#payment div.payment_box::before {
	display: none !important;
}

.woocommerce-checkout #payment button#place_order {
	background-color: var(--color-accent) !important; /* Brand Pink */
	color: white !important;
	padding: 14px 24px !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	border-radius: 3px !important;
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	box-shadow: var(--shadow-sm);
	transition: var(--transition-smooth);
	margin-top: 10px !important;
	float: none !important;
}
.woocommerce-checkout #payment button#place_order:hover {
	background-color: var(--color-text-primary) !important; /* Black */
}

/* ==========================================
   32. B2B MY ACCOUNT OPTIMIZATION
   ========================================== */
/* Reset default WooCommerce sidebar overrides */
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.b2b-account-layout {
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	align-items: start;
}
@media (min-width: 992px) {
	.b2b-account-layout {
		grid-template-columns: 280px 1fr;
	}
}

/* Sidebar navigation styling */
.b2b-account-nav {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	padding: 24px;
	box-shadow: var(--shadow-sm);
}
.b2b-account-nav .nav-user-profile {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 20px;
}
.b2b-account-nav .profile-avatar-icon {
	font-size: 40px;
	color: var(--color-accent);
}
.b2b-account-nav .profile-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.b2b-account-nav .profile-username {
	font-size: 0.938rem;
	font-weight: 700;
	color: var(--color-text-primary);
	line-height: 1.2;
}
.b2b-account-nav .profile-user-role {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-success);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.b2b-account-nav ul.nav-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.b2b-account-nav ul.nav-links li {
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: none !important;
}
.b2b-account-nav ul.nav-links li a.nav-link-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-radius: 3px;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-text-secondary);
	transition: var(--transition-smooth);
}
.b2b-account-nav ul.nav-links li a.nav-link-item:hover {
	background-color: var(--color-bg-secondary);
	color: var(--color-text-primary);
}
.b2b-account-nav ul.nav-links li.is-active a.nav-link-item {
	background-color: var(--color-accent) !important; /* Brand Pink */
	color: #ffffff !important;
}
.b2b-account-nav ul.nav-links li.is-active a.nav-link-item .nav-link-icon {
	color: #ffffff !important;
}
.b2b-account-nav .nav-link-icon {
	font-size: 20px;
	color: var(--color-text-muted);
	transition: var(--transition-smooth);
}
.b2b-account-nav ul.nav-links li a.nav-link-item:hover .nav-link-icon {
	color: var(--color-text-primary);
}

/* My Account content styling */
.b2b-account-content {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	padding: 32px;
	box-shadow: var(--shadow-sm);
}

/* Form details / dashboard tweaks */
.woocommerce-MyAccount-content p {
	font-size: 0.938rem;
	color: var(--color-text-secondary);
	margin-bottom: 20px;
	line-height: 1.6;
}
.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content h4 {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--color-text-primary) !important;
	margin-bottom: 16px !important;
}

/* Edit account buttons styling */
.woocommerce-EditAccountForm button.button {
	background-color: var(--color-accent) !important; /* Brand Pink */
	color: white !important;
	padding: 12px 24px !important;
	border-radius: 3px !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	border: none !important;
	cursor: pointer;
	transition: var(--transition-smooth);
}
.woocommerce-EditAccountForm button.button:hover {
	background-color: var(--color-text-primary) !important; /* Black */
}

/* B2B Cadastro: hide WC identity fields (company data stays in backend for NF) */
.b2b-edit-account-responsible .woocommerce-EditAccountForm > p:has(#account_first_name),
.b2b-edit-account-responsible .woocommerce-EditAccountForm > p:has(#account_last_name),
.b2b-edit-account-responsible .woocommerce-EditAccountForm > p:has(#account_display_name),
.b2b-edit-account-responsible .woocommerce-EditAccountForm > p:has(#account_email) {
	display: none !important;
}

.b2b-editable-buyer-section .optional {
	font-weight: 500;
	color: var(--color-text-secondary);
	font-size: 0.813rem;
}

/* Spinner ring styling */
.spinner-ring {
	border: 2px solid rgba(0, 0, 0, 0.1);
	border-radius: 50%;
	border-top: 2px solid currentColor;
	animation: spin-ring-anim 0.8s linear infinite;
}
@keyframes spin-ring-anim {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* ==========================================
   B2B ONBOARDING & MULTISTEP REGISTRATION Styles
   ========================================== */
.b2b-onboarding-wrapper {
	max-width: 1200px;
	margin: 60px auto;
	padding: 0 24px;
}

/* 2 Columns Switcher Screen */
.b2b-switcher-screen {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
}

@media (min-width: 768px) {
	.b2b-switcher-screen {
		grid-template-columns: 1fr 1fr;
		gap: 40px;
	}
}

.b2b-switcher-col {
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 50px 40px;
	box-shadow: var(--shadow-md);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: var(--transition-smooth);
}

.b2b-switcher-col:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
	border-color: var(--color-accent);
}

.switcher-col-inner {
	max-width: 420px;
}

.b2b-switcher-icon {
	font-size: 48px;
	color: var(--color-accent);
	margin-bottom: 20px;
	display: inline-block;
}

.b2b-switcher-col h2 {
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--color-text-primary);
	margin-bottom: 16px;
	letter-spacing: -0.02em;
}

.b2b-switcher-col p {
	font-size: 0.938rem;
	line-height: 1.6;
	color: var(--color-text-secondary);
	margin-bottom: 32px;
}

.b2b-switcher-btn {
	background-color: var(--color-accent) !important;
	color: #ffffff !important;
	height: 48px;
	padding: 0 32px !important;
	border-radius: 4px !important;
	font-weight: 600 !important;
	font-size: 0.938rem !important;
	border: none !important;
	cursor: pointer;
	transition: var(--transition-smooth);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(219, 39, 119, 0.2);
}

.b2b-switcher-btn:hover {
	background-color: #0f172a !important; /* hover black/slate */
	color: #ffffff !important;
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2);
}

.col-login .b2b-switcher-btn {
	background-color: #0f172a !important;
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2);
}

.col-login .b2b-switcher-btn:hover {
	background-color: var(--color-accent) !important;
	box-shadow: 0 4px 10px rgba(219, 39, 119, 0.2);
}

/* Form View Containers */
.b2b-form-view {
	max-width: 650px;
	margin: 0 auto;
}

.b2b-back-to-switcher {
	background: none;
	border: none;
	color: var(--color-text-secondary);
	font-weight: 600;
	font-size: 0.875rem;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	margin-bottom: 24px;
	transition: var(--transition-smooth);
}

.b2b-back-to-switcher:hover {
	color: var(--color-accent);
}

.b2b-back-to-switcher span {
	font-size: 18px;
}

/* Stepper Progress Bar */
.b2b-stepper-progress {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	margin-bottom: 40px;
	padding: 0 10px;
}

.step-progress-bar {
	position: absolute;
	left: 30px;
	right: 30px;
	top: 15px;
	height: 3px;
	background-color: var(--color-border);
	z-index: 1;
}

.step-progress-fill {
	height: 100%;
	background-color: var(--color-accent);
	width: 0%;
	transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.step-node {
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 2;
	position: relative;
	width: 60px;
}

.step-number {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: var(--color-bg-primary);
	border: 2px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--color-text-muted);
	transition: var(--transition-smooth);
}

.step-label {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-text-muted);
	margin-top: 6px;
	white-space: nowrap;
	transition: var(--transition-smooth);
}

.step-node.active .step-number {
	border-color: var(--color-accent);
	background-color: var(--color-accent);
	color: #ffffff;
}

.step-node.active .step-label {
	color: var(--color-accent);
}

.step-node.completed .step-number {
	border-color: var(--color-accent);
	background-color: var(--color-bg-primary);
	color: var(--color-accent);
}

.step-node.completed .step-label {
	color: var(--color-text-primary);
}

/* Stepper Actions buttons */
.step-actions {
	display: flex;
	gap: 16px;
	justify-content: flex-end;
	margin-top: 32px;
	border-top: 1px solid var(--color-border);
	padding-top: 24px;
}

.b2b-step-next-btn, .register-btn {
	background-color: var(--color-accent) !important;
	color: #ffffff !important;
	height: 46px;
	padding: 0 24px !important;
	border-radius: 3px !important;
	font-weight: 600 !important;
	font-size: 0.938rem !important;
	border: none !important;
	cursor: pointer;
	transition: var(--transition-smooth);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.b2b-step-next-btn[disabled] {
	background-color: var(--color-border) !important;
	color: var(--color-text-muted) !important;
	cursor: not-allowed;
	box-shadow: none !important;
}

.b2b-step-next-btn:not([disabled]):hover, .register-btn:hover {
	background-color: #0f172a !important; /* hover black */
}

.b2b-step-prev-btn {
	background-color: var(--color-bg-secondary) !important;
	color: var(--color-text-secondary) !important;
	border: 1px solid var(--color-border) !important;
	height: 46px;
	padding: 0 24px !important;
	border-radius: 3px !important;
	font-weight: 600 !important;
	font-size: 0.938rem !important;
	cursor: pointer;
	transition: var(--transition-smooth);
}

.b2b-step-prev-btn:hover {
	background-color: var(--color-border) !important;
	color: var(--color-text-primary) !important;
}

/* Spinner ring anim */
@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Readonly fields display inside step 2 */
.b2b-readonly-grid input[readonly] {
	background-color: var(--color-bg-secondary) !important;
	border-color: var(--color-border) !important;
	color: var(--color-text-secondary) !important;
	cursor: not-allowed !important;
	font-weight: 500;
}

/* ==========================================
   SINGLE PRODUCT PAGE ENHANCEMENTS Styles
   ========================================== */
.single-product div.product {
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	padding: 40px;
	box-shadow: var(--shadow-sm);
	margin-top: 30px;
	margin-bottom: 50px;
}

.single-product .woocommerce-product-gallery {
	border-radius: 5px;
	overflow: visible;
	border: 1px solid var(--color-border);
	background-color: #ffffff;
	padding: 16px;
}

.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img {
	object-fit: cover;
}

.single-product .summary {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.single-product .product_title {
	font-size: 2rem;
	font-weight: 800;
	color: var(--color-text-primary);
	letter-spacing: -0.02em;
	margin-bottom: 10px;
	line-height: 1.2;
}

.single-product .price {
	font-size: 1.75rem !important;
	font-weight: 700 !important;
	color: var(--color-accent) !important; /* Rosa da marca para preço */
	margin-bottom: 24px;
}

/* Variações do Produto (Tabela) */
.single-product table.variations {
	width: 100%;
	border: none !important;
	margin-bottom: 24px;
	background: none !important;
}

.single-product table.variations td, 
.single-product table.variations th {
	border: none !important;
	padding: 12px 0 !important;
	background: none !important;
}

.single-product table.variations td.label label {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--color-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.single-product table.variations td.value select {
	width: 100%;
	height: 46px;
	border-radius: 3px;
	border: 1px solid var(--color-border);
	background-color: var(--color-bg-secondary);
	padding: 0 16px;
	font-size: 0.938rem;
	color: var(--color-text-primary);
	font-weight: 500;
	cursor: pointer;
	transition: var(--transition-smooth);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0 0 24 24'%20fill='none'%20stroke='%23475569'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpolyline%20points='6%209%2012%2015%2018%209'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 16px;
}

.single-product table.variations td.value select:focus {
	border-color: var(--color-border-focus);
	background-color: var(--color-bg-primary);
}

/* Quantidade e Botão Comprar na Página do Produto */
.single-product form.cart {
	display: flex;
	gap: 20px;
	align-items: center;
	margin-top: 30px;
	flex-wrap: wrap;
}

/* Enhanced Quantity Input selector (+ / -) */
.lm-qty-enhanced {
	display: flex !important;
	align-items: center;
	border: 1px solid var(--color-border);
	border-radius: 3px;
	overflow: hidden;
	background-color: var(--color-bg-secondary);
	height: 48px;
}

.lm-qty-enhanced .qty-btn {
	background: none;
	border: none;
	width: 40px;
	height: 100%;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-text-secondary);
	cursor: pointer;
	transition: var(--transition-smooth);
	display: flex;
	align-items: center;
	justify-content: center;
}

.lm-qty-enhanced .qty-btn:hover {
	background-color: var(--color-border);
	color: var(--color-text-primary);
}

.lm-qty-enhanced input.qty {
	width: 50px !important;
	height: 100% !important;
	border: none !important;
	background: none !important;
	text-align: center;
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-text-primary);
	padding: 0 !important;
	margin: 0 !important;
	-moz-appearance: textfield;
}

.lm-qty-enhanced input.qty::-webkit-outer-spin-button,
.lm-qty-enhanced input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Botão Adicionar ao Carrinho */
.single-product button.single_add_to_cart_button {
	background-color: var(--color-accent) !important; /* Rosa */
	color: #ffffff !important;
	height: 48px;
	padding: 0 36px !important;
	border-radius: 3px !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	border: none !important;
	cursor: pointer;
	transition: var(--transition-smooth);
	box-shadow: 0 4px 12px rgba(219, 39, 119, 0.2);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.single-product button.single_add_to_cart_button:hover {
	background-color: #0f172a !important; /* Hover preto/slate */
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.2);
}

/* Abas do WooCommerce — single product (consolidado com seção 21) */
.single-product .woocommerce-tabs {
	margin-top: 50px;
	border-top: none;
	padding-top: 0;
}

.single-product .woocommerce-tabs ul.tabs {
	margin-bottom: 24px !important;
}

.single-product .woocommerce-tabs ul.tabs li.active::after {
	display: none !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	font-size: 0.938rem;
	line-height: 1.7;
	color: var(--color-text-secondary);
	padding-top: 8px;
	max-height: none !important;
	overflow: visible !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
	display: none;
}

/* Single product title + badge actions */
.single-product-title-row {
	order: 1 !important;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
}

.single-product-title-row .product_title {
	order: unset !important;
	margin: 0 !important;
	flex: 1 1 auto;
	min-width: 0;
}

.single-product-badge-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	opacity: 1;
	transform: none;
}

.single-product-badge-actions .badge-action-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #ffffff;
	border: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--color-accent);
	transition: var(--transition-smooth);
	padding: 0;
	box-shadow: var(--shadow-sm);
}

.single-product-badge-actions .badge-action-btn:hover {
	background: #0f2c59;
	color: #ffffff;
	border-color: #0f2c59;
	transform: scale(1.05);
}

.single-product-badge-actions .badge-action-btn.action-wishlist.active {
	background: var(--color-accent);
	color: #ffffff;
	border-color: var(--color-accent);
}

.single-product-badge-actions .badge-action-btn .material-symbols-outlined {
	font-size: 20px;
}

@media (max-width: 576px) {
	.single-product-title-row {
		flex-direction: column;
		align-items: stretch;
	}

	.single-product-badge-actions {
		justify-content: flex-end;
	}
}

/* ==========================================
   B2B MINIMUM ORDER VALUE RULER Styles
   ========================================== */
.b2b-min-order-ruler {
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	padding: 16px 20px;
	margin-bottom: 24px;
	box-shadow: var(--shadow-sm);
	transition: var(--transition-smooth);
}

.b2b-min-order-ruler.ruler-completed {
	border-color: #bbf7d0;
	background-color: #f0fdf4; /* Verde bem suave */
}

.b2b-min-order-ruler.ruler-pending {
	border-color: #fce7f3;
	background-color: #fdf2f8; /* Rosa bem suave */
}

.ruler-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.ruler-icon {
	font-size: 1.25rem;
}

.ruler-text {
	font-size: 0.875rem;
	color: var(--color-text-secondary);
}

.ruler-completed .ruler-text {
	color: #166534; /* Verde */
}

.ruler-pending .ruler-text {
	color: #9d174d; /* Rosa escuro */
}

.ruler-bar-bg {
	background-color: #e2e8f0;
	height: 6px;
	border-radius: 2px;
	overflow: hidden;
	width: 100%;
}

.ruler-bar-fill {
	height: 100%;
	border-radius: 2px;
	transition: width 0.4s ease;
}

.ruler-completed .ruler-bar-fill {
	background-color: #10b981; /* Verde */
}

.ruler-pending .ruler-bar-fill {
	background-color: var(--color-accent); /* Rosa */
}

/* Disabled checkout link/button in sidecart */
.lm-disabled-btn {
	pointer-events: none !important;
	cursor: not-allowed !important;
	background-color: var(--color-border) !important;
	color: var(--color-text-muted) !important;
	box-shadow: none !important;
	opacity: 0.6 !important;
}

.lm-min-order-checkout-note {
	margin: 10px 0 0;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--color-text-secondary);
	text-align: center;
}

.lm-cart-shipping-summary {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	width: 100%;
}

.lm-cart-shipping-summary ul#shipping_method {
	text-align: right;
}

.lm-cart-shipping-address {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 6px;
	margin: 0;
	padding: 10px 12px;
	border-radius: 6px;
	background: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--color-text-secondary);
	text-align: right;
	max-width: 100%;
}

.lm-cart-shipping-address .material-symbols-outlined {
	font-size: 18px;
	color: var(--color-primary);
	flex-shrink: 0;
	margin-top: 1px;
}

.lm-cart-shipping-address strong {
	color: var(--color-text-primary);
	font-weight: 600;
}

.lm-cart-shipping-placeholder {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--color-text-secondary);
	text-align: right;
}

.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .woocommerce-shipping-calculator,
.woocommerce-cart .woocommerce-shipping-destination .shipping-calculator-button {
	display: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.lm-disabled-btn:hover {
	background-color: var(--color-border) !important;
	color: var(--color-text-muted) !important;
}

/* ==========================================================================
   10. MOBILE RESPONSIVENESS & OVERFLOW CORRECTIONS
   ========================================================================== */
html, body, .site {
	max-width: 100%;
	overflow-x: hidden;
}

.site-header {
	max-width: 100% !important;
	overflow: visible;
}

.mobile-categories-carousel, .carousel-scroll-container {
	max-width: 100% !important;
	overflow-x: auto !important;
}

/* ==========================================================================
   11. B2B PREMIUM "MY ORDERS" (MEUS PEDIDOS) PAGE CUSTOMIZATION
   ========================================================================== */
.woocommerce-MyAccount-orders {
	width: 100% !important;
	border-collapse: collapse;
	margin-top: 20px;
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	box-shadow: var(--shadow-sm);
	overflow: hidden;
}
.woocommerce-MyAccount-orders th {
	background-color: var(--color-bg-secondary);
	color: var(--color-text-primary);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	padding: 14px 20px;
	border-bottom: 2px solid var(--color-border);
	text-align: left;
}
.woocommerce-MyAccount-orders td {
	padding: 16px 20px;
	border-bottom: 1px solid var(--color-border);
	font-size: 0.875rem;
	color: var(--color-text-secondary);
}
.woocommerce-MyAccount-orders tr:last-child td {
	border-bottom: none;
}
.woocommerce-MyAccount-orders .woocommerce-button {
	background-color: var(--color-bg-secondary) !important;
	color: var(--color-text-primary) !important;
	border: 1px solid var(--color-border) !important;
	padding: 8px 14px !important;
	border-radius: 2px !important;
	font-size: 0.813rem !important;
	font-weight: 600 !important;
	transition: var(--transition-smooth) !important;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}
.woocommerce-MyAccount-orders .woocommerce-button:hover {
	border-color: var(--color-accent) !important;
	color: var(--color-accent) !important;
	background-color: #fdf2f8 !important;
}
/* Reorder button style */
.woocommerce-MyAccount-orders .woocommerce-button.loja_master_reorder {
	background-color: var(--color-accent) !important;
	color: white !important;
	border-color: var(--color-accent) !important;
}
.woocommerce-MyAccount-orders .woocommerce-button.loja_master_reorder:hover {
	background-color: var(--color-text-primary) !important;
	border-color: var(--color-text-primary) !important;
}

/* My Account Orders Mobile Cards */
@media (max-width: 768px) {
	.woocommerce-MyAccount-orders, 
	.woocommerce-MyAccount-orders thead, 
	.woocommerce-MyAccount-orders tbody, 
	.woocommerce-MyAccount-orders tr, 
	.woocommerce-MyAccount-orders td {
		display: block;
		width: 100% !important;
		box-shadow: none;
		border: none;
		background: none;
	}
	.woocommerce-MyAccount-orders {
		border: none;
		background: none;
	}
	.woocommerce-MyAccount-orders thead {
		display: none !important;
	}
	.woocommerce-MyAccount-orders tr {
		background: var(--color-bg-primary);
		border: 1px solid var(--color-border);
		border-radius: 5px;
		margin-bottom: 16px;
		padding: 20px;
		box-shadow: var(--shadow-sm);
	}
	.woocommerce-MyAccount-orders td {
		padding: 8px 0;
		border-bottom: 1px dashed var(--color-border);
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-align: right;
	}
	.woocommerce-MyAccount-orders td:last-of-type {
		border-bottom: none;
	}
	.woocommerce-MyAccount-orders td::before {
		content: attr(data-title) ": ";
		font-weight: 700;
		color: var(--color-text-primary);
		text-align: left;
		margin-right: 16px;
		font-size: 0.813rem;
		text-transform: uppercase;
		letter-spacing: 0.02em;
	}
	.woocommerce-MyAccount-orders td.order-actions {
		margin-top: 12px;
		padding-top: 12px;
		justify-content: flex-end;
		gap: 8px;
		flex-wrap: wrap;
		border-top: 1px dashed var(--color-border);
	}
	.woocommerce-MyAccount-orders td.order-actions .woocommerce-button {
		width: auto;
		flex: 1;
		justify-content: center;
		min-width: 110px;
	}
}

/* Botão Voltar ao Topo (Back to Top) */
.back-to-top-btn {
	position: fixed;
	bottom: 102px; /* Posicionado acima do widget de WhatsApp (30px + 56px + 16px) */
	right: 34px; /* Centralizado horizontalmente com o WhatsApp */
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	color: var(--color-text-secondary);
	box-shadow: var(--shadow-md);
	display: none; /* Oculto por padrão no mobile */
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 9999;
	opacity: 0;
	pointer-events: none;
	transform: translateY(10px);
	transition: opacity 0.3s ease, transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

.back-to-top-btn.visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.back-to-top-btn:hover {
	background-color: var(--color-accent);
	border-color: var(--color-accent);
	color: #ffffff;
	box-shadow: var(--shadow-lg);
	transform: translateY(-2px);
}

.back-to-top-btn span {
	font-size: 24px;
}

@media (min-width: 769px) {
	.back-to-top-btn {
		display: flex;
	}
}

/* ==========================================
   22. CHECKOUT SEM DISTRAÇÕES
   ========================================== */
.site-header--checkout {
	background-color: var(--color-bg-primary);
	border-bottom: 1px solid var(--color-border);
	padding: 10px 0;
	box-shadow: var(--shadow-sm);
}

.header-container--checkout {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.checkout-security-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	background-color: #f0fdf4; /* Fundo verde clarinho de sucesso */
	border: 1px solid #bbf7d0;
	border-radius: 3px;
}

.checkout-security-badge .security-icon {
	color: #16a34a; /* Verde sucesso */
	font-size: 20px;
}

.checkout-security-badge .security-text {
	display: flex;
	flex-direction: column;
	text-align: left;
}

.checkout-security-badge .security-title {
	font-size: 0.813rem;
	font-weight: 700;
	color: #14532d;
}

.checkout-security-badge .security-desc {
	font-size: 0.688rem;
	color: #15803d;
}

@media (max-width: 480px) {
	.header-container--checkout {
		flex-direction: column;
		height: auto;
		gap: 12px;
		padding: 12px 16px;
	}
	.checkout-security-badge {
		width: 100%;
		justify-content: center;
	}
}

/* Rodapé Minimalista */
.footer-checkout-minimal {
	background-color: var(--color-bg-primary);
	border-top: 1px solid var(--color-border);
	padding: 30px 0;
	color: var(--color-text-secondary);
}

.footer-checkout-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	text-align: center;
}

.footer-checkout-trust {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	border-bottom: 1px dashed var(--color-border);
	padding-bottom: 16px;
	gap: 16px;
	flex-wrap: wrap;
}

.checkout-trust-badges {
	display: flex;
	gap: 16px;
}

.trust-badge-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.813rem;
	font-weight: 600;
	color: var(--color-text-primary);
}

.trust-badge-item span {
	font-size: 18px;
	color: #16a34a;
}

.checkout-payment-methods {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.checkout-payment-methods .payment-badge {
	font-size: 0.75rem;
	font-weight: 600;
	background-color: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	padding: 4px 10px;
	border-radius: 2px;
	color: var(--color-text-secondary);
}

.footer-checkout-legal {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.footer-checkout-legal .copyright-text {
	font-size: 0.813rem;
	font-weight: 600;
	color: var(--color-text-primary);
}

.footer-checkout-legal .company-details-text {
	font-size: 0.75rem;
	color: var(--color-text-muted);
	line-height: 1.6;
}

@media (max-width: 768px) {
	.footer-checkout-trust {
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}
	.checkout-trust-badges {
		justify-content: center;
		width: 100%;
	}
	.checkout-payment-methods {
		justify-content: center;
		width: 100%;
	}
}

/* ==========================================
   23. ESTILIZAÇÃO DO CARD DE PRODUTOS (GRID VIEW)
   ========================================== */
.product-card-price-action-wrap {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	margin-top: 12px;
	border-top: 1px dashed var(--color-border);
	padding-top: 12px;
}

.product-card-cart-form {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.product-card-cart-form .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--color-border);
	border-radius: 3px;
	background-color: var(--color-bg-secondary);
	overflow: hidden;
	height: 38px;
	flex-shrink: 0;
}

.product-card-cart-form .quantity input.qty {
	width: 40px;
	height: 100%;
	border: none;
	background: transparent;
	text-align: center;
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--color-text-primary);
	-moz-appearance: textfield;
}

.product-card-cart-form .quantity input.qty::-webkit-outer-spin-button,
.product-card-cart-form .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.product-card-cart-form .quantity .qty-btn {
	background: transparent;
	border: none;
	width: 28px;
	height: 100%;
	cursor: pointer;
	font-weight: 600;
	color: var(--color-text-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--transition-smooth);
}

.product-card-cart-form .quantity .qty-btn:hover {
	background-color: var(--color-border);
	color: var(--color-text-primary);
}

.add-to-cart-quick-btn {
	flex: 1;
	height: 38px;
	padding: 0 12px;
	border-radius: 3px;
	background-color: var(--color-primary);
	color: #ffffff;
	border: none;
	font-weight: 600;
	font-size: 0.813rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	cursor: pointer;
	transition: var(--transition-smooth);
	white-space: nowrap;
}

.add-to-cart-quick-btn:hover {
	background-color: var(--color-primary-hover);
}

.add-to-cart-quick-btn span {
	font-size: 16px;
}

.product-card-stock {
	margin-top: 8px;
	display: flex;
	align-items: center;
}

.stock-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0.75rem;
	font-weight: 600;
	padding: 4px 8px;
	border-radius: 2px;
}

.stock-badge.in-stock {
	background-color: #f0fdf4;
	color: #16a34a;
}

.stock-badge.in-stock span {
	font-size: 14px;
}

.stock-badge.out-stock {
	background-color: #fef2f2;
	color: #ef4444;
}

.stock-badge.out-stock span {
	font-size: 14px;
}

/* ==========================================
   24. LIST VIEW EM FORMATO DE TABELA B2B
   ========================================== */
.products-layout-list ul.products {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.products-layout-list .product-card-item-loop {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.products-layout-list .product-card-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
	background-color: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	gap: 24px;
	box-shadow: var(--shadow-sm);
	transition: var(--transition-smooth);
}

.products-layout-list .product-card-inner:hover {
	border-color: var(--color-accent);
	box-shadow: var(--shadow-md);
	transform: translateY(-1px);
}

.products-layout-list .product-card-badge-actions {
	position: static;
	display: flex;
	flex-direction: row;
	gap: 8px;
	opacity: 1;
	visibility: visible;
}

.products-layout-list .product-card-badge-actions .badge-action-btn {
	background-color: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	width: 36px;
	height: 36px;
	color: var(--color-text-secondary);
}

.products-layout-list .product-card-image-link {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
}

.products-layout-list .product-card-image {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 3px;
	border: 1px solid var(--color-border);
}

.products-layout-list .product-card-details {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 0;
}

.products-layout-list .product-card-details-info {
	flex: 2;
	min-width: 200px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-align: left;
}

.products-layout-list .product-card-sku {
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.products-layout-list .product-card-title {
	font-size: 0.938rem;
	font-weight: 600;
	color: var(--color-text-primary);
	margin: 0;
}

.products-layout-list .product-card-stock {
	flex: 1;
	min-width: 120px;
	display: flex;
	justify-content: flex-start;
}

.products-layout-list .product-card-price-action-wrap {
	flex: 2;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
	border-top: none;
	padding-top: 0;
	margin-top: 0;
}

.products-layout-list .product-card-price {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--color-primary);
	white-space: nowrap;
}

.products-layout-list .product-card-gated-info {
	display: flex;
	align-items: center;
	gap: 12px;
}

.products-layout-list .product-card-cart-form {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.products-layout-list .product-card-cart-form .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--color-border);
	border-radius: 3px;
	background-color: var(--color-bg-secondary);
	overflow: hidden;
	height: 38px;
}

.products-layout-list .product-card-cart-form .quantity input.qty {
	width: 48px;
	height: 100%;
	border: none;
	background: transparent;
	text-align: center;
	font-weight: 600;
	color: var(--color-text-primary);
	-moz-appearance: textfield;
}

.products-layout-list .product-card-cart-form .quantity input.qty::-webkit-outer-spin-button,
.products-layout-list .product-card-cart-form .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.products-layout-list .product-card-cart-form .quantity .qty-btn {
	background: transparent;
	border: none;
	width: 32px;
	height: 100%;
	cursor: pointer;
	font-weight: 600;
	color: var(--color-text-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--transition-smooth);
}

.products-layout-list .product-card-cart-form .quantity .qty-btn:hover {
	background-color: var(--color-border);
	color: var(--color-text-primary);
}

.products-layout-list .add-to-cart-quick-btn {
	height: 38px;
	padding: 0 16px;
	border-radius: 3px;
	background-color: var(--color-primary);
	color: #ffffff;
	border: none;
	font-weight: 600;
	font-size: 0.875rem;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	transition: var(--transition-smooth);
}

.products-layout-list .add-to-cart-quick-btn:hover {
	background-color: var(--color-primary-hover);
}

@media (max-width: 991px) {
	.products-layout-list .product-card-inner {
		flex-wrap: wrap;
		gap: 16px;
		padding: 16px;
	}
	.products-layout-list .product-card-details {
		flex-wrap: wrap;
		gap: 16px;
	}
	.products-layout-list .product-card-details-info {
		flex: 1 1 100%;
	}
	.products-layout-list .product-card-stock {
		flex: 1 1 auto;
	}
	.products-layout-list .product-card-price-action-wrap {
		flex: 1 1 100%;
		justify-content: space-between;
		border-top: 1px dashed var(--color-border);
		padding-top: 12px;
		margin-top: 0;
	}
}

@media (max-width: 576px) {
	.products-layout-list .product-card-inner {
		align-items: flex-start;
	}
	.products-layout-list .product-card-details {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
	.products-layout-list .product-card-price-action-wrap {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	.products-layout-list .product-card-price {
		text-align: left;
	}
	.products-layout-list .product-card-cart-form {
		justify-content: space-between;
	}
}

/* ==========================================
   25. SINGLE PRODUCT LAYOUT & CHECKOUT CARD OVERRIDES (v2.3.5)
   ========================================== */

/* Remove background, border, shadow and padding from the main wrapper container to keep items separated */
.single-product div.product {
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin-top: 30px;
	margin-bottom: 50px;
}

/* Modern Grid Layout on Desktop for Single Product */
@media (min-width: 992px) {
	.single-product div.product {
		display: grid !important;
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
		gap: 40px;
		align-items: start;
	}
	.single-product div.product div.images,
	.single-product div.product div.summary {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		float: none !important;
		margin: 0 !important;
	}
}

@media (max-width: 991px) {
	.single-product div.product {
		display: flex !important;
		flex-direction: column !important;
		padding: 0 !important;
		gap: 32px;
	}
	.single-product div.product div.images,
	.single-product div.product div.summary {
		width: 100% !important;
		float: none !important;
		margin: 0 !important;
	}
}

/* Transparent Summary container with layout flow spacing and element ordering */
.single-product .summary {
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important; /* Espaçamento menor geral */
}

/* Reordenação visual da coluna de resumo (Estoque abaixo do título) */
.single-product .summary .single-product-title-row {
	order: 1 !important;
}

.single-product .summary .product_title {
	margin-bottom: 2px !important;
}

.single-product .summary .stock {
	order: 2 !important;
	margin-bottom: 4px !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: #64748b !important;
}

.single-product .summary .stock.out-of-stock,
.single-product .summary .stock.lm-back-in-stock {
	color: var(--color-error) !important;
}

.single-product .summary .lm-back-in-stock-form {
	order: 6 !important;
	margin-top: 4px;
	padding: 20px;
	background: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-radius: 12px;
}

.lm-back-in-stock-form-title {
	font-size: 0.938rem;
	font-weight: 600;
	color: var(--color-text-primary);
	margin-bottom: 12px;
}

.lm-back-in-stock-form-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.lm-notify-email-input {
	flex: 1 1 220px;
	min-width: 0;
	padding: 12px 14px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	font-size: 0.938rem;
}

.lm-notify-submit-btn {
	flex: 0 0 auto;
	padding: 12px 18px !important;
	background: var(--color-accent) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	cursor: pointer;
}

.lm-notify-submit-btn:hover {
	background: #be185d !important;
}

.lm-notify-submit-btn.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

.lm-back-in-stock-feedback {
	margin-top: 10px;
	font-size: 0.875rem;
	font-weight: 500;
}

.lm-back-in-stock-feedback.is-success {
	color: var(--color-success);
}

.lm-back-in-stock-feedback.is-error {
	color: var(--color-error);
}

.single-product .summary .price {
	order: 3 !important;
	margin-bottom: 4px !important;
}

.single-product .summary .lm-product-price-block {
	order: 3 !important;
	margin-bottom: 4px !important;
}

.single-product .summary .lm-qty-rule-hint {
	order: 4 !important;
	margin: 0 0 8px !important;
}

.single-product .summary .single-product-subtotal-display {
	order: 5 !important;
}

.single-product .summary form.cart,
.single-product .summary .single-product-login-cta-wrapper {
	order: 6 !important;
}

.single-product .summary .product_meta {
	order: 7 !important;
}

/* Single Product Premium Gallery Box - Swiper */
.single-product .woocommerce-product-gallery {
	--lm-gallery-stage-height: 420px;
	background-color: #ffffff !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 12px !important;
	padding: 24px !important;
	box-shadow: var(--shadow-sm) !important;
	opacity: 1 !important;
	overflow: hidden !important;
	max-width: 100%;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}

.single-product div.product div.images {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.lm-product-gallery {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.lm-product-gallery .swiper {
	max-width: 100%;
}

.lm-product-gallery__main {
	position: relative;
	height: var(--lm-gallery-stage-height);
	width: 100%;
	max-width: 100%;
	background: #ffffff;
	border-radius: 8px;
	overflow: hidden;
}

.lm-product-gallery__main:not(.swiper-initialized) .swiper-wrapper {
	display: block;
}

.lm-product-gallery__main:not(.swiper-initialized) .swiper-slide:not(:first-child) {
	display: none;
}

.lm-product-gallery__main .swiper-wrapper {
	align-items: stretch;
}

.lm-product-gallery__slide {
	height: var(--lm-gallery-stage-height);
	max-height: var(--lm-gallery-stage-height);
	box-sizing: border-box;
	overflow: hidden;
}

.lm-product-gallery__slide > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.lm-product-gallery__slide > a.lm-gallery-zoom-target {
	overflow: hidden;
	cursor: zoom-in;
}

.lm-product-gallery__slide > a.lm-gallery-zoom-target img {
	transition: transform 0.08s ease-out;
	will-change: transform;
}

.lm-product-gallery__slide img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: var(--lm-gallery-stage-height);
	margin: 0 auto;
	object-fit: contain;
	object-position: center center;
}

.lm-product-gallery__main-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	color: var(--color-text-primary);
	cursor: pointer;
	padding: 0;
	box-shadow: var(--shadow-sm);
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.lm-product-gallery__main-nav:hover:not(.swiper-button-disabled) {
	background: #0f2c59;
	color: #ffffff;
	border-color: #0f2c59;
	transform: translateY(-50%) scale(1.05);
}

.lm-product-gallery__main-nav.swiper-button-disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.lm-product-gallery__main-nav .material-symbols-outlined {
	font-size: 24px;
}

.lm-product-gallery__main-prev {
	left: 12px;
}

.lm-product-gallery__main-next {
	right: 12px;
}

.lm-product-gallery:focus {
	outline: none;
}

.lm-product-gallery:focus-visible {
	outline: 2px solid #0f2c59;
	outline-offset: 4px;
	border-radius: 8px;
}

.lm-product-gallery__thumbs-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
}

.lm-product-gallery__thumbs {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}

.lm-product-gallery__thumbs .swiper-slide {
	width: 80px;
	flex-shrink: 0;
}

.lm-product-gallery__thumbs-nav {
	flex: 0 0 32px;
	width: 32px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border);
	border-radius: 6px;
	background: #ffffff;
	color: var(--color-text-secondary);
	cursor: pointer;
	padding: 0;
	transition: var(--transition-smooth);
}

.lm-product-gallery__thumbs-nav:hover:not(.swiper-button-disabled) {
	border-color: var(--color-accent);
	color: var(--color-accent);
	background: rgba(219, 39, 119, 0.06);
}

.lm-product-gallery__thumbs-nav.swiper-button-disabled {
	opacity: 0.35;
	cursor: default;
}

.lm-product-gallery__thumbs-nav .material-symbols-outlined {
	font-size: 22px;
}

.lm-product-gallery__thumb-slide {
	height: 80px;
	box-sizing: border-box;
	border: 2px solid var(--color-border);
	border-radius: 6px;
	overflow: hidden;
	cursor: pointer;
	opacity: 0.7;
	transition: var(--transition-smooth);
}

.lm-product-gallery__thumb-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lm-product-gallery__thumb-slide.swiper-slide-thumb-active,
.lm-product-gallery__thumb-slide:hover {
	border-color: var(--color-accent);
	box-shadow: 0 4px 12px rgba(219, 39, 119, 0.2);
	opacity: 1;
}

.lm-product-gallery__thumb-slide--video {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f8fafc;
}

.lm-product-gallery__video-thumb-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	width: 100%;
	height: 100%;
	color: var(--color-accent);
}

.lm-product-gallery__video-thumb-inner .material-symbols-outlined {
	font-size: 28px;
	line-height: 1;
}

.lm-product-gallery__video-thumb-label {
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.1;
	text-align: center;
}

.lm-product-gallery__slide--video {
	background: #0f172a;
}

.lm-product-gallery__video-stage {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #000000;
}

.lm-product-gallery__video-iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #000000;
}

.lm-product-gallery-ready > .video-thumbnail-item {
	display: none !important;
}

.lm-product-gallery-ready .flex-viewport,
.lm-product-gallery-ready > .woocommerce-product-gallery__wrapper,
.lm-product-gallery-ready > .flex-control-nav {
	display: none !important;
}

.single-product .woocommerce-product-gallery:not(.lm-product-gallery-ready) .woocommerce-product-gallery__wrapper {
	min-height: var(--lm-gallery-stage-height);
}

.single-product .woocommerce-product-gallery:not(.lm-product-gallery-ready) .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
	width: 100%;
}

.single-product .woocommerce-product-gallery:not(.lm-product-gallery-ready) .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child {
	display: block;
}

.single-product .woocommerce-product-gallery:not(.lm-product-gallery-ready) .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:not(:first-child) {
	display: none;
}

.single-product .woocommerce-product-gallery:not(.lm-product-gallery-ready) .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--lm-gallery-stage-height);
	width: 100%;
}

.single-product .woocommerce-product-gallery:not(.lm-product-gallery-ready) .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: var(--lm-gallery-stage-height);
	margin: 0 auto;
	object-fit: contain;
	object-position: center center;
}

@media (min-width: 992px) {
	.single-product div.product div.images,
	.single-product div.product .woocommerce-product-gallery.images {
		position: sticky;
		top: 24px;
		align-self: start;
		z-index: 2;
	}

	.single-product-media-column .woocommerce-product-gallery,
	.single-product-media-column div.images {
		position: static;
		top: auto;
		align-self: auto;
		z-index: auto;
	}
}

@media (max-width: 768px) {
	.single-product .woocommerce-product-gallery {
		--lm-gallery-stage-height: 320px;
		padding: 16px !important;
	}

	.lm-product-gallery__main-nav {
		width: 36px;
		height: 36px;
	}

	.lm-product-gallery__main-prev {
		left: 8px;
	}

	.lm-product-gallery__main-next {
		right: 8px;
	}

	.lm-product-gallery__thumbs .swiper-slide {
		width: 64px;
	}

	.lm-product-gallery__thumb-slide {
		height: 64px;
	}

	.lm-product-gallery__thumbs-nav {
		height: 64px;
		flex-basis: 28px;
		width: 28px;
	}

	.lm-product-gallery__video-thumb-inner .material-symbols-outlined {
		font-size: 24px;
	}
}

/* Single Product Compact & Subtle Checkout Card */
.single-product .summary.entry-summary form.cart,
.single-product-login-cta-wrapper {
	background-color: #ffffff !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 12px !important;
	padding: 20px !important; /* Reduzido de 30px para 20px */
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important; /* Sombra sutil */
	display: grid !important;
	grid-template-columns: 110px 1fr !important; /* Quantidade menor */
	gap: 12px !important; /* Espaço interno menor */
	align-items: center !important;
	margin-top: 8px !important;
	margin-bottom: 8px !important;
	float: none !important;
}

.single-product-login-cta-wrapper {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	padding: 20px !important;
	gap: 12px !important;
}

.single-product .summary.entry-summary form.cart table.variations {
	grid-column: span 2 !important;
	width: 100% !important;
}

/* Controles de Quantidade Compactos */
.single-product .summary.entry-summary form.cart .quantity,
.single-product .summary.entry-summary form.cart .lm-qty-enhanced {
	grid-column: 1 !important;
	width: 100% !important;
	max-width: 110px !important;
	margin: 0 !important;
	height: 42px !important; /* Altura compacta */
	display: flex !important;
}

.single-product .summary.entry-summary form.cart .lm-qty-enhanced {
	justify-content: space-between !important;
}

.single-product .summary.entry-summary form.cart .lm-qty-enhanced .qty-btn {
	flex: 0 0 36px !important;
	height: 42px !important;
	border-radius: 6px !important;
	font-size: 1rem !important;
}

.single-product .summary.entry-summary form.cart .lm-qty-enhanced input.qty {
	flex: 1 !important;
	height: 42px !important;
	font-size: 0.938rem !important;
}

/* Botão Adicionar ao Carrinho Compacto */
.single-product .summary.entry-summary form.cart .single_add_to_cart_button {
	grid-column: 2 !important;
	width: 100% !important;
	height: 42px !important; /* Altura compacta */
	justify-content: center !important;
	border-radius: 6px !important;
	font-size: 0.938rem !important;
	font-weight: 700 !important;
	margin: 0 !important;
	background-color: var(--color-accent) !important;
	box-shadow: 0 2px 6px rgba(219, 39, 119, 0.1) !important;
	transition: var(--transition-smooth) !important;
}

.single-product .summary.entry-summary form.cart .single_add_to_cart_button:hover {
	background-color: var(--color-primary) !important;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.15) !important;
}

/* Responsividade do Checkout Card */
@media (max-width: 480px) {
	.single-product .summary.entry-summary form.cart {
		grid-template-columns: 1fr !important;
		padding: 16px !important;
	}
	
	.single-product .summary.entry-summary form.cart .quantity,
	.single-product .summary.entry-summary form.cart .lm-qty-enhanced {
		grid-column: 1 !important;
		max-width: 100% !important;
	}
	
	.single-product .summary.entry-summary form.cart .single_add_to_cart_button {
		grid-column: 1 !important;
	}
	
	.single-product .summary.entry-summary form.cart table.variations,
	.single-product .summary.entry-summary form.cart .b2b-trust-badges {
		grid-column: 1 !important;
	}
}

/* Style dynamic single-product lot pricing block */
.lm-product-price-block {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.lm-product-price-block .lm-price-total {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}

.lm-product-price-block .lm-price-total-value {
	font-size: 2rem;
	font-weight: 800;
	line-height: 1.1;
	color: var(--color-accent);
	letter-spacing: -0.02em;
}

.lm-product-price-block .lm-price-total-label {
	display: none;
}

.lm-product-price-block .lm-price-unit {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-text-secondary);
	opacity: 0.85;
}

.lm-qty-rule-hint {
	display: inline-flex;
	align-items: center;
	margin: 0 0 12px;
	padding: 8px 12px;
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.3;
}

.single-product .summary.entry-summary > .lm-qty-rule-hint {
	display: inline-flex;
	align-self: flex-start;
}

.lm-qty-rule-hint.is-info {
	background: rgba(59, 130, 246, 0.1);
	color: #1d4ed8;
	border: 1px solid rgba(59, 130, 246, 0.18);
}

.lm-qty-rule-hint.is-success {
	background: rgba(34, 197, 94, 0.1);
	color: #15803d;
	border: 1px solid rgba(34, 197, 94, 0.18);
}

.sticky-bar-price-wrap .lm-sticky-price-total {
	display: block;
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--color-accent);
	line-height: 1.1;
}

.sticky-bar-price-wrap .lm-sticky-price-unit {
	display: block;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--color-text-secondary);
	margin-top: 2px;
}

.single-product-subtotal-display {
	background-color: rgba(219, 39, 119, 0.05) !important;
	border: 1px solid rgba(219, 39, 119, 0.15) !important;
	color: var(--color-accent) !important;
	font-weight: 700 !important;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	font-size: 0.875rem !important;
	text-align: center !important;
	margin-bottom: 8px !important;
	width: 100% !important;
	box-shadow: var(--shadow-sm) !important;
	transition: var(--transition-smooth) !important;
}

.single-product-subtotal-display:empty {
	display: none !important;
}

/* Trust Badges Styling */
.b2b-trust-badges {
	margin-top: 10px !important;
	padding-top: 20px !important;
	border-top: 1px solid var(--color-border) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	width: 100% !important;
}

.b2b-trust-badges--product-strip {
	grid-column: 1 / -1 !important;
	margin: 24px 0 0 !important;
	padding: 18px 24px !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	box-shadow: var(--shadow-sm) !important;
	flex-direction: row !important;
	align-items: stretch !important;
	justify-content: space-between !important;
	gap: 20px !important;
}

.b2b-trust-badges--product-strip .trust-badge-item {
	flex: 1 1 0;
	min-width: 0;
}

@media (max-width: 768px) {
	.b2b-trust-badges--product-strip {
		flex-direction: column !important;
		padding: 16px !important;
		gap: 14px !important;
	}
}

.trust-badge-item {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	text-align: left !important;
}

.trust-badge-item .material-symbols-outlined {
	color: var(--color-success) !important;
	font-size: 20px !important;
	margin-top: 2px !important;
	font-variation-settings: 'FILL' 1 !important;
}

.trust-badge-item .badge-text {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}

.trust-badge-item .badge-text strong {
	font-size: 0.813rem !important;
	color: var(--color-text-primary) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}

.trust-badge-item .badge-text span {
	font-size: 0.75rem !important;
	color: var(--color-text-secondary) !important;
	line-height: 1.3 !important;
}

/* Tabs & Related products full-width column span */
.single-product div.product .woocommerce-tabs,
.single-product div.product .related.products,
.single-product div.product .up-sells.products {
	grid-column: span 2 !important;
	width: 100% !important;
}

/* Full Width Tabs box */
.single-product .woocommerce-tabs {
	background-color: #ffffff;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	padding: 28px 32px 32px;
	box-shadow: var(--shadow-sm);
	margin-top: 30px;
}

/* Related Products container enhancements */
.related.products {
	margin-top: 40px;
}

.related-header-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
	border-bottom: 2px solid var(--color-border);
	padding-bottom: 12px;
}

.related-header-wrap h2 {
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--color-text-primary);
	margin: 0;
}

/* Carousel Navigation inside Related Products Header */
.related-header-wrap .carousel-nav-arrows {
	display: flex;
	gap: 8px;
}

.related-header-wrap .carousel-nav-btn {
	position: static !important;
	transform: none !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	border: 1px solid var(--color-border) !important;
	color: var(--color-text-secondary) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: var(--transition-smooth) !important;
}

.related-header-wrap .carousel-nav-btn:hover {
	background: var(--color-accent) !important;
	color: #ffffff !important;
	border-color: var(--color-accent) !important;
	box-shadow: 0 4px 10px rgba(219, 39, 119, 0.15) !important;
}

/* Related Products Carousel Compact sizing */
.related.products .snap-scroll-carousel > .product-card {
	flex: 0 0 calc(20% - 16px) !important; /* 5 items simultaneously on desktop */
	scroll-snap-align: start;
	min-width: 0;
}

@media (max-width: 1200px) {
	.related.products .snap-scroll-carousel > .product-card {
		flex: 0 0 calc(25% - 15px) !important; /* 4 items */
	}
}

@media (max-width: 991px) {
	.related.products .snap-scroll-carousel > .product-card {
		flex: 0 0 calc(33.333% - 14px) !important; /* 3 items */
	}
}

@media (max-width: 768px) {
	.related.products .snap-scroll-carousel > .product-card {
		flex: 0 0 calc(50% - 10px) !important; /* 2 items */
	}
}

@media (max-width: 480px) {
	.related.products .snap-scroll-carousel > .product-card {
		flex: 0 0 80% !important; /* 1.2 items */
	}
}

/* General WooCommerce High Specificity Override for Primary Buttons (brand pink) */
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt, 
.woocommerce #respond input#submit.alt, 
.woocommerce #content input.button.alt,
.woocommerce a.button:not(.secondary), 
.woocommerce button.button:not(.secondary), 
.woocommerce input.button:not(.secondary), 
.woocommerce #respond input#submit:not(.secondary), 
.woocommerce #content input.button:not(.secondary),
.add-to-cart-quick-btn {
	background-color: var(--color-accent) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 3px !important;
	font-weight: 600 !important;
	transition: var(--transition-smooth) !important;
	box-shadow: var(--shadow-sm);
}

.woocommerce a.button.alt:hover, 
.woocommerce button.button.alt:hover, 
.woocommerce input.button.alt:hover, 
.woocommerce #respond input#submit.alt:hover, 
.woocommerce #content input.button.alt:hover,
.woocommerce a.button:not(.secondary):hover, 
.woocommerce button.button:not(.secondary):hover, 
.woocommerce input.button:not(.secondary):hover, 
.woocommerce #respond input#submit:not(.secondary):hover, 
.woocommerce #content input.button:not(.secondary):hover,
.add-to-cart-quick-btn:hover {
	background-color: #0f172a !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.2) !important;
}

/* Secondary/Alternative button for product cards (Ver Item) - Sophisticated Navy Blue */
.view-product-btn,
.woocommerce a.button.secondary,
.woocommerce button.button.secondary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	height: 38px !important;
	border: none !important;
	border-radius: 3px !important;
	background-color: #0f172a !important; /* Navy Dark Color */
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 0.813rem !important;
	cursor: pointer !important;
	transition: var(--transition-smooth) !important;
	width: 100% !important;
	text-align: center !important;
	margin: 0 !important;
	box-shadow: var(--shadow-sm) !important;
}

.view-product-btn:hover,
.woocommerce a.button.secondary:hover,
.woocommerce button.button.secondary:hover {
	background-color: var(--color-accent) !important; /* Brand Pink Color */
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(219, 39, 119, 0.35) !important;
}

.view-product-btn span,
.woocommerce a.button.secondary span {
	font-size: 16px !important;
}

.view-product-btn.full-width-btn {
	margin-top: 0 !important;
}

/* Adjustments for secondary button on tabular list view */
.products-layout-list .view-product-btn {
	width: auto !important;
	min-width: 120px !important;
	padding: 0 16px !important;
	margin-top: 0 !important;
}

/* Keep card quantity form elements properly aligned */
.product-card-cart-form {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
}

/* ==========================================
   ASAAS PAYMENT GATEWAY & CHECKOUT PAYMENT
   Premium B2B Checkout Experience
   ========================================== */

/* --- Payment Section Container --- */
#payment {
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

/* --- Payment Methods List --- */
.woocommerce-checkout #payment ul.payment_methods,
ul.wc_payment_methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 16px 0 !important;
	border: none !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* --- Each Payment Method Item --- */
.woocommerce-checkout #payment ul.payment_methods li,
ul.wc_payment_methods li.wc_payment_method {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	position: relative;
}

/* --- Radio Buttons — pull inside the label card --- */
.woocommerce-checkout #payment ul.payment_methods li > input[type="radio"],
ul.wc_payment_methods li.wc_payment_method > input[type="radio"] {
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
	z-index: 2;
	accent-color: var(--color-accent);
	width: 16px;
	height: 16px;
	margin: 0 !important;
	cursor: pointer;
}

/* When payment_box is open, radio needs to align to the label top */
.woocommerce-checkout #payment ul.payment_methods li > input[type="radio"]:checked {
	top: 22px;
	transform: none;
}

/* --- Method Label — styled as selectable card --- */
.woocommerce-checkout #payment ul.payment_methods li > label,
ul.wc_payment_methods li.wc_payment_method > label {
	display: block !important;
	padding: 14px 16px 14px 44px !important;
	margin: 0 !important;
	cursor: pointer;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-text-primary);
	border: 1px solid var(--color-border);
	border-radius: 5px;
	transition: var(--transition-smooth);
	background: var(--color-bg-primary);
	border-left: 3px solid transparent;
}

.woocommerce-checkout #payment ul.payment_methods li > label:hover {
	border-color: var(--color-border);
	border-left-color: var(--color-accent);
	background: #fefcfd;
}

/* Selected state — left accent bar */
.woocommerce-checkout #payment ul.payment_methods li > input[type="radio"]:checked ~ label {
	border-color: var(--color-accent);
	border-left-color: var(--color-accent);
	background: linear-gradient(135deg, #fdf2f8 0%, #ffffff 100%);
	border-radius: 5px 5px 0 0;
}

/* --- Payment Box (expanded content) --- */
.woocommerce-checkout #payment div.payment_box,
div.payment_box {
	background: var(--color-bg-primary) !important;
	border: 1px solid var(--color-accent) !important;
	border-top: none !important;
	border-radius: 0 0 5px 5px !important;
	margin: 0 !important;
	padding: 16px 16px 20px 16px !important;
	color: var(--color-text-secondary) !important;
	font-size: 0.875rem !important;
	box-shadow: 0 4px 12px rgba(219, 39, 119, 0.06) !important;
}

/* Remove WC default triangle */
.woocommerce-checkout #payment div.payment_box::before,
div.payment_box::before {
	display: none !important;
}

/* Description paragraph */
.payment_box > p:first-child {
	margin: 0 0 14px 0 !important;
	font-size: 0.75rem;
	color: var(--color-text-muted);
	line-height: 1.4;
	font-style: italic;
}

/* ====== CREDIT CARD FORM ====== */

/* Form Wrapper — tight flexbox grid */
.asaas-cc-form-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* All form fields — reset margins */
.asaas-cc-form-wrapper .asaas-cc-form-field {
	margin: 0 !important;
	padding: 0 !important;
}

/* Full width fields */
.asaas-cc-form-wrapper .form-row-wide {
	width: 100% !important;
	flex: 0 0 100%;
}

/* Side-by-side fields (month/year) */
.asaas-cc-form-wrapper .form-row-first {
	flex: 1 1 calc(50% - 5px);
	min-width: 80px;
}

.asaas-cc-form-wrapper .form-row-last {
	flex: 1 1 calc(50% - 5px);
	min-width: 80px;
}

/* --- Labels — refined, NOT uppercase --- */
.asaas-cc-form-wrapper label,
.asaas-cc-form-field label {
	display: block !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	color: var(--color-text-secondary) !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	margin-bottom: 4px !important;
	line-height: 1.3;
}

/* Expiration header label — smaller, muted divider */
.asaas-cc-form-field-no-margin {
	padding-top: 2px !important;
}

.asaas-cc-form-field-no-margin label {
	font-size: 0.688rem !important;
	color: var(--color-text-muted) !important;
	margin-bottom: 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
}

/* --- Input Fields — clean and modern --- */
.asaas-cc-form-wrapper input.input-text,
.asaas-cc-form-field input.input-text {
	width: 100% !important;
	height: 40px !important;
	padding: 0 12px !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 4px !important;
	font-size: 0.875rem !important;
	font-family: var(--font-sans) !important;
	color: var(--color-text-primary) !important;
	background-color: var(--color-bg-secondary) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
	outline: none !important;
	box-shadow: none !important;
}

.asaas-cc-form-wrapper input.input-text:focus,
.asaas-cc-form-field input.input-text:focus {
	border-color: var(--color-accent) !important;
	background-color: var(--color-bg-primary) !important;
	box-shadow: 0 0 0 3px rgba(219, 39, 119, 0.08) !important;
}

.asaas-cc-form-wrapper input.input-text::placeholder {
	color: var(--color-text-muted) !important;
	font-size: 0.813rem;
}

/* Suppress red outlines until user actually interacts */
.asaas-cc-form-field.woocommerce-invalid input.input-text:not(:focus) {
	border-color: var(--color-border) !important;
}

/* --- CVV Field — compact width --- */
#asaas-cc-security-code_field {
	max-width: 140px;
}

/* ====== INSTALLMENTS SELECT (if visible) ====== */
.asaas-cc-form-wrapper select,
.asaas-cc-form-field select {
	width: 100% !important;
	height: 40px !important;
	padding: 0 12px !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 4px !important;
	font-size: 0.875rem !important;
	font-family: var(--font-sans) !important;
	color: var(--color-text-primary) !important;
	background-color: var(--color-bg-secondary) !important;
	cursor: pointer;
	transition: border-color 0.2s ease !important;
}

.asaas-cc-form-wrapper select:focus,
.asaas-cc-form-field select:focus {
	border-color: var(--color-accent) !important;
	box-shadow: 0 0 0 3px rgba(219, 39, 119, 0.08) !important;
	outline: none !important;
}

/* ====== BOLETO & PIX BOXES ====== */
.payment_method_asaas-ticket .payment_box p,
.payment_method_asaas-pix .payment_box p {
	font-size: 0.813rem;
	color: var(--color-text-secondary);
	margin: 0;
	line-height: 1.5;
	font-style: italic;
}

/* ====== ASAAS ONE-CLICK / CARTÃO SALVO ====== */
.one-click-buy-label {
	margin: 0 0 10px !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: var(--color-text-primary) !important;
}

.one-click-buy-label .optional,
.one-click-buy-option .optional {
	display: none !important;
}

.one-click-buy-option {
	position: relative !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

/* Keep radios in the DOM for POST, but use card UI */
.payment_box .one-click-buy-option > .input-radio,
.one-click-buy-option > input.input-radio[name="asaas_cc_options"] {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	pointer-events: none !important;
	left: 0 !important;
	top: 0 !important;
	transform: none !important;
}

.one-click-buy-option > label.radio {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 6px !important;
	border-left: 3px solid transparent !important;
	background: var(--color-bg-secondary) !important;
	color: var(--color-text-primary) !important;
	cursor: pointer !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	transition: var(--transition-smooth);
}

.one-click-buy-option > input.input-radio:checked + label.radio,
.one-click-buy-option > label.radio.is-selected {
	border-color: var(--color-accent) !important;
	border-left-color: var(--color-accent) !important;
	background: linear-gradient(135deg, #fdf2f8 0%, #ffffff 100%) !important;
	box-shadow: 0 2px 8px rgba(219, 39, 119, 0.08);
}

.one-click-buy-option .number,
.one-click-buy-option .bullets {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.04em;
}

.one-click-buy-option .brand {
	max-height: 22px;
	width: auto;
}

.one-click-buy-option .asaas-cc-form-wrapper {
	margin-top: 12px;
	width: 100%;
}

.one-click-buy-option.is-saved-card-selected .asaas-cc-form-wrapper,
.payment_box.lm-asaas-using-saved-card .one-click-buy-option .asaas-cc-form-wrapper {
	display: none !important;
}

/* ====== PLACE ORDER BUTTON ====== */
#place_order,
.woocommerce-checkout #payment #place_order {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100% !important;
	padding: 15px 24px !important;
	background: linear-gradient(135deg, var(--color-accent) 0%, #be185d 100%) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 5px !important;
	font-size: 0.938rem !important;
	font-weight: 700 !important;
	font-family: var(--font-sans) !important;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: var(--transition-smooth);
	box-shadow: 0 4px 14px rgba(219, 39, 119, 0.25) !important;
	margin-top: 12px !important;
	text-transform: uppercase;
}

#place_order:hover,
.woocommerce-checkout #payment #place_order:hover {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.35) !important;
	transform: translateY(-1px);
}

#place_order:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.2) !important;
}

/* ====== TERMS & PRIVACY ====== */
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper,
.woocommerce-terms-and-conditions-wrapper {
	font-size: 0.688rem !important;
	color: var(--color-text-muted) !important;
	line-height: 1.5;
	margin: 10px 0 2px 0 !important;
	padding: 0 !important;
}

.woocommerce-terms-and-conditions-wrapper a {
	color: var(--color-primary);
}

/* ====== MOBILE RESPONSIVE ====== */
@media (max-width: 576px) {
	.asaas-cc-form-wrapper {
		gap: 8px;
	}

	.asaas-cc-form-wrapper .form-row-first,
	.asaas-cc-form-wrapper .form-row-last {
		flex: 0 0 calc(50% - 4px);
	}

	#asaas-cc-security-code_field {
		max-width: 100%;
	}

	.woocommerce-checkout #payment ul.payment_methods li > label {
		padding: 12px 12px 12px 40px !important;
		font-size: 0.813rem;
	}

	.woocommerce-checkout #payment ul.payment_methods li > input[type="radio"] {
		left: 12px;
	}

	#place_order {
		padding: 14px 20px !important;
		font-size: 0.875rem !important;
	}

	.woocommerce-checkout #payment div.payment_box {
		padding: 14px !important;
	}
}

/* ==========================================
   32. PREMIUM B2B SINGLE PRODUCT REFINEMENTS
   ========================================== */

/* 32A. Meta Section Styling (SKU, Categories, Tags) */
.single-product .product_meta {
	margin-top: 15px !important;
	padding: 20px !important;
	background-color: var(--color-bg-secondary) !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 12px !important;
	font-size: 0.813rem !important;
	color: var(--color-text-secondary) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	box-shadow: none !important;
}

.single-product .product_meta > span {
	display: block !important;
	font-weight: 600 !important;
	color: var(--color-text-primary) !important;
}

.single-product .product_meta > span a {
	color: var(--color-primary) !important;
	background-color: #ffffff !important;
	border: 1px solid var(--color-border) !important;
	text-decoration: none !important;
	padding: 4px 12px !important;
	border-radius: 20px !important;
	font-weight: 500 !important;
	font-size: 0.75rem !important;
	display: inline-block !important;
	margin: 2px 4px 2px 0 !important;
	transition: var(--transition-smooth) !important;
}

.single-product .product_meta > span a:hover {
	color: #ffffff !important;
	background-color: var(--color-accent) !important;
	border-color: var(--color-accent) !important;
	box-shadow: 0 4px 10px rgba(219, 39, 119, 0.15) !important;
}

/* 32B. Related & Upsell Products Carousel Correction */
.woocommerce .related.products ul.products.snap-scroll-carousel,
.woocommerce .upsells.products ul.products.snap-scroll-carousel,
.woocommerce section.related ul.products.snap-scroll-carousel,
.woocommerce section.up-sells ul.products.snap-scroll-carousel {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow-x: auto !important;
	gap: 20px !important;
	grid-template-columns: none !important;
	padding-bottom: 12px !important;
}

.woocommerce .related.products ul.products.snap-scroll-carousel::before,
.woocommerce .related.products ul.products.snap-scroll-carousel::after,
.woocommerce .upsells.products ul.products.snap-scroll-carousel::before,
.woocommerce .upsells.products ul.products.snap-scroll-carousel::after {
	display: none !important;
}

.woocommerce .related.products ul.products.snap-scroll-carousel li.product-card-item-loop,
.woocommerce .upsells.products ul.products.snap-scroll-carousel li.product-card-item-loop {
	width: auto !important;
	flex: 0 0 calc(25% - 15px) !important;
	scroll-snap-align: start !important;
}

@media (max-width: 1024px) {
	.woocommerce .related.products ul.products.snap-scroll-carousel li.product-card-item-loop,
	.woocommerce .upsells.products ul.products.snap-scroll-carousel li.product-card-item-loop {
		flex: 0 0 calc(33.333% - 14px) !important;
	}
}

@media (max-width: 768px) {
	.woocommerce .related.products ul.products.snap-scroll-carousel,
	.woocommerce .upsells.products ul.products.snap-scroll-carousel {
		gap: 14px !important;
	}
	.woocommerce .related.products ul.products.snap-scroll-carousel li.product-card-item-loop,
	.woocommerce .upsells.products ul.products.snap-scroll-carousel li.product-card-item-loop {
		flex: 0 0 calc(50% - 10px) !important;
	}
}

@media (max-width: 480px) {
	.woocommerce .related.products ul.products.snap-scroll-carousel li.product-card-item-loop,
	.woocommerce .upsells.products ul.products.snap-scroll-carousel li.product-card-item-loop {
		flex: 0 0 80% !important;
	}
}

/* 32C. Card Button Margin Overrides */
.product-card .product-card-buttons-row form.cart,
.product-card .product-card-buttons-row .product-card-cart-form,
.product-card .add-to-cart-quick-btn,
.product-card .view-product-btn,
.product-card .product-card-added-label {
	margin: 0 !important;
}

/* 32D. Sticky Purchase Bar Price Alignment */
.b2b-sticky-bar-right-logged .sticky-bar-price-wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	justify-content: center !important;
}

.b2b-sticky-bar-right-logged .price,
.b2b-sticky-bar-right-logged .price del,
.b2b-sticky-bar-right-logged .price ins {
	margin: 0 !important;
	line-height: 1 !important;
}

/* My Account — order details table (view order) */
.woocommerce-account table.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	margin-top: 8px;
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	overflow: hidden;
}

.woocommerce-account table.woocommerce-table--order-details thead th {
	background: var(--color-bg-secondary);
	padding: 12px 16px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-text-secondary);
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-account table.woocommerce-table--order-details tbody td,
.woocommerce-account table.woocommerce-table--order-details tbody th {
	padding: 14px 16px;
	font-size: 0.875rem;
	border-bottom: 1px solid var(--color-border);
	vertical-align: top;
}

.woocommerce-account table.woocommerce-table--order-details tbody td.product-total,
.woocommerce-account table.woocommerce-table--order-details thead th.product-total {
	text-align: right;
	white-space: nowrap;
}

.woocommerce-account table.woocommerce-table--order-details tfoot th,
.woocommerce-account table.woocommerce-table--order-details tfoot td {
	padding: 12px 16px;
	font-size: 0.875rem;
	border-top: 1px solid var(--color-border);
	vertical-align: middle;
}

.woocommerce-account table.woocommerce-table--order-details tfoot th {
	text-align: left;
	font-weight: 600;
	color: var(--color-text-secondary);
	width: 42%;
}

.woocommerce-account table.woocommerce-table--order-details tfoot td {
	text-align: right;
	color: var(--color-text-primary);
}

.woocommerce-account table.woocommerce-table--order-details tfoot tr.order-total th,
.woocommerce-account table.woocommerce-table--order-details tfoot tr.order-total td {
	font-weight: 700;
	font-size: 1rem;
	background: var(--color-bg-secondary);
}

.woocommerce-account table.woocommerce-table--order-details .order-actions-button,
.woocommerce-account table.woocommerce-table--order-details .woocommerce-button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: 8px;
	padding: 8px 14px !important;
	font-size: 0.813rem !important;
	border-radius: 4px !important;
}

.woocommerce-account .te-delivery-estimate {
	margin: 16px 0 0;
	padding: 12px 16px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 8px;
	font-size: 0.875rem;
	color: #1e40af;
}

.woocommerce-account .woocommerce-customer-details {
	margin-top: 24px;
	padding: 24px;
	background: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-radius: 8px;
}

.woocommerce-account .woocommerce-customer-details .woocommerce-column__title {
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 12px;
}

/* ==========================================
   33. ORDER RECEIVED / PIX & BOLETO PAYMENT PAGES
   ========================================== */

.woocommerce-order-received .woocommerce,
.woocommerce-account .woocommerce-MyAccount-content {
	max-width: 920px;
}

.woocommerce-order-received .woocommerce {
	margin: 0 auto;
	padding: 32px 24px 80px;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-text-primary);
	margin-bottom: 24px;
	padding: 16px 20px;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	border-radius: 8px;
	color: #065f46;
}

.woocommerce-order-received ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	list-style: none;
	margin: 0 0 32px 0;
	padding: 0;
}

.woocommerce-order-received ul.woocommerce-order-overview li {
	background: var(--color-bg-primary);
	border: 1px solid #94a3b8;
	border-radius: 8px;
	padding: 14px 16px;
	font-size: 0.813rem;
	color: var(--color-text-primary);
	line-height: 1.4;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
	min-width: 0;
	overflow-wrap: break-word;
}

.woocommerce-order-received ul.woocommerce-order-overview li.order {
	grid-column: 1;
	grid-row: 1;
}

.woocommerce-order-received ul.woocommerce-order-overview li.date {
	grid-column: 2;
	grid-row: 1;
}

.woocommerce-order-received ul.woocommerce-order-overview li.total {
	grid-column: 3;
	grid-row: 1;
}

.woocommerce-order-received ul.woocommerce-order-overview li.email {
	grid-column: 1 / 3;
	grid-row: 2;
}

.woocommerce-order-received ul.woocommerce-order-overview li.method {
	grid-column: 3;
	grid-row: 2;
}

.woocommerce-order-received ul.woocommerce-order-overview li strong {
	display: block;
	font-size: 0.688rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #64748b;
	margin-bottom: 6px;
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 24px;
	margin-bottom: 24px;
	box-shadow: var(--shadow-sm);
}

/* Address columns — reset WooCommerce floats / Bootstrap-like col-* conflicts */
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
.woocommerce-order-received .woocommerce-customer-details .col2-set,
.woocommerce-account .woocommerce-customer-details .woocommerce-columns,
.woocommerce-account .woocommerce-customer-details .col2-set {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
	float: none !important;
	clear: both;
}

.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns::before,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns::after,
.woocommerce-order-received .woocommerce-customer-details .col2-set::before,
.woocommerce-order-received .woocommerce-customer-details .col2-set::after,
.woocommerce-account .woocommerce-customer-details .woocommerce-columns::before,
.woocommerce-account .woocommerce-customer-details .woocommerce-columns::after,
.woocommerce-account .woocommerce-customer-details .col2-set::before,
.woocommerce-account .woocommerce-customer-details .col2-set::after {
	display: none !important;
	content: none !important;
}

.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
.woocommerce-order-received .woocommerce-customer-details .col-1,
.woocommerce-order-received .woocommerce-customer-details .col-2,
.woocommerce-account .woocommerce-customer-details .woocommerce-column,
.woocommerce-account .woocommerce-customer-details .col-1,
.woocommerce-account .woocommerce-customer-details .col-2 {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	flex: none !important;
	clear: none !important;
	display: flex;
	flex-direction: column;
}

.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title,
.woocommerce-account .woocommerce-customer-details .woocommerce-column__title {
	margin: 0 0 12px;
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-text-primary);
}

.woocommerce-order-received .woocommerce-customer-details address,
.woocommerce-account .woocommerce-customer-details address {
	font-style: normal;
	line-height: 1.65;
	color: var(--color-text-primary);
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 16px 18px;
	margin: 0;
	word-break: normal;
	overflow-wrap: break-word;
	flex: 1;
}

.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--email,
.woocommerce-account .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-account .woocommerce-customer-details .woocommerce-customer-details--email {
	margin: 10px 0 0;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--color-text-secondary);
	overflow-wrap: anywhere;
	word-break: normal;
}

.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-account .woocommerce-order-details__title {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--color-text-primary);
	margin-bottom: 16px;
}

.lm-asaas-pix-payment,
.lm-asaas-ticket-payment {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin-bottom: 28px !important;
}

.lm-asaas-pix-payment__title,
.lm-asaas-ticket-payment__title {
	margin-bottom: 16px !important;
}

.lm-ticket-payment-card {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	box-shadow: var(--shadow-sm);
	overflow: hidden;
}

.lm-ticket-payment-card__header {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 20px 24px;
	background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
	border-bottom: 1px solid var(--color-border);
}

.lm-ticket-payment-card__icon {
	font-size: 2rem;
	color: var(--color-primary);
	flex-shrink: 0;
}

.lm-ticket-payment-card__badge {
	display: inline-block;
	font-size: 0.688rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-primary);
	background: #dbeafe;
	border: 1px solid #bfdbfe;
	border-radius: 999px;
	padding: 4px 10px;
	margin-bottom: 8px;
}

.lm-ticket-payment-card__lead {
	font-size: 0.938rem;
	color: var(--color-text-secondary);
	line-height: 1.5;
	margin: 0;
}

.lm-ticket-payment-card__body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lm-ticket-payment-card__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	background: var(--color-bg-secondary);
	border: 1px solid var(--color-border);
	border-radius: 8px;
}

.lm-ticket-payment-card__item-label {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-text-primary);
}

.lm-ticket-payment-card__button,
.woocommerce-order-details__asaas-ticket-button.lm-ticket-payment-card__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: auto !important;
	padding: 12px 20px !important;
	background: var(--color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: var(--transition-smooth);
}

.lm-ticket-payment-card__button:hover,
.woocommerce-order-details__asaas-ticket-button.lm-ticket-payment-card__button:hover {
	background: var(--color-primary-hover) !important;
	color: #fff !important;
}

.lm-pix-payment-card {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	box-shadow: var(--shadow-sm);
	overflow: hidden;
}

.lm-pix-payment-card__header {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 20px 24px;
	background: linear-gradient(135deg, #fdf2f8 0%, #ffffff 100%);
	border-bottom: 1px solid var(--color-border);
}

.lm-pix-payment-card__icon {
	font-size: 2rem;
	color: var(--color-accent);
	flex-shrink: 0;
}

.lm-pix-payment-card__badge {
	display: inline-block;
	font-size: 0.688rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-accent);
	background: #fce7f3;
	border: 1px solid #fbcfe8;
	border-radius: 999px;
	padding: 4px 10px;
	margin-bottom: 8px;
}

.lm-pix-payment-card__lead {
	font-size: 0.938rem;
	color: var(--color-text-secondary);
	line-height: 1.5;
	margin: 0;
}

.lm-pix-payment-card__body {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 28px;
	padding: 24px;
	align-items: start;
}

.lm-pix-qr-panel {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 12px;
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.lm-pix-qr-panel__image {
	display: block;
	width: 220px;
	height: 220px;
	object-fit: contain;
	border-radius: 4px;
}

.lm-pix-instructions-panel {
	min-width: 0;
}

.lm-pix-instructions__list,
.asaas-pix-instructions__list {
	margin: 0;
	padding-left: 1.25rem;
	color: var(--color-text-secondary);
	font-size: 0.875rem;
	line-height: 1.6;
}

.lm-pix-instructions__list li + li,
.asaas-pix-instructions__list li + li {
	margin-top: 10px;
}

.lm-pix-instructions__list li::marker,
.asaas-pix-instructions__list li::marker {
	color: var(--color-accent);
	font-weight: 700;
}

.lm-pix-copy-panel {
	padding: 20px 24px 24px;
	border-top: 1px solid var(--color-border);
	background: var(--color-bg-secondary);
}

.lm-pix-copy-panel__label {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-text-muted);
	margin-bottom: 10px;
}

.lm-pix-copy-panel__field {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 12px 14px;
	margin-bottom: 14px;
	max-height: 88px;
	overflow: auto;
}

.lm-pix-copy-panel__code,
.woocommerce-order-details__asaas-pix-payload {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
	font-size: 0.75rem;
	line-height: 1.5;
	color: var(--color-text-primary);
	word-break: break-all;
	margin: 0;
	white-space: pre-wrap;
}

.lm-pix-copy-panel__button,
.woocommerce-order-details__asaas-pix-button.lm-pix-copy-panel__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: auto !important;
	min-width: 220px;
	padding: 12px 20px !important;
	background: var(--color-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: var(--transition-smooth);
}

.lm-pix-copy-panel__button:hover,
.woocommerce-order-details__asaas-pix-button.lm-pix-copy-panel__button:hover {
	background: var(--color-accent-dark) !important;
	color: #fff !important;
}

.lm-pix-copy-panel__button .material-symbols-outlined {
	font-size: 1.125rem;
}

@media (max-width: 768px) {
	.woocommerce-order-received .woocommerce {
		padding: 24px 16px 64px;
	}

	.woocommerce-order-received ul.woocommerce-order-overview {
		grid-template-columns: 1fr;
	}

	.woocommerce-order-received ul.woocommerce-order-overview li.order,
	.woocommerce-order-received ul.woocommerce-order-overview li.date,
	.woocommerce-order-received ul.woocommerce-order-overview li.total,
	.woocommerce-order-received ul.woocommerce-order-overview li.email,
	.woocommerce-order-received ul.woocommerce-order-overview li.method {
		grid-column: auto;
		grid-row: auto;
	}

	.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
	.woocommerce-order-received .woocommerce-customer-details .col2-set,
	.woocommerce-account .woocommerce-customer-details .woocommerce-columns,
	.woocommerce-account .woocommerce-customer-details .col2-set {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.lm-pix-payment-card__body {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 20px 16px;
	}

	.lm-pix-qr-panel {
		max-width: 260px;
		margin: 0 auto;
	}

	.lm-pix-copy-panel__button,
	.woocommerce-order-details__asaas-pix-button.lm-pix-copy-panel__button {
		width: 100% !important;
	}
}

/* ==========================================
   34. ERROR / EMPTY STATE PAGES (404, SEO)
   ========================================== */
.lm-error-page-wrap {
	padding: 24px 0 64px;
}

.lm-error-page {
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	box-shadow: var(--shadow-sm);
	overflow: hidden;
}

.lm-error-page--embedded {
	border: none;
	box-shadow: none;
	background: transparent;
}

.lm-error-breadcrumb {
	padding: 16px 24px 0;
}

.lm-error-page-hero {
	padding: 28px 24px 32px;
	text-align: center;
	border-bottom: 1px solid var(--color-border);
	background: linear-gradient(180deg, rgba(253, 242, 248, 0.55) 0%, rgba(255, 255, 255, 0) 100%);
}

.lm-error-page--embedded .lm-error-page-hero {
	padding: 8px 0 24px;
	border-bottom: none;
	background: transparent;
}

.lm-error-page-code {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	height: 36px;
	padding: 0 14px;
	margin: 0 0 14px;
	border-radius: 999px;
	background: #fdf2f8;
	border: 1px solid #fbcfe8;
	color: var(--color-accent);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.lm-error-page-title {
	margin: 0 0 12px;
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 800;
	color: var(--color-text-primary);
	letter-spacing: -0.02em;
}

.lm-error-page-description {
	max-width: 640px;
	margin: 0 auto 24px;
	color: var(--color-text-secondary);
	font-size: 1rem;
	line-height: 1.6;
}

.lm-error-page-search {
	max-width: 640px;
	margin: 0 auto 24px;
}

.lm-error-search-form .search-input-group {
	display: flex;
	align-items: stretch;
	gap: 8px;
	background: #ffffff;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 6px;
	box-shadow: var(--shadow-sm);
}

.lm-error-search-form .search-field-ajax {
	flex: 1 1 auto;
	border: none;
	background: transparent;
	height: 44px;
	padding-left: 42px;
	font-size: 0.938rem;
}

.lm-error-search-form .search-icon {
	left: 18px;
}

.lm-error-search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 44px;
	padding: 0 16px;
	border: none;
	border-radius: 6px;
	background: var(--color-accent);
	color: #ffffff;
	font-weight: 700;
	font-size: 0.875rem;
	cursor: pointer;
	transition: var(--transition-smooth);
	white-space: nowrap;
}

.lm-error-search-submit:hover {
	background: #0f172a;
}

.lm-error-page-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.lm-error-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 6px;
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	transition: var(--transition-smooth);
}

.lm-error-btn .material-symbols-outlined {
	font-size: 18px;
}

.lm-error-btn-primary {
	background: var(--color-accent);
	color: #ffffff;
	border: 1px solid var(--color-accent);
}

.lm-error-btn-primary:hover {
	background: #0f172a;
	border-color: #0f172a;
	color: #ffffff;
}

.lm-error-btn-secondary {
	background: #ffffff;
	color: var(--color-text-primary);
	border: 1px solid var(--color-border);
}

.lm-error-btn-secondary:hover {
	border-color: var(--color-accent);
	color: var(--color-accent);
}

.lm-error-page-section {
	padding: 28px 24px;
	border-top: 1px solid var(--color-border);
}

.lm-error-section-title {
	margin: 0 0 18px;
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--color-text-primary);
	padding-left: 14px;
	position: relative;
}

.lm-error-section-title::before {
	content: '';
	position: absolute;
	left: 0;
	top: 3px;
	bottom: 3px;
	width: 4px;
	background: var(--color-accent);
	border-radius: 2px;
}

.lm-error-category-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 10px;
}

.lm-error-category-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	padding: 14px;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background: var(--color-bg-secondary);
	color: var(--color-text-primary);
	text-decoration: none;
	transition: var(--transition-smooth);
}

.lm-error-category-card:hover {
	border-color: var(--color-accent);
	transform: translateY(-2px);
	box-shadow: var(--shadow-sm);
}

.lm-error-category-card .material-symbols-outlined {
	color: var(--color-accent);
	font-size: 20px;
}

.lm-error-category-name {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.3;
}

.lm-error-category-count {
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.lm-error-page-products .loja-master-products-container {
	margin-top: 0;
}

.lm-error-page-products .loja-master-grid-layout {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 16px;
}

.lm-error-page-help {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 18px 24px 24px;
	background: var(--color-bg-secondary);
	border-top: 1px solid var(--color-border);
}

.lm-error-page-help .material-symbols-outlined {
	color: var(--color-primary);
	font-size: 22px;
	flex-shrink: 0;
	margin-top: 2px;
}

.lm-error-page-help p {
	margin: 0;
	font-size: 0.875rem;
	color: var(--color-text-secondary);
	line-height: 1.5;
}

.lm-error-page-help a {
	color: var(--color-primary);
	font-weight: 700;
	text-decoration: none;
}

.lm-error-page-help a:hover {
	color: var(--color-accent);
}

.lm-search-results-header {
	max-width: none;
	margin: 24px 0 16px;
	padding: 0;
}

.lm-search-results-grid ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0 0 32px;
	width: 100%;
}

.lm-search-results-grid ul.products li.product,
.lm-search-results-grid ul.products li.product-card-item-loop {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.b2b-no-products {
	padding: 0;
}

@media (max-width: 768px) {
	.lm-error-page-wrap {
		padding: 16px 0 48px;
	}

	.lm-error-breadcrumb,
	.lm-error-page-hero,
	.lm-error-page-section,
	.lm-error-page-help {
		padding-left: 16px;
		padding-right: 16px;
	}

	.lm-error-search-form .search-input-group {
		flex-direction: column;
		padding: 10px;
	}

	.lm-error-search-form .search-field-ajax {
		width: 100%;
		padding-left: 40px;
	}

	.lm-error-search-submit {
		width: 100%;
	}

	.lm-error-page-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.lm-error-btn {
		width: 100%;
	}

	.lm-error-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lm-error-page-products .loja-master-grid-layout {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.lm-search-results-grid ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}






