/* ==========================================================================
   Carrito lateral — Cecinas Serrot (inc/carrito.php, assets/js/carrito.js)
   ========================================================================== */

html.serrot-sin-scroll { overflow: hidden; }

.serrot-carrito[hidden] { display: none; }
.serrot-carrito {
	position: fixed;
	inset: 0;
	z-index: 100000; /* sobre la cabecera fija */
	font-family: var(--serrot-fuente-texto);
	color: var(--serrot-tinta);
}

.serrot-carrito-velo {
	position: absolute;
	inset: 0;
	background: rgba(21, 15, 12, 0.55);
	opacity: 0;
	transition: opacity 250ms ease;
}
.serrot-carrito-panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(460px, 100vw);
	display: flex;
	flex-direction: column;
	background: var(--serrot-blanco);
	box-shadow: -8px 0 30px rgba(21, 15, 12, 0.2);
	transform: translateX(100%);
	transition: transform 250ms ease;
	outline: none;
}
.serrot-carrito.is-abierto .serrot-carrito-velo { opacity: 1; }
.serrot-carrito.is-abierto .serrot-carrito-panel { transform: translateX(0); }
@media (prefers-reduced-motion: reduce) {
	.serrot-carrito-velo, .serrot-carrito-panel { transition: none; }
}

/* --- Cabecera ------------------------------------------------------------- */
.serrot-carrito-cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--serrot-esp-4) var(--serrot-esp-6);
	border-bottom: 1px solid var(--serrot-gris-200);
}
.serrot-carrito-cabecera h2 {
	margin: 0;
	padding: 0;
	font-size: 1.5rem;
	font-weight: 800;
}
.serrot-carrito-n { font-weight: 600; }
.serrot-carrito-cerrar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--serrot-toque);
	height: var(--serrot-toque);
	margin-right: calc(-1 * var(--serrot-esp-3));
	border: 0;
	background: transparent;
	color: var(--serrot-tinta);
	cursor: pointer;
}

/* --- Cuerpo con scroll + pie fijo ----------------------------------------- */
.serrot-carrito-contenido {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
}
.serrot-carrito-scroll {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.serrot-carrito-gratis {
	padding: var(--serrot-esp-4) var(--serrot-esp-6);
	background: var(--serrot-crema);
	border-bottom: 1px solid var(--serrot-gris-200);
	font-size: var(--serrot-texto-sm);
}
.serrot-carrito-gratis p { margin: 0 0 var(--serrot-esp-2); padding: 0; }
.serrot-barra {
	height: 6px;
	background: var(--serrot-gris-200);
	border-radius: 3px;
	overflow: hidden;
}
.serrot-barra span {
	display: block;
	height: 100%;
	background: var(--serrot-acento);
	transition: width 300ms ease;
}
.serrot-carrito-gratis.is-logrado .serrot-barra span { background: var(--serrot-exito); }
.serrot-carrito-gratis.is-logrado p { color: var(--serrot-exito); }

/* --- Líneas --------------------------------------------------------------- */
.serrot-carrito-lineas {
	list-style: none;
	margin: 0;
	padding: 0 var(--serrot-esp-6);
}
.serrot-carrito-linea {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: var(--serrot-esp-3);
	padding: var(--serrot-esp-4) 0;
	border-bottom: 1px solid var(--serrot-gris-200);
	list-style: none;
	transition: opacity 150ms ease;
}
.serrot-carrito-linea.is-cargando { opacity: 0.5; pointer-events: none; }
.serrot-carrito-foto {
	display: block;
	width: 72px;
	height: 72px;
	background: var(--serrot-foto-vacia);
	overflow: hidden;
}
.serrot-carrito-foto img { width: 100%; height: 100%; object-fit: cover; }
.serrot-carrito-fila {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--serrot-esp-3);
}
.serrot-carrito a.serrot-carrito-nombre {
	font-weight: 600;
	color: var(--serrot-tinta);
	text-decoration: none;
	line-height: 1.25;
}
.serrot-carrito-precio { font-weight: 700; white-space: nowrap; }
.serrot-carrito-meta {
	margin: 2px 0 var(--serrot-esp-2);
	padding: 0;
	font-size: 0.8125rem;
	color: var(--serrot-gris-500);
}

.serrot-cantidad {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--serrot-gris-300);
	border-radius: var(--serrot-radio-boton);
}
.serrot-cantidad-btn {
	width: var(--serrot-toque);
	height: 40px;
	border: 0;
	background: transparent;
	font-size: 1.125rem;
	color: var(--serrot-tinta);
	cursor: pointer;
}
.serrot-cantidad-btn:disabled { opacity: 0.35; cursor: default; }
.serrot-cantidad-num { min-width: 1.75rem; text-align: center; font-weight: 600; }
.serrot-carrito-quitar {
	min-height: 40px;
	border: 0;
	background: transparent;
	color: var(--serrot-gris-500);
	font-size: var(--serrot-texto-sm);
	text-decoration: underline;
	cursor: pointer;
}

.serrot-carrito-despacho {
	padding: var(--serrot-esp-4) var(--serrot-esp-6);
	font-size: var(--serrot-texto-sm);
	color: var(--serrot-gris-700);
}
.serrot-carrito-despacho p { margin: 0; padding: 0; }
.serrot-carrito-despacho-titulo { font-weight: 700; color: var(--serrot-tinta); margin-bottom: var(--serrot-esp-1) !important; }

/* --- Pie ------------------------------------------------------------------ */
.serrot-carrito-pie {
	padding: var(--serrot-esp-4) var(--serrot-esp-6) var(--serrot-esp-6);
	border-top: 1px solid var(--serrot-gris-200);
	background: var(--serrot-blanco);
}
.serrot-carrito-subtotal {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0;
	padding: 0;
	font-weight: 600;
}
.serrot-carrito-subtotal strong {
	font-family: var(--serrot-fuente-titulos);
	font-size: 1.75rem;
	font-weight: 800;
}
.serrot-carrito-nota { margin: var(--serrot-esp-1) 0 var(--serrot-esp-4); padding: 0; font-size: 0.8125rem; color: var(--serrot-gris-500); }
/* Con id: el panel está fuera de #page-container. */
#serrot-carrito a.button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 52px;
	font-family: var(--serrot-fuente-titulos);
	font-weight: 700;
	font-size: var(--serrot-texto-lg);
	color: var(--serrot-blanco);
	background: var(--serrot-acento);
	border: 2px solid var(--serrot-acento);
	border-radius: var(--serrot-radio-boton);
	padding: 0;
	text-decoration: none;
}
#serrot-carrito a.button::after { display: none; }
#serrot-carrito a.button:hover { padding: 0; background: var(--serrot-acento-hover); border-color: var(--serrot-acento-hover); color: var(--serrot-blanco); }
.serrot-carrito-seguir {
	width: 100%;
	min-height: var(--serrot-toque);
	margin-top: var(--serrot-esp-2);
	border: 2px solid var(--serrot-tinta);
	border-radius: var(--serrot-radio-boton);
	background: transparent;
	font-family: var(--serrot-fuente-titulos);
	font-weight: 700;
	font-size: var(--serrot-texto-base);
	color: var(--serrot-tinta);
	cursor: pointer;
}
.serrot-carrito-seguir:hover { background: var(--serrot-tinta); color: var(--serrot-blanco); }

.serrot-carrito-vacio { padding: var(--serrot-esp-8) var(--serrot-esp-6); }
.serrot-carrito-vacio p { padding: 0 0 var(--serrot-esp-2); }
.serrot-carrito-vacio .button { margin-top: var(--serrot-esp-4); }

/* El enlace "Ver carrito" que WooCommerce agrega bajo el botón ya no hace falta */
.woocommerce a.added_to_cart.wc-forward { display: none !important; }
