/**
 * Apex Cart Drawer 1.2.8 — all selectors .apex-cd- prefixed (B1: JS-toggled
 * state classes included, so the single RUCSS include-substring ".apex-cd"
 * plus "#apex-cart-drawer" keeps every rule alive).
 * Brand tokens: Astra vars with pinned fallbacks; Inter; 4px control radius,
 * #005EE9 CTAs, navy #0F172A ink (theme convention — R7 decision).
 */

#apex-cart-drawer, .apex-cd-overlay {
	--apex-cd-accent: var(--ast-global-color-0, #0067FF);
	--apex-cd-action: var(--ast-global-color-1, #005EE9);
	--apex-cd-ink: var(--ast-global-color-2, #0F172A);
	--apex-cd-body: var(--ast-global-color-3, #364151);
	--apex-cd-icetint: var(--ast-global-color-4, #E7F6FF);
	--apex-cd-border: var(--ast-global-color-6, #D1DAE5);
	--apex-cd-teal: #126d8d;
	--apex-cd-muted: #587183;
	--apex-cd-hint: #475569;
	--apex-cd-glass: rgba(126, 172, 190, .28);
	font-family: 'Inter', sans-serif;
}

/* ---- overlay ---- */
.apex-cd-overlay {
	position: fixed; inset: 0;
	background: rgba(0, 0, 0, 0.4);
	-webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
	opacity: 0; transition: opacity 250ms ease-in-out;
	z-index: 99990;
}
.apex-cd-overlay.apex-cd-open { opacity: 1; }

/* CSS-1: the ID-specificity display:flex below would defeat the UA's
   [hidden]{display:none} - make hidden authoritative for panel and overlay. */
#apex-cart-drawer[hidden], .apex-cd-overlay[hidden] { display: none !important; }

/* ---- panel ---- */
#apex-cart-drawer {
	position: fixed; top: 0; right: 0;
	width: min(420px, 100vw);
	height: 100vh;
	background: #fafafa;
	border-left: 1px solid var(--apex-cd-glass);
	box-shadow: 0 0 2rem rgba(0, 0, 0, 0.1);
	z-index: 100000;
	transform: translateX(100%);
	transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
	display: flex; flex-direction: column;
}
@supports (height: 100dvh) { #apex-cart-drawer { height: 100dvh; } }
@media (max-width: 544px) { #apex-cart-drawer { width: 92vw; } }
#apex-cart-drawer.apex-cd-open {
	transform: translateX(0);
	transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---- ice layer (R8: no fixed attachment — broken under transform + iOS) ---- */
.apex-cd-inner { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.apex-cd-inner::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(245, 250, 255, 0.62), rgba(255, 255, 255, 0.86) 40%);
	opacity: 0; transition: opacity 240ms ease;
}
html.apex-cd-ice .apex-cd-inner::before {
	background:
		linear-gradient(180deg, rgba(245, 250, 255, 0.62), rgba(255, 255, 255, 0.86) 40%),
		url('https://apexlab.org/wp-content/uploads/2026/01/apex-laboratory-brand-asset-03.jpeg') center / cover no-repeat;
	opacity: 1;
}
.apex-cd-inner > * { position: relative; }

/* ---- header ---- */
.apex-cd-header {
	display: flex; align-items: center; justify-content: space-between;
	min-height: 56px; padding: 16px 20px;
	border-bottom: 1px solid var(--apex-cd-border);
}
.apex-cd-title {
	display: flex; align-items: center; gap: 10px;
	font-weight: 600; font-size: 12px; text-transform: uppercase;
	letter-spacing: 2px; color: var(--apex-cd-ink);
}
.apex-cd-count {
	display: inline-block; padding: 3px 10px; border-radius: 999px;
	background: var(--apex-cd-icetint); color: var(--apex-cd-teal);
	font-size: 11px; font-weight: 600; letter-spacing: 0; text-transform: none; line-height: 1.2;
}
.apex-cd-close {
	display: inline-flex; align-items: center; justify-content: center;
	background: transparent; border: 0; padding: .6em; margin: -.6em -.6em -.6em 0;
	color: var(--apex-cd-ink); cursor: pointer; transition: color .2s ease;
}
.apex-cd-close:hover, .apex-cd-close:focus { color: var(--apex-cd-action); background: transparent; }

/* ---- items ---- */
.apex-cd-content { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; }
.apex-cd-items { list-style: none; margin: 0; padding: 8px 20px; }
.apex-cd-item {
	display: flex; gap: 12px; align-items: flex-start;
	min-height: 60px; padding: 14px 0;
	border-bottom: 1px solid var(--apex-cd-border);
	transition: opacity .2s ease;
}
.apex-cd-item:last-child { border-bottom: 0; }
.apex-cd-item.apex-cd-busy { opacity: .6; pointer-events: none; }
.apex-cd-item__thumb { flex: 0 0 64px; }
.apex-cd-item__thumb img {
	display: block; width: 64px; height: 64px; object-fit: cover;
	border-radius: 10px; border: 1px solid var(--apex-cd-glass); background: #fff;
}
.apex-cd-item__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.apex-cd-item__name {
	font-weight: 600; font-size: 14px; line-height: 1.35;
	color: var(--apex-cd-ink); text-decoration: none;
}
a.apex-cd-item__name:hover { color: var(--apex-cd-action); }
.apex-cd-item__variant, .apex-cd-item__solo { font-size: 12px; color: var(--apex-cd-muted); }
.apex-cd-item__side {
	flex: 0 0 auto; display: flex; flex-direction: column;
	align-items: flex-end; justify-content: space-between; gap: 10px; align-self: stretch;
}
.apex-cd-item__total { font-weight: 600; font-size: 14px; color: var(--apex-cd-ink); white-space: nowrap; }
.apex-cd-item__remove {
	display: inline-flex; background: transparent; border: 0; padding: 2px;
	color: var(--apex-cd-muted); cursor: pointer; transition: color .2s ease;
}
.apex-cd-item__remove:hover, .apex-cd-item__remove:focus { color: var(--apex-cd-ink); background: transparent; }

/* ---- stepper ---- */
.apex-cd-stepper { display: inline-flex; align-items: center; gap: 0; }
.apex-cd-stepper__btn {
	width: 32px; height: 32px; min-height: 0; padding: 0; box-sizing: border-box; /* UX-04: Astra's global button padding made these 62x40 */
	display: inline-flex; align-items: center; justify-content: center;
	background: #fff; border: 1px solid var(--apex-cd-border); border-radius: 4px;
	color: var(--apex-cd-ink); font-family: inherit; font-size: 15px; line-height: 1; letter-spacing: 0; text-transform: none; cursor: pointer;
	transition: border-color .2s ease;
}
.apex-cd-stepper__btn:hover:not(:disabled), .apex-cd-stepper__btn:focus:not(:disabled) { border-color: var(--apex-cd-action); background: #fff; color: var(--apex-cd-ink); }
.apex-cd-stepper__btn:disabled { opacity: .4; cursor: default; }
.apex-cd-stepper__val {
	min-width: 34px; text-align: center;
	font-weight: 600; font-size: 13.5px; color: var(--apex-cd-ink);
}

/* ---- error row ---- */
.apex-cd-error {
	margin: 10px 20px; padding: 10px 14px; border-radius: 4px;
	background: #fdf3f2; border: 1px solid #ecc8c4;
	color: #7f2d24; font-size: 13px; line-height: 1.5;
}
.apex-cd-error a { color: var(--apex-cd-action); text-decoration: underline; }

/* ---- footer ---- */
.apex-cd-footer {
	flex: 0 0 auto; padding: 20px;
	padding-bottom: max(20px, env(safe-area-inset-bottom));
	border-top: 1px solid var(--apex-cd-border);
	background: rgba(250, 253, 253, .9);
}
.apex-cd-subtotal { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 4px; }
.apex-cd-subtotal__label { font-weight: 500; font-size: 13px; color: var(--apex-cd-body); }
.apex-cd-subtotal__amount { font-weight: 600; font-size: 16px; color: var(--apex-cd-ink); }
.apex-cd-shipnote { margin: 0 0 14px; font-size: 12px; color: var(--apex-cd-hint); }
.apex-cd-checkout {
	display: block; width: 100%; box-sizing: border-box; text-align: center;
	padding: 16px; border-radius: 4px;
	background: var(--apex-cd-action); border: 1px solid var(--apex-cd-action);
	color: #fff; font-weight: 600; font-size: 12px;
	text-transform: uppercase; letter-spacing: 2px; text-decoration: none;
	transition: background .2s ease, color .2s ease;
}
.apex-cd-checkout:hover, .apex-cd-checkout:focus { background: #fff; color: var(--apex-cd-action); }
.apex-cd-viewcart {
	display: block; margin: 12px 0 0; text-align: center;
	font-size: 12px; text-transform: uppercase; letter-spacing: 2px;
	color: var(--apex-cd-action); text-decoration: none; transition: color .2s ease;
}
.apex-cd-viewcart:hover, .apex-cd-viewcart:focus { color: var(--apex-cd-accent); text-decoration: underline; }
.apex-cd-trust { margin: 14px 0 0; text-align: center; font-size: 11px; color: var(--apex-cd-hint); }
.apex-cd-trust__sep { opacity: .45; padding: 0 4px; }

/* ---- empty state ---- */
.apex-cd-empty {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	text-align: center; padding: 56px 28px; gap: 6px;
}
.apex-cd-empty__badge {
	display: flex; align-items: center; justify-content: center;
	width: 96px; height: 96px; border-radius: 50%;
	background: var(--apex-cd-icetint); color: var(--apex-cd-teal); margin-bottom: 10px;
}
.apex-cd-empty__title { margin: 0; font-weight: 600; font-size: 16px; color: var(--apex-cd-ink); }
.apex-cd-empty__sub { margin: 0 0 16px; font-size: 13px; color: var(--apex-cd-muted); }
.apex-cd-empty__cta {
	display: inline-block; padding: 14px 28px; border-radius: 4px;
	background: var(--apex-cd-action); border: 1px solid var(--apex-cd-action);
	color: #fff; font-weight: 600; font-size: 12px;
	text-transform: uppercase; letter-spacing: 2px; text-decoration: none;
	transition: background .2s ease, color .2s ease;
}
.apex-cd-empty__cta:hover, .apex-cd-empty__cta:focus { background: #fff; color: var(--apex-cd-action); }

/* ---- coupon (v1.1.0) ---- */
.apex-cd-coupon { margin: 0 0 12px; }
.apex-cd-coupon__toggle {
	display: inline-block; background: transparent; border: 0; padding: 0; min-height: 0;
	font-family: inherit; font-size: 11px; font-weight: 600; line-height: 1.4;
	letter-spacing: 1.2px; text-transform: uppercase; /* deliberate Apex micro-label, not Astra's leak */
	color: var(--apex-cd-action); cursor: pointer;
	text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color .2s ease;
}
.apex-cd-coupon__toggle:hover, .apex-cd-coupon__toggle:focus { color: var(--apex-cd-accent); background: transparent; }
.apex-cd-coupon__form { display: flex; gap: 8px; margin: 10px 0 0; }
.apex-cd-coupon__form[hidden] { display: none; }
.apex-cd-coupon__input {
	flex: 1 1 auto; min-width: 0;
	padding: 10px 12px; border: 1px solid var(--apex-cd-border); border-radius: 4px;
	font-size: 16px; /* >=16px prevents iOS focus zoom */
	font-family: inherit; color: var(--apex-cd-ink); background: #fff;
	text-transform: uppercase; letter-spacing: .5px;
}
.apex-cd-coupon__input:focus { outline: none; border-color: var(--apex-cd-action); box-shadow: 0 0 0 2px rgba(0, 94, 233, .15); }
.apex-cd-coupon__apply {
	flex: 0 0 auto; padding: 10px 18px; border-radius: 4px; min-height: 0; font-family: inherit; line-height: 1.2;
	background: var(--apex-cd-ink); border: 1px solid var(--apex-cd-ink);
	color: #fff; font-weight: 600; font-size: 12px; text-transform: uppercase;
	letter-spacing: 1px; cursor: pointer; transition: opacity .2s ease;
}
.apex-cd-coupon__apply:hover:not(:disabled), .apex-cd-coupon__apply:focus:not(:disabled) { opacity: .85; background: var(--apex-cd-ink); color: #fff; }
.apex-cd-coupon__apply:disabled { opacity: .55; cursor: default; }
.apex-cd-coupon__msg { margin: 8px 0 0; font-size: 12.5px; line-height: 1.45; color: #7f2d24; }
.apex-cd-coupon__msg:empty { margin: 0; } /* A11Y-07: the live region stays in the tree; collapse it when blank */
.apex-cd-coupon__msg--ok { color: #14532d; }

/* applied-coupon chips + discount rows (inside the swapped totals region) */
.apex-cd-coupons { list-style: none; margin: 0 0 6px; padding: 0; }
.apex-cd-coupons__row { display: flex; align-items: center; justify-content: space-between; padding: 4px 0; }
.apex-cd-chip {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 4px 10px; border-radius: 999px; cursor: pointer;
	background: var(--apex-cd-icetint); border: 1px solid rgba(18, 109, 141, .25);
	color: var(--apex-cd-teal); font-family: inherit; font-size: 11.5px; font-weight: 600; letter-spacing: .5px;
	line-height: 1.3; text-transform: uppercase; min-height: 0;
	transition: border-color .2s ease;
}
.apex-cd-chip:hover:not(:disabled), .apex-cd-chip:focus:not(:disabled) { border-color: var(--apex-cd-teal); background: var(--apex-cd-icetint); color: var(--apex-cd-teal); }
.apex-cd-chip:disabled { opacity: .5; cursor: default; }
.apex-cd-chip__x { font-size: 13px; line-height: 1; }
.apex-cd-coupons__amount { font-weight: 600; font-size: 13px; color: var(--apex-cd-teal); }
.apex-cd-totals { margin: 0 0 4px; }

/* loading shimmer while a state fetch is in flight */
.apex-cd-content.apex-cd-loading { position: relative; }
.apex-cd-content.apex-cd-loading::after {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
	background: linear-gradient(90deg, transparent, var(--apex-cd-action), transparent);
	animation: apex-cd-slide 1s linear infinite;
}
@keyframes apex-cd-slide {
	from { transform: translateX(-100%); }
	to { transform: translateX(100%); }
}
@media (prefers-reduced-motion: reduce) {
	.apex-cd-content.apex-cd-loading::after { animation: none; opacity: .5; }
}

/* ---- locked coupon chip (sitewide promo) ---- */
.apex-cd-chip--locked { cursor: default; gap: 6px; }
.apex-cd-chip__lock { flex: 0 0 auto; opacity: .85; }
.apex-cd-chip__tag {
	font-weight: 500; letter-spacing: 0; text-transform: none; font-size: 11px;
	color: var(--apex-cd-teal); opacity: .85;
}

/* ---- upsell card (v1.2.0) ---- */
.apex-cd-upsell {
	position: relative; margin: 4px 20px 16px; padding: 12px 14px;
	/* 1.2.7: the shop search bar's Ice-Hex asset at ~70% white overlay (owner-picked strength) */
	background: linear-gradient(rgba(255, 255, 255, .70), rgba(255, 255, 255, .70)), url('https://apexlab.org/wp-content/uploads/2026/06/Ice-Hex-Glass-Surface-1024x576.jpg') center / cover no-repeat #F3F7FB;
	border: 1px solid rgba(18, 109, 141, .3); border-radius: 12px;
	animation: apex-cd-rise 260ms cubic-bezier(0.16, 1, 0.3, 1) both;
	transition: opacity 220ms ease, max-height 220ms ease, margin 220ms ease, padding 220ms ease;
	max-height: 200px; overflow: hidden;
}
@keyframes apex-cd-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.apex-cd-upsell--out { animation: none; opacity: 0; max-height: 0; margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; border-width: 0; }
.apex-cd-upsell.apex-cd-busy { opacity: .75; }
.apex-cd-upsell__head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 8px; }
.apex-cd-upsell__eyebrow {
	font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px;
	color: var(--apex-cd-teal); line-height: 1.2;
}
.apex-cd-upsell__dismiss {
	display: inline-flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; margin: -6px -8px -6px 0; padding: 0;
	background: transparent; border: 0; color: var(--apex-cd-muted); cursor: pointer; transition: color .2s ease;
}
.apex-cd-upsell__dismiss:hover, .apex-cd-upsell__dismiss:focus { color: var(--apex-cd-ink); background: transparent; }
.apex-cd-upsell__body { display: flex; align-items: center; gap: 12px; }
.apex-cd-upsell__thumb { flex: 0 0 56px; }
.apex-cd-upsell__thumb img {
	display: block; width: 56px; height: 56px; object-fit: cover;
	border-radius: 8px; border: 1px solid var(--apex-cd-glass); background: #fff;
}
.apex-cd-upsell__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.apex-cd-upsell__name { font-size: 13.5px; font-weight: 600; color: var(--apex-cd-ink); text-decoration: none; line-height: 1.3; overflow-wrap: break-word; }
.apex-cd-upsell__name:hover { color: var(--apex-cd-action); }
.apex-cd-upsell__sub {
	font-size: 12px; line-height: 1.4; color: var(--apex-cd-hint); /* 1.2.8: >= 4.5:1 over the hex ridges */
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* 1.2.8: on phones the +price button drops under the text so the name never splits mid-word and the sentence fits */
@media (max-width: 430px) {
	.apex-cd-upsell__body { display: grid; grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: "thumb text" "thumb add"; column-gap: 12px; row-gap: 8px; align-items: start; }
	.apex-cd-upsell__thumb { grid-area: thumb; }
	.apex-cd-upsell__text { grid-area: text; }
	.apex-cd-upsell__add { grid-area: add; justify-self: end; }
}
.apex-cd-upsell__add {
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
	min-width: 84px; padding: 9px 16px; border-radius: 999px;
	background: var(--apex-cd-action); border: 1px solid var(--apex-cd-action);
	color: #fff; font-family: inherit; font-size: 12.5px; font-weight: 700; letter-spacing: .5px;
	line-height: 1.2; text-transform: none; min-height: 0;
	white-space: nowrap; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.apex-cd-upsell__add .woocommerce-Price-amount { color: inherit; font-weight: inherit; }
.apex-cd-upsell__add:hover:not([aria-busy]), .apex-cd-upsell__add:focus:not([aria-busy]) { background: #fff; color: var(--apex-cd-action); }
.apex-cd-upsell__add[aria-busy] { pointer-events: none; }
.apex-cd-upsell__add--done { background: var(--apex-cd-teal) !important; border-color: var(--apex-cd-teal) !important; color: #fff !important; }
.apex-cd-spinner {
	display: inline-block; width: 14px; height: 14px; border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff;
	animation: apex-cd-spin 700ms linear infinite; vertical-align: -2px;
}
@keyframes apex-cd-spin { to { transform: rotate(360deg); } }

/* ---- shipment protection row (v1.2.4: light green container so the free protection reads at a glance) ---- */
.apex-cd-protect {
	display: flex; align-items: center; gap: 9px; margin: -4px 0 14px; padding: 9px 12px;
	border-radius: 10px; background: rgba(31, 122, 77, .075); border: 1px solid rgba(31, 122, 77, .22);
}
.apex-cd-protect__icon { flex: 0 0 auto; width: 20px; height: 20px; color: var(--apex-cd-action, #005EE9); } /* 1.2.7: bigger, brand blue */
.apex-cd-protect__label { flex: 1 1 auto; min-width: 0; font-size: 12.5px; font-weight: 500; color: #14532d; line-height: 1.25; }
.apex-cd-protect__chip {
	flex: 0 0 auto; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
	color: #fff; background: var(--apex-cd-action, #005EE9); line-height: 1.2; /* 1.2.7: solid brand-blue chip */
	padding: 4px 10px; border-radius: 999px; border: 1px solid var(--apex-cd-action, #005EE9);
	box-shadow: 0 1px 3px rgba(0, 94, 233, .25);
}

#apex-cart-drawer:focus { outline: none; } /* 1.2.8: focus parks on the dialog after tap opens */

/* ---- interplay ---- */
html.apex-cd-lock { overflow: hidden; }
html.apex-cd-lock #apex-sticky-atc { visibility: hidden; } /* snippet 76 bar under the overlay (R5) */
#astra-mobile-cart-drawer, .astra-mobile-cart-overlay { display: none !important; } /* belt over the option filters */

/* ---- reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
	.apex-cd-upsell { animation: none; }
	.apex-cd-spinner { animation-duration: 1.4s; }
	#apex-cart-drawer { transition: opacity 150ms ease; transform: none; opacity: 0; visibility: hidden; }
	#apex-cart-drawer.apex-cd-open { opacity: 1; visibility: visible; }
	.apex-cd-overlay { transition: opacity 150ms ease; }
}

.apex-cd-protect__label-short { display: none; }

/* ---- narrow phones (<=359px): keep thumb + stepper + price on one row ---- */
@media (max-width: 359px) {
	.apex-cd-header { padding-left: 14px; padding-right: 14px; }
	.apex-cd-items { padding: 6px 14px; }
	.apex-cd-item { gap: 10px; }
	.apex-cd-item__thumb { flex-basis: 52px; }
	.apex-cd-item__thumb img { width: 52px; height: 52px; }
	.apex-cd-stepper__btn { width: 30px; height: 30px; }
	.apex-cd-stepper__val { min-width: 28px; }
	.apex-cd-item__side { gap: 6px; }
	.apex-cd-footer { padding-left: 14px; padding-right: 14px; }
	.apex-cd-error { margin-left: 14px; margin-right: 14px; }
	/* 1.2.6/1.2.8: smaller thumb on the narrowest phones (grid column follows) */
	.apex-cd-upsell__thumb { flex-basis: 44px; }
	.apex-cd-upsell__thumb img { width: 44px; height: 44px; }
	.apex-cd-upsell__body { grid-template-columns: 44px minmax(0, 1fr); column-gap: 10px; }
	.apex-cd-upsell__add { min-width: 0; padding: 8px 11px; font-size: 12px; }
}

/* the protection label wraps inside its container under ~430px: use the short form there */
@media (max-width: 430px) {
	.apex-cd-protect__label-long { display: none; }
	.apex-cd-protect__label-short { display: inline; }
}

/* ---- short viewports (landscape phones, small windows): the footer must never
   starve the item list. Compact the footer first; below 600px tall the whole
   panel scrolls as one column with a sticky header instead of a pinned footer. ---- */
@media (max-height: 700px) {
	.apex-cd-footer { padding-top: 14px; }
	.apex-cd-trust { display: none; }
	.apex-cd-protect { margin-bottom: 10px; }
	.apex-cd-checkout { padding-top: 13px; padding-bottom: 13px; }
}
@media (max-height: 600px) {
	.apex-cd-inner { overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
	.apex-cd-header {
		position: sticky; top: 0; z-index: 2;
		background: #f7fafc; /* opaque: scrolled line items must not ghost through */
	}
	/* grow to pin the footer at the bottom when the cart is short; overflow (scroll the panel) when it is tall */
	.apex-cd-content { flex: 1 0 auto; overflow: visible; min-height: 0; }
	/* 1.2.8: the footer stays pinned to the bottom edge while the items scroll underneath — the Checkout
	   button is on screen from the first paint on landscape phones and short windows */
	.apex-cd-footer { flex: 0 0 auto; position: sticky; bottom: 0; z-index: 2; background: #f7fafc; }
	.apex-cd-shipnote { margin-bottom: 8px; }
	.apex-cd-empty { min-height: 0; padding-top: 24px; padding-bottom: 24px; }
}


/* ---- A11Y-05: keyboard focus must be visible inside the focus trap (Astra ships button:focus{outline:0}) ---- */
#apex-cart-drawer button:focus-visible, #apex-cart-drawer a:focus-visible {
	outline: 2px solid var(--apex-cd-action); outline-offset: 2px;
}
#apex-cart-drawer .apex-cd-checkout:focus-visible { outline-offset: 3px; }
