/*
 * Commerce track: cart drawer + cart page (one markup source: PC\Commerce\Cart_View).
 * Values come from tokens.css (--pc-cart-*). Breakpoints: 1100 / 850 / 620 / 370 (max-width),
 * plus the documented short-landscape height query (max-height: 500px) for the drawer.
 */

/* ---------- Page frame ---------- */
.pc-cart-page { padding-block: var(--pc-space-6) var(--pc-space-12); }
.pc-cart .pc-breadcrumbs { margin-bottom: var(--pc-space-6); }
.pc-cart__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--pc-space-4); margin-bottom: var(--pc-space-6); }
.pc-cart__title { margin: 0; font-size: var(--pc-cart-title-size); line-height: var(--pc-leading-heading); letter-spacing: var(--pc-tracking-display); }
.pc-cart__meta { margin: var(--pc-space-2) 0 0; color: var(--pc-color-muted); font-size: var(--pc-text-base); }
.pc-cart__meta:empty { display: none; }
.pc-cart__continue { flex-shrink: 0; min-height: var(--pc-control-height); }
.pc-cart__wc-notices { margin-bottom: var(--pc-space-4); font-size: var(--pc-text-sm); }
.pc-cart__wc-notices :where(ul) { margin: 0; padding: var(--pc-space-3) var(--pc-space-4); list-style: none; background: var(--pc-color-soft); border-left: calc(var(--pc-border-width) * 3) solid var(--pc-color-ink); }
.pc-cart__region[aria-busy="true"] .pc-cart-summary { opacity: 0.72; transition: opacity var(--pc-motion-ui) var(--pc-ease-standard); }

.pc-cart__layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--pc-cart-summary-width); gap: var(--pc-cart-column-gap); align-items: start; }
.pc-cart__main { min-width: 0; }
.pc-cart__form { margin: 0; }
.pc-cart__nojs { margin: var(--pc-space-4) 0 0; }
.pc-cart__errors,
.pc-cart__unavailable { margin-bottom: var(--pc-space-4); }
/* Lines WooCommerce removed because their stock is being confirmed (review round 3, R3-4): one message each. */
.pc-cart-removed { display: grid; gap: var(--pc-space-2); padding-bottom: var(--pc-space-4); }
.pc-cart-removed__body { display: grid; gap: var(--pc-space-1); min-width: 0; }
.pc-cart-removed__actions { display: flex; flex-wrap: wrap; gap: 0 var(--pc-space-4); }
.pc-cart-removed__actions .pc-link { min-height: var(--pc-control-height); }

/* ---------- Status line (undo, merge, coupon messages) ---------- */
.pc-cart-status { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--pc-space-2) var(--pc-space-4); margin-bottom: var(--pc-space-4); padding: var(--pc-space-3) var(--pc-space-4); background: var(--pc-color-soft); border-left: calc(var(--pc-border-width) * 3) solid var(--pc-color-ink); font-size: var(--pc-text-sm); line-height: var(--pc-leading-body); }
.pc-cart-status p { margin: 0; min-width: 0; flex: 1 1 12rem; }
.pc-cart-status .pc-link { min-height: var(--pc-control-height-compact); }

/* ---------- Build sheet ---------- */
.pc-cart-sheet { border: var(--pc-border-width) solid var(--pc-color-line); background: var(--pc-color-surface); }
.pc-cart-sheet__head { position: relative; padding: var(--pc-cart-sheet-padding-block) var(--pc-cart-row-padding-inline); background: var(--pc-color-ink); color: var(--pc-color-inverse); }
.pc-cart-sheet__eyebrow { margin: 0; color: var(--pc-color-inverse-muted); font-size: var(--pc-text-xs); font-weight: var(--pc-weight-bold); letter-spacing: var(--pc-tracking-label); text-transform: uppercase; }
.pc-cart-sheet__title { margin: var(--pc-space-1) 0 0; padding-right: var(--pc-space-12); font-size: var(--pc-cart-vehicle-size); line-height: var(--pc-leading-heading); letter-spacing: var(--pc-tracking-heading); }
.pc-cart-sheet__title:focus { outline: none; }
.pc-cart-sheet__title:focus-visible { outline: var(--pc-focus-width) solid var(--pc-color-inverse); outline-offset: var(--pc-focus-offset); }
.pc-cart-sheet__chassis { position: absolute; right: var(--pc-cart-row-padding-inline); bottom: var(--pc-cart-sheet-padding-block); color: var(--pc-color-inverse-muted); font-size: var(--pc-text-sm); }
.pc-cart-group + .pc-cart-group { border-top: var(--pc-border-width) solid var(--pc-color-line-strong); }
.pc-cart-group__title { display: flex; align-items: center; gap: var(--pc-space-2); margin: 0; padding: var(--pc-space-3) var(--pc-cart-row-padding-inline); background: var(--pc-color-soft); font-size: var(--pc-text-sm); line-height: var(--pc-leading-compact); letter-spacing: 0; }
.pc-cart-group__title > span { min-width: 0; }
.pc-cart-lines { margin: 0; padding: 0; list-style: none; }

/* ---------- Line ---------- */
.pc-cart-line {
	display: grid;
	grid-template-columns: var(--pc-cart-image-size) minmax(0, 1fr);
	gap: var(--pc-cart-row-gap);
	padding: var(--pc-cart-row-padding-block) var(--pc-cart-row-padding-inline);
	border-top: var(--pc-border-width) solid var(--pc-color-line);
	transition: opacity var(--pc-motion-ui) var(--pc-ease-standard);
}
.pc-cart-lines > .pc-cart-line:first-child:where(.pc-cart-sheet--single *, .pc-cart-sheet--none *) { border-top: 0; }
.pc-cart-line[aria-busy="true"] { opacity: 0.6; }
.pc-cart-line__media { position: relative; display: grid; place-items: center; width: var(--pc-cart-image-size); height: var(--pc-cart-image-size); overflow: hidden; background: var(--pc-product-media-surface); color: var(--pc-color-muted); }
.pc-cart-line__img { width: 100%; height: 100%; padding: var(--pc-space-1); object-fit: contain; }
.pc-cart-line__num { position: absolute; top: var(--pc-space-1); left: var(--pc-space-2); color: var(--pc-color-muted); font-size: var(--pc-text-xs); font-variant-numeric: tabular-nums; }
.pc-cart-line__body { min-width: 0; }
.pc-cart-line__brand { margin: 0; color: var(--pc-color-muted); font-size: var(--pc-text-xs); font-weight: var(--pc-weight-bold); letter-spacing: var(--pc-tracking-label); text-transform: uppercase; }
.pc-cart-line__name { margin: var(--pc-space-1) 0 0; font-size: var(--pc-cart-item-title); font-weight: var(--pc-weight-bold); line-height: var(--pc-leading-compact); overflow-wrap: anywhere; }
.pc-cart-line__name a { color: inherit; text-decoration: none; }
.pc-cart-line__name a:hover { text-decoration: underline; }
.pc-cart-line__ids { margin: var(--pc-space-1) 0 var(--pc-space-2); color: var(--pc-color-muted); font-size: var(--pc-text-xs); overflow-wrap: anywhere; }

.pc-cart-spec { margin: 0; }
.pc-cart-spec__row { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); align-items: center; gap: var(--pc-space-2); padding: var(--pc-cart-meta-padding-block) 0; border-top: var(--pc-border-width) solid var(--pc-color-line); font-size: var(--pc-text-sm); line-height: var(--pc-leading-body); }
.pc-cart-spec__row dt { color: var(--pc-color-muted); }
.pc-cart-spec__row dd { min-width: 0; margin: 0; }
.pc-cart-spec__fit { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pc-space-1) var(--pc-space-3); }
.pc-cart-spec__fit .pc-fit { font-size: inherit; }
.pc-cart-spec__evidence { flex: 1 1 100%; order: 1; min-width: 0; padding-left: calc(var(--pc-icon-sm) + var(--pc-space-2)); color: var(--pc-color-muted); font-size: var(--pc-text-xs); line-height: var(--pc-leading-body); overflow-wrap: anywhere; }
.pc-cart-spec .pc-availability { display: inline; margin: 0; font-size: inherit; }
.pc-cart-spec .pc-availability > span + span::before { content: " · "; color: var(--pc-color-muted); }
.pc-cart-vehicle { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: var(--pc-space-1) var(--pc-space-3); }
.pc-cart-vehicle__label { display: inline-flex; align-items: flex-start; gap: var(--pc-space-2); min-width: 0; flex: 1 1 auto; }
.pc-cart-vehicle__edit { flex: none; }
.pc-cart-vehicle__label > .pc-icon { margin-top: 0.15em; }
.pc-cart-vehicle__label--none { color: var(--pc-color-muted); }
.pc-cart-vehicle__edit,
.pc-cart-spec__fit .pc-link { position: relative; min-height: var(--pc-control-height-compact); }
/* 44 x 44 effective target for the in-line vehicle controls (S3-8) without growing the row: the hit area extends past the 36px box. */
.pc-cart-vehicle__edit::after,
.pc-cart-spec__fit .pc-link::after { content: ""; position: absolute; inset: min(0px, calc((100% - var(--pc-control-height)) / 2)); } /* per axis: only ever grows the area */
.pc-cart-vehicle-editor { display: grid; gap: var(--pc-space-2); margin: var(--pc-space-2) 0; padding: var(--pc-space-4); border: var(--pc-border-width) solid var(--pc-color-line); background: var(--pc-color-soft); }
.pc-cart-vehicle-editor[hidden] { display: none; }
.pc-cart-vehicle-editor__actions { display: flex; flex-wrap: wrap; gap: var(--pc-space-2); }

.pc-cart-line__notice { display: flex; align-items: flex-start; gap: var(--pc-space-2); margin: var(--pc-space-2) 0 0; color: var(--pc-color-muted); font-size: var(--pc-text-xs); line-height: var(--pc-leading-body); }
.pc-cart-line__notice--error { color: var(--pc-color-error); }
.pc-cart-line__notice > .pc-icon { margin-top: 0.1em; }
.pc-cart-line__error { margin-top: var(--pc-space-2); }
.pc-cart-line__error[hidden] { display: none; }

.pc-cart-line__bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--pc-space-3) var(--pc-space-4); margin-top: var(--pc-cart-actions-gap); }
.pc-cart-line__edit { display: flex; align-items: center; gap: var(--pc-space-4); }
.pc-cart-line__remove { min-height: var(--pc-control-height); }
.pc-cart-line__price { flex: none; margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.pc-cart-line__price strong { display: block; font-size: var(--pc-text-lg); }
.pc-cart-line__price small { display: block; color: var(--pc-color-muted); font-size: var(--pc-text-xs); }

/* Quantity stepper: 44px targets. */
.pc-qty { display: inline-flex; align-items: stretch; height: var(--pc-control-height); border: var(--pc-border-width) solid var(--pc-color-field-border); border-radius: var(--pc-radius-sm); background: var(--pc-color-surface); }
.pc-qty__btn { display: grid; place-items: center; width: var(--pc-control-height); padding: 0; border: 0; background: none; color: var(--pc-color-ink); cursor: pointer; }
.pc-qty__btn:hover:not(:disabled) { background: var(--pc-color-hover); }
.pc-qty__btn:disabled { color: var(--pc-color-line-strong); cursor: not-allowed; }
.pc-qty__input { width: 3rem; min-width: 0; padding: 0; border: 0; background: transparent; color: var(--pc-color-ink); font: inherit; font-size: var(--pc-text-base); text-align: center; font-variant-numeric: tabular-nums; -moz-appearance: textfield; appearance: textfield; }
.pc-qty__input::-webkit-inner-spin-button,
.pc-qty__input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.pc-qty__input:focus-visible { outline: var(--pc-focus-width) solid var(--pc-color-focus); outline-offset: 0; }
.pc-qty__input[aria-invalid="true"] { color: var(--pc-color-error); }
:root.pc-no-js .pc-qty__input { width: 4rem; }
.pc-qty--fixed { align-items: center; padding-inline: var(--pc-space-3); border-color: transparent; font-size: var(--pc-text-sm); }

/* ---------- Notes ---------- */
.pc-cart__notes { display: grid; gap: var(--pc-space-2); margin-top: var(--pc-space-5); }
.pc-cart__note { display: flex; align-items: flex-start; gap: var(--pc-space-2); margin: 0; color: var(--pc-color-muted); font-size: var(--pc-text-sm); line-height: var(--pc-leading-body); }
.pc-cart__note > .pc-icon { margin-top: 0.2em; }

/* ---------- Summary ---------- */
.pc-cart-summary { position: sticky; top: calc(var(--pc-header-sticky-offset, 0px) + var(--pc-header-height, 4.5rem) + var(--pc-space-6)); padding: var(--pc-space-7); border: var(--pc-border-width) solid var(--pc-color-line); background: var(--pc-color-soft); }
.pc-cart-summary__title { margin: 0 0 var(--pc-space-5); font-size: var(--pc-heading-section); line-height: var(--pc-leading-heading); letter-spacing: var(--pc-tracking-heading); }
.pc-cart-meter { margin-bottom: var(--pc-space-5); }
.pc-cart-meter__text { display: flex; align-items: center; gap: var(--pc-space-2); margin: 0 0 var(--pc-space-2); font-size: var(--pc-text-sm); }
.pc-cart-meter__text > span { flex: 1; min-width: 0; }
.pc-cart-meter__bar { height: var(--pc-cart-meter-height); overflow: hidden; background: var(--pc-color-disabled); }
.pc-cart-meter__bar > span { display: block; height: 100%; background: var(--pc-color-ink); transition: width var(--pc-motion-ui) var(--pc-ease-standard); }
.pc-cart-meter__rule { margin: var(--pc-space-2) 0 0; color: var(--pc-color-muted); font-size: var(--pc-text-xs); }
.pc-cart-totals { display: grid; gap: var(--pc-space-3); margin: 0 0 var(--pc-space-5); font-size: var(--pc-text-sm); }
.pc-cart-totals__row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--pc-space-1) var(--pc-space-3); }
.pc-cart-totals__row dt { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: var(--pc-space-1) var(--pc-space-2); }
.pc-cart-totals__row dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.pc-cart-totals__muted { color: var(--pc-color-muted); }
.pc-cart-totals__code { padding: 0 var(--pc-space-1); border: var(--pc-border-width) solid var(--pc-color-line-strong); border-radius: var(--pc-radius-sm); font-size: var(--pc-text-xs); letter-spacing: var(--pc-tracking-label); }
.pc-cart-totals__row--strong { font-size: var(--pc-text-lg); font-weight: var(--pc-weight-bold); }
.pc-cart-coupon { margin-bottom: var(--pc-space-5); border-block: var(--pc-border-width) solid var(--pc-color-line); font-size: var(--pc-text-sm); }
.pc-cart-coupon__summary { display: flex; align-items: center; justify-content: space-between; gap: var(--pc-space-3); min-height: var(--pc-control-height); cursor: pointer; list-style: none; }
.pc-cart-coupon__summary::-webkit-details-marker { display: none; }
.pc-cart-coupon[open] .pc-cart-coupon__summary .pc-icon { transform: rotate(45deg); }
.pc-cart-coupon__form { display: grid; gap: var(--pc-space-2); padding-bottom: var(--pc-space-4); }
.pc-cart-coupon__row { display: flex; gap: var(--pc-space-2); }
.pc-cart-coupon__row .pc-input { flex: 1; min-width: 0; text-transform: uppercase; }
.pc-cart-coupon .pc-field__error[hidden] { display: none; }
.pc-cart-total { display: flex; align-items: baseline; justify-content: space-between; gap: var(--pc-space-3); font-size: var(--pc-text-base); }
.pc-cart-total strong { font-size: var(--pc-checkout-total-size); letter-spacing: var(--pc-tracking-heading); font-variant-numeric: tabular-nums; }
.pc-cart-total__note { margin: var(--pc-space-2) 0 var(--pc-space-5); color: var(--pc-color-muted); font-size: var(--pc-text-xs); }
.pc-cart-checkout { justify-content: space-between; min-height: var(--pc-cart-checkout-height); font-size: var(--pc-text-base); }
.pc-cart-finance { margin: var(--pc-space-4) 0 0; color: var(--pc-color-muted); font-size: var(--pc-text-xs); line-height: 1.8; text-align: center; }
.pc-cart-finance strong { color: var(--pc-color-ink); }
.pc-cart-summary__help { display: flex; align-items: flex-start; gap: var(--pc-space-3); margin-top: var(--pc-space-6); padding-top: var(--pc-space-5); border-top: var(--pc-border-width) solid var(--pc-color-line); font-size: var(--pc-text-sm); line-height: var(--pc-leading-body); }
.pc-cart-summary__help p { margin: 0; }

/* ---------- Empty ---------- */
.pc-cart-empty { display: grid; justify-items: center; gap: var(--pc-space-3); padding: var(--pc-space-16) var(--pc-space-4); border-block: var(--pc-border-width) solid var(--pc-color-line); color: var(--pc-color-ink); text-align: center; }
.pc-cart-empty > .pc-icon { color: var(--pc-color-muted); }
.pc-cart-empty__title { margin: 0; font-size: var(--pc-heading-section); letter-spacing: var(--pc-tracking-heading); }
.pc-cart-empty__title:focus { outline: none; }
.pc-cart-empty__text { max-width: 30rem; margin: 0; color: var(--pc-color-muted); font-size: var(--pc-text-sm); }
.pc-cart-empty__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--pc-space-3) var(--pc-space-5); margin-top: var(--pc-space-2); }

/* ---------- Phone sticky total (cart page) ---------- */
.pc-cart-sticky { display: none; }
@media (max-width: 620px) {
	.pc-cart-sticky:not([hidden]) {
		position: fixed;
		inset: auto 0 0;
		z-index: var(--pc-z-header);
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--pc-space-3);
		padding: var(--pc-space-3) var(--pc-page-gutter) calc(var(--pc-space-3) + env(safe-area-inset-bottom));
		border-top: var(--pc-border-width) solid var(--pc-color-line);
		background: var(--pc-color-surface);
		box-shadow: 0 -0.25rem 1rem rgb(0 0 0 / 8%);
	}
	:root.pc-cart-sticky-on { scroll-padding-bottom: calc(var(--pc-cart-checkout-height) + var(--pc-space-8)); }
	:root.pc-cart-sticky-on .pc-footer-part { padding-bottom: calc(var(--pc-cart-checkout-height) + var(--pc-space-6)); }
}
.pc-cart-sticky__total { display: grid; margin: 0; font-size: var(--pc-text-xs); color: var(--pc-color-muted); }
.pc-cart-sticky__total strong { color: var(--pc-color-ink); font-size: var(--pc-text-lg); font-variant-numeric: tabular-nums; }
.pc-cart-sticky__checkout { min-height: var(--pc-control-height); gap: var(--pc-space-4); }

/* ---------- Drawer ---------- */
.pc-cart-drawer {
	inset: 0 0 auto auto;
	width: min(var(--pc-cart-drawer-width), 100%);
	height: auto;
	max-height: min(100dvh, var(--pc-cart-drawer-max-height));
	overflow: hidden;
	border: 0;
	border-left: var(--pc-border-width) solid var(--pc-color-line);
	border-radius: 0;
	box-shadow: var(--pc-shadow-dropdown);
}
.pc-cart-drawer[open] { display: flex; flex-direction: column; animation-name: pc-cart-drawer-enter; }
@keyframes pc-cart-drawer-enter {
	from { transform: translateX(var(--pc-space-4)); opacity: 0; }
	to { transform: none; opacity: 1; }
}
.pc-cart-drawer__head { display: flex; flex: none; align-items: center; justify-content: space-between; gap: var(--pc-space-4); padding: var(--pc-space-2) var(--pc-space-3) var(--pc-space-2) var(--pc-space-5); border-bottom: var(--pc-border-width) solid var(--pc-color-line); }
.pc-cart-drawer__title { margin: 0; font-size: var(--pc-text-lg); letter-spacing: var(--pc-tracking-heading); }
.pc-cart-drawer__count { color: var(--pc-color-muted); font-weight: var(--pc-weight-regular); }
.pc-cart-drawer .pc-cart-status { flex: none; margin: var(--pc-space-3) var(--pc-space-5) 0; }
.pc-cart-drawer__region { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
.pc-cart-drawer__body { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: var(--pc-space-4) var(--pc-space-5); }
.pc-cart-drawer__foot { flex: none; padding: var(--pc-space-4) var(--pc-space-5) calc(var(--pc-space-5) + env(safe-area-inset-bottom)); border-top: var(--pc-border-width) solid var(--pc-color-line); background: var(--pc-color-surface); }
.pc-cart-drawer__foot .pc-cart-meter { margin-bottom: var(--pc-space-3); }
.pc-cart-drawer__foot .pc-cart-totals { margin-bottom: var(--pc-space-1); gap: var(--pc-space-2); }
.pc-cart-drawer__foot .pc-cart-total__note { margin: 0 0 var(--pc-space-3); }
.pc-cart-drawer__actions { display: grid; gap: var(--pc-space-2); }
.pc-cart-drawer .pc-cart-line { grid-template-columns: var(--pc-cart-drawer-image-size) minmax(0, 1fr); gap: var(--pc-space-3); padding: var(--pc-cart-row-padding-block) var(--pc-space-4); }
.pc-cart-drawer .pc-cart-line__media { width: var(--pc-cart-drawer-image-size); height: var(--pc-cart-drawer-image-size); }
.pc-cart-drawer .pc-cart-line__name { font-size: var(--pc-text-base); }
.pc-cart-drawer .pc-cart-sheet__head { padding: var(--pc-space-3) var(--pc-space-4); }
.pc-cart-drawer .pc-cart-sheet__chassis { right: var(--pc-space-4); bottom: var(--pc-space-3); }
.pc-cart-drawer .pc-cart-sheet__title { font-size: var(--pc-text-xl); }
.pc-cart-drawer .pc-cart-group__title { padding-inline: var(--pc-space-4); }
.pc-cart-drawer .pc-cart-line__bottom { flex-wrap: wrap; }
.pc-cart-drawer .pc-cart-line__edit { gap: var(--pc-space-3); }
.pc-cart-drawer .pc-cart__notes { margin-top: var(--pc-space-4); }
.pc-cart-drawer .pc-cart-empty { padding-block: var(--pc-space-12); border: 0; }
.pc-cart-skeleton { display: grid; gap: var(--pc-space-2); padding-block: var(--pc-space-4); }
.pc-cart-skeleton .pc-skeleton:nth-child(2) { width: 80%; }
.pc-cart-skeleton .pc-skeleton:nth-child(3) { width: 60%; }

/* Phones: full-screen drawer. Items scroll and the totals + Checkout stay fixed at the bottom (the prototype's
   "long carts retain access to actions"; at 390x844 one added item used to push Checkout below the screen). */
@media (max-width: 620px) {
	.pc-cart-drawer { width: 100%; max-height: 100dvh; height: 100dvh; border-left: 0; }
}
/* Short screens (landscape phones): too little height for a fixed footer, so items and actions share one
   scroller and the actions never cover items. */
@media (max-height: 500px) {
	.pc-cart-drawer { width: 100%; max-height: 100dvh; height: 100dvh; border-left: 0; }
	.pc-cart-drawer__region { display: block; overflow: auto; overscroll-behavior: contain; }
	.pc-cart-drawer__body { overflow: visible; }
	.pc-cart-drawer__foot { border-top-color: var(--pc-color-line); }
}
@media (max-height: 500px) and (min-width: 621px) {
	.pc-cart-drawer { width: min(var(--pc-cart-drawer-width), 100%); border-left: var(--pc-border-width) solid var(--pc-color-line); }
}

/* ---------- Responsive (page) ---------- */
@media (max-width: 1100px) {
	.pc-cart__layout { gap: var(--pc-space-8); }
}
@media (max-width: 850px) {
	.pc-cart__layout { grid-template-columns: minmax(0, 1fr); }
	.pc-cart-summary { position: static; }
}
@media (max-width: 620px) {
	.pc-cart-page { padding-top: var(--pc-space-5); }
	.pc-cart__heading { flex-direction: column; align-items: flex-start; gap: var(--pc-space-3); }
	.pc-cart-line,
	.pc-cart-drawer .pc-cart-line { grid-template-columns: var(--pc-cart-drawer-image-size) minmax(0, 1fr); gap: var(--pc-space-3); padding-inline: var(--pc-space-3); }
	.pc-cart-line__media,
	.pc-cart-drawer .pc-cart-line__media { width: var(--pc-cart-drawer-image-size); height: var(--pc-cart-drawer-image-size); }
	/* Spec rows, quantity and price span the whole card under the image/title. */
	.pc-cart-line__body { display: contents; }
	.pc-cart-line__media { grid-row: 1 / span 3; }
	.pc-cart-line__brand,
	.pc-cart-line__name,
	.pc-cart-line__ids { grid-column: 2; }
	.pc-cart-spec,
	.pc-cart-line__notice,
	.pc-cart-line__error,
	.pc-cart-line__bottom { grid-column: 1 / -1; }
	.pc-cart-line__brand + .pc-cart-line__name { margin-top: 0; }
	.pc-cart-line__name { font-size: var(--pc-text-base); }
	.pc-cart-spec__row { grid-template-columns: 2.5rem minmax(0, 1fr); }
	.pc-cart-line__bottom { flex-wrap: wrap; }
	.pc-cart-line__edit { flex: 1 1 auto; justify-content: space-between; }
	.pc-cart-line__price { flex: 1 1 100%; display: flex; align-items: baseline; flex-direction: row-reverse; justify-content: space-between; gap: var(--pc-space-2); }
	.pc-cart-sheet__head,
	.pc-cart-group__title { padding-inline: var(--pc-space-3); }
	.pc-cart-sheet__chassis { right: var(--pc-space-3); }
	.pc-cart-summary { padding: var(--pc-space-5); }
}
@media (max-width: 370px) {
	.pc-cart-line__edit { gap: var(--pc-space-2); }
	.pc-qty__btn { width: var(--pc-control-height); }
	.pc-qty__input { width: 2.5rem; }
	.pc-cart-coupon__row { flex-direction: column; }
}

/* Touch (Pass 4 S4): the cart's small text controls get a 44px hit area without moving the layout
   (min-height offset by an equal negative margin), as breadcrumbs do in components.css. */
@media (pointer: coarse) {
	.pc-cart-line [data-pc-cart-control="vehicle-edit"],
	.pc-cart-line [data-pc-cart-control="vehicle-choose"],
	.pc-cart-summary__help .pc-link {
		display: inline-flex;
		align-items: center;
		min-height: var(--pc-control-height);
		margin-block: calc((1lh - var(--pc-control-height)) / 2);
	}
}
