/**
 * BlueGam Cart presentation.
 *
 * WooCommerce owns cart state, calculations, controls, and checkout routing.
 * The integration layer is responsible for enqueueing this stylesheet.
 */

.bg-cart-page {
	overflow-x: clip;
}

.bg-cart-header {
	border-block-end: 1px solid var(--wp--preset--color--border);
	display: grid;
	gap: var(--wp--preset--spacing--30);
	margin-block-end: var(--wp--preset--spacing--70);
	padding-block-end: var(--wp--preset--spacing--40);
}

.bg-cart-title,
.bg-cart-intro {
	margin-block: 0;
}

.bg-cart-title {
	max-inline-size: 22ch;
}

.bg-cart-intro {
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--typography--line-height--body);
	max-inline-size: 56ch;
}

.bg-cart-content,
.bg-cart-block,
.bg-cart-page :where(.wc-block-cart__main, .wc-block-cart__sidebar) {
	min-inline-size: 0;
}

.bg-cart-block {
	margin-block: 0;
}

.bg-cart-page .wc-block-components-sidebar-layout.wc-block-cart {
	align-items: flex-start;
	display: flex;
	flex-wrap: nowrap;
	gap: clamp(var(--wp--preset--spacing--40), 2vw, var(--wp--preset--spacing--60));
	margin-block: 0;
	padding-block-start: 0;
}

.bg-cart-page .wc-block-cart__main {
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--input);
	box-shadow: none;
	flex: 1 1 auto;
	overflow: hidden;
	padding: var(--wp--preset--spacing--40);
	width: auto;
}

.bg-cart-page .wc-block-cart__sidebar {
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--input);
	box-shadow: none;
	flex: 0 0 min(34%, 380px);
	padding: var(--wp--preset--spacing--40);
	position: sticky;
	inset-block-start: calc(72px + var(--wp--preset--spacing--40));
	width: auto;
}

.bg-cart-page table.wc-block-cart-items {
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	inline-size: 100%;
	margin: 0;
	table-layout: fixed;
}

.bg-cart-page table.wc-block-cart-items .wc-block-cart-items__header th {
	border-block-end: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 600;
	letter-spacing: 0;
	padding-block: 0 var(--wp--preset--spacing--30);
	padding-inline: 0 var(--wp--preset--spacing--30);
	text-align: start;
	text-transform: none;
}

.bg-cart-page table.wc-block-cart-items .wc-block-cart-items__header-image {
	inline-size: 96px;
}

.bg-cart-page table.wc-block-cart-items .wc-block-cart-items__header-total {
	inline-size: 108px;
	padding-inline-end: 0;
	text-align: end;
}

.bg-cart-page table.wc-block-cart-items .wc-block-cart-items__row td {
	border-block-start: 1px solid var(--wp--preset--color--border);
	padding-block: var(--wp--preset--spacing--40);
	padding-inline: 0 var(--wp--preset--spacing--30);
	vertical-align: top;
}

.bg-cart-page table.wc-block-cart-items .wc-block-cart-items__row:first-child td {
	border-block-start: 0;
}

.bg-cart-page table.wc-block-cart-items .wc-block-cart-item__image {
	padding-inline-end: var(--wp--preset--spacing--30);
}

.bg-cart-page .wc-block-cart-item__image a {
	border-radius: var(--wp--custom--radius--input);
	display: block;
	overflow: hidden;
}

.bg-cart-page .wc-block-cart-item__image img {
	aspect-ratio: 1;
	background-color: var(--wp--preset--color--surface-soft);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--input);
	display: block;
	inline-size: 80px;
	object-fit: contain;
	padding: var(--wp--preset--spacing--10);
}

.bg-cart-page .wc-block-cart-item__image > img[hidden] {
	display: none !important;
}

.bg-cart-page .wc-block-cart-item__wrap {
	gap: var(--wp--preset--spacing--10);
	min-inline-size: 0;
}

.bg-cart-page .wc-block-components-product-name {
	color: var(--wp--preset--color--text-primary);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	line-height: var(--wp--custom--typography--line-height--compact);
	overflow-wrap: anywhere;
	text-decoration: none;
}

.bg-cart-page .wc-block-components-product-name:hover {
	color: var(--wp--preset--color--primary-hover);
}

.bg-cart-page .wc-block-components-product-name:focus-visible,
.bg-cart-page .wc-block-cart-item__image a:focus-visible {
	border-radius: var(--wp--custom--radius--small);
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
}

.bg-cart-page .wc-block-components-product-metadata {
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: var(--wp--custom--typography--line-height--body);
	margin-block: 0;
}

.bg-cart-page .wc-block-components-product-metadata__description,
.bg-cart-page .wc-block-components-product-details {
	margin-block: 0;
}

.bg-cart-page .wc-block-components-product-metadata__description {
	display: none;
}

.bg-cart-page .wc-block-components-product-details {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
	list-style: none;
	padding: 0;
}

.bg-cart-page .wc-block-components-product-details > span {
	background-color: var(--wp--preset--color--blue-50);
	border-radius: var(--wp--custom--radius--small);
	display: inline-flex;
	gap: var(--wp--preset--spacing--10);
	margin: 0;
	padding: 4px 8px;
}

.bg-cart-page .wc-block-components-product-details__name,
.bg-cart-page .wc-block-components-product-details__value {
	margin: 0;
}

.bg-cart-page .wc-block-components-product-details__name {
	font-weight: 600;
}

.bg-cart-page :where(
	.wc-block-cart-item__prices,
	.wc-block-cart-item__total,
	.wc-block-components-product-price,
	.wc-block-components-formatted-money-amount
) {
	direction: ltr;
	unicode-bidi: isolate;
}

.bg-cart-page .wc-block-cart-item__prices {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--small);
}

.bg-cart-page .wc-block-cart-item__total {
	color: var(--wp--preset--color--text-primary);
	font-size: var(--wp--preset--font-size--heading-4);
	font-weight: 800;
	padding-inline-end: 0;
	text-align: end;
}

.bg-cart-page .wc-block-cart-item__quantity {
	align-items: center;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	margin-block-start: var(--wp--preset--spacing--10);
}

.bg-cart-page .wc-block-components-quantity-selector:where(:has(input:not([type="hidden"]))) {
	block-size: 40px;
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--input);
	box-shadow: none;
	inline-size: 120px;
	margin: 0;
	overflow: hidden;
}

.bg-cart-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
.bg-cart-page .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	block-size: 40px;
	inline-size: 40px;
	min-block-size: 40px;
	min-inline-size: 40px;
}

.bg-cart-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	border-radius: 0;
	color: var(--wp--preset--color--text-secondary);
}

.bg-cart-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) {
	background-color: var(--wp--preset--color--blue-50);
	color: var(--wp--preset--color--primary-hover);
}

.bg-cart-page .wc-block-components-quantity-selector :where(
	.wc-block-components-quantity-selector__button,
	.wc-block-components-quantity-selector__input
):focus-visible {
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--primary);
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: -2px;
}

.bg-cart-page .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
	align-items: center;
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--text-muted);
	display: inline-flex;
	inline-size: 40px;
	justify-content: center;
	min-block-size: 40px;
	min-inline-size: 40px;
	padding: var(--wp--preset--spacing--10);
	text-decoration: none;
}

.bg-cart-page .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover {
	background-color: color-mix(in srgb, var(--wp--preset--color--error) 7%, var(--wp--preset--color--surface));
	border-color: color-mix(in srgb, var(--wp--preset--color--error) 26%, var(--wp--preset--color--surface));
	color: var(--wp--preset--color--error);
}

.bg-cart-page .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.bg-cart-page .wc-block-cart__totals-title {
	color: var(--wp--preset--color--text-primary);
	font-size: var(--wp--preset--font-size--heading-4);
	font-weight: 700;
	line-height: var(--wp--custom--typography--line-height--compact);
	padding: 0;
	text-align: start;
	text-transform: none;
}

.bg-cart-page .wp-block-woocommerce-cart-order-summary-block {
	border-block-end: 1px solid var(--wp--preset--color--border);
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--custom--typography--line-height--body);
	margin-block-end: var(--wp--preset--spacing--30);
	padding-block-end: var(--wp--preset--spacing--30);
}

.bg-cart-page .wc-block-components-totals-item,
.bg-cart-page .wc-block-components-panel {
	color: var(--wp--preset--color--text-secondary);
	padding-inline: 0;
}

.bg-cart-page .wc-block-components-totals-item {
	padding-block: var(--wp--preset--spacing--20);
}

.bg-cart-page .wc-block-components-totals-wrapper {
	border-block-start-color: var(--wp--preset--color--border);
}

.bg-cart-page .wc-block-components-totals-item__label {
	font-weight: 500;
	text-align: start;
}

.bg-cart-page .wc-block-components-totals-item__value {
	color: var(--wp--preset--color--text-primary);
	font-weight: 600;
	text-align: end;
}

.bg-cart-page .wc-block-components-totals-footer-item {
	font-size: var(--wp--preset--font-size--heading-3);
	font-weight: 850;
}

.bg-cart-page .wc-block-components-panel__button {
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--text-secondary);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	min-block-size: 40px;
	padding-block: var(--wp--preset--spacing--20);
	text-align: start;
}

.bg-cart-page .wc-block-components-panel__button:hover {
	background-color: var(--wp--preset--color--surface-soft);
	color: var(--wp--preset--color--text-primary);
}

.bg-cart-page .wc-block-components-panel__button:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.bg-cart-page .wc-block-components-totals-coupon__form {
	gap: var(--wp--preset--spacing--20);
	padding-block-start: var(--wp--preset--spacing--20);
}

.bg-cart-page .wc-block-components-totals-coupon__input input {
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--input);
	box-sizing: border-box;
	block-size: 48px;
	font-family: inherit;
	min-block-size: 48px;
}

.bg-cart-page .wc-block-components-totals-coupon__button {
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--input);
	box-shadow: none;
	box-sizing: border-box;
	block-size: 48px;
	color: var(--wp--preset--color--text-primary);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	min-block-size: 48px;
}

.bg-cart-page .wc-block-components-totals-coupon__button:hover:not(:disabled) {
	background-color: var(--wp--preset--color--surface-soft);
	border-color: var(--wp--preset--color--border-strong);
	color: var(--wp--preset--color--text-primary);
}

.bg-cart-page .wc-block-cart__submit {
	margin-block: 0;
}

.bg-cart-page .wc-block-cart__submit-button {
	background-color: var(--wp--preset--color--primary);
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--radius--input);
	box-shadow: none;
	color: var(--wp--preset--color--surface);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--body);
	font-weight: 800;
	inline-size: 100%;
	min-block-size: 52px;
	padding-block: var(--wp--preset--spacing--30);
	padding-inline: var(--wp--preset--spacing--50);
}

.bg-cart-page .wc-block-cart__submit-button:hover:not([aria-disabled="true"]) {
	background-color: var(--wp--preset--color--primary-hover);
	border-color: var(--wp--preset--color--primary-hover);
	color: var(--wp--preset--color--surface);
}

.bg-cart-page .wc-block-cart__submit-button:active:not([aria-disabled="true"]) {
	background-color: var(--wp--preset--color--primary-active);
	border-color: var(--wp--preset--color--primary-active);
}

.bg-cart-page .wc-block-cart__submit-button:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
}

.bg-cart-trust-note {
	background-color: var(--wp--preset--color--surface-soft);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--input);
	color: var(--wp--preset--color--text-secondary);
	display: none;
	font-size: var(--wp--preset--font-size--caption);
	inline-size: min(34%, 380px);
	line-height: var(--wp--custom--typography--line-height--body);
	margin-block: var(--wp--preset--spacing--20) 0;
	margin-inline-start: auto;
	padding-block: var(--wp--preset--spacing--20);
	padding-inline: var(--wp--preset--spacing--30);
	text-align: center;
}

.bg-cart-block:has(.wc-block-cart:not(.wc-block-cart--skeleton)) + .bg-cart-trust-note {
	display: block;
}

.bg-cart-empty {
	margin-block: 0;
	min-block-size: 380px;
}

.bg-cart-empty__icon svg {
	block-size: var(--wp--preset--spacing--80);
	inline-size: var(--wp--preset--spacing--80);
}

.bg-cart-empty__title {
	font-size: var(--wp--preset--font-size--heading-3);
}

.bg-cart-empty__actions {
	margin-block-start: var(--wp--preset--spacing--20);
}

.bg-cart-empty__cta .wp-block-button__link {
	min-inline-size: 180px;
}

.bg-cart-page .wc-block-components-notice-banner {
	border-radius: var(--wp--custom--radius--input);
	font-family: inherit;
	line-height: var(--wp--custom--typography--line-height--body);
}

.bg-cart-page .wc-block-components-loading-mask {
	border-radius: var(--wp--custom--radius--input);
}

@container (max-width: 760px) {
	.bg-cart-page .wc-block-components-sidebar-layout.wc-block-cart {
		flex-direction: column;
		gap: var(--wp--preset--spacing--50);
	}

	.bg-cart-page .wc-block-cart__main,
	.bg-cart-page .wc-block-cart__sidebar {
		flex-basis: auto;
		inline-size: 100%;
		padding: var(--wp--preset--spacing--40);
		width: 100%;
	}

	.bg-cart-page .wc-block-cart__sidebar {
		margin-block: 0;
		order: 2;
		position: static;
	}

	.bg-cart-page .wc-block-cart__main {
		order: 1;
	}

	.bg-cart-page .wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title {
		display: block;
	}

	.bg-cart-trust-note {
		inline-size: 100%;
	}
}

@container (max-width: 520px) {
	.bg-cart-page .wc-block-cart__main,
	.bg-cart-page .wc-block-cart__sidebar {
		border-radius: var(--wp--custom--radius--input);
		padding: var(--wp--preset--spacing--30);
	}

	.bg-cart-page table.wc-block-cart-items .wc-block-cart-items__header {
		display: none;
	}

	.bg-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
		background-color: var(--wp--preset--color--surface);
		border: 1px solid var(--wp--preset--color--border);
		border-radius: var(--wp--custom--radius--card);
		box-sizing: border-box;
		column-gap: var(--wp--preset--spacing--30);
		grid-template-columns: 64px minmax(0, 1fr);
		inline-size: 100%;
		margin-block-end: var(--wp--preset--spacing--30);
		padding-inline: var(--wp--preset--spacing--30);
		padding-block: var(--wp--preset--spacing--30);
	}

	.bg-cart-page table.wc-block-cart-items .wc-block-cart-items__row td {
		padding-inline: 0;
	}

	.bg-cart-page table.wc-block-cart-items .wc-block-cart-item__image {
		grid-column: 1;
		padding-inline-end: 0;
	}

	.bg-cart-page .wc-block-cart-item__image img {
		inline-size: 64px;
	}

	.bg-cart-page table.wc-block-cart-items .wc-block-cart-item__product {
		grid-column: 2 / -1;
		padding-inline-start: 0;
	}

	.bg-cart-page table.wc-block-cart-items .wc-block-cart-item__total {
		grid-column: 2 / -1;
		justify-self: start;
		padding-block-start: var(--wp--preset--spacing--20);
		text-align: start;
	}

	.bg-cart-page .wc-block-cart-item__prices {
		display: none;
	}

	.bg-cart-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
		display: inline-flex;
	}

	.bg-cart-page .wc-block-components-totals-coupon__form {
		align-items: stretch;
		flex-direction: row;
	}

	.bg-cart-page .wc-block-components-totals-coupon__input {
		flex: 1 1 auto;
		min-inline-size: 0;
	}

	.bg-cart-page .wc-block-components-totals-coupon__button {
		flex: 0 0 auto;
		inline-size: auto;
	}
}

@media (max-width: 782px) {
	.bg-cart-trust-note {
		inline-size: 100%;
	}

	.bg-cart-page .wc-block-cart__submit-container--sticky {
		background-color: color-mix(in srgb, var(--wp--preset--color--surface) 96%, transparent);
		border-block-start: 1px solid var(--wp--preset--color--border);
		padding-block: var(--wp--preset--spacing--30) calc(var(--wp--preset--spacing--30) + env(safe-area-inset-bottom));
		padding-inline: var(--wp--custom--layout--container-padding--mobile);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
	}

	.bg-cart-page .wc-block-cart__submit-container--sticky::before {
		display: none;
	}
}

@media (max-width: 640px) {
	.bg-cart-header {
		margin-block-end: var(--wp--preset--spacing--60);
		padding-block-end: var(--wp--preset--spacing--40);
	}

	.bg-cart-intro {
		font-size: var(--wp--preset--font-size--body);
	}

	.bg-cart-empty {
		min-block-size: 320px;
		padding-inline: var(--wp--preset--spacing--40);
	}
}

@media (prefers-reduced-motion: reduce) {
	.bg-cart-page .wc-block-components-spinner,
	.bg-cart-page .wc-block-components-skeleton__element::after {
		animation: none;
	}
}
