/*
 * Two-font system: Acumin Pro (primary/UI), Termina (display/accent only).
 * Adobe Fonts kit must be loaded; font-family names must match your kit.
 */
:root {
	/* Layout & color (existing) */
	--site-max-width: 1400px;
	--site-bg: #e9e9e9;
	--site-bg-dark: #111111;
	--site-text: #222222;
	--site-text-light: #ffffff;
	--site-border: #d9d9d9;
	--site-accent: var(--site-text);

	/* WooCommerce brand mapping (black / white / grey) */
	--tbs-wc-primary: var(--site-bg-dark);
	--tbs-wc-primary-text: var(--site-text-light);
	--tbs-wc-secondary: var(--site-bg);
	--tbs-wc-secondary-text: var(--site-text);
	--tbs-wc-highlight: var(--site-text);
	--tbs-wc-subtext: #767676;
	--tbs-wc-info-bg: rgba(17, 17, 17, 0.06);
	--tbs-wc-info-border: var(--site-border);

	/* Typography – font families */
	--font-primary: "acumin-pro", "Acumin Pro", system-ui, sans-serif;
	--font-display: "termina", "Termina", var(--font-primary);

	/* Font weights (Acumin Pro) */
	--font-weight-normal: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;

	/* Type scale (rem) – body, UI, headings */
	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;
	--text-3xl: 1.875rem;
	--text-4xl: 2.25rem;
	--text-5xl: 3rem;
	--text-display: clamp(2rem, 4vw, 3.5rem);

	/* Line heights */
	--leading-tight: 1.2;
	--leading-snug: 1.375;
	--leading-normal: 1.5;
	--leading-relaxed: 1.625;
}

body {
	background: var(--site-bg);
	color: var(--site-text);
	font-family: var(--font-primary);
	font-size: var(--text-base);
	font-weight: var(--font-weight-normal);
	line-height: var(--leading-normal);
}

*,
*::before,
*::after {
	border-radius: 0 !important;
}

mark {
	background-color: transparent;
}

/* Headings – primary font only; sizes for desktop/tablet/mobile */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--font-primary);
	font-weight: var(--font-weight-semibold);
	line-height: var(--leading-tight);
	color: var(--site-text);
}

h1, .h1 { font-size: clamp(1.75rem, 4vw, var(--text-4xl)); }
h2, .h2 { font-size: clamp(1.5rem, 3vw, var(--text-3xl)); }
h3, .h3 { font-size: clamp(1.25rem, 2.5vw, var(--text-2xl)); }
h4, .h4 { font-size: var(--text-xl); }
h5, .h5 { font-size: var(--text-lg); }
h6, .h6 { font-size: var(--text-base); }

/* Display font – use only for hero, promo, major marketing titles. Add class in Elementor. */
.tbs-display-font,
.tbs-hero-title,
.tbs-promo-title,
.tbs-section-title-display {
	font-family: var(--font-display) !important;
}

/* Navigation & UI */
nav,
nav a,
.menu,
.menu-item a,
.elementor-nav-menu,
.elementor-item {
	font-family: var(--font-primary);
}

button,
input,
select,
textarea,
.button,
.btn,
.elementor-button,
a.button {
	font-family: var(--font-primary);
}

[type="button"]:not(.tbs-product-thumbnail):hover,
[type="button"]:not(.tbs-product-thumbnail):focus,
[type="submit"]:hover,
[type="submit"]:focus,
button:not(.tbs-product-thumbnail):hover,
button:not(.tbs-product-thumbnail):focus {
	background-color: #000000;
	color: var(--site-text-light);
}

.alignwide {
	margin-inline: auto;
}

.site-width {
	width: min(100% - 32px, var(--site-max-width));
	margin-inline: auto;
}

.site-shell {
	display: flex;
	gap: 24px;
	align-items: flex-start;
}

.site-left-nav {
	width: 280px;
	flex: 0 0 280px;
}

.site-main {
	flex: 1 1 auto;
	min-width: 0;
}

.site-right-rail {
	width: 260px;
	flex: 0 0 260px;
}

@media (max-width: 1024px) {
	.site-shell {
		flex-direction: column;
	}

	.site-left-nav,
	.site-right-rail {
		width: 100%;
		flex: none;
	}
}

/*
 * WooCommerce – Acumin Pro only (no Termina). Functional text, product UI, cart, checkout, account.
 */
.woocommerce,
.woocommerce-page,
.woocommerce ul.products,
.woocommerce .product,
.woocommerce .summary,
.woocommerce .cart,
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .price,
.woocommerce .product_title,
.woocommerce .shop_table,
.woocommerce .order-details,
.woocommerce .form-row,
.woocommerce .widget_price_filter,
.woocommerce .widget_layered_nav,
.woocommerce-result-count,
.woocommerce-ordering,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation {
	font-family: var(--font-primary);
}

.woocommerce .quantity .qty {
	box-sizing: border-box;
	min-width: 3.5em;
	text-align: center;
	width: 4.5em;
}

.search .tbs-product-search-toolbar {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 12px;
	justify-content: flex-start;
	margin: 0 0 20px;
	width: 100%;
}

.search .tbs-product-search-toolbar .tbs-product-search-toolbar-order,
.search .tbs-product-search-toolbar .tbs-product-search-toolbar-per-page {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

.search .tbs-product-search-toolbar .woocommerce-ordering {
	float: none;
	margin: 0;
	width: 100%;
}

.search .tbs-product-search-toolbar .woocommerce-ordering select.orderby {
	background: #ffffff;
	border: 1px solid var(--site-border);
	box-sizing: border-box;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	min-height: 44px;
	padding: 8px 12px;
	width: 100%;
}

.search .tbs-product-search-toolbar .tbs-product-search-field-label,
.search .tbs-product-search-toolbar .woocommerce-ordering > label.tbs-product-search-field-label {
	display: block;
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	line-height: 1.3;
	margin: 0;
}

.search .tbs-product-search-per-page {
	background: #ffffff;
	border: 1px solid var(--site-border);
	box-sizing: border-box;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	min-height: 44px;
	padding: 8px 12px;
	width: 100%;
}

.tbs-product-search-archive-form {
	align-items: stretch;
	display: flex;
	gap: 8px;
	margin: 10px auto 14px;
	max-width: 520px;
	width: 100%;
}

.tbs-product-search-archive-form input[type="search"] {
	background: #ffffff;
	border: 1px solid var(--site-border);
	color: var(--site-text);
	flex: 1 1 auto;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	min-height: 40px;
	min-width: 0;
	padding: 8px 12px;
}

.tbs-product-search-archive-form button {
	background: var(--site-bg-dark);
	border: 1px solid var(--site-bg-dark);
	color: var(--site-text-light);
	cursor: pointer;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	min-height: 40px;
	padding: 8px 16px;
}

.tbs-product-search-archive-summary {
	color: var(--site-text);
	font-family: var(--font-primary);
	font-size: var(--text-md);
	font-weight: var(--font-weight-semibold);
	margin: 0 auto 28px;
	text-align: center;
}

body.search .tbs-product-search-archive .elementor-element-35c41023,
body.search .tbs-product-search-archive .elementor-element-e00ad29,
body.search .tbs-product-search-archive .elementor-element-0e978f8 {
	display: none !important;
}

body.woocommerce-checkout fieldset.wc-block-checkout__shipping-method {
	display: none !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block,
body.woocommerce-checkout .wc-block-checkout__pickup-options {
	display: none !important;
}

.tbs-checkout-delivery-bridge {
	background: #ffffff;
	border: 1px solid var(--site-border);
	display: none !important;
	margin: 0 0 16px;
	padding: 14px;
}

.tbs-checkout-delivery-bridge__title {
	font-family: var(--font-primary);
	font-size: var(--text-md);
	font-weight: var(--font-weight-semibold);
	margin: 0 0 10px;
}

.tbs-checkout-delivery-bridge__options {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tbs-checkout-delivery-bridge__option {
	background: #f4f4f4;
	border: 1px solid var(--site-border);
	color: var(--site-text);
	cursor: pointer;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	min-height: 42px;
	padding: 10px 14px;
	text-align: center;
}

.tbs-checkout-delivery-bridge__option.is-selected {
	background: var(--site-bg-dark);
	border-color: var(--site-bg-dark);
	color: var(--site-text-light);
}

.search .tbs-product-search-categories {
	margin: 0 0 20px;
	width: 100%;
}

.search .tbs-product-search-categories-heading {
	font-size: var(--text-base);
	font-weight: var(--font-weight-semibold);
	line-height: 1.3;
	margin: 0 0 10px;
}

.search .tbs-product-search-categories-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.search .tbs-product-search-categories-item {
	margin: 0;
}

.search .tbs-product-search-categories-link {
	border: 1px solid var(--site-border);
	border-radius: 4px;
	display: inline-block;
	font-size: var(--text-sm);
	line-height: 1.3;
	padding: 8px 12px;
	text-decoration: none;
}

.search .tbs-product-search-categories-count {
	color: var(--site-muted, #666);
	font-weight: 400;
}

.woocommerce-breadcrumb,
body .elementor-widget-container > nav[aria-label="Breadcrumb"] {
	align-items: center;
	display: flex;
	/* No gap here on purpose. WooCommerce's breadcrumb markup is a flat run of <a> links and bare
	   text nodes (the separator + trailing crumb name aren't wrapped in an element), so each is its
	   own flex item -- a flex "gap" lands between every one of those DOM-node boundaries, not at
	   every visual "/" separator. A trail with more links (e.g. "Home / Brands / Forum") gets several
	   evenly-gapped joins and looks fine; a trail with only one link (e.g. "Home / New Products", the
	   rest merged into a single text node) gets exactly one 12px gap after "Home" and none before the
	   final crumb, producing lopsided spacing. WooCommerce already spaces crumbs itself via literal
	   "&nbsp;/&nbsp;" characters in that text -- leave gap unset here so that's the only spacing in
	   play. The toggle button doesn't need a gap either; its own margin-left: auto below pushes it to
	   the far right regardless.
	*/
	justify-content: flex-start;
	/* !important: WooCommerce core's .woocommerce .woocommerce-breadcrumb (0,2,0) outranks the
	   bare .woocommerce-breadcrumb selector here (0,1,0) whenever the breadcrumb sits inside a
	   .woocommerce-classed wrapper -- standard WC markup -- and was winning with margin: 0 0 1em. */
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}

.woocommerce-breadcrumb .tbs-archive-filter-rail-toggle,
body .elementor-widget-container > nav[aria-label="Breadcrumb"] .tbs-archive-filter-rail-toggle {
	margin: 0 0 0 auto;
	white-space: nowrap;
}

.elementor-74305 .elementor-element-5270833f,
.elementor-74305 .elementor-element-5270833f > .e-con-inner,
.elementor-74305 .elementor-element-e3ffd2b,
.elementor-74305 .elementor-element-e3ffd2b > .elementor-widget-container {
	width: 100% !important;
}

.elementor-74305 .elementor-element-e3ffd2b .woocommerce-breadcrumb .tbs-archive-filter-rail-toggle {
	margin: 0 0 0 auto !important;
	white-space: nowrap;
}

.woocommerce .product_title,
.woocommerce .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
	font-family: var(--font-primary);
	font-weight: var(--font-weight-semibold);
	font-size: var(--text-lg);
}

/* Third-party accordion (existing) */
.wpb_wmca_accordion_shortcode_19890.wpb_category_n_menu_accordion.wpb_wmca_theme_dark .wpb_category_n_menu_accordion_list > li.wpb-wmca-current-cat-parent > a, .wpb_wmca_accordion_shortcode_19890.wpb_category_n_menu_accordion.wpb_wmca_theme_dark .wpb_category_n_menu_accordion_list > li.wpb-wmca-current-cat-ancestor > a, .wpb_wmca_accordion_shortcode_19890.wpb_category_n_menu_accordion.wpb_wmca_theme_dark .wpb_category_n_menu_accordion_list > li.current-menu-parent > a, .wpb_wmca_accordion_shortcode_19890.wpb_category_n_menu_accordion.wpb_wmca_theme_dark .wpb_category_n_menu_accordion_list > li.current-menu-ancestor > a, .wpb_wmca_accordion_shortcode_19890.wpb_category_n_menu_accordion.wpb_wmca_theme_dark .wpb_category_n_menu_accordion_list > li.current_page_parent > a, .wpb_wmca_accordion_shortcode_19890.wpb_category_n_menu_accordion.wpb_wmca_theme_dark .wpb_category_n_menu_accordion_list > li.current_page_ancestor > a{
	color: var(--site-bg-dark) !important;
}

/*
 * Elementor Pro Search: hide results container on load; show only when search input has focus.
 * Fixes empty e-search-results-container flashing on every page until first click.
 */
.elementor-widget-search .e-search-results-container {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
.elementor-widget-search .e-search-input-wrapper:focus-within .e-search-results-container {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.elementor-19910 .elementor-element.elementor-element-09caf91 .e-search-results-container,
.elementor-widget-search .e-search-results-container {
	background-color: #ffffff !important;
}

.elementor-widget-search .e-search-results-container > div {
	background-color: #ffffff;
}

.elementor-widget-search .e-search-loader {
	display: none !important;
}

.elementor-widget-search .e-search-results {
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.elementor-widget-search.tbs-search-is-loading .e-search-results {
	min-height: 140px;
}

.elementor-widget-search .e-search-results-list > .e-loop-item,
.elementor-widget-search .e-search-results-list > .e-loop-item:hover {
	transform: none !important;
	box-shadow: none !important;
	border-color: var(--site-border) !important;
}

.elementor-widget-search .e-search-results-list > .e-loop-item .elementor-element-a249f5b,
.elementor-widget-search .e-search-results-list > .e-loop-item .elementor-element-a249f5b:not(.elementor-motion-effects-element-type-background),
.elementor-widget-search .e-search-results-list > .e-loop-item .elementor-element-a249f5b > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: #ffffff !important;
	padding: 0 !important;
}

.elementor-widget-search .e-search-input::placeholder {
	text-align: center;
}

.elementor-widget-search .e-search-results-list {
	display: block;
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	position: relative;
}

.elementor-widget-search .tbs-search-loading-message {
	align-items: center;
	background: rgba(255, 255, 255, 0.94);
	color: var(--site-text);
	display: none;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	gap: 10px;
	inset: 0;
	justify-content: center;
	min-height: 96px;
	padding: 18px;
	position: absolute;
	text-align: center;
	z-index: 4;
}

.elementor-widget-search.tbs-search-is-loading .tbs-search-loading-message {
	display: flex;
}

.elementor-widget-search .tbs-search-loading-spinner {
	animation: tbs-search-spin 0.8s linear infinite;
	border: 3px solid var(--site-border);
	border-top-color: var(--site-bg-dark);
	border-radius: 50%;
	display: inline-block;
	flex: 0 0 auto;
	height: 22px;
	width: 22px;
}

@keyframes tbs-search-spin {
	to {
		transform: rotate(360deg);
	}
}

.elementor-widget-search .e-search-results .elementor-pagination {
	display: none !important;
}

.elementor-widget-search .e-search-results-list > .e-loop-item.product {
	display: block;
	width: 100%;
	border-bottom: 1px solid var(--site-border);
}

.elementor-widget-search .e-search-results-list > .e-loop-item.product .elementor-element-a249f5b > .e-con-inner {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 5px;
	align-items: start;
	width: 100%;
	padding: 12px;
}

.elementor-widget-search .e-search-results-list > .e-loop-item.product .elementor-element-8ae665a {
	align-items: center;
	display: flex;
	justify-content: center;
	min-width: 112px;
	padding: 0 !important;
	width: 112px;
}

.elementor-widget-search .e-search-results-list > .e-loop-item.product .elementor-element-8ae665a .elementor-widget-image,
.elementor-widget-search .e-search-results-list > .e-loop-item.product .elementor-element-8ae665a .elementor-widget-container {
	display: flex;
	justify-content: center;
	align-items: center;
}

.elementor-widget-search .e-search-results-list > .e-loop-item.product .elementor-widget-image img {
	margin-inline: auto;
	display: block;
	width: 112px;
	height: 112px;
	object-fit: contain;
}

.elementor-widget-search .e-search-results-list > .e-loop-item.product .elementor-element-64854ee {
	display: flex;
	width: 100%;
	min-width: 0;
	align-items: stretch;
	gap: 6px;
}

.elementor-widget-search .e-search-results-list > .e-loop-item.product .elementor-heading-title {
	margin: 0;
	font-size: var(--text-sm);
	line-height: var(--leading-snug);
}

.elementor-widget-search .tbs-search-result-sku {
	color: #666666;
	font-size: var(--text-xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.02em;
	line-height: var(--leading-snug);
	text-transform: uppercase;
}

.elementor-widget-search .tbs-search-result-meta {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
	margin-top: 4px;
}

.elementor-widget-search .tbs-search-result-price {
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	white-space: nowrap;
}

.elementor-widget-search .tbs-search-result-action .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 8px 12px;
	background: var(--site-bg-dark);
	color: var(--site-text-light);
	font-size: var(--text-xs);
	font-weight: var(--font-weight-semibold);
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.elementor-widget-search .tbs-search-result-action .button:hover,
.elementor-widget-search .tbs-search-result-action .button:focus {
	background: var(--site-text);
	color: var(--site-text-light);
	text-decoration: none;
}

.elementor-widget-search .tbs-search-view-all-results {
	display: block;
	flex: 0 0 auto;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--site-bg-dark);
	background: var(--site-bg-dark);
	color: var(--site-text-light);
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	position: sticky;
	bottom: 0;
	z-index: 2;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.elementor-widget-search .tbs-search-view-all-results:hover,
.elementor-widget-search .tbs-search-view-all-results:focus {
	background: var(--site-text-light);
	color: var(--site-bg-dark);
	text-decoration: none;
}

@media (max-width: 480px) {
	.elementor-widget-search .e-search-results-list > .e-loop-item.product .elementor-element-a249f5b > .e-con-inner {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 5px;
	}

	.elementor-widget-search .e-search-results-list > .e-loop-item.product .elementor-element-8ae665a,
	.elementor-widget-search .e-search-results-list > .e-loop-item.product .elementor-widget-image img {
		width: 80px;
		min-width: 80px;
		height: 80px;
	}

	.elementor-widget-search .tbs-search-result-meta {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Essential Addons Woo Add to Cart: full-width column so stock is not squeezed beside the button */
.elementor-widget-eael-woo-add-to-cart.eael-add-to-cart--layout-row .elementor-widget-container {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.elementor-widget-eael-woo-add-to-cart .eael-single-product-add-to-cart {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.elementor-widget-eael-woo-add-to-cart .eael-add-to-cart-wrapper.eael-product-simple,
.elementor-widget-eael-woo-add-to-cart .eael-add-to-cart-wrapper.eael-product-variable {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.elementor-widget-eael-woo-add-to-cart .tbs-product-stock-lines--compact,
.elementor-widget-eael-woo-add-to-cart .tbs-product-stock-lines--fallback.tbs-product-stock-lines--compact {
	margin: 0 0 10px;
	text-align: center;
	width: 100%;
}

.elementor-widget-eael-woo-add-to-cart .tbs-product-stock-lines--compact .tbs-product-stock-qty {
	display: block;
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
}

.elementor-widget-eael-woo-add-to-cart .tbs-product-stock-lines--fallback.tbs-product-stock-lines--compact .stock {
	display: block;
	margin: 0;
	text-align: center;
}

.elementor-widget-eael-woo-add-to-cart .eael-add-to-cart-wrapper form.cart {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 0;
	width: 100%;
}

body.tax-product_cat .elementor-element-377f15f > .elementor-element-020cf05,
body.post-type-archive-product .elementor-element-377f15f > .elementor-element-020cf05 {
	min-width: 0 !important;
	width: 100% !important;
}

body.tax-product_cat .elementor-element-a308486 > .e-con,
body.tax-product_cat .elementor-element-a308486 > .e-con > .e-con-inner,
body.post-type-archive-product .elementor-element-a308486 > .e-con,
body.post-type-archive-product .elementor-element-a308486 > .e-con > .e-con-inner,
body.search .tbs-product-search-archive .elementor-element-a308486 > .e-con,
body.search .tbs-product-search-archive .elementor-element-a308486 > .e-con > .e-con-inner,
.elementor-74305 .elementor-element-4ea23a60 > .e-con,
.elementor-74305 .elementor-element-4ea23a60 > .e-con > .e-con-inner {
	max-width: none !important;
	width: 100% !important;
}

body.search .elementor-element-7ad8c29a > .e-con,
body.search .elementor-element-7ad8c29a > .e-con > .e-con-inner {
	max-width: none !important;
	width: 100% !important;
}

/* Fix archive product grids: bypass WooCommerce floats and Elementor column locks. */
body.tax-product_cat .elementor-element-a308486 .woocommerce ul.products,
body.post-type-archive-product .elementor-element-a308486 .woocommerce ul.products,
body.search .tbs-product-search-archive .elementor-element-a308486 .woocommerce ul.products,
/*body.tax-product_cat .elementor-element-a308486 .elementor-loop-container.elementor-grid,*/
body.post-type-archive-product .elementor-element-a308486 .elementor-loop-container.elementor-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 20px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

body.tax-product_cat .elementor-element-a308486 .woocommerce ul.products li.product,
body.post-type-archive-product .elementor-element-a308486 .woocommerce ul.products li.product,
body.search .tbs-product-search-archive .elementor-element-a308486 .woocommerce ul.products li.product,
body.tax-product_cat .elementor-element-a308486 .elementor-loop-container.elementor-grid > .e-loop-item,
body.post-type-archive-product .elementor-element-a308486 .elementor-loop-container.elementor-grid > .e-loop-item {
	float: none !important;
	margin: 0 !important;
	width: 100% !important;
}

body.search .tbs-product-search-archive .woocommerce ul.products li.product {
	align-items: center;
	background: #ffffff;
	border: 1px solid var(--site-border);
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 14px;
	position: relative;
	text-align: center;
}

body.search .tbs-product-search-archive .woocommerce ul.products li.product > a {
	align-items: center;
	color: inherit;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	text-decoration: none;
	width: 100%;
}

body.search .tbs-product-search-archive .woocommerce ul.products li.product a img {
	aspect-ratio: 1 / 1;
	display: block;
	height: auto;
	margin: 0 auto;
	object-fit: contain;
	object-position: center center;
	width: min(100%, 220px);
}

body.search .tbs-product-search-archive .woocommerce ul.products li.product .woocommerce-loop-product__title {
	flex: 1 1 auto;
	font-size: var(--text-sm);
	font-weight: var(--font-weight-bold, 700);
	line-height: var(--leading-snug);
	margin: 0;
	padding: 12px 0 8px;
}

body.search .tbs-product-search-archive .woocommerce ul.products li.product .price {
	font-size: var(--text-sm);
	font-weight: var(--font-weight-bold, 700);
	margin: 0 0 10px;
}

body.search .tbs-product-search-archive .woocommerce ul.products li.product .button {
	align-self: center;
	background: var(--site-bg-dark);
	border: 1px solid var(--site-bg-dark);
	color: var(--site-text-light);
	display: inline-flex;
	font-size: var(--text-xs);
	font-weight: var(--font-weight-semibold, 600);
	justify-content: center;
	line-height: 1.2;
	margin-top: auto;
	min-height: 0;
	padding: 8px 11px;
	text-decoration: none;
	width: 100%;
}

@media (max-width: 900px) {
	body.tax-product_cat .elementor-element-a308486 .woocommerce ul.products,
	body.post-type-archive-product .elementor-element-a308486 .woocommerce ul.products,
	body.search .tbs-product-search-archive .elementor-element-a308486 .woocommerce ul.products,
	body.tax-product_cat .elementor-element-a308486 .elementor-loop-container.elementor-grid,
	body.post-type-archive-product .elementor-element-a308486 .elementor-loop-container.elementor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 480px) {
	body.tax-product_cat .elementor-element-a308486 .woocommerce ul.products,
	body.post-type-archive-product .elementor-element-a308486 .woocommerce ul.products,
	body.search .tbs-product-search-archive .elementor-element-a308486 .woocommerce ul.products,
	body.tax-product_cat .elementor-element-a308486 .elementor-loop-container.elementor-grid,
	body.post-type-archive-product .elementor-element-a308486 .elementor-loop-container.elementor-grid {
		grid-template-columns: 1fr !important;
	}
}

body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner > .elementor-element-98c7d65,
body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner > .elementor-element-98c7d65,
body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner > .elementor-element-98c7d65,
.elementor-74305 .elementor-element-2bdea93 > .e-con-inner > .elementor-element-7a03651 {
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column !important;
	grid-column: 3 !important;
	grid-row: 1 !important;
	height: auto !important;
	max-width: 300px !important;
	min-height: 100% !important;
	min-width: 0 !important;
	overflow: visible !important;
	width: 100% !important;
}

body.search .elementor-element-1685d2ba > .e-con-inner > .elementor-element-3d5777c {
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column !important;
	grid-column: 3 !important;
	grid-row: 1 !important;
	height: auto !important;
	max-width: 300px !important;
	min-height: 100% !important;
	min-width: 0 !important;
	overflow: visible !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
}

body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed,
body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed,
body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed,
body.search .elementor-element-1685d2ba > .e-con-inner.tbs-archive-filters-collapsed,
.elementor-74305 .elementor-element-2bdea93 > .e-con-inner.tbs-archive-filters-collapsed {
	display: grid !important;
	gap: clamp(14px, 1.5vw, 24px) !important;
	grid-template-columns: 220px minmax(0, 1fr) !important;
	width: 100% !important;
}

body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-377f15f,
body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-377f15f,
body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-377f15f,
body.search .elementor-element-1685d2ba > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-22090613,
.elementor-74305 .elementor-element-2bdea93 > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-767b695e {
	grid-column: 1 !important;
	max-width: 220px !important;
	min-width: 0 !important;
	width: 100% !important;
}

body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-a308486,
body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-a308486,
body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-a308486,
body.search .elementor-element-1685d2ba > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-7ad8c29a,
.elementor-74305 .elementor-element-2bdea93 > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-4ea23a60 {
	flex: 1 1 auto !important;
	grid-column: 2 / -1 !important;
	max-width: none !important;
	min-width: 0 !important;
	width: 100% !important;
}

body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-98c7d65,
body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed > .elementor-element-98c7d65,
.e-con-inner.tbs-archive-filters-collapsed > .tbs-archive-filter-rail,
.e-con-inner.tbs-archive-filters-collapsed > .elementor-element:has(.tbs-product-archive-controls),
.e-con-inner.tbs-archive-filters-collapsed > .elementor-element:has(.tbs-news-archive-controls) {
	display: none !important;
}

.tbs-archive-filter-rail-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--site-text);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	gap: 6px;
	justify-self: start;
	margin: 0 0 10px auto;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 1180px) {
	body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner,
	body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner,
	body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner,
	body.search .elementor-element-1685d2ba > .e-con-inner,
	.elementor-74305 .elementor-element-2bdea93 > .e-con-inner {
		grid-template-columns: 190px minmax(0, 1fr) !important;
	}

	body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed,
	body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed,
	body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner.tbs-archive-filters-collapsed,
	.elementor-74305 .elementor-element-2bdea93 > .e-con-inner.tbs-archive-filters-collapsed {
		grid-template-columns: 190px minmax(0, 1fr) !important;
	}

	body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner > .elementor-element-377f15f,
	body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner > .elementor-element-377f15f,
	body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner > .elementor-element-377f15f,
	body.search .elementor-element-1685d2ba > .e-con-inner > .elementor-element-22090613,
	.elementor-74305 .elementor-element-2bdea93 > .e-con-inner > .elementor-element-767b695e {
		grid-column: 1 !important;
		max-width: 190px !important;
	}

	body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner > .elementor-element-a308486,
	body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner > .elementor-element-a308486,
	body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner > .elementor-element-a308486,
	body.search .elementor-element-1685d2ba > .e-con-inner > .elementor-element-7ad8c29a,
	.elementor-74305 .elementor-element-2bdea93 > .e-con-inner > .elementor-element-4ea23a60 {
		grid-column: 2 !important;
	}

	body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner > .elementor-element-98c7d65,
	body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner > .elementor-element-98c7d65,
	body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner > .elementor-element-98c7d65,
	body.search .elementor-element-1685d2ba > .e-con-inner > .elementor-element-3d5777c,
	.elementor-74305 .elementor-element-2bdea93 > .e-con-inner > .elementor-element-7a03651 {
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
		max-width: none !important;
	}
}

@media (max-width: 767px) {
	body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner,
	body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner,
	body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner,
	body.search .elementor-element-1685d2ba > .e-con-inner,
	.elementor-74305 .elementor-element-2bdea93 > .e-con-inner {
		grid-template-columns: 1fr !important;
	}

	body.tax-product_cat .elementor-element-377f15f > .elementor-element-020cf05,
	body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner > .elementor-element-377f15f,
	body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner > .elementor-element-a308486,
	body.tax-product_cat .elementor-element-377f15f > .elementor-element-a308486,
	body.tax-product_cat .elementor-element-ce9b15e > .e-con-inner > .elementor-element-98c7d65,
	body.post-type-archive-product .elementor-element-377f15f > .elementor-element-020cf05,
	body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner > .elementor-element-377f15f,
	body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner > .elementor-element-a308486,
	body.post-type-archive-product .elementor-element-377f15f > .elementor-element-a308486,
	body.post-type-archive-product .elementor-element-ce9b15e > .e-con-inner > .elementor-element-98c7d65,
	body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner > .elementor-element-377f15f,
	body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner > .elementor-element-a308486,
	body.search .tbs-product-search-archive .elementor-element-ce9b15e > .e-con-inner > .elementor-element-98c7d65,
	body.search .elementor-element-1685d2ba > .e-con-inner > .elementor-element-22090613,
	body.search .elementor-element-1685d2ba > .e-con-inner > .elementor-element-7ad8c29a,
	body.search .elementor-element-1685d2ba > .e-con-inner > .elementor-element-3d5777c,
	.elementor-74305 .elementor-element-2bdea93 > .e-con-inner > .elementor-element-767b695e,
	.elementor-74305 .elementor-element-2bdea93 > .e-con-inner > .elementor-element-4ea23a60,
	.elementor-74305 .elementor-element-2bdea93 > .e-con-inner > .elementor-element-7a03651 {
		grid-column: 1 !important;
		max-width: none !important;
	}
}

/* Category archive static filter rail (Elementor container 98c7d65).
   Only .tbs-archive-filter-rail (added by JS in initArchiveSidebarControls(), which runs on
   DOMContentLoaded -- before any meaningful paint) targets the sidebar precisely. A ":has()"
   fallback used to sit here too, but :has() matches ANY ancestor of a matching descendant, not
   just its direct wrapper -- it was also zeroing out padding on the whole content row (and any
   other ancestor) that happens to contain the sidebar somewhere within it, not just the sidebar
   itself. Do not reintroduce a bare ".elementor-element:has(.tbs-product-archive-controls)" here. */
.elementor-element-98c7d65.e-con,
.tbs-archive-filter-rail {
	background-color: transparent;
	border: none;
	border-radius: 0;
	gap: 0;
	height: auto !important;
	min-height: 100% !important;
	overflow: visible !important;
	padding: 0 !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
}

.elementor-element-3d5777c.e-con {
	background-color: transparent;
	border: none;
	border-radius: 0;
	gap: 0;
	height: auto !important;
	min-height: 100% !important;
	overflow: visible !important;
	padding: 20px !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
}

.elementor-element-98c7d65.elementor-sticky,
.elementor-element-98c7d65.elementor-sticky--active,
.elementor-element-98c7d65.elementor-sticky--effects,
.elementor-element-3d5777c.elementor-sticky,
.elementor-element-3d5777c.elementor-sticky--active,
.elementor-element-3d5777c.elementor-sticky--effects,
.tbs-archive-filter-rail.elementor-sticky,
.tbs-archive-filter-rail.elementor-sticky--active,
.tbs-archive-filter-rail.elementor-sticky--effects {
	position: static !important;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
}

.elementor-element-98c7d65 > .elementor-element,
.elementor-element-3d5777c > .elementor-element,
.tbs-archive-filter-rail > .elementor-element {
	width: 100%;
}

.elementor-element-98c7d65 .elementor-widget-html .elementor-widget-container,
.elementor-element-3d5777c .elementor-widget-shortcode .elementor-widget-container,
.tbs-archive-filter-rail .elementor-widget-container {
	margin: 0;
	padding: 0;
}

.tbs-product-archive-controls {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 100%;
	width: 100%;
}

.tbs-product-archive-controls__toolbar {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr;
	margin-bottom: 14px;
}

.elementor-element-98c7d65 .tbs-archive-control-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0 0 10px;
	width: 100%;
}

.tbs-product-archive-controls .tbs-archive-control-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0 0 10px;
	width: 100%;
}

.elementor-element-98c7d65 .tbs-archive-attribute-filters,
.tbs-product-archive-controls .tbs-archive-attribute-filters {
	flex: 1 1 auto;
	width: 100%;
}

.elementor-element-98c7d65 .tbs-archive-filter-heading,
.tbs-product-archive-controls .tbs-archive-filter-heading {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 8px 0 10px;
	gap: 12px;
}

.elementor-element-98c7d65 .tbs-archive-filter-heading > span,
.tbs-product-archive-controls .tbs-archive-filter-heading > span {
	color: var(--site-text);
	font-family: var(--font-primary);
	font-size: var(--text-base);
	font-weight: var(--font-weight-semibold);
}

.elementor-element-98c7d65 .tbs-archive-filter-actions,
.tbs-product-archive-controls .tbs-archive-filter-actions {
	align-items: center;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.elementor-element-98c7d65 .tbs-archive-filter-action,
.elementor-element-98c7d65 .tbs-archive-filter-toggle,
.tbs-product-archive-controls .tbs-archive-filter-action,
.tbs-product-archive-controls .tbs-archive-filter-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--site-text);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--font-primary);
	font-size: var(--text-xs);
	font-weight: var(--font-weight-semibold);
	gap: 6px;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.elementor-element-98c7d65 #perPageSelect,
.elementor-element-98c7d65 #sortSelect,
.tbs-product-archive-controls select,
.elementor-element-98c7d65 .tbs-archive-attribute-select,
.elementor-element-98c7d65 .dpf-844df960-select {
	appearance: none;
	-webkit-appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23767676' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-position: right 12px center;
	background-repeat: no-repeat;
	border: 1px solid var(--site-border);
	border-radius: 6px;
	color: var(--site-text);
	cursor: pointer;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	line-height: var(--leading-normal);
	padding: 8px 36px 8px 12px;
	transition: border-color 0.2s ease;
	width: 100%;
}

.elementor-element-98c7d65 #perPageSelect:focus,
.elementor-element-98c7d65 #sortSelect:focus,
.tbs-product-archive-controls select:focus,
.elementor-element-98c7d65 .tbs-archive-attribute-select:focus,
.elementor-element-98c7d65 .dpf-844df960-select:focus {
	border-color: var(--site-bg-dark);
	outline: none;
}

.elementor-element-98c7d65 .tbs-archive-clear-filters,
.tbs-product-archive-controls .tbs-archive-clear-filters {
	color: var(--site-accent, #c8102e);
	display: inline-block;
	font-size: var(--text-sm);
	margin-top: 2px;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.elementor-element-98c7d65 .tbs-archive-attribute-filter,
.tbs-product-archive-controls .tbs-archive-attribute-filter {
	border: 0;
	border-bottom: 1px solid rgba(17, 17, 17, 0.08);
	margin-left: 0;
	margin-right: 0;
	padding: 0 0 8px;
}

.elementor-element-98c7d65 .tbs-archive-attribute-toggle,
.tbs-product-archive-controls .tbs-archive-attribute-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--site-text);
	cursor: pointer;
	display: flex;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	gap: 6px;
	justify-content: space-between;
	line-height: var(--leading-normal);
	padding: 4px 0;
	text-align: left;
	width: 100%;
}

.elementor-element-98c7d65 .tbs-archive-attribute-toggle::-webkit-details-marker,
.elementor-element-98c7d65 .tbs-archive-attribute-toggle::marker,
.tbs-product-archive-controls .tbs-archive-attribute-toggle::-webkit-details-marker,
.tbs-product-archive-controls .tbs-archive-attribute-toggle::marker {
	display: none;
	content: "";
}

.elementor-element-98c7d65 .tbs-archive-attribute-toggle .fa-chevron-down,
.tbs-product-archive-controls .tbs-archive-attribute-toggle .fa-chevron-down {
	font-size: 0.75em;
	transition: transform 0.15s ease;
}

.elementor-element-98c7d65 .tbs-archive-attribute-filter:not([open]) .tbs-archive-attribute-toggle .fa-chevron-down,
.tbs-product-archive-controls .tbs-archive-attribute-filter:not([open]) .tbs-archive-attribute-toggle .fa-chevron-down {
	transform: rotate(-90deg);
}

.elementor-element-98c7d65 .tbs-archive-attribute-total,
.tbs-product-archive-controls .tbs-archive-attribute-total {
	color: var(--site-muted, #767676);
	font-size: 0.9em;
	font-weight: var(--font-weight-normal, 400);
	margin-left: auto;
}

.elementor-element-98c7d65 .tbs-archive-checkbox-list,
.tbs-product-archive-controls .tbs-archive-checkbox-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 3px;
	padding-right: 4px;
}

.elementor-element-98c7d65 details:not([open]) .tbs-archive-checkbox-list,
.tbs-product-archive-controls details:not([open]) .tbs-archive-checkbox-list {
	display: none;
}

.elementor-element-98c7d65 .tbs-archive-checkbox-option,
.tbs-product-archive-controls .tbs-archive-checkbox-option {
	align-items: flex-start;
	color: var(--site-text);
	cursor: pointer;
	display: flex;
	font-family: var(--font-primary);
	font-size: var(--text-xs);
	gap: 6px;
	line-height: var(--leading-normal);
}

.elementor-element-98c7d65 .tbs-archive-checkbox-option input,
.tbs-product-archive-controls .tbs-archive-checkbox-option input {
	flex: 0 0 auto;
	margin-top: 0.2em;
}

.elementor-element-98c7d65 .tbs-archive-checkbox-label,
.tbs-product-archive-controls .tbs-archive-checkbox-label {
	flex: 1 1 auto;
	min-width: 0;
}

.elementor-element-98c7d65 .tbs-archive-checkbox-count,
.tbs-product-archive-controls .tbs-archive-checkbox-count {
	color: var(--site-muted, #767676);
	flex: 0 0 auto;
	font-size: 0.9em;
}

.elementor-element-98c7d65 .dpf-844df960-wrap {
	width: 100%;
}

.elementor-element-98c7d65 .dpf-844df960-bar {
	align-items: stretch;
	background: transparent;
	border: none;
	border-radius: 0;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 0;
}

.tbs-brand-archive-logo {
	height: auto;
	max-height: 150px;
	max-width: 100%;
	width: auto;
}

.tbs-brand-archive-logo--center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.tbs-brand-loop ul.products {
	display: grid !important;
	gap: 20px !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.tbs-brand-loop ul.products::before,
.tbs-brand-loop ul.products::after {
	content: none !important;
	display: none !important;
}

.tbs-brand-loop ul.products li.product-category {
	background: #fff !important;
	float: none !important;
	margin: 0 !important;
	min-width: 0;
	overflow: hidden;
	padding: 0 !important;
	position: relative;
	width: 100% !important;
}

.tbs-brand-loop ul.products li.product-category a {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	height: 100%;
	position: relative;
	text-decoration: none;
}

.tbs-brand-loop ul.products li.product-category img {
	aspect-ratio: 1 / 1 !important;
	background: #fff;
	box-sizing: border-box;
	display: block;
	height: auto !important;
	margin: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	padding: 18px;
	transform: none !important;
	width: 100% !important;
}

.tbs-brand-loop ul.products li.product-category .woocommerce-loop-category__title {
	background: rgba(0, 0, 0, 0.78);
	bottom: 0;
	box-sizing: border-box;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	left: 0;
	line-height: 1.2;
	margin: 0;
	padding: 10px 8px;
	position: absolute;
	right: 0;
	text-align: center;
	z-index: 2;
}

.tbs-brand-loop ul.products li.product-category .count {
	display: none !important;
}

@media (max-width: 1024px) {
	.tbs-brand-loop ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.tbs-brand-loop ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

.tbs-news-loop {
	width: 100%;
}

.tbs-news-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100%;
}

.tbs-news-card {
	background: #fff;
	border: 1px solid var(--site-border, #d7d7d7);
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
}

.tbs-news-card--featured {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 40%) minmax(0, 60%);
}

.tbs-news-card__media {
	background: #171717;
	color: #666;
	display: block;
	min-height: 218px;
	overflow: hidden;
	text-decoration: none;
}

.tbs-news-card--featured .tbs-news-card__media {
	min-height: 280px;
}

.tbs-news-card__image {
	display: block;
	height: 100%;
	min-height: 218px;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.tbs-news-card--featured .tbs-news-card__image {
	min-height: 280px;
}

.tbs-news-card__image--placeholder {
	align-items: center;
	background: #171717;
	color: #666;
	display: flex;
	font-size: var(--text-base, 16px);
	justify-content: center;
}

.tbs-news-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
	padding: 18px;
}

.tbs-news-card--featured .tbs-news-card__body {
	justify-content: center;
	padding: 24px;
}

.tbs-news-card__badge {
	align-self: flex-start;
	border-radius: 3px;
	display: inline-flex;
	font-size: 12px;
	font-weight: var(--font-weight-bold, 700);
	letter-spacing: 0.06em;
	line-height: 1;
	padding: 5px 8px;
	text-decoration: none;
	text-transform: uppercase;
}

.tbs-news-card__title {
	font-family: var(--font-primary);
	font-size: clamp(18px, 2vw, 24px);
	font-weight: var(--font-weight-bold, 700);
	line-height: 1.1;
	margin: 0;
}

.tbs-news-card:not(.tbs-news-card--featured) .tbs-news-card__title {
	font-size: 18px;
}

.tbs-news-card__title a {
	color: var(--site-text, #111);
	text-decoration: none;
}

.tbs-news-card__meta {
	color: var(--site-muted, #666);
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	gap: 8px;
	line-height: 1.3;
}

.tbs-news-card__meta span + span::before {
	content: "\00B7";
	margin-right: 8px;
}

.tbs-news-card__excerpt {
	color: var(--site-text, #111);
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
}

.tbs-news-card__read-more {
	color: #b00020;
	font-weight: var(--font-weight-semibold, 600);
	margin-top: auto;
	text-decoration: none;
}

.tbs-news-archive-controls {
	margin-bottom: 16px;
}

.tbs-news-category-links {
	background: #fff;
	border: 1px solid var(--site-border, #d7d7d7);
	margin-bottom: 22px;
	padding: 14px;
}

.tbs-news-category-links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
}

.tbs-news-category-links a {
	background: #f4f4f4;
	border: 1px solid var(--site-border, #d7d7d7);
	color: var(--site-text, #111);
	display: inline-flex;
	font-size: 14px;
	font-weight: var(--font-weight-semibold, 600);
	gap: 4px;
	padding: 6px 9px;
	text-decoration: none;
}

.tbs-news-category-links a.is-active,
.tbs-news-category-links a:hover,
.tbs-news-category-links a:focus {
	background: var(--site-bg-dark, #111);
	border-color: var(--site-bg-dark, #111);
	color: #fff;
}

@media (max-width: 767px) {
	.tbs-news-grid,
	.tbs-news-card--featured {
		grid-template-columns: 1fr;
	}
}

.elementor-element-98c7d65 .dpf-844df960-filter-group {
	flex: 1 1 auto;
	gap: 6px;
	min-width: 0;
	width: 100%;
}

.elementor-element-98c7d65 .dpf-844df960-label {
	color: var(--site-text);
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	margin: 0;
}

.elementor-element-98c7d65 .dpf-844df960-reset {
	align-self: stretch;
	background-color: var(--site-bg-dark);
	border: 1px solid var(--site-bg-dark);
	border-radius: 6px;
	color: var(--site-text-light);
	cursor: pointer;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	padding: 10px 18px;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	white-space: nowrap;
	width: 100%;
}

.elementor-element-98c7d65 .dpf-844df960-reset:hover {
	background-color: #333;
	border-color: #333;
	color: var(--site-text-light);
}
