/* DeFábrica Directo — minicarrito: panel lateral derecho (diálogo modal nativo) con las líneas del carrito, el
   subtotal y los botones «Finalizar compra» y «Ver carrito» (especificación §28). */

.mini-carrito {
	position: fixed;
	inset: 0 0 0 auto;
	width: min(420px, 100vw);
	max-width: 100vw;
	height: 100%;
	max-height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--df-blanco);
	color: var(--df-texto);
	box-shadow: -12px 0 40px rgba(20, 24, 29, 0.18);
}

.mini-carrito::backdrop {
	background: rgba(20, 24, 29, 0.45);
}

@media (prefers-reduced-motion: no-preference) {
	.mini-carrito[open] {
		animation: mini-carrito-entra 0.22s ease-out;
	}

	.mini-carrito[open]::backdrop {
		animation: mini-carrito-velo 0.22s ease-out;
	}
}

@keyframes mini-carrito-entra {
	from {
		transform: translateX(32px);
		opacity: 0;
	}
}

@keyframes mini-carrito-velo {
	from {
		opacity: 0;
	}
}

.mini-carrito__panel {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.mini-carrito__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	border-bottom: 1px solid var(--df-borde-suave);
}

.mini-carrito__titulo {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--df-texto-fuerte);
}

.mini-carrito__cerrar {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin-right: -8px;
	border: 0;
	border-radius: 50%;
	background: none;
	color: var(--df-texto-fuerte);
	cursor: pointer;
}

.mini-carrito__cerrar:hover {
	background: var(--df-fondo-suave);
}

/* Contenido (fragmento de WooCommerce): recuento, lista con desplazamiento y pie fijo abajo */
.mini-carrito .widget_shopping_cart_content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
}

.mini-carrito__recuento {
	margin: 0;
	padding: 12px 20px 0;
	font-size: 0.8125rem;
	color: var(--df-texto-2);
}

.mini-carrito__recuento[data-cantidad="0"] {
	display: none;
}

.mini-carrito__lista {
	flex: 1;
	min-height: 0;
	margin: 0;
	padding: 4px 20px;
	overflow-y: auto;
	overscroll-behavior: contain;
	list-style: none;
}

.mini-linea {
	position: relative;
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) 36px;
	gap: 12px;
	align-items: start;
	padding: 14px 0;
}

.mini-linea + .mini-linea {
	border-top: 1px solid var(--df-borde-suave);
}

.mini-linea__foto img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: cover;
	border: 1px solid var(--df-borde-suave);
	border-radius: var(--df-radio);
}

.mini-linea__info {
	min-width: 0;
}

.mini-linea__nombre {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
}

.mini-linea__nombre a {
	color: var(--df-texto);
	text-decoration: none;
}

.mini-linea__nombre a:hover {
	color: var(--df-naranja-aa);
	text-decoration: underline;
}

.mini-linea__info .variation {
	margin-top: 4px;
	font-size: 0.75rem;
}

.mini-linea__cantidad {
	margin: 6px 0 0;
	font-size: 0.875rem;
	color: var(--df-texto-2);
}

.mini-linea__cantidad .amount {
	font-weight: 700;
	color: var(--df-naranja-aa);
}

.mini-linea__eliminar {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	color: var(--df-texto-2);
	text-decoration: none;
}

.mini-linea__eliminar:hover {
	background: var(--df-fondo-suave);
	color: var(--df-descuento-ficha);
}

.mini-linea__eliminar .icono {
	width: 18px;
	height: 18px;
}

.mini-carrito__pie {
	padding: 16px 20px 20px;
	border-top: 1px solid var(--df-borde-suave);
	background: var(--df-blanco);
}

.mini-carrito__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
}

.mini-carrito__etiqueta {
	font-size: 1rem;
	font-weight: 700;
	color: var(--df-texto-fuerte);
}

.mini-carrito__importe {
	font-size: 1.375rem;
	font-weight: 700;
	color: var(--df-naranja);
}

.mini-carrito__nota {
	margin: 4px 0 0;
	font-size: 0.75rem;
	color: var(--df-texto-2);
}

.mini-carrito__botones {
	display: grid;
	gap: 8px;
	margin: 14px 0 0;
}

.mini-carrito__botones .boton {
	width: 100%;
}

/* Vacío */
.mini-carrito__vacio {
	display: grid;
	flex: 1;
	align-content: center;
	justify-items: center;
	gap: 12px;
	padding: 32px 24px;
	text-align: center;
}

.mini-carrito__vacio .vacio__icono {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--df-naranja-suave);
	color: var(--df-naranja);
}

.mini-carrito__vacio .vacio__icono .icono {
	width: 28px;
	height: 28px;
}

.mini-carrito__vacio-titulo {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--df-texto-fuerte);
}

/* Bloqueo mientras WooCommerce quita una línea (blockUI) */
.mini-carrito .blockUI.blockOverlay {
	background: var(--df-blanco) !important; /* blockUI pone su color en línea */
}

@media (max-width: 599px) {
	.mini-carrito__cabecera,
	.mini-carrito__pie {
		padding-inline: 16px;
	}

	.mini-carrito__lista,
	.mini-carrito__recuento {
		padding-inline: 16px;
	}
}
