/**
 * BuyinClip Shop — estilos de WooCommerce
 * 1. Retícula y tarjeta de producto
 * 2. Barra de herramientas de la tienda
 * 3. Ficha de producto
 * 4. Pestañas, reseñas y relacionados
 * 5. Carrito, mini carrito y finalizar compra
 * 6. Mi cuenta, avisos y widgets
 */

/* ================================= 1. Retícula y tarjeta de producto */
.woocommerce ul.products,
ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: var(--bcs-gap);
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
	clear: both;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none;
}

.woocommerce ul.products li.product,
ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	padding: 0;
	text-align: left;
}

@media (min-width: 700px) {
	ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	ul.products.columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (max-width: 699px) {
	ul.products,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px;
	}
}

.bcs-product-card {
	display: flex;
	flex-direction: column;
	background: var(--bcs-surface);
	border: 1px solid var(--bcs-border);
	border-radius: var(--bcs-radius);
	overflow: hidden;
	transition: transform 0.26s var(--bcs-ease), box-shadow 0.26s var(--bcs-ease), border-color 0.26s var(--bcs-ease);
}

.bcs-product-card:hover {
	transform: translateY(-6px);
	border-color: rgba(var(--bcs-primary-rgb), 0.35);
	box-shadow: var(--bcs-shadow);
}

.bcs-product-card__media {
	position: relative;
	background: var(--bcs-surface-2);
	overflow: hidden;
}

.bcs-product-card__media > a {
	display: block;
	aspect-ratio: 1 / 1;
}

.bcs-product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	transition: transform 0.55s var(--bcs-ease);
}

.bcs-product-card:hover .bcs-product-card__media img {
	transform: scale(1.07);
}

/* Badges */
.woocommerce span.onsale,
.bcs-product-card .onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	right: auto;
	z-index: 3;
	min-height: 0;
	min-width: 0;
	margin: 0;
	padding: 5px 12px;
	border-radius: var(--bcs-radius-pill);
	background: var(--bcs-sale);
	color: #fff;
	font-size: 0.74rem;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.02em;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
}

.bcs-stock-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	padding: 5px 12px;
	border-radius: var(--bcs-radius-pill);
	background: rgba(20, 20, 31, 0.82);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
}

/* Acciones flotantes sobre la imagen */
.bcs-product-card__actions {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 8px;
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.26s var(--bcs-ease), transform 0.26s var(--bcs-ease);
}

.bcs-product-card:hover .bcs-product-card__actions,
.bcs-product-card:focus-within .bcs-product-card__actions {
	opacity: 1;
	transform: translateY(0);
}

@media (hover: none) {
	.bcs-product-card__actions {
		opacity: 1;
		transform: none;
	}
}

.bcs-product-card__actions .button,
.bcs-product-card__actions .add_to_cart_button,
.bcs-product-card__actions .added_to_cart {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 11px 14px;
	border-radius: var(--bcs-radius-pill);
	background-image: var(--bcs-gradient);
	color: #fff;
	font-size: 0.86rem;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	box-shadow: 0 8px 20px rgba(var(--bcs-primary-rgb), 0.3);
}

.bcs-product-card__actions .added_to_cart {
	flex: none;
	background: var(--bcs-surface);
	color: var(--bcs-primary);
	background-image: none;
}

.bcs-product-card__view {
	flex: none;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--bcs-surface);
	color: var(--bcs-ink);
	box-shadow: var(--bcs-shadow-sm);
}

.bcs-product-card__view:hover {
	background: var(--bcs-primary);
	color: #fff;
	opacity: 1;
}

/* Estado "cargando" del botón AJAX */
.woocommerce .bcs-product-card__actions .button.loading {
	opacity: 0.75;
	position: relative;
	color: transparent;
}

.woocommerce .bcs-product-card__actions .button.loading::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: bcs-spin 0.7s linear infinite;
}

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

/* Cuerpo de la tarjeta */
.bcs-product-card__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 16px 18px;
	flex: 1;
}

.bcs-product-card__cat {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bcs-ink-soft);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
}

.woocommerce-loop-product__title a {
	color: var(--bcs-ink);
}

.woocommerce-loop-product__title a:hover {
	color: var(--bcs-primary);
	opacity: 1;
}

.woocommerce ul.products li.product .price {
	margin: 6px 0 0;
	color: var(--bcs-ink);
	font-size: 1.08rem;
	font-weight: 800;
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del {
	opacity: 0.55;
	font-size: 0.86em;
	font-weight: 500;
}

.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins {
	text-decoration: none;
	color: var(--bcs-sale);
	background: transparent;
}

.woocommerce .star-rating {
	font-size: 0.78em;
	color: #ffb020;
	margin: 4px 0 0;
	float: none;
}

.woocommerce ul.products li.product .star-rating {
	margin: 4px 0 0;
}

/* ============================ 2. Barra de herramientas de la tienda */
.bcs-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 26px;
	padding: 14px 18px;
	background: var(--bcs-surface);
	border: 1px solid var(--bcs-border);
	border-radius: var(--bcs-radius);
}

.woocommerce .woocommerce-result-count {
	margin: 0;
	color: var(--bcs-ink-soft);
	font-size: 0.9rem;
}

.woocommerce .woocommerce-ordering {
	margin: 0;
}

.woocommerce .woocommerce-ordering select {
	padding: 10px 14px;
	border-radius: var(--bcs-radius-pill);
	background: var(--bcs-surface-2);
	border: 1.5px solid transparent;
	font-weight: 600;
	font-size: 0.9rem;
	cursor: pointer;
	width: auto;
}

.bcs-filters-toggle {
	padding: 10px 18px;
	font-size: 0.9rem;
}

.woo-main .woocommerce-products-header {
	margin-bottom: 22px;
}

.woocommerce-products-header__title {
	margin: 0 0 6px;
}

.term-description,
.woocommerce-product-details__short-description {
	color: var(--bcs-ink-soft);
}

.woo-main.has-shop-sidebar .bcs-container {
	max-width: var(--bcs-container);
}

/* ========================================== 3. Ficha de producto */
.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 36px;
}

@media (min-width: 900px) {
	.woocommerce div.product {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		align-items: start;
	}

	.woocommerce div.product .woocommerce-product-gallery {
		grid-column: 1;
		width: 100% !important;
		float: none !important;
		margin: 0 !important;
		position: sticky;
		top: 110px;
	}

	.woocommerce div.product .summary {
		grid-column: 2;
		width: 100% !important;
		float: none !important;
		margin: 0 !important;
	}

	.woocommerce div.product .woocommerce-tabs,
	.woocommerce div.product .related,
	.woocommerce div.product .upsells,
	.woocommerce div.product .woocommerce-product-gallery + .summary + * {
		grid-column: 1 / -1;
	}
}

.woocommerce div.product .woocommerce-product-gallery__wrapper img,
.woocommerce div.product div.images img {
	border-radius: var(--bcs-radius);
	box-shadow: var(--bcs-shadow-sm);
}

.woocommerce div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
	margin-top: 12px;
	padding: 0;
}

.woocommerce div.product .flex-control-thumbs li {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

.woocommerce div.product .flex-control-thumbs img {
	border-radius: 12px;
	opacity: 0.7;
	transition: opacity 0.2s var(--bcs-ease), box-shadow 0.2s var(--bcs-ease);
}

.woocommerce div.product .flex-control-thumbs img.flex-active,
.woocommerce div.product .flex-control-thumbs img:hover {
	opacity: 1;
	box-shadow: 0 0 0 2px var(--bcs-primary);
}

.woocommerce div.product .product_title {
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	margin-bottom: 10px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 0 16px;
	color: var(--bcs-ink);
	font-size: 1.7rem;
	font-weight: 800;
}

.woocommerce div.product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 22px 0;
}

.woocommerce div.product form.cart .variations {
	width: 100%;
	margin-bottom: 8px;
	border: 0;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	padding: 8px 0;
	border: 0;
	vertical-align: middle;
}

.woocommerce div.product form.cart .variations label {
	font-weight: 700;
	margin: 0;
}

.woocommerce div.product form.cart .reset_variations {
	font-size: 0.84rem;
}

.woocommerce .quantity {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--bcs-border);
	border-radius: var(--bcs-radius-pill);
	overflow: hidden;
	background: var(--bcs-surface);
}

.woocommerce .quantity .qty {
	width: 78px;
	border: 0;
	background: transparent;
	text-align: center;
	font-weight: 700;
	padding: 13px 8px;
}

.woocommerce .quantity .qty:focus {
	box-shadow: none;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button[type="submit"],
.woocommerce .single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	padding: 15px 28px;
	border-radius: var(--bcs-radius-pill);
	background-image: var(--bcs-gradient);
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	box-shadow: 0 12px 26px rgba(var(--bcs-primary-rgb), 0.28);
}

.woocommerce div.product .product_meta {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--bcs-border);
	font-size: 0.88rem;
	color: var(--bcs-ink-soft);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.bcs-assurances {
	display: grid;
	gap: 8px;
	margin: 20px 0 14px;
	padding: 16px 18px;
	list-style: none;
	background: var(--bcs-surface);
	border: 1px solid var(--bcs-border);
	border-radius: var(--bcs-radius);
}

.bcs-assurances li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.9rem;
	color: var(--bcs-ink-soft);
}

.bcs-assurances svg {
	color: var(--bcs-accent);
	flex: none;
}

.bcs-ask-whatsapp {
	width: 100%;
}

.woocommerce div.product .stock {
	font-weight: 700;
}

.woocommerce div.product .stock.in-stock { color: #16a34a; }
.woocommerce div.product .stock.out-of-stock { color: var(--bcs-sale); }

/* ================================ 4. Pestañas, reseñas y relacionados */
.woocommerce div.product .woocommerce-tabs {
	margin-top: 20px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 20px;
	padding: 0;
	border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--bcs-surface-2);
	border-radius: var(--bcs-radius-pill);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 11px 22px;
	color: var(--bcs-ink);
	font-weight: 700;
	font-size: 0.92rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background-image: var(--bcs-gradient);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff;
}

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
	padding: 26px;
	background: var(--bcs-surface);
	border: 1px solid var(--bcs-border);
	border-radius: var(--bcs-radius);
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	width: 46px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: transparent;
	position: static;
	float: left;
	margin-right: 14px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
	margin: 0 0 20px 62px;
	padding: 18px;
	border: 1px solid var(--bcs-border);
	border-radius: var(--bcs-radius);
	background: var(--bcs-bg);
}

.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2 {
	margin-bottom: 22px;
}

/* ================== 5. Carrito, mini carrito y finalizar compra */
.woocommerce table.shop_table {
	border: 1px solid var(--bcs-border);
	border-radius: var(--bcs-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--bcs-surface);
}

.woocommerce table.shop_table th {
	background: var(--bcs-surface-2);
	font-weight: 700;
	font-size: 0.86rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
	border-top: 0;
	border-bottom: 1px solid var(--bcs-border);
	padding: 14px 16px;
}

.woocommerce table.cart img {
	width: 68px;
	border-radius: 12px;
}

.woocommerce a.remove {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--bcs-surface-2);
	color: var(--bcs-sale) !important;
	font-size: 1rem;
	line-height: 1;
}

.woocommerce a.remove:hover {
	background: var(--bcs-sale);
	color: #fff !important;
}

.woocommerce .cart-collaterals,
.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
}

.woocommerce-cart .cart-collaterals .cart_totals > h2,
.woocommerce-checkout #order_review_heading {
	font-size: 1.2rem;
}

.woocommerce-cart-form,
.woocommerce-checkout .woocommerce {
	margin-bottom: 24px;
}

@media (min-width: 900px) {
	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper + form,
	.woocommerce-cart form.woocommerce-cart-form {
		width: 100%;
	}

	.woocommerce-cart .cart-collaterals {
		display: flex;
		justify-content: flex-end;
	}

	.woocommerce-cart .cart-collaterals .cart_totals {
		width: min(440px, 100%);
	}
}

.woocommerce .cart_totals table.shop_table,
.woocommerce-checkout #order_review {
	background: var(--bcs-surface);
	border-radius: var(--bcs-radius);
}

.woocommerce .cart_totals .order-total .amount {
	font-size: 1.3rem;
	color: var(--bcs-primary);
}

.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
.woocommerce-checkout #payment #place_order {
	display: block;
	width: 100%;
	padding: 16px 24px;
	border-radius: var(--bcs-radius-pill);
	background-image: var(--bcs-gradient);
	color: #fff;
	font-size: 1.02rem;
	font-weight: 700;
	text-align: center;
	box-shadow: 0 14px 30px rgba(var(--bcs-primary-rgb), 0.3);
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-checkout #payment {
	border: 1px solid var(--bcs-border);
	border-radius: var(--bcs-radius);
	background: var(--bcs-surface);
	padding: 22px;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--bcs-border);
	padding: 0 0 14px;
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--bcs-surface-2);
	border-radius: var(--bcs-radius-sm);
	color: var(--bcs-ink-soft);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--bcs-surface-2);
}

.woocommerce form .form-row label {
	font-weight: 600;
	font-size: 0.9rem;
	margin-bottom: 6px;
}

.woocommerce form .form-row {
	margin-bottom: 14px;
	padding: 0;
}

.select2-container .select2-selection--single {
	height: 48px;
	border-radius: var(--bcs-radius-sm);
	border-color: var(--bcs-border);
	background: var(--bcs-surface);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 46px;
	color: var(--bcs-ink);
	padding-left: 14px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
}

.select2-dropdown {
	background: var(--bcs-surface);
	border-color: var(--bcs-border);
	color: var(--bcs-ink);
}

@media (min-width: 992px) {
	.woocommerce-checkout form.checkout.woocommerce-checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
		gap: 32px;
		align-items: start;
	}

	.woocommerce-checkout form.checkout #customer_details {
		grid-column: 1;
		width: 100%;
	}

	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review {
		grid-column: 2;
	}

	.woocommerce-checkout form.checkout #order_review {
		position: sticky;
		top: 110px;
		padding: 22px;
		border: 1px solid var(--bcs-border);
		border-radius: var(--bcs-radius);
	}

	.woocommerce-checkout form.checkout .col2-set .col-1,
	.woocommerce-checkout form.checkout .col2-set .col-2 {
		width: 100%;
		float: none;
	}
}

/* Mini carrito del panel lateral */
.bcs-drawer .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.woocommerce ul.cart_list,
.woocommerce ul.product_list_widget {
	padding: 0;
	margin: 0;
	list-style: none;
}

/* WooCommerce mete la imagen DENTRO del enlace del título, así que la retícula
   va en el enlace y no en el <li>: si se pone en el <li>, la columna de la
   miniatura queda vacía y el precio cae a una segunda fila de 64 px. */
.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li {
	display: block;
	padding: 14px 30px 14px 0;
	border-bottom: 1px solid var(--bcs-border);
	position: relative;
}

.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 12px;
	float: none;
	margin: 0;
}

.woocommerce ul.cart_list li a:not(.remove),
.woocommerce ul.product_list_widget li a:not(.remove) {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 12px;
	align-items: center;
	font-weight: 600;
	color: var(--bcs-ink);
}

.woocommerce ul.cart_list li a.remove,
.woocommerce ul.product_list_widget li a.remove {
	position: absolute;
	top: 14px;
	right: 0;
	padding: 0;
}

.woocommerce ul.cart_list li .quantity {
	display: block;
	border: 0;
	background: transparent;
	font-size: 0.88rem;
	color: var(--bcs-ink-soft);
	padding: 0;
	margin-top: 4px;
	margin-left: 76px; /* 64 de la miniatura + 12 del hueco: alinea con el título */
}

.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total {
	margin-top: 16px;
	padding: 14px 0;
	border-top: 2px solid var(--bcs-border);
	border-bottom: 0;
	font-size: 1.05rem;
}

.woocommerce .widget_shopping_cart .buttons,
.woocommerce.widget_shopping_cart .buttons {
	display: grid;
	gap: 10px;
	margin: 0;
}

.woocommerce .widget_shopping_cart .buttons a {
	display: block;
	width: 100%;
	margin: 0;
	padding: 14px 20px;
	border-radius: var(--bcs-radius-pill);
	text-align: center;
	font-weight: 700;
	background: var(--bcs-surface-2);
	color: var(--bcs-ink);
}

.woocommerce .widget_shopping_cart .buttons a.checkout {
	background-image: var(--bcs-gradient);
	color: #fff;
	box-shadow: 0 12px 26px rgba(var(--bcs-primary-rgb), 0.28);
}

.woocommerce .widget_shopping_cart_content .woocommerce-mini-cart__empty-message {
	text-align: center;
	color: var(--bcs-ink-soft);
	padding: 40px 0;
}

/* ==================== 6. Mi cuenta, avisos y widgets */
.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 100%;
	float: none;
	margin-bottom: 24px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border: 0;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 10px 18px;
	border-radius: var(--bcs-radius-pill);
	background: var(--bcs-surface-2);
	color: var(--bcs-ink);
	font-weight: 600;
	font-size: 0.9rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background-image: var(--bcs-gradient);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: 100%;
	float: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 22px;
	padding: 16px 20px;
	border: 1px solid var(--bcs-border);
	border-left: 4px solid var(--bcs-primary);
	border-radius: var(--bcs-radius-sm);
	background: var(--bcs-surface);
	color: var(--bcs-ink);
	list-style: none;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	position: static;
	margin: 0;
	color: var(--bcs-primary);
}

.woocommerce-message { border-left-color: var(--bcs-accent); }
.woocommerce-message::before { color: var(--bcs-accent); }
.woocommerce-error { border-left-color: var(--bcs-sale); }
.woocommerce-error::before { color: var(--bcs-sale); }

.woocommerce-message .button,
.woocommerce-info .button {
	margin-left: auto;
	padding: 9px 18px;
	font-size: 0.88rem;
	background: var(--bcs-surface-2);
	color: var(--bcs-ink);
}

/* Widgets de filtrado */
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: var(--bcs-surface-2);
	border-radius: var(--bcs-radius-pill);
	height: 6px;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
	background-image: var(--bcs-gradient);
	border-radius: var(--bcs-radius-pill);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
	width: 18px;
	height: 18px;
	top: -6px;
	background: var(--bcs-surface);
	border: 3px solid var(--bcs-primary);
	border-radius: 50%;
	box-shadow: var(--bcs-shadow-sm);
}

.woocommerce .widget_price_filter .price_slider_amount .button {
	padding: 9px 18px;
	font-size: 0.86rem;
}

.woocommerce-widget-layered-nav-list__item.chosen a,
.wc-block-product-categories-list-item a:hover {
	color: var(--bcs-primary);
}

/* Modo oscuro: ajustes puntuales de WooCommerce */
[data-theme="dark"] .woocommerce span.onsale,
[data-theme="dark"] .bcs-stock-badge {
	box-shadow: none;
}

[data-theme="dark"] .woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--bcs-surface-2);
}

/* Los campos del carrito y el finalizar compra de bloques llevan el fondo blanco
   fijo en el CSS de WooCommerce. Como la etiqueta flotante sí sigue al tema, en
   modo oscuro quedaba texto casi blanco sobre un campo blanco (contraste 1,12:1).
   El selector lleva `html` delante para ganar a la regla de WooCommerce. */
html[data-theme="dark"] .wc-block-components-text-input input[type],
html[data-theme="dark"] .wc-block-components-textarea,
html[data-theme="dark"] .wc-blocks-components-select__container,
html[data-theme="dark"] .wc-blocks-components-select__select {
	background-color: var(--bcs-surface);
	color: var(--bcs-ink);
	border-color: var(--bcs-border);
}
