.cart-nav { position: relative; flex: none; }
.cart-count { position: absolute; top: -2px; right: -2px; min-width: 18px; padding: 2px 4px; border-radius: var(--r-pill); background: var(--forest); color: var(--paper); font: 10px var(--font-mono); text-align: center; }
.product-add { margin-top: var(--s-3); width: 100%; white-space: normal; }
.product-add[aria-pressed="true"] { background: var(--glass-2); border-color: var(--hairline); color: var(--forest); }
.pdp-cart-actions { display: grid; gap: var(--s-3); }
.commerce { max-width: 1240px; padding-block: var(--s-6) var(--s-8); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--s-3); color: var(--forest-3); font-size: var(--text-xs); margin-bottom: var(--s-6); }
.journey { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--s-7); margin-bottom: var(--s-7); color: var(--forest-3); font-size: var(--text-xs); }
.journey li, .journey a { display: flex; align-items: center; gap: 10px; }
.journey li > span, .journey a > span { display: grid; place-items: center; border: 1px solid var(--hairline); border-radius: 50%; width: 30px; height: 30px; flex: none; font: 11px var(--font-mono); }
.journey li[aria-current] { color: var(--forest); font-weight: 600; }
.journey li[aria-current] > span, .journey li[aria-current] a > span { color: var(--paper); background: var(--forest); border-color: var(--forest); }
.page-title { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--s-5); margin-bottom: var(--s-6); }
.page-title h1 { margin: var(--s-2) 0 var(--s-3); }
.page-title h1 span { color: var(--forest-3); font-weight: 400; }
.page-title .soft { font-size: var(--text-sm); }
.page-title > a { font-size: var(--text-xs); }
.commerce-grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: var(--s-6); align-items: start; }
.commerce-grid > * { min-width: 0; }
.select-toolbar { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--s-3); padding-bottom: var(--s-4); border-bottom: 1px solid var(--hairline); font-size: var(--text-xs); }
.select-toolbar label { display: flex; align-items: center; gap: var(--s-3); }
.cart-row { display: grid; grid-template-columns: 18px 126px minmax(0, 1fr); gap: 18px; padding-block: var(--s-5); border-bottom: 1px solid var(--hairline); align-items: center; }
.cart-row > img, .cart-image-placeholder { width: 126px; height: 140px; object-fit: cover; border-radius: var(--r-md); background: var(--paper); }
.cart-image-placeholder { display: grid; place-items: center; color: var(--forest-4); }
.cart-row-body { min-width: 0; }
.item-top { display: flex; justify-content: space-between; align-items: start; gap: var(--s-3); }
.item-top h2 { font-size: var(--text-base); line-height: var(--body-lh); overflow-wrap: anywhere; }
.item-condition { margin-top: var(--s-2); color: var(--forest-3); font-size: var(--text-xs); }
.item-price { white-space: nowrap; font-size: var(--text-base); }
.item-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 18px; }
.qty { display: flex; align-items: center; border: 1px solid var(--hairline); border-radius: var(--r-pill); background: var(--paper); overflow: hidden; }
.qty button { width: 34px; height: 34px; }
.qty button:disabled { color: var(--forest-4); cursor: default; }
.qty output { min-width: 24px; text-align: center; font: 12px var(--font-mono); }
.remove { color: var(--forest-3); font-size: var(--text-xs); text-decoration: underline; }
.cart-unavailable { font-size: var(--text-xs); color: var(--low); margin-top: var(--s-2); }
.cart-row--unavailable > img { opacity: .55; }
.cart-note { display: flex; gap: var(--s-3); margin-top: var(--s-5); max-width: 590px; font-size: var(--text-xs); color: var(--forest-3); }
.note-mark { display: grid; place-items: center; border: 1px solid var(--forest-4); border-radius: 50%; width: 18px; height: 18px; flex: none; font-size: 11px; }
.commerce-summary { position: sticky; top: 96px; padding: 26px; border: 1px solid var(--hairline); border-radius: var(--r-lg); background: var(--paper); box-shadow: var(--shadow-sm); }
.commerce-summary h2 { font-size: var(--text-lg); }
.commerce-summary dl { display: grid; gap: var(--s-4); padding-block: var(--s-5); font-size: var(--text-xs); color: var(--forest-2); }
.commerce-summary dl > div { display: flex; justify-content: space-between; gap: var(--s-4); }
.commerce-summary dd { text-align: right; }
.summary-total { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--s-3); padding-top: var(--s-5); border-top: 1px solid var(--hairline); font-size: var(--text-sm); }
.summary-total strong { font-size: 24px; font-weight: 500; }
.commerce .fine { font-size: var(--text-xs); color: var(--forest-3); }
.commerce-summary > .fine { margin-top: var(--s-3); }
.commerce-summary > .btn { margin-top: var(--s-5); white-space: normal; }
.commerce-summary [aria-disabled="true"] { opacity: .45; cursor: default; }
.summary-foot { margin-top: var(--s-3); text-align: center; font-size: 11px; color: var(--forest-3); }
.commerce-summary hr { border: 0; border-top: 1px solid var(--hairline-soft); margin: var(--s-5) 0; }
.next-step { display: flex; align-items: start; gap: var(--s-3); font-size: var(--text-xs); }
.mini-number { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--glass-2); font: 11px var(--font-mono); color: var(--forest); }
.form-stack { display: grid; gap: var(--s-5); }
.form-panel { padding: 26px; background: var(--paper); border: 1px solid var(--hairline); border-radius: var(--r-lg); }
.panel-heading { display: flex; align-items: start; gap: 13px; margin-bottom: var(--s-5); }
.panel-heading h2 { font-size: var(--text-md); line-height: var(--body-lh); }
.panel-heading p { margin-top: var(--s-1); }
.commerce .fields { display: grid; gap: var(--s-5); }
.commerce .two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.required { color: var(--ochre); }
.optional { margin-left: var(--s-2); color: var(--forest-3); font-size: var(--text-xs); font-weight: 400; }
.receive-options { border: 0; padding: 0; margin: 0; display: grid; gap: 10px; }
.receive-choice { display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--hairline); border-radius: var(--r-md); cursor: pointer; }
.receive-choice:has(input:checked) { border-color: var(--forest); background: var(--glass); }
.receive-choice input { accent-color: var(--forest); width: 17px; height: 17px; flex: none; }
.receive-choice strong { display: block; font-size: var(--text-sm); font-weight: 600; }
.receive-choice small { display: block; color: var(--forest-3); font-size: var(--text-xs); margin-top: var(--s-1); }
.receive-choice .badge { margin-left: auto; flex: none; }
.pickup-info { background: var(--glass); border-radius: var(--r-md); padding: 17px; margin-top: 18px; font-size: var(--text-xs); color: var(--forest-2); }
.pickup-info p { margin-top: var(--s-1); color: var(--forest-3); }
.date-field { margin-top: var(--s-5); max-width: 340px; }
[data-delivery-fields] { margin-top: var(--s-5); }
.summary-heading { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; align-items: center; }
.summary-heading a { font-size: var(--text-xs); }
.checkout-items { display: grid; gap: 18px; margin-top: var(--s-5); }
.checkout-item { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: var(--s-3); align-items: center; }
.checkout-item img { width: 58px; height: 66px; object-fit: cover; border-radius: var(--r-sm); }
.checkout-item strong { font-size: var(--text-xs); font-weight: 500; overflow-wrap: anywhere; }
.checkout-item p { font-size: 11px; color: var(--forest-3); margin-block: 3px; }
.checkout-item .num { font-size: var(--text-xs); }
.review-note { padding: var(--s-4); background: var(--glass); border-radius: var(--r-md); font-size: var(--text-xs); margin-top: var(--s-5); }
.review-note p { color: var(--forest-3); margin-top: var(--s-2); }
.checkout-not-ready { margin-top: var(--s-4); font-size: var(--text-xs); color: var(--forest-2); }
.checkout-contact { display: inline-block; margin-top: var(--s-3); font-size: var(--text-sm); }
.empty-cart { padding: var(--s-7) var(--s-4); text-align: center; }
.empty-cart h2 { font-size: var(--text-lg); }
.empty-cart p { margin: var(--s-4) 0 var(--s-5); }
.commerce-status { padding-block: var(--s-4); color: var(--forest-3); }
.commerce [data-cart-retry] { margin-bottom: var(--s-5); }
@media (max-width: 1100px) {
  .commerce-grid { grid-template-columns: minmax(0, 1fr) 310px; gap: var(--s-5); }
  .commerce-summary { padding: 22px; }
  .cart-row { grid-template-columns: 18px 100px minmax(0, 1fr); gap: var(--s-3); }
  .cart-row > img, .cart-image-placeholder { width: 100px; height: 120px; }
  .item-top { flex-direction: column; gap: var(--s-2); }
}
@media (max-width: 800px) {
  .commerce-grid { grid-template-columns: minmax(0, 1fr); }
  .commerce-summary { position: static; }
  .journey { gap: var(--s-5); margin-bottom: var(--s-6); }
  .commerce-summary .btn { min-height: 48px; }
}
@media (max-width: 780px) {
  .masthead .shopnav { top: 100%; }
  .masthead .shopnav[data-open="false"] { visibility: hidden; pointer-events: none; }
}
@media (max-width: 560px) {
  .masthead__inner { flex-wrap: wrap; padding-block: var(--s-3); }
  .masthead__tools { flex-wrap: wrap; }
  .masthead .brand { min-width: 0; }
  .masthead .brand__word { white-space: normal; font-size: var(--text-base); }
  .commerce { padding-bottom: var(--s-6); }
  .journey { justify-content: flex-start; gap: var(--s-3); font-size: 11px; }
  .journey li, .journey a { gap: 6px; }
  .journey li > span, .journey a > span { width: 24px; height: 24px; font-size: 10px; }
  .page-title { flex-direction: column; align-items: start; gap: 18px; }
  .cart-row { grid-template-columns: 17px 80px minmax(0, 1fr); gap: 10px; padding-block: var(--s-5); }
  .cart-row > img, .cart-image-placeholder { width: 80px; height: 105px; }
  .item-top h2 { font-size: var(--text-sm); }
  .item-price { font-size: var(--text-sm); }
  .item-actions { gap: var(--s-3); margin-top: var(--s-3); }
  .form-panel { padding: var(--s-5); }
  .commerce .two { grid-template-columns: minmax(0, 1fr); }
  .commerce .input, .commerce .textarea { font-size: 16px; }
  .receive-choice { padding: 14px; gap: 10px; }
}
@media (pointer: coarse) {
  .qty button { width: 44px; height: 44px; }
  .remove { min-height: 44px; }
}

.checkout-error { grid-column: 1 / -1; padding: var(--s-4); border: 1px solid var(--sale); border-radius: var(--r-md); color: var(--sale); background: var(--sale-wash); }
.cart-stock { margin-top: var(--s-2); font-size: var(--text-xs); color: var(--forest-3); }
.confirmation { max-width: 740px; margin-inline: auto; text-align: center; }
.confirmation > * + * { margin-top: var(--s-5); }
.confirmation-reference { display: grid; gap: var(--s-3); justify-items: center; padding-block: var(--s-6); border-block: 1px solid var(--hairline); }
.confirmation-reference strong { font-size: var(--text-lg); }
.confirmation-actions { display: flex; flex-wrap: wrap; gap: var(--s-3); justify-content: center; }
