/**
 * Componente: Floating Cart (Estilos Premium Flexibles)
 * Ubicación: components/floating-cart/floating-cart.css
 *
 * @package UnionnFoodFlow
 */

.uff-floating-cart {
	position: fixed;
	bottom: var(--uff-space-6, 24px);
	right: var(--uff-space-6, 24px);
	z-index: var(--uff-z-sticky, 200);
	box-sizing: border-box;
	font-family: var(--uff-font-body, sans-serif);
	transition: transform var(--uff-transition, .25s ease), opacity var(--uff-transition, .25s ease);
}

/* La Píldora contenedora principal */
.uff-floating-cart__trigger {
	display: flex !important;
	align-items: center !important;
	flex-direction: row !important; /* Fuerza el flujo en fila estrictamente horizontal */
	gap: var(--uff-space-3, 12px) !important;
	
	height: var(--uff-size-md, 48px) !important;
	padding: 0 var(--uff-space-5, 20px) !important;
	
	background-color: var(--uff-color-primary, #253e66) !important;
	color: var(--uff-color-white, #ffffff) !important;
	
	border: none !important;
	border-radius: var(--uff-radius-full, 999px) !important;
	box-shadow: var(--uff-shadow-lg, 0 22px 50px rgba(0,0,0,.15)) !important;
	
	cursor: pointer !important;
	white-space: nowrap !important; /* Blindaje absoluto contra colapsos tipográficos */
	box-sizing: border-box !important;
	transition: background-color var(--uff-transition-fast), transform var(--uff-transition-fast);
}

.uff-floating-cart__trigger:hover {
	background-color: var(--uff-color-primary-hover, #355586) !important;
	transform: translateY(-2px);
}

.uff-floating-cart__trigger:active {
	transform: translateY(0) scale(0.97);
}

/* Contenedor del ícono SVG / Dashicon */
.uff-floating-cart__icon-box {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: currentColor;
}

.uff-floating-cart__icon-box .dashicons,
.uff-floating-cart__icon-box svg {
	font-size: 20px !important;
	width: 20px !important;
	height: 20px !important;
	line-height: 1 !important;
}

/* Globo notificador de cantidades */
.uff-floating-cart__badge {
	position: absolute;
	top: -8px;
	right: -10px;
	
	background-color: var(--uff-color-success, #56b870);
	color: var(--uff-color-white, #ffffff);
	
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	
	border-radius: var(--uff-radius-full, 999px);
	border: 2px solid var(--uff-color-primary, #253e66);
	
	font-size: 10px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

/* Sección descriptiva interna */
.uff-floating-cart__details {
	display: flex;
	align-items: center;
	gap: var(--uff-space-2, 8px);
	font-size: var(--uff-text-sm, 14px);
	font-weight: var(--uff-font-semibold, 600);
}

.uff-floating-cart__divider {
	opacity: var(--uff-opacity-muted, 0.65);
}

.uff-floating-cart__total {
	font-weight: var(--uff-font-bold, 700);
}