/**
 * Archivo de productos WooCommerce: layout, migas, barra lateral y grid.
 * Tema OZ â€” cargado solo en tienda y taxonomÃ­as de producto.
 * Usa variables --OZ-* definidas en inc/customizer.php (sin fallbacks duplicados).
 */

/* â€”â€” Shell del archivo */
.oz-shop-archive__shell {
	padding: 1.5rem 1rem 3rem;
	box-sizing: border-box}

/* Especificidad combinada (.oz-shop-layout + --no-sidebar) para que gane sobre
   `.oz-shop-layout { grid-template-columns: 280px minmax(0,1fr) }` sin importar el
   orden del archivo. Sin esto, cuando la barra lateral está vacía el único hijo
   (área de productos) caía en la columna fija de 280px y dejaba el 1fr en blanco. */
.oz-shop-layout.oz-shop-archive__container--no-sidebar {
	grid-template-columns: minmax(0, 1fr)}



.oz-shop-archive__main,
.oz-shop-archive__header,
.oz-shop-archive__results {
	display: grid;
	gap: 1.5rem}




@media (max-width: 991px) {
	.oz-shop-archive__shell {
		padding: 1.25rem 0.75rem 2.5rem}
}

/* —— Layout principal + sidebar */
.oz-shop-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
	max-width: min(100%, var(--OZ-Container-PC));
	margin-inline: auto;
	padding: 1.5rem;
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
	box-sizing: border-box}

@media (max-width: 991px) {
	.oz-shop-layout {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		padding: 1rem}
}



/* â€”â€” Franja superior: tÃ­tulo (izq.) + migas (der.) */
.oz-shop-page-banner {
	background: var(--OZ-Shop-Page-Banner-Bg, var(--OZ-Color-1));
	color: #fff;
	width: 100vw;
	max-width: 100vw;
	box-sizing: border-box}

.oz-shop-page-banner__inner {
	max-width: min(100%, var(--OZ-Container-PC));
	margin-inline: auto;
	padding: 1rem 1rem 1.1rem;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 0.75rem 1.5rem;
	box-sizing: border-box}

.oz-shop-page-banner__main {
	min-width: 0}

.oz-shop-page-banner__aside {
	min-width: 0;
	justify-self: end}

.oz-shop-page-banner__title {
	font-family: var(--OZ-Font-Headings);
	font-size: clamp(1.35rem, 3.5vw, var(--OZ-Size-H1));
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0}

.oz-shop-page-banner__title-spacer {
	min-height: 1.5rem}

.oz-shop-page-banner__crumbs {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 500}

.oz-shop-page-banner__wc-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.25rem 0.35rem;
	margin: 0}

.oz-shop-page-banner__wc-breadcrumb a {
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none}

.oz-shop-page-banner__wc-breadcrumb a:hover {
	text-decoration: underline;
	color: #fff}

.oz-shop-page-banner__crumb-sep {
	color: rgba(255, 255, 255, 0.55);
	user-select: none}

@media (max-width: 767px) {
	.oz-shop-page-banner__inner {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		justify-items: start;
		padding: 0.875rem 1rem 1rem}

	.oz-shop-page-banner__aside {
		justify-self: start}

	.oz-shop-page-banner__wc-breadcrumb {
		justify-content: flex-start}
}

/* DescripciÃ³n de archivo / categorÃ­a (debajo de la franja, encima del Ã¡rea de iconos) */
.oz-shop-archive__intro .term-description,
.oz-shop-archive__intro .woocommerce-products-header__description {
	
	color: var(--OZ-Color-2);
	font-size: 1rem;
	line-height: 1.6;
	max-width: 48rem}

/* Ãrea maquetador / widgets encima de la barra de resultados */
/* â€”â€” Avisos, resultado y ordenaciÃ³n */
.oz-shop-layout__main .woocommerce-result-count,
/* Barra: columnas | resultados centrados | ordenaciÃ³n */
.oz-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	
	
	background: var(--OZ-Color-5);
	border: 1px solid var(--OZ-Color-6);
	border-radius: 10px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	box-sizing: border-box}

.oz-shop-toolbar__grid {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.35rem;
	flex-shrink: 0}

.oz-shop-grid-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.4rem;
	height: 2.4rem;
	
	border: 1px solid var(--OZ-Color-6);
	border-radius: 6px;
	background: var(--OZ-Color-5);
	color: var(--OZ-Shop-Filter-Title-Accent, var(--OZ-Color-3));
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease}

/* Icono de rejilla: barras verticales = columnas */
.oz-shop-grid-btn__icon {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: center;
	gap: 2px;
	width: 1.05rem;
	height: 0.78rem}

.oz-shop-grid-btn__col {
	flex: 1 1 0;
	min-width: 0;
	max-width: 3px;
	background: currentColor;
	border-radius: 1px;
	opacity: 0.92}

.oz-shop-grid-btn:hover {
	border-color: var(--OZ-Shop-Filter-Title-Accent, var(--OZ-Color-3));
	color: var(--OZ-Shop-Filter-Title-Accent, var(--OZ-Color-3))}

.oz-shop-grid-btn.is-active,
.oz-shop-grid-btn[aria-pressed="true"] {
	background: var(--OZ-Shop-Page-Banner-Bg, var(--OZ-Color-1));
	border-color: var(--OZ-Shop-Page-Banner-Bg, var(--OZ-Color-1));
	color: #fff}

.oz-shop-grid-btn.is-active .oz-shop-grid-btn__col,
.oz-shop-grid-btn[aria-pressed="true"] .oz-shop-grid-btn__col {
	opacity: 1}

.oz-shop-toolbar .woocommerce-result-count {
	flex: 1 1 auto;
	text-align: center;
	
	font-size: 0.9375rem;
	color: var(--OZ-Color-2);
	min-width: 12rem}

.oz-shop-toolbar .woocommerce-ordering {
	
	flex-shrink: 0}

.oz-shop-toolbar .woocommerce-ordering select {
	
	border: 1px solid var(--OZ-Color-6);
	border-radius: 6px;
	background: var(--OZ-Color-5);
	color: var(--OZ-Color-2);
	font-size: 0.875rem}

@media (max-width: 991px) {
	.oz-shop-toolbar__grid {
		display: none}

	.oz-shop-toolbar .woocommerce-result-count {
		text-align: left;
		min-width: 0}
}

@media (max-width: 575px) {
	.oz-shop-toolbar {
		flex-direction: column;
		align-items: stretch}

	.oz-shop-toolbar .woocommerce-result-count {
		text-align: center;
		order: -1}

	.oz-shop-toolbar .woocommerce-ordering {
		width: 100%}

	.oz-shop-toolbar .woocommerce-ordering select {
		width: 100%}
}

@supports not (background: color-mix(in srgb, red, blue)) {
	.oz-shop-toolbar {
		background: #f3f4f6}
}

/* â€”â€” Grid de productos (4 columnas; coincide con loop_shop_columns)
 *
 * OZ Cotizador: si en el plugin activas â€œLoopsâ€ + â€œReemplazar loop de WooCommerceâ€ en tienda,
 * el body gana la clase `ozc-loops--replace` y el plugin carga `loops.css` (grid auto-fill 240px).
 * Los bloques `body.ozc-loops--replace â€¦` mÃ¡s abajo fijan el mismo escalado responsive que el tema
 * aunque el CSS del Cotizador o del design pack se cargue en otro orden.
 *
 * Relacionados / up-sells en ficha: `single-product.css` (sin `ozc-loops--replace` en el body).
 * Cross-sells en carrito: `woo-common.css`.
 */
/*
 * WooCommerce layout aÃ±ade ul.products::before/::after (clearfix con display:table).
 * Con display:grid esos pseudo-elementos cuentan como Ã­tems del grid â†’ primera celda â€œvacÃ­aâ€.
 */
.oz-shop-layout__main ul.products::before,
.oz-shop-layout__main ul.products::after {
	content: none !important;
	display: none !important}

.oz-shop-layout__main ul.products {
	display: grid;
	grid-template-columns: repeat(var(--oz-shop-grid-columns, 4), minmax(0, 1fr));
	gap: 1.5rem;
	
	
	list-style: none;
	clear: both}

@media (max-width: 1399px) {
	.oz-shop-layout__main ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr))}
}

@media (max-width: 991px) {
	.oz-shop-layout__main ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr))}
}

@media (max-width: 575px) {
	.oz-shop-layout__main ul.products {
		grid-template-columns: 1fr}
}

/* Misma rejilla con mayor especificidad cuando el Cotizador reemplaza las cards */
body.ozc-loops--replace .oz-shop-layout__main ul.products {
	display: grid;
	grid-template-columns: repeat(var(--oz-shop-grid-columns, 4), minmax(0, 1fr));
	gap: 1.5rem;
	
	
	list-style: none;
	clear: both}

@media (max-width: 1399px) {
	body.ozc-loops--replace .oz-shop-layout__main ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr))}
}

@media (max-width: 991px) {
	body.ozc-loops--replace .oz-shop-layout__main ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr))}
}

@media (max-width: 575px) {
	body.ozc-loops--replace .oz-shop-layout__main ul.products {
		grid-template-columns: 1fr;
		gap: 1rem}
}

/* Columnas elegidas en la barra (2â€“5): solo â‰¥992px; el nÃºmero de filas depende de productos/pÃ¡gina */
@media (min-width: 992px) {
	body.oz-shop-user-cols-2 .oz-shop-layout__main ul.products,
	body.oz-shop-user-cols-2.ozc-loops--replace .oz-shop-layout__main ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important}

	body.oz-shop-user-cols-3 .oz-shop-layout__main ul.products,
	body.oz-shop-user-cols-3.ozc-loops--replace .oz-shop-layout__main ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important}

	body.oz-shop-user-cols-4 .oz-shop-layout__main ul.products,
	body.oz-shop-user-cols-4.ozc-loops--replace .oz-shop-layout__main ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important}

	body.oz-shop-user-cols-5 .oz-shop-layout__main ul.products,
	body.oz-shop-user-cols-5.ozc-loops--replace .oz-shop-layout__main ul.products {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important}
}

/* Cards del Cotizador: tipografÃ­a alineada al grid nativo + lectura en mÃ³vil */
body.ozc-loops--replace .oz-shop-layout__main .ozc-product-card__title {
	font-family: var(--OZ-Font-Headings);
	font-size: clamp(0.9rem, 2.8vw, 1.05rem);
	line-height: 1.3}

body.ozc-loops--replace .oz-shop-layout__main .ozc-product-card__category {
	font-size: clamp(0.75rem, 2.2vw, 0.85rem)}

@media (max-width: 575px) {
	body.ozc-loops--replace .oz-shop-layout__main .ozc-product-card__media {
		border-radius: 12px}

	body.ozc-loops--replace .oz-shop-layout__main .ozc-product-card__btn,
	body.ozc-loops--replace .oz-shop-layout__main .ozc-product-card__wa-btn {
		min-height: 44px;
		font-size: 14px}
}

.oz-shop-layout__main ul.products li.product,
.oz-shop-layout__main ul.products li.product.first,
.oz-shop-layout__main ul.products li.product.last {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	
	
	position: relative}

/* SubcategorÃ­as si aparecen en el <ul>: anular floats del layout de WooCommerce */
.oz-shop-layout__main ul.products li.product-category {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	
	min-height: 10rem}

.oz-shop-layout__main ul.products li.product-category a {
	text-decoration: none;
	color: inherit}

.oz-shop-layout__main ul.products li.product-category img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px}

.oz-shop-layout__main ul.products li.product a.woocommerce-LoopProduct-link {
	text-decoration: none;
	color: inherit}

.oz-shop-layout__main ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--OZ-Font-Headings);
	font-size: clamp(0.95rem, 1.1vw, 1.05rem)}

.oz-shop-layout__main ul.products li.product .price {
	color: var(--OZ-Color-1);
	font-weight: 600}

/* â€”â€” Sidebar categorÃ­as
 * Variables de barra tienda (independientes del primario/secundario global):
 * --OZ-Shop-Page-Banner-Bg, --OZ-Shop-Category-Card-Bg, --OZ-Shop-Category-Accent,
 * --OZ-Shop-Filter-Card-Bg, --OZ-Shop-Filter-Title-Accent, --OZ-Shop-Filter-Badge
 * â†’ Personalizador â†’ DiseÃ±o OZ â†’ Barra lateral de la tienda.
 */
.oz-shop-layout__sidebar {
	position: sticky;
	top: 1rem}

@media (max-width: 991px) {
	.oz-shop-layout__sidebar {
		/* En tablet y móvil el sidebar (Categorías/Filtros) no se muestra:
		   se apilaba a ancho completo encima del listado. */
		display: none}
}

.oz-shop-sidebar__title {
	font-family: var(--OZ-Font-Headings);
	font-size: var(--OZ-Size-H4);
	
	color: var(--OZ-Color-1)}

.oz-shop-sidebar__empty {
	
	font-size: 0.9rem;
	color: var(--OZ-Color-2)}

/* BotÃ³n â€œLimpiar filtrosâ€ (encima de los widgets de la tienda) */
.oz-shop-sidebar__clear-filters {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	
	border: 1px solid var(--OZ-Color-6);
	border-radius: 10px;
	background: var(--OZ-Color-5);
	color: var(--OZ-Color-2);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.2;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
	box-sizing: border-box}

.oz-shop-sidebar__clear-filters:hover {
	border-color: var(--OZ-Color-3);
	color: var(--OZ-Color-3);
	background: var(--OZ-Color-4)}

.oz-shop-sidebar__clear-filters:focus-visible {
	outline: 2px solid var(--OZ-Color-3);
	outline-offset: 2px}

.oz-shop-sidebar__clear-filters-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 5h18l-7 9v7l-4 2v-9L3 5z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 5h18l-7 9v7l-4 2v-9L3 5z'/%3E%3C/svg%3E") center / contain no-repeat}

ul.oz-shop-categories {
	list-style: none}

ul.product-categories,
.widget_product_categories .product-categories,
.wc-block-product-categories-list,
.wc-block-product-categories-list ul {
	list-style: none !important}

.oz-shop-categories li,
.product-categories li {
	
	
	list-style: none !important}

.oz-shop-categories li.cat-parent,
.product-categories li.cat-parent {
	position: relative}

.oz-shop-categories li::marker,
.product-categories li::marker,
.wc-block-product-categories-list li::marker {
	content: "" !important;
	font-size: 0 !important}

.oz-shop-categories li a,
.product-categories li a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	
	text-decoration: none;
	color: var(--OZ-Color-2);
	font-size: 0.9375rem;
	transition: color 0.15s ease, background 0.15s ease;
	position: relative;
	border-radius: 6px;
	max-width: calc(100% - 2rem)}

.oz-shop-categories li a::before,
.product-categories li a::before {
	content: "";
	width: 14px;
	height: 14px;
	border: 1px solid var(--OZ-Color-6);
	border-radius: 4px;
	background: #fff;
	flex: 0 0 14px}

.oz-shop-categories li a:hover,
.product-categories li a:hover {
	color: var(--OZ-Color-3);
	background: rgba(0, 0, 0, 0.03)}

.oz-shop-categories .current-cat > a,
.product-categories .current-cat > a,
.product-categories .current-cat-parent > a {
	font-weight: 600;
	color: var(--OZ-Color-1);
	background: rgba(0, 0, 0, 0.05)}

.oz-shop-categories .current-cat > a::before,
.product-categories .current-cat > a::before,
.product-categories .current-cat-parent > a::before {
	background: var(--OZ-Color-3);
	border-color: var(--OZ-Color-3);
	box-shadow: inset 0 0 0 3px #fff}

ul.oz-shop-categories ul.children,
ul.product-categories ul.children {
	list-style: none;
	
	
	display: none}

.oz-shop-categories .current-cat > ul.children,
.oz-shop-categories .current-cat-parent > ul.children,
.product-categories .current-cat > ul.children,
.product-categories .current-cat-parent > ul.children {
	display: block}

.oz-shop-categories li.is-expanded > ul.children,
.product-categories li.is-expanded > ul.children {
	display: block}

.oz-shop-categories li.is-collapsed > ul.children,
.product-categories li.is-collapsed > ul.children {
	display: none}

.oz-shop-cat-toggle {
	position: absolute;
	top: 0.25rem;
	right: 0;
	width: 1.75rem;
	height: 1.75rem;
	border: 0;
	background: transparent;
	border-radius: 6px;
	cursor: pointer;
	color: var(--OZ-Color-2)}

.oz-shop-cat-toggle::before {
	content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.15s ease}

.oz-shop-categories li.is-expanded > .oz-shop-cat-toggle::before,
.product-categories li.is-expanded > .oz-shop-cat-toggle::before {
	transform: rotate(225deg)}

.oz-shop-cat-toggle:hover {
	background: rgba(0, 0, 0, 0.03)}

/* Widgets extra bajo categorÃ­as */
.oz-shop-sidebar__widget {
	border: 1px solid var(--OZ-Color-6);
	
	background: var(--OZ-Color-5);
	border-radius: 12px}

.oz-shop-sidebar__widget-title {
	font-size: 1rem;
	font-weight: 600;
	
	color: var(--OZ-Color-1);
	line-height: 1.25}

/* Widget: filtrar productos por atributo (layered nav) â†’ estilo â€œcheckâ€ como los filtros OZ */
.widget_layered_nav .woocommerce-widget-layered-nav-list,
.widget_layered_nav_filters ul,
.widget_price_filter .price_slider_amount,
.widget_rating_filter ul {
	list-style: none}

.widget_layered_nav .woocommerce-widget-layered-nav-list__item,
.widget_layered_nav_filters li,
.widget_layered_nav .woocommerce-widget-layered-nav-list__item a,
.widget_rating_filter a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	
	text-decoration: none;
	color: var(--OZ-Color-2);
	font-size: 0.9375rem;
	transition: color 0.15s ease, background 0.15s ease;
	position: relative;
	border-radius: 6px;
	max-width: calc(100% - 2rem)}

.widget_layered_nav .woocommerce-widget-layered-nav-list__item a::before,
.widget_rating_filter a::before {
	content: "";
	width: 14px;
	height: 14px;
	border: 1px solid var(--OZ-Color-6);
	border-radius: 4px;
	background: #fff;
	flex: 0 0 14px;
	font-family: inherit !important;
	speak: normal;
	line-height: 1}

.widget_layered_nav .woocommerce-widget-layered-nav-list__item a:hover,
.widget_rating_filter a:hover {
	color: var(--OZ-Color-3);
	background: rgba(0, 0, 0, 0.03)}

/* Estado activo (Woo usa .chosen en layered nav) */
.widget_layered_nav .woocommerce-widget-layered-nav-list__item.chosen > a,
.widget_rating_filter li.chosen > a {
	font-weight: 600;
	color: var(--OZ-Color-1);
	background: rgba(0, 0, 0, 0.05)}

.widget_layered_nav .woocommerce-widget-layered-nav-list__item.chosen > a::before,
.widget_rating_filter li.chosen > a::before {
	background: var(--OZ-Color-3);
	border-color: var(--OZ-Color-3);
	box-shadow: inset 0 0 0 3px #fff;
	content: "" !important;
	color: transparent !important}

.widget_layered_nav .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item--chosen > a::before {
	content: "" !important;
	color: transparent !important;
	background: var(--OZ-Color-3) !important;
	border-color: var(--OZ-Color-3) !important;
	box-shadow: inset 0 0 0 3px #fff !important;
	font-family: inherit !important}

.widget_layered_nav .woocommerce-widget-layered-nav-list__item .count,
.widget_rating_filter .wc-layered-nav-rating {
	font-size: 12px;
	color: #6b7280}

/* Widget: â€œFiltros activosâ€ (layered nav filters) â†’ chips removibles (sin â€œcheckboxâ€). */
.widget_layered_nav_filters ul {
	display: flex;
	flex-direction: column;
	gap: 8px}

.widget_layered_nav_filters ul li {
	float: none !important}

.widget_layered_nav_filters li a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	
	border: 1px solid var(--OZ-Color-6);
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.02);
	color: var(--OZ-Color-2);
	text-decoration: none;
	max-width: 100%}

.widget_layered_nav_filters li a::before {
	content: "Ã—" !important;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--OZ-Color-6);
	line-height: 1;
	flex: 0 0 18px;
	color: var(--OZ-Color-2);
	background: #fff;
	font-family: inherit !important}

.widget_layered_nav_filters li a:hover {
	color: var(--OZ-Color-3);
	border-color: var(--OZ-Color-3);
	background: rgba(0, 0, 0, 0.03)}

.widget_layered_nav_filters li a:hover::before {
	border-color: var(--OZ-Color-3);
	color: var(--OZ-Color-3)}

/* â€œBorrar filtrosâ€ / links de limpiar */
.widget_layered_nav_filters a,
.widget_layered_nav a,
.widget_price_filter a {
	word-break: break-word}

/* â€”â€” Variantes de tarjeta: categorÃ­as (oscuro) y filtros por atributo / marcas (claro) en la barra tienda */
.oz-shop-sidebar__widget.widget_product_categories {
	
	overflow: hidden;
	background: var(--OZ-Shop-Category-Card-Bg, #000000);
	border-color: color-mix(in srgb, var(--OZ-Shop-Category-Card-Bg, #000000) 82%, #000);
	color: #fff}

.oz-shop-sidebar__widget.widget_product_categories .oz-shop-sidebar__widget-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	
	
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--OZ-Shop-Category-Accent, #e8c547);
	line-height: 1.25}

.oz-shop-sidebar__widget.widget_product_categories .oz-shop-sidebar__widget-title::before {
	content: "";
	width: 14px;
	height: 12px;
	flex-shrink: 0;
	background:
		linear-gradient(#fff, #fff) 0 0 / 100% 2px no-repeat,
		linear-gradient(#fff, #fff) 0 5px / 100% 2px no-repeat,
		linear-gradient(#fff, #fff) 0 10px / 100% 2px no-repeat}

.oz-shop-sidebar__widget.widget_product_categories ul.product-categories,
.oz-shop-sidebar__widget.widget_product_categories .product-categories > li,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories > li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12)}

.oz-shop-sidebar__widget.widget_product_categories .product-categories > li:last-child,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories > li:last-child {
	border-bottom: 0}

.oz-shop-sidebar__widget.widget_product_categories .product-categories li > a,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li > a {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: none;
	
	border-radius: 0;
	color: rgba(255, 255, 255, 0.96)}

.oz-shop-sidebar__widget.widget_product_categories .product-categories li > a::before,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li > a::before {
	border-color: rgba(255, 255, 255, 0.85);
	background: transparent}

.oz-shop-sidebar__widget.widget_product_categories .product-categories li > a::after,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li > a::after {
	content: "";
	width: 0.35rem;
	height: 0.35rem;
	
	flex-shrink: 0;
	border-right: 2px solid rgba(255, 255, 255, 0.65);
	border-bottom: 2px solid rgba(255, 255, 255, 0.65);
	transform: rotate(-45deg)}

.oz-shop-sidebar__widget.widget_product_categories .product-categories li.cat-parent > a,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li.cat-parent > a {
	max-width: calc(100% - 2.25rem)}

.oz-shop-sidebar__widget.widget_product_categories .product-categories li.cat-parent > a::after,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li.cat-parent > a::after {
	content: none}

.oz-shop-sidebar__widget.widget_product_categories .product-categories li a:hover,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li a:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.06)}

.oz-shop-sidebar__widget.widget_product_categories .product-categories .current-cat > a,
.oz-shop-sidebar__widget.widget_product_categories .product-categories .current-cat-parent > a,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories .current-cat > a,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories .current-cat-parent > a {
	color: #fff;
	background: rgba(255, 255, 255, 0.1)}

.oz-shop-sidebar__widget.widget_product_categories .product-categories .current-cat > a::before,
.oz-shop-sidebar__widget.widget_product_categories .product-categories .current-cat-parent > a::before,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories .current-cat > a::before,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories .current-cat-parent > a::before {
	background: var(--OZ-Shop-Category-Accent, #e8c547);
	border-color: var(--OZ-Shop-Category-Accent, #e8c547);
	box-shadow: inset 0 0 0 2px var(--OZ-Shop-Category-Card-Bg, #000000)}

.oz-shop-sidebar__widget.widget_product_categories .oz-shop-cat-toggle {
	color: rgba(255, 255, 255, 0.88)}

.oz-shop-sidebar__widget.widget_product_categories .oz-shop-cat-toggle:hover {
	background: rgba(255, 255, 255, 0.08)}

.oz-shop-sidebar__widget.widget_layered_nav {
	
	overflow: hidden;
	background: var(--OZ-Shop-Filter-Card-Bg, #ffffff);
	border-color: var(--OZ-Color-6)}

.oz-shop-sidebar__widget.widget_layered_nav .oz-shop-sidebar__widget-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	
	
	border-bottom: 1px solid var(--OZ-Color-6);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--OZ-Shop-Filter-Title-Accent, #ea580c);
	line-height: 1.25}

.oz-shop-sidebar__widget.widget_layered_nav .oz-shop-sidebar__widget-title::before {
	content: "";
	width: 14px;
	height: 12px;
	flex-shrink: 0;
	background:
		linear-gradient(currentColor, currentColor) 0 0 / 100% 2px no-repeat,
		linear-gradient(currentColor, currentColor) 0 5px / 100% 2px no-repeat,
		linear-gradient(currentColor, currentColor) 0 10px / 100% 2px no-repeat}
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06)}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item:last-child {
	border-bottom: 0}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item > a {
	flex: 1 1 auto;
	min-width: 0}

/* Si el contador va fuera del enlace (algunas versiones / bloques) */
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item > .count {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	
	
	border-radius: 999px;
	background: var(--OZ-Shop-Filter-Badge, #f5ebe8);
	color: var(--OZ-Color-2);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a::before {
	background: var(--OZ-Shop-Filter-Card-Bg, #ffffff)}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a {
	display: flex !important;
	flex-direction: row;
	flex-wrap: nowrap !important;
	align-items: center;
	gap: 0.35rem 0.5rem;
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	max-width: none;
	
	border-radius: 0;
	color: var(--OZ-Color-2);
	box-sizing: border-box}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a .woocommerce-widget-layered-nav-list__item-name,
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a .woocommerce-widget-layered-nav-list__item-label {
	flex: 1 1 auto;
	min-width: 0}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item .count {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: auto !important;
	max-width: none;
	
	
	border-radius: 999px;
	background: var(--OZ-Shop-Filter-Badge, #f5ebe8);
	color: var(--OZ-Color-2);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	align-self: center}

/* Acentos de filtros en la barra tienda (hover, activo): usan tÃ­tulo-filtro, no el secundario global */
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a:hover {
	color: var(--OZ-Shop-Filter-Title-Accent, #ea580c)}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item.chosen > a {
	color: var(--OZ-Color-2)}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item.chosen > a::before {
	background: var(--OZ-Shop-Filter-Title-Accent, #ea580c);
	border-color: var(--OZ-Shop-Filter-Title-Accent, #ea580c);
	box-shadow: inset 0 0 0 3px var(--OZ-Shop-Filter-Card-Bg, #ffffff)}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item--chosen > a::before {
	background: var(--OZ-Shop-Filter-Title-Accent, #ea580c) !important;
	border-color: var(--OZ-Shop-Filter-Title-Accent, #ea580c) !important;
	box-shadow: inset 0 0 0 3px var(--OZ-Shop-Filter-Card-Bg, #ffffff) !important}

.oz-shop-sidebar__widget.widget_rating_filter a::before {
	background: var(--OZ-Shop-Filter-Card-Bg, #ffffff)}

.oz-shop-sidebar__widget.widget_rating_filter a:hover {
	color: var(--OZ-Shop-Filter-Title-Accent, #ea580c)}

.oz-shop-sidebar__widget.widget_rating_filter li.chosen > a {
	color: var(--OZ-Color-2)}

.oz-shop-sidebar__widget.widget_rating_filter li.chosen > a::before {
	background: var(--OZ-Shop-Filter-Title-Accent, #ea580c);
	border-color: var(--OZ-Shop-Filter-Title-Accent, #ea580c);
	box-shadow: inset 0 0 0 3px var(--OZ-Shop-Filter-Card-Bg, #ffffff)}

.oz-shop-sidebar__widget.widget_layered_nav_filters li a:hover {
	color: var(--OZ-Shop-Filter-Title-Accent, #ea580c);
	border-color: var(--OZ-Shop-Filter-Title-Accent, #ea580c)}

.oz-shop-sidebar__widget.widget_layered_nav_filters li a:hover::before {
	border-color: var(--OZ-Shop-Filter-Title-Accent, #ea580c);
	color: var(--OZ-Shop-Filter-Title-Accent, #ea580c)}

@supports not (background: color-mix(in srgb, red, blue)) {
	.oz-shop-sidebar__widget.widget_product_categories {
		border-color: var(--OZ-Shop-Category-Card-Bg, #000000)}

	.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item .count {
		background: var(--OZ-Shop-Filter-Badge, #f5ebe8)}
}

.oz-shop-sidebar__widget.widget_price_filter,
.oz-shop-sidebar__widget.widget_rating_filter {
	
	overflow: hidden;
	background: var(--OZ-Shop-Filter-Card-Bg, #ffffff)}

.oz-shop-sidebar__widget.widget_price_filter .oz-shop-sidebar__widget-title,
.oz-shop-sidebar__widget.widget_rating_filter .oz-shop-sidebar__widget-title {
	
	
	border-bottom: 1px solid var(--OZ-Color-6);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--OZ-Shop-Filter-Title-Accent, #ea580c)}

.oz-shop-sidebar__widget.widget_price_filter .price_slider_wrapper,
.oz-shop-sidebar__widget.widget_price_filter .price_slider_amount {
	padding: 0 1rem 1rem;
	box-sizing: border-box}

/* PaginaciÃ³n */
.oz-shop-layout__main .woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem;
	list-style: none}

.oz-shop-layout__main .woocommerce-pagination ul li a,
.oz-shop-layout__main .woocommerce-pagination ul li span {
	display: inline-block;
	
	border: 1px solid var(--OZ-Color-6);
	border-radius: 6px;
	text-decoration: none;
	color: inherit}

.oz-shop-layout__main .woocommerce-pagination ul li span.current {
	background: var(--OZ-Color-1);
	color: #fff;
	border-color: var(--OZ-Color-1)}

/* Tienda: colapsar bloque al pulsar la barra del tÃ­tulo (MARCAS, CATEGORÃAS, precio, etc.) */
.oz-shop-sidebar__widget-title {
	cursor: pointer;
	user-select: none}

.oz-shop-sidebar__widget.is-collapsed > :not(.oz-shop-sidebar__widget-title) {
	display: none !important}

/* Shortcode [oz_filters] dentro del layout: mismo patrÃ³n por grupo */
.oz-shop-layout .oz-filters .oz-filter__title {
	cursor: pointer;
	user-select: none}

.oz-shop-layout .oz-filters .oz-filter.is-collapsed .oz-filter__content {
	display: none !important}

/* —— Fondo de página y espaciado (archivo tienda) */
.site-main.site-main--woo-archive {
	background: #f5f7fa;
	padding-bottom: 3rem;
	box-sizing: border-box}

@supports not (background: color-mix(in srgb, red, blue)) {
	.site-main.site-main--woo-archive {
		background: #f5f7fa}
}

.oz-shop-sidebar__block--widgets > * + * {
	margin-top: 1rem}

/* —— Tira de categorías (hover alineado a OZ Sliders «wc-categories») */
.oz-shop-category-strip {
	margin: 0 0 1.25rem;
	width: 100%;
	/* Mismas tokens que modules/wc-categories/assets/wc-categories.css */
	--ozs-cat-border: #e5e7eb;
	--ozs-cat-title: #374151;
	--ozs-cat-active-bg: #0f3d5e;
	--ozs-cat-active-accent: #ffffff;
	--ozs-cat-card-bg: #ffffff;
	--ozs-cat-shadow: 0 8px 20px rgba(15, 23, 42, 0.06)}

.oz-shop-category-strip__track {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.75rem;
	overflow-x: auto;
	padding: 0.15rem 0 0.4rem;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin}

.oz-shop-category-strip__item {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-width: 5.75rem;
	max-width: 7.25rem;
	min-height: 6.75rem;
	padding: 0.85rem 0.65rem 0.65rem;
	border-radius: 12px;
	border: 1px solid var(--ozs-cat-border);
	background: var(--ozs-cat-card-bg);
	color: var(--ozs-cat-title);
	text-decoration: none;
	font-size: 0.75rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
	box-sizing: border-box;
	transition: transform 220ms ease, background 220ms ease, color 220ms ease, box-shadow 220ms ease, border-color 220ms ease}

.oz-shop-category-strip__item:hover,
.oz-shop-category-strip__item:focus-visible,
.oz-shop-category-strip__item.is-active {
	background: var(--ozs-cat-active-bg);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: var(--ozs-cat-shadow);
	border-color: var(--ozs-cat-active-bg);
	outline: none}

.oz-shop-category-strip__thumb {
	width: 44px;
	height: 44px;
	object-fit: contain;
	border-radius: 8px;
	transition: transform 220ms ease, filter 220ms ease, opacity 220ms ease}

.oz-shop-category-strip__item:hover .oz-shop-category-strip__thumb,
.oz-shop-category-strip__item:focus-visible .oz-shop-category-strip__thumb,
.oz-shop-category-strip__item.is-active .oz-shop-category-strip__thumb {
	transform: scale(1.03);
	filter: brightness(0) invert(1)}

.oz-shop-category-strip__placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ozs-cat-border);
	color: #ffffff;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1;
	transition: background 220ms ease, color 220ms ease, transform 220ms ease}

.oz-shop-category-strip__item:hover .oz-shop-category-strip__placeholder,
.oz-shop-category-strip__item:focus-visible .oz-shop-category-strip__placeholder,
.oz-shop-category-strip__item.is-active .oz-shop-category-strip__placeholder {
	background: rgba(255, 255, 255, 0.15);
	color: var(--ozs-cat-active-accent);
	transform: scale(1.03)}

.oz-shop-category-strip__icon--all {
	width: 44px;
	height: 44px;
	border-radius: 8px;
	border: 1px solid var(--ozs-cat-border);
	background-color: var(--ozs-cat-card-bg);
	color: var(--ozs-cat-title);
	background-image:
		linear-gradient(currentColor, currentColor),
		linear-gradient(currentColor, currentColor),
		linear-gradient(currentColor, currentColor),
		linear-gradient(currentColor, currentColor);
	background-size: 42% 42%;
	background-position: 0 0, 100% 0, 0 100%, 100% 100%;
	background-repeat: no-repeat;
	transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease, color 220ms ease}

.oz-shop-category-strip__item:hover .oz-shop-category-strip__icon--all,
.oz-shop-category-strip__item:focus-visible .oz-shop-category-strip__icon--all,
.oz-shop-category-strip__item.is-active .oz-shop-category-strip__icon--all {
	border-color: transparent;
	background-color: rgba(255, 255, 255, 0.15);
	color: var(--ozs-cat-active-accent);
	transform: scale(1.03)}

@media (prefers-reduced-motion: reduce) {
	.oz-shop-category-strip__item,
	.oz-shop-category-strip__thumb,
	.oz-shop-category-strip__placeholder,
	.oz-shop-category-strip__icon--all {
		transition: none}
}

/* —— Tarjeta de producto en grid */
.oz-shop-layout__main ul.products li.product.oz-loop-product {
	display: flex;
	flex-direction: column}

.oz-loop-product__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0.85rem;
	border: 1px solid var(--OZ-Color-6);
	border-radius: 14px;
	background: var(--OZ-Color-5);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
	transition: box-shadow 0.18s ease, border-color 0.18s ease}

.oz-loop-product__inner:hover {
	border-color: color-mix(in srgb, var(--OZ-Color-3) 35%, var(--OZ-Color-6));
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.07)}

.oz-loop-product .onsale {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	z-index: 2;
	margin: 0;
	padding: 0.2rem 0.5rem;
	border-radius: 6px;
	font-size: 0.7rem;
	font-weight: 700;
	background: var(--OZ-Shop-Filter-Title-Accent, var(--OZ-Color-3));
	color: #fff;
	line-height: 1.2}

.oz-loop-product__media {
	display: block;
	text-align: center;
	margin: -0.25rem -0.25rem 0.5rem;
	padding: 0.5rem;
	border-radius: 10px;
	background: color-mix(in srgb, var(--OZ-Color-6) 20%, var(--OZ-Color-5))}

@supports not (background: color-mix(in srgb, red, blue)) {
	.oz-loop-product__media {
		background: #fafafa}
}

.oz-loop-product__media img {
	display: inline-block;
	max-height: 200px;
	width: auto;
	max-width: 100%;
	height: auto;
	vertical-align: middle}

.oz-loop-product__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
	gap: 0.28rem}

.oz-loop-product__category {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--OZ-Color-1);
	line-height: 1.3;
	font-family: var(--OZ-Font-Headings)}

.oz-loop-product__title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.95rem !important;
	line-height: 1.3;
	font-family: var(--OZ-Font-Headings);
	font-weight: 700}

.oz-loop-product__title a {
	color: var(--OZ-Color-2);
	text-decoration: none}

.oz-loop-product__title a:hover {
	color: var(--OZ-Shop-Filter-Title-Accent, var(--OZ-Color-3))}

.oz-loop-product__excerpt {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.4;
	color: var(--OZ-Color-2)}

.oz-loop-product__brand {
	margin: 0.15rem 0 0;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--OZ-Color-2);
	line-height: 1.35}

.oz-loop-product__brand-label {
	font-weight: 800;
	color: var(--OZ-Color-1)}

.oz-loop-product .price {
	display: none}

/* Barra Agregar + cantidad */
.oz-loop-product__actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.45rem;
	align-items: stretch;
	margin-top: auto;
	padding-top: 0.75rem}

.oz-loop-product__actions--wide {
	grid-template-columns: 1fr}

.oz-loop-product__actions .add_to_cart_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.65rem;
	padding: 0.4rem 0.75rem !important;
	border: none !important;
	border-radius: 9px !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	text-align: center;
	line-height: 1.2;
	background: linear-gradient(180deg, color-mix(in srgb, var(--OZ-Color-3) 96%, #fff) 0%, var(--OZ-Color-3) 100%) !important;
	color: #fff !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
	box-sizing: border-box;
	transition: filter 0.15s ease, transform 0.1s ease}

@supports not (background: color-mix(in srgb, red, blue)) {
	.oz-loop-product__actions .add_to_cart_button {
		background: var(--OZ-Color-3) !important}
}

.oz-loop-product__actions .add_to_cart_button:hover {
	filter: brightness(0.96);
	color: #fff !important}

.oz-loop-product__qty {
	display: inline-flex;
	align-items: center;
	gap: 0;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid var(--OZ-Shop-Page-Banner-Bg, var(--OZ-Color-1));
	background: var(--OZ-Shop-Page-Banner-Bg, var(--OZ-Color-1));
	color: #fff;
	min-height: 2.65rem;
	box-sizing: border-box}

.oz-loop-product__qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	min-height: 2.65rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background 0.12s ease}

.oz-loop-product__qty-btn:hover {
	background: rgba(255, 255, 255, 0.12)}

.oz-loop-product__qty-btn:focus-visible {
	outline: 2px solid var(--OZ-Shop-Category-Accent, var(--OZ-Color-3));
	outline-offset: 1px}

.oz-loop-product__qty-val {
	min-width: 1.75rem;
	text-align: center;
	font-size: 0.9rem;
	font-weight: 800;
	padding: 0 0.2rem;
	user-select: none}



/* ==========================================================================
   OVERRIDE PARA IGUALAR EL DISEÑO DE REFERENCIA (FIGMA/MOCKUP)
   ========================================================================== */

/* Fondo de la página gris claro */
.site-main.site-main--woo-archive {
    background: #eef1f3 !important;
}

/* Banner superior: transparente con texto azul */
.oz-shop-page-banner {
    background: transparent;
    color: #0f172a;
}
.oz-shop-page-banner__main {
    min-width: 0;
}
.oz-shop-page-banner__aside {
    min-width: 0;
    justify-self: end;
}
.oz-shop-page-banner__title {
    color: #0f172a;
    margin: 0;
    font-weight: 700;
    letter-spacing: -0.02em;
}
.oz-shop-page-banner__wc-breadcrumb {
    color: #6b7280;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    font-size: 0.875rem;
}
.oz-shop-page-banner__crumbs {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}
.oz-shop-page-banner__wc-breadcrumb a {
    color: #0f3d5e;
    font-weight: 600;
}
.oz-shop-page-banner__crumb-sep {
    color: #9ca3af;
}

/* Contenedor extra de "Limpiar Filtros" */
.oz-shop-sidebar__clear-wrap {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
    padding-top: 0 !important;
}

/* Forzar reset en el elemento en sí (por si hereda estilos de p o div) */
p.oz-shop-sidebar__clear-wrap {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

/* Limpiar filtros: estilo botón con borde azul redondeado */
.oz-shop-sidebar__clear-filters {
    background: #ffffff;
    border: 1px solid #d7e0e8;
    color: #0f3d5e;
    justify-content: center;
    padding: 0.7rem 1.25rem;
    border-radius: 8px;
    width: 100%;
    text-align: center;
    font-weight: 600;
    transition: background-color 0.24s ease, border-color 0.24s ease, color 0.24s ease, box-shadow 0.24s ease, transform 0.24s ease;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.oz-shop-sidebar__clear-filters:hover {
    background: #f8fafc;
    color: #0f3d5e;
    border-color: #b9ccda;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}
.oz-shop-sidebar__clear-filters:focus-visible {
    outline: none;
    border-color: #8fb2ca;
    box-shadow: 0 0 0 3px rgba(15, 61, 94, 0.14), 0 10px 24px rgba(15, 23, 42, 0.08);
}
.oz-shop-sidebar__clear-filters-icon {
    background-color: currentColor;
    margin-right: 0.5rem;
}

/* Widgets del sidebar */
.oz-shop-sidebar__widget {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
    border-radius: 12px;
    padding: 1rem 1.125rem;
    transition: border-color 0.24s ease, box-shadow 0.24s ease, transform 0.24s ease;
}
.oz-shop-sidebar__widget:hover {
    border-color: #d8e1ea;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
    transform: translateY(-2px);
}
.oz-shop-sidebar__widget.widget_product_categories {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    color: #374151;
    padding-top: 1rem;
}

/* Buscador lateral */
.oz-shop-sidebar__widget.widget_oz_live_search {
    background: #ffffff;
    border: 0;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
    border-radius: 12px;
    padding: 1rem;
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma,
.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__form {
    width: 100%;
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: center;
    gap: 0.5rem;
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__inputWrap,
.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__bar {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    min-height: 42px;
    box-shadow: none;
    transition: border-color 0.24s ease, box-shadow 0.24s ease, background-color 0.24s ease;
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__input {
    width: 100%;
    min-height: 42px;
    padding: 0 0.9rem;
    background: #ffffff;
    color: #0f172a;
    border: 0;
    border-radius: 8px;
    font-size: 0.95rem;
    box-shadow: none;
    transition: color 0.24s ease;
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__input::placeholder {
    color: #9ca3af;
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__input:hover,
.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__input:focus,
.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__inputWrap:hover,
.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__inputWrap:focus-within,
.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__bar:hover,
.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__bar:focus-within {
    border-color: #c6d3df;
    box-shadow: 0 0 0 3px rgba(15, 61, 94, 0.12);
    outline: none;
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__btn {
    position: relative;
    min-height: 42px;
    width: 42px;
    padding: 0;
    background: #facc15;
    color: #0f3d5e;
    border: 1px solid #facc15;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0;
    box-shadow: none;
    cursor: pointer;
    transition: background-color 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease, transform 0.24s ease;
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__btn::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border: 2px solid #0f3d5e;
    border-radius: 50%;
    top: 11px;
    left: 11px;
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__btn::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 2px;
    background: #0f3d5e;
    border-radius: 999px;
    transform: rotate(45deg);
    top: 22px;
    left: 20px;
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__btn:hover,
.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__btn:focus {
    background: #eab308;
    border-color: #eab308;
    color: #0f3d5e;
    box-shadow: 0 10px 24px rgba(250, 204, 21, 0.22);
    outline: none;
    transform: translateY(-1px);
}

.oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__btnText {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 767px) {
    .oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__form {
        grid-template-columns: minmax(0, 1fr) 42px;
    }

    .oz-shop-sidebar__widget.widget_oz_live_search .ozpls-figma__btn {
        width: 42px;
    }
}

/* Título de los widgets */
.oz-shop-sidebar__widget-title,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-sidebar__widget-title {
    color: #0f172a;
    border-bottom: none;
    margin-top: 0;
    padding-bottom: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: -0.01em;
    margin-bottom: 1rem;
    position: relative;
}
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-sidebar__widget-title::before,
.oz-shop-sidebar__widget.widget_layered_nav .oz-shop-sidebar__widget-title::before {
    content: "";
    position: absolute;
    left: -1.125rem;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 18px;
    background: #0f3d5e;
    border-radius: 0 4px 4px 0;
}

/* Lista de categorías */
.oz-shop-sidebar__widget.widget_product_categories ul.product-categories,
.oz-shop-sidebar__widget.widget_product_categories .product-categories > li,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories > li {
    border-bottom: none;
    padding: 0.28rem 0;
}

.oz-shop-sidebar__widget.widget_product_categories .product-categories li > a,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li > a {
    color: #374151;
    font-weight: 500;
    gap: 0.65rem;
}

.oz-shop-sidebar__widget.widget_product_categories .product-categories li > a:hover,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li > a:hover {
    color: #0f3d5e;
    background: transparent;
}

/* Checkboxes de categorías */
.oz-shop-sidebar__widget.widget_product_categories .product-categories li > a::before,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li > a::before {
    border-color: #0f3d5e;
    background: transparent;
    border-radius: 3px;
    width: 12px;
    height: 12px;
}

/* Flechitas de parent */
.oz-shop-sidebar__widget.widget_product_categories .product-categories li.cat-parent > a::after,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li.cat-parent > a::after {
    border-color: #9ca3af;
    content: "";
    display: block;
}

/* Categoría activa */
.oz-shop-sidebar__widget.widget_product_categories .product-categories .current-cat > a,
.oz-shop-sidebar__widget.widget_product_categories .product-categories .current-cat-parent > a,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories .current-cat > a,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories .current-cat-parent > a {
    color: #0f3d5e;
    background: transparent;
    font-weight: 600;
}

.oz-shop-sidebar__widget.widget_product_categories .product-categories .current-cat > a::before,
.oz-shop-sidebar__widget.widget_product_categories .product-categories .current-cat-parent > a::before,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories .current-cat > a::before,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories .current-cat-parent > a::before {
    background: #0f3d5e;
    border-color: #0f3d5e;
    box-shadow: inset 0 0 0 2px #ffffff;
}

/* Tira de categorías superior (scroll horizontal) */
.oz-shop-category-strip__track {
    scrollbar-width: none; /* Firefox */
    cursor: grab;
}
.oz-shop-category-strip__track:active {
    cursor: grabbing;
}
.oz-shop-category-strip__track::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}
.oz-shop-category-strip__item {
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #374151;
    border-radius: 12px;
    transition: transform 0.24s ease, background-color 0.24s ease, color 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.04);
}
.oz-shop-category-strip__item.is-active,
.oz-shop-category-strip__item:hover,
.oz-shop-category-strip__item:focus-visible {
    background: #0f3d5e;
    border-color: #0f3d5e;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(15, 61, 94, 0.14);
    outline: none;
}
.oz-shop-category-strip__item.is-active .oz-shop-category-strip__placeholder,
.oz-shop-category-strip__item:hover .oz-shop-category-strip__placeholder,
.oz-shop-category-strip__item:focus-visible .oz-shop-category-strip__placeholder,
.oz-shop-category-strip__item.is-active .oz-shop-category-strip__icon--all,
.oz-shop-category-strip__item:hover .oz-shop-category-strip__icon--all,
.oz-shop-category-strip__item:focus-visible .oz-shop-category-strip__icon--all {
    color: #ffffff;
    background-color: transparent;
}

/* Barra de herramientas (Toolbar) */
.oz-shop-toolbar {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    border-radius: 12px;
    padding: 1rem 1.125rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    transition: border-color 0.24s ease, box-shadow 0.24s ease, transform 0.24s ease;
}
.oz-shop-toolbar:hover {
    border-color: #d8e1ea;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
    transform: translateY(-2px);
}
.oz-shop-toolbar__grid {
    background: #eef2f7;
    border-radius: 8px;
    padding: 0.25rem;
    gap: 0.25rem;
}
.oz-shop-grid-btn {
    background: transparent;
    border: 0;
    color: #6b7280;
    border-radius: 8px;
    min-width: 2.25rem;
    height: 2.25rem;
    cursor: pointer;
    transition: background-color 0.24s ease, color 0.24s ease, transform 0.24s ease;
}
.oz-shop-grid-btn:hover {
    background: #f8fafc;
    color: #0f3d5e;
    transform: translateY(-1px);
}
.oz-shop-grid-btn.is-active,
.oz-shop-grid-btn[aria-pressed="true"] {
    background: #003a60;
    border-color: #003a60;
    color: #ffffff;
}
.oz-shop-toolbar .woocommerce-result-count {
    color: #6b7280;
    border: 0;
    padding: 0;
    margin: 0;
    font-weight: 400;
    font-size: 0.95rem;
}
.oz-shop-toolbar .woocommerce-ordering {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}
.oz-shop-toolbar .woocommerce-ordering select {
    min-height: 40px;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #374151;
    padding: 0.55rem 2.5rem 0.55rem 0.9rem;
    border-radius: 8px;
    font-weight: 400;
    cursor: pointer;
    outline: none;
    font-size: 0.95rem;
    transition: border-color 0.24s ease, box-shadow 0.24s ease, background-color 0.24s ease;
    margin: 0;
    vertical-align: middle;
    box-shadow: none;
}
.oz-shop-toolbar .woocommerce-ordering select:hover,
.oz-shop-toolbar .woocommerce-ordering select:focus {
    border-color: #c6d3df;
    background: #ffffff;
}
.oz-shop-toolbar .woocommerce-ordering select:focus,
.oz-shop-toolbar .woocommerce-ordering select:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(15, 61, 94, 0.12);
}

/* Cards de productos */
.oz-loop-product__inner {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
}
.oz-loop-product__media {
    background: #ffffff !important;
}
.oz-loop-product__actions .add_to_cart_button {
    background: #f99f00 !important;
    color: #000000 !important;
}
.oz-loop-product__actions .add_to_cart_button:hover {
    background: #e08e00 !important;
}
.oz-loop-product__qty {
    background: #003a60 !important;
    border-color: #003a60 !important;
}

/* Widgets de FILTROS: mismo estilo visual que Categorías del producto */
.oz-shop-sidebar__widget.widget_layered_nav,
.oz-shop-sidebar__widget.widget_layered_nav_filters,
.oz-shop-sidebar__widget.widget_price_filter {
    background: #ffffff;
    border: 0;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
    border-radius: 12px;
    color: #374151;
}

.oz-shop-sidebar__widget.widget_layered_nav .oz-shop-sidebar__widget-title {
    color: #111827;
    border-bottom: none;
    padding-bottom: 0;
}

/* Opciones del filtro por color / atributo */
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item {
    border-bottom: none;
    padding: 0.28rem 0;
}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a {
    color: #374151;
    font-weight: 500;
}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a:hover {
    color: #0f3d5e;
}

/* Checkboxes para filtros */
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a::before {
    border-color: #0f3d5e;
    background: transparent;
    border-radius: 3px;
    width: 12px;
    height: 12px;
}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item.chosen > a {
    color: #0f3d5e;
    font-weight: 600;
}

.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item.chosen > a::before {
    background: #0f3d5e;
    border-color: #0f3d5e;
    box-shadow: inset 0 0 0 2px #ffffff;
}

/* Contadores de los filtros */
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item .count {
    background: #f3f4f6;
    color: #6b7280;
}


/* ==========================================================================
   CORRECCIONES DE DESBORDAMIENTO Y ESPACIOS BLANCOS
   ========================================================================== */

/* 1. Evitar desbordamiento y scroll horizontal blanco en toda la página */
.oz-shop-page-banner {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

body {
    overflow-x: clip !important; /* clip (no hidden): evita scroll horizontal SIN romper position:sticky del filtro */
}

/* 2. Alinear el banner con el grid y evitar que sume padding extra al 100% */
.oz-shop-page-banner__inner {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    max-width: var(--OZ-Container-PC, 1200px) !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
}

/* 3. Evitar que el grid principal se rompa por el carrusel de categorías */
.oz-shop-archive__main,
.oz-shop-archive__header,
.oz-shop-category-strip,
.oz-shop-layout__main {
    min-width: 0 !important;
    max-width: 100% !important;
}

/* 4. Asegurar que el track del carrusel no fuerce el ancho del contenedor padre */
.oz-shop-category-strip__track {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    width: 100% !important;
    box-sizing: border-box !important;
}

.oz-shop-category-strip__item {
    flex: 0 0 auto !important;
    scroll-snap-align: start;
    user-select: none; /* Evitar selección de texto al arrastrar */
}

/* 5. Ajustar el margen del título principal "Tienda" */
.oz-shop-page-banner__title {
    font-size: 2rem !important;
    margin: 0 !important;
}

/* 6. Alinear Limpiar Filtros con el top del carrusel */
.oz-shop-sidebar__clear-wrap {
    margin-bottom: 1.25rem !important;
    padding-top: 0 !important;
}

/* ==========================================================================
   SOLUCIÓN DEFINITIVA A DESBORDAMIENTO EN GRID (FLEX-BASIS & OVERFLOW)
   ========================================================================== */

/* El problema principal radica en el grid y flex-items empujando su contenido. */
/* Aseguramos que los contenedores principales no puedan crecer más allá del 100vw */

.site-main.site-main--woo-archive {
    max-width: 100%;
    overflow-x: hidden;
}

.oz-shop-archive__shell {
    max-width: 100%;
    overflow-x: hidden;
}

.oz-shop-layout {
    max-width: min(100%, var(--OZ-Container-PC, 1320px));
    width: 100%;
    box-sizing: border-box;
}

/* Forzar que la columna derecha del grid pueda encogerse y no rompa el grid */
.oz-shop-archive__main {
    min-width: 0 !important; /* Critical para grids con hijos grandes */
    overflow: hidden !important; /* Contain the overflow */
}

/* El carrusel de categorías debe tener overflow-x: auto pero no romper su contenedor */
.oz-shop-category-strip {
    max-width: 100% !important;
    overflow: hidden !important;
}

.oz-shop-category-strip__track {
    overflow-x: auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    /* Hide scrollbar for a cleaner look while maintaining functionality */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;  /* IE and Edge */
}

.oz-shop-category-strip__track::-webkit-scrollbar {
    display: none; /* Chrome, Safari and Opera */
}

/* Productos grid protection */
.oz-shop-archive__products ul.products {
    max-width: 100%;
}

/* ==========================================================================
   CORRECCION DE ALINEACION DEL WRAPPER .site EN ARCHIVOS DE TIENDA
   ========================================================================== */

body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
    background: #f5f7fa;
}

body.post-type-archive-product .site,
body.tax-product_cat .site,
body.tax-product_tag .site,
body.post-type-archive-product .site-main.site-main--woo-archive,
body.tax-product_cat .site-main.site-main--woo-archive,
body.tax-product_tag .site-main.site-main--woo-archive {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    margin-top: 0;
    padding-top: 0;
    background: #f5f7fa;
    box-sizing: border-box;
}

body.post-type-archive-product .site-main.site-main--woo-archive,
body.tax-product_cat .site-main.site-main--woo-archive,
body.tax-product_tag .site-main.site-main--woo-archive {
    overflow-x: clip;
}

body.post-type-archive-product .oz-shop-archive__shell,
body.tax-product_cat .oz-shop-archive__shell,
body.tax-product_tag .oz-shop-archive__shell {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    background: transparent;
    box-sizing: border-box;
}

body.post-type-archive-product .oz-shop-layout,
body.tax-product_cat .oz-shop-layout,
body.tax-product_tag .oz-shop-layout {
    width: min(100%, var(--OZ-Container-PC, 1320px));
    max-width: min(100%, var(--OZ-Container-PC, 1320px));
    margin-inline: auto;
    background: #ffffff;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

/* ==========================================================================
   REDUCCION DE ESPACIOS (BANNERS, TITULOS, CATEGORIAS)
   ========================================================================== */

/* Reducir espacio del banner (Título y Migas) */
.oz-shop-page-banner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.oz-shop-page-banner__inner {
    padding-top: 0.9rem !important;
    padding-bottom: 1rem !important;
    margin-inline: auto !important;
    border-bottom: 1px solid #dbe3eb !important;
}

@media (max-width: 767px) {
    .oz-shop-page-banner__inner {
        grid-template-columns: minmax(0, 1fr) !important;
        justify-items: start;
        align-items: start;
        gap: 0.45rem !important;
    }

    .oz-shop-page-banner__aside {
        justify-self: start;
    }

    .oz-shop-page-banner__wc-breadcrumb {
        justify-content: flex-start;
        text-align: left;
    }
}

/* Reducir espacio debajo del banner (antes del contenido y sidebar) */
.oz-shop-archive__shell {
    padding-top: 1.5rem;
    padding-bottom: 2.5rem;
}

body.post-type-archive-product .oz-shop-layout,
body.tax-product_cat .oz-shop-layout,
body.tax-product_tag .oz-shop-layout {
    width: min(100%, var(--OZ-Container-PC, 1320px));
    max-width: min(100%, var(--OZ-Container-PC, 1320px));
    margin-inline: auto;
}

/* Reducir espacio debajo del carrusel de categorías y alrededor del header */
.oz-shop-category-strip__track {
    padding-bottom: 0 !important;
}
.oz-shop-archive__main {
    gap: 1.5rem;
    padding-top: 0;
}
.oz-shop-archive__header {
    gap: 1rem;
    margin-bottom: 0;
}
.oz-shop-category-strip {
    margin-bottom: 0;
}


/* ── Ocultar sidebar en móvil ── */
@media (max-width: 767px) {
    .oz-shop-layout__sidebar {
        display: none !important;
    }
    .oz-shop-layout {
        grid-template-columns: 1fr !important;
    }
    .oz-shop-toolbar {
        display: none !important;
    }
}

/* ==========================================================================
   AJUSTES PARA IGUALAR EL DISEÑO DE REFERENCIA (captura 1)
   Se ocultan elementos extra del tema que el diseño no incluye.
   (El selector de columnas 2–5 se mantiene a propósito.)
   ========================================================================== */

/* 1) Tira de categorías con iconos encima de los productos */
.oz-shop-category-strip {
    display: none !important;
}

/* 2) Botón "Limpiar filtros" encima del sidebar */
.oz-shop-sidebar__clear-wrap {
    display: none !important;
}

/* 3) Casillas (checkbox) de la lista de Categorías → lista de texto simple.
   Solo afecta al widget de Categorías; los filtros de Marcas conservan su casilla. */
.oz-shop-sidebar__widget.widget_product_categories .product-categories li a::before,
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-categories li a::before {
    content: none !important;
    display: none !important;
}

/* ==========================================================================
   AJUSTES FINOS 2 (captura 1): barra sin recuadro, título naranja + línea,
   lista de categorías con scroll. (El selector de columnas se mantiene.)
   ========================================================================== */

/* A) Barra superior sin recuadro: 'Mostrando…' y 'Orden' sueltos como el diseño.
   El <select> de orden conserva su propio borde. */
.oz-shop-toolbar {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* B) Título "Categorías": rojo con línea separadora (sin la barra vertical). */
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-sidebar__widget-title {
    color: #FF0000 !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding-bottom: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}
.oz-shop-sidebar__widget.widget_product_categories .oz-shop-sidebar__widget-title::before {
    display: none !important;
    content: none !important;
}

/* C) Lista de Categorías con altura fija + scroll MUY DISCRETO (solo aquí).
      Cubre los dos marcados posibles: widget WooCommerce (ul.product-categories)
      y la plantilla propia (ul.oz-shop-categories). */
.oz-shop-sidebar__widget.widget_product_categories ul.product-categories,
.oz-shop-sidebar__widget ul.oz-shop-categories {
    max-height: 21rem;
    overflow-y: auto;
    /* Firefox: barra fina y casi transparente. */
    scrollbar-width: thin;
    scrollbar-color: rgba(120, 130, 150, 0.28) transparent;
}
.oz-shop-sidebar__widget.widget_product_categories ul.product-categories::-webkit-scrollbar,
.oz-shop-sidebar__widget ul.oz-shop-categories::-webkit-scrollbar {
    width: 4px;
}
.oz-shop-sidebar__widget.widget_product_categories ul.product-categories::-webkit-scrollbar-track,
.oz-shop-sidebar__widget ul.oz-shop-categories::-webkit-scrollbar-track {
    background: transparent;
}
.oz-shop-sidebar__widget.widget_product_categories ul.product-categories::-webkit-scrollbar-thumb,
.oz-shop-sidebar__widget ul.oz-shop-categories::-webkit-scrollbar-thumb {
    background: rgba(120, 130, 150, 0.28);
    border-radius: 8px;
}
/* Se resalta un poco solo al pasar el cursor por la lista. */
.oz-shop-sidebar__widget.widget_product_categories ul.product-categories:hover,
.oz-shop-sidebar__widget ul.oz-shop-categories:hover {
    scrollbar-color: rgba(120, 130, 150, 0.5) transparent;
}
.oz-shop-sidebar__widget.widget_product_categories ul.product-categories:hover::-webkit-scrollbar-thumb,
.oz-shop-sidebar__widget ul.oz-shop-categories:hover::-webkit-scrollbar-thumb {
    background: rgba(120, 130, 150, 0.5);
}

/* ==========================================================================
   BLOQUE MARCAS (widget "Filtrar productos por atributo") — caja azul (captura 1).
   ========================================================================== */

/* Caja azul navy */
.oz-shop-sidebar__widget.widget_layered_nav {
    background: #1b2a6b !important;
    border-color: #1b2a6b !important;
}

/* Título "Marcas": rojo, sin mayúsculas, con línea separadora y sin barra/hamburguesa */
.oz-shop-sidebar__widget.widget_layered_nav .oz-shop-sidebar__widget-title {
    color: #FF0000 !important;
    text-transform: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
    padding-bottom: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}
.oz-shop-sidebar__widget.widget_layered_nav .oz-shop-sidebar__widget-title::before {
    display: none !important;
    content: none !important;
}

/* Lista de marcas: texto claro sobre el azul */
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item,
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a {
    color: rgba(255, 255, 255, 0.92) !important;
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a:hover {
    color: #ef7f1a !important;
}

/* Quitar casillas (checkbox) de las marcas → lista simple */
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a::before {
    display: none !important;
    content: none !important;
}

/* Quitar los números de conteo (30), (4)… */
.oz-shop-sidebar__widget.widget_layered_nav .count {
    display: none !important;
}

/* ==========================================================================
   CONTENEDOR ÚNICO (captura 1): quitar la gran caja blanca que envolvía todo.
   El tema ponía .oz-shop-layout como panel blanco (fondo + sombra + radio +
   padding) sobre el fondo gris → efecto "caja dentro de caja". El diseño no lo
   tiene: las tarjetas y los productos van directo sobre un solo fondo.
   ========================================================================== */
.oz-shop-layout,
body.post-type-archive-product .oz-shop-layout,
body.tax-product_cat .oz-shop-layout,
body.tax-product_tag .oz-shop-layout {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   FONDO BLANCO (captura 1): la tienda es toda blanca. El único gris es la
   franja superior del título + migas de pan (banner del encabezado, que es
   un elemento aparte y conserva su propio fondo).
   ========================================================================== */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
.site-main.site-main--woo-archive,
body.post-type-archive-product .site-main.site-main--woo-archive,
body.tax-product_cat .site-main.site-main--woo-archive,
body.tax-product_tag .site-main.site-main--woo-archive {
    background: #ffffff !important;
}

/* ==========================================================================
   FRANJA SUPERIOR (título + migas): imagen de fondo del diseño (Recurso-9.png).
   Es lo único "gris"; el resto de la tienda queda blanco.
   ========================================================================== */
/* Franja contenida a 1440px, centrada, con la imagen de fondo. */
.oz-shop-page-banner {
    width: 100% !important;
    max-width: 100% !important;           /* franja a TODO el ancho de la página */
    margin-left: 0 !important;
    margin-right: 0 !important;
    background-color: #eef1f3 !important; /* respaldo si la imagen no carga */
    background-image: url("https://www.gabicsafety.com/wp-content/uploads/2024/02/Recurso-9.png") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
}
/* Título centrado, migas de pan debajo. Alto 78px + padding 32px arriba/abajo. */
.oz-shop-page-banner__inner {
    max-width: 1440px !important;
    min-height: 78px !important;
    margin-inline: auto !important;
    padding: 32px 1rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    box-sizing: border-box !important;
}
.oz-shop-page-banner__main,
.oz-shop-page-banner__aside {
    min-width: 0 !important;
    justify-self: center !important;
    text-align: center !important;
}
.oz-shop-page-banner__title {
    text-align: center !important;
}
.oz-shop-page-banner__crumbs,
.oz-shop-page-banner__wc-breadcrumb {
    justify-content: center !important;
    text-align: center !important;
}

/* ==========================================================================
   MARCAS con el diseño de la captura 1: lista simple con altura fija + scroll
   naranja, sin casillas ni números.
   ========================================================================== */

/* Altura fija + scroll (barra naranja como en Categorías) */
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list {
    max-height: 26rem !important;
    overflow-y: auto !important;
    scrollbar-width: thin !important;
    scrollbar-color: #ef7f1a rgba(255, 255, 255, 0.15) !important;
}
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list::-webkit-scrollbar {
    width: 8px;
}
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 8px;
}
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list::-webkit-scrollbar-thumb {
    background: #ef7f1a;
    border-radius: 8px;
}

/* Reasegurar: sin casillas (varios marcados posibles) ni números de conteo */
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item a::before,
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item::before,
.oz-shop-sidebar__widget.widget_layered_nav li a::before,
.oz-shop-sidebar__widget.widget_layered_nav input[type="checkbox"] {
    display: none !important;
    content: none !important;
}
/* Especificidad (0,3,0) para ganar a la regla del tema que hace
   `.woocommerce-widget-layered-nav-list__item .count { display:inline-flex !important }` */
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item .count,
.oz-shop-sidebar__widget.widget_layered_nav .woocommerce-widget-layered-nav-list__item > .count {
    display: none !important;
}

/* ==========================================================================
   WIDGET "PRODUCTOS" (lista de productos) — diseño captura 1:
   imagen a la izquierda (grande), título del producto en azul, título del
   widget naranja + línea, separadores entre ítems, sin precio.
   ========================================================================== */

/* Título "Productos" rojo con línea (como Categorías / Marcas) */
.oz-shop-sidebar__widget.widget_products .oz-shop-sidebar__widget-title,
.oz-shop-sidebar__widget.widget_recent_products .oz-shop-sidebar__widget-title,
.oz-shop-sidebar__widget.widget_top_rated_products .oz-shop-sidebar__widget-title,
.oz-shop-sidebar__widget.widget_onsale .oz-shop-sidebar__widget-title,
.oz-shop-sidebar__widget.widget_recently_viewed_products .oz-shop-sidebar__widget-title {
    color: #FF0000 !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding-bottom: 0.75rem !important;
    margin-bottom: 0.5rem !important;
}
.oz-shop-sidebar__widget.widget_products .oz-shop-sidebar__widget-title::before,
.oz-shop-sidebar__widget.widget_recent_products .oz-shop-sidebar__widget-title::before,
.oz-shop-sidebar__widget.widget_top_rated_products .oz-shop-sidebar__widget-title::before,
.oz-shop-sidebar__widget.widget_onsale .oz-shop-sidebar__widget-title::before,
.oz-shop-sidebar__widget.widget_recently_viewed_products .oz-shop-sidebar__widget-title::before {
    display: none !important;
    content: none !important;
}

/* Lista */
.oz-shop-sidebar__widget .product_list_widget {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.oz-shop-sidebar__widget .product_list_widget li {
    display: flex !important;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0 !important;
    border-bottom: 1px solid #e5e7eb;
}
.oz-shop-sidebar__widget .product_list_widget li:last-child {
    border-bottom: none;
}
/* El enlace envuelve imagen + título: imagen a la izquierda, texto a la derecha */
.oz-shop-sidebar__widget .product_list_widget li a {
    display: flex !important;
    align-items: center;
    gap: 0.75rem;
    flex: 1 1 auto;
    min-width: 0;
    text-decoration: none;
}
/* Imagen a la izquierda y más grande (anula el float:right de WooCommerce) */
.oz-shop-sidebar__widget .product_list_widget li img {
    float: none !important;
    order: -1;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    flex: 0 0 56px;
    object-fit: contain;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #fff;
}
/* Título del producto en azul/navy */
.oz-shop-sidebar__widget .product_list_widget li a,
.oz-shop-sidebar__widget .product_list_widget li .product-title {
    color: #1b2a6b !important;
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.3;
}
.oz-shop-sidebar__widget .product_list_widget li a:hover,
.oz-shop-sidebar__widget .product_list_widget li a:hover .product-title {
    color: #ef7f1a !important;
}
/* El diseño no muestra precio ni estrellas */
.oz-shop-sidebar__widget .product_list_widget li .amount,
.oz-shop-sidebar__widget .product_list_widget li .woocommerce-Price-amount,
.oz-shop-sidebar__widget .product_list_widget li del,
.oz-shop-sidebar__widget .product_list_widget li ins,
.oz-shop-sidebar__widget .product_list_widget li .star-rating {
    display: none !important;
}

/* Ocultar la fila de selección de columnas (2–5) sobre los resultados,
   para que la barra quede como en producción (solo "Mostrando…" + orden). */
.oz-shop-toolbar__grid {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════════════
   REDISEÑO BARRA LATERAL DE TIENDA — panel navy unificado (producción)
   ══════════════════════════════════════════════════════════════════ */
/* 1) Quitar la "tarjeta blanca" centrada: que el panel navy destaque */
.oz-shop-archive__container.oz-shop-layout {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* 2) La barra = un solo panel navy continuo (no cajas separadas) */
.oz-shop-archive__sidebar-inner {
    background: #071647;
    border-radius: 14px;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-shadow: 0 10px 30px rgba(7, 22, 71, 0.18);
}

/* 3) Widgets transparentes dentro del panel */
.oz-shop-archive__sidebar-inner .oz-shop-sidebar__widget {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 14px 0 !important;
    margin: 0 !important;
}
.oz-shop-archive__sidebar-inner .oz-shop-sidebar__widget + .oz-shop-sidebar__widget {
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* 4) Títulos de sección (acento cálido, como producción) */
.oz-shop-archive__sidebar-inner .oz-shop-sidebar__widget-title {
    color: #f4c430 !important;
    text-transform: none;
    margin-bottom: 10px;
}

/* 5) Texto y enlaces claros sobre navy */
.oz-shop-archive__sidebar-inner .oz-shop-sidebar__widget,
.oz-shop-archive__sidebar-inner .oz-shop-sidebar__widget a,
.oz-shop-archive__sidebar-inner .oz-shop-sidebar__widget li,
.oz-shop-archive__sidebar-inner .product-categories li > a,
.oz-shop-archive__sidebar-inner .woocommerce-widget-layered-nav-list__item a {
    color: #e6ebf5 !important;
}
.oz-shop-archive__sidebar-inner .oz-shop-sidebar__widget a:hover,
.oz-shop-archive__sidebar-inner .product-categories li > a:hover {
    color: #ffffff !important;
}

/* 6) "Limpiar filtros" en tono claro */
.oz-shop-archive__sidebar-inner .oz-shop-sidebar__clear-filters {
    color: #b9c4db !important;
}

/* 7) Contadores (números) legibles sobre navy */
.oz-shop-archive__sidebar-inner .count,
.oz-shop-archive__sidebar-inner .woocommerce-widget-layered-nav-list__item .count {
    color: #93a3c4 !important;
}

/* 8) ANCHO COMPLETO + barra navy pegada al borde izquierdo */
.oz-shop-archive__shell {
    padding: 0 !important;
    max-width: none !important;
}
.oz-shop-archive__container.oz-shop-layout {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
}
/* Barra navy a ras del borde izquierdo, esquinas rectas, a toda la altura */
.oz-shop-archive__sidebar-inner {
    border-radius: 0 !important;
    box-shadow: none !important;
    min-height: 100%;
}
.oz-shop-archive__sidebar.oz-shop-layout__sidebar {
    background: #071647;   /* el riel navy llena toda la columna */
}
/* Aire para el área de productos (arriba y a la derecha; izq. lo da el gap) */
.oz-shop-archive__main.oz-shop-layout__main {
    padding: 24px 28px 48px 0;
}

/* 9) ANCHO COMPLETO REAL: liberar el wrapper global .site solo en tienda
   (fuera de aquí .site queda con su max-width normal, no afecta otras páginas) */
body.post-type-archive-product .site,
body.tax-product_cat .site,
body.tax-product_tag .site,
body.woocommerce-shop .site {
    max-width: none !important;
    width: 100% !important;
}

/* 10) SIN SCROLL en las listas del sidebar: mostrar todas las categorías y
   filtros completos, sin barras verticales ni horizontales. */
.oz-shop-archive__sidebar-inner .widget_product_categories ul.product-categories,
.oz-shop-archive__sidebar-inner .widget_layered_nav .woocommerce-widget-layered-nav-list {
    max-height: none !important;
    overflow: visible !important;
}
.oz-shop-archive__sidebar-inner,
.oz-shop-archive__sidebar-inner .oz-shop-sidebar__widget,
.oz-shop-archive__sidebar-inner .product-categories,
.oz-shop-archive__sidebar-inner .woocommerce-widget-layered-nav-list {
    overflow-x: clip;
}

/* 11) Riel navy a TODA LA ALTURA (hasta el header) + filtros FIJOS (sticky).
   La columna de la barra se estira a toda la altura del grid; el contenido de
   filtros queda "pegado" (sticky) y permanece visible al hacer scroll. */
.oz-shop-archive__container.oz-shop-layout {
    align-items: stretch !important;
}
.oz-shop-archive__sidebar.oz-shop-layout__sidebar {
    position: static !important;
    align-self: stretch !important;
}
.oz-shop-archive__sidebar-inner {
    position: sticky;
    top: 1rem;
    min-height: 0 !important;
}

/* 12) ANCHO COMPLETO HASTA EL BORDE DERECHO.
   El límite real era la variable --OZ-Container-PC (1440px) que usa toda la
   cadena. La bajamos a 100% SOLO dentro del contenido de la tienda (el header
   sigue con su ancho normal) y liberamos .site con especificidad máxima. */
html body.post-type-archive-product .site,
html body.tax-product_cat .site,
html body.tax-product_tag .site,
html body.woocommerce-shop .site {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
}
body.post-type-archive-product .site-main--woo-archive,
body.tax-product_cat .site-main--woo-archive,
body.tax-product_tag .site-main--woo-archive,
body.woocommerce-shop .site-main--woo-archive {
    --OZ-Container-PC: 100%;
    max-width: none !important;
    width: 100% !important;
}
/* Banner a ancho completo de la columna (no centrado a 1440) */
body.post-type-archive-product .oz-shop-page-banner__inner,
body.tax-product_cat .oz-shop-page-banner__inner,
body.tax-product_tag .oz-shop-page-banner__inner {
    max-width: none !important;
    margin-inline: 0 !important;
}

/* 13) FILTROS FIJOS AL HACER SCROLL:
   Los ancestros con overflow-x:hidden creaban un contenedor de scroll que
   anulaba el position:sticky del panel de filtros. Se cambian a overflow-x:clip
   (recorta igual, sin crear scroll container) para que el sticky funcione y el
   navy quede fijo mientras solo se desplazan los productos. */
body.post-type-archive-product .site-main--woo-archive,
body.post-type-archive-product .oz-shop-archive__shell,
body.post-type-archive-product .oz-shop-archive__container.oz-shop-layout,
body.tax-product_cat .site-main--woo-archive,
body.tax-product_cat .oz-shop-archive__shell,
body.tax-product_cat .oz-shop-archive__container.oz-shop-layout,
body.tax-product_tag .site-main--woo-archive,
body.tax-product_tag .oz-shop-archive__shell {
    overflow: visible !important;
    overflow-x: clip !important;
}
/* Reafirmar el sticky del panel (por si otra regla lo pisó) */
body.post-type-archive-product .oz-shop-archive__sidebar-inner,
body.tax-product_cat .oz-shop-archive__sidebar-inner,
body.tax-product_tag .oz-shop-archive__sidebar-inner {
    position: sticky !important;
    top: 1rem !important;
    align-self: start !important;
}

/* 14) BANNER SIN ESPACIOS A LOS LADOS (full-bleed dentro de la columna).
   Márgenes negativos que anulan el gap del grid (izq.) y el padding del área
   de productos (arriba/derecha) para que el banner toque el navy y el borde. */
.oz-shop-archive__main.oz-shop-layout__main .oz-shop-page-banner__inner {
    max-width: none !important;
    margin-inline: 0 !important;
    padding-left: 26px !important;
}

/* 15) Banner realmente pegado al navy (izq.) y al borde (der.).
   Gap del grid a 0 → la columna de productos arranca justo en el navy; el
   banner queda sin márgenes (flush a ambos lados) y la separación se pasa al
   toolbar y a los productos, no al banner. */
.oz-shop-archive__container.oz-shop-layout {
    column-gap: 0 !important;
}
.oz-shop-archive__main.oz-shop-layout__main {
    padding: 0 !important;
}
.oz-shop-archive__main.oz-shop-layout__main .oz-shop-page-banner {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
}
/* La separación (respecto al navy y al borde) va en el contenido, no el banner */
.oz-shop-archive__main.oz-shop-layout__main .oz-shop-archive__header,
.oz-shop-archive__main.oz-shop-layout__main .oz-shop-archive__results {
    padding-left: 26px;
    padding-right: 28px;
}
.oz-shop-archive__main.oz-shop-layout__main .oz-shop-archive__results {
    padding-bottom: 48px;
}

/* ── Quitar espacios en blanco vacíos en la tienda ──────────────────────────
   La tira de categorías (.oz-shop-category-strip) está oculta con
   display:none, pero deja el contenedor .oz-shop-archive__header vacío
   ocupando un slot del grid (gap 1.5rem a cada lado) → banda vacía bajo el
   banner. Y el div de avisos de WooCommerce queda vacío cuando no hay
   mensajes, sumando otro hueco. Se ocultan ambos cuando no aportan contenido.

   El header se oculta SOLO en la página principal de la tienda
   (post-type-archive-product). En archivos de CATEGORÍA ese header sí lleva el
   título/descripción del término, así que allí se conserva. */
body.post-type-archive-product .oz-shop-archive__header {
    display: none;
}

.oz-shop-archive__results .woocommerce-notices-wrapper:empty {
    display: none;
}

/* 16) BARRA DE SCROLL PROPIA DEL PANEL NAVY.
   IMPORTANTE: sin prefijo de body-class. La tienda (/productos/) es una PÁGINA
   estática usada como Shop de WooCommerce y no siempre lleva la clase
   `post-type-archive-product`, por lo que una regla acotada a esa clase NO se
   aplicaba. Se apunta directo al panel (igual que hacen las reglas del fondo navy
   y del sticky, que sí funcionan).

   El panel navy es sticky (top: 1rem); si su contenido supera el alto de la
   ventana, hace scroll INTERNO con su propia barra en vez de cortarse por abajo.
   Combo fiable overflow-y:auto + overflow-x:hidden (evita el conflicto clip+auto).
   overflow-x:hidden aquí es seguro: rompe el sticky de los ANCESTROS, no el del
   propio panel. */
.oz-shop-archive__sidebar-inner {
    max-height: calc(100vh - 2rem) !important;
    /* 'auto' (no 'scroll'): la barra aparece SOLO cuando el contenido supera el alto
       disponible; entonces sí se puede arrastrar. Con 'scroll' se mostraba siempre un
       carril vacío de 10px con un pulgar inerte que no se podía mover. */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    /* Firefox: barra fina, thumb blanco sobre carril tenue. */
    scrollbar-width: thin;
    scrollbar-color: #ffffff rgba(255, 255, 255, 0.15);
}

/* Chrome/Edge/Safari: barra visible, thumb BLANCO y SIN flechas. */
.oz-shop-archive__sidebar-inner::-webkit-scrollbar {
    width: 10px;
}

/* Quita las flechas (botones) arriba y abajo del scrollbar. */
.oz-shop-archive__sidebar-inner::-webkit-scrollbar-button {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.oz-shop-archive__sidebar-inner::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 10px;
}

.oz-shop-archive__sidebar-inner::-webkit-scrollbar-thumb {
    background: #ffffff;
    border-radius: 10px;
    min-height: 40px;
    /* Borde navy para separar el thumb blanco del carril sobre el panel azul. */
    border: 2px solid #071647;
    background-clip: padding-box;
}

.oz-shop-archive__sidebar-inner:hover::-webkit-scrollbar-thumb {
    background: #e6e9f2;
    background-clip: padding-box;
}
