/**
 * Commerce Auth Theme cart layout compatibility.
 *
 * The Commerce Auth Theme supplies the main ca-cart-* layout rules. This file
 * only covers the plugin-managed form controls that differ from the theme's
 * standard WooCommerce cart template.
 */

#ca-app-root .commerce-auth-theme-cart .ca-cart-page__inner {
	container-type: inline-size;
}

#ca-app-root .commerce-auth-theme-cart__actions {
	display: grid;
	justify-items: end;
	gap: 0.45rem;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-page__form.is-cart-busy {
	cursor: progress;
	opacity: 0.72;
	pointer-events: none;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-actions__status {
	max-width: 18rem;
	margin: 0;
	color: var(--ca-color-muted, var(--ca-muted));
	font-family: var(--ca-font-ui, var(--ca-font));
	font-size: var(--ca-text-xs, 0.78rem);
	font-weight: var(--ca-weight-semibold, 700);
	line-height: var(--ca-line-height-ui, 1.35);
	text-align: right;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-page__form.is-cart-dirty .ca-cart-actions__status {
	color: var(--ca-color-primary, var(--ca-accent));
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-item__remove button.remove {
	padding: 0;
	font-size: 0;
	line-height: 1;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-item__remove button.remove svg {
	width: 1rem;
	height: 1rem;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-item__quantity .quantity {
	display: grid;
	grid-template-columns: 2rem minmax(2.4rem, 1fr) 2rem;
	align-items: center;
	width: min(100%, 7.2rem);
	min-height: 2.25rem;
	margin: 0;
	overflow: hidden;
	background: var(--ca-input-bg, var(--ca-color-surface, #ffffff));
	border: var(--ca-border-width, 1px) solid color-mix(in srgb, var(--ca-input-border, var(--ca-color-border, rgba(15, 23, 42, 0.16))) 88%, var(--ca-color-text, #0f172a) 12%);
	border-radius: var(--ca-radius-sm, 6px);
	box-shadow: 0 0 0 var(--ca-border-width, 1px) color-mix(in srgb, var(--ca-input-border, var(--ca-color-border, rgba(15, 23, 42, 0.16))) 46%, transparent);
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-item__quantity input.qty::-webkit-outer-spin-button,
#ca-app-root .commerce-auth-theme-cart .ca-cart-item__quantity input.qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-item__quantity input.qty {
	-moz-appearance: textfield;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-item__quantity .qty {
	width: 100%;
	min-height: 2.25rem;
	padding: 0;
	color: var(--ca-color-text, var(--ca-heading));
	background: transparent;
	font-weight: var(--ca-weight-heavy, 800);
	text-align: center;
	line-height: 1;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-item__quantity .qty,
#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button,
#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button:hover,
#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button:focus,
#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button:active {
	border: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: 0;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button,
#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button:hover,
#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button:focus,
#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 2.25rem;
	padding: 0;
	color: var(--ca-color-text, var(--ca-heading)) !important;
	background: transparent !important;
	font-size: var(--ca-text-lg, 1rem);
	font-weight: var(--ca-weight-heavy, 800);
	line-height: 1;
	cursor: pointer;
	transform: none !important;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button:hover,
#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button:focus {
	color: var(--ca-color-primary, var(--ca-accent)) !important;
	background: color-mix(in srgb, var(--ca-color-primary, var(--ca-accent)) 8%, transparent) !important;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon {
	gap: var(--ca-space-3, 0.75rem);
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.5rem;
	align-items: stretch;
	overflow: visible;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon input {
	width: 100%;
	min-height: var(--ca-control-height, 42px);
	padding: 0 calc(var(--ca-space-4, 1rem) + 0.125rem);
	background: var(--ca-input-bg, var(--ca-color-surface, #ffffff));
	border: var(--ca-border-width, 1px) solid color-mix(in srgb, var(--ca-input-border, var(--ca-color-border, rgba(15, 23, 42, 0.16))) 88%, var(--ca-color-text, #0f172a) 12%);
	border-radius: var(--ca-radius-md, 8px);
	box-shadow: inset 0 0 0 var(--ca-border-width, 1px) color-mix(in srgb, var(--ca-input-border, var(--ca-color-border, rgba(15, 23, 42, 0.16))) 72%, transparent);
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon input:focus {
	border-color: var(--ca-input-border-focus, var(--ca-color-primary, #0f766e));
	box-shadow: 0 0 0 0.2rem var(--ca-focus-ring-color, color-mix(in srgb, var(--ca-color-primary, #0f766e) 18%, transparent));
	outline: 0;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon button,
#ca-app-root .commerce-auth-theme-cart .ca-cart-totals .checkout-button {
	min-height: var(--ca-control-height, 42px);
	padding-inline: calc(var(--ca-space-4, 1rem) + 0.35rem);
	border-radius: var(--ca-radius-md, 8px);
	font-size: var(--ca-text-md, 1rem);
	font-weight: var(--ca-weight-heavy, 800);
	line-height: var(--ca-line-height-ui, 1);
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon button {
	min-width: 7.5rem;
	white-space: nowrap;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-totals .checkout-button {
	width: 100%;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-summary-row__coupon-actions {
	display: grid;
	justify-items: end;
	gap: 0.35rem;
	max-width: 13rem;
	white-space: normal;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-summary-coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: flex-end;
	gap: 0.2rem 0.5rem;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-summary-coupon__remove {
	min-height: 0;
	padding: 0;
	color: var(--ca-color-primary, var(--ca-accent));
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-family: var(--ca-font-ui, var(--ca-font));
	font-size: var(--ca-text-xs, 0.78rem);
	font-weight: var(--ca-weight-heavy, 800);
	line-height: 1.25;
	text-decoration: underline;
	text-underline-offset: 0.18em;
	transform: none;
}

#ca-app-root .commerce-auth-theme-cart .ca-cart-summary-coupon__remove:hover,
#ca-app-root .commerce-auth-theme-cart .ca-cart-summary-coupon__remove:focus {
	color: var(--ca-color-error, var(--ca-danger));
	background: transparent;
	box-shadow: none;
	transform: none;
}

@media (max-width: 61.25rem) {
	#ca-app-root .commerce-auth-theme-cart__actions {
		justify-items: stretch;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-actions__status {
		max-width: none;
		text-align: left;
	}
}

@media (max-width: 40rem) {
	#ca-app-root .commerce-auth-theme-cart .ca-cart-summary-row__coupon-actions {
		max-width: 10.5rem;
	}
}

@container (max-width: 61.25rem) {
	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__layout {
		grid-template-columns: 1fr;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__summary {
		position: static;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-items__head {
		display: none;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item {
		grid-template-columns: 5.75rem minmax(0, 1fr) 2.1rem;
		align-items: start;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__details {
		grid-column: 2 / 3;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__quantity {
		grid-column: 2 / 3;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__remove {
		grid-column: 3;
		grid-row: 1;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-actions {
		grid-template-columns: 1fr;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon,
	#ca-app-root .commerce-auth-theme-cart .ca-cart-actions__update {
		width: 100%;
	}

	#ca-app-root .commerce-auth-theme-cart__actions {
		justify-items: stretch;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-actions__status {
		max-width: none;
		text-align: left;
	}
}

@container (max-width: 40rem) {
	#ca-app-root .commerce-auth-theme-cart.ca-cart-page,
	#ca-app-root .commerce-auth-theme-cart-empty.ca-cart-empty {
		padding-block-start: var(--ca-space-4);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__inner,
	#ca-app-root .commerce-auth-theme-cart-empty .ca-cart-empty__inner {
		width: min(100% - 1rem, var(--ca-container));
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__header {
		gap: var(--ca-space-1);
		margin-bottom: var(--ca-space-3);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__header > span,
	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__header p {
		display: none;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__title-row h1 {
		font-size: var(--ca-text-lg);
		text-transform: uppercase;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__continue {
		min-height: 2rem;
		padding: 0 var(--ca-space-3);
		font-size: var(--ca-text-xs);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__content,
	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__form {
		gap: var(--ca-space-3);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__form {
		padding: 0;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-shipping-meter {
		gap: var(--ca-space-2);
		padding: var(--ca-space-3);
		border-radius: var(--ca-radius-sm);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-shipping-meter__copy {
		display: grid;
		justify-items: center;
		text-align: center;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-shipping-meter__copy strong,
	#ca-app-root .commerce-auth-theme-cart .ca-cart-shipping-meter__copy span {
		font-size: var(--ca-text-sm);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-items {
		border-radius: var(--ca-radius-md);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item {
		grid-template-columns: 4.75rem minmax(0, 1fr) 2rem;
		gap: var(--ca-space-2) var(--ca-space-3);
		padding: var(--ca-space-3);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item:first-of-type {
		border-top: 0;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__media {
		grid-row: 1 / 3;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__details {
		grid-column: 2 / 3;
		gap: var(--ca-space-1);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__details h2 {
		font-size: var(--ca-text-sm);
		line-height: 1.3;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__meta {
		font-size: var(--ca-text-xs);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__price > span {
		display: none;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__price strong {
		font-size: var(--ca-text-sm);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__quantity {
		grid-column: 2 / 3;
		grid-row: 2;
		align-self: end;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__quantity .quantity {
		width: 6.45rem;
		min-height: 2rem;
		grid-template-columns: 1.8rem minmax(2rem, 1fr) 1.8rem;
		border-radius: var(--ca-radius-sm, 6px);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__quantity .qty,
	#ca-app-root .commerce-auth-theme-cart .ca-cart-quantity__button {
		min-height: 2rem;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__remove {
		grid-column: 3;
		grid-row: 1;
		align-self: start;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-item__remove .remove {
		width: 2rem;
		height: 2rem;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		border: 0;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon > div {
		grid-template-columns: 1fr auto;
		gap: 0.5rem;
		border-radius: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon input {
		min-height: var(--ca-control-height);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-coupon button {
		min-height: var(--ca-control-height);
		padding-inline: calc(var(--ca-space-4, 1rem) + 0.2rem);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-page__summary {
		position: sticky;
		bottom: 0;
		z-index: 30;
		gap: var(--ca-space-2);
		margin-inline: -0.5rem;
		padding: var(--ca-space-3) 0.75rem calc(var(--ca-space-3) + env(safe-area-inset-bottom));
		background: color-mix(in srgb, var(--ca-color-surface) 96%, transparent);
		border-radius: var(--ca-radius-md) var(--ca-radius-md) 0 0;
		box-shadow: 0 -1rem 2.4rem rgba(15, 23, 42, 0.12);
		backdrop-filter: blur(14px);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals {
		gap: var(--ca-space-2);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals__eyebrow {
		display: none;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals__toggle {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: var(--ca-space-2);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals__label {
		overflow: hidden;
		font-size: var(--ca-text-sm);
		text-overflow: ellipsis;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals__amount {
		justify-self: end;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals__amount strong {
		font-size: var(--ca-text-lg);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals__head p {
		justify-self: end;
		font-size: var(--ca-text-sm);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals__details {
		max-height: 60vh;
		overflow: auto;
		opacity: 1;
		visibility: visible;
		transition:
			max-height var(--ca-duration-normal) var(--ca-ease-standard),
			opacity var(--ca-duration-fast) var(--ca-ease-standard),
			visibility var(--ca-duration-fast) var(--ca-ease-standard);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals:not(.is-expanded) .ca-cart-totals__details,
	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals.is-collapsed .ca-cart-totals__details {
		max-height: 0;
		opacity: 0;
		visibility: hidden;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-summary-row {
		padding: 0.5rem 0;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-summary-row--grand span,
	#ca-app-root .commerce-auth-theme-cart .ca-cart-summary-row--grand strong {
		font-size: var(--ca-text-md);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-totals .checkout-button {
		min-height: var(--ca-control-height);
		border-radius: var(--ca-radius-md);
		font-size: var(--ca-text-md);
		padding-inline: calc(var(--ca-space-4, 1rem) + 0.2rem);
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-trust {
		display: none;
	}

	#ca-app-root .commerce-auth-theme-cart .ca-cart-summary-row__coupon-actions {
		max-width: 10.5rem;
	}
}
