/*! USE Theme E-Commerce — FAB, drawer, product cards, toast, buybar */

:root {
	--use-ecom-accent: var(--use-accent, #6366f1);
	--use-ecom-radius: 0.75rem;
}

/* FAB */
.use-ecom-fab {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	z-index: 1050;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background: var(--use-ecom-accent);
	color: #fff;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 16px rgba(0,0,0,.15);
	transition: transform .2s, box-shadow .2s;
}
.use-ecom-fab:hover { transform: scale(1.08); box-shadow: 0 6px 24px rgba(0,0,0,.2); }
.use-ecom-fab[data-use-pop] { animation: use-pop .4s cubic-bezier(.4,0,.2,1); }
@keyframes use-pop { 0%,100%{transform:scale(1)} 50%{transform:scale(1.2)} }

.use-ecom-fab__count {
	position: absolute; top: -4px; right: -4px;
	min-width: 1.25rem; height: 1.25rem;
	background: #ef4444; color: #fff;
	font-size: .6875rem; font-weight: 700;
	border-radius: 999px; display: flex; align-items: center; justify-content: center;
	padding: 0 .25rem;
}

/* Cart Drawer */
.use-ecom-drawer {
	position: fixed; top: 0; right: 0; bottom: 0; z-index: 1200;
	width: min(90vw, 420px); background: #fff; color: #0a0a0a;
	box-shadow: -4px 0 32px rgba(0,0,0,.12);
	transform: translateX(100%); transition: transform .3s cubic-bezier(.4,0,.2,1);
	display: flex; flex-direction: column;
}
.use-ecom-drawer[data-use-open] { transform: translateX(0); }
.use-ecom-drawer__overlay {
	position: fixed; inset: 0; z-index: 1199;
	background: rgba(0,0,0,.4); opacity: 0; transition: opacity .3s;
}
.use-ecom-drawer__overlay[data-use-open] { opacity: 1; }
.use-ecom-drawer__header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid #e5e7eb; }
.use-ecom-drawer__body { flex: 1; overflow-y: auto; padding: 1rem 1.25rem; }
.use-ecom-drawer__footer { padding: 1rem 1.25rem; border-top: 1px solid #e5e7eb; }

/* Mini cart items */
.use-ecom-mini-item {
	display: flex; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid #f3f4f6;
	animation: use-fade-in .3s ease calc(var(--use-i, 0) * 50ms) both;
}
@keyframes use-fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.use-ecom-mini-item__img { width: 56px; height: 56px; border-radius: .5rem; object-fit: cover; }
.use-ecom-mini-item__info { flex: 1; min-width: 0; }
.use-ecom-mini-item__remove { background: none; border: none; color: #9ca3af; cursor: pointer; padding: .25rem; }
.use-ecom-mini-item__remove:hover { color: #ef4444; }

/* Product cards */
.use-ecom-product-card {
	border-radius: var(--use-ecom-radius);
	overflow: hidden;
	background: #fff;
	border: 1px solid #e5e7eb;
	transition: box-shadow .2s, transform .2s;
}
.use-ecom-product-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }
.use-ecom-product-card__img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.use-ecom-product-card__body { padding: 1rem; }
.use-ecom-product-card__title { margin: 0 0 .25rem; font-weight: 600; font-size: .9375rem; }
.use-ecom-product-card__price { font-weight: 700; color: var(--use-ecom-accent); }
.use-ecom-product-card__add {
	display: inline-flex; align-items: center; gap: .375rem;
	margin-top: .75rem; padding: .5rem 1rem;
	background: var(--use-ecom-accent); color: #fff;
	border: none; border-radius: 999px; cursor: pointer; font-weight: 600; font-size: .8125rem;
	transition: opacity .2s;
}
.use-ecom-product-card__add:hover { opacity: .85; }
.use-ecom-product-card__add.use-adding { opacity: .5; pointer-events: none; }

/* Toast */
.use-ecom-toast {
	position: fixed; bottom: 5rem; left: 50%; transform: translateX(-50%) translateY(1rem);
	background: #1f2937; color: #fff; padding: .75rem 1.5rem;
	border-radius: 999px; font-size: .875rem; font-weight: 500;
	opacity: 0; transition: opacity .3s, transform .3s; z-index: 1300;
}
.use-ecom-toast[data-use-visible] { opacity: 1; transform: translateX(-50%) translateY(0); }

/* Buybar (mobile single product) */
.use-ecom-buybar {
	position: fixed; bottom: 0; left: 0; right: 0; z-index: 1050;
	background: #fff; border-top: 1px solid #e5e7eb;
	padding: .75rem 1.25rem; display: flex; align-items: center; justify-content: space-between;
	transform: translateY(100%); transition: transform .3s;
}
.use-ecom-buybar[data-use-show] { transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
	.use-ecom-fab, .use-ecom-drawer, .use-ecom-drawer__overlay, .use-ecom-toast, .use-ecom-buybar, .use-ecom-product-card { transition-duration: 0.01ms !important; }
	.use-ecom-mini-item { animation: none; }
}
