/* DGD Advanced Product Labels — filtros de atributos para WooCommerce/Shoptimizer. */

/* =========================================================
 * Widgets clásicos WooCommerce / Shoptimizer
 * ======================================================= */
body.dgd-apl-filter-chips-classic .widget_layered_nav .woocommerce-widget-layered-nav-list,
body.dgd-apl-filter-chips-classic .woocommerce-widget-layered-nav .woocommerce-widget-layered-nav-list,
body.dgd-apl-filter-chips-classic .widget.woocommerce.widget_layered_nav ul {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: var(--dgd-filter-gap, 8px) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

/* El LI solo distribuye. El aspecto visual vive en .dgd-apl-filter-term. */
body.dgd-apl-filter-chips-classic .widget_layered_nav .woocommerce-widget-layered-nav-list__item,
body.dgd-apl-filter-chips-classic .woocommerce-widget-layered-nav .wc-layered-nav-term,
body.dgd-apl-filter-chips-classic .widget.woocommerce.widget_layered_nav li {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	float: none !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	list-style: none !important;
	overflow: visible !important;
}

/* Elimina los círculos/checks decorativos que Shoptimizer añade delante. */
body.dgd-apl-filter-chips-classic .widget_layered_nav li::before,
body.dgd-apl-filter-chips-classic .widget_layered_nav li::after,
body.dgd-apl-filter-chips-classic .woocommerce-widget-layered-nav li::before,
body.dgd-apl-filter-chips-classic .woocommerce-widget-layered-nav li::after,
body.dgd-apl-filter-chips-classic .widget.woocommerce.widget_layered_nav li::before,
body.dgd-apl-filter-chips-classic .widget.woocommerce.widget_layered_nav li::after,
body.dgd-apl-filter-chips-classic .dgd-apl-filter-term > a::before,
body.dgd-apl-filter-chips-classic .dgd-apl-filter-term > a::after {
	display: none !important;
	content: none !important;
}

body.dgd-apl-filter-chips-classic .widget_layered_nav li > input[type="checkbox"],
body.dgd-apl-filter-chips-classic .widget_layered_nav li > input[type="radio"],
body.dgd-apl-filter-chips-classic .woocommerce-widget-layered-nav li > input[type="checkbox"],
body.dgd-apl-filter-chips-classic .woocommerce-widget-layered-nav li > input[type="radio"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
}

body.dgd-apl-filter-chips-classic .dgd-apl-filter-term {
	display: inline-flex !important;
	align-items: stretch !important;
	justify-content: center !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--dgd-term-bg, var(--dgd-filter-bg, #e7e7e7)) !important;
	border: var(--dgd-term-border-width, var(--dgd-filter-border-width, 0px)) solid var(--dgd-term-border, var(--dgd-filter-border, #e7e7e7)) !important;
	border-radius: var(--dgd-term-radius, var(--dgd-filter-radius, 0px)) !important;
	box-shadow: var(--dgd-term-shadow, none) !important;
	opacity: var(--dgd-term-opacity, 1) !important;
	overflow: hidden !important;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, filter .15s ease, opacity .15s ease !important;
}

body.dgd-apl-filter-chips-classic .dgd-apl-filter-term > a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: var(--dgd-term-padding-y, var(--dgd-filter-padding-y, 6px)) var(--dgd-term-padding-x, var(--dgd-filter-padding-x, 10px)) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--dgd-term-text, var(--dgd-filter-text, #111111)) !important;
	font-size: var(--dgd-term-font-size, var(--dgd-filter-font-size, 13px)) !important;
	font-weight: var(--dgd-term-font-weight, var(--dgd-filter-font-weight, 700)) !important;
	line-height: 1.15 !important;
	text-decoration: none !important;
	text-transform: var(--dgd-term-transform, none) !important;
	white-space: nowrap !important;
}

/* Hover global para términos sin regla propia. */
body.dgd-apl-filter-chips-classic .dgd-apl-filter-term:not(.dgd-apl-filter-term--custom):hover {
	background: var(--dgd-filter-hover-bg, #dddddd) !important;
}
body.dgd-apl-filter-chips-classic .dgd-apl-filter-term:not(.dgd-apl-filter-term--custom):hover > a {
	color: var(--dgd-filter-hover-text, #111111) !important;
}

/* Los términos con regla propia mantienen su color. */
body.dgd-apl-filter-chips-classic .dgd-apl-filter-term--custom:hover {
	filter: brightness(.96) !important;
}

/* Seleccionado: el fallback usa el color activo global. */
body.dgd-apl-filter-chips-classic li.chosen .dgd-apl-filter-term:not(.dgd-apl-filter-term--custom),
body.dgd-apl-filter-chips-classic li.current .dgd-apl-filter-term:not(.dgd-apl-filter-term--custom),
body.dgd-apl-filter-chips-classic li.woocommerce-widget-layered-nav-list__item--chosen .dgd-apl-filter-term:not(.dgd-apl-filter-term--custom) {
	background: var(--dgd-filter-active-bg, #d1d1d1) !important;
	border-color: var(--dgd-filter-active-bg, #d1d1d1) !important;
}
body.dgd-apl-filter-chips-classic li.chosen .dgd-apl-filter-term:not(.dgd-apl-filter-term--custom) > a,
body.dgd-apl-filter-chips-classic li.current .dgd-apl-filter-term:not(.dgd-apl-filter-term--custom) > a,
body.dgd-apl-filter-chips-classic li.woocommerce-widget-layered-nav-list__item--chosen .dgd-apl-filter-term:not(.dgd-apl-filter-term--custom) > a {
	color: var(--dgd-filter-active-text, #111111) !important;
}

/* Si tiene estilo de label propio, al seleccionarlo no se pierde el color. */
body.dgd-apl-filter-chips-classic li.chosen .dgd-apl-filter-term--custom,
body.dgd-apl-filter-chips-classic li.current .dgd-apl-filter-term--custom,
body.dgd-apl-filter-chips-classic li.woocommerce-widget-layered-nav-list__item--chosen .dgd-apl-filter-term--custom {
	outline: 2px solid rgba(0,0,0,.18) !important;
	outline-offset: 1px !important;
	filter: brightness(.94) !important;
}

/* Contadores. El wrapper incluye enlace + contador para que compartan color. */
body.dgd-apl-filter-chips-classic:not(.dgd-apl-filter-chips-show-count) .dgd-apl-filter-term .count {
	display: none !important;
}

body.dgd-apl-filter-chips-classic.dgd-apl-filter-chips-show-count .dgd-apl-filter-term .count {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: var(--dgd-term-padding-y, var(--dgd-filter-padding-y, 6px)) var(--dgd-term-padding-x, var(--dgd-filter-padding-x, 10px)) var(--dgd-term-padding-y, var(--dgd-filter-padding-y, 6px)) 0 !important;
	color: var(--dgd-term-text, var(--dgd-filter-text, #111111)) !important;
	font-size: calc(var(--dgd-term-font-size, var(--dgd-filter-font-size, 13px)) - 1px) !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	opacity: .65 !important;
}

/* =========================================================
 * WooCommerce Blocks / Product Filters
 * Aquí se mantiene el estilo global como fallback.
 * ======================================================= */
body.dgd-apl-filter-chips-blocks .wc-block-attribute-filter .wc-block-components-checkbox-list,
body.dgd-apl-filter-chips-blocks .wc-block-product-filter-attribute .wc-block-components-checkbox-list,
body.dgd-apl-filter-chips-blocks .wp-block-woocommerce-attribute-filter .wc-block-components-checkbox-list,
body.dgd-apl-filter-chips-blocks .wp-block-woocommerce-product-filter-attribute .wc-block-product-filter-checkbox-list__list {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: var(--dgd-filter-gap, 8px) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.dgd-apl-filter-chips-blocks .wc-block-attribute-filter label.wc-block-components-checkbox,
body.dgd-apl-filter-chips-blocks .wc-block-product-filter-attribute label.wc-block-components-checkbox,
body.dgd-apl-filter-chips-blocks .wp-block-woocommerce-attribute-filter label.wc-block-components-checkbox,
body.dgd-apl-filter-chips-blocks .wp-block-woocommerce-product-filter-attribute .wc-block-product-filter-checkbox-list__label {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	margin: 0 !important;
	padding: var(--dgd-filter-padding-y, 6px) var(--dgd-filter-padding-x, 10px) !important;
	background: var(--dgd-filter-bg, #e7e7e7) !important;
	border: var(--dgd-filter-border-width, 0px) solid var(--dgd-filter-border, #e7e7e7) !important;
	border-radius: var(--dgd-filter-radius, 0px) !important;
	box-shadow: none !important;
	color: var(--dgd-filter-text, #111111) !important;
	font-size: var(--dgd-filter-font-size, 13px) !important;
	font-weight: var(--dgd-filter-font-weight, 700) !important;
	line-height: 1.15 !important;
	cursor: pointer !important;
}

body.dgd-apl-filter-chips-blocks .wc-block-attribute-filter label.wc-block-components-checkbox:hover,
body.dgd-apl-filter-chips-blocks .wc-block-product-filter-attribute label.wc-block-components-checkbox:hover,
body.dgd-apl-filter-chips-blocks .wp-block-woocommerce-attribute-filter label.wc-block-components-checkbox:hover,
body.dgd-apl-filter-chips-blocks .wp-block-woocommerce-product-filter-attribute .wc-block-product-filter-checkbox-list__label:hover {
	background: var(--dgd-filter-hover-bg, #dddddd) !important;
	color: var(--dgd-filter-hover-text, #111111) !important;
}

body.dgd-apl-filter-chips-blocks label.wc-block-components-checkbox > input.wc-block-components-checkbox__input,
body.dgd-apl-filter-chips-blocks label.wc-block-components-checkbox > svg,
body.dgd-apl-filter-chips-blocks .wp-block-woocommerce-product-filter-attribute .wc-block-product-filter-checkbox-list__input-wrapper {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
}

body.dgd-apl-filter-chips-blocks label.wc-block-components-checkbox:has(input:checked),
body.dgd-apl-filter-chips-blocks label.wc-block-components-checkbox.is-checked,
body.dgd-apl-filter-chips-blocks label.wc-block-components-checkbox.is-active,
body.dgd-apl-filter-chips-blocks .wp-block-woocommerce-product-filter-attribute .wc-block-product-filter-checkbox-list__label:has(.wc-block-product-filter-checkbox-list__input:checked) {
	background: var(--dgd-filter-active-bg, #d1d1d1) !important;
	border-color: var(--dgd-filter-active-bg, #d1d1d1) !important;
	color: var(--dgd-filter-active-text, #111111) !important;
}

body.dgd-apl-filter-chips-blocks:not(.dgd-apl-filter-chips-show-count) .wc-block-components-checkbox__count,
body.dgd-apl-filter-chips-blocks:not(.dgd-apl-filter-chips-show-count) .wc-block-components-product-count,
body.dgd-apl-filter-chips-blocks:not(.dgd-apl-filter-chips-show-count) .wc-block-product-filter-checkbox-list__count {
	display: none !important;
}

@media (max-width: 767px) {
	body.dgd-apl-filter-chips-classic .dgd-apl-filter-term > a {
		font-size: var(--dgd-term-font-size-mobile, var(--dgd-filter-font-size, 13px)) !important;
	}
}
