/* Axon cart page and drawers. WooCommerce remains the source of cart truth. */
body.axon-cart-drawer-open {
	overflow: hidden;
}

/* Keep the support launcher available during normal browsing, but remove it
 * from the interactive layer while the cart sidebar is open. HelpScout gives
 * its launcher a higher z-index than the theme drawer by default. */
body.axon-design-system #beacon-container .BeaconFabButtonFrame {
	transition: opacity .18s ease, visibility .18s ease;
}

body.axon-design-system.axon-cart-drawer-open #beacon-container .BeaconFabButtonFrame {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* One parent-theme minicart system is shared by every storefront page. */
body.axon-design-system .pls-minicart-slide {
	width: min(430px, 100vw) !important;
	border-left: 1px solid rgba(142, 220, 247, .18);
	background: #0e202a !important;
	color: #aec4d2 !important;
	box-shadow: -24px 0 70px rgba(0, 0, 0, .42);
}

body.axon-design-system .pls-minicart-slide .pls-minicart-items {
	width: 100% !important;
}

/* The parent theme inserts a cross-sell column beside the cart contents when
 * recommendations are available. Keep the drawer dedicated to the active cart
 * so product-page recommendations cannot compress its usable width. */
body.axon-design-system .pls-minicart-slide .pls-minicart-cross-sells {
	display: none !important;
}

body.axon-design-system .pls-minicart-slide :where(.pls-minicart-items, .widget_shopping_cart_content) {
	min-width: 0;
	flex: 1 1 100%;
}

body.axon-design-system .pls-mask-overaly {
	background: rgba(3, 15, 22, .68) !important;
}

body.axon-design-system .pls-minicart-slide :where(.pls-minicart-header, .pls-minicart-items, .widget_shopping_cart_content, .mini-cart-item-content, .pls-minicart-cart-totals) {
	background: transparent !important;
	color: #aec4d2 !important;
}

body.axon-design-system .pls-minicart-slide :where(.minicart-title, .mini_cart_item_title, .amount, strong, th, td, label) {
	color: #eaf4fa !important;
}

body.axon-design-system .pls-minicart-slide .pls-minicart-header {
	min-height: 58px;
	padding: 14px 16px !important;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}

body.axon-design-system .pls-minicart-slide .pls-minicart-header .minicart-title {
	font-size: 22px !important;
	line-height: 1.2 !important;
}

body.axon-design-system .pls-minicart-slide .pls-close-btn {
	color: #eaf4fa !important;
}

body.axon-design-system .pls-minicart-slide .woocommerce-mini-cart-item {
	display: flex !important;
	gap: 12px !important;
	align-items: flex-start !important;
	margin: 0 !important;
	padding: 14px 0 !important;
	border-bottom-color: rgba(255, 255, 255, .1) !important;
}

body.axon-design-system .pls-minicart-slide .woocommerce-mini-cart {
	padding-inline: 16px !important;
}

body.axon-design-system .pls-minicart-slide .mini_cart_item_image {
	width: 68px !important;
	min-width: 68px !important;
	height: 68px !important;
	margin: 0 !important;
}

body.axon-design-system .pls-minicart-slide .mini_cart_item_image img {
	width: 68px !important;
	height: 68px !important;
	object-fit: cover;
	border-radius: 10px;
}

body.axon-design-system .pls-minicart-slide .mini-cart-item-content {
	display: grid !important;
	min-width: 0;
	flex: 1 1 auto;
	gap: 8px !important;
}

body.axon-design-system .pls-minicart-slide .pls-mini-cart-item-title {
	display: flex !important;
	min-width: 0;
	align-items: flex-start !important;
	gap: 8px !important;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
}

body.axon-design-system .pls-minicart-slide .mini_cart_item_title {
	min-width: 0;
	flex: 1 1 auto;
}

body.axon-design-system .pls-minicart-slide .pls-mini-cart-item-data {
	display: block !important;
	min-width: 0;
}

body.axon-design-system .pls-minicart-slide .pls-mini-cart-item-quantity {
	display: flex !important;
	width: 100% !important;
	min-width: 0;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	margin: 0 !important;
}

body.axon-design-system .pls-minicart-slide .pls-mini-cart-item-quantity > .quantity {
	min-width: max-content;
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
}

body.axon-design-system .pls-minicart-slide .quantity {
	height: 38px !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border-color: rgba(255, 255, 255, .14) !important;
	color: #aec4d2 !important;
}

body.axon-design-system .pls-minicart-slide :where(.quantity input, .minus, .plus) {
	color: #eaf4fa !important;
}

body.axon-design-system .pls-minicart-slide .quantity :where(.minus, .plus),
body.axon-design-system .pls-minicart-slide :where(.remove, .remove_from_cart_button, .pls-remove-from-cart) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}

body.axon-design-system .pls-minicart-slide .quantity :where(.minus, .plus) {
	width: 34px !important;
	min-width: 34px !important;
	height: 36px !important;
	min-height: 36px !important;
}

body.axon-design-system .pls-minicart-slide .quantity input.qty {
	width: 34px !important;
	height: 36px !important;
	min-height: 36px !important;
	padding: 0 !important;
}

body.axon-design-system .pls-minicart-slide :where(.remove, .remove_from_cart_button, .pls-remove-from-cart) {
	width: 32px !important;
	min-width: 32px !important;
	height: 32px !important;
	min-height: 32px !important;
}

/* Note, shipping and coupon shortcuts duplicate the full cart/checkout flow
 * and consume a full row in the drawer. Remove both the triggers and their
 * dormant panels while preserving the canonical totals and checkout links. */
body.axon-design-system .pls-minicart-slide :where(.pls-minicart-action-btns, .pls-minicart-action-block) {
	display: none !important;
}

body.axon-design-system .pls-minicart-slide .minicart_table :where(th, td) {
	border-color: rgba(255, 255, 255, .08) !important;
	background: transparent !important;
}

body.axon-design-system .pls-minicart-slide .woocommerce-mini-cart__buttons a {
	min-height: 50px;
	border-radius: 999px;
}

body.axon-design-system .pls-minicart-slide .pls-freeshipping-bar .freeshipping-bar-msg {
	color: #eaf4fa !important;
}

body.axon-design-system .pls-minicart-slide .pls-freeshipping-bar .freeshipping-bar {
	overflow: hidden;
	border-radius: 999px;
	background: rgba(234, 244, 250, .2) !important;
}

body.axon-design-system .pls-minicart-slide .pls-freeshipping-bar .pls-progress-bar {
	border-radius: inherit;
	background: var(--axon-cyan-soft) !important;
	box-shadow: 0 0 10px rgba(142, 220, 247, .24);
}

body.axon-design-system .pls-minicart-slide .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout) {
	border-color: rgba(234, 244, 250, .78) !important;
	background: transparent !important;
	color: #eaf4fa !important;
}

body.axon-design-system .pls-minicart-slide .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):is(:hover, :focus-visible) {
	border-color: var(--axon-cyan-soft) !important;
	background: rgba(95, 199, 240, .1) !important;
	color: var(--axon-cyan-soft) !important;
}

body.axon-design-system .pls-minicart-slide .widget_shopping_cart_footer {
	padding: 16px !important;
}

/* Main cart: a consistent dark form, readable totals, and compact mobile flow. */
.axon-design-system.woocommerce-cart .wc_points_rewards_earn_points {
	min-height: 64px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.axon-design-system.woocommerce-cart .wc_points_rewards_earn_points .woocommerce-info {
	min-height: 64px;
	margin: 0 !important;
	padding: 14px 18px 14px 50px !important;
	border: 1px solid var(--axon-border) !important;
	border-radius: 14px !important;
	background: var(--axon-surface) !important;
	color: var(--axon-text-muted) !important;
	font-size: 14px;
	line-height: 1.5;
}

.axon-design-system.woocommerce-cart .wc_points_rewards_earn_points .woocommerce-info strong {
	color: var(--axon-cyan-soft) !important;
}

.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item {
	border-color: var(--axon-border) !important;
	background: transparent !important;
}

.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item .product-name {
	padding-right: 44px !important;
}

.axon-design-system.woocommerce-cart .woocommerce-cart-form__cart-item :where(.product-name a, .product-price, .product-subtotal, .amount, bdi) {
	color: var(--axon-text) !important;
}

.axon-design-system.woocommerce-cart .quantity {
	min-height: 44px;
	border: 1px solid var(--axon-border) !important;
	border-radius: 999px !important;
	background: var(--axon-surface) !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.axon-design-system.woocommerce-cart .quantity :where(input, .minus, .plus) {
	min-height: 42px;
	color: var(--axon-text) !important;
}

body.axon-design-system.woocommerce-cart .woocommerce-cart-form .quantity input[type="number"],
body.axon-design-system.woocommerce-cart .woocommerce-cart-form .quantity input[type="number"]:is(:hover, :focus, :focus-visible) {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: 0 !important;
	color: var(--axon-text) !important;
	caret-color: var(--axon-cyan-soft) !important;
	-webkit-text-fill-color: var(--axon-text) !important;
}

body.axon-design-system.woocommerce-cart .woocommerce-cart-form .quantity:focus-within {
	border-color: var(--axon-cyan) !important;
	box-shadow: 0 0 0 2px rgba(95, 199, 240, .16) !important;
	outline: 0 !important;
}

body.axon-design-system.woocommerce-cart .woocommerce-cart-form .quantity input[type="number"]::-webkit-inner-spin-button,
body.axon-design-system.woocommerce-cart .woocommerce-cart-form .quantity input[type="number"]::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.axon-design-system.woocommerce-cart .quantity :where(.minus, .plus) {
	display: inline-flex;
	width: 44px;
	min-width: 44px;
	height: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
}

.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions {
	border-top: 1px solid var(--axon-border) !important;
}

.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon {
	gap: 8px;
}

.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon input {
	min-height: 48px;
	border: 1px solid var(--axon-border) !important;
	border-radius: 10px !important;
	background: var(--axon-surface) !important;
	color: var(--axon-text) !important;
}

.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions :where(button, .button) {
	min-height: 48px;
	border: 1px solid rgba(142, 220, 247, .34) !important;
	border-radius: 999px !important;
	background: rgba(142, 220, 247, .06) !important;
	box-shadow: none !important;
	color: var(--axon-text) !important;
	font-weight: 700;
}

.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions :where(button, .button):is(:hover, :focus-visible) {
	border-color: rgba(142, 220, 247, .68) !important;
	background: rgba(142, 220, 247, .12) !important;
	color: var(--axon-cyan-soft) !important;
}

.axon-design-system.woocommerce-cart .cart_totals :where(.shop_table, tr, th, td) {
	border-color: var(--axon-border) !important;
	background: transparent !important;
}

.axon-design-system.woocommerce-cart .cart_totals :where(th, td, td::before, .woocommerce-shipping-destination, .woocommerce-shipping-calculator) {
	color: var(--axon-text-muted) !important;
}

.axon-design-system.woocommerce-cart .cart_totals :where(.amount, strong, bdi, a, label) {
	color: var(--axon-text) !important;
}

.axon-design-system.woocommerce-cart .cart_totals .order-total :where(th, td, .amount, strong, bdi) {
	color: var(--axon-cyan-soft) !important;
}

.axon-design-system.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	color: var(--axon-on-cyan) !important;
	font-weight: 750;
}

@media (min-width: 768px) {
	.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon {
		width: min(100%, 620px);
	}
}

@media (max-width: 767px) {
	body.axon-design-system .pls-minicart-slide {
		width: 100vw !important;
		max-width: none !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals,
	body.axon-design-system.woocommerce-cart .cart_totals {
		width: 100% !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	body.axon-design-system.woocommerce-cart .cart_totals {
		overflow: visible !important;
		padding: 0 !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals h2 {
		margin: 0 !important;
		padding: 0 0 12px !important;
		border: 0 !important;
		background: transparent !important;
		color: var(--axon-text) !important;
		font-size: clamp(20px, 6vw, 24px) !important;
		font-weight: 650 !important;
		line-height: 1.2 !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .shop_table,
	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .shop_table tbody {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-collapse: collapse !important;
		background: transparent !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr {
		display: grid !important;
		min-height: 0 !important;
		grid-template-columns: 86px minmax(0, 1fr) !important;
		gap: 12px;
		align-items: baseline !important;
		margin: 0 !important;
		padding: 10px 0 !important;
		border-bottom: 1px solid var(--axon-border) !important;
		background: transparent !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .shop_table :where(th, td) {
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: var(--axon-text-muted) !important;
		font-size: 13px !important;
		font-weight: 550 !important;
		line-height: 1.4 !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .shop_table td {
		min-width: 0;
		text-align: right !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .shop_table td::before {
		display: none !important;
		content: none !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .shop_table td :where(.amount, bdi, strong),
	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .shop_table td > .amount {
		color: var(--axon-text) !important;
		font-size: 15px !important;
		font-weight: 700 !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .shop_table .order-total th {
		color: var(--axon-text-muted) !important;
		font-size: 13px !important;
		font-weight: 650 !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .shop_table .order-total :where(td, .amount, bdi, strong) {
		color: var(--axon-cyan-soft) !important;
		font-size: 17px !important;
		font-weight: 750 !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-methods {
		margin: 0 0 5px;
		padding: 0;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals :where(.woocommerce-shipping-methods, .woocommerce-shipping-methods li, .woocommerce-shipping-methods label, .woocommerce-shipping-destination, .woocommerce-shipping-calculator, .shipping-calculator-button, p) {
		margin-top: 0 !important;
		margin-bottom: 4px !important;
		color: var(--axon-text-muted) !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-methods label :where(.amount, bdi) {
		color: var(--axon-text) !important;
		font-size: 14px !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout {
		position: static !important;
		margin: 0 !important;
		padding: 12px 0 0 !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout .checkout-button {
		display: flex !important;
		width: 100% !important;
		height: auto !important;
		min-height: 50px !important;
		align-items: center;
		justify-content: center;
		margin: 0 !important;
		padding: 10px 18px !important;
		border: 1px solid var(--axon-primary-button-border) !important;
		border-radius: 999px !important;
		background: var(--axon-primary-button) !important;
		box-shadow: var(--axon-primary-button-shadow) !important;
		color: var(--axon-on-cyan) !important;
		font-size: 14px !important;
		font-weight: 750 !important;
		line-height: 1.2 !important;
	}

	body.axon-design-system.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout .checkout-button:is(:hover, :focus-visible) {
		border-color: rgba(216, 247, 255, .86) !important;
		background: var(--axon-primary-button-hover) !important;
		box-shadow: var(--axon-primary-button-shadow-hover) !important;
		transform: translateY(-2px);
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon button {
		width: auto;
		min-width: 120px;
	}
}

@media (max-width: 420px) {
	.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon {
		grid-template-columns: 1fr;
	}

	.axon-design-system.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.axon-design-system .pls-minicart-slide,
	body.axon-design-system .pls-mask-overaly {
		transition: none;
	}
}
