/* Panelling Direct — checkout bundle (v1.45.54).
   Page-specific layer; loads only on the contexts that need it.
   Source line ranges (v1.45.53): 3821-5772, 10178-10532

   LOAD ORDER IS LOAD-BEARING:
       style.css (core-early)  ->  page bundle(s)  ->  css/core-late.css
   Enqueued by pd_enqueue_assets() in functions.php. */

/* ── source lines 3821–5772 ── */
/* ══════════════════════════════════════════════════════════════
   v1.4.2 — CART PAGE
   Figma: node 372:2030 (desktop L) / 372:2763 (mobile XS)
   Two-col layout: items (flex-1) + order summary (375px),
   stacks to single column below 960px.
   All values taken verbatim from the Figma design.
══════════════════════════════════════════════════════════════ */

.pd-cart {
  max-width: var(--row-max);
  margin: 0 auto;
  padding: 20px var(--row-pad) 80px; /* top 40px -> 20px, designer purchasing note 1 (v1.45.4) */
  background: #fff;
  font-family: 'Open Sans', sans-serif;
  color: #000;
}

.pd-cart__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 375px;
  gap: 64px;
  align-items: start;
}

/* ── Items column ─────────────────────────────────────── */
.pd-cart__items-col {
  display: flex;
  flex-direction: column;
  gap: 15px;
  min-width: 0; /* prevents long titles from overflowing grid */
}

.pd-cart__heading { display: flex; flex-direction: column; }
.pd-cart__title {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 33px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}
.pd-cart__count {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: #4b4b4b;
  margin: 0;
}

/* Items list */
.pd-cart__items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.pd-cart-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 0 0 20px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.pd-cart-item__thumb {
  width: 120px;
  height: 120px;
  flex: 0 0 120px;
  border-radius: 3px;
  overflow: hidden;
  background: #f4f4f4;
}
.pd-cart-item__thumb a,
.pd-cart-item__thumb img,
.pd-cart-item__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3px;
}

.pd-cart-item__details {
  flex: 1 1 auto;
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
}

.pd-cart-item__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pd-cart-item__title {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2;
  color: #000;
  margin: 0;
}
.pd-cart-item__title a {
  color: inherit;
  text-decoration: none;
}
.pd-cart-item__title a:hover { text-decoration: underline; }

.pd-cart-item__meta {
  font-size: 12px;
  color: #4b4b4b;
  line-height: 1.4;
}
.pd-cart-item__meta p { margin: 0; }

.pd-cart-item__price {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  color: #4b4b4b;
  margin: 0;
}
.pd-cart-item__price .amount { color: inherit; }
.pd-cart-item__price del {
  color: var(--price-strike);
  margin-right: 6px;
  font-weight: 400;
}

.pd-cart-item__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Qty stepper — same footprint as side-cart (113x44, radius 5) */
.pd-cart-item__qty {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 113px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  background: #fff;
  overflow: hidden;
  gap: 8px;
}
.pd-cart-item__qty--single { justify-content: center; }

.pd-qty__btn {
  width: 20px;
  height: 20px;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
  transition: opacity 0.15s;
}
.pd-qty__btn:disabled { opacity: 0.3; cursor: not-allowed; }
.pd-qty__btn:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; border-radius: 2px; }
.pd-qty__btn img { display: block; width: 20px; height: 20px; }

.pd-qty__value {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.75;
  color: #000;
  text-align: center;
  min-width: 20px;
}

/* Remove (trash) */
.pd-cart-item__remove {
  width: 24px;
  height: 24px;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.5);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s;
  flex: 0 0 24px;
}
.pd-cart-item__remove:hover { color: var(--sale-red); }
.pd-cart-item__remove:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; border-radius: 2px; }
.pd-cart-item__remove svg { width: 18px; height: 21px; display: block; }

/* ── Summary column ───────────────────────────────────── */
.pd-cart__summary {
  background: #fbf6eb;
  border-radius: 10px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 375px;
  align-self: start; /* don't stretch to items-col height */
}

.pd-cart__summary-title {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}

.pd-cart__summary-lines {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.pd-cart__summary-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.pd-cart__summary-label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: #4b4b4b;
}
.pd-cart__summary-label small {
  font-size: 12px;
  font-weight: 400;
}
.pd-cart__summary-value {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: #4b4b4b;
  text-align: right;
  white-space: nowrap;
}
.pd-cart__summary-value--muted {
  font-size: 12px;
  line-height: 24px;
}

/* Total row */
.pd-cart__summary-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.pd-cart__summary-total-label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
}
.pd-cart__summary-total-label small {
  font-weight: 400;
  font-size: 12px;
}
.pd-cart__summary-total-value {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.2;
  color: #000;
  white-space: nowrap;
}
.pd-cart__summary-total-value .woocommerce-Price-amount { color: inherit; }

/* Checkout button */
.pd-cart__checkout-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 22px;
  background: var(--navy);
  color: var(--white);
  border-radius: 12px;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 31px;
  text-align: center;
  text-decoration: none;
  transition: background 0.15s;
}
.pd-cart__checkout-btn:hover,
.pd-cart__checkout-btn:focus { background: var(--navy-mid); color: var(--white); }
/* v1.45.56: outline-offset places the ring on the WHITE page, not the navy
   button — yellow on white is 1.37:1, below the 3:1 of WCAG 1.4.11. Navy is
   18.4:1 there and is already the pattern used by .pd-qty__btn above.
   SUPERSEDED: outline: 2px solid var(--yellow); */
.pd-cart__checkout-btn:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }

/* Payments block */
.pd-cart__payments {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.pd-cart__payments-methods {
  height: 37px;
  width: auto;
  max-width: 306px;
  mix-blend-mode: darken;
  display: block;
}
.pd-cart__clearpay {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 3px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  color: #000;
  text-align: center;
  margin: 0;
}
.pd-cart__clearpay strong { font-weight: 600; }
.pd-cart__clearpay-logo { height: 23px; width: auto; display: inline-block; vertical-align: middle; }

/* ── Empty state ──────────────────────────────────────── */
.pd-cart--empty { max-width: var(--row-max); }
.pd-cart__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 80px 20px;
  gap: 16px;
}
.pd-cart__empty-icon { color: #4b4b4b; }
.pd-cart__empty-title {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 33px;
  line-height: 1.2;
  color: #000;
  margin: 0;
}
.pd-cart__empty-text {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #4b4b4b;
  max-width: 440px;
  margin: 0;
}
.pd-cart__empty-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  padding: 14px 32px;
  background: var(--navy);
  color: var(--white);
  border-radius: 12px;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 18px;
  text-decoration: none;
  transition: background 0.15s;
}
.pd-cart__empty-cta:hover,
.pd-cart__empty-cta:focus { background: var(--navy-mid); color: var(--white); }

/* State: when the whole cart is updating (disable interaction) */
.pd-cart.is-loading { pointer-events: none; }
.pd-cart.is-loading .pd-cart-item { opacity: 0.6; transition: opacity 0.2s; }

/* Row being removed — gentle fade */
.pd-cart-item.is-removing { opacity: 0.4; pointer-events: none; }

/* ── Responsive: stack under 960px ─────────────────────── */
@media (max-width: 960px) {
  .pd-cart { padding: 24px var(--row-pad) 60px; }
  .pd-cart__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .pd-cart__summary { width: 100%; }
}

@media (max-width: 560px) {
  .pd-cart__title { font-size: 28px; }
  .pd-cart__count { font-size: 16px; }
  .pd-cart-item__thumb { width: 96px; height: 96px; flex-basis: 96px; }
  .pd-cart-item { gap: 12px; }
  .pd-cart__summary { padding: 24px; }
  .pd-cart__summary-total-value { font-size: 28px; }
  .pd-cart__checkout-btn { font-size: 20px; }
}

/* ══════════════════════════════════════════════════════════════
   v1.4.3 — CHECKOUT PAGE
   Figma: nodes 372:2274 (left column) + 372:2529 (right column)
   Two-column layout: form (flex-1, max 548px) + summary (375px),
   stacks to single column below 960px. All values verbatim from
   the Figma design.
══════════════════════════════════════════════════════════════ */

.pd-checkout {
  max-width: var(--row-max);
  margin: 0 auto;
  padding: 40px var(--row-pad) 80px;
  background: #fff;
  font-family: 'Open Sans', sans-serif;
  color: #000;
}

.pd-checkout__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 375px;
  gap: 64px;
  align-items: start;
}

.pd-checkout__main {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 548px;
  min-width: 0;
  justify-self: end;
  width: 100%;
}

/* Title */
.pd-checkout__title {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 33px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}

/* Section headings (Delivery Address / Options / Payment) */
.pd-checkout__heading {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 23px;
  line-height: 1.5;
  color: #000;
  margin: 0 0 15px 0;
}
.pd-checkout__heading--sub { font-size: 18px; margin-top: 16px; }

/* Section wrapper — keeps 15px gap for inner content */
.pd-checkout__section {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* Sign-in prompt + login form ────────────────────────────────── */
.pd-checkout__login-prompt {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  line-height: 24px;
  color: #000;
  text-align: right;
  margin-top: -8px; /* pulls up closer to title */
}
.pd-checkout__login-link {
  color: #30287c;
  text-decoration: underline;
  font-weight: 400;
}
.pd-checkout__login-form {
  padding: 16px;
  border: 1px solid var(--rule);
  border-radius: 5px;
  background: #fafafa;
}

/* ── Form fields (generic for all input/textarea in checkout) ── */
.pd-checkout .form-row,
.pd-checkout .pd-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 15px;
}
.pd-checkout .form-row:last-child,
.pd-checkout .pd-field:last-child { margin-bottom: 0; }

.pd-checkout label,
.pd-checkout .form-row label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  color: #000;
  margin: 0;
}
.pd-checkout label .optional,
.pd-field__optional .optional { font-weight: 400; color: #000; }

.pd-checkout input[type="text"],
.pd-checkout input[type="email"],
.pd-checkout input[type="tel"],
.pd-checkout input[type="number"],
.pd-checkout input[type="password"],
.pd-checkout input[type="search"],
.pd-checkout textarea,
.pd-checkout select {
  width: 100%;
  height: 44px;
  padding: 0 12px 0 10px;
  background: #fff;
  border: 1px solid #c2c2c2;
  border-radius: 5px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.2;
  color: #000;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.pd-checkout textarea {
  height: 154px;
  padding: 12px;
  resize: vertical;
  line-height: 1.5;
}
.pd-checkout select { appearance: none; padding-right: 36px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%234b4b4b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; }

.pd-checkout input:focus,
.pd-checkout textarea:focus,
.pd-checkout select:focus {
  border-color: var(--navy-mid);
  box-shadow: 0 0 0 3px rgba(48, 40, 124, 0.12);
}

.pd-checkout input::placeholder,
.pd-checkout textarea::placeholder { color: #767676; } /* v1.45.56: was 2.96:1 */

/* Validation */
.pd-checkout .form-row.woocommerce-invalid input,
.pd-checkout .form-row.woocommerce-invalid select,
.pd-checkout .form-row.woocommerce-invalid textarea { border-color: var(--sale-red); }
.pd-checkout .form-row.woocommerce-validated input,
.pd-checkout .form-row.woocommerce-validated select,
.pd-checkout .form-row.woocommerce-validated textarea { border-color: #3aa76d; }

/* Two-column rows */
.pd-checkout .form-row-first,
.pd-checkout .form-row-last {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pd-address-form__fields,
.woocommerce-billing-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 15px;
  row-gap: 15px;
}
.pd-checkout .form-row-wide { grid-column: 1 / -1; }
.pd-checkout .form-row--hidden,
.pd-checkout .pd-hidden-field { display: none !important; }

/* ── Shipping type cards (Home delivery / Collection) ────────── */
.pd-ship-type {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.pd-ship-type__option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 16px;
  border: 1px solid #d5d5d5;
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.pd-ship-type__option:hover { border-color: var(--navy-mid); }
.pd-ship-type__option.is-selected {
  background: #f9f9ff;
  border-color: var(--navy-mid);
}
.pd-ship-type__option input[type="radio"] {
  appearance: none;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 1.5px solid #d5d5d5;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  margin: 0;
}
.pd-ship-type__option.is-selected input[type="radio"] { border-color: var(--navy-mid); }
.pd-ship-type__option input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--navy-mid);
}
.pd-ship-type__icon {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  color: var(--navy);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pd-ship-type__label { display: flex; flex-direction: column; gap: 4px; line-height: 1.2; }
.pd-ship-type__title {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #000;
}
.pd-ship-type__sub {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: #000;
}

/* ── Address form — collapsed state for Collection ───────────── */
.pd-checkout__address.is-collapsed .pd-address-form { display: none; }

/* "Use delivery as billing" checkbox ─────────────────────────── */
.pd-checkout__same-billing {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: #000;
}
.pd-checkout__same-billing input[type="checkbox"],
.pd-checkout input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 1.5px solid #d5d5d5;
  border-radius: 4px;
  cursor: pointer;
  position: relative;
  margin: 0;
  background: #fff;
  transition: background 0.15s, border-color 0.15s;
}
.pd-checkout__same-billing input[type="checkbox"]:checked,
.pd-checkout input[type="checkbox"]:checked {
  background: var(--navy-mid);
  border-color: var(--navy-mid);
}
.pd-checkout input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* ── Payment section ─────────────────────────────────────────── */
.pd-checkout__payment-head { display: flex; flex-direction: column; gap: 4px; }
.pd-checkout__payment-note {
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  color: #000;
  margin: 0;
}

.pd-payment__methods {
  list-style: none;
  padding: 0;
  margin: 0;
}
/* Single-border model (v1.44.2): the container draws no border — each
   item draws its own 1px border, collapsed with a -1px margin, and
   the selected item simply recolours ITS border and lifts above its
   neighbours. One line everywhere, dark only around the active item. */
.pd-payment__method {
  background: #fff;
  border: 1px solid #d7d7d7;
  margin-top: -1px;
  position: relative;
}
.pd-payment__method:first-child { margin-top: 0; border-radius: 5px 5px 0 0; }
.pd-payment__method:last-child { border-radius: 0 0 5px 5px; }
.pd-payment__method:first-child:last-child { border-radius: 5px; }
.pd-payment__method.is-selected {
  background: #f9f9ff;
  border-color: var(--navy-mid);
  z-index: 1;
}

.pd-payment__method-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 22px 16px;
  cursor: pointer;
  margin: 0;
}
.pd-payment__method input[type="radio"] {
  appearance: none;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 1.5px solid #d5d5d5;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  margin: 0;
}
.pd-payment__method.is-selected input[type="radio"] { border-color: var(--navy-mid); }
.pd-payment__method input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--navy-mid);
}
.pd-payment__method-title {
  flex: 1 1 auto;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2;
  color: #000;
}
.pd-payment__method-icon {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 20px;
}
.pd-payment__method-icon img { height: 20px; width: auto; display: block; max-width: 100%; mix-blend-mode: darken; }

/* Gateway card-form body — inherits our generic input styling */
.pd-payment__method-body {
  padding: 0 16px 22px 48px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pd-payment__method-body p:empty { display: none; }
.pd-payment__method-body .form-row { margin-bottom: 0; }
.pd-payment__method-body .woocommerce-terms-and-conditions-wrapper { margin-top: 8px; }

/* Stripe UPE element (v1.45.85, requested by M).
   The gateway's own stylesheet draws a border around the mounted card
   element, which doubles up with the border on our payment method panel.
   `!important` is required: the rule ships in Stripe's plugin CSS, and
   neither its load order nor its selector specificity is under our
   control across plugin updates. */
#wc-stripe-upe-form {
  border: none !important;
}

/* ── TERMS & CONDITIONS (v1.45.57, security H2) ────────
   WC's checkout/terms.php was absent from the rebuild and is now restored
   above the Pay Now button. The checkbox itself inherits the shared
   `.pd-checkout input[type="checkbox"]` treatment, so only layout and the
   optional collapsible terms panel need rules here. */
.pd-checkout__form > .woocommerce-terms-and-conditions-wrapper {
  margin: 8px 0 20px;
}
.pd-checkout__form .woocommerce-terms-and-conditions-wrapper .form-row {
  margin-bottom: 0;
  padding: 0;
}

/* ── Consent / opt-in checkbox rows (v1.45.85) ─────────────────
   One treatment for every `label.checkbox` in the checkout. Currently
   two of them: the T&Cs row from core's checkout/terms.php, and the
   Klaviyo newsletter opt-in (#kl_newsletter_checkbox_field). Both put
   the input first inside the label and follow it with loose text nodes
   rather than a wrapping element, so there is nothing to target for
   spacing — hence the treatment goes on the label itself.

   Hanging indent, not flex. Flex promotes every child of the label to a
   flex item, including bare text nodes: terms.php ends with
   `&nbsp;<abbr class="required">*</abbr>`, so the asterisk became a
   third item and picked up the 12px gap, drifting away from the sentence
   it qualifies (visible in M's screenshot). Taking the box out of flow
   leaves the text in normal inline flow, so `*` and `(optional)` sit hard
   against the words they belong to, while wrapped lines still align to
   the indent instead of running back under the box.

   The newsletter row had no rule at all before this: its label inherited
   `display: inline`, leaving the box on the text baseline with a single
   literal space beside it.

   Superseded (v1.45.57), kept per convention:
     .pd-checkout__form .woocommerce-form__label-for-checkbox {
       display: flex; align-items: flex-start; gap: 12px;
       cursor: pointer; font-size: 14px; line-height: 1.5; color: #000; }
     .pd-checkout__form .woocommerce-form__label-for-checkbox
       input[type="checkbox"] { margin-top: 1px; } */
.pd-checkout label.checkbox,
.pd-checkout .form-row label.checkbox {
  display: block;
  position: relative;
  padding-left: 32px;   /* 20px box + 12px gutter */
  font-size: 14px;
  /* Matched to the box height so `top: 0` optically centres the box on
     the first line. The generic `.pd-checkout label` rule sets 24px,
     which left the box 2px high against the text. */
  line-height: 20px;
  color: #000;
  cursor: pointer;
}
.pd-checkout label.checkbox input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
}
.pd-checkout label.checkbox input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--navy);
  outline-offset: 2px;
}
/* Terms link was rendering in the browser's default link colour (blue,
   purple once visited). Matched to the sign-in link treatment above. */
.pd-checkout .woocommerce-terms-and-conditions-link {
  color: #30287c;
  text-decoration: underline;
  font-weight: 600;
}
.pd-checkout .woocommerce-terms-and-conditions-link:hover {
  text-decoration-thickness: 2px;
}
/* Collapsible full terms text, shown when a Terms page has content. */
.pd-checkout__form .woocommerce-terms-and-conditions {
  max-height: 200px;
  overflow-y: auto;
  margin-bottom: 12px;
  padding: 16px;
  background: #f9f9f9;
  border: 1px solid #e9e9e9;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.6;
}
.pd-checkout__form .woocommerce-privacy-policy-text {
  margin-bottom: 12px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
}

/* ── PAY NOW button ──────────────────────────────────────────── */
.pd-checkout__pay-now {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 55px;
  padding: 12px 22px;
  background: var(--navy);
  color: var(--white);
  border: 0;
  border-radius: 12px;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 31px;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.15s;
}
.pd-checkout__pay-now:hover,
.pd-checkout__pay-now:focus { background: var(--navy-mid); color: var(--white); }
.pd-checkout__pay-now:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; } /* v1.45.56: was --yellow (1.37:1 on white) */

/* ══════════════════════════════════════════════════════════════
   ORDER SUMMARY (right column on checkout)
══════════════════════════════════════════════════════════════ */
.pd-checkout__summary { width: 375px; align-self: start; }
.pd-order-summary {
  background: #f9f9f9;
  border: 1px solid #e9e9e9;
  border-radius: 10px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.pd-order-summary__title {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}

/* Items list */
.pd-order-summary__items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.pd-order-summary__item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.pd-order-summary__items li:last-child { border-bottom: 0; padding-bottom: 0; }

.pd-order-summary__item-thumb {
  position: relative;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 3px;
  overflow: hidden;
  background: #f4f4f4;
}
.pd-order-summary__item-thumb img,
.pd-order-summary__item-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3px;
}
.pd-order-summary__item-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  background: var(--navy);
  color: #fff;
  border-radius: 999px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-family: 'Open Sans', sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
}
.pd-order-summary__item-title {
  flex: 1 1 auto;
  min-width: 0;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
  color: #000;
}
.pd-order-summary__item-title .variation,
.pd-order-summary__item-title dl { font-size: 12px; font-weight: 400; color: #4b4b4b; margin-top: 4px; }
.pd-order-summary__item-price {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  color: #4b4b4b;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Rows */
.pd-order-summary__rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.pd-order-summary__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.pd-order-summary__label {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #4b4b4b;
}
.pd-order-summary__label small { font-size: 12px; font-weight: 400; }
.pd-order-summary__value {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #4b4b4b;
  text-align: right;
  white-space: nowrap;
}
.pd-order-summary__value--muted { font-size: 12px; line-height: 24px; }
.pd-order-summary__row--delivery .pd-order-summary__value { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.pd-order-summary__ship-label { font-size: 12px; color: #4b4b4b; }
.pd-order-summary__ship-cost { font-size: 14px; color: #000; }

.pd-order-summary__row--coupon .pd-order-summary__value { color: #2a7d3f; }

/* Discount code */
.pd-order-summary__coupon { display: flex; flex-direction: column; gap: 6px; }
.pd-order-summary__coupon-label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  color: #000;
  margin: 0;
}
.pd-order-summary__coupon-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 44px;
  border: 1px solid #c2c2c2;
  border-radius: 5px;
  background: #fff;
  overflow: hidden;
}
.pd-order-summary__coupon-input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  height: 44px !important;
  padding: 0 10px !important;
  border: 0 !important;
  background: transparent;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  color: #000;
}
/* v1.45.56: the base rule sets `border: 0; background: transparent; outline: none`,
   so suppressing the box-shadow here left no focus indicator whatsoever.
   SUPERSEDED: .pd-order-summary__coupon-input:focus { box-shadow: none !important; } */
.pd-order-summary__coupon-input:focus { box-shadow: none !important; }
.pd-order-summary__coupon-input:focus-visible {
  outline: 2px solid var(--navy);
  outline-offset: 1px;
  border-radius: 2px;
}
.pd-order-summary__coupon-btn {
  width: 63px;
  background: #ececec;
  color: #434343;
  border: 0;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  cursor: pointer;
  transition: background 0.15s;
}
.pd-order-summary__coupon-btn:hover { background: #dcdcdc; }
.pd-order-summary__coupon-msg {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  margin: 0;
}
.pd-order-summary__coupon-msg.is-error { color: var(--sale-red); }
.pd-order-summary__coupon-msg.is-success { color: #2a7d3f; }

/* Total row */
.pd-order-summary__total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.pd-order-summary__total-label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
}
.pd-order-summary__total-value {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.2;
  color: #000;
  white-space: nowrap;
}
.pd-order-summary__total-value .woocommerce-Price-amount { color: inherit; }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 960px) {
  .pd-checkout { padding: 24px var(--row-pad) 60px; }
  .pd-checkout__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .pd-checkout__main {
    max-width: none;
    justify-self: stretch;
    order: 2; /* summary first on mobile */
  }
  .pd-checkout__summary { width: 100%; order: 1; }
  .pd-ship-type { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .pd-checkout__title { font-size: 28px; }
  .pd-checkout__heading { font-size: 20px; }
  .pd-order-summary { padding: 24px; }
  .pd-order-summary__total-value { font-size: 28px; }
  .pd-checkout__pay-now { font-size: 20px; height: 52px; }
  .pd-address-form__fields,
  .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
  .pd-checkout .form-row-first,
  .pd-checkout .form-row-last { grid-column: 1 / -1; }
}

/* ══════════════════════════════════════════════════════════════
   v1.4.3 — CHECKOUT PAGE
   Figma: nodes 372:2273 (Delivery) / 372:3541 (Collection) / 372:2980 (Mobile)
   Two-column grid: form (548px) + summary (375px), 64px gap.
   Stacks to single column below 960px with a collapsible order
   summary at the top of the stack.
══════════════════════════════════════════════════════════════ */

/* ── Page wrapper ──────────────────────────────────────────── */
.pd-checkout {
  max-width: var(--row-max);
  margin: 0 auto;
  padding: 40px var(--row-pad) 80px;
  background: #fff;
  font-family: 'Open Sans', sans-serif;
  color: #000;
}
.pd-checkout__inner {
  display: grid;
  grid-template-columns: minmax(0, 548px) 375px;
  gap: 64px;
  align-items: start;
  justify-content: center;
}
.pd-checkout__form {
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-width: 0;
}

/* Hide default WC ship-to-different-address toggle (design keeps single form) */
.pd-checkout #ship-to-different-address { display: none; }
.pd-checkout .shipping_address { display: none; }

/* ── Heading ───────────────────────────────────────────────── */
.pd-checkout__title {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 33px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}
.pd-checkout__subtitle {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 23px;
  line-height: 1.5;
  color: #000;
  margin: 0 0 15px 0;
}

.pd-checkout__section {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* ── Email row ─────────────────────────────────────────────── */
.pd-checkout__email-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.pd-checkout__email-label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  color: #000;
}
.pd-checkout__signin {
  margin: 0;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 24px;
  color: #000;
}
.pd-checkout__signin a {
  color: #30287c;
  text-decoration: underline;
  font-weight: 600;
}
.pd-checkout__signin a:hover { text-decoration-thickness: 2px; }

/* ── Form fields (WC-rendered) ─────────────────────────────── */
/* WC wraps each field in <p class="form-row">. We reset the <p>
   margin (browser default ~16px top+bottom) so only our gap applies,
   then lay out the whole field group with CSS Grid for rock-solid
   first/last column behaviour. */

.pd-checkout .pd-address-form__fields,
.pd-checkout .woocommerce-billing-fields__field-wrapper,
.pd-checkout .woocommerce-shipping-fields__field-wrapper,
.pd-checkout__fields,
.pd-checkout__collection-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 15px;
  row-gap: 12px;
}

.pd-checkout .pd-address-form__notes { margin-top: 12px; }

.pd-checkout p.form-row,
.pd-checkout .form-row {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0; /* allow inputs to shrink inside grid cells */
}
.pd-checkout .form-row.form-row-wide  { grid-column: 1 / -1; }
.pd-checkout .form-row.form-row-first { grid-column: 1; }
.pd-checkout .form-row.form-row-last  { grid-column: 2; }

/* Fields without an explicit row-class default to full width */
.pd-checkout .pd-address-form__fields > .form-row:not(.form-row-first):not(.form-row-last) {
  grid-column: 1 / -1;
}

/* Labels */
.pd-checkout .form-row > label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.4;
  color: #000;
  margin: 0;
}
.pd-checkout .form-row .required {
  color: var(--sale-red);
  text-decoration: none;
  margin-left: 2px;
}
.pd-checkout .form-row .optional {
  font-weight: 400;
  color: #000;
  margin-left: 4px;
}
.pd-checkout .screen-reader-text {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap;
}

/* Inputs */
.pd-checkout .form-row input[type="text"],
.pd-checkout .form-row input[type="email"],
.pd-checkout .form-row input[type="tel"],
.pd-checkout .form-row input[type="number"],
.pd-checkout .form-row select,
.pd-checkout .form-row textarea,
.pd-checkout .input-text,
.pd-checkout select {
  width: 100%;
  height: 44px;
  padding: 10px 12px;
  border: 1px solid #c2c2c2;
  border-radius: 5px;
  background: #fff;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.2;
  color: #000;
  outline: none;
  transition: border-color 0.15s;
  box-sizing: border-box;
}
.pd-checkout .form-row textarea {
  height: 154px;
  padding: 12px;
  resize: vertical;
  line-height: 1.4;
}
.pd-checkout .form-row input::placeholder,
.pd-checkout .form-row textarea::placeholder {
  color: #767676; /* v1.45.56: placeholder text — was 2.96:1 */
}
.pd-checkout .form-row input:focus,
.pd-checkout .form-row select:focus,
.pd-checkout .form-row textarea:focus {
  border-color: var(--navy);
  box-shadow: 0 0 0 1px var(--navy);
}
.pd-checkout .form-row.woocommerce-invalid input,
.pd-checkout .form-row.woocommerce-invalid select {
  border-color: var(--sale-red);
}
.pd-checkout .form-row.woocommerce-validated input,
.pd-checkout .form-row.woocommerce-validated select {
  border-color: #a7a7a7;
}
/* Select2 override to match native height */
.pd-checkout .select2-container .select2-selection--single {
  height: 44px;
  border: 1px solid #c2c2c2;
  border-radius: 5px;
}
.pd-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 42px;
  padding-left: 10px;
}
.pd-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 42px;
}

/* Grid layout handles row flow — no float clears needed */

/* ══════════════════════════════════════════════════════════════
   RADIO-CARD COMPONENT (used by: mode toggle, shipping options,
   payment methods). Variants:
     .pd-option-group--split    — 2-col row (mode toggle)
     .pd-option-group--stacked  — vertical list with shared borders
══════════════════════════════════════════════════════════════ */
.pd-option-group { display: flex; }
.pd-option-group--split {
  flex-direction: row;
  gap: 16px;
}
.pd-option-group--stacked {
  flex-direction: column;
}

.pd-option {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 16px;
  background: #fff;
  border: 1px solid #d5d5d5;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  flex: 1 1 0;
  min-width: 0;
}
.pd-option:hover:not(.is-disabled) { background: #fafafa; }
.pd-option.is-selected {
  background: #f9f9ff;
  border-color: #30287c;
}
.pd-option.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Stacked variant — inner borders merge */
/* Single-border model (v1.44.2): no border on the group — each option
   draws its own 1px border, collapsed with a -1px margin; the
   selected option recolours its own border and lifts above its
   neighbours. */
.pd-option-group--stacked .pd-option {
  border: 1px solid #d7d7d7;
  border-radius: 0;
  margin-top: -1px;
  flex: 0 0 auto;
}
.pd-option-group--stacked .pd-option:first-child { margin-top: 0; border-radius: 5px 5px 0 0; }
.pd-option-group--stacked .pd-option:last-child { border-radius: 0 0 5px 5px; }
.pd-option-group--stacked .pd-option:first-child:last-child { border-radius: 5px; }
.pd-option-group--stacked .pd-option.is-selected {
  border-color: #30287c;
  z-index: 1;
}

/* Hidden native input */
.pd-option__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 1px; height: 1px;
}

/* Custom radio */
.pd-option__radio {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1.5px solid #c2c2c2;
  background: #fff;
  display: inline-block;
  position: relative;
  transition: border-color 0.15s;
}
.pd-option.is-selected .pd-option__radio {
  border-color: #30287c;
}
.pd-option.is-selected .pd-option__radio::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #30287c;
}
.pd-option__input:focus-visible + .pd-option__radio {
  outline: 2px solid var(--yellow);
  outline-offset: 2px;
}

/* Icon (mode toggle only) */
.pd-option__icon {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  color: #000;
}

/* Text block */
.pd-option__text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1.2;
}
.pd-option__title {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #000;
}
.pd-option__sub {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: #000;
}

/* Price (shipping option only) */
.pd-option__price {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #000;
  text-align: right;
  white-space: nowrap;
  line-height: 1.2;
}
.pd-option__price .amount { color: inherit; }

/* Delivery-options empty-state notice */
.pd-checkout__notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 21px 12px;
  background: #fafafa;
  border-radius: 6px;
  color: #000;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
}
.pd-checkout__notice svg { flex: 0 0 24px; color: #000; }

/* ── Mode-dependent visibility ─────────────────────────────── */
/* Address form stays visible in both modes — only its heading flips:
   "Delivery Address" in Delivery mode, "Billing Address" in Collection. */
.pd-checkout__address-heading--billing  { display: none; }
.pd-checkout--collection .pd-checkout__address-heading--delivery { display: none; }
.pd-checkout--collection .pd-checkout__address-heading--billing  { display: inline; }

.pd-checkout--delivery   .pd-checkout__section--collection,
.pd-checkout--collection .pd-checkout__section--shipping-options {
  display: none;
}

/* Collection mode: the address block is a BILLING address, so the
   "Delivery instructions" note has nothing to instruct (v1.45.23).
   Value is also cleared client-side on toggle and dropped server-side
   at order creation — see js/checkout.js and inc/checkout.php §16. */
.pd-checkout--collection .pd-address-form__notes {
  display: none;
}

/* ── VAT NOTES: ONE PER SUMMARY, ON THE TOTAL (v1.45.60) ─────────────
   WooCommerce appends <small class="tax_label">(incl. VAT)</small> to a
   price whenever prices are ENTERED excluding tax but DISPLAYED including
   it — see WC_Cart::get_cart_subtotal() and ::get_product_subtotal(),
   both via WC_Countries::inc_tax_or_vat(). With the theme's own "(Inc.
   VAT)" label alongside it, the cart summary said it three times and the
   checkout summary four.

   The theme labels were removed from the templates; these rules suppress
   WooCommerce's. Hidden in CSS rather than filtered in PHP DELIBERATELY:
   these values are re-rendered by AJAX on both pages — the cart qty/remove
   handlers in functions.php and WC's own update_order_review — and a
   PHP filter would have to be reapplied in each of those contexts, where
   is_cart() is not reliably true. CSS covers whatever lands in the DOM.

   This is the same approach already used for the slide-out cart:
   `.cart-panel .tax_label { display: none; }` in style.css.

   ⚠ The Total row is deliberately untouched in both summaries. On checkout
   that is WC's `.includes_tax` note ("includes £6.50 VAT"), which is a
   DIFFERENT element and is not matched here; on the cart it is the theme's
   own "(Inc. VAT)" small, still in cart.php. */
.pd-cart__summary .tax_label,
.pd-order-summary .tax_label {
  display: none;
}

/* Delivery questions (v1.45.46) — delivery-only, same as the notes
   field above. Hidden in Collection mode; also cleared client-side on
   toggle, and skipped by validation/saving in inc/checkout.php §17. */
.pd-checkout--collection .pd-delivery-questions {
  display: none;
}
.pd-delivery-questions {
  margin-top: 18px;
}
.pd-delivery-questions__heading {
  font-family: var(--font-head, inherit);
  font-size: 16px;
  margin: 0 0 10px;
}
/* v1.45.60 — radio options now sit inline, side by side.
   ------------------------------------------------------------------
   SUPERSEDED:
       .pd-delivery-questions .pd-field--radio label { display: block; margin: 0 0 6px; }
       .pd-delivery-questions .pd-field--radio input[type="radio"] { margin-right: 7px; }

   TWO faults stacked here, which is why it looked so broken:

   1. That `label` selector was UNSCOPED, so it hit the option labels as
      well as the question. WooCommerce's radio branch emits
      `<input><label class="radio">Yes</label>` as adjacent siblings, so
      making the label `display: block` forced a line break between each
      radio and its own text — the circle on one line, "Yes" on the next.
   2. `.pd-checkout .form-row, .pd-checkout .pd-field` (above, ~line 519)
      makes every field a COLUMN FLEX container. If WooCommerce's
      `.woocommerce-input-wrapper` span is absent for any reason, the
      inputs and labels become flex items directly and stack no matter
      what `display` they carry. Resetting the row to `display: block`
      fixes the layout whether that wrapper is present or not — verified
      headless against both markup shapes.

   The question label is now targeted as a DIRECT CHILD (`> label`), which
   is the only thing that distinguishes it from `label.radio` in WC's
   output.

   SPECIFICITY: every rule below is prefixed `.pd-checkout` DELIBERATELY.
   The generic row rule is written `.pd-checkout p.form-row` (~line 1225) —
   0,2,1 because of the element selector — and these fields really are
   `<p class="form-row">`, so an unprefixed `.pd-delivery-questions
   .pd-field--radio` at 0,2,0 LOSES to it and the row stays flex. Caught by
   measuring, not by reading: with WC's wrapper span present the layout
   looked correct either way, and only the no-wrapper shape exposed it. */
.pd-checkout .pd-delivery-questions .pd-field--radio {
  display: block;
  margin-bottom: 15px;
}
.pd-checkout .pd-delivery-questions .pd-field--radio > label {
  display: block;
  margin: 0 0 6px;
}
.pd-checkout .pd-delivery-questions .pd-field--radio .woocommerce-input-wrapper {
  display: block;
}
.pd-checkout .pd-delivery-questions .pd-field--radio input[type="radio"] {
  display: inline-block;
  vertical-align: middle;
  margin: 0 7px 0 0;
}
.pd-checkout .pd-delivery-questions .pd-field--radio label.radio {
  display: inline-block;
  vertical-align: middle;
  font-weight: 400;        /* .pd-checkout label forces 600 — the question stays bold, the options don't */
  margin: 0 24px 0 0;
}
.pd-checkout .pd-delivery-questions .pd-field--radio label.radio:last-child {
  margin-right: 0;
}
/* WooCommerce appends the required abbr to EVERY option label in its radio
   branch, not just the field label, so each question rendered three red
   asterisks ("Yes *", "No *"). The question keeps its one; the options lose
   theirs. Nothing is lost semantically — WC also puts `required` on the
   inputs themselves, and one required radio marks the whole group. */
.pd-checkout .pd-delivery-questions .pd-field--radio label.radio .required {
  display: none;
}
/* Hidden until "safe place" is answered Yes — js/checkout.js. */
.pd-safe-place-details {
  display: none;
}

/* ── Store location card (Collection mode) ─────────────────── */
.pd-store-card {
  display: flex;
  gap: 10px;
  padding: 11px;
  border: 1px solid #dfdfdf;
  border-radius: 10px;
  overflow: hidden;
}
.pd-store-card__body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 11px 18px;
}
.pd-store-card__row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: #010101;
}
.pd-store-card__row--address { align-items: flex-start; }
.pd-store-card__row--address svg { margin-top: 2px; flex: 0 0 16px; }
.pd-store-card__row svg { flex: 0 0 16px; color: #30287c; }
.pd-store-card__row address {
  font-style: normal;
  font-size: 18px;
  line-height: 1.2;
}
.pd-store-card__row a { color: inherit; text-decoration: none; }
.pd-store-card__row a:hover { text-decoration: underline; }

.pd-store-card__map {
  flex: 1 1 0;
  min-width: 0;
  aspect-ratio: 104 / 89;
  border-radius: 8px;
  overflow: hidden;
  background: #f0f0f0;
}
.pd-store-card__map img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Payment section ───────────────────────────────────────── */
.pd-checkout__payment-head { display: flex; flex-direction: column; gap: 4px; }
.pd-checkout__secure-note {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}
.pd-checkout__review { margin-top: 0; }

/* Payment methods list (WC wc_payment_methods → our radio-card stacked) */
.pd-payment {
  border: 0;
}
.pd-payment__methods {
  list-style: none;
  padding: 0;
  margin: 0;
}
/* Single-border model (v1.44.2) — see the note in the earlier payment
   section: item-drawn borders, -1px collapse, selected recolours its
   own border only. */
.pd-payment__method {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid #d7d7d7;
  margin-top: -1px;
  background: #fff;
  padding: 22px 16px;
  transition: background 0.15s;
}
.pd-payment__method:first-child { margin-top: 0; border-radius: 5px 5px 0 0; }
.pd-payment__method:last-child { border-radius: 0 0 5px 5px; }
.pd-payment__method:first-child:last-child { border-radius: 5px; }
.pd-payment__method.is-selected {
  background: #f9f9ff;
  border-color: #30287c;
  z-index: 1;
}

.pd-payment__method-head {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.pd-payment__method-head input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 1px; height: 1px;
}
.pd-payment__method-radio {
  flex: 0 0 20px;
  width: 20px; height: 20px;
  border: 1.5px solid #c2c2c2;
  border-radius: 50%;
  background: #fff;
  position: relative;
}
.pd-payment__method.is-selected .pd-payment__method-radio {
  border-color: #30287c;
}
.pd-payment__method.is-selected .pd-payment__method-radio::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #30287c;
}
.pd-payment__method-title {
  flex: 1 1 auto;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2;
  color: #000;
}
.pd-payment__method-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  max-height: 20px;
}
.pd-payment__method-icon img {
  max-height: 20px;
  width: auto;
  height: auto;
  mix-blend-mode: darken;
  display: block;
}

/* Expanded payment box (gateway's own fields) */
.pd-payment__method-body {
  margin-top: 24px;
  padding-top: 0;
  color: #000;
}
.pd-payment__method-body p { margin: 0 0 12px; font-size: 14px; }

/* Hide WC's default .form-row.place-order inside payment — we have our own */
.pd-checkout .form-row.place-order { display: none; }

/* ── Pay Now button (full-width, 55px) ─────────────────────── */
.pd-checkout__pay-now {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 55px;
  padding: 12px 22px;
  background: var(--navy);
  color: var(--white);
  border: 0;
  border-radius: 12px;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 31px;
  text-align: center;
  cursor: pointer;
  transition: background 0.15s;
}
.pd-checkout__pay-now:hover,
.pd-checkout__pay-now:focus { background: var(--navy-mid); color: var(--white); }
.pd-checkout__pay-now:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; } /* v1.45.56: was --yellow (1.37:1 on white) */
.pd-checkout__pay-now:disabled { opacity: 0.6; cursor: not-allowed; }

/* ══════════════════════════════════════════════════════════════
   RIGHT COLUMN: ORDER SUMMARY
══════════════════════════════════════════════════════════════ */
.pd-checkout__summary-col {
  position: sticky;
  top: 20px;
}
.pd-order-summary {
  background: #f9f9f9;
  border: 1px solid #e9e9e9;
  border-radius: 10px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: stretch;
}
.pd-order-summary__title {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}

/* Items list — compact 40×40 thumbs */
.pd-order-summary__items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.pd-order-summary__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.pd-order-summary__item-thumb {
  position: relative;
  flex: 0 0 40px;
  width: 40px; height: 40px;
  border-radius: 3px;
  overflow: visible;
}
.pd-order-summary__item-thumb img,
.pd-order-summary__item-img {
  width: 40px; height: 40px;
  object-fit: cover;
  border-radius: 3px;
  display: block;
}
.pd-order-summary__item-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: var(--navy);
  color: #fff;
  border-radius: 10px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 11px;
  line-height: 20px;
  text-align: center;
  box-shadow: 0 0 0 2px #f9f9f9;
}
.pd-order-summary__item-title {
  flex: 1 1 auto;
  min-width: 0;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
  color: #000;
}
.pd-order-summary__item-title .variation,
.pd-order-summary__item-title dl {
  margin: 4px 0 0;
  font-size: 12px;
  color: #4b4b4b;
  font-weight: 400;
}
.pd-order-summary__item-price {
  flex: 0 0 auto;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
  color: #4b4b4b;
  white-space: nowrap;
}

/* Totals rows */
.pd-order-summary__rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.pd-order-summary__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  color: #4b4b4b;
}
.pd-order-summary__label {
  font-size: 14px;
  line-height: 1.5;
}
.pd-order-summary__label small {
  font-size: 12px;
  font-weight: 400;
}
.pd-order-summary__value {
  font-size: 14px;
  line-height: 1.5;
  text-align: right;
  white-space: nowrap;
}
.pd-order-summary__value--muted {
  font-size: 12px;
  line-height: 24px;
}
.pd-order-summary__ship-label { display: block; font-size: 13px; }
.pd-order-summary__ship-cost  { display: block; font-weight: 600; }

/* Coupon input */
.pd-order-summary__coupon { display: flex; flex-direction: column; gap: 6px; }
.pd-order-summary__coupon-label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  color: #000;
}
.pd-order-summary__coupon-group {
  display: flex;
  align-items: stretch;
  height: 44px;
  background: #fff;
  border: 1px solid #c2c2c2;
  border-radius: 5px;
  overflow: hidden;
}
.pd-order-summary__coupon-input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 10px;
  border: 0;
  background: transparent;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  color: #000;
  outline: none;
}
.pd-order-summary__coupon-btn {
  flex: 0 0 63px;
  background: #ececec;
  border: 0;
  color: #434343;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.pd-order-summary__coupon-btn:hover { background: #d8d8d8; color: #000; }
.pd-order-summary__coupon-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.pd-order-summary__coupon-msg {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
}
.pd-order-summary__coupon-msg.is-error   { color: var(--sale-red); }
.pd-order-summary__coupon-msg.is-success { color: #1a7a3c; }

/* Total row */
.pd-order-summary__total {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  color: #000;
}
.pd-order-summary__total-label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}
.pd-order-summary__total-value {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.2;
  white-space: nowrap;
}
.pd-order-summary__total-value .amount,
.pd-order-summary__total-value .woocommerce-Price-amount { color: inherit; }

/* Mobile summary toggle — hidden on desktop */
.pd-checkout__summary-toggle { display: none; }

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */

/* Tablet / small desktop — single column stack */
@media (max-width: 960px) {
  .pd-checkout { padding: 24px var(--row-pad) 60px; }
  .pd-checkout__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  /* Summary comes FIRST on mobile (Figma) */
  .pd-checkout__summary-col {
    order: -1;
    position: static;
  }

  /* Collapsible summary toggle visible on mobile */
  .pd-checkout__summary-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 16px 20px;
    background: #f9f9f9;
    border: 1px solid #e9e9e9;
    border-radius: 10px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #000;
    cursor: pointer;
    transition: background 0.15s;
  }
  .pd-checkout__summary-toggle:hover { background: #f3f3f3; }
  .pd-checkout__summary-toggle-label { flex: 1 1 auto; text-align: left; }
  .pd-checkout__summary-toggle-total {
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    font-size: 16px;
  }
  .pd-checkout__summary-toggle-chevron {
    transition: transform 0.2s;
    flex: 0 0 16px;
  }
  .pd-checkout__summary-toggle[aria-expanded="true"] .pd-checkout__summary-toggle-chevron {
    transform: rotate(180deg);
  }

  /* Summary collapsed by default on mobile */
  .pd-checkout__summary-col .pd-order-summary {
    display: none;
    margin-top: 8px;
  }
  .pd-checkout__summary-col .pd-order-summary.is-expanded {
    display: flex;
  }
}

/* Mode toggle: stacks on narrow screens */
@media (max-width: 480px) {
  .pd-option-group--split {
    flex-direction: column;
  }
  .pd-option-group--split .pd-option { width: 100%; }

  /* Store card: stack map below body */
  .pd-store-card { flex-direction: column; }
  .pd-store-card__map { aspect-ratio: 16 / 9; }

  /* Form first/last become full-width */
  .pd-checkout .pd-address-form__fields,
  .pd-checkout .woocommerce-billing-fields__field-wrapper,
  .pd-checkout .woocommerce-shipping-fields__field-wrapper,
  .pd-checkout__fields,
  .pd-checkout__collection-contact {
    grid-template-columns: 1fr;
  }
  .pd-checkout .form-row.form-row-first,
  .pd-checkout .form-row.form-row-last {
    grid-column: 1 / -1;
  }

  /* Title smaller */
  .pd-checkout__title { font-size: 28px; }
  .pd-checkout__subtitle { font-size: 20px; }

  .pd-order-summary { padding: 20px; }
  .pd-order-summary__total-value { font-size: 28px; }
}



/* ── source lines 10178–10532 ── */
/* ════════════════════════════════════════════════════════════════════════
   2. ORDER RECEIVED / THANK YOU
════════════════════════════════════════════════════════════════════════ */
.pd-thankyou {
  background: #fff;
  padding: 40px var(--row-pad) 80px;
}
.pd-thankyou__inner {
  max-width: 823px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Page title — Figma: Oswald Bold 33px */
.pd-thankyou__page-title {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 33px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}

/* Failed-payment / no-order branches (pre-redesign styles kept) */
.pd-thankyou__header { text-align: left; }
.pd-thankyou__title {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 33px;
  line-height: 1.3;
  color: #000;
  margin: 0 0 12px;
}
.pd-thankyou__lede {
  font-family: 'Open Sans', sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: #000;
  margin: 0;
}
.pd-thankyou__actions { display: flex; align-items: center; gap: 20px; margin: 0; }
.pd-thankyou__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--navy);
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 18px;
  padding: 12px 28px;
  border-radius: 8px;
  text-decoration: none;
}
.pd-thankyou__btn:hover { background: var(--navy-mid, #30287C); }
.pd-thankyou__link {
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  color: var(--navy-mid, #30287C);
  text-decoration: underline;
}

/* ── Cards ─────────────────────────────────────────────────────
   Intro: white, #dfdfdf border. Summary: #f9f9f9, #e9e9e9 border. */
.pd-ty-card {
  border-radius: 10px;
  width: 100%;
  box-sizing: border-box;
}
.pd-ty-card--intro {
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid #dfdfdf;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pd-ty-card--summary {
  background: #f9f9f9;
  border: 1px solid #e9e9e9;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.pd-ty-card__heading {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 23px;
  line-height: 1.2;
  color: #000;
  margin: 0 0 12px;
}
.pd-ty-card--summary .pd-ty-card__heading { margin: 0; line-height: 1.5; }

.pd-ty-intro__lede {
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.2;
  color: #010101;
  margin: 0;
}
.pd-ty-block { display: flex; flex-direction: column; gap: 6px; }
.pd-ty-block__label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
  color: #010101;
  margin: 0;
}
.pd-ty-block__value {
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  line-height: 1.2;
  color: #010101;
  margin: 0;
}

/* Next-step note — lavender box, navy left rule (Figma 968:16098) */
.pd-ty-note {
  background: var(--lavender, #F4F0F8);
  border-left: 3px solid var(--navy-mid, #30287C);
  border-radius: 0 5px 5px 0;
  padding: 15px 18px;
}
.pd-ty-note p {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.2;
  color: var(--navy-mid, #30287C);
  margin: 0 0 8px;
}
.pd-ty-note p:last-child { margin-bottom: 0; }

/* Collection: white store card + live map (Figma 968:16397) */
.pd-ty-collection {
  display: flex;
  gap: 10px;
  background: var(--lavender, #F4F0F8);
  border-radius: 8px;
  padding: 11px;
}
.pd-ty-collection__card {
  flex: 0 0 330px;
  background: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 6px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-sizing: border-box;
}
.pd-ty-collection__address,
.pd-ty-collection__row {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: #000;
  margin: 0;
}
.pd-ty-collection__directions {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--navy);
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 17px;
  padding: 9px 16px;
  border-radius: 8px;
  text-decoration: none;
}
.pd-ty-collection__directions:hover { background: var(--navy-mid, #30287C); }
.pd-ty-collection__map {
  flex: 1 1 auto;
  min-height: 234px;
  border-radius: 6px;
  overflow: hidden;
}
.pd-ty-collection__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 234px;
  border: 0;
}

/* ── Summary internals ─────────────────────────────────────── */
.pd-ty-summary__head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.pd-ty-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #4b4b4b;
}
.pd-ty-row--small { font-size: 14px; }
.pd-ty-row span:last-child { text-align: right; }
.pd-ty-row .woocommerce-Price-amount { color: inherit; }

.pd-ty-summary__items-label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}
.pd-ty-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.pd-ty-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.pd-ty-item__thumb { flex: 0 0 40px; }
.pd-ty-item__thumb img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 3px;
  display: block;
}
.pd-ty-item__title {
  flex: 1 1 auto;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
  color: #000;
  align-self: center;
}
.pd-ty-item__qty { font-weight: 400; color: #4b4b4b; }
.pd-ty-item__price {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #4b4b4b;
  white-space: nowrap;
  align-self: center;
}
.pd-ty-item__price .woocommerce-Price-amount { color: inherit; }

.pd-ty-totals {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.pd-ty-total {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}
.pd-ty-total__label {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
}
.pd-ty-total__amount {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.2;
  color: #000;
}
.pd-ty-total__amount .woocommerce-Price-amount { color: inherit; }
.pd-ty-total__vat {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.5;
  color: #000;
}

.pd-ty-payment {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 253px;
}
.pd-ty-payment__heading {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}
.pd-ty-payment__address {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #4b4b4b;
  margin: 0;
}

/* Full-width navy Continue Shopping (Figma 968:16205) */
.pd-ty-continue {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 55px;
  background: var(--navy);
  color: #fff;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 22px;
  border-radius: 12px;
  text-decoration: none;
  box-sizing: border-box;
}
.pd-ty-continue:hover { background: var(--navy-mid, #30287C); }

@media (max-width: 779px) {
  .pd-thankyou { padding: 24px var(--row-pad) 56px; }
  .pd-ty-card--intro { padding: 24px 20px; }
  .pd-ty-card--summary { padding: 24px 20px; }
  .pd-ty-collection { flex-direction: column; }
  .pd-ty-collection__card { flex-basis: auto; }
  .pd-ty-total__amount { font-size: 28px; }
}

