/**
 * Shopping cart (issue #909).
 *
 * Listing card action rows: equal heights with the icon and text
 * vertically centered so the heart, Order Now and cart buttons line
 * up; Order Now + cart form one attached pair.
 */
.cart-actions .btn {
	height: 32px;
	padding: 0 0.6rem !important;
	font-size: 0.75rem !important;
	line-height: 30px !important;
	vertical-align: middle;
}
.cart-buy-group { display: inline-flex; align-items: center; vertical-align: middle; }
.cart-buy-group > .btn {
	margin: 0 !important;
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}
.cart-buy-group .cart-add-btn {
	margin: 0 !important;
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
}
.cart-buy-group .cart-add-btn.btn-success { border-left: 1px solid rgba(255, 255, 255, 0.45) !important; }

/* Header cart tooltip must sit above the sticky header (z 9000/9010) */
.cart-header-tooltip { z-index: 9020; }

/* Quantity stepper on the cart page; plain elements because the theme's
   pill button styling breaks .btn-group attachment */
.cart-stepper { display: inline-flex; align-items: center; vertical-align: middle; }
.cart-stepper button,
.cart-stepper .cart-step-qty {
	height: 26px;
	min-width: 26px;
	padding: 0 7px;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--success-color, #43d9a3);
	background: transparent;
	color: var(--success-color, #43d9a3);
	font-size: 13px;
	line-height: 1;
}
.cart-stepper button { cursor: pointer; }
.cart-stepper button:focus { outline: none; }
.cart-stepper button:first-child { border-radius: 4px 0 0 4px; border-right: 0; }
.cart-stepper button:last-child { border-radius: 0 4px 4px 0; border-left: 0; }
.cart-stepper .cart-step-qty { font-weight: bold; }

/* Cart page lines */
.cart-line:last-child { border-bottom: 0 !important; }

/* Phones: stack each cart line so addons and controls get the full width */
@media (max-width: 575.98px) {
	.cart-line { flex-wrap: wrap; }
	.cart-line > .media-body { flex: 1 1 100%; padding-right: 0 !important; }
	.cart-line > .media-body .custom-control-label { white-space: nowrap; }
	.cart-line > .text-right { width: 100%; min-width: 0 !important; margin-left: 0 !important; margin-top: 0.5rem; text-align: left !important; }
	.cart-line > .text-right .d-flex { justify-content: flex-start !important; }
	.cart-line > .text-right .ml-auto { margin-left: 0 !important; }
}

/* NOWPayments brand button (primary #64ACFF) */
.btn-nowpayments-brand {
	color: #0b1220 !important;
	background-color: #64acff !important;
	border-color: #64acff !important;
	font-weight: 600;
}
.btn-nowpayments-brand:hover,
.btn-nowpayments-brand:focus {
	color: #0b1220 !important;
	background-color: #4e9bf2 !important;
	border-color: #4e9bf2 !important;
}
.cart-gateway-icon {
	height: 18px;
	width: 18px;
	border-radius: 4px;
	vertical-align: -4px;
	margin-right: 4px;
}
