/* TV Selector de combos 1.0.0 — todo cuelga de .tvsc-on (lo agrega el JS cuando se montó bien).
   Sin JS no aplica nada y queda el selector original de woosb. Mobile primero. */

/* Prefijo común: más específico que el CSS del plugin de promos y del tema (que usan !important). */
/* ---------- Cantidad: caja oscura −/+ como la del carrito lateral ---------- */
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product .woosb-quantity{
	margin-left:auto !important;margin-right:10px !important;flex:0 0 auto !important;
	width:auto !important;min-width:0 !important;text-align:right !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product.tvsc-row .woosb-quantity .quantity,
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product.tvsc-row .woosb-quantity .tvbr-elegir{display:none !important;}
.tvsc-step{
	display:inline-flex;align-items:center;justify-content:space-between;box-sizing:border-box;
	width:92px;height:38px;padding:0 2px;background:#0a0a0a;border:1px solid #6f6f6f;border-radius:8px;
	color:#fff;font-family:inherit;
}
.tvsc-step .tvsc-btn{
	appearance:none;-webkit-appearance:none;flex:0 0 30px;width:30px;height:100%;margin:0;padding:0;
	background:transparent !important;border:0 !important;border-radius:6px;box-shadow:none !important;
	color:#fff !important;font:600 20px/1 inherit;cursor:pointer;touch-action:manipulation;
}
.tvsc-step .tvsc-btn:hover:not(:disabled){color:#dcf166 !important;}
.tvsc-step .tvsc-btn:focus-visible{outline:2px solid #dcf166;outline-offset:-2px;}
.tvsc-step .tvsc-btn:disabled{color:#555 !important;cursor:not-allowed;}
.tvsc-step .tvsc-val{flex:1 1 auto;text-align:center;font-weight:700;font-size:16px;line-height:1;color:#fff;min-width:18px;}

/* Fila bloqueada: el grupo ya está completo, hay que restar antes de elegir otra */
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product.tvsc-bloq{opacity:.42;}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product.tvsc-bloq .variations,
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product.tvsc-bloq .woosb-thumb a{pointer-events:none !important;}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product.tvsc-bloq .tvsc-step{border-color:#3a3a3a;}

html body .woosb-wrap.tvsc-on .woosb-products .woosb-product .woosb-title{min-width:0 !important;flex:1 1 0 !important;overflow-wrap:anywhere;}
@media (max-width:480px){
	.tvsc-step{width:84px;height:36px;}
	.tvsc-step .tvsc-btn{flex-basis:26px;width:26px;}
	html body .woosb-wrap.tvsc-on .woosb-products .woosb-product .woosb-quantity{margin-right:6px !important;}
}

/* ---------- Precio más discreto ---------- */
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product .woosb-price,
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product .woosb-price *{
	font-size:14px !important;font-weight:600 !important;color:#d9d9d9 !important;text-decoration:none !important;
	text-shadow:none !important;line-height:1.2 !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product .woosb-price del,
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product .woosb-price del *{
	font-size:11px !important;font-weight:400 !important;color:#8a8a8a !important;text-decoration:line-through !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product .woosb-price{min-width:56px !important;text-align:right !important;}

/* ---------- Variaciones: cajas chicas, poco redondeadas, borde gris; elegida en lima ---------- */
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product ul.variable-items-wrapper{
	display:flex !important;flex-wrap:wrap !important;gap:6px !important;margin:4px 0 0 !important;padding:0 !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product .variation .label{
	margin:2px 0 0 !important;font-size:12px !important;color:#e6e6e6 !important;font-weight:400 !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product ul.variable-items-wrapper li.variable-item{
	--wvs-item-box-shadow:none;--wvs-hover-item-box-shadow:none;--wvs-selected-item-box-shadow:none;
	margin:0 !important;box-shadow:none !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product ul.variable-items-wrapper li.variable-item.button-variable-item{
	background:#0a0a0a !important;background-color:#0a0a0a !important;border:1px solid #8a8a8a !important;
	border-radius:4px !important;box-shadow:none !important;padding:0 !important;min-width:0 !important;
	width:auto !important;height:auto !important;overflow:hidden !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product li.button-variable-item .variable-item-span{
	padding:5px 10px !important;font-size:12px !important;font-weight:600 !important;color:#fff !important;
	border-radius:0 !important;background:transparent !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product ul.variable-items-wrapper li.variable-item.button-variable-item:hover{
	border-color:#fff !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product ul.variable-items-wrapper li.variable-item.button-variable-item.selected{
	background:#0a0a0a !important;background-color:#0a0a0a !important;border:1px solid #dcf166 !important;box-shadow:0 0 0 1px #dcf166 !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product li.button-variable-item.selected .variable-item-span{color:#dcf166 !important;background:transparent !important;}

/* Colores (imagen): cuadraditos de 36px, borde gris; elegido lima; sin stock con cruz roja */
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product ul.variable-items-wrapper li.variable-item.image-variable-item{
	position:relative;width:36px !important;height:36px !important;min-width:0 !important;padding:0 !important;
	background:#0a0a0a !important;border:1px solid #8a8a8a !important;border-radius:4px !important;
	box-shadow:none !important;overflow:hidden !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product li.image-variable-item img{
	width:100% !important;height:100% !important;object-fit:cover;border-radius:0 !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product ul.variable-items-wrapper li.variable-item.image-variable-item.selected{
	border:2px solid #dcf166 !important;box-shadow:none !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product li.variable-item.disabled,
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product li.variable-item.wvs-disabled,
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product li.variable-item.out-of-stock{
	opacity:.55;border-color:#454545 !important;
}
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product li.image-variable-item.disabled::after,
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product li.image-variable-item.wvs-disabled::after,
html body .woosb-wrap.tvsc-on .woosb-products .woosb-product li.image-variable-item.out-of-stock::after{
	content:"";position:absolute;inset:0;
	background:linear-gradient(to top right,transparent calc(50% - 1px),#e53935 50%,transparent calc(50% + 1px)),
		linear-gradient(to bottom right,transparent calc(50% - 1px),#e53935 50%,transparent calc(50% + 1px));
}

/* ---------- Carteles ---------- */
.tvsc-cartels{display:flex;flex-direction:column;gap:10px;margin:16px 0 10px;}
.tvsc-cartel{
	display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;padding:12px 16px;
	background:#050505;color:#fff;font-family:inherit;font-size:15px;line-height:1.25;
	border:1.5px solid #dcf166;border-radius:14px;
}
.tvsc-cartel .tvsc-ico{display:inline-flex;flex:0 0 auto;color:#dcf166;}
.tvsc-cartel .tvsc-sep{flex:0 0 1px;align-self:stretch;margin:2px 0;background:#4a4a4a;}
.tvsc-cartel .tvsc-txt{flex:1 1 auto;font-weight:600;}
.tvsc-cartel b{color:#dcf166;font-weight:800;}
.tvsc-cartel .tvsc-n{flex:0 0 auto;color:#bdbdbd;font-weight:600;font-size:13px;}
.tvsc-cartel .tvsc-tilde{display:none;}
/* Total (descartables): pastilla centrada */
.tvsc-cartel.tvsc-total{border-radius:999px;justify-content:center;padding:13px 20px;font-size:17px;}
.tvsc-cartel.tvsc-total .tvsc-txt{flex:0 1 auto;}
.tvsc-cartel.tvsc-total.tvsc-ok{background:rgba(220,241,102,.12);}
/* Grupos: violeta / lima, círculo a la derecha */
.tvsc-cartel.tvsc-violeta{border-color:#b21aff;}
.tvsc-cartel.tvsc-violeta .tvsc-ico{color:#fff;}
.tvsc-cartel.tvsc-lima{border-color:#dcf166;}
.tvsc-cartel.tvsc-lima .tvsc-ico{color:#fff;}
.tvsc-cartel.tvsc-grupo .tvsc-tilde{
	display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;
	box-sizing:border-box;border:2px solid #6f6f6f;border-radius:50%;color:#050505;background:transparent;
}
.tvsc-cartel.tvsc-grupo.tvsc-ok .tvsc-tilde{background:#dcf166;border-color:#dcf166;}

/* Si el cartel de oferta del tema/plugin muestra su propio contador, el del plugin de promos se esconde para no duplicar */
body.tvsc-on .tvbr-contador{display:none !important;}

@media (min-width:769px){
	.tvsc-step{width:104px;height:40px;}
	.tvsc-cartel{font-size:16px;}
}
@media (prefers-reduced-motion:no-preference){
	.tvsc-cartel,.tvsc-cartel .tvsc-tilde{transition:background-color .2s,border-color .2s;}
}
