/* Square SANDBOX wiring (2026-09-26): small additions on top of base.css for the cart/checkout, option picker and
   STAND-IN photo placeholders. Public copy only. */
.sq-test-flag { font-size:.85rem; letter-spacing:.04em; }
.sq-noimg { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.3rem; width:100%; height:100%; min-height:10rem; aspect-ratio:1/1; background:#EFEBE3; color:#6b5a44; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.sq-noimg span { font-weight:700; font-size:.7rem; border:1px solid currentColor; padding:.05rem .35rem; border-radius:2px; }
.sq-noimg--small { min-height:0; font-size:.6rem; }
.sq-sku { font-size:.78rem; letter-spacing:.04em; color:#6b5a44; margin:.2rem 0 .6rem; }
.sq-made-to-order { display:inline-block; font-size:.78rem; letter-spacing:.04em; padding:.1rem .45rem; border:1px solid rgba(0,0,0,.3); border-radius:3px; }
.sq-option-row select { padding:.55rem .6rem; border:1px solid rgba(0,0,0,.25); border-radius:4px; font:inherit; background:#fff; max-width:100%; min-width:0; flex:1; }
.sq-checkout { display:grid; gap:2rem; }
@media (min-width: 900px) { .sq-checkout { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:start; } }
.sq-pay { min-width:0; }
.sq-h2 { font-size:1.15rem; margin:1.4rem 0 .7rem; }






.sq-delivery, .sq-address, .sq-ship-options { border:1px solid rgba(0,0,0,.14); border-radius:4px; padding:.7rem .8rem; margin:0 0 1.1rem; min-width:0; }
.page-checkout .sq-address, .page-checkout .sq-ship-options { padding:.5rem .7rem; margin:0 0 .55rem; }
.sq-address legend, .sq-ship-options legend { font-size:.9rem; font-weight:600; padding:0 .3rem; }
.sq-delivery { display:grid; gap:.5rem; }
.sq-radio { display:flex; gap:.5rem; align-items:flex-start; font-size:.92rem; line-height:1.35; }
.sq-radio input { margin-top:.2rem; flex:none; }
.sq-radio__price { margin-left:auto; padding-left:.5rem; font-variant-numeric:tabular-nums; white-space:nowrap; font-weight:600; }
.sq-radio__duties { display:block; font-weight:400; font-size:.85em; color:#555; }
.sq-radio--ship { padding:.45rem 0; border-bottom:1px solid rgba(0,0,0,.07); }
.sq-radio--ship:last-child { border-bottom:0; }

.sq-ship-note.sq-duty-note { background:#eef5ee; border:1px solid #9cc39c; color:#1f4d2a; padding:.55rem .7rem; border-radius:4px; }
.sq-blocked { background:#fdf1e7; border:1px solid #d9a066; color:#6b3a00; border-radius:4px; padding:.7rem .8rem; font-size:.9rem; margin:0 0 .8rem; }
.sq-custom { display:inline-block; font-size:.72rem; letter-spacing:.04em; padding:.05rem .4rem; border:1px solid rgba(0,0,0,.25); border-radius:3px; margin-left:.25rem; }
#card-container { min-height:90px; margin:.5rem 0 1rem; }
.page-checkout #card-container { margin:.35rem 0 .35rem; }
.sq-pay-btn { width:100%; }
.sq-status { min-height:1.4em; font-size:.9rem; margin-top:.6rem; }
.sq-status--error { color:#9b1c1c; }
.sq-status--ok { color:#1f6b3a; }
.sq-summary { margin-top:1rem; }
.sq-done { border:1px solid #9cc39c; background:#f3f9f3; border-radius:6px; padding:1.2rem; }
.sq-done__list { display:grid; grid-template-columns:auto 1fr; gap:.35rem 1rem; font-size:.9rem; word-break:break-all; }
.sq-done__list dt { font-weight:600; }
.sq-done__list dd { margin:0; }
.sq-made-to-order[hidden], .sq-noimg[hidden] { display:none !important; }
.pdp-buy, .pdp-gallery { min-width:0; }
.sq-option-row { flex-wrap:wrap; align-items:center; }
.sq-option-row label { flex:0 0 100%; }
.sq-option-row select { width:100%; flex:1 1 100%; text-overflow:ellipsis; font-size:16px; }
.sq-checkout [hidden], .sq-pay [hidden] { display:none !important; }


/* Real product photos (2026-09-26, self-hosted from the founder's live store): <picture> fills the media frame. */
.media-frame picture.sq-photo { display:block; width:100%; height:100%; }
.media-frame picture.sq-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.pdp-gallery__main picture.sq-photo--contain img { object-fit:contain; }
/* 2026-10-20: thumbnail reel stays on one line and scrolls sideways (swipe on phones, scrollbar/trackpad on desktop). Grey #b5aea4 = the name-sign scrollbar thumb. */
.sq-thumbs { display:flex; flex-wrap:nowrap; gap:.5rem; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#b5aea4 transparent; padding-bottom:.35rem; position:relative; }
.pdp-gallery, .pdp-top > * { min-width:0; }
.sq-thumbs > button.media-frame { flex:0 0 4.5rem; width:4.5rem; scroll-snap-align:start; }
.sq-thumbs::-webkit-scrollbar { height:6px; }
.sq-thumbs::-webkit-scrollbar-track { background:transparent; }
.sq-thumbs::-webkit-scrollbar-thumb { background:#b5aea4; border-radius:3px; }
.sq-thumbs button.media-frame { padding:0; aspect-ratio:1; cursor:pointer; border:1px solid transparent; background:var(--stone, #EFEBE3); }
.sq-thumbs button.media-frame.is-active { border-color:var(--ancient-gold, #b08d57); }
.sq-thumbs button.media-frame:focus-visible { outline:2px solid currentColor; outline-offset:2px; }

/* Cart / checkout split (2026-10-01). Cart page: summary block with the Checkout button. Checkout page: two columns from 900px (form | summary + card). */
.cart-summary--page { max-width: 24rem; }
.cart-summary--page[hidden] { display: none !important; }
.cart-tax-note { margin: 0 0 1rem; }
.cart-checkout-btn { display: block; width: 100%; text-align: center; box-sizing: border-box; }
.cart-continue-btn { display: block; width: 100%; text-align: center; box-sizing: border-box; margin-top: 0.75rem; min-height: 44px; } /* "Continue Shopping" under Checkout (founder 2026-10-02) */
.sq-back { margin: .6rem 0 .4rem; font-size: .9rem; }
.sq-back__link { text-decoration: underline; text-underline-offset: 3px; }
.sq-pay.sq-pay--grid, .sq-checkout--page .sq-pay { display: grid; gap: 0 2rem; }
.sq-col { min-width: 0; }
@media (min-width: 900px) {
  .sq-checkout--page { grid-template-columns: minmax(0, 1fr); }
  .sq-checkout--page .sq-pay { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; }
}
.sq-checkout--page .sq-summary { max-width: none; margin-left: 0; margin-top: .4rem; }
.sq-order-lines { display: grid; gap: .65rem; font-size: .92rem; }
.sq-order-line { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; padding-bottom: .65rem; border-bottom: 1px solid var(--stone, #EFEBE3); }
.sq-order-line.co-line { align-items: center; }
.co-line__thumb { position: relative; flex: none; width: 4.25rem; aspect-ratio: 1; background: var(--stone, #EFEBE3); }
.co-line__thumb .co-line__img, .co-line__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.co-line__badge { position: absolute; top: -.35rem; right: -.35rem; min-width: 1.35rem; height: 1.35rem; padding: 0 .3rem; border-radius: 999px; background: var(--black-slate, #1F2426); color: #fff; font-size: .72rem; font-weight: 600; line-height: 1.35rem; text-align: center; }
.co-line__body { flex: 1; min-width: 0; }
.co-line__name { margin: 0; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.co-line__opts { margin: .15rem 0 0; font-size: .8rem; color: var(--text-secondary, #565B5C); }
.co-line__body .pz-line { margin: .2rem 0 0; font-size: .78rem; }
.sq-order-line__name { min-width: 0; overflow-wrap: anywhere; }
.sq-order-line__qty { color: var(--text-muted, #6b5a44); white-space: nowrap; }
.sq-order-line__price, .co-line__price { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 600; flex: none; }
.co-bar__body { padding: 0 var(--gutter, 1rem) .9rem; }
.co-upsell { margin-top: 1rem; padding-top: .85rem; border-top: 1px solid rgba(60, 40, 20, .12); }
.co-upsell__title { margin: 0 0 .6rem; font-size: .88rem; font-weight: 600; letter-spacing: .04em; }
.co-upsell__list { display: grid; gap: .55rem; }
.co-upsell__card { display: grid; grid-template-columns: 3.25rem 1fr auto; gap: .55rem; align-items: center; text-decoration: none; color: inherit; padding: .35rem 0; }
a.co-upsell__card { cursor: pointer; }
.co-upsell__media { aspect-ratio: 1; background: var(--stone, #EFEBE3); }
.co-upsell__img, .co-upsell__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.co-upsell__meta { min-width: 0; display: flex; flex-direction: column; gap: .1rem; }
.co-upsell__name { font-size: .82rem; line-height: 1.3; overflow-wrap: anywhere; }
.co-upsell__price { font-size: .78rem; color: var(--text-secondary, #565B5C); }
.co-upsell__add { font-size: .75rem; padding: .35rem .65rem; min-height: 32px; border: 1px solid var(--black-slate, #1F2426); background: transparent; border-radius: 3px; cursor: pointer; letter-spacing: .04em; }
.co-totals--side { margin-top: 1rem; border-top: 1px solid var(--stone, #EFEBE3); padding-top: .65rem; }
#CheckoutState[hidden] { display: none; }

/* Address search combobox + soft address check (2026-10-01). STAND-IN wording lives in checkout.html / address-search.js / checkout.js. */
.sq-combo { position:relative; min-width:0; }
.sq-combo__list { position:absolute; left:0; right:0; top:100%; z-index:20; margin:2px 0 0; padding:0; list-style:none; background:#fff; border:1px solid rgba(0,0,0,.3); border-radius:4px; box-shadow:0 6px 18px rgba(0,0,0,.14); max-height:min(22rem,60vh); overflow-y:auto; overflow-x:hidden; }
.sq-combo__opt { display:grid; gap:.1rem; min-height:48px; padding:.5rem .75rem; box-sizing:border-box; cursor:pointer; overflow-wrap:anywhere; border-bottom:1px solid rgba(0,0,0,.07); }
.sq-combo__opt[aria-selected="true"], .sq-combo__opt:hover { background:#f3efe6; }
.sq-combo__opt strong { font-size:.95rem; font-weight:600; }
.sq-combo__opt span { font-size:.82rem; color:#5d5446; }
.sq-combo__foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.3rem .8rem; min-height:44px; padding:.2rem .75rem; font-size:.78rem; color:#5d5446; }
.sq-combo__foot a, .sq-find__manual { display:inline-flex; align-items:center; min-height:44px; padding:0 .15rem; }
.sq-find__manual { min-height:0; display:inline; padding:0; }

.sq-address-note { margin:.2rem 0 1rem; }
.page-checkout .sq-address-note { margin:.1rem 0 .45rem; }
/* address check: unit prompt, contact link, paused-payment note (2026-10-02) */
.sq-unit-prompt { display:block; margin-top:.35rem; padding:.45rem .6rem; border-left:3px solid #d9b866; background:#fdf6e3; font-size:.9rem; }
.sq-pay-paused { margin:.6rem 0 0; font-size:.9rem; }

/* ===== Checkout form round (founder 2026-10-02): floating labels, reserved error lines, postal suggestion, automatic shipping options ===== */
/* Colours (all from the site tokens in base.css; contrast measured against the white field background #FFFFFF):
   resting + floated label  --text-muted #6A6F70  5.10:1  (AA text, 4.5:1)      typed text  --black-slate #1F2426  15.69:1
   focus border/label       --lapis-ds   #284B78  8.87:1                          field border #8A8F90  3.27:1 (non-text UI, 3:1)
   error text/border/label  #9b1c1c              8.15:1 (plus a "!" mark, a 2px border and aria-invalid: never colour alone) */
.sq-field { display:block; margin:0 0 .25rem; min-width:0; }
.page-checkout .sq-field { margin-bottom: .55rem; }
.page-checkout .sq-address .sq-field { margin-bottom: .55rem; }
.page-checkout .sq-field--help { margin-bottom: .7rem; }
.sq-float { position:relative; min-width:0; }
.sq-float input, .sq-float select { display:block; width:100%; height:3.5rem; padding:1.4rem .8rem .35rem; border:1px solid #8A8F90; border-radius:4px; background:#fff; color:#1F2426; font:inherit; font-size:16px; line-height:1.3; box-sizing:border-box; margin:0; }
.sq-float label { position:absolute; left:.8rem; right:.8rem; top:50%; transform:translateY(-50%); margin:0; font-size:.95rem; font-weight:400; line-height:1.2; color:#6A6F70; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; pointer-events:none; transition:top .15s ease, font-size .15s ease, transform .15s ease; }
.sq-float input:focus + label, .sq-float.has-value input + label, .sq-float input:-webkit-autofill + label, .sq-float--select label { top:.5rem; transform:none; font-size:.75rem; }
.sq-float input:focus, .sq-float select:focus { outline:2px solid #284B78; outline-offset:1px; border-color:#284B78; }
.sq-float input:focus + label, .sq-float select:focus + label { color:#284B78; }
.sq-float input::placeholder { color:transparent; }
.sq-float input:focus::placeholder { color:#6A6F70; }
.sq-float input:-webkit-autofill, .sq-float select:-webkit-autofill { -webkit-box-shadow:0 0 0 100px #fff inset; -webkit-text-fill-color:#1F2426; caret-color:#1F2426; }
.sq-float--select select { appearance:none; -webkit-appearance:none; padding-right:2.4rem; text-overflow:ellipsis; }
.sq-float--select::after { content:""; position:absolute; right:1rem; top:50%; width:.5rem; height:.5rem; border-right:2px solid #565B5C; border-bottom:2px solid #565B5C; transform:translateY(-70%) rotate(45deg); pointer-events:none; }
.sq-float.is-invalid input, .sq-float.is-invalid select, .sq-float input[aria-invalid="true"], .sq-float select[aria-invalid="true"] { border:2px solid #9b1c1c; padding-left:calc(.8rem - 1px); }
.sq-float.is-invalid label, .sq-float input[aria-invalid="true"] + label, .sq-float select[aria-invalid="true"] + label { color:#9b1c1c; }
.sq-float.is-invalid input:focus, .sq-float input[aria-invalid="true"]:focus, .sq-float select[aria-invalid="true"]:focus { outline-color:#9b1c1c; }
/* the error line has its own reserved height, so an error under one box never moves its neighbour; rows are top-aligned */
.sq-err { display:block; min-height:1.35rem; margin:.25rem 0 0; color:#9b1c1c; font-size:.8rem; line-height:1.35; }
.page-checkout .sq-err { min-height:1.15rem; margin-top:.12rem; }
.page-checkout .sq-err:empty { min-height:0; margin-top:0; }
.sq-err:not(:empty)::before { content:"! "; font-weight:700; }
.sq-row2 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 .8rem; align-items:start; }
@media (max-width: 640px) { .sq-row2 .sq-err { min-height:2.7rem; } } /* room for a two-line message under a half-width box */
.sq-field .spec-note { margin-top:.25rem; }
.page-checkout .sq-field .spec-note { margin-top:.2rem; }
.page-checkout .sq-field > .spec-note.co-help,
.page-checkout .sq-field > p.co-help { margin-top:.2rem; margin-bottom:0; }
.page-checkout .sq-field-after,
.page-checkout .co-field-after { margin:.2rem 0 .7rem; }
.sq-find-help { display:flex; flex-wrap:wrap; align-items:center; gap:0 .6rem; }
.sq-find-help a, .sq-find__manual { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:3px; }
.sq-find__done { color:#1f4d2a; display:block; }
/* "Did you mean M9V 5G8?" under the postal box (reference: info icon, postal bold + underlined, clickable) */
.sq-suggest-wrap { min-width:0; margin-top:.2rem; }
.page-checkout .sq-field > .sq-suggest-wrap { margin-bottom:0; }
.sq-suggest { display:flex; align-items:center; gap:.45rem; min-height:44px; margin:0; font-size:.9rem; color:#1F2426; }
.sq-suggest[hidden] { display:none !important; }
.sq-suggest__icon { flex:none; color:#284B78; }
.sq-suggest__btn { appearance:none; background:none; border:0; margin:0; padding:0 .15rem; min-height:44px; font:inherit; color:#284B78; cursor:pointer; }
.sq-suggest__btn:focus-visible { outline:2px solid #284B78; outline-offset:2px; border-radius:2px; }
.sq-suggest__btn u { text-underline-offset:3px; }
/* "couldn't find this address" (replaces the old Not verified badge) */
.sq-notfound { margin:.4rem 0 .6rem; }
.sq-notfound p { margin:.15rem 0; }
.sq-notfound__contact a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
/* automatic shipping options */
.sq-ship-status { display:flex; align-items:center; gap:.5rem; min-height:44px; margin:.2rem 0 .8rem; font-size:.9rem; color:#565B5C; }
.sq-ship-status[hidden] { display:none !important; }
.sq-ship-status::before { content:""; width:.9rem; height:.9rem; border:2px solid #CBBEAA; border-top-color:#565B5C; border-radius:50%; animation:sq-spin .9s linear infinite; }
@keyframes sq-spin { to { transform:rotate(360deg); } }
.sq-ship-unavailable p { display:flex; flex-wrap:wrap; align-items:center; gap:0 .4rem; margin:0; }
.sq-ship-unavailable a, .sq-linkbtn { display:inline-flex; align-items:center; min-height:44px; }
.sq-linkbtn { appearance:none; background:none; border:0; padding:0 .1rem; font:inherit; font-weight:600; color:#284B78; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.sq-linkbtn:focus-visible { outline:2px solid #284B78; outline-offset:2px; }
.sq-radio--ship { min-height:44px; align-items:center; }
/* Pay is paused with aria-disabled (still clickable: a click shows every problem field); looks like the old disabled state */
.sq-pay-btn[aria-disabled="true"] { opacity:.45; cursor:not-allowed; }
.sq-pay-btn { min-height:48px; }
@media (prefers-reduced-motion: reduce) { .sq-float label { transition:none; } .sq-ship-status::before { animation:none; } }

/* ===== Checkout (Shopify-style): centered ~1100px, form left / sticky summary right; no site header or footer ===== */
.co-test-flag { margin: .5rem auto 0; max-width: 68rem; padding: 0 var(--gutter, 1rem); }
.co-section { padding: 0; }
.page-checkout .co-section > .container.co-page { max-width: 68rem; margin-inline: auto; }
.co-page.cart-layout { padding-top: 1rem; padding-bottom: 2.5rem; }
.page-checkout .sq-h2 { margin: 1rem 0 .35rem; font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase; }
.page-checkout .sq-col--main > .sq-h2:first-of-type { margin-top: .25rem; }
.page-checkout .sq-h2--ship { margin-top: .65rem; }
.co-help { margin: .2rem 0 0; font-size: .82rem; }
.page-checkout .co-help { margin: .2rem 0 0; }
.page-checkout .co-consent { display: flex; align-items: flex-start; gap: .55rem; font-size: .86rem; line-height: 1.45; cursor: pointer; margin: .35rem 0 0; }
.page-checkout .co-consent input[type="checkbox"] { width: 1.05rem; height: 1.05rem; margin: .15rem 0 0; flex: none; }
.page-checkout .sq-ship-options .co-ship-protection { margin: .2rem 0 0; }
.page-checkout .sq-ship-options .co-eta-note { margin-top: .2rem; }
.co-topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; min-height: 44px; }
.co-topbar__logo { display: inline-flex; align-items: center; text-decoration: none; color: var(--gold-dark, #8a6d32); }
.co-topbar__cart { color: var(--slate, #1F2426); text-decoration: none; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.co-express__label { margin: 0 0 .5rem; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text-secondary, #565B5C); }
.co-express-or { text-align: center; margin: 1rem 0 1.1rem; font-size: .82rem; letter-spacing: .14em; color: var(--text-secondary, #565B5C); }
.co-batch-note { margin: .85rem 0 0; padding: .75rem .85rem; background: #f0ebe2; border-radius: 4px; font-size: .86rem; line-height: 1.45; color: var(--slate, #1F2426); }

/* Order summary: a sticky collapsed bar on phones ("Order summary (6 items) / $173.71 CAD"); the right column, sticky and always open, from 900px. */
.co-summary { min-width: 0; }
.co-bar { background: #f1ebe0; border-bottom: 1px solid rgba(60, 40, 20, .12); }
.co-bar__head { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem var(--gutter, 1rem); cursor: pointer; min-height: 48px; font-size: .92rem; }
.co-bar__head::-webkit-details-marker { display: none; }
.co-bar__chev { display: inline-block; width: .5em; height: .5em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); margin-left: .35rem; transition: transform .15s; }
.co-bar[open] .co-bar__chev { transform: rotate(-135deg) translateY(-1px); }
.co-bar__total { font-size: 1rem; white-space: nowrap; }
.co-bar__lines { padding: .25rem var(--gutter, 1rem) .9rem; max-height: 55vh; overflow: auto; }
.co-mto { display: inline-block; margin-left: .35rem; padding: .05rem .4rem; border-radius: 3px; font-size: .72rem; font-weight: 600; letter-spacing: .03em; background: #f3e7cf; color: #6b4a12; vertical-align: 1px; }
@media (max-width: 899.98px) {
  .co-summary { position: sticky; top: 0; z-index: 40; margin: 0 calc(-1 * var(--gutter, 1rem)); }
  .page-checkout .sq-checkout--page .sq-pay { display: flex; flex-direction: column; }
  .page-checkout .sq-col--main { order: 2; }
  .page-checkout .co-summary { order: 1; }
}
@media (min-width: 900px) {
  .page-checkout .sq-checkout--page .sq-pay { display: grid; grid-template-columns: minmax(0, 1.58fr) minmax(0, 1fr); gap: 0 2.75rem; max-width: 68rem; margin-inline: auto; }
  .co-summary { grid-column: 2; grid-row: 1; position: sticky; top: 1.25rem; align-self: start; }
  .page-checkout .sq-col--main { grid-column: 1; grid-row: 1; }
  .co-bar { border: 1px solid rgba(60, 40, 20, .12); border-radius: 6px; background: #faf8f4; }
  .co-bar__head { cursor: default; pointer-events: none; padding: .85rem var(--gutter, 1rem) .5rem; font-weight: 600; }
  .co-bar__chev { display: none; }
  .co-bar__body, .co-bar__lines { max-height: none; overflow: visible; }
  .co-bar__body { padding-bottom: 1rem; }
}

/* Picked address as one card (review M2). */
.co-addr-card { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; border: 1px solid #cfc6b6; border-radius: 4px; padding: .75rem .85rem; background: #fff; margin: 0 0 .75rem; }
.co-addr-card__text { margin: 0; line-height: 1.45; }
.co-addr-card__edit { flex: none; min-height: 32px; }
#AddrFields.is-collapsed [data-row="address1"], #AddrFields.is-collapsed [data-row="city"], #AddrFields.is-collapsed [data-row="province"], #AddrFields.is-collapsed [data-row="postal_code"] { display: none !important; }

/* Shipping: delivery time on its own line under the service name (item 13). */
.sq-radio__main { display: flex; flex-direction: column; gap: .1rem; flex: 1; min-width: 0; }
.sq-radio__eta { font-size: .8rem; color: var(--text-secondary, #565B5C); }
.co-eta-note { margin: .4rem 0 0; }

/* Made to order / design proof note (review H2). */
.co-proof { margin: .9rem 0 0; padding: .7rem .85rem; border-left: 3px solid #a07a3a; background: #f7efe2; border-radius: 0 4px 4px 0; font-size: .9rem; }
.co-proof p { margin: 0; }
.co-proof__title { font-weight: 600; margin-bottom: .2rem !important; }

/* Payment: wallets, billing checkbox and fields, totals next to Pay, secure line. */
.co-wallets { display: grid; gap: .6rem; margin: 0 0 .9rem; }
.co-wallet { min-height: 48px; width: 100%; }
.co-wallet--apple { -webkit-appearance: -apple-pay-button; -apple-pay-button-type: plain; -apple-pay-button-style: black; border-radius: 6px; cursor: pointer; }
.co-wallets__or { text-align: center; margin: .1rem 0 0; font-size: .82rem; } /* legacy; express checkout uses .co-express-or */
.co-check { display: flex; align-items: center; gap: .6rem; margin: .9rem 0 .2rem; min-height: 44px; cursor: pointer; }
.page-checkout .co-check { margin: .2rem 0 .7rem; min-height: 44px; }
.page-checkout .co-check.co-field-after { margin-bottom: .7rem; }
.co-check input { width: 20px; height: 20px; accent-color: #1F2426; flex: none; }
.co-billing { margin-top: .4rem; }
.co-billing .sq-h3 { font-size: .95rem; font-weight: 600; margin: .4rem 0 .5rem; }
.co-totals { margin-top: 1rem; border-top: 1px solid var(--stone, #EFEBE3); padding-top: .6rem; }
.co-total-row { font-size: 1.08rem; }
.co-cur { font-weight: 400; font-size: .85em; }
.co-duties-why { margin: -.1rem 0 .4rem; font-size: .8rem; }
.page-checkout .sq-pay-btn { margin-top: .6rem; font-size: 1rem; letter-spacing: .06em; }
.co-secure { display: flex; align-items: flex-start; justify-content: center; gap: .35rem; text-align: center; font-size: .8rem; color: var(--text-secondary, #565B5C); margin: .6rem 0 .2rem; }
.co-secure__icon { flex: none; margin-top: .15rem; }
.co-agree { text-align: center; font-size: .85rem; margin: .8rem 0 .5rem; } /* B-059 agree line above Pay */
.co-links { text-align: center; font-size: .8rem; margin: 0 0 .4rem; }
.co-links a { color: inherit; padding: .3rem .1rem; }
