/* Store pages: cart, checkout, order received, my account. Loaded after style.css; colours, fonts and the --jkd-*
   variables come from there. Owner: store pages. Hooks: inc/commerce.php. Settings and block markup:
   site/setup/design/commerce.php. Icons: assets/commerce/. Design notes: docs/design/commerce.md.

   The Cart and Checkout pages are WooCommerce's blocks: their own stylesheet lays the columns out with container
   queries (one column under 920px of content width), so the rules here restyle the parts and only set the widths.
   Selectors carry a body class (woocommerce-cart, woocommerce-checkout, woocommerce-account) so nothing leaks. */

:root {
	--jkd-store-aside: clamp(340px, 28vw, 440px); /* the summary column on the cart, the checkout and the order page */
	--jkd-store-gap: clamp(40px, 4vw, 72px);
	--jkd-field: 52px;
}

/* ------------------------------------------------------------------ Page header (Kadence's title band is hidden on these pages) */
.jkd-store-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 24px;
	margin: 0 0 clamp(22px, 2vw, 32px);
	padding: 0 0 clamp(14px, 1.2vw, 18px);
	border-bottom: 1px solid var(--jkd-line);
}
.jkd-store-head__title { margin: 0; font-size: clamp(30px, 2.4vw, 40px); line-height: 1; }
.jkd-store-head__line { margin: 0; font-size: 15px; line-height: 1.4; color: var(--jkd-muted); }
.jkd-store-head__line a { color: var(--jkd-text); font-weight: 700; text-decoration: none; }
.jkd-store-head__line a:hover { color: var(--jkd-red); }
/* No boxed card and no extra padding around the content on these pages */
body.woocommerce-cart .content-area,
body.woocommerce-checkout .content-area,
body.woocommerce-account .content-area { margin-top: clamp(26px, 2vw, 40px); }
body.woocommerce-cart .entry-content-wrap,
body.woocommerce-checkout .entry-content-wrap,
body.woocommerce-account .entry-content-wrap { padding: 0; }
/* The blocks save themselves as "wide"; on this unboxed page "wide" means the full page width, so they'd run
   past the content column's right edge. They sit inside the column like everything else. */
body.woocommerce-cart .entry-content > .wp-block-woocommerce-cart,
body.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; }

/* ------------------------------------------------------------------ Shared pieces: buttons, icon lines, notices */
.jkd-store-btn,
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce a.button,
body.woocommerce-checkout .woocommerce-order a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--jkd-field);
	margin: 0;
	padding: 0 22px;
	border: 0;
	border-radius: 4px;
	background: var(--jkd-red);
	color: #fff;
	font: 700 15px/1.2 var(--global-body-font-family, Saira, sans-serif);
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .2s;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce a.button:hover,
body.woocommerce-checkout .woocommerce-order a.button:hover { background: var(--global-palette2, #b0141f); color: #fff; }
body.woocommerce-account .woocommerce a.button:not(.woocommerce-button--pay):not(.wc-forward) { background: var(--jkd-black); }
body.woocommerce-account .woocommerce a.button:not(.woocommerce-button--pay):not(.wc-forward):hover { background: var(--jkd-steel); }

/* Lines with a small icon on the left (cart help, cart aside, checkout trust, order help, dashboard help) */
.jkd-help, .jkd-aside, .jkd-cnote, .jkd-order-help, .jkd-dash__help {
	position: relative;
	margin: 0;
	padding-left: 32px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--jkd-muted);
}
.jkd-help::before, .jkd-aside::before, .jkd-cnote::before, .jkd-order-help::before, .jkd-dash__help::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 22px;
	height: 22px;
	background: var(--jkd-text);
	-webkit-mask: url(../commerce/info.svg) center / contain no-repeat;
	mask: url(../commerce/info.svg) center / contain no-repeat;
}
.jkd-help strong { color: var(--jkd-text); font-weight: 700; }
.jkd-help a, .jkd-aside a, .jkd-cnote a, .jkd-order-help a, .jkd-dash__help a { color: var(--jkd-text); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.jkd-help a[href^="tel"], .jkd-aside a[href^="tel"], .jkd-cnote a[href^="tel"], .jkd-order-help a[href^="tel"], .jkd-dash__help a[href^="tel"] { text-decoration: none; white-space: nowrap; }
.jkd-help a:hover, .jkd-aside a:hover, .jkd-cnote a:hover, .jkd-order-help a:hover, .jkd-dash__help a:hover { color: var(--jkd-red); }
.jkd-help--truck::before { -webkit-mask-image: url(../commerce/truck.svg); mask-image: url(../commerce/truck.svg); }
.jkd-help--parcel::before { -webkit-mask-image: url(../commerce/parcel.svg); mask-image: url(../commerce/parcel.svg); }
.jkd-help--pin::before { -webkit-mask-image: url(../commerce/pin.svg); mask-image: url(../commerce/pin.svg); }
.jkd-aside--card::before { -webkit-mask-image: url(../commerce/card.svg); mask-image: url(../commerce/card.svg); }
.jkd-aside--phone::before, .jkd-cnote--phone::before, .jkd-order-help::before, .jkd-dash__help::before { background: var(--jkd-red); -webkit-mask-image: url(../commerce/phone.svg); mask-image: url(../commerce/phone.svg); }
.jkd-cnote--shield::before { -webkit-mask-image: url(../commerce/shield.svg); mask-image: url(../commerce/shield.svg); }

/* WooCommerce's notices on the order page and in My account */
body.woocommerce-checkout .woocommerce-order .woocommerce-info,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-notice {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin: 0 0 20px;
	padding: 14px 18px;
	border: 1px solid var(--jkd-line);
	border-left: 4px solid var(--jkd-steel);
	border-radius: 6px;
	background: var(--jkd-grey);
	color: var(--jkd-text);
	font-size: 14.5px;
	line-height: 1.5;
}
body.woocommerce-account .woocommerce-message { border-left-color: var(--jkd-ok); }
body.woocommerce-account .woocommerce-error { border-left-color: var(--jkd-red); list-style: none; }
body.woocommerce-account .woocommerce-error li { margin: 0; }
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-error::before { content: none; }
body.woocommerce-account .woocommerce-info .button,
body.woocommerce-account .woocommerce-message .button { order: 2; margin-left: auto; min-height: 40px; padding: 0 16px; font-size: 13px; background: var(--jkd-black); }
body.woocommerce-account .woocommerce-info .button:hover,
body.woocommerce-account .woocommerce-message .button:hover { background: var(--jkd-steel); }

/* ================================================================== Cart */
body.woocommerce-cart .wp-block-woocommerce-cart { margin: 0; }
body.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout { column-gap: var(--jkd-store-gap); margin: 0; }
body.woocommerce-cart .wc-block-cart.is-large .wc-block-cart__sidebar { flex: 0 0 var(--jkd-store-aside); width: var(--jkd-store-aside); }

/* The table: no header row (it only said "Product" and "Total"), one hairline between units */
body.woocommerce-cart table.wc-block-cart-items { width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; }
body.woocommerce-cart table.wc-block-cart-items thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
	grid-template-columns: 112px minmax(0, 1fr) auto;
	column-gap: 0;
	padding: 20px 0;
	border-top: 1px solid var(--jkd-line);
	border-bottom: 0;
}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row:first-child { border-top: 0; padding-top: 4px; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row:last-child { border-bottom: 1px solid var(--jkd-line); }
/* Wide carts (.is-large) lay the rows out as a real table, where row padding and borders don't render: the cells carry them */
body.woocommerce-cart .wc-block-cart.is-large table.wc-block-cart-items .wc-block-cart-items__row td { padding-top: 24px; padding-bottom: 24px; border-top: 1px solid var(--jkd-line); }
body.woocommerce-cart .wc-block-cart.is-large table.wc-block-cart-items .wc-block-cart-items__row:first-child td { padding-top: 4px; border-top: 0; }
body.woocommerce-cart .wc-block-cart.is-large table.wc-block-cart-items .wc-block-cart-items__row:last-child td { padding-bottom: 24px; }
body.woocommerce-cart .wc-block-cart.is-large table.wc-block-cart-items { border-bottom: 1px solid var(--jkd-line); } /* the price cell is shorter than its row */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td { padding: 0; border: 0; vertical-align: top; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { width: 112px; padding-right: 16px; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image a { display: block; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
	display: block;
	width: 96px;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	background: var(--jkd-grey);
	object-fit: cover;
}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__wrap { gap: 5px; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-name {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--jkd-text);
	text-decoration: none;
}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-name:hover { color: var(--jkd-red); }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__prices { font-size: 13.5px; color: var(--jkd-muted); }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__prices .wc-block-components-product-price { font-weight: 500; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-low-stock-badge {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--jkd-ok);
	text-transform: none;
}
/* "Fits: ..." and the condition, origin and delivery lines */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-metadata { margin: 2px 0 0; font-size: 13px; line-height: 1.45; color: var(--jkd-muted); }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-metadata__description { margin: 0 0 4px; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-metadata__description p { margin: 0; }
/* One fact per line (the block prints them in a row with slashes) */
.wc-block-components-product-details.wc-block-components-product-details { margin: 0; padding: 0; font-size: 13px; line-height: 1.5; }
.wc-block-components-product-details.wc-block-components-product-details > span { display: block; }
.wc-block-components-product-details.wc-block-components-product-details > span > span[aria-hidden="true"] { display: none; }
.wc-block-components-product-details__name { font-weight: 400; color: var(--jkd-muted); }
.wc-block-components-product-details__value { font-weight: 600; color: var(--jkd-steel); }
/* In the checkout summary the delivery is chosen on the left, so that line stays in the cart only */
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details__delivery { display: none; }
/* Quantity: a 40px stepper and a plain "Remove" link, under the details */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
	grid-column: 2 / 3;
	grid-row: 2;
	gap: 18px;
	padding: 12px 0 0;
}
body.woocommerce-cart .wc-block-components-quantity-selector:where(:has(input:not([type=hidden]))) {
	min-width: 0;
	width: 112px;
	height: 40px;
	border: 1px solid var(--jkd-line);
	border-radius: 4px;
	background: #fff;
}
body.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { font: 600 15px/1 var(--global-body-font-family, Saira, sans-serif); color: var(--jkd-text); }
body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	width: 34px;
	min-width: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--jkd-text);
	font-size: 18px;
	box-shadow: none;
	cursor: pointer;
	opacity: 1;
}
body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { background: var(--jkd-grey); color: var(--jkd-text); }
/* The remove button is an icon; the word next to it says what it does (French through :lang, WPML sets it) */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: auto;
	height: 40px;
	padding: 0 6px;
	margin-left: -6px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--jkd-muted);
	text-decoration: none;
	cursor: pointer;
}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link svg { width: 20px; height: 20px; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link::after { content: "Remove"; }
html:lang(fr) body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link::after { content: "Retirer"; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover { color: var(--jkd-red); text-decoration: none; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:focus-visible { outline: 2px solid var(--jkd-red); outline-offset: 2px; }
/* Line total */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { padding-left: 20px; }
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount {
	font: 800 20px/1.1 var(--jkd-display);
	letter-spacing: .02em;
	color: var(--jkd-text);
	white-space: nowrap;
}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total-price-and-sale-badge-wrapper { align-items: flex-end; }

/* "How delivery works", under the units */
body.woocommerce-cart .wc-block-cart__main .jkd-help--title {
	margin: 26px 0 12px;
	padding: 0;
	font: 800 18px/1.1 var(--jkd-display);
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--jkd-text);
}
body.woocommerce-cart .wc-block-cart__main .jkd-help--title::before { content: none; }
body.woocommerce-cart .wc-block-cart__main .jkd-help { max-width: 62ch; margin-bottom: 10px; }
body.woocommerce-cart .wc-block-cart__main .jkd-help--note { padding-left: 0; margin-top: 4px; font-size: 13.5px; }
body.woocommerce-cart .wc-block-cart__main .jkd-help--note::before { content: none; }

/* Summary (the sidebar): a card, sticky under the sticky header on laptops */
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar {
	box-sizing: border-box;
	padding: 22px 24px 24px;
	border: 1px solid var(--jkd-line);
	border-radius: var(--jkd-radius);
	background: #fff;
}
body.woocommerce-cart .wc-block-cart.is-large .wc-block-cart__sidebar { position: sticky; top: 84px; align-self: flex-start; }
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
	display: block;
	margin: 0;
	padding: 0 0 14px;
	border: 0;
	font: 800 20px/1.1 var(--jkd-display);
	letter-spacing: .03em;
	text-transform: uppercase;
	text-align: left;
	color: var(--jkd-text);
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper { padding: 12px 0; border-top: 1px solid var(--jkd-line); }
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper:empty,
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper:empty { display: none; }
.wc-block-components-totals-item { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 16px; margin: 0; padding: 0; font-size: 15px; line-height: 1.4; }
.wc-block-components-totals-item + .wc-block-components-totals-item { margin-top: 6px; }
.wc-block-components-totals-item__label { flex: 1 1 auto; font-weight: 500; color: var(--jkd-text); }
.wc-block-components-totals-item__value { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--jkd-text); white-space: nowrap; }
.wc-block-components-totals-item__description { flex: 0 0 100%; margin: 0; font-size: 13px; line-height: 1.4; color: var(--jkd-muted); }
.wc-block-components-totals-item__description:empty { display: none; }
.wc-block-components-totals-taxes .wc-block-components-totals-item__label { font-weight: 400; color: var(--jkd-muted); }
.wc-block-components-totals-taxes .wc-block-components-totals-item__value { font-weight: 500; }
body.woocommerce-cart .wc-block-components-totals-footer-item { margin: 0; padding: 0; }
body.woocommerce-checkout .wc-block-components-totals-footer-item { margin: 0; padding: 0 16px; } /* checkout rows keep WooCommerce's 16px inset */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font: 700 17px/1.2 var(--global-body-font-family, Saira, sans-serif); color: var(--jkd-text); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 800 26px/1 var(--jkd-display); letter-spacing: .01em; }
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item),
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) { padding-top: 14px; border-top: 2px solid var(--jkd-text); }
body.woocommerce-cart .wc-block-cart__submit { margin: 18px 0 0; padding: 0; }
body.woocommerce-cart .wc-block-cart__submit-container { padding: 0; }
body.woocommerce-cart .wc-block-cart__submit-button { width: 100%; }
body.woocommerce-cart .wc-block-cart__sidebar .jkd-aside { margin-top: 14px; font-size: 13.5px; }
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__payment-options:empty { display: none; }

/* Empty cart: a dashed box with the ways back, then the newest parts in the shop's own cards */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block { margin: 0; }
.jkd-empty-cart {
	max-width: 640px;
	margin: 0 0 clamp(32px, 3vw, 48px) !important;
	padding: clamp(26px, 1.6vw, 34px) clamp(24px, 1.5vw, 32px) clamp(22px, 1.4vw, 28px);
	border: 1px dashed var(--jkd-line);
	border-radius: var(--jkd-radius);
}
.jkd-empty-cart .jkd-empty-cart__title { margin: 0 0 6px; font-size: 24px; text-transform: uppercase; }
.jkd-empty-cart .jkd-empty-cart__text { margin: 0 0 16px; color: var(--jkd-muted); }
.jkd-empty-cart .jkd-empty-cart__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.jkd-empty-cart .wp-block-button { margin: 0; }
.jkd-empty-cart .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 0 20px;
	border: 2px solid var(--jkd-red);
	border-radius: 4px;
	background: var(--jkd-red);
	color: #fff;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: none;
}
.jkd-empty-cart .jkd-empty-cart__primary .wp-block-button__link:hover { background: var(--global-palette2, #b0141f); border-color: var(--global-palette2, #b0141f); color: #fff; }
.jkd-empty-cart .jkd-empty-cart__secondary .wp-block-button__link { background: transparent; border-color: var(--jkd-text); color: var(--jkd-text); }
.jkd-empty-cart .jkd-empty-cart__secondary .wp-block-button__link:hover { background: var(--jkd-text); color: #fff; }
.jkd-empty-cart .jkd-empty-cart__call { margin: 0; padding-top: 14px; border-top: 1px solid var(--jkd-line); font-size: 14px; color: var(--jkd-muted); }
.jkd-empty-cart .jkd-empty-cart__call a { color: var(--jkd-text); font-weight: 700; text-decoration: none; }
.jkd-empty-cart .jkd-empty-cart__call a:hover { color: var(--jkd-red); }
body.woocommerce-cart .jkd-empty-cart__arrivals { margin: 0 0 16px; padding: 28px 0 0; border-top: 1px solid var(--jkd-line); font-size: 24px; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .woocommerce { margin: 0; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.products { margin: 0; padding: 0; }

/* ================================================================== Checkout */
body.woocommerce-checkout .wp-block-woocommerce-checkout { margin: 0; }
body.woocommerce-checkout .wc-block-checkout.wc-block-components-sidebar-layout { column-gap: var(--jkd-store-gap); margin: 0; }
/* The form keeps a readable width; the summary stands on the right edge, under the header's cart icon */
body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__main { flex: 1 1 0; max-width: 760px; }
body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar { flex: 0 0 var(--jkd-store-aside); width: var(--jkd-store-aside); margin-left: auto; top: 84px; }
body.woocommerce-checkout .wc-block-checkout__form { max-width: none; }

/* Steps: a condensed uppercase title, a muted line under it, then the fields */
body.woocommerce-checkout .wc-block-components-checkout-step { margin: 0 0 clamp(28px, 2.4vw, 36px); padding: 0; border: 0; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading { margin: 0 0 12px; }
body.woocommerce-checkout .wc-block-components-checkout-step__title {
	margin: 0;
	font: 800 22px/1.1 var(--jkd-display);
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--jkd-text);
}
body.woocommerce-checkout .wc-block-components-checkout-step__description { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: var(--jkd-muted); }
body.woocommerce-checkout .wc-block-components-checkout-step__content { margin: 0; }
body.woocommerce-checkout .wc-block-checkout__guest-checkout-notice,
body.woocommerce-checkout .wc-block-checkout__login-prompt { margin: 10px 0 0; font-size: 14px; color: var(--jkd-muted); }
body.woocommerce-checkout .wc-block-checkout__login-prompt a,
body.woocommerce-checkout .wc-block-checkout__guest-checkout-notice a { color: var(--jkd-text); font-weight: 600; }
/* "Log in" sits on the title's line, on the right */
body.woocommerce-checkout .wc-block-components-checkout-step__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading-content { font-size: 14px; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading-content a,
body.woocommerce-checkout .wc-block-components-checkout-step__heading-content .wc-block-checkout__login-prompt { margin: 0; font-weight: 600; color: var(--jkd-text); text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading-content a:hover { color: var(--jkd-red); }

/* Text fields (floating labels are WooCommerce's; the box is ours) */
body.woocommerce-checkout .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout .wc-block-components-text-input input[type="number"],
body.woocommerce-checkout .wc-block-components-text-input input[type="password"],
body.woocommerce-checkout .wc-block-components-text-input input[type="tel"],
body.woocommerce-checkout .wc-block-components-text-input input[type="text"],
body.woocommerce-checkout .wc-block-components-text-input input[type="url"],
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-textarea {
	border: 1px solid var(--jkd-line);
	border-radius: 4px;
	background: #fff;
	color: var(--jkd-text);
	font-family: var(--global-body-font-family, Saira, sans-serif);
	font-size: 16px;
	box-shadow: none;
	transition: border-color .15s;
}
body.woocommerce-checkout .wc-block-components-text-input input:hover,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:hover,
body.woocommerce-checkout .wc-block-components-textarea:hover { border-color: var(--jkd-muted); }
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus { border-color: var(--jkd-text); box-shadow: none; outline: 2px solid var(--jkd-red); outline-offset: 2px; }
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label { color: var(--jkd-muted); font-family: var(--global-body-font-family, Saira, sans-serif); }
body.woocommerce-checkout .wc-block-components-text-input.has-error input { border-color: var(--jkd-red); }
body.woocommerce-checkout .wc-block-components-validation-error { font-size: 13px; color: var(--jkd-red); }
body.woocommerce-checkout .wc-block-components-validation-error p { margin: 4px 0 0; }
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	font-size: 14px;
	font-weight: 600;
	color: var(--jkd-text);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle:hover { color: var(--jkd-red); }
/* The saved-address card ("Edit") */
body.woocommerce-checkout .wc-block-components-address-card { padding: 14px 16px; border: 1px solid var(--jkd-line); border-radius: 6px; }
body.woocommerce-checkout .wc-block-components-address-card__edit { font-weight: 600; color: var(--jkd-text); text-decoration: underline; text-underline-offset: 3px; }

/* Ship or pickup: two equal tiles */
/* No grey tray around the two tiles: their edges line up with the fields under them */
body.woocommerce-checkout .wc-block-checkout__shipping-method-container { gap: 10px; padding: 0; background: none; }
body.woocommerce-checkout .wc-block-checkout__shipping-method-option {
	min-height: 56px;
	padding: 8px 16px;
	border: 1px solid var(--jkd-line);
	border-radius: 6px;
	background: #fff;
	color: var(--jkd-text);
	font-weight: 600;
	transition: border-color .15s, background-color .15s;
}
body.woocommerce-checkout .wc-block-checkout__shipping-method-option:hover,
body.woocommerce-checkout .wc-block-checkout__shipping-method-option:focus-within { background: var(--jkd-grey); border-color: var(--jkd-muted); outline: none; }
body.woocommerce-checkout .wc-block-checkout__shipping-method-option:focus-visible { outline: 2px solid var(--jkd-red); outline-offset: 2px; }
body.woocommerce-checkout .wc-block-checkout__shipping-method-option.wc-block-checkout__shipping-method-option--selected { background: #fff; border: 1px solid var(--jkd-text); box-shadow: inset 0 0 0 1px var(--jkd-text); }
body.woocommerce-checkout .wc-block-checkout__shipping-method-option-icon { width: 24px; height: 24px; color: var(--jkd-red); }
body.woocommerce-checkout .wc-block-checkout__shipping-method-option-title-wrapper { align-items: center; gap: 10px; }
body.woocommerce-checkout .wc-block-checkout__shipping-method-option-title { font-size: 15px; line-height: 1.3; }

/* Radio lists: delivery options, pickup location, payment methods */
body.woocommerce-checkout .wc-block-components-radio-control { display: flex; flex-direction: column; gap: 8px; }
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
	position: relative;
	margin: 0;
	border: 1px solid var(--jkd-line) !important;
	border-radius: 6px;
	background: #fff;
	transition: border-color .15s;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { border: 0 !important; border-radius: 0; }
body.woocommerce-checkout .wc-block-components-radio-control__option::before,
body.woocommerce-checkout .wc-block-components-radio-control__option::after,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option::before,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option::after { content: none !important; }
body.woocommerce-checkout .wc-block-components-radio-control__option { display: block; min-height: 56px; padding: 16px 16px 16px 50px; font-size: 15px; line-height: 1.4; cursor: pointer; }
body.woocommerce-checkout .wc-block-components-radio-control__option:hover,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option:hover { border-color: var(--jkd-muted) !important; }
body.woocommerce-checkout .wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__option-checked) { border-color: var(--jkd-text) !important; box-shadow: inset 0 0 0 1px var(--jkd-text); }
body.woocommerce-checkout .wc-block-components-radio-control__option.wc-block-components-radio-control__option--checked-option-highlighted,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted { background: #fff; }
body.woocommerce-checkout .wc-block-components-radio-control__input {
	position: absolute;
	left: 16px;
	top: 18px;
	width: 20px;
	height: 20px;
	margin: 0;
	border: 2px solid var(--jkd-muted);
	border-radius: 50%;
	background: #fff;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}
body.woocommerce-checkout .wc-block-components-radio-control__input:checked { border-color: var(--jkd-red); }
body.woocommerce-checkout .wc-block-components-radio-control__input:checked::before {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--jkd-red);
	min-width: 0;
	min-height: 0;
	width: auto;
	height: auto;
	margin: 0;
	transform: none;
}
body.woocommerce-checkout .wc-block-components-radio-control__input:focus-visible { outline: 2px solid var(--jkd-red); outline-offset: 2px; }
/* Payment: WooCommerce moves this radio up 9px (translateY), so it sat above its label; centred on the label's first line instead */
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__input { top: 16px; transform: none; }
body.woocommerce-checkout .wc-block-components-radio-control__option-layout { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 16px; padding: 0; }
body.woocommerce-checkout .wc-block-components-radio-control__label-group { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 16px; width: 100%; }
body.woocommerce-checkout .wc-block-components-radio-control__label { font-weight: 600; color: var(--jkd-text); }
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label { margin-left: auto; font: 800 17px/1 var(--jkd-display); letter-spacing: .02em; color: var(--jkd-text); white-space: nowrap; }
body.woocommerce-checkout .wc-block-components-radio-control__description,
body.woocommerce-checkout .wc-block-components-radio-control__secondary-description { flex: 0 0 100%; margin: 2px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--jkd-muted); }
body.woocommerce-checkout .wc-block-components-radio-control__description-group { flex: 0 0 100%; }
/* Pickup (when offered): the shop's name, its town and "We'll call you". No price tag on it: the total says it. */
body.woocommerce-checkout .wc-block-components-local-pickup-select .wc-block-components-radio-control__secondary-label { display: none; }
/* Payment: the method's own text sits in the box, readable */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { padding: 0 16px 16px 50px; font-size: 14.5px; line-height: 1.5; color: var(--jkd-text); }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content p { margin: 0 0 8px; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content p:last-child { margin-bottom: 0; }
body.woocommerce-checkout .wc-block-components-payment-method-label { display: inline-flex; align-items: center; gap: 10px; }
body.woocommerce-checkout .wc-block-components-payment-method-icons { margin: 0; }
body.woocommerce-checkout .wc-block-components-payment-method-icons img { height: 22px; }
/* Express checkout (Apple Pay, Google Pay once Stripe is connected): same frame as the other steps */
body.woocommerce-checkout .wc-block-components-express-payment { margin: 0 0 clamp(28px, 2.4vw, 36px); border: 1px solid var(--jkd-line); border-radius: 6px; }
body.woocommerce-checkout .wc-block-components-express-payment__title-container { margin: -14px 0 0; }
body.woocommerce-checkout .wc-block-components-express-payment__title { font: 800 14px/1 var(--jkd-display); letter-spacing: .06em; text-transform: uppercase; color: var(--jkd-muted); }
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule { margin: 16px 0 0; color: var(--jkd-muted); font-size: 13px; }

/* Checkboxes: billing same as shipping, order note, create an account */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	width: 22px;
	height: 22px;
	min-width: 22px;
	margin: 0 10px 0 0;
	border: 1.5px solid var(--jkd-muted);
	border-radius: 4px;
	background: #fff;
	vertical-align: middle;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { border-color: var(--jkd-text); background: var(--jkd-text); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus-visible { outline: 2px solid var(--jkd-red); outline-offset: 2px; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { left: 3px; top: 50%; width: 16px; height: 13px; margin-top: -7px; fill: #fff; }
.wc-block-components-checkbox label { display: flex; align-items: center; min-height: 44px; font-size: 15px; color: var(--jkd-text); cursor: pointer; }
.wc-block-components-checkbox .wc-block-components-checkbox__label { line-height: 1.4; }
body.woocommerce-checkout .wc-block-checkout__add-note { margin: 0; }
body.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox { margin: 0; }
body.woocommerce-checkout .wc-block-checkout__order-notes.wc-block-components-checkout-step { margin-bottom: 20px; }
body.woocommerce-checkout .wc-block-components-textarea { width: 100%; min-height: 96px; margin-top: 10px; padding: 12px 16px; }

/* Terms line and the button */
body.woocommerce-checkout .wc-block-checkout__terms { margin: 0 0 18px; padding: 18px 0 0; border-top: 1px solid var(--jkd-line); font-size: 14px; line-height: 1.5; color: var(--jkd-muted); }
body.woocommerce-checkout .wc-block-checkout__terms a { color: var(--jkd-text); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-checkout .wc-block-checkout__terms a:hover { color: var(--jkd-red); }
body.woocommerce-checkout .wc-block-checkout__actions { margin: 0; padding: 0; }
body.woocommerce-checkout .wc-block-checkout__actions_row { padding: 0; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button { width: 100%; min-height: 56px; font-size: 16px; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible,
body.woocommerce-cart .wc-block-cart__submit-button:focus-visible { outline: 2px solid var(--jkd-red); outline-offset: 3px; }
body.woocommerce-checkout .wc-block-checkout__main .jkd-cnote { margin-top: 14px; font-size: 14px; }
body.woocommerce-checkout .wc-block-checkout__main .jkd-cnote--shield { margin-top: 22px; }

/* The order summary (sidebar): units, then the totals. The block draws its own box; the sidebar card is the box here. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { border: 0; border-radius: 0; font-size: inherit; line-height: inherit; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title { display: flex; align-items: baseline; justify-content: space-between; margin: 0; padding: 0; border: 0; cursor: default; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price { display: none; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon { display: none; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__content { padding: 0; }
body.woocommerce-checkout .wc-block-components-order-summary { margin: 0; }
body.woocommerce-checkout .wc-block-components-order-summary-item { padding: 12px 0; border-top: 1px solid var(--jkd-line); }
body.woocommerce-checkout .wc-block-components-order-summary-item:first-child { border-top: 0; padding-top: 0; }
body.woocommerce-checkout .wc-block-components-order-summary-item__image { width: 64px; margin: 0; padding: 0 0 0 0; }
body.woocommerce-checkout .wc-block-components-order-summary-item__image > img { display: block; width: 64px; max-width: 64px; aspect-ratio: 4 / 3; border-radius: 4px; background: var(--jkd-grey); object-fit: cover; }
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity { right: -2px; top: -2px; min-width: 20px; min-height: 20px; background: var(--jkd-red); color: #fff; font-weight: 700; transform: translate(40%, -40%); }
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity span { color: #fff; }
body.woocommerce-checkout .wc-block-components-order-summary-item__description { padding: 0 12px 0 14px; gap: 3px; }
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size: 14.5px; font-weight: 700; line-height: 1.3; color: var(--jkd-text); }
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-price { font-size: 13px; color: var(--jkd-muted); }
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata { font-size: 12.5px; line-height: 1.45; color: var(--jkd-muted); }
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description { margin: 0 0 3px; }
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description p { margin: 0; }
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-details.wc-block-components-product-details { font-size: 12.5px; }
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price { font: 800 16px/1.3 var(--jkd-display); letter-spacing: .02em; color: var(--jkd-text); white-space: nowrap; }
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price .wc-block-components-product-price { font: inherit; }
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price .wc-block-components-product-low-stock-badge { display: none; }
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper { padding-top: 0; border-top: 0; }

/* ================================================================== Order received */
body.woocommerce-checkout .woocommerce-order {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--jkd-store-aside);
	column-gap: var(--jkd-store-gap);
	align-items: start;
}
body.woocommerce-checkout .woocommerce-order > * { grid-column: 1; min-width: 0; }
body.woocommerce-checkout .woocommerce-order .woocommerce-thankyou-order-received { margin: 0 0 16px; font-size: clamp(17px, 1.2vw, 19px); line-height: 1.5; color: var(--jkd-text); }
body.woocommerce-checkout .woocommerce-order .woocommerce-thankyou-order-received b { font-weight: 700; }
/* The facts strip: total and payment method (the number and the date are in the page header) */
body.woocommerce-checkout .woocommerce-order ul.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 24px; padding: 0; }
/* WooCommerce's clearfix ::before would be a flex item and push the first chip 8px in */
body.woocommerce-checkout .woocommerce-order ul.woocommerce-order-overview::before,
body.woocommerce-checkout .woocommerce-order ul.woocommerce-order-overview::after { content: none; }
body.woocommerce-checkout .woocommerce-order ul.woocommerce-order-overview li { display: none; margin: 0; padding: 8px 14px; border: 1px solid var(--jkd-line); border-radius: 6px; font-size: 13.5px; line-height: 1.4; color: var(--jkd-muted); }
body.woocommerce-checkout .woocommerce-order ul.woocommerce-order-overview li.total,
body.woocommerce-checkout .woocommerce-order ul.woocommerce-order-overview li.method,
body.woocommerce-checkout .woocommerce-order ul.woocommerce-order-overview li.email { display: block; }
body.woocommerce-checkout .woocommerce-order ul.woocommerce-order-overview li strong { display: inline; margin-left: 4px; font-weight: 700; color: var(--jkd-text); }
/* What happens next */
.jkd-next { margin: 0 0 clamp(28px, 2.4vw, 36px); padding: 22px 24px 24px; border: 1px solid var(--jkd-line); border-left: 4px solid var(--jkd-red); border-radius: var(--jkd-radius); }
.jkd-next__title { margin: 0 0 14px; font: 800 20px/1.1 var(--jkd-display); letter-spacing: .03em; text-transform: uppercase; }
/* .entry-content ol too: Kadence's list indent put the numbers 32px past the title */
.jkd-next__steps,
.entry-content ol.jkd-next__steps { list-style: none; margin: 0; padding: 0; counter-reset: jkd-step; display: flex; flex-direction: column; gap: 10px; }
.jkd-next__steps li { position: relative; margin: 0; padding-left: 40px; font-size: 15.5px; line-height: 1.5; counter-increment: jkd-step; }
.jkd-next__steps li::before {
	content: counter(jkd-step);
	position: absolute;
	left: 0;
	top: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--jkd-black);
	color: #fff;
	font: 800 13px/26px var(--jkd-display);
	text-align: center;
}
.jkd-next__steps b { font-weight: 700; }
.jkd-transfer { display: grid; margin: 18px 0 0; border: 1px solid var(--jkd-line); border-radius: 6px; overflow: hidden; }
.jkd-transfer > div { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); gap: 10px; padding: 10px 16px; border-top: 1px solid var(--jkd-line); font-size: 15px; line-height: 1.4; }
.jkd-transfer > div:first-child { border-top: 0; }
.jkd-transfer dt { margin: 0; color: var(--jkd-muted); }
.jkd-transfer dd { margin: 0; font-weight: 700; }
.jkd-transfer dd .amount { font: 800 20px/1.2 var(--jkd-display); letter-spacing: .01em; }
/* The order table */
body.woocommerce-checkout .woocommerce-order .woocommerce-order-details,
body.woocommerce-account .woocommerce-order-details { margin: 0 0 clamp(28px, 2.4vw, 36px); }
body.woocommerce-checkout .woocommerce-order .woocommerce-order-details__title,
body.woocommerce-account .woocommerce-order-details__title,
body.woocommerce-checkout .woocommerce-order .woocommerce-column__title,
body.woocommerce-account .woocommerce-column__title { margin: 0 0 12px; font: 800 20px/1.1 var(--jkd-display); letter-spacing: .03em; text-transform: uppercase; }
.woocommerce table.woocommerce-table--order-details { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-radius: 0; font-size: 15px; }
.woocommerce table.woocommerce-table--order-details th,
.woocommerce table.woocommerce-table--order-details td { padding: 12px 0; border: 0; border-top: 1px solid var(--jkd-line); text-align: left; vertical-align: top; line-height: 1.45; }
.woocommerce table.woocommerce-table--order-details thead th { padding-top: 0; border-top: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--jkd-muted); }
.woocommerce table.woocommerce-table--order-details th:last-child,
.woocommerce table.woocommerce-table--order-details td:last-child { text-align: right; white-space: nowrap; }
.woocommerce table.woocommerce-table--order-details td.woocommerce-table__product-name a { font-weight: 700; color: var(--jkd-text); text-decoration: none; }
.woocommerce table.woocommerce-table--order-details td.woocommerce-table__product-name a:hover { color: var(--jkd-red); }
.woocommerce table.woocommerce-table--order-details td.woocommerce-table__product-name .product-quantity { font-weight: 500; color: var(--jkd-muted); }
.woocommerce table.woocommerce-table--order-details .wc-item-meta { list-style: none; margin: 4px 0 0; padding: 0; font-size: 13px; color: var(--jkd-muted); }
.woocommerce table.woocommerce-table--order-details tfoot th { font-weight: 500; color: var(--jkd-muted); }
.woocommerce table.woocommerce-table--order-details tfoot td { font-weight: 600; }
.woocommerce table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce table.woocommerce-table--order-details tfoot tr:last-child td { padding-top: 14px; border-top: 2px solid var(--jkd-text); color: var(--jkd-text); }
.woocommerce table.woocommerce-table--order-details tfoot tr:last-child th { font-weight: 700; font-size: 16px; }
.woocommerce table.woocommerce-table--order-details tfoot tr:last-child td { font: 800 22px/1.2 var(--jkd-display); letter-spacing: .01em; }
.woocommerce table.woocommerce-table--order-details tfoot tr:last-child td small { display: block; font: 400 13px/1.4 var(--global-body-font-family, Saira, sans-serif); color: var(--jkd-muted); }
/* Customer details: the card on the right */
body.woocommerce-checkout .woocommerce-order .woocommerce-customer-details {
	grid-column: 2;
	grid-row: 1 / span 4;
	margin: 0;
	padding: 22px 24px 24px;
	border: 1px solid var(--jkd-line);
	border-radius: var(--jkd-radius);
}
.woocommerce-customer-details .woocommerce-columns--addresses { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; width: auto; margin: 0; }
.woocommerce-customer-details .woocommerce-columns--addresses::before,
.woocommerce-customer-details .woocommerce-columns--addresses::after { content: none; }
.woocommerce .woocommerce-customer-details .col2-set .col-1,
.woocommerce .woocommerce-customer-details .col2-set .col-2,
.woocommerce-customer-details .woocommerce-column { float: none; width: auto; margin: 0; }
.woocommerce .woocommerce-customer-details address { margin: 0; padding: 0; border: 0; border-radius: 0; font-style: normal; font-size: 15px; line-height: 1.55; }
.woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-customer-details .woocommerce-customer-details--email { margin: 8px 0 0; padding: 0; color: var(--jkd-muted); }
.woocommerce-customer-details .woocommerce-customer-details--phone::before,
.woocommerce-customer-details .woocommerce-customer-details--email::before { content: none; }
.woocommerce-customer-details .jkd-order-help { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--jkd-line); }
.woocommerce-customer-details .jkd-order-help::before { top: 18px; } /* level with the text, under the rule's padding */

/* ================================================================== My account */
body.woocommerce-account .entry-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
body.woocommerce-account .woocommerce-notices-wrapper:empty { display: none; }

/* Logged out: log in on the left, create an account on the right */
body.woocommerce-account #customer_login.col2-set { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 2.5vw, 40px); max-width: 1040px; width: auto; }
body.woocommerce-account #customer_login.col2-set::before,
body.woocommerce-account #customer_login.col2-set::after { content: none; }
body.woocommerce-account #customer_login .col-1,
body.woocommerce-account #customer_login .col-2 { float: none; width: auto; margin: 0; padding: clamp(22px, 2vw, 30px) clamp(22px, 2vw, 30px) clamp(20px, 1.8vw, 26px); border: 1px solid var(--jkd-line); border-radius: var(--jkd-radius); }
body.woocommerce-account #customer_login .col-2 { background: var(--jkd-grey); border-color: var(--jkd-grey); }
body.woocommerce-account #customer_login h2,
body.woocommerce-account .lost_reset_password h2 { margin: 0 0 16px; font-size: 24px; text-transform: uppercase; }
body.woocommerce-account .woocommerce form.login,
body.woocommerce-account .woocommerce form.register,
body.woocommerce-account .woocommerce form.lost_reset_password { margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
body.woocommerce-account .woocommerce form.register .woocommerce-privacy-policy-text p { margin: 0 0 16px; font-size: 13.5px; line-height: 1.5; color: var(--jkd-muted); }
body.woocommerce-account .woocommerce form.register .woocommerce-privacy-policy-text a { color: var(--jkd-text); }
body.woocommerce-account .woocommerce form.register > p:first-of-type + p { font-size: 14px; }
body.woocommerce-account .woocommerce form.lost_reset_password { max-width: 560px; }

/* Forms (log in, register, addresses, account details): label over a 48px field, red focus ring */
body.woocommerce-account .woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
body.woocommerce-account .woocommerce form .form-row label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--jkd-text); }
body.woocommerce-account .woocommerce form .form-row label .required { color: var(--jkd-red); text-decoration: none; }
body.woocommerce-account .woocommerce form .form-row .optional { font-weight: 400; color: var(--jkd-muted); }
body.woocommerce-account .woocommerce form .form-row .input-text,
body.woocommerce-account .woocommerce form .form-row select,
body.woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--jkd-line);
	border-radius: 4px;
	background: #fff;
	color: var(--jkd-text);
	font: 500 16px/1.3 var(--global-body-font-family, Saira, sans-serif);
	box-shadow: none;
	transition: border-color .15s;
}
body.woocommerce-account .woocommerce form .form-row .input-text:hover,
body.woocommerce-account .woocommerce form .form-row select:hover { border-color: var(--jkd-muted); }
body.woocommerce-account .woocommerce form .form-row .input-text:focus,
body.woocommerce-account .woocommerce form .form-row select:focus { border-color: var(--jkd-text); box-shadow: none; outline: 2px solid var(--jkd-red); outline-offset: 2px; }
body.woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding: 0; color: var(--jkd-text); }
body.woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 10px; }
body.woocommerce-account .woocommerce form .password-input { display: block; width: 100%; }
body.woocommerce-account .woocommerce form .show-password-input { top: 50%; right: 12px; transform: translateY(-50%); }
body.woocommerce-account .woocommerce form .form-row-first,
body.woocommerce-account .woocommerce form .form-row-last { float: none; width: auto; }
body.woocommerce-account .woocommerce form .woocommerce-address-fields__field-wrapper,
body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; max-width: 720px; }
body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm > * { grid-column: 1 / -1; }
body.woocommerce-account .woocommerce form .form-row-wide,
body.woocommerce-account .woocommerce form .woocommerce-address-fields__field-wrapper .form-row:not(.form-row-first):not(.form-row-last) { grid-column: 1 / -1; }
body.woocommerce-account .woocommerce form .form-row-first { grid-column: 1; }
body.woocommerce-account .woocommerce form .form-row-last { grid-column: 2; }
body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm .form-row-first { grid-column: 1; }
body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm .form-row-last { grid-column: 2; }
body.woocommerce-account .woocommerce form .woocommerce-address-fields > p,
body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm fieldset { margin: 8px 0 0; padding: 0; border: 0; }
body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm fieldset legend { margin: 10px 0 12px; padding: 0; font: 800 18px/1.1 var(--jkd-display); letter-spacing: .03em; text-transform: uppercase; }
body.woocommerce-account .woocommerce form .form-row .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; font-weight: 500; cursor: pointer; }
body.woocommerce-account .woocommerce form .form-row .woocommerce-form__input-checkbox { width: 20px; height: 20px; margin: 0; accent-color: var(--jkd-red); }
body.woocommerce-account .woocommerce form.login .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin-top: 4px; }
body.woocommerce-account .woocommerce .woocommerce-form-login .woocommerce-form-login__submit { float: none; margin: 0; order: -1; }
body.woocommerce-account .woocommerce .lost_password { margin: 0; font-size: 14px; }
body.woocommerce-account .woocommerce .lost_password a { color: var(--jkd-text); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-account .woocommerce .lost_password a:hover { color: var(--jkd-red); }
body.woocommerce-account .woocommerce button.button { min-height: 48px; font-size: 14px; }
body.woocommerce-account .woocommerce form .woocommerce-Button { margin-top: 4px; }

/* Logged in: the sections on the left, the content on the right. Kadence floats the two (its "nav left" layout);
   the selectors carry .entry-content to outrank that. */
body.woocommerce-account.logged-in .entry-content > .woocommerce:has(.account-navigation-wrap) { grid-template-columns: 240px minmax(0, 1fr); column-gap: var(--jkd-store-gap); align-items: start; }
body.woocommerce-account .entry-content .account-navigation-wrap { grid-column: 1; grid-row: 1; float: none; width: auto; margin: 0; padding: 0; border: 0; position: sticky; top: 84px; }
body.woocommerce-account .entry-content .kadence-account-avatar { display: block; min-height: 0; margin: 0 0 14px; padding: 0; }
body.woocommerce-account .entry-content .kadence-customer-image { display: none; } /* a Gravatar link is one site too many for a parts buyer */
body.woocommerce-account .entry-content .account-navigation-wrap .kadence-account-avatar .kadence-customer-name { padding: 0; font: 800 20px/1.1 var(--jkd-display); letter-spacing: .02em; text-transform: uppercase; color: var(--jkd-text); }
body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation { width: auto; margin: 0; padding: 0; border: 0; }
body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--jkd-line); }
body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--jkd-line); }
body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	min-height: 46px;
	margin: 0;
	padding: 0 12px;
	border: 0;
	border-left: 3px solid transparent;
	font-size: 15px;
	font-weight: 600;
	color: var(--jkd-text);
	text-decoration: none;
	transition: background-color .15s, border-color .15s;
}
body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li:hover a { border: 0; border-left: 3px solid transparent; background: var(--jkd-grey); }
body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li.is-active a:hover { border: 0; border-left: 3px solid var(--jkd-red); background: var(--jkd-grey); font-weight: 700; }
body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--jkd-muted); font-weight: 500; }
body.woocommerce-account .entry-content .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; float: none; width: auto; min-width: 0; margin: 0; padding: 0; }
body.woocommerce-account .woocommerce-MyAccount-content > p { max-width: 62ch; }
body.woocommerce-account .woocommerce-MyAccount-content > p a { color: var(--jkd-text); font-weight: 600; }
.jkd-account__title { margin: 0 0 18px; font-size: 26px; text-transform: uppercase; }

/* Dashboard cards */
.jkd-dash { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 22px 0 22px; }
.jkd-dash__card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px 18px 18px 60px;
	border: 1px solid var(--jkd-line);
	border-radius: var(--jkd-radius);
	color: var(--jkd-text);
	text-decoration: none;
	transition: border-color .15s, box-shadow .15s;
}
.jkd-dash__card:hover { border-color: var(--jkd-muted); box-shadow: 0 10px 24px -16px rgba(0, 0, 0, .35); color: var(--jkd-text); }
.jkd-dash__card::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 18px;
	width: 26px;
	height: 26px;
	background: var(--jkd-red);
	-webkit-mask: url(../commerce/receipt.svg) center / contain no-repeat;
	mask: url(../commerce/receipt.svg) center / contain no-repeat;
}
.jkd-dash__card--edit-address::before { -webkit-mask-image: url(../commerce/home.svg); mask-image: url(../commerce/home.svg); }
.jkd-dash__card--edit-account::before { -webkit-mask-image: url(../commerce/user.svg); mask-image: url(../commerce/user.svg); }
.jkd-dash__card b { font-size: 16px; font-weight: 700; line-height: 1.3; }
.jkd-dash__card span { font-size: 13.5px; line-height: 1.45; color: var(--jkd-muted); }
.jkd-dash__help { font-size: 14px; }

/* Orders */
body.woocommerce-account table.woocommerce-orders-table { width: 100%; margin: 0 0 20px; border: 0; border-collapse: collapse; font-size: 15px; }
body.woocommerce-account table.woocommerce-orders-table th,
body.woocommerce-account table.woocommerce-orders-table td { padding: 12px 12px 12px 0; border: 0; border-top: 1px solid var(--jkd-line); text-align: left; vertical-align: middle; line-height: 1.4; }
body.woocommerce-account table.woocommerce-orders-table thead th { padding-top: 0; border-top: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--jkd-muted); }
body.woocommerce-account table.woocommerce-orders-table td a { color: var(--jkd-text); font-weight: 700; text-decoration: none; }
body.woocommerce-account table.woocommerce-orders-table td a:hover { color: var(--jkd-red); }
body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { text-align: right; padding-right: 0; }
body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button { min-height: 40px; padding: 0 16px; font-size: 13px; }
body.woocommerce-account .woocommerce-pagination { display: flex; gap: 10px; }
body.woocommerce-account .woocommerce-orders-table__cell-order-total .amount { font-weight: 700; }

/* One order */
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type { font-size: 16px; }
body.woocommerce-account .woocommerce-MyAccount-content > p mark { background: none; font-weight: 700; color: var(--jkd-text); }
body.woocommerce-account .woocommerce-customer-details { margin: 0; }
body.woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body.woocommerce-account .woocommerce-customer-details .woocommerce-column { padding: 18px 20px; border: 1px solid var(--jkd-line); border-radius: var(--jkd-radius); }

/* Addresses */
body.woocommerce-account .woocommerce-Addresses.col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: auto; max-width: 880px; }
body.woocommerce-account .woocommerce-Addresses.col2-set::before,
body.woocommerce-account .woocommerce-Addresses.col2-set::after { content: none; }
body.woocommerce-account .woocommerce-Addresses .col-1,
body.woocommerce-account .woocommerce-Addresses .col-2 { float: none; width: auto; padding: 18px 20px 20px; border: 1px solid var(--jkd-line); border-radius: var(--jkd-radius); }
body.woocommerce-account .woocommerce-Address-title { display: flex; align-items: baseline; gap: 16px; margin: 0 0 10px; }
body.woocommerce-account .woocommerce-Address-title h2 { flex: 1 1 auto; margin: 0; font-size: 18px; text-transform: uppercase; text-align: left; }
body.woocommerce-account .woocommerce-Address-title .edit { flex: none; float: none; margin: 0; padding: 0; font-size: 13.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--jkd-red); text-decoration: none; white-space: nowrap; }
body.woocommerce-account .woocommerce-Address-title .edit:hover { color: var(--jkd-text); }
body.woocommerce-account .woocommerce-Address address { margin: 0; font-style: normal; font-size: 15px; line-height: 1.55; }
body.woocommerce-account .woocommerce-MyAccount-content > p:has(+ .woocommerce-Addresses) { color: var(--jkd-muted); }

/* ------------------------------------------------------------------ Keyboard focus on the links we add */
.jkd-store-head a:focus-visible, .jkd-help a:focus-visible, .jkd-aside a:focus-visible, .jkd-cnote a:focus-visible,
.jkd-order-help a:focus-visible, .jkd-dash__help a:focus-visible, .jkd-dash__card:focus-visible, .jkd-empty-cart a:focus-visible,
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible, body.woocommerce-account .woocommerce a:focus-visible,
body.woocommerce-account .woocommerce button:focus-visible { outline: 2px solid var(--jkd-red); outline-offset: 2px; }

/* ================================================================== Wide screens (the page is 1440px from here, 1600px from 1800px) */
@media (min-width: 1440px) {
	.jkd-store-head__line { font-size: 16px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 136px minmax(0, 1fr) auto; padding: 24px 0; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { width: 136px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img { width: 120px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-name { font-size: 17px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-metadata,
	.wc-block-components-product-details.wc-block-components-product-details { font-size: 13.5px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price,
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount { font-size: 22px; }
	body.woocommerce-cart .wc-block-cart__main .jkd-help { font-size: 15px; }
	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-checkout .wc-block-checkout__sidebar,
	body.woocommerce-checkout .woocommerce-order .woocommerce-customer-details { padding: 26px 28px 28px; }
	.wc-block-components-totals-item { font-size: 16px; }
	.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 28px; }
	body.woocommerce-checkout .wc-block-components-checkout-step__title { font-size: 24px; }
	body.woocommerce-checkout .wc-block-components-checkout-step__description { font-size: 15px; }
	body.woocommerce-checkout .wc-block-components-radio-control__option { font-size: 16px; }
	body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { font-size: 15px; }
	body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size: 15px; }
	.jkd-next__steps li { font-size: 16px; }
	.jkd-dash__card b { font-size: 17px; }
	.jkd-dash__card span { font-size: 14px; }
	body.woocommerce-account.logged-in .entry-content > .woocommerce:has(.account-navigation-wrap) { grid-template-columns: 260px minmax(0, 1fr); }
}
@media (min-width: 1800px) {
	body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__main { max-width: 820px; }
	body.woocommerce-cart .wc-block-cart.is-large .wc-block-cart__sidebar,
	body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar { flex-basis: 460px; width: 460px; }
	body.woocommerce-checkout .woocommerce-order { grid-template-columns: minmax(0, 1fr) 460px; }
}

/* ================================================================== Tablets: one column (the blocks switch under 920px of content width, 968px of viewport) */
@media (max-width: 967px) {
	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-checkout .wc-block-checkout__sidebar { position: static; }
	body.woocommerce-account .entry-content .account-navigation-wrap { position: static; }
	body.woocommerce-checkout .woocommerce-order { grid-template-columns: minmax(0, 1fr); }
	body.woocommerce-checkout .woocommerce-order .woocommerce-customer-details { grid-column: 1; grid-row: auto; }
	/* On a tablet the summary opens above the form; the units stay listed */
	body.woocommerce-checkout .wc-block-components-checkout-order-summary__title { cursor: pointer; }
}
/* The cart's summary title is hidden by the block in one column; no hairline where it was */
body.woocommerce-cart .wc-block-cart:not(.is-large) .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper:first-child { padding-top: 0; border-top: 0; }

/* ================================================================== Phones and small tablets */
@media (max-width: 781px) {
	.jkd-store-head { margin-bottom: 20px; padding-bottom: 12px; }
	.jkd-store-head__line { font-size: 14px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 96px minmax(0, 1fr) auto; padding: 16px 0; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { width: 96px; padding-right: 12px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img { width: 84px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-name { font-size: 15px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { padding-left: 12px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price,
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount { font-size: 18px; }
	body.woocommerce-cart .wc-block-cart__main .jkd-help--title { margin-top: 22px; }
	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-checkout .wc-block-checkout__sidebar,
	body.woocommerce-checkout .woocommerce-order .woocommerce-customer-details { padding: 18px 16px 20px; }
	body.woocommerce-cart .wc-block-cart:not(.is-large) .wc-block-cart__sidebar { margin-top: 24px; }
	.jkd-empty-cart .jkd-empty-cart__title { font-size: 22px; }
	.jkd-empty-cart .wp-block-button__link { min-height: 44px; }
	body.woocommerce-checkout .wc-block-components-checkout-step { margin-bottom: 26px; }
	body.woocommerce-checkout .wc-block-components-checkout-step__title { font-size: 20px; }
	/* The summary collapses to one line above the form; the total shows in it */
	body.woocommerce-checkout .wc-block-components-checkout-order-summary__title { cursor: pointer; }
	body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price { display: inline; font: 800 18px/1 var(--jkd-display); letter-spacing: .02em; }
	body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon { display: inline-flex; }
	body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text { padding: 0; }
	body.woocommerce-checkout .wc-block-components-checkout-order-summary__content { padding-top: 14px; }
	body.woocommerce-checkout .wc-block-components-radio-control__option { padding: 14px 14px 14px 46px; }
	body.woocommerce-checkout .wc-block-components-radio-control__input { left: 14px; top: 16px; }
	body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { padding: 0 14px 14px 46px; }
	.jkd-next { padding: 18px 16px 20px; }
	.jkd-transfer > div { grid-template-columns: 6.5em minmax(0, 1fr); padding: 10px 14px; }
	body.woocommerce-account #customer_login.col2-set { grid-template-columns: minmax(0, 1fr); }
	body.woocommerce-account.logged-in .entry-content > .woocommerce:has(.account-navigation-wrap) { grid-template-columns: minmax(0, 1fr); row-gap: 24px; }
	body.woocommerce-account .entry-content .account-navigation-wrap { position: static; }
	body.woocommerce-account .entry-content .woocommerce-MyAccount-content { grid-column: 1; grid-row: 2; }
	body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 6px; border: 0; }
	body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li { border: 0; }
	body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li a,
	body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li:hover a { min-height: 42px; padding: 0 14px; border: 1px solid var(--jkd-line); border-radius: 4px; font-size: 14px; }
	body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li.is-active a,
	body.woocommerce-account .entry-content .woocommerce-MyAccount-navigation li.is-active a:hover { border: 1px solid var(--jkd-text); background: var(--jkd-text); color: #fff; }
	body.woocommerce-account .entry-content .kadence-account-avatar { margin-bottom: 10px; }
	.jkd-dash { grid-template-columns: minmax(0, 1fr); }
	body.woocommerce-account .woocommerce-Addresses.col2-set,
	body.woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses { grid-template-columns: minmax(0, 1fr); }
	body.woocommerce-account .woocommerce form .woocommerce-address-fields__field-wrapper,
	body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm { grid-template-columns: minmax(0, 1fr); }
	body.woocommerce-account .woocommerce form .form-row-first,
	body.woocommerce-account .woocommerce form .form-row-last,
	body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm .form-row-first,
	body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm .form-row-last { grid-column: 1; }
	/* Orders as stacked rows on phones (WooCommerce prints the column names as data-title) */
	body.woocommerce-account table.woocommerce-orders-table thead { display: none; }
	body.woocommerce-account table.woocommerce-orders-table tr { display: block; padding: 12px 0; border-top: 1px solid var(--jkd-line); }
	body.woocommerce-account table.woocommerce-orders-table td { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border: 0; }
	body.woocommerce-account table.woocommerce-orders-table td::before { content: attr(data-title); color: var(--jkd-muted); }
	body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { justify-content: flex-start; padding-top: 8px; }
	body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions::before { content: none; }
}
@media (max-width: 599px) {
	/* Ship and pickup as two rows once two tiles would squeeze their labels */
	body.woocommerce-checkout .wc-block-checkout__shipping-method-container { flex-direction: column; }
}
@media (max-width: 479px) {
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 84px minmax(0, 1fr); }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { width: 84px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img { width: 72px; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product { grid-column: 2 / -1; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { grid-column: 2 / -1; grid-row: 3; padding: 8px 0 0; text-align: left; }
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total-price-and-sale-badge-wrapper { align-items: flex-start; }
}
