/**
 * Bulltac - Variaciones visuales
 * Colores circulares + atributos de variación en botones.
 */

/* =========================
 * ESTRUCTURA DE VARIACIONES
 * ========================= */
form.variations_form table.variations,
form.variations_form table.variations tbody {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Las filas solo cambian de aspecto después de que JavaScript las prepare. */
form.variations_form tr.bulltac-color-row > th.label,
form.variations_form tr.bulltac-button-row > th.label,
form.variations_form tr.bulltac-size-row > th.label {
	display: none !important;
}

form.variations_form tr.bulltac-color-row > td.value,
form.variations_form tr.bulltac-button-row > td.value,
form.variations_form tr.bulltac-size-row > td.value {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
}

/* Los selects siguen en el DOM para que WooCommerce gestione la variación real. */
form.variations_form select.bulltac-original-variation-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !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;
	pointer-events: none !important;
}

.bulltac-variation-selector {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* =========================
 * COLORES
 * ========================= */
.bulltac-color-selector {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 12px !important;
	margin: 0 0 18px !important;
}

.bulltac-color-selector__title {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	text-transform: none !important;
}

.bulltac-color-selector__options {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 4px !important;
}

form.variations_form button.bulltac-color-swatch {
	position: relative !important;
	display: block !important;
	flex: 0 0 31px !important;
	width: 31px !important;
	min-width: 31px !important;
	max-width: 31px !important;
	height: 31px !important;
	min-height: 31px !important;
	max-height: 31px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.95) !important;
	border-radius: 50% !important;
	background-color: var(--bulltac-swatch-color, #777777) !important;
	background-image: var(--bulltac-swatch-image, none) !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	box-shadow: none !important;
	outline: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px !important;
	cursor: pointer !important;
	color: #ffffff !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	transition: transform 160ms ease, opacity 160ms ease, box-shadow 160ms ease !important;
}

form.variations_form button.bulltac-color-swatch::before {
	content: none !important;
}

form.variations_form button.bulltac-color-swatch:hover:not(:disabled) {
	transform: scale(1.1) !important;
}

form.variations_form button.bulltac-color-swatch.is-selected,
form.variations_form button.bulltac-color-swatch:focus-visible {
	box-shadow: 0 0 0 3px var(--bulltac-swatch-ring-gap, #000000), 0 0 0 5px #ffffff !important;
	transform: scale(1.02) !important;
}

form.variations_form button.bulltac-color-swatch.is-unavailable,
form.variations_form button.bulltac-color-swatch:disabled {
	opacity: 0.3 !important;
	cursor: not-allowed !important;
	filter: grayscale(1) !important;
}

form.variations_form button.bulltac-color-swatch.is-unavailable::after,
form.variations_form button.bulltac-color-swatch:disabled::after {
	content: "" !important;
	position: absolute !important;
	z-index: 2 !important;
	top: 50% !important;
	left: 3px !important;
	right: 3px !important;
	height: 1px !important;
	background: rgba(255, 255, 255, 0.95) !important;
	transform: rotate(-45deg) !important;
	transform-origin: center !important;
}

/* =========================
 * TALLA Y OTROS ATRIBUTOS
 * =========================
 * Cualquier atributo de variación distinto de Color (Talla, Cargador,
 * etc.) se muestra como botones, nunca como desplegable.
 */
.bulltac-button-selector,
.bulltac-size-selector {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 7px !important;
	margin: 0 0 7px !important;
}

.bulltac-button-selector__title,
.bulltac-size-selector__title {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.bulltac-button-selector__options,
.bulltac-size-selector__options {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
}

form.variations_form button.bulltac-button-swatch,
form.variations_form button.bulltac-size-swatch {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 44px !important;
	max-width: none !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	margin: 0 !important;
	padding: 0 10px !important;
	border: 1px solid #ffffff !important;
	border-radius: 2px !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	color: #ffffff !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-indent: 0 !important;
	text-transform: none !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, opacity 150ms ease, transform 150ms ease !important;
}

form.variations_form button.bulltac-button-swatch::before,
form.variations_form button.bulltac-size-swatch::before {
	content: none !important;
}

form.variations_form button.bulltac-button-swatch:hover:not(:disabled),
form.variations_form button.bulltac-size-swatch:hover:not(:disabled) {
	transform: translateY(-1px) !important;
}

form.variations_form button.bulltac-button-swatch.is-selected,
form.variations_form button.bulltac-size-swatch.is-selected {
	border-color: #ffffff !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #000000 !important;
}

form.variations_form button.bulltac-button-swatch:focus-visible,
form.variations_form button.bulltac-size-swatch:focus-visible {
	outline: 2px solid #ffffff !important;
	outline-offset: 3px !important;
}

form.variations_form button.bulltac-button-swatch.is-unavailable,
form.variations_form button.bulltac-button-swatch:disabled,
form.variations_form button.bulltac-size-swatch.is-unavailable,
form.variations_form button.bulltac-size-swatch:disabled {
	opacity: 0.35 !important;
	cursor: not-allowed !important;
	transform: none !important;
}

form.variations_form button.bulltac-button-swatch.is-unavailable::after,
form.variations_form button.bulltac-button-swatch:disabled::after,
form.variations_form button.bulltac-size-swatch.is-unavailable::after,
form.variations_form button.bulltac-size-swatch:disabled::after {
	content: "" !important;
	position: absolute !important;
	z-index: 2 !important;
	top: 50% !important;
	left: 5px !important;
	right: 5px !important;
	height: 1px !important;
	background: currentColor !important;
	transform: rotate(-35deg) !important;
	transform-origin: center !important;
}

/* El enlace de reset queda oculto en las filas visuales; WooCommerce sigue reseteando internamente. */
form.variations_form tr.bulltac-color-row .reset_variations,
form.variations_form tr.bulltac-button-row .reset_variations,
form.variations_form tr.bulltac-size-row .reset_variations {
	display: none !important;
}

/* =========================
 * PRECIO EN FICHA DE PRODUCTO
 * ========================= */
/* Seguridad adicional: el precio general superior de un variable no se muestra. */
html body.single-product .woocommerce div.product.product-type-variable .summary > p.price,
html body.single-product .woocommerce div.product.product-type-variable .summary.entry-summary > p.price {
	display: none !important;
}

/* Precio general de la ficha: tamaño base solicitado.
 * En productos variables continúa oculto por la regla específica anterior. */
.woocommerce div.product .summary p.price {
	display: block;
	color: inherit;
	font-size: 18px !important;
	line-height: 30px;
	margin-top: .5em;
	padding-bottom: 1.3em;
}

/* Reduce el hueco entre el último atributo (por ejemplo Talla) y el precio de la variación. */
html body.single-product form.variations_form .single_variation_wrap,
html body.single-product form.variations_form .single_variation,
html body.single-product form.variations_form .woocommerce-variation-price,
html body.single-product form.variations_form .woocommerce-variation-availability {
	padding-top: 0 !important;
}

html body.single-product form.variations_form .single_variation_wrap {
	margin-top: 30px !important;
}

html body.single-product form.variations_form .single_variation {
	margin-top: 2px !important;
	margin-bottom: 0 !important;
}

html body.single-product form.variations_form .woocommerce-variation-price,
html body.single-product form.variations_form .woocommerce-variation-price .price {
	margin: 0 0 2px !important;
	padding: 0 !important;
}

/* Precio exacto y stock disponible siempre en blanco. */
html body.single-product form.variations_form .woocommerce-variation-price,
html body.single-product form.variations_form .woocommerce-variation-price *,
html body.single-product form.variations_form .woocommerce-variation-price .price,
html body.single-product form.variations_form .woocommerce-variation-price .amount,
html body.single-product form.variations_form .woocommerce-variation-price .woocommerce-Price-amount,
html body.single-product form.variations_form .woocommerce-variation-price .woocommerce-Price-currencySymbol,
html body.single-product form.variations_form .woocommerce-variation-availability,
html body.single-product form.variations_form .woocommerce-variation-availability *,
html body.single-product form.variations_form .woocommerce-variation-availability .stock:not(.out-of-stock),
html body.single-product form.variations_form .woocommerce-variation-availability p.stock.in-stock,
html body.single-product form.variations_form p.stock.in-stock {
	color: #ffffff !important;
}

html body.single-product form.variations_form .woocommerce-variation-availability {
	margin: 0 0 6px !important;
	text-align: left !important;
}

/* Cuando hay stock, las unidades disponibles quedan alineadas a la izquierda. */
html body.single-product form.variations_form .woocommerce-variation-availability p.stock.in-stock,
html body.single-product form.variations_form p.stock.in-stock {
	display: block !important;
	float: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: left !important;
}

/* =========================
 * PRECIO EN CATÁLOGO
 * =========================
 * “Desde” = 10 px / importe mínimo = 20 px.
 */
html body.woocommerce ul.products li.product .price .bulltac-variable-from,
html body.woocommerce-page ul.products li.product .price .bulltac-variable-from,
html body .woocommerce ul.products li.product .price .bulltac-variable-from,
.woocommerce ul.products li.product .price .bulltac-variable-from,
.woocommerce-page ul.products li.product .price .bulltac-variable-from,
.wc-block-grid__product .price .bulltac-variable-from {
	font-size: 10px !important;
	font-weight: inherit !important;
	line-height: 1 !important;
	vertical-align: baseline !important;
}

html body.woocommerce ul.products li.product .price .bulltac-variable-min-price,
html body.woocommerce ul.products li.product .price .bulltac-variable-min-price .amount,
html body.woocommerce ul.products li.product .price .bulltac-variable-min-price .woocommerce-Price-amount,
html body.woocommerce ul.products li.product .price .bulltac-variable-min-price .woocommerce-Price-currencySymbol,
html body.woocommerce-page ul.products li.product .price .bulltac-variable-min-price,
html body.woocommerce-page ul.products li.product .price .bulltac-variable-min-price .amount,
html body.woocommerce-page ul.products li.product .price .bulltac-variable-min-price .woocommerce-Price-amount,
html body.woocommerce-page ul.products li.product .price .bulltac-variable-min-price .woocommerce-Price-currencySymbol,
html body .woocommerce ul.products li.product .price .bulltac-variable-min-price,
html body .woocommerce ul.products li.product .price .bulltac-variable-min-price .amount,
html body .woocommerce ul.products li.product .price .bulltac-variable-min-price .woocommerce-Price-amount,
html body .woocommerce ul.products li.product .price .bulltac-variable-min-price .woocommerce-Price-currencySymbol,
.woocommerce ul.products li.product .price .bulltac-variable-min-price,
.woocommerce ul.products li.product .price .bulltac-variable-min-price .amount,
.woocommerce ul.products li.product .price .bulltac-variable-min-price .woocommerce-Price-amount,
.woocommerce ul.products li.product .price .bulltac-variable-min-price .woocommerce-Price-currencySymbol,
.woocommerce-page ul.products li.product .price .bulltac-variable-min-price,
.woocommerce-page ul.products li.product .price .bulltac-variable-min-price .amount,
.woocommerce-page ul.products li.product .price .bulltac-variable-min-price .woocommerce-Price-amount,
.woocommerce-page ul.products li.product .price .bulltac-variable-min-price .woocommerce-Price-currencySymbol,
.wc-block-grid__product .price .bulltac-variable-min-price,
.wc-block-grid__product .price .bulltac-variable-min-price .amount,
.wc-block-grid__product .price .bulltac-variable-min-price .woocommerce-Price-amount,
.wc-block-grid__product .price .bulltac-variable-min-price .woocommerce-Price-currencySymbol {
	font-size: 20px !important;
	line-height: 1.05 !important;
	vertical-align: baseline !important;
}

/* =========================
 * SIN VARIACIONES DISPONIBLES
 * ========================= */
/*
 * Cuando la selección actual no es comprable, o cuando un atributo se queda
 * sin ninguna opción comprable, se oculta por completo cantidad/botón.
 * Esto también neutraliza plugins que fuerzan visibility:visible inline.
 */
form.variations_form.bulltac-no-available-variation .woocommerce-variation-add-to-cart,
form.variations_form.bulltac-current-variation-unavailable .woocommerce-variation-add-to-cart,
form.variations_form.bulltac-no-available-variation .woocommerce-variation-add-to-cart.variations_button,
form.variations_form.bulltac-current-variation-unavailable .woocommerce-variation-add-to-cart.variations_button,
form.variations_form.bulltac-no-available-variation .quantity,
form.variations_form.bulltac-current-variation-unavailable .quantity,
form.variations_form.bulltac-no-available-variation button.single_add_to_cart_button,
form.variations_form.bulltac-current-variation-unavailable button.single_add_to_cart_button,
form.variations_form.bulltac-no-available-variation .single_add_to_cart_button,
form.variations_form.bulltac-current-variation-unavailable .single_add_to_cart_button {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* “Sin existencias”: ancho completo, centrado, fondo rojo y texto blanco. */
html body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-availability,
html body.single-product .woocommerce-page div.product form.variations_form .woocommerce-variation-availability,
html body.single-product form.variations_form .woocommerce-variation-availability {
	display: block !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	text-align: left !important;
}

html body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-availability p.stock.out-of-stock,
html body.single-product .woocommerce-page div.product form.variations_form .woocommerce-variation-availability p.stock.out-of-stock,
html body.single-product form.variations_form .woocommerce-variation-availability p.stock.out-of-stock,
html body.single-product form.variations_form p.stock.out-of-stock,
html body.single-product p.stock.out-of-stock.bulltac-out-of-stock-message {
	display: block !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin: 4px 0 10px !important;
	padding: 12px 16px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #cc3333 !important;
	background-color: #cc3333 !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font-size: inherit !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-align: center !important;
	text-transform: none !important;
}

/* =========================
 * INFORMACIÓN ADICIONAL
 * =========================
 * Especificidad alta + !important para imponerse a Salient, WPBakery
 * y a los estilos nativos de WooCommerce.
 */
html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes,
html body.single-product .woocommerce .woocommerce-tabs table.woocommerce-product-attributes.shop_attributes,
html body.single-product .woocommerce .woocommerce-Tabs-panel table.woocommerce-product-attributes.shop_attributes,
html body.single-product table.woocommerce-product-attributes.shop_attributes {
	width: 100% !important;
	border: 1px solid #ffffff !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	background: #000000 !important;
	background-color: #000000 !important;
	box-shadow: none !important;
	color: #ffffff !important;
}

html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes tbody,
html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes tr,
html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes th,
html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes td,
html body.single-product table.woocommerce-product-attributes.shop_attributes tbody,
html body.single-product table.woocommerce-product-attributes.shop_attributes tr,
html body.single-product table.woocommerce-product-attributes.shop_attributes th,
html body.single-product table.woocommerce-product-attributes.shop_attributes td {
	border: 1px solid #ffffff !important;
	background: #000000 !important;
	background-color: #000000 !important;
	box-shadow: none !important;
	color: #ffffff !important;
}

html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes th,
html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes td,
html body.single-product table.woocommerce-product-attributes.shop_attributes th,
html body.single-product table.woocommerce-product-attributes.shop_attributes td {
	padding: 10px 12px !important;
	vertical-align: middle !important;
}

html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes th *,
html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes td *,
html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes p,
html body.single-product .woocommerce table.woocommerce-product-attributes.shop_attributes a,
html body.single-product table.woocommerce-product-attributes.shop_attributes th *,
html body.single-product table.woocommerce-product-attributes.shop_attributes td *,
html body.single-product table.woocommerce-product-attributes.shop_attributes p,
html body.single-product table.woocommerce-product-attributes.shop_attributes a {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	background: #000000 !important;
	background-color: #000000 !important;
	color: #ffffff !important;
}

/* =========================
 * PESTAÑAS DE PRODUCTO / SALIENT
 * =========================
 * Ajuste solicitado para el layout fullwidth de Salient.
 */
div.product .woocommerce-tabs .full-width-content[data-tab-style*=fullwidth] ul.tabs {
	text-align: center !important;
	margin: 70px 0 0px 0 !important;
}


/* =========================
 * SELECTOR DE CANTIDAD + AÑADIR AL CARRITO
 * =========================
 * Cantidad a la izquierda y botón de compra a su lado derecho.
 * El selector queda compacto, transparente y con bordes blancos.
 * Alta especificidad + !important para imponerse a Salient/WooCommerce.
 */
html body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-enabled,
html body.single-product .woocommerce-page div.product form.variations_form .woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-enabled,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-enabled {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 10px !important;
	width: 100% !important;
	margin-top: 12px !important;
}

/* La cantidad queda primero y el botón “Añadir al carrito” a su derecha. */
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button {
	order: 2 !important;
	margin: 0 !important;
}

html body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity,
html body.single-product .woocommerce-page div.product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity {
	display: inline-grid !important;
	grid-template-columns: 34px 42px 34px !important;
	align-items: stretch !important;
	order: 1 !important;
	flex: 0 0 110px !important;
	float: none !important;
	position: relative !important;
	box-sizing: border-box !important;
	width: 110px !important;
	min-width: 110px !important;
	max-width: 110px !important;
	height: 36px !important;
	min-height: 36px !important;
	max-height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid #ffffff !important;
	border-radius: 8px !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	vertical-align: middle !important;
}

html body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.minus,
html body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.plus,
html body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.qty,
html body.single-product .woocommerce-page div.product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.minus,
html body.single-product .woocommerce-page div.product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.plus,
html body.single-product .woocommerce-page div.product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.qty,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.minus,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.plus,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.qty {
	display: block !important;
	position: static !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 34px !important;
	text-align: center !important;
	text-indent: 0 !important;
	vertical-align: middle !important;
	opacity: 1 !important;
}

/* Separadores internos blancos. */
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.minus,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.qty {
	border-right: 1px solid #ffffff !important;
}

html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.minus,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.plus {
	cursor: pointer !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.minus:hover,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.plus:hover,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.minus:focus,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.plus:focus {
	background: rgba(255, 255, 255, 0.10) !important;
	color: #ffffff !important;
}

html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.qty::-webkit-outer-spin-button,
html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.qty::-webkit-inner-spin-button {
	margin: 0 !important;
	-webkit-appearance: none !important;
}

html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .quantity input.qty[type=number] {
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

/* En pantallas estrechas mantenemos ambos controles juntos siempre que quepan. */
@media (max-width: 480px) {
	html body.single-product form.variations_form .woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-enabled {
		gap: 8px !important;
	}

	html body.single-product form.variations_form .woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button {
		min-width: 0 !important;
	}
}

@media (max-width: 767px) {
	.bulltac-color-selector__title,
	.bulltac-button-selector__title,
	.bulltac-size-selector__title {
		font-size: 30px !important;
	}

	.bulltac-color-selector__options {
		gap: 14px !important;
	}

	.bulltac-button-selector__options,
	.bulltac-size-selector__options {
		gap: 7px !important;
	}

	form.variations_form button.bulltac-button-swatch,
	form.variations_form button.bulltac-size-swatch {
		min-width: 44px !important;
		height: 44px !important;
		min-height: 44px !important;
		max-height: 44px !important;
		padding: 0 10px !important;
	}
}


/* 1.5.8: texto exacto de los botones de compra, sin capitalización del tema. */
html body.woocommerce .single_add_to_cart_button,
html body.woocommerce .products .product .button,
html body.woocommerce-page .single_add_to_cart_button,
html body.woocommerce-page .products .product .button {
	text-transform: none !important;
}


/* 1.5.9: blindaje visual del texto del botón frente a scripts que escriben “Leer más”. */
html body.single-product button.single_add_to_cart_button.bulltac-force-add-to-cart-label {
	font-size: 0 !important;
	text-transform: none !important;
}

html body.single-product button.single_add_to_cart_button.bulltac-force-add-to-cart-label::after {
	content: attr(data-bulltac-label) !important;
	display: inline !important;
	font-size: 16px !important;
	line-height: inherit !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

/* =========================
 * REFUERZO ETIQUETA BOTÓN DE COMPRA — 1.5.10
 * =========================
 * Algunos plugins sustituyen el contenido del botón por “Leer más” después
 * de que WooCommerce y nuestro JavaScript hayan terminado. Se fija también
 * a nivel visual para que el usuario vea siempre el texto solicitado.
 */
html body.single-product form.cart button.single_add_to_cart_button.bulltac-force-add-to-cart-label,
html body.single-product form.variations_form button.single_add_to_cart_button.bulltac-force-add-to-cart-label {
	font-size: 0 !important;
	text-transform: none !important;
}

html body.single-product form.cart button.single_add_to_cart_button.bulltac-force-add-to-cart-label::after,
html body.single-product form.variations_form button.single_add_to_cart_button.bulltac-force-add-to-cart-label::after {
	content: attr(data-bulltac-label) !important;
	display: inline !important;
	color: #ffffff !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-style: normal !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-transform: none !important;
	white-space: nowrap !important;
}

/* =========================
 * AVISO DE PRODUCTO EN RESERVA — 1.5.13
 * =========================
 * Solo se muestra cuando la variación seleccionada admite compra sin stock.
 * Se coloca debajo del selector de cantidad y del botón Añadir al carrito.
 */
html body.single-product form.variations_form .bulltac-reservation-note {
	display: none !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #ffffff !important;
	font-family: inherit !important;
	font-size: 10px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	text-align: left !important;
	text-transform: none !important;
}

html body.single-product form.variations_form .bulltac-reservation-note.is-visible {
	display: block !important;
}


/* =========================
 * BOTÓN DE RESERVA — 1.5.14
 * =========================
 * La etiqueta visible se obtiene de data-bulltac-label para que la misma
 * protección frente a “Leer más” permita alternar entre “Añadir al carrito”
 * y “Reservar producto” según la variación seleccionada.
 */
html body.single-product form.variations_form button.single_add_to_cart_button.bulltac-reservation-button {
	text-transform: none !important;
}

/* =========================
 * MINI CARRITO — 1.5.16
 * =========================
 * Salient puede heredar el color blanco del frontend en la línea de cantidad
 * del mini carrito. Forzamos únicamente esa línea ("2 × 6,61 €") a negro.
 */
html body .woocommerce-mini-cart-item .quantity,
html body .woocommerce-mini-cart-item .quantity .amount,
html body .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount,
html body .woocommerce-mini-cart-item .quantity .woocommerce-Price-currencySymbol,
html body .woocommerce-mini-cart-item .quantity bdi,
html body .woocommerce-mini-cart .quantity,
html body .woocommerce-mini-cart .quantity .amount,
html body .woocommerce-mini-cart .quantity .woocommerce-Price-amount,
html body .woocommerce-mini-cart .quantity .woocommerce-Price-currencySymbol,
html body .woocommerce-mini-cart .quantity bdi,
html body .widget_shopping_cart_content .quantity,
html body .widget_shopping_cart_content .quantity .amount,
html body .widget_shopping_cart_content .quantity .woocommerce-Price-amount,
html body .widget_shopping_cart_content .quantity .woocommerce-Price-currencySymbol,
html body .widget_shopping_cart_content .quantity bdi,
html body .nectar-slide-in-cart .quantity,
html body .nectar-slide-in-cart .quantity .amount,
html body .nectar-slide-in-cart .quantity .woocommerce-Price-amount,
html body .nectar-slide-in-cart .quantity .woocommerce-Price-currencySymbol,
html body .nectar-slide-in-cart .quantity bdi {
	color: #000000 !important;
}

