/**
 * Kinzy London — purchase journey theme presentation (1.2.0).
 * Every selector is scoped to the journey body class; product pages are unaffected.
 * WooCommerce continues to own prices, validation, shipping and payment controls.
 *
 * Rules are used sparingly: one hairline under the column labels, one between
 * items, one above the total. Panels are separated by tone, not borders.
 */

body.kinzy-purchase-journey {
  --kpj-ink: var(--kinzy-deep-truffle, #211a18);
  --kpj-wine: var(--kinzy-garnet, #351211);
  --kpj-paper: var(--kinzy-diamond-white, #f8f6f2);
  --kpj-rule: rgba(53, 18, 17, 0.16);
  --kpj-soft-rule: rgba(53, 18, 17, 0.09);
  --kpj-muted: #6f6560;
  --kpj-field: #b9b0aa;
  --kpj-gold: var(--gold, #A3752F);
  --kpj-error: #8b2726;
  --kpj-serif: "Cinzel", "Times New Roman", serif;
  --kpj-sans: "Jost", Arial, sans-serif;
  --kpj-media: 96px;
  --kpj-price: 96px;
  --kpj-gap: 24px;
  background: #fff;
  color: var(--kpj-ink);
  font-family: var(--kpj-sans);
  font-size: 14px;
  line-height: 1.6;
  color-scheme: light;
  margin: 0;
}
/* Purchase pages carry no newsletter prompts: neither the footer band nor the side tab. */
body.kinzy-purchase-journey .newsletter-signup,
body.kinzy-purchase-journey .newsletter-button { display: none !important; }

body.kinzy-purchase-journey .kpj-main,
body.kinzy-purchase-journey .kpj-main * { box-sizing: border-box; }
body.kinzy-purchase-journey .kpj-main [hidden] { display: none !important; }
body.kinzy-purchase-journey .kpj-main a { color: inherit; text-underline-offset: .23em; }
body.kinzy-purchase-journey .kpj-main :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--kpj-gold);
  outline-offset: 4px;
}
body.kinzy-purchase-journey .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.kinzy-purchase-journey .skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 100000; width: auto; height: auto; clip: auto; margin: 0; padding: 12px 16px; background: #fff; color: var(--kpj-wine); }

body.kinzy-purchase-journey .kpj-main {
  width: min(100% - 64px, 1280px);
  margin: 0 auto;
  padding: 38px 0 64px;
  min-height: 55vh;
}
/* Inside the theme's own page container (site header/footer above and below), the
   theme's gutters apply, so the journey column only caps its width. */
body.kinzy-purchase-journey .kpj-container { background: #fff; }
body.kinzy-purchase-journey .kpj-container .kpj-main { width: 100%; max-width: 1280px; padding: 26px 0 72px; }
body.kinzy-purchase-journey .kpj-main h1,
body.kinzy-purchase-journey .kpj-main h2,
body.kinzy-purchase-journey .kpj-main h3 {
  color: var(--kpj-ink);
  font-weight: 400;
  text-transform: uppercase;
}
body.kinzy-purchase-journey .kpj-main h1 {
  margin: 0 0 26px;
  font-family: var(--kpj-serif);
  font-size: clamp(22px, 2.1vw, 28px);
  line-height: 1.3;
  letter-spacing: .2em;
}
body.kinzy-purchase-journey .kpj-main h2 { margin: 0 0 22px; font-family: var(--kpj-sans); font-size: 13px; font-weight: 500; line-height: 1.5; letter-spacing: .18em; }
body.kinzy-purchase-journey .kpj-main h3 { margin: 0 0 14px; font-family: var(--kpj-sans); font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: .16em; }
body.kinzy-purchase-journey .kpj-main p { margin-top: 0; }
body.kinzy-purchase-journey .kpj-title-row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin: 0 0 30px; }
body.kinzy-purchase-journey .kpj-title-row h1 { margin: 0; }
body.kinzy-purchase-journey .kpj-back { display: inline-flex; align-items: center; gap: 9px; min-height: 32px; color: var(--kpj-muted); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; }
body.kinzy-purchase-journey .kpj-back:hover { color: var(--kpj-ink); }
body.kinzy-purchase-journey .kpj-back-arrow { font-size: 17px; line-height: 1; }

/* ---------- Basket ---------- */
body.kinzy-purchase-journey .kpj-basket-layout,
body.kinzy-purchase-journey .kpj-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(310px, 1fr);
  align-items: start;
  gap: clamp(32px, 4.5vw, 72px);
}
body.kinzy-purchase-journey .kpj-basket-layout > *,
body.kinzy-purchase-journey .kpj-checkout-grid > * { min-width: 0; }
body.kinzy-purchase-journey .kpj-items { min-width: 0; }
body.kinzy-purchase-journey .kpj-main .woocommerce-cart-form { margin: 0; width: 100%; }

/* Column labels: the one visual header, over a single hairline. The table's own
   header stays for screen readers. */
body.kinzy-purchase-journey .kpj-bag-labels {
  display: grid;
  grid-template-columns: var(--kpj-media) minmax(0, 1fr) minmax(0, 1fr) var(--kpj-price);
  column-gap: var(--kpj-gap);
  padding: 0 0 12px;
  border-bottom: 1px solid var(--kpj-rule);
  color: var(--kpj-muted);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.kinzy-purchase-journey .kpj-bag-label-item { grid-column: 1 / 3; }
body.kinzy-purchase-journey .kpj-bag-label-options { grid-column: 3; }
body.kinzy-purchase-journey .kpj-bag-label-price { grid-column: 4; text-align: right; }

/* The native cart table keeps its cells; each item is laid out with CSS grid. */
body.kinzy-purchase-journey .kpj-main table.kpj-bag,
body.kinzy-purchase-journey .kpj-main table.kpj-bag > tbody { display: block; width: 100%; margin: 0; border: 0; border-collapse: collapse; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag > thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag tr { display: block; width: 100%; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag td,
body.kinzy-purchase-journey .kpj-main table.kpj-bag th { display: block; width: auto; padding: 0; border: 0; background: transparent; color: var(--kpj-ink); font-weight: 400; text-align: left !important; vertical-align: top; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag td::before { display: none; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag tr.kpj-item + tr.kpj-item { border-top: 1px solid var(--kpj-soft-rule); }

/* One presentation line: image, item, options, price. */
body.kinzy-purchase-journey .kpj-line {
  display: grid;
  grid-template-columns: var(--kpj-media) minmax(0, 1fr) minmax(0, 1fr) var(--kpj-price);
  column-gap: var(--kpj-gap);
  align-items: start;
  padding: 26px 0;
}
body.kinzy-purchase-journey .kpj-item-lines .kpj-line + .kpj-line { border-top: 1px solid var(--kpj-soft-rule); }
body.kinzy-purchase-journey .kpj-main table.kpj-bag tr.kpj-item:not(.kpj-item--ring) {
  display: grid;
  grid-template-columns: var(--kpj-media) minmax(0, 1fr) minmax(0, 1fr) var(--kpj-price);
  column-gap: var(--kpj-gap);
  align-items: start;
  padding: 26px 0 22px;
}
body.kinzy-purchase-journey .kpj-line-media { min-width: 0; }
body.kinzy-purchase-journey .kpj-line-media a { display: block; }
body.kinzy-purchase-journey .kpj-line-media img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  background: var(--kpj-paper);
}
body.kinzy-purchase-journey .kpj-line--diamond .kpj-line-media { background: var(--kpj-paper) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%239a8d86' stroke-width='1.1' stroke-linejoin='round'%3E%3Cpath d='M18 20h28l10 12-24 22L8 32z'/%3E%3Cpath d='M8 32h48M18 20l6 12 8-12 8 12 6-12M24 32l8 22 8-22'/%3E%3C/svg%3E") center / 46% no-repeat; }
body.kinzy-purchase-journey .kpj-line--diamond .kpj-line-media img { background: var(--kpj-paper); }
body.kinzy-purchase-journey .kpj-line-media-placeholder { display: block; width: 100%; aspect-ratio: 1; }
body.kinzy-purchase-journey .kpj-line-item { min-width: 0; padding-top: 4px; }
body.kinzy-purchase-journey .kpj-main .kpj-line-title { margin: 0; font-family: var(--kpj-sans); font-size: 13px; font-weight: 500; line-height: 1.55; letter-spacing: .12em; text-transform: uppercase; }
body.kinzy-purchase-journey .kpj-main .kpj-line-title a { text-decoration: none; }
body.kinzy-purchase-journey .kpj-main .kpj-line-title a:hover { color: var(--kpj-wine); }
body.kinzy-purchase-journey .kpj-line-kicker { margin: 5px 0 0; color: var(--kpj-muted); font-size: 12px; letter-spacing: .03em; }
body.kinzy-purchase-journey .kpj-main dl.kpj-line-options { display: grid; gap: 5px; margin: 0; padding-top: 5px; font-size: 13px; line-height: 1.5; }
body.kinzy-purchase-journey .kpj-main dl.kpj-line-options > div { display: flex; flex-wrap: wrap; gap: 0 8px; }
body.kinzy-purchase-journey .kpj-main dl.kpj-line-options dt { flex: 0 0 auto; margin: 0; color: var(--kpj-muted); font-weight: 400; }
body.kinzy-purchase-journey .kpj-main dl.kpj-line-options dd { margin: 0; overflow-wrap: anywhere; }
body.kinzy-purchase-journey .kpj-main dl.kpj-line-options dd a { text-decoration: none; border-bottom: 1px solid var(--kpj-soft-rule); }
body.kinzy-purchase-journey .kpj-main dl.kpj-line-options dd a:hover { border-bottom-color: var(--kpj-gold); }
body.kinzy-purchase-journey .kpj-line-price { padding-top: 4px; font-size: 15px; font-variant-numeric: tabular-nums; text-align: right !important; white-space: nowrap; }
body.kinzy-purchase-journey .kpj-line-price .amount { white-space: nowrap; }
body.kinzy-purchase-journey .kpj-main .kpj-item-hooks,
body.kinzy-purchase-journey .kpj-main .keb-cart-ring-eyebrow { display: none; }
/* The complete-ring line total and fixed quantity remain in the table for
   assistive technology; sighted customers read the two prices and the summary. */
body.kinzy-purchase-journey .kpj-main tr.kpj-item--ring > .kpj-item-quantity,
body.kinzy-purchase-journey .kpj-main tr.kpj-item--ring > .kpj-item-subtotal { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.kinzy-purchase-journey .kpj-main tr.kpj-item--ring > .kpj-item-remove { padding: 0 0 24px calc(var(--kpj-media) + var(--kpj-gap)); margin-top: -10px; }
body.kinzy-purchase-journey .kpj-main tr.kpj-item:not(.kpj-item--ring) > .kpj-item-remove { grid-column: 2; grid-row: 2; padding-top: 12px; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag .product-remove a.remove { display: inline-flex; align-items: center; width: auto; height: auto; min-height: 32px; border: 0; border-radius: 0; background: transparent; color: var(--kpj-muted) !important; font-size: 12px; font-weight: 400; line-height: 1.5; letter-spacing: .02em; text-decoration: underline; text-underline-offset: .25em; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag .product-remove a.remove:hover { background: transparent; color: var(--kpj-wine) !important; }

/* Ordinary pieces (a pendant, a band): title and WooCommerce's own item data, quantity, price. */
body.kinzy-purchase-journey .kpj-main table.kpj-bag .kpj-line-item .variation,
body.kinzy-purchase-journey .kpj-main .wc-item-meta { display: grid; gap: 4px; margin: 8px 0 0; padding: 0; font-size: 13px; line-height: 1.5; list-style: none; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag .kpj-line-item .variation dt,
body.kinzy-purchase-journey .kpj-main table.kpj-bag .kpj-line-item .variation dd { float: none; display: inline; margin: 0; padding: 0; font-weight: 400; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag .kpj-line-item .variation dt { color: var(--kpj-muted); }
body.kinzy-purchase-journey .kpj-main table.kpj-bag .kpj-line-item .variation dd::after { content: ""; display: block; }
body.kinzy-purchase-journey .kpj-main .variation dd p { display: inline; margin: 0; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag .kpj-line-options .quantity { display: block; margin: 0; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag .kpj-line-options .quantity::before { content: "Quantity"; display: block; margin: 4px 0 6px; color: var(--kpj-muted); font-size: 13px; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag .quantity input.qty { width: 64px; min-height: 40px; padding: 7px; font-size: 15px; text-align: center; }
body.kinzy-purchase-journey .kpj-main .keb-cart-fixed-quantity { display: inline; height: auto; min-width: 0; border: 0; color: var(--kpj-muted); font: 400 12px/1.5 var(--kpj-sans); }

/* Discount code and update: one quiet row, no rules. Update bag only appears when a quantity can change. */
body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 14px 24px; width: 100%; padding: 16px 0 0; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions .kpj-promo { flex: 1 1 320px; max-width: 420px; margin: 0; padding: 0; border: 0; font-size: 12px; text-align: left; }
body.kinzy-purchase-journey .kpj-main details > summary { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; list-style: none; color: var(--kpj-muted); letter-spacing: .04em; cursor: pointer; }
body.kinzy-purchase-journey .kpj-main details > summary::-webkit-details-marker { display: none; }
body.kinzy-purchase-journey .kpj-main details > summary::after { content: "+"; font: 400 16px/1 Arial, sans-serif; }
body.kinzy-purchase-journey .kpj-main details[open] > summary::after { content: "−"; }
body.kinzy-purchase-journey .kpj-main details > summary:hover { color: var(--kpj-ink); }
body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions .coupon { float: none; display: flex; gap: 10px; margin-top: 12px; text-align: left; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions .coupon input { float: none; flex: 1 1 0; width: 0; min-width: 0; min-height: 46px; margin: 0; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions .coupon .button { float: none; flex: 0 0 auto; width: auto; min-height: 46px; padding: 10px 18px; font-size: 11px; letter-spacing: .16em; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions > .kpj-update-cart { min-height: 32px; margin: 0; padding: 4px 0; border-width: 0 0 1px; border-color: var(--kpj-gold); background: transparent; color: var(--kpj-ink); font-size: 11px; font-weight: 500; letter-spacing: .18em; white-space: nowrap; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions > .kpj-update-cart:hover { background: transparent; border-color: var(--kpj-ink); color: var(--kpj-ink); }
body.kinzy-purchase-journey .kpj-main table.kpj-bag:not(:has(input.qty)) td.actions > .kpj-update-cart { display: none; }
body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions > .kpj-update-cart:disabled { display: none; }

/* Empty bag: one heading, one way onward. */
body.kinzy-purchase-journey .kpj-main--empty { min-height: 40vh; }
body.kinzy-purchase-journey .kpj-empty { max-width: 560px; margin: 0 auto; padding: 56px 0 48px; text-align: center; }
body.kinzy-purchase-journey .kpj-empty .kpj-empty-title { margin: 0 0 26px; }
body.kinzy-purchase-journey .kpj-empty .return-to-shop { margin: 0; }
body.kinzy-purchase-journey .kpj-empty .return-to-shop .button { min-width: 240px; }
body.kinzy-purchase-journey .kpj-empty .woocommerce-notices-wrapper { margin: 0 0 20px; text-align: left; }
/* When the last piece is removed without a page load, the title row above the
   (now empty) bag steps aside. */
body.kinzy-purchase-journey .kpj-main:has(.kpj-empty) > .kpj-title-row { display: none; }

/* ---------- Summary ---------- */
body.kinzy-purchase-journey .kpj-summary {
  padding: 30px 32px 30px;
  background: var(--kpj-paper);
  border: 0;
}
body.kinzy-purchase-journey .kpj-summary .cart-collaterals,
body.kinzy-purchase-journey .kpj-summary .cart_totals { width: 100%; float: none; margin: 0; padding: 0; border: 0; }
body.kinzy-purchase-journey .kpj-summary .kpj-summary-title { margin: 0 0 16px; }
body.kinzy-purchase-journey .kpj-main table.shop_table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  text-align: left;
  font-size: 14px;
}
body.kinzy-purchase-journey .kpj-main table.shop_table th,
body.kinzy-purchase-journey .kpj-main table.shop_table td {
  padding: 9px 0;
  border: 0;
  vertical-align: top;
  color: var(--kpj-ink);
  background: transparent;
  font-weight: 400;
  overflow-wrap: anywhere;
}
body.kinzy-purchase-journey .kpj-main table.shop_table th { padding-right: 15px; color: var(--kpj-muted); }
body.kinzy-purchase-journey .kpj-main table.shop_table th:last-child,
body.kinzy-purchase-journey .kpj-main table.shop_table td:last-child { text-align: right; }
body.kinzy-purchase-journey .kpj-main table.shop_table .amount { font-variant-numeric: tabular-nums; white-space: nowrap; }
body.kinzy-purchase-journey .kpj-main table.shop_table .kpj-delivery-note td { color: var(--kpj-muted); font-size: 13px; }
body.kinzy-purchase-journey .kpj-main table.shop_table .order-total th,
body.kinzy-purchase-journey .kpj-main table.shop_table .order-total td { padding-top: 18px; margin-top: 8px; border-top: 1px solid var(--kpj-rule); color: var(--kpj-ink); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
body.kinzy-purchase-journey .kpj-main table.shop_table .order-total .amount { font-size: 22px; font-weight: 400; letter-spacing: 0; }
body.kinzy-purchase-journey .kpj-main table.shop_table .includes_tax { display: block; margin-top: 4px; color: var(--kpj-muted); font-size: 11px; font-weight: 400; line-height: 1.5; letter-spacing: 0; text-transform: none; }
body.kinzy-purchase-journey .kpj-main table.shop_table .includes_tax .amount { font-size: inherit; }
body.kinzy-purchase-journey .kpj-main .woocommerce-shipping-destination { color: var(--kpj-muted); font-size: 12px; margin: 11px 0; }
body.kinzy-purchase-journey .kpj-main .shipping-calculator-button { font-size: 12px; }
body.kinzy-purchase-journey .kpj-main .wc-proceed-to-checkout { padding: 22px 0 0; }

/* Delivery choice at checkout: collect from the showroom or insured delivery. */
body.kinzy-purchase-journey .kpj-main tr.woocommerce-shipping-totals { display: block; padding: 8px 0 6px; }
body.kinzy-purchase-journey .kpj-main tr.woocommerce-shipping-totals > th { display: block; padding: 0 0 10px; color: var(--kpj-muted); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
body.kinzy-purchase-journey .kpj-main tr.woocommerce-shipping-totals > td { display: block; padding: 0; text-align: left; }
body.kinzy-purchase-journey .kpj-main .woocommerce-shipping-methods,
body.kinzy-purchase-journey .kpj-main #shipping_method { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 13px; }
body.kinzy-purchase-journey .kpj-main #shipping_method li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; align-items: start; margin: 0; padding: 13px 15px 12px; border: 1px solid var(--kpj-rule); background: #fff; transition: border-color .2s ease; }
body.kinzy-purchase-journey .kpj-main #shipping_method li:hover { border-color: var(--kpj-field); }
body.kinzy-purchase-journey .kpj-main #shipping_method li:has(input:checked) { border-color: var(--kpj-ink); }
body.kinzy-purchase-journey .kpj-main #shipping_method li input[type="radio"] { flex: 0 0 auto; margin: 3px 0 0; }
body.kinzy-purchase-journey .kpj-main #shipping_method li input[type="hidden"] + label { grid-column: 1 / 3; }
body.kinzy-purchase-journey .kpj-main #shipping_method li input[type="hidden"] ~ .kpj-rate-note { grid-column: 1 / 3; }
body.kinzy-purchase-journey .kpj-main #shipping_method label { display: flex; justify-content: space-between; gap: 14px; margin: 0; line-height: 1.5; cursor: pointer; }
body.kinzy-purchase-journey .kpj-main #shipping_method .kpj-rate-cost { flex: 0 0 auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.kinzy-purchase-journey .kpj-main #shipping_method .kpj-rate-cost .amount { font-weight: 400; }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr.woocommerce-shipping-totals > td { width: 100%; text-align: left; }
body.kinzy-purchase-journey .kpj-main #shipping_method .kpj-rate-note { grid-column: 2; margin: 3px 0 0; color: var(--kpj-muted); font-size: 12px; line-height: 1.5; }

/* Checkout summary lines (compact). The review table is laid out as blocks so
   lines and delivery choices span the panel; totals rows are flex pairs. */
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table { --kpj-media: 52px; }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table,
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tbody,
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot,
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tbody > tr,
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tbody > tr > td { display: block; width: 100%; padding: 0; }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; width: 100%; padding: 9px 0; }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr > th,
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr > td { display: block; padding: 0; border: 0; }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr > th { flex: 0 1 auto; }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr > td { flex: 0 0 auto; text-align: right; }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr.order-total { margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--kpj-rule); }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr.order-total > th,
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr.order-total > td { padding-top: 0; border-top: 0; }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr.woocommerce-shipping-totals { display: block; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table > tbody > tr.kpj-review-item + tr.kpj-review-item { border-top: 1px solid var(--kpj-soft-rule); }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line { grid-template-columns: var(--kpj-media) minmax(0, 1fr) auto; column-gap: 14px; padding: 14px 0; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line + .kpj-line { border-top: 1px solid var(--kpj-soft-rule); }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line-media img { background: #fff; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line-item { padding-top: 2px; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line-title { font-size: 13px; font-weight: 400; letter-spacing: .02em; text-transform: none; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line-kicker { display: none; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table dl.kpj-line-options { grid-column: 2 / 4; display: flex; flex-wrap: wrap; gap: 2px 0; padding-top: 4px; color: var(--kpj-muted); font-size: 12px; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table dl.kpj-line-options > div { gap: 0; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table dl.kpj-line-options > div + div::before { content: "·"; margin: 0 7px; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table dl.kpj-line-options dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line-price { grid-column: 3; grid-row: 1; padding-top: 2px; font-size: 13px; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line--product .kpj-line-item .product-quantity { font-weight: 400; color: var(--kpj-muted); font-size: 12px; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .variation { margin: 6px 0 0; font-size: 12px; line-height: 1.5; color: var(--kpj-muted); }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .variation dt { font-weight: 400; display: inline; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .variation dd { display: inline; margin: 0; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .variation dd::after { content: ""; display: block; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-review-item > .kpj-item-subtotal { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.kinzy-purchase-journey .kpj-main table.woocommerce-checkout-review-order-table > tfoot > tr:first-child { padding-top: 22px; }
body.kinzy-purchase-journey .kpj-main .keb-cart-complete-subtotal { display: block; }
body.kinzy-purchase-journey .kpj-main .keb-cart-complete-subtotal small { display: block; margin-bottom: 3px; color: var(--kpj-muted); font: 400 11px/1.5 var(--kpj-sans); }
body.kinzy-purchase-journey .kpj-main .keb-cart-complete-subtotal strong { color: var(--kpj-ink); font: 400 15px/1.5 var(--kpj-sans); }

/* ---------- Buttons ---------- */
body.kinzy-purchase-journey .kpj-main :is(a.button, button.button, input.button),
body.kinzy-purchase-journey .kpj-main .kpj-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 54px;
  padding: 15px 22px;
  border: 1px solid var(--kpj-wine);
  border-radius: 0;
  box-shadow: none;
  background: var(--kpj-wine);
  color: #fff;
  font: 500 13px/1.3 var(--kpj-sans);
  letter-spacing: .16em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  white-space: normal;
  transition: background .25s ease, border-color .25s ease, color .25s ease;
}
body.kinzy-purchase-journey .kpj-main :is(a.button, button.button, input.button):hover,
body.kinzy-purchase-journey .kpj-main .kpj-button:hover { background: var(--kpj-ink); border-color: var(--kpj-ink); color: #fff; }
body.kinzy-purchase-journey .kpj-main :is(button.button, input.button):disabled { opacity: .5; cursor: not-allowed; }
body.kinzy-purchase-journey .kpj-main .wc-proceed-to-checkout a.checkout-button,
body.kinzy-purchase-journey .kpj-main #place_order { width: 100%; margin: 0; min-height: 56px; float: none; }
/* Secondary actions use the theme's own text button: spaced capitals over a fine gold rule. */
body.kinzy-purchase-journey .kpj-main .kpj-text-button { min-height: 40px; padding: 8px 0; border-width: 0 0 1px; border-color: var(--kpj-gold); background: transparent; color: var(--kpj-ink); font-size: 11px; font-weight: 500; letter-spacing: .2em; white-space: nowrap; }
body.kinzy-purchase-journey .kpj-main .kpj-text-button:hover { background: transparent; border-color: var(--kpj-ink); color: var(--kpj-ink); }
body.kinzy-purchase-journey .kpj-under-button { margin: 11px 0 0; text-align: center; font-size: 11px; color: var(--kpj-muted); }
body.kinzy-purchase-journey .kpj-assurance { display: grid; gap: 8px; margin: 26px 0 0; padding: 0; border: 0; list-style: none; color: var(--kpj-muted); font-size: 12px; letter-spacing: .02em; }
body.kinzy-purchase-journey .kpj-assurance li { display: flex; align-items: center; gap: 9px; margin: 0; padding: 0; }
body.kinzy-purchase-journey .kpj-assurance li::before { content: ""; width: 3px; height: 3px; border-radius: 50%; background: var(--kpj-gold); flex: 0 0 auto; }
body.kinzy-purchase-journey .kpj-assurance li.kpj-assurance-secure::before { display: none; }
body.kinzy-purchase-journey .kpj-assurance li.kpj-assurance-secure { color: var(--kpj-ink); }
body.kinzy-purchase-journey .kpj-assurance svg { flex: 0 0 auto; margin-left: -1px; }
body.kinzy-purchase-journey .kpj-assurance a { color: var(--kpj-muted); text-decoration: none; border-bottom: 1px solid transparent; }
body.kinzy-purchase-journey .kpj-assurance a:hover { color: var(--kpj-ink); border-bottom-color: var(--kpj-gold); }

/* ---------- Checkout ---------- */
body.kinzy-purchase-journey .kpj-main .woocommerce { width: 100%; }
body.kinzy-purchase-journey .kpj-main form.checkout { width: 100%; margin: 0; }
body.kinzy-purchase-journey .kpj-main #customer_details,
body.kinzy-purchase-journey .kpj-main #order_review { width: 100%; float: none; margin: 0; }
body.kinzy-purchase-journey .kpj-main #customer_details .col-1,
body.kinzy-purchase-journey .kpj-main #customer_details .col-2 { float: none; width: 100%; max-width: none; padding: 0; margin: 0; }
body.kinzy-purchase-journey .kpj-main .woocommerce-billing-fields,
body.kinzy-purchase-journey .kpj-main .woocommerce-shipping-fields,
body.kinzy-purchase-journey .kpj-main .woocommerce-additional-fields { padding: 0 0 14px; border: 0; }
body.kinzy-purchase-journey .kpj-main .woocommerce-additional-fields:empty,
body.kinzy-purchase-journey .kpj-main .woocommerce-shipping-fields:empty,
body.kinzy-purchase-journey .kpj-main .woocommerce-shipping-fields:not(:has(*)),
body.kinzy-purchase-journey .kpj-main #customer_details .col-2:not(:has(input, select, textarea)) { display: none; }
body.kinzy-purchase-journey .kpj-main .woocommerce-billing-fields__field-wrapper,
body.kinzy-purchase-journey .kpj-main .woocommerce-shipping-fields__field-wrapper { display: flow-root; }
body.kinzy-purchase-journey .kpj-main form .form-row {
  display: block;
  padding: 0;
  margin: 0 0 18px;
  min-width: 0;
  overflow: visible;
}
body.kinzy-purchase-journey .kpj-main form .form-row-first,
body.kinzy-purchase-journey .kpj-main form .form-row-last { width: calc(50% - 8px); }
body.kinzy-purchase-journey .kpj-main form .form-row-first { float: left; clear: left; }
body.kinzy-purchase-journey .kpj-main form .form-row-last { float: right; clear: none; }
body.kinzy-purchase-journey .kpj-main form .form-row-wide { clear: both; width: 100%; }
body.kinzy-purchase-journey .kpj-main form .form-row label { display: block; margin: 0 0 6px; width: auto; color: var(--kpj-muted); font-size: 12px; font-weight: 400; line-height: 1.6; letter-spacing: .03em; text-transform: none; }
body.kinzy-purchase-journey .kpj-main form .form-row label .optional { color: var(--kpj-muted); }
body.kinzy-purchase-journey .kpj-main form .form-row label .required { color: var(--kpj-wine); }
body.kinzy-purchase-journey .kpj-main .woocommerce-input-wrapper { display: block; width: 100%; }
body.kinzy-purchase-journey .kpj-main :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], select, textarea) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid var(--kpj-field);
  border-radius: 0;
  box-shadow: none;
  background: #fff;
  color: var(--kpj-ink);
  font: 400 15px/1.5 var(--kpj-sans);
  transition: border-color .2s ease;
}
body.kinzy-purchase-journey .kpj-main :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], select, textarea):focus { border-color: var(--kpj-ink); outline: none; }
body.kinzy-purchase-journey .kpj-main textarea { min-height: 104px; height: auto; resize: vertical; }
body.kinzy-purchase-journey .kpj-main input::placeholder,
body.kinzy-purchase-journey .kpj-main textarea::placeholder { color: #83776d; opacity: 1; }
body.kinzy-purchase-journey .kpj-main input:read-only { background: #faf9f6; }
body.kinzy-purchase-journey .kpj-main :is(input, select, textarea):disabled { color: #736961; background: #f1ede7; cursor: not-allowed; }
body.kinzy-purchase-journey .kpj-main :is(input[type="radio"], input[type="checkbox"]) { width: 16px; height: 16px; min-height: 0; accent-color: var(--kpj-wine); }
body.kinzy-purchase-journey .kpj-main form .form-row .input-checkbox { display: inline-block; margin: 3px 8px 0 0; position: static; vertical-align: top; }
body.kinzy-purchase-journey .kpj-main form .form-row label.checkbox { display: block; font-size: 13px; }
body.kinzy-purchase-journey .kpj-main .select2-container { width: 100% !important; max-width: 100%; }
body.kinzy-purchase-journey .kpj-main .select2-container .select2-selection--single { height: 48px; border: 1px solid var(--kpj-field); border-radius: 0; background: #fff; }
body.kinzy-purchase-journey .kpj-main .select2-container .select2-selection--single .select2-selection__rendered { padding: 11px 34px 11px 12px; color: var(--kpj-ink); font: 400 16px/26px var(--kpj-sans); }
body.kinzy-purchase-journey .kpj-main .select2-container .select2-selection--single .select2-selection__arrow { top: 11px; right: 11px; }
body.kinzy-purchase-journey .select2-dropdown { border-color: var(--kpj-field); border-radius: 0; font: 400 14px/1.5 var(--kpj-sans); color: var(--kpj-ink); }
body.kinzy-purchase-journey .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--kpj-wine); color: #fff; }
body.kinzy-purchase-journey .kpj-main form .woocommerce-invalid :is(input.input-text, select, textarea),
body.kinzy-purchase-journey .kpj-main form [aria-invalid="true"] { border-color: var(--kpj-error); }
body.kinzy-purchase-journey .kpj-main form .woocommerce-validated input.input-text { border-color: var(--kpj-field); }
body.kinzy-purchase-journey .kpj-main .woocommerce-billing-fields > h3,
body.kinzy-purchase-journey .kpj-main .woocommerce-additional-fields > h3 { margin-bottom: 20px; }
body.kinzy-purchase-journey .kpj-main .woocommerce-additional-fields { padding-top: 8px; }
body.kinzy-purchase-journey .kpj-main #ship-to-different-address { margin: 4px 0 18px; font-family: var(--kpj-sans); font-size: 14px; letter-spacing: 0; line-height: 1.6; text-transform: none; }
body.kinzy-purchase-journey .kpj-main #ship-to-different-address label { display: flex; align-items: flex-start; gap: 11px; cursor: pointer; }
body.kinzy-purchase-journey .kpj-main #ship-to-different-address input { margin: 4px 0 0; flex: 0 0 auto; }
body.kinzy-purchase-journey .kpj-main #order_review_heading { margin-bottom: 14px; }
body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order { padding: 27px 28px; background: var(--kpj-paper); }
body.kinzy-purchase-journey .kpj-summary .woocommerce-checkout-review-order { padding: 0; background: transparent; }
body.kinzy-purchase-journey .kpj-summary-toggle { display: none; }

body.kinzy-purchase-journey .kpj-main #payment {
  clear: both;
  margin: 26px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.kinzy-purchase-journey .kpj-main #payment::before { content: "Payment"; display: block; margin: 0 0 10px; color: var(--kpj-muted); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
body.kinzy-purchase-journey .kpj-main #payment ul.payment_methods { margin: 0 0 20px; padding: 0; border: 0; list-style: none; }
body.kinzy-purchase-journey .kpj-main #payment ul.payment_methods li { padding: 9px 0; margin: 0; line-height: 1.55; }
body.kinzy-purchase-journey .kpj-main #payment ul.payment_methods li label { display: inline; color: var(--kpj-ink); font-size: 14px; font-weight: 400; }
body.kinzy-purchase-journey .kpj-main #payment ul.payment_methods li input { margin: 4px 8px 0 0; vertical-align: top; }
body.kinzy-purchase-journey .kpj-main #payment ul.payment_methods li img { max-height: 32px; max-width: 150px; width: auto; margin: 0 0 0 7px; vertical-align: middle; }
body.kinzy-purchase-journey .kpj-main #payment div.payment_box { width: 100%; margin: 10px 0 0; padding: 14px 16px; border: 0; border-radius: 0; background: #fff; color: var(--kpj-muted); font-size: 13px; }
body.kinzy-purchase-journey .kpj-main #payment div.payment_box::before { display: none; }
body.kinzy-purchase-journey .kpj-main #payment div.payment_box p:last-child { margin-bottom: 0; }
body.kinzy-purchase-journey .kpj-main #payment div.form-row { padding: 0; margin-bottom: 0; }
body.kinzy-purchase-journey .kpj-main #payment .woocommerce-privacy-policy-text { font-size: 12px; line-height: 1.6; color: var(--kpj-muted); }
body.kinzy-purchase-journey .kpj-main #payment .woocommerce-terms-and-conditions-wrapper { margin: 0 0 19px; }
body.kinzy-purchase-journey .kpj-main #payment .woocommerce-terms-and-conditions-wrapper .form-row { margin: 13px 0; }
body.kinzy-purchase-journey .kpj-main #payment .woocommerce-terms-and-conditions { max-height: 240px; padding: 16px; border: 1px solid var(--kpj-soft-rule); font-size: 13px; }
body.kinzy-purchase-journey .kpj-main #payment iframe { max-width: 100%; }
body.kinzy-purchase-journey .kpj-edit-bag { margin: 16px 0 0; color: var(--kpj-muted); font-size: 12px; text-align: center; }

/* ---------- Notices: a line of text with a small mark, no boxes or rules ---------- */
body.kinzy-purchase-journey .kpj-main .woocommerce-notices-wrapper:empty { display: none; }
body.kinzy-purchase-journey .kpj-main :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
  position: relative;
  margin: 0 0 22px;
  padding: 0 0 0 24px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--kpj-ink);
  box-shadow: none;
  font-family: var(--kpj-sans);
  font-size: 13px;
  line-height: 1.6;
  list-style: none;
}
body.kinzy-purchase-journey .kpj-main :is(.woocommerce-error, .woocommerce-message, .woocommerce-info):focus { outline: 0; }
body.kinzy-purchase-journey .kpj-main .woocommerce-error { color: var(--kpj-error); }
body.kinzy-purchase-journey .kpj-main :is(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before { top: 2px; left: 0; color: var(--kpj-gold); font-size: 13px; }
body.kinzy-purchase-journey .kpj-main .woocommerce-error::before { color: var(--kpj-error); }
body.kinzy-purchase-journey .kpj-main :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) li { margin: 0; padding: 0; }
body.kinzy-purchase-journey .kpj-main :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) li + li { margin-top: 6px; }
body.kinzy-purchase-journey .kpj-main :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) .button { min-height: 0; margin: 0 0 0 14px; padding: 0; border: 0; background: transparent; color: var(--kpj-muted); font-size: 12px; font-weight: 400; letter-spacing: .02em; text-decoration: underline; text-transform: none; }
body.kinzy-purchase-journey .kpj-main .woocommerce-message .button.wc-forward { display: none; }
body.kinzy-purchase-journey .kpj-main :is(.woocommerce-form-login-toggle, .woocommerce-form-coupon-toggle) .woocommerce-info { margin-bottom: 17px; padding: 0; border: 0; background: transparent; color: var(--kpj-muted); font-size: 13px; }
body.kinzy-purchase-journey .kpj-main :is(.woocommerce-form-login-toggle, .woocommerce-form-coupon-toggle) .woocommerce-info::before { display: none; }
body.kinzy-purchase-journey .kpj-main form.login,
body.kinzy-purchase-journey .kpj-main form.checkout_coupon { max-width: 620px; margin: 0 0 24px; padding: 20px; border: 0; border-radius: 0; background: var(--kpj-paper); }

/* ---------- Order received ---------- */
body.kinzy-purchase-journey .kpj-confirmation { max-width: 960px; margin: 0 auto; }
body.kinzy-purchase-journey .kpj-confirmation-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; align-items: center; padding: 14px 0 38px; }
body.kinzy-purchase-journey .kpj-confirmation-hero h1 { margin: 12px 0 22px; font-size: clamp(22px, 2.4vw, 30px); text-transform: none; letter-spacing: .06em; }
body.kinzy-purchase-journey .kpj-confirmation-hero p { max-width: 420px; color: var(--kpj-muted); font-size: 15px; }
body.kinzy-purchase-journey .kpj-confirmation-hero img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: var(--kpj-paper); }
body.kinzy-purchase-journey .kpj-confirmation-image { min-width: 0; }
body.kinzy-purchase-journey .kpj-confirmation-ref { color: var(--kpj-ink); font-size: 13px; letter-spacing: .06em; }
body.kinzy-purchase-journey .kpj-confirmation-hero .kpj-confirmation-ref { color: var(--kpj-ink); font-size: 13px; }
body.kinzy-purchase-journey .kpj-next { padding: 30px 32px; margin-bottom: 36px; border: 0; background: var(--kpj-paper); }
body.kinzy-purchase-journey .kpj-next-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px; }
body.kinzy-purchase-journey .kpj-next h3 { margin: 0 0 7px; }
body.kinzy-purchase-journey .kpj-next p { margin: 0; color: var(--kpj-muted); font-size: 13px; }
body.kinzy-purchase-journey .kpj-receipt { margin-top: 26px; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-order-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; margin: 0 0 32px; padding: 0; list-style: none; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-order-overview::before,
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-order-overview::after { display: none; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-order-overview li { float: none; margin: 0; padding: 0; border: 0; color: var(--kpj-muted); font: 400 11px/1.6 var(--kpj-sans); letter-spacing: .04em; text-transform: none; overflow-wrap: anywhere; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-order-overview li strong { display: block; margin-top: 5px; color: var(--kpj-ink); font-size: 15px; font-weight: 400; letter-spacing: 0; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-order-details { margin: 0 0 32px; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-order-details h2,
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-customer-details h2 { margin-bottom: 18px; }
body.kinzy-purchase-journey .kpj-confirmation table.shop_table th,
body.kinzy-purchase-journey .kpj-confirmation table.shop_table td { padding: 12px 0; border-bottom: 1px solid var(--kpj-soft-rule); }
body.kinzy-purchase-journey .kpj-confirmation table.shop_table tfoot th,
body.kinzy-purchase-journey .kpj-confirmation table.shop_table tfoot td { border-bottom: 0; }
body.kinzy-purchase-journey .kpj-confirmation .wc-item-meta li { margin: 0 0 4px; }
body.kinzy-purchase-journey .kpj-confirmation .wc-item-meta li strong { color: var(--kpj-muted); font-weight: 400; }
body.kinzy-purchase-journey .kpj-confirmation .wc-item-meta li p { display: inline; margin: 0; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-customer-details .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-customer-details .col2-set::before,
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-customer-details .col2-set::after { display: none; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-customer-details .col-1,
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-customer-details .col-2 { float: none; width: 100%; max-width: none; padding: 0; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-customer-details address { padding: 0; border: 0; border-radius: 0; color: var(--kpj-muted); font-size: 13px; line-height: 1.8; font-style: normal; overflow-wrap: anywhere; }
body.kinzy-purchase-journey .kpj-confirmation .woocommerce-customer-details address p { margin: 7px 0 0; }
body.kinzy-purchase-journey .kpj-confirmation-help { padding-top: 8px; margin-top: 30px; border: 0; color: var(--kpj-muted); font-size: 13px; }

/* ---------- Responsive ---------- */
@media (max-width: 1023px) {
  body.kinzy-purchase-journey { --kpj-media: 84px; --kpj-price: 84px; --kpj-gap: 18px; }
  body.kinzy-purchase-journey .kpj-basket-layout,
  body.kinzy-purchase-journey .kpj-checkout-grid { grid-template-columns: minmax(0, 1.3fr) minmax(290px, 1fr); gap: 30px; }
  body.kinzy-purchase-journey .kpj-summary,
  body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order { padding: 25px 22px; }
}

@media (max-width: 767px) {
  body.kinzy-purchase-journey { --kpj-media: 76px; --kpj-gap: 16px; }
  body.kinzy-purchase-journey .kpj-main { width: calc(100% - 40px); padding: 27px 0 42px; }
  body.kinzy-purchase-journey .kpj-container .kpj-main { width: 100%; padding: 16px 0 48px; }
  body.kinzy-purchase-journey .kpj-title-row { margin-bottom: 22px; }
  body.kinzy-purchase-journey .kpj-main h1 { font-size: 21px; margin-bottom: 20px; }
  body.kinzy-purchase-journey .kpj-basket-layout,
  body.kinzy-purchase-journey .kpj-checkout-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px; }
  body.kinzy-purchase-journey .kpj-bag-labels { display: none; }
  body.kinzy-purchase-journey .kpj-main table.kpj-bag { border-top: 1px solid var(--kpj-rule); }
  body.kinzy-purchase-journey .kpj-line,
  body.kinzy-purchase-journey .kpj-main table.kpj-bag tr.kpj-item:not(.kpj-item--ring) { grid-template-columns: var(--kpj-media) minmax(0, 1fr); row-gap: 8px; padding: 20px 0; }
  body.kinzy-purchase-journey .kpj-line-media,
  body.kinzy-purchase-journey .kpj-main table.kpj-bag tr.kpj-item:not(.kpj-item--ring) > .kpj-line-media { grid-column: 1; grid-row: 1 / span 3; }
  body.kinzy-purchase-journey .kpj-line-item,
  body.kinzy-purchase-journey .kpj-main table.kpj-bag tr.kpj-item:not(.kpj-item--ring) > .kpj-line-item { grid-column: 2; grid-row: 1; padding-top: 0; }
  body.kinzy-purchase-journey .kpj-main dl.kpj-line-options,
  body.kinzy-purchase-journey .kpj-main table.kpj-bag tr.kpj-item:not(.kpj-item--ring) > .kpj-line-options { grid-column: 2; grid-row: 2; padding-top: 0; }
  body.kinzy-purchase-journey .kpj-line-price,
  body.kinzy-purchase-journey .kpj-main table.kpj-bag tr.kpj-item:not(.kpj-item--ring) > .kpj-line-price { grid-column: 2; grid-row: 3; padding-top: 2px; text-align: left !important; }
  body.kinzy-purchase-journey .kpj-main table.kpj-bag tr.kpj-item:not(.kpj-item--ring) > .kpj-item-remove { grid-column: 2; grid-row: 4; padding-top: 4px; }
  body.kinzy-purchase-journey .kpj-main tr.kpj-item--ring > .kpj-item-remove { padding: 0 0 20px calc(var(--kpj-media) + var(--kpj-gap)); margin-top: -6px; }
  body.kinzy-purchase-journey .kpj-main table.kpj-bag .product-remove a.remove { min-height: 40px; }
  body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions { flex-direction: column; align-items: stretch; }
  body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions .kpj-promo { flex: 0 0 auto; max-width: none; }
  body.kinzy-purchase-journey .kpj-main table.kpj-bag td.actions > .kpj-update-cart { align-self: flex-end; }
  body.kinzy-purchase-journey .kpj-empty { padding: 40px 0 32px; }
  body.kinzy-purchase-journey .kpj-summary { padding: 25px 22px; }
  body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order { padding: 24px 21px; }
  body.kinzy-purchase-journey .kpj-summary .woocommerce-checkout-review-order { padding: 0; }
  body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table { --kpj-media: 56px; }
  body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line { grid-template-columns: var(--kpj-media) minmax(0, 1fr); column-gap: 14px; }
  body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line-media { grid-row: 1 / span 3; }
  body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order-table .kpj-line-price { grid-column: 2; grid-row: 3; padding-top: 4px; text-align: left !important; }
  body.kinzy-purchase-journey .kpj-summary-toggle {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 0 0 16px;
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid var(--kpj-rule);
    border-radius: 0;
    background: transparent;
    color: var(--kpj-ink);
    font: 400 13px/1.5 var(--kpj-sans);
    text-align: left;
    cursor: pointer;
  }
  body.kinzy-purchase-journey .kpj-summary-toggle [data-kpj-summary-amount] { margin-left: auto; white-space: nowrap; font-size: 18px; }
  body.kinzy-purchase-journey .kpj-summary-toggle::after { content: "+"; font: 20px/1 Arial, sans-serif; }
  body.kinzy-purchase-journey .kpj-summary-toggle[aria-expanded="true"]::after { content: "−"; }
  body.kinzy-purchase-journey .kpj-main .cart_totals table.shop_table_responsive tr { display: table-row; }
  body.kinzy-purchase-journey .kpj-main .cart_totals table.shop_table_responsive tr th { display: table-cell; }
  body.kinzy-purchase-journey .kpj-main .cart_totals table.shop_table_responsive tr td { display: table-cell; text-align: right !important; background: transparent; }
  body.kinzy-purchase-journey .kpj-main .cart_totals table.shop_table_responsive tr td::before { display: none; }
  body.kinzy-purchase-journey .kpj-main .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals,
  body.kinzy-purchase-journey .kpj-main .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals > th,
  body.kinzy-purchase-journey .kpj-main .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals > td { display: block; text-align: left !important; }
  body.kinzy-purchase-journey .kpj-main table.shop_table .order-total .amount { font-size: 24px; }
  body.kinzy-purchase-journey .kpj-main table.shop_table .order-total .includes_tax .amount { font-size: inherit; }
  body.kinzy-purchase-journey .kpj-main :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) { margin-bottom: 20px; font-size: 13px; }
  body.kinzy-purchase-journey .kpj-main :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) .button { display: inline; margin: 0 0 0 10px; }
  body.kinzy-purchase-journey .kpj-main :is(.woocommerce-form-login-toggle, .woocommerce-form-coupon-toggle) .woocommerce-info { padding: 0; font-size: 12px; }
  body.kinzy-purchase-journey .kpj-confirmation-hero { display: flex; flex-direction: column-reverse; gap: 26px; padding: 0 0 28px; align-items: stretch; }
  body.kinzy-purchase-journey .kpj-confirmation-hero img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
  body.kinzy-purchase-journey .kpj-confirmation-hero h1 { font-size: 22px; margin: 12px 0 19px; }
  body.kinzy-purchase-journey .kpj-confirmation-hero p { font-size: 14px; }
  body.kinzy-purchase-journey .kpj-next { padding: 24px 22px; margin-bottom: 27px; }
  body.kinzy-purchase-journey .kpj-next-grid { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  body.kinzy-purchase-journey .kpj-confirmation .woocommerce-order-overview { gap: 20px; }
  body.kinzy-purchase-journey .kpj-confirmation .woocommerce-order-overview li strong { font-size: 14px; }
  body.kinzy-purchase-journey .kpj-confirmation .woocommerce-customer-details .col2-set { grid-template-columns: minmax(0, 1fr); gap: 26px; }
}

@media (max-width: 374px) {
  body.kinzy-purchase-journey { --kpj-media: 64px; --kpj-gap: 14px; }
  body.kinzy-purchase-journey .kpj-main { width: calc(100% - 32px); }
  body.kinzy-purchase-journey .kpj-main h1 { font-size: 19px; }
  body.kinzy-purchase-journey .kpj-main .kpj-line-title { font-size: 12px; }
  body.kinzy-purchase-journey .kpj-summary,
  body.kinzy-purchase-journey .kpj-main .woocommerce-checkout-review-order { padding-inline: 18px; }
  body.kinzy-purchase-journey .kpj-main form .form-row-first,
  body.kinzy-purchase-journey .kpj-main form .form-row-last { float: none; clear: both; width: 100%; }
  body.kinzy-purchase-journey .kpj-main table.shop_table { font-size: 13px; }
}

/* The aside owns its padding. Keep it single even at tablet/mobile widths. */
body.kinzy-purchase-journey .kpj-summary #order_review { padding: 0; background: transparent; }

@media (prefers-reduced-motion: reduce) {
  body.kinzy-purchase-journey .kpj-main * { scroll-behavior: auto; transition: none; animation: none; }
}

@media print {
  body.kinzy-purchase-journey { background: #fff; }
  body.kinzy-purchase-journey .kpj-main { width: 100%; padding: 16px 0; }
  body.kinzy-purchase-journey .kpj-back,
  body.kinzy-purchase-journey .kpj-main .kpj-button,
  body.kinzy-purchase-journey .kpj-main .kpj-assurance,
  body.kinzy-purchase-journey .kpj-main .kpj-confirmation-help { display: none; }
  body.kinzy-purchase-journey .kpj-main h1 { font-size: 22px; }
  body.kinzy-purchase-journey .kpj-confirmation-hero img { max-height: 180px; }
  body.kinzy-purchase-journey .kpj-confirmation .woocommerce-order-details,
  body.kinzy-purchase-journey .kpj-confirmation .woocommerce-customer-details { break-inside: avoid; }
}
