/**
 * Business Explained — Checkout v2: Remove item (bin) + loading states
 * be-co2-actions-v1.css — all widths, scoped to body.be-co2
 * - Bin icon on every summary item (mobile top panel, mobile bottom summary,
 *   desktop right column). Icon from Figma "02 CART & CHECKOUT" → CART.
 * - Spinner on the bin while the item is being removed.
 * - Spinner on the upsell buttons (Add to order / Get all 70 products) until
 *   the page reloads.
 */

/* ------------------------------------------------------------
   Bin (16px from the price, 24px tap area, icon 13×14)
   ------------------------------------------------------------ */
body.be-co2 .be-co2-item .be-co2-item__remove {
	position: relative;
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 13px;
	height: 14px;
	box-sizing: content-box;
	margin: -5px -5px -5px -3px;
	padding: 5px;
	border: 0;
	background: none;
	color: #535353;
	line-height: 0;
	text-decoration: none !important;
	cursor: pointer;
	transition: color 0.15s ease;
}

body.be-co2 .be-co2-item .be-co2-item__remove:hover,
body.be-co2 .be-co2-item .be-co2-item__remove:focus-visible {
	color: #1f1f1f;
}

body.be-co2 .be-co2-item .be-co2-item__remove::before,
body.be-co2 .be-co2-item .be-co2-item__remove::after {
	content: none;
}

body.be-co2 .be-co2-item .be-co2-item__remove svg {
	display: block;
	width: 13px;
	height: 14px;
}

/* Locked row (APS while Elite Access is in the cart): keeps prices aligned */
body.be-co2 .be-co2-item .be-co2-item__remove.is-locked {
	visibility: hidden;
	pointer-events: none;
}

/* Removing: spinner instead of the bin, row faded, summary not clickable */
body.be-co2 .be-co2-item .be-co2-item__remove.is-loading svg {
	visibility: hidden;
}

body.be-co2 .be-co2-item .be-co2-item__remove.is-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	margin: -7px 0 0 -7px;
	box-sizing: border-box;
	border: 2px solid #d4d4d4;
	border-top-color: #535353;
	border-radius: 50%;
	animation: be-co2-spin 0.7s linear infinite;
}

body.be-co2 .be-co2-item.is-removing > :not(.be-co2-item__remove) {
	opacity: 0.4;
	transition: opacity 0.2s ease;
}

body.be-co2 .be-co2-sum.is-removing {
	pointer-events: none;
}

/* ------------------------------------------------------------
   Upsell buttons: spinner until the page reloads
   ------------------------------------------------------------ */
body.be-co2 a.be-co2-offer__btn.is-loading {
	position: relative;
	pointer-events: none;
	cursor: default;
}

body.be-co2 a.be-co2-offer__btn.is-loading > * {
	visibility: hidden;
}

body.be-co2 a.be-co2-offer__btn.is-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	box-sizing: border-box;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: be-co2-spin 0.7s linear infinite;
}

@keyframes be-co2-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	body.be-co2 .be-co2-item .be-co2-item__remove.is-loading::after,
	body.be-co2 a.be-co2-offer__btn.is-loading::after {
		animation-duration: 1.6s;
	}
}
