/* Cart, checkout and order confirmation: WooCommerce's block Cart and Checkout styled to the prototype's #cart (S:2077-2149),
   #checkout (S:2151-2276) and done (S:2279-2320) screens. Breakpoints S:42-47 (1100) and S:52-58 (720).
   Text under 18px on #0b0c0d uses the onDarkMuted token (Chris, 17 Oct); nothing is smaller than 12px. */

.sv-commerce > * { margin-block: 0; }

/* Page head (S:2080-2086, S:2154-2167). */
.sv-commerce-head { padding: 48px var(--pg) 0; }
.sv-commerce-head > * { margin-block: 0; }
.sv-commerce-eyebrow {
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--wp--preset--color--ink-600);
}
.sv-commerce-eyebrow a { color: inherit; text-decoration: none; }
.sv-commerce-eyebrow a:hover { text-decoration: underline; }
.sv-commerce-titlerow { display: flex; flex-wrap: wrap; align-items: baseline; gap: 18px; margin-top: 16px; }
.sv-commerce-titlerow > * { margin: 0; }
.sv-commerce-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: clamp(30px, 3.9vw, 56px);
	line-height: 1.04;
	letter-spacing: -.025em;
	color: var(--wp--preset--color--ink-900);
}
.sv-checkout .sv-commerce-title { margin-top: 16px; }
.sv-cart-count { font-size: 13px; color: var(--wp--preset--color--ink-600); }
.sv-commerce .sv-notices { max-width: none; padding: 0 var(--pg); }
.sv-commerce .sv-notices .woocommerce-notices-wrapper:not(:empty) { margin-top: 16px; }

/* The step bar (S:2159-2167) is off: one-page checkout (Chris Q2). theme.json checkoutStepBar "flex" shows it. */
.sv-co-steps {
	display: var(--wp--custom--checkout-step-bar, none);
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}
.sv-co-step { flex: 1; border-top: 2px solid #4DC5D5; padding-top: 14px; }
.sv-co-step + .sv-co-step { border-top-color: rgba(114, 115, 116, .3); }
.sv-co-step-num { display: block; font-size: 13px; color: var(--wp--preset--color--ink-600); }
.sv-co-step-name { display: block; margin-top: 8px; font-size: 14px; }

/* Grid: minmax(0,1fr) 400px, gap 32px (S:2088, S:2170); one column at <=1100. */
.sv-commerce .wc-block-components-sidebar-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	gap: 0 32px;
	align-items: start;
	margin: 0;
	padding: 34px var(--pg) 0;
}
.sv-commerce .wc-block-components-sidebar-layout > * { grid-column: 1 / -1; }
.sv-commerce .wc-block-components-sidebar-layout > .wc-block-components-main { grid-column: 1; grid-row: 2; width: auto; margin: 0; padding: 0; }
.sv-commerce .wc-block-components-sidebar-layout > .wc-block-components-sidebar { grid-column: 2; grid-row: 2; width: auto; margin: 0; }
@media (max-width: 1100px) {
	.sv-commerce .wc-block-components-sidebar-layout { grid-template-columns: minmax(0, 1fr); row-gap: 24px; }
	.sv-commerce .wc-block-components-sidebar-layout > .wc-block-components-sidebar { grid-column: 1; grid-row: 3; }
	/* Checkout, one column, sidebar in its large form: the summary goes above the form, so it is read before Place order. */
	.sv-checkout .wc-block-components-sidebar-layout > .wc-block-checkout__sidebar.is-large { grid-row: 2; }
	.sv-checkout .wc-block-components-sidebar-layout:has(> .wc-block-checkout__sidebar.is-large) > .wc-block-components-main { grid-row: 3; }
}
/* Below its large form, WooCommerce renders the order summary inside the form, above Place order; the sidebar's collapsed
   copy would be a second one under it. */
.sv-checkout .wc-block-checkout__sidebar:not(.is-large) > .wp-block-woocommerce-checkout-order-summary-block { display: none; }
/* The cart's Checkout button: once the in-flow button scrolls out of view WooCommerce turns its container into a fixed bottom
   bar, shown only at <=782px. Our one-column layout puts the button below the fold at 783-1100, where that bar is hidden, so
   no button showed. There the container stays in the summary card instead. */
@media (min-width: 783px) and (max-width: 1100px) {
	/* WooCommerce's script paints the sticky bar with an inline background-color (the page colour); only !important beats it. */
	.sv-cart .wc-block-cart .wc-block-cart__submit-container--sticky { display: block; position: static; width: auto; padding: 0; background: transparent !important; }
	.sv-cart .wc-block-cart .wc-block-cart__submit-container--sticky::before { display: none; }
}

/* Cart lines (S:2097-2117): glass rows 150px / 1fr / auto, padding 22px 26px. */
.sv-cart table.wc-block-cart-items { display: block; margin: 0; border: 0; }
.sv-cart .wc-block-cart-items thead { display: none; }
.sv-cart .wc-block-cart-items tbody { display: flex; flex-direction: column; gap: 16px; }
.sv-cart.sv-cart table.wc-block-cart-items tr.wc-block-cart-items__row {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) auto;
	gap: 26px;
	align-items: center;
	padding: 22px 26px;
	border: 1px solid rgba(255, 255, 255, .85);
	border-radius: 20px;
	background: rgba(255, 255, 255, .42);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	backdrop-filter: blur(16px) saturate(140%);
}
.sv-cart.sv-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td { display: block; padding: 0; border: 0; }
/* The line picture (fix round 3, Ana A fix 2): a light frame on the image cell and the whole uncropped picture contained in it,
   an even margin on every side. The prefix outranks WooCommerce's img { width: 100% } and its 16px cell padding. */
.sv-cart.sv-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td.wc-block-cart-item__image {
	box-sizing: border-box;
	width: 150px;
	height: 118px;
	padding: 8px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .55);
}
.sv-cart.sv-cart table.wc-block-cart-items tr.wc-block-cart-items__row .wc-block-cart-item__image > a { display: block; width: 100%; height: 100%; }
.sv-cart.sv-cart table.wc-block-cart-items tr.wc-block-cart-items__row .wc-block-cart-item__image img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: contain;
	object-position: center;
}
.sv-cart .wc-block-components-product-name {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 12.5px;
	line-height: 1.4;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--ink-900);
}
.sv-cart .wc-block-components-product-name:hover { text-decoration: underline; }
@media (max-width: 720px) {   /* 44px targets, §4 */
	.sv-cart .wc-block-components-product-name { display: inline-flex; align-items: center; min-height: 44px; }
	.sv-cart .wc-block-components-quantity-selector__input.wc-block-components-quantity-selector__input { min-width: 44px; }
}
.sv-cart .wc-block-cart-item__prices { margin-top: 6px; font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: var(--wp--preset--color--ink-600); }
.sv-commerce .wc-block-components-product-metadata__description { display: none; }
.sv-cart .wc-block-components-product-details {
	margin: 8px 0 0;
	padding: 0;
	font-size: 15.5px;
	line-height: 1.5;
	color: var(--wp--preset--color--ink-700);
}
.sv-cart .wc-block-cart-item__quantity { display: flex; align-items: center; gap: 14px; margin-top: 16px; }
.sv-cart .wc-block-components-quantity-selector {
	width: auto;
	margin: 0;
	padding: 3px;
	border: 1px solid #727374;
	border-radius: 999px;
	background: transparent;
}
.sv-cart .wc-block-components-quantity-selector::after { display: none; }
.sv-cart .wc-block-components-quantity-selector__button {
	width: 44px;
	min-width: 44px;
	height: 44px;
	border-radius: 999px;
	font-size: 16px;
	color: var(--wp--preset--color--ink-800);
	opacity: 1;
}
.sv-cart .wc-block-components-quantity-selector__input {
	width: 30px;
	min-width: 30px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	color: var(--wp--preset--color--ink-900);
}
.sv-cart.sv-cart .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border-radius: 999px;
	color: var(--wp--preset--color--ink-600);
}
.sv-cart .wc-block-cart-item__total { text-align: right; }
.sv-cart.sv-cart .wc-block-cart-item__total .wc-block-components-product-price {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 26px;
	letter-spacing: -.01em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var(--wp--preset--color--ink-900);
}
@media (max-width: 720px) {
	.sv-cart.sv-cart table.wc-block-cart-items tr.wc-block-cart-items__row { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding: 18px; }
	.sv-cart.sv-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td.wc-block-cart-item__image { width: 96px; height: 80px; padding: 6px; border-radius: 10px; }
	.sv-cart .wc-block-cart-item__total { grid-column: 2; text-align: left; }
	.sv-cart.sv-cart .wc-block-cart-item__total .wc-block-components-product-price { font-size: 22px; }
}

/* Empty cart (S:2090-2095). */
.sv-cart-empty { padding: 56px var(--pg); text-align: center; }
.sv-cart-empty > * { margin: 0; }
.sv-cart-empty-title { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 26px; letter-spacing: -.02em; color: var(--wp--preset--color--ink-900); }
.sv-cart-empty-text { margin-top: 12px; font-size: 16.5px; line-height: 1.6; color: var(--wp--preset--color--ink-700); }
.sv-cart-empty-cta { justify-content: center; margin-top: 24px; }

/* Pills. */
.sv-commerce .sv-pill-cyan .wp-block-button__link,
.sv-commerce .sv-pill-outline .wp-block-button__link,
.sv-pill-link {
	display: inline-block;
	padding: 14px 30px;
	border: 1px solid #4DC5D5;
	border-radius: 999px;
	background: #4DC5D5;
	font-family: var(--wp--preset--font-family--body);
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
	color: #0c0d0e;
	transition: filter 180ms cubic-bezier(.22, 1, .36, 1);
}
.sv-commerce .sv-pill-outline .wp-block-button__link { background: transparent; border-color: #727374; color: #c9cacb; }
.sv-commerce .sv-pill-cyan .wp-block-button__link:hover, .sv-pill-link:hover { filter: brightness(1.06); }

/* The dark summary card (S:2120-2147, S:2246-2273): #0b0c0d, radius 36px, padding 30px 32px, sticky above 1100. */
.sv-commerce .wc-block-components-sidebar {
	box-sizing: border-box;
	padding: 30px 32px;
	border-radius: 36px;
	background: #0b0c0d;
	color: #fff;
}
@media (min-width: 1101px) { .sv-commerce .wc-block-components-sidebar { position: sticky; top: 24px; } }
@media (max-width: 720px) { .sv-commerce .wc-block-components-sidebar { padding: 24px 20px; border-radius: 28px; } }
.sv-commerce .wc-block-components-sidebar .wc-block-cart__totals-title,
.sv-commerce .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title-text {
	margin: 0;
	padding: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--custom--contrast--on-dark-muted);
}
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-wrapper {
	padding: 14px 0;
	border-top: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-wrapper:last-of-type { border-bottom: 0; }
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-item { padding: 0; align-items: baseline; }
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-item__label { font-size: 15px; color: #c9cacb; }
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-item__value {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 18px;
	font-variant-numeric: tabular-nums;
	color: var(--wp--custom--contrast--on-dark-muted);
}
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-item__description { font-size: 12px; color: #c9cacb; }
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-footer-item { padding-top: 6px; }
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--custom--contrast--on-dark-muted);
}
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: clamp(22px, 2.4vw, 34px);
	letter-spacing: -.01em;
	color: #4DC5D5;
}
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-footer-item-tax { margin: 6px 0 0; font-size: 12px; color: #c9cacb; }
/* Checkout: the order's lines inside the dark card. */
.sv-commerce .wc-block-components-sidebar .wc-block-components-order-summary { padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.sv-commerce .wc-block-components-sidebar .wc-block-components-order-summary-item { color: #c9cacb; }
.sv-commerce .wc-block-components-sidebar .wc-block-components-product-name { font-size: 15px; color: #fff; }
.sv-commerce .wc-block-components-sidebar .wc-block-components-order-summary-item__quantity { border-color: #0b0c0d; background: #4DC5D5; color: #0c0d0e; box-shadow: none; }
/* The summary picture (fix round 3, Ana A fix 2): a 56px frame, the whole picture contained in its 48px box; darker inside the
   black card. */
.sv-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image {
	box-sizing: border-box;
	width: 56px;
	height: 56px;
	padding: 4px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .55);
}
.sv-checkout .wc-block-components-sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__image { background: rgba(255, 255, 255, .08); }
/* The quantity badge moves 6px out so it sits on the frame's padding, never on the picture (Ana A). */
.sv-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image .wc-block-components-order-summary-item__quantity { top: -6px; right: -6px; }
.sv-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
	width: 48px;
	height: 48px;
	max-width: 48px;
	object-fit: contain;
	object-position: center;
}
.sv-commerce .wc-block-components-sidebar .wc-block-components-product-details { font-size: 13px; color: #c9cacb; }
.sv-commerce .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title { margin: 0; padding: 0; border: 0; color: inherit; }
.sv-commerce .wc-block-components-sidebar .wc-block-components-panel__button,
.sv-commerce .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title-icon { color: inherit; fill: currentColor; }
/* Cyan Checkout pill (S:2141). */
.sv-cart .wc-block-cart__submit { margin: 24px 0 0; }
.sv-cart .wc-block-cart__submit-button {
	width: 100%;
	min-height: 0;
	padding: 16px;
	border: 1px solid #4DC5D5;
	border-radius: 999px;
	background: #4DC5D5;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 12.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #0c0d0e;
}
.sv-cart .wc-block-cart__submit-button:hover { filter: brightness(1.06); background: #4DC5D5; color: #0c0d0e; }
/* Trust lines (S:2142-2146), raised from 10px to 12px. */
.sv-commerce .wc-block-components-sidebar .sv-trust {
	margin: 9px 0 0;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--custom--contrast--on-dark-muted);
}
.sv-commerce .wc-block-components-sidebar .sv-trust:not(.sv-trust + .sv-trust) { margin-top: 20px; }
.sv-commerce .sv-trust a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
/* The note under an untaxed Total due (international: Ana F3), in the style of WooCommerce's "Including … VAT" line. */
.sv-commerce .wc-block-components-sidebar .sv-tax-note { margin: 6px 0 0; font-size: 12px; color: #c9cacb; }
.sv-commerce .sv-tax-note:empty { display: none; }
.sv-commerce .wc-block-cart__payment-options:empty { display: none; }

/* Checkout: glass field cards, padding 34px 36px (S:2172); inputs 14px 16px, radius 10px, 1px #727374 (S:2177). */
.sv-checkout .wc-block-checkout__form { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.sv-checkout .wc-block-components-checkout-step,
.sv-checkout .sv-ground-floor {
	margin: 0;
	padding: 34px 36px;
	border: 1px solid rgba(255, 255, 255, .85);
	border-radius: 20px;
	background: rgba(255, 255, 255, .42);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	backdrop-filter: blur(16px) saturate(140%);
}
@media (max-width: 720px) {
	.sv-checkout .wc-block-components-checkout-step, .sv-checkout .sv-ground-floor { padding: 24px 18px; }
}
.sv-checkout .wc-block-components-checkout-step::after { display: none; }
.sv-checkout .wc-block-components-checkout-step__heading { margin: 0 0 22px; }
.sv-checkout .wc-block-components-checkout-step__title {
	font-family: var(--wp--preset--font-family--body);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-900);
}
.sv-checkout .wc-block-components-checkout-step__container,
.sv-checkout .wc-block-components-checkout-step__content { margin: 0; padding: 0; }
.sv-checkout .wc-block-components-text-input input,
.sv-checkout .wc-block-components-text-input textarea,
.sv-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.sv-checkout .wc-block-components-textarea {
	padding-left: 16px;
	padding-right: 16px;
	border: 1px solid #727374;
	border-radius: 10px;
	background: rgba(255, 255, 255, .6);
	font-size: 16px;
	color: var(--wp--preset--color--ink-900);
}
.sv-checkout .wc-block-components-text-input label,
.sv-checkout .wc-blocks-components-select .wc-blocks-components-select__label { left: 17px; color: var(--wp--preset--color--ink-600); }
.sv-checkout .wc-blocks-components-select .wc-blocks-components-select__container { border-radius: 10px; background: transparent; }
.sv-checkout .wc-block-components-radio-control__option,
.sv-checkout .wc-block-components-radio-control-accordion-option {
	border-radius: 16px;
	box-shadow: inset 0 0 0 1px rgba(114, 115, 116, .5);
	background: rgba(255, 255, 255, .4);
}
.sv-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.sv-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1.5px #4DC5D5;
	background: rgba(255, 255, 255, .7);
}
.sv-checkout .wc-block-components-radio-control--highlight-checked::after { display: none; }
/* The ground-floor note (S:2179-2182), under the delivery address. */
.sv-checkout .sv-ground-floor { display: flex; gap: 12px; align-items: flex-start; padding-top: 22px; padding-bottom: 22px; }
.sv-ground-floor > * { margin: 0; }
.sv-ground-floor-tag { min-width: 96px; font-size: 12px; white-space: nowrap; color: var(--wp--custom--contrast--accent-on-light); }
.sv-ground-floor-text { font-size: 15.5px; line-height: 1.55; color: var(--wp--preset--color--ink-700); }
/* The phone field's purpose note under the delivery address (Harvey F6); checkout-filters.js points the phone inputs at it. */
.sv-checkout .sv-field-help { margin: 0; padding: 0 4px; font-size: 13px; line-height: 1.5; color: var(--wp--preset--color--ink-700); }
@media (max-width: 720px) { .sv-checkout .sv-ground-floor { flex-direction: column; } }
/* Screen map §4: a 2px focus ring (WooCommerce draws 1-1.5px) and 44px targets on mobile. */
.sv-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus-visible,
.sv-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:focus-visible { outline: 2px solid var(--wp--preset--color--ink); outline-offset: 2px; }
@media (max-width: 720px) {
	.sv-checkout .wc-block-components-checkbox label,
	.sv-checkout .wc-block-components-address-form__address_2-toggle { display: inline-flex; align-items: center; min-height: 44px; }
}
/* Minimum text 12px (screen map §4); WooCommerce sets these at .875em. */
.sv-commerce .wc-block-components-product-details,
.sv-commerce .wc-block-components-totals-footer-item-tax,
.sv-commerce .wc-block-components-order-summary-item__quantity { font-size: 12px; }
/* Place order (S:2236): the dark pill with the cyan ring. */
.sv-checkout .wc-block-checkout__actions { padding: 0; }
.sv-checkout .wc-block-components-checkout-place-order-button {
	min-height: 0;
	padding: 16px 34px;
	border: 1px solid #0c0d0e;
	border-radius: 999px;
	background: #0c0d0e;
	box-shadow: 0 0 0 1px rgba(77, 197, 213, .6);
	font-size: 12.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
}
.sv-checkout .wc-block-components-checkout-place-order-button:hover { background: #0c0d0e; color: #fff; filter: brightness(1.2); }
.sv-checkout .wc-block-checkout__terms { margin: 0; padding: 0 4px; border: 0; font-size: 14.5px; line-height: 1.6; color: var(--wp--preset--color--ink-600); }

/* No-JS cart (the Cart block renders in the browser): the same lines, server-rendered. */
.sv-cart-nojs { padding: 34px var(--pg) 0; }
.sv-cart-nojs > * { margin: 0; }
.sv-nojs-lines { display: flex; flex-direction: column; gap: 16px; padding: 0; list-style: none; }
.sv-nojs-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 26px; padding: 22px 26px; }
.sv-nojs-name { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 15px; }
.sv-nojs-row { grid-column: 1; font-size: 15.5px; color: var(--wp--preset--color--ink-700); }
.sv-nojs-total { grid-column: 2; grid-row: 1; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 22px; white-space: nowrap; }
.sv-nojs-sum { margin-top: 24px; font-size: 15px; }
.sv-nojs-sum b { font-family: var(--wp--preset--font-family--display); font-size: 26px; }
.sv-nojs-note { margin-top: 8px; font-size: 15px; color: var(--wp--preset--color--ink-700); }
.sv-nojs-go { margin-top: 20px; }

/* Order confirmation (S:2281-2320): dark band, padding 80px var(--pg) 84px, grid minmax(0,1fr) 420px. */
.sv-done {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	gap: 60px;
	align-items: start;
	margin-top: 44px;
	padding: 80px var(--pg) 84px;
	background: #0b0c0d;
	color: #fff;
}
@media (max-width: 1100px) { .sv-done { grid-template-columns: minmax(0, 1fr); gap: 40px; } }
@media (max-width: 720px) { .sv-done { padding-top: 56px; padding-bottom: 56px; } }
.sv-done > *, .sv-done-main > * { margin-block: 0; }
.sv-done-eyebrow { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: #4DC5D5; }
.sv-done-title {
	margin-top: 16px;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: clamp(28px, 3.6vw, 52px);
	line-height: 1.05;
	letter-spacing: -.025em;
	text-wrap: pretty;
	color: #fff;
}
.sv-done-main .sv-done-lede { margin-top: 18px; max-width: 620px; font-size: 17px; line-height: 1.62; color: #9a9b9c; }
.sv-done-main .sv-order-stats { display: flex; flex-wrap: wrap; gap: 24px 36px; margin-top: 34px; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .12); }
.sv-order-stat > * { margin: 0; }
.sv-order-value { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 26px; font-variant-numeric: tabular-nums; color: #fff; }
.sv-order-value.sv-order-total { color: #4DC5D5; }
.sv-order-stat .sv-footnote { margin-top: 6px; font-size: 12px; color: var(--wp--custom--contrast--on-dark-muted); }
.sv-order-stat .sv-order-caption { margin-top: 8px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--custom--contrast--on-dark-muted); }
.sv-done-main .sv-done-actions { gap: 12px; margin-top: 34px; }
.sv-done-actions .wp-block-button__link { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 12.5px; letter-spacing: .1em; padding: 15px 30px; }
.sv-order-next { padding: 28px 30px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 36px; background: rgba(255, 255, 255, .035); }
.sv-order-next > * { margin: 0; }
.sv-order-next-label { font-family: var(--wp--preset--font-family--body); font-size: 12px; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--custom--contrast--on-dark-muted); }
.sv-order-next-label b { font-family: var(--wp--preset--font-family--display); font-weight: 700; letter-spacing: .08em; color: #fff; }
.sv-order-next-rows { margin: 18px 0 0; padding: 0; list-style: none; }
.sv-order-next-rows li { display: flex; gap: 16px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.sv-order-next-rows .sv-mono { flex: none; width: 112px; font-size: 12px; line-height: 1.5; text-transform: uppercase; color: #4DC5D5; }   /* steps, not day numbers (Ana F1) */
.sv-order-next-rows span + span { font-size: 15.5px; line-height: 1.55; color: #c9cacb; }
.sv-done-fallback, .sv-done-more { padding: 40px var(--pg) 0; }
.sv-done-more:not(:has(*)) { display: none; }
.sv-done-more .wp-block-woocommerce-order-confirmation-additional-information { max-width: 720px; font-size: 16px; line-height: 1.6; color: var(--wp--preset--color--ink-700); }

/* WooCommerce defaults the design does not have. */
.sv-cart .wp-block-woocommerce-empty-cart-block { padding: 34px var(--pg) 0; }
.sv-commerce .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block { margin: 0; border: 0; border-radius: 0; }
.sv-commerce .wc-block-components-sidebar .wc-block-components-totals-wrapper:empty { display: none; }
.sv-commerce .wc-block-components-sidebar .wc-block-cart__totals-title { padding-bottom: 14px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
/* WooCommerce's narrow-container cart grid (is-small / is-mobile) places the line total over the details. */
@media (max-width: 720px) {
	.sv-cart.sv-cart table.wc-block-cart-items tr.wc-block-cart-items__row .wc-block-cart-item__image { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
	.sv-cart.sv-cart table.wc-block-cart-items tr.wc-block-cart-items__row .wc-block-cart-item__product { grid-column: 2; grid-row: 1; }
	.sv-cart.sv-cart table.wc-block-cart-items tr.wc-block-cart-items__row .wc-block-cart-item__total { position: static; grid-column: 2; grid-row: 2; }
	.sv-cart .wc-block-cart-item__total .wc-block-cart-item__total-price-and-sale-badge-wrapper { align-items: flex-start; }
}
.sv-done-more .sv-done-more-label { margin: 32px 0 14px; font-size: 13px; font-weight: 400; }
.sv-done-more .wc-block-order-confirmation-totals { max-width: 720px; }
.sv-done-more .wc-block-order-confirmation-totals table { border-radius: 20px; background: rgba(255, 255, 255, .42); border: 1px solid rgba(255, 255, 255, .85); }
/* Ana F1: the product link in ink, underlined, no visited purple; the tax line on its own line (after a <br>) at 12px. */
.sv-done-more .wc-block-order-confirmation-totals a,
.sv-done-more .wc-block-order-confirmation-totals a:visited { color: #0c0d0e; text-decoration: underline; }
.sv-done-more .sv-total-note { display: inline-block; margin-top: 4px; font-size: 12px; color: var(--wp--preset--color--ink-600); }
/* Bank details on order received (fix round 3, Ana B1; Chris decision 246): the site's dark card (as .sv-redlight .sv-dark-card;
   the border in the same black draws an outline in forced colours) with the "What happens next" type. */
.sv-bacs-card { box-sizing: border-box; max-width: 720px; margin: 0 0 8px; padding: 28px 32px; border: 1.5px solid #0b0c0d; border-radius: 20px; background: #0b0c0d; color: #fff; }
.sv-bacs-card .sv-bacs-label { margin: 0; font-family: var(--wp--preset--font-family--body); font-size: 12px; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--custom--contrast--on-dark-muted); }
.sv-bacs-card .sv-bacs-intro p { margin: 10px 0 0; font-size: 15.5px; line-height: 1.55; color: #c9cacb; }
.sv-bacs-card .sv-bacs-account { margin: 20px 0 0; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 18px; line-height: 1.3; color: #fff; }
.sv-bacs-card .sv-bacs-account:first-of-type { margin-top: 14px; }
.sv-bacs-card .sv-bacs-rows { margin: 6px 0 0; }
.sv-bacs-card .sv-bacs-rows > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.sv-bacs-card .sv-bacs-rows > div:last-child { border-bottom: 0; }
.sv-bacs-card .sv-bacs-rows dt { font-family: var(--wp--preset--font-family--mono); font-size: 12px; line-height: 1.5; text-transform: uppercase; color: #4DC5D5; }
.sv-bacs-card .sv-bacs-rows dd { margin: 0; font-family: var(--wp--preset--font-family--mono); font-size: 17px; line-height: 1.45; color: #fff; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.sv-bacs-card .sv-bacs-empty { margin: 0; font-size: 16px; line-height: 1.6; color: #c9cacb; }
@media (max-width: 720px) {
	.sv-bacs-card { padding: 22px 20px; }
	.sv-bacs-card .sv-bacs-account { font-size: 17px; }
	.sv-bacs-card .sv-bacs-rows > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.sv-bacs-card .sv-bacs-rows dd { font-size: 16px; }
}
