/* ============================================================
   Refuerzo de carrito — envío gratis + "Completa tu look" (B&N)
   ============================================================ */
.dlb-cart-boost {
	--cb-mono: ui-monospace, 'SFMono-Regular', 'SF Mono', Menlo, Consolas, monospace;
	--cb-serif: 'Times New Roman', Times, serif;
	font-family: var(--cb-serif);
	color: #000;
	margin: 0 0 .5rem;
}

/* ---- Barra de envío gratis (resaltada para llamar la atención) ---- */
.dlb-cb-ship {
	margin: .25rem 0 1.1rem;
	padding: .7rem .85rem;
	border: 1.5px solid #000;
	border-radius: 3px;
	background: #fff;
}
.dlb-cb-ship-msg {
	font-family: var(--cb-mono);
	font-size: .74rem; letter-spacing: .05em; text-transform: uppercase;
	font-weight: 700;
	margin: 0 0 .55rem; color: #000;
	display: flex; align-items: center; gap: .45rem;
}
.dlb-cb-ship-msg::before {
	content: "\2192"; /* flecha -> */
	font-size: .95rem; line-height: 1; transform: translateY(-1px);
}
.dlb-cb-ship.is-done { background: #000; border-color: #000; }
.dlb-cb-ship.is-done .dlb-cb-ship-msg { color: #fff; }
.dlb-cb-ship.is-done .dlb-cb-ship-msg::before { content: "\2713"; /* check */ }
.dlb-cb-bar {
	display: block; height: 8px; width: 100%;
	background: rgba(0,0,0,.10); border-radius: 6px; overflow: hidden;
}
.dlb-cb-bar-fill {
	display: block; height: 100%; background: #000;
	border-radius: 6px; transition: width .6s cubic-bezier(.4,0,.2,1);
	position: relative; overflow: hidden;
}
/* brillo que recorre la barra mientras aún no califica */
.dlb-cb-bar-fill::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.6) 50%, transparent 80%);
	transform: translateX(-100%);
	animation: dlbShimmer 2.2s ease-in-out infinite;
}
.dlb-cb-ship.is-done .dlb-cb-bar { background: rgba(255,255,255,.25); }
.dlb-cb-ship.is-done .dlb-cb-bar-fill { background: #fff; }
.dlb-cb-ship.is-done .dlb-cb-bar-fill::after { animation: none; }
@keyframes dlbShimmer { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(240%); } }

/* ---- Cross-sell ---- */
.dlb-cb-cross { margin-top: .5rem; }
.dlb-cb-cross-title {
	font-family: var(--cb-mono);
	font-size: .7rem; letter-spacing: .18em; text-transform: uppercase;
	color: #555; margin: 0 0 .6rem;
}
.dlb-cb-row {
	display: flex; gap: .65rem; overflow-x: auto; align-items: stretch;
	scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
	padding-bottom: .4rem;
}
.dlb-cb-item {
	flex: 0 0 112px; scroll-snap-align: start;
	display: flex; flex-direction: column;
}
.dlb-cb-img {
	display: block; aspect-ratio: 1/1; background: #f2f2f2;
	overflow: hidden; border-radius: 2px;
}
.dlb-cb-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dlb-cb-name {
	font-family: var(--cb-serif); font-size: .78rem; line-height: 1.2;
	margin: .4rem 0 .1rem;
	/* altura fija de 2 líneas: todas las tarjetas quedan iguales y el botón negro alinea */
	height: 1.88rem; min-height: 1.88rem;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.dlb-cb-price { font-family: var(--cb-mono); font-size: .72rem; color: #000; margin-bottom: .4rem; }
.dlb-cb-price del { opacity: .5; margin-right: .25rem; }
.dlb-cb-add {
	display: block !important; text-align: center; cursor: pointer; margin-top: auto;
	font-family: var(--cb-mono); font-size: .62rem !important; letter-spacing: .12em; text-transform: uppercase;
	background: #000 !important; color: #fff !important; border: 1px solid #000 !important;
	border-radius: 2px !important; padding: .5rem .4rem !important; line-height: 1 !important;
	min-height: 0 !important; transition: background .2s, color .2s;
}
.dlb-cb-add:hover, .dlb-cb-add.added { background: #fff !important; color: #000 !important; }
.dlb-cb-add.loading::after { content: "…"; }

/* La página del carrito da más aire */
.dlb-cart-boost.is-page {
	max-width: 1100px; margin: 2rem auto 0; padding-top: 1.5rem;
	border-top: 1px solid rgba(0,0,0,.12);
}
.dlb-cart-boost.is-page .dlb-cb-item { flex-basis: 150px; }
.dlb-cart-boost.is-page .dlb-cb-cross-title { font-size: .8rem; }

/* ============================================================
   Carrito lateral (drawer) — ancho fijo para que NO se corte
   ============================================================ */
.off-canvas-cart, #cart-popup { --drawer-width: 420px !important; }
.off-canvas-cart .dlb-cb-row { overflow-x: auto; max-width: 100%; }
.off-canvas-cart .dlb-cart-boost,
.off-canvas-cart .dlb-cb-cross,
.off-canvas-cart .widget_shopping_cart_content { max-width: 100%; box-sizing: border-box; }
@media (max-width: 600px) {
	.off-canvas-cart, #cart-popup { --drawer-width: 92vw !important; }
}
