/* Shared public visual language. QR checkout retains its final, page-specific layer. */
:root {
  color-scheme: light;
  --bg: #fff;
  --panel: #fff;
  --panel-strong: #171717;
  --text: #161616;
  --muted: #626262;
  --line: #e5e5e5;
  --line-strong: #bdbdbd;
  --accent: #171717;
  --accent-hover: #353535;
  --accent-soft: #f5f5f5;
  --accent-strong: #171717;
  --green: #171717;
  --shadow: 0 8px 28px #0000000d;
}
body { background: #fff; color: var(--text); }
::selection { background: #171717; color: #fff; }
body:not(.buy-page) :is(h1, h2, h3) { font-family: "Barlow", sans-serif; letter-spacing: -.025em; }
body:not(.buy-page) :is(input, select, textarea) { border-radius: 5px; border-color: var(--line-strong); color: var(--text); background-color: #fff; font: inherit; accent-color: #171717; }
body:not(.buy-page) :is(input, select, textarea):focus { border-color: #171717; box-shadow: none; }
body:not(.buy-page) :is(button, a, summary, input, select, textarea):focus-visible { outline: 2px solid #171717; outline-offset: 4px; }
body:not(.buy-page) [tabindex="-1"]:focus { outline: none; }
body:not(.buy-page) .button { min-height: 48px; border-radius: 5px; font-size: .9rem; font-weight: 600; box-shadow: none; transform: none; }
body:not(.buy-page) .button.primary,
body:not(.buy-page) .consumer-auth-card .button.primary { border: 1px solid #171717; background: #171717; color: #fff; }
body:not(.buy-page) .button.primary:hover,
body:not(.buy-page) .consumer-auth-card .button.primary:hover { border-color: #353535; background: #353535; color: #fff; }
body:not(.buy-page) .button.secondary,
body:not(.buy-page) .button.ghost { border-color: var(--line-strong); background: #fff; color: var(--text); }
body:not(.buy-page) .button.secondary:hover,
body:not(.buy-page) .button.ghost:hover { background: #f5f5f5; color: #171717; }
body:not(.buy-page) .button:disabled { opacity: 1; border-color: #e7e7e7; background: #f0f0f0; color: #777; cursor: not-allowed; }
body:not(.buy-page) .status-text { font-size: .85rem; line-height: 1.5; }
body:not(.buy-page) .status-text:empty { display: none; }
body:not(.buy-page) .topbar { min-height: 72px; padding-block: 12px; padding-inline: max(24px, calc((100vw - 1120px) / 2)); background: #fff; border-color: var(--line); box-shadow: none; backdrop-filter: none; }
body:not(.buy-page) .brand img { width: 40px; height: 40px; }
body:not(.buy-page) .site-nav { gap: 20px; }
body:not(.buy-page) .site-nav > a,
body:not(.buy-page) .header-dropdown summary { font-size: .88rem; font-weight: 500; color: var(--text); }
body:not(.buy-page) .site-nav [aria-current="page"] { color: #171717; box-shadow: inset 0 -1px 0 #171717; }
body:not(.buy-page) .header-dropdown-panel { padding: 8px; border-color: var(--line); border-radius: 8px; box-shadow: var(--shadow); background: #fff; }
body:not(.buy-page) .header-dropdown-panel :is(a, button) { min-height: 44px; color: var(--text); font-weight: 500; }
body:not(.buy-page) .header-dropdown-panel :is(a, button):hover { background: #f5f5f5; }
body:not(.buy-page) .header-dropdown-panel strong { font-weight: 500; }
body:not(.buy-page) :is(.nav-cart-link, .mobile-cart-shortcut) [data-online-cart-count] { background: #171717; border-color: #171717; color: #fff; font-weight: 600; }
body:not(.buy-page) .nav-menu-button { border: 0; border-radius: 5px; background: #fff; }
body:not(.buy-page) .nav-menu-button:hover { background: #f5f5f5; }
body:not(.buy-page) .test-mode-badge { background: #fff; border-color: var(--line); color: var(--muted); font-weight: 500; }
body:not(.buy-page) .site-footer.minimal-footer { padding-inline: max(24px, calc((100vw - 1120px) / 2)); border-top-color: var(--line); }
body:not(.buy-page) .site-footer.minimal-footer a { font-weight: 400; }
body:not(.buy-page) .site-footer.minimal-footer a:hover { color: #171717; text-decoration: underline; text-underline-offset: 4px; }

/* Product photography remains complete, without an outer card or coloured frame. */
.public-home .home-cover { height: clamp(100px, 11vw, 140px); }
.public-home .product-showcase { width: min(1040px, calc(100% - 64px)); padding-block: 36px 56px; }
.public-home .site-product-grid { gap: 48px; }
.public-home .site-product-grid .product-card,
.public-home .site-product-grid .product-card:hover { border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.public-home .product-card-carousel { --product-media-bg: #fff; }
.public-home .product-card-copy { gap: 6px; padding-top: 20px; }
.public-home .product-card-copy > strong { font-size: 1.28rem; font-weight: 600; }
.public-home .site-product-grid .product-card-copy h3 { font-size: 1.04rem; font-weight: 400; color: var(--muted); }
.public-home .product-card-actions { padding-top: 12px; }
.public-home .product-card-question { font-size: .86rem; color: var(--muted); }
.product-cart-badge { background: #171717; border-color: #171717; color: #fff; box-shadow: none; border-radius: 5px; font-weight: 500; }
.product-cart-badge img { filter: invert(1); }
.public-home .home-cart-controls { gap: 0; }
.public-home .home-cart-controls.has-quantity { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 5px; }
.public-home .home-cart-controls.has-quantity button { min-width: 44px; border: 0; border-radius: 0; background: #fff; color: #171717; font-weight: 400; }
.public-home .home-cart-controls.has-quantity button:hover { background: #f5f5f5; }
.public-home .home-cart-controls.has-quantity output { width: 38px; font-size: .9rem; font-weight: 500; }
.public-home .home-cart-controls:not(.has-quantity) button { min-height: 44px; font-size: .88rem; font-weight: 500; }
.public-home .resume-cart-band { border-color: var(--line); border-radius: 8px; box-shadow: var(--shadow); background: #fff; }
.public-home .resume-cart-band > div > span { color: var(--muted); font-size: .75rem; font-weight: 400; }
.public-home .resume-cart-band strong { font-weight: 600; }
.product-carousel-arrow { width: 44px; height: 44px; border: 1px solid var(--line); box-shadow: none; }
.product-carousel-dots { gap: 0; padding: 0 4px; background: #fffffff2; }
.product-carousel-dots button { position: relative; width: 24px; height: 32px; background: transparent; }
.product-carousel-dots button::after { content: ""; display: block; width: 5px; height: 5px; margin: auto; border-radius: 50%; background: #a5a5a5; }
.product-carousel-dots button[aria-current="true"] { background: transparent; }
.product-carousel-dots button[aria-current="true"]::after { background: #171717; }
.public-home .product-quick-view { width: min(960px, calc(100% - 48px)); max-height: calc(100svh - 48px); border: 0; border-radius: 8px; box-shadow: 0 16px 60px #0003; }
.public-home .product-quick-view::backdrop { background: #0007; }
.public-home .quick-view-close { width: 44px; height: 44px; border: 0; background: #fff; }
.public-home .quick-view-copy { padding: 56px 36px 36px; }
.public-home .quick-view-copy > strong { margin: 0 0 8px; font-size: 1.5rem; font-weight: 600; }
.public-home .quick-view-copy h2 { margin: 0 0 24px; color: var(--muted); font-size: 1.15rem; font-weight: 400; }
.public-home .quick-view-copy > p { font-size: .94rem; line-height: 1.65; }
.public-home .quick-view-copy .section-text-link { font-weight: 400; }
.public-home .quick-view-thumbnails button { border-color: var(--line); border-radius: 4px; background: #fff; }
.public-home .quick-view-thumbnails button[aria-pressed="true"] { border-color: #171717; }
/* Shared calendars must keep selected dates legible with the neutral accent. */
body .hw-date-cell[aria-selected="true"] .hw-date-day { color: #fff; background: #171717; border-color: #171717; }

@media (max-width: 1040px) {
  body:not(.buy-page) .topbar { min-height: 64px; padding: 10px 20px; }
  body:not(.buy-page) .brand img { width: 34px; height: 34px; }
  body:not(.buy-page) .site-nav { top: 100%; max-height: calc(100svh - 64px); gap: 0; padding: 8px 20px 16px; box-shadow: var(--shadow); }
  body:not(.buy-page) .site-nav > a { min-height: 48px; font-size: .95rem; }
  body:not(.buy-page) .site-nav [aria-current="page"] { background: #fafafa; box-shadow: inset 2px 0 0 #171717; }
}
@media (max-width: 700px) {
  body:not(.buy-page) :is(input, select, textarea) { font-size: 1rem; }
  .public-home .product-showcase { width: calc(100% - 40px); padding-block: 24px 40px; }
  .public-home .site-product-grid { gap: 20px; }
  .public-home .home-cover { height: 96px; }
  .public-home .product-card-copy { padding-top: 14px; }
  .public-home .product-card-copy > strong { font-size: 1.12rem; }
  .public-home .site-product-grid .product-card-copy h3 { font-size: 1rem; }
  .public-home .product-card-actions { gap: 6px; }
  .public-home .home-cart-controls.has-quantity { width: max-content; align-self: center; }
  .public-home .product-quick-view[open] { grid-template-columns: minmax(0, 1fr); }
  .public-home .product-quick-view { width: calc(100% - 24px); max-height: calc(100svh - 24px); }
  .public-home .quick-view-copy { padding: 20px 24px 28px; }
  .public-home .quick-view-copy > strong { font-size: 1.3rem; }
  .public-home .quick-view-copy h2 { margin-bottom: 16px; }
  body:not(.buy-page) .site-footer.minimal-footer { padding-inline: 20px; }
}
@media (max-width: 600px) {
  .public-home .resume-cart-band { border-radius: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
}
@media (max-width: 360px) {
  body:not(.buy-page) .topbar { padding-inline: 14px; }
  .public-home .product-showcase { width: calc(100% - 32px); }
  .public-home .site-product-grid { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body *, body *::before, body *::after { scroll-behavior: auto !important; transition: none !important; }
}
/* Storefront checkout: the same quiet hierarchy as the QR purchase flow. */
.online-store-page .online-store-shell {
  width: min(1080px, calc(100% - 64px));
  padding: 40px 0 96px;
}
.online-store-page .online-store-heading { margin-bottom: 26px; }
.online-store-page .online-store-heading h1 {
  margin: 0;
  font: 600 clamp(1.75rem, 3vw, 2.15rem)/1.15 "Barlow", sans-serif;
  letter-spacing: -.035em;
}
.online-store-page .online-stepper {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 0;
  max-width: 620px;
  padding: 0;
  margin: 0 0 36px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.online-store-page .online-stepper li { display: block; min-width: 0; font-size: .82rem; font-weight: 400; color: #6b6b6b; }
.online-store-page .online-stepper li::before { top: 22px; background: #ddd; }
.online-store-page .online-stepper [data-online-go] {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 8px;
  width: 100%;
  min-height: 70px;
  padding: 10px 4px 8px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1.25;
  cursor: pointer;
}
.online-store-page .online-stepper [data-online-go] > span:first-child {
  width: 24px;
  height: 24px;
  border: 1px solid #c5c5c5;
  border-radius: 50%;
  background: #fff;
  font-size: .72rem;
}
.online-store-page .online-stepper [data-online-go] > [data-online-step-label] {
  display: block;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
}
.online-store-page .online-stepper [data-online-go]:not(:disabled):hover > [data-online-step-label] { text-decoration: underline; text-underline-offset: 4px; }
.online-store-page .online-stepper [data-online-go]:focus-visible { outline: 2px solid #171717; outline-offset: -2px; }
.online-store-page .online-stepper [data-online-go]:disabled { opacity: 1; cursor: not-allowed; }
.online-store-page .online-stepper li.active,
.online-store-page .online-stepper li.completed { color: var(--text); font-weight: 500; }
.online-store-page .online-stepper li.active [data-online-go] > span:first-child,
.online-store-page .online-stepper li.completed [data-online-go] > span:first-child { border-color: #171717; background: #171717; color: #fff; }
.online-store-page .online-stepper li.active::before,
.online-store-page .online-stepper li.completed::before { background: #bdbdbd; }
.online-store-page .online-stepper li[hidden],
.online-store-page .online-stepper li.hidden { display: none !important; }
/* Step visibility is controlled by the selected delivery flow, never by a visual route class. */
.online-store-page .online-stepper.shipping-route [data-online-progress]:not([hidden]):not(.hidden) { display: block; }
.online-store-page .online-flow-step { min-height: 0; }
.online-store-page .online-products-layout,
.online-store-page .online-order-layout { grid-template-columns: minmax(0, 1fr) 310px; gap: 56px; }
.online-store-page .online-product-grid { gap: 28px; }
.online-store-page .online-product-card,
.online-store-page .online-product-card.selected { border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.online-store-page .online-product-copy { gap: 9px; padding: 18px 0 0; }
.online-store-page .online-product-copy > strong { margin: 0; color: var(--text); font-size: 1.25rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.online-store-page .online-product-copy h3 { margin: 0; font-size: 1.02rem; font-weight: 400; color: var(--muted); }
.online-store-page .online-product-copy > small { color: var(--muted); font-size: .78rem; }
.online-store-page .online-add-product { margin-top: 12px; min-height: 46px; border-radius: 5px; font-weight: 500; background: #171717; color: #fff; }
.online-store-page .online-add-product:hover { border-color: #353535; background: #353535; color: #fff; }
.online-store-page .online-quantity { grid-template-columns: 44px minmax(30px, 1fr) 44px; margin-top: 12px; border-color: #d4d4d4; background: #fff; }
.online-store-page .online-quantity button,
.online-store-page .online-quantity span { min-height: 44px; color: var(--text); background: #fff; font-size: .95rem; font-weight: 500; }
.online-store-page .online-quantity button:hover { background: #f5f5f5; }
.online-store-page .online-cart-summary,
.online-store-page .online-products-layout .online-cart-summary,
.online-store-page .online-shipping-review {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.online-store-page .online-cart-heading { gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.online-store-page .online-cart-summary h3,
.online-store-page .online-shipping-review > h3 { font-size: 1.05rem; font-weight: 600; }
.online-store-page .online-cart-heading h3 { margin: 0; }
.online-store-page .online-cart-heading > span { font-size: .75rem; }
.online-store-page .online-cart-line,
.online-store-page .online-final-lines > div { gap: 16px; padding-block: 13px; font-size: .9rem; line-height: 1.5; }
.online-store-page .online-cart-line > span,
.online-store-page .online-final-lines > div > span { min-width: 0; }
.online-store-page .online-cart-line strong,
.online-store-page .online-final-lines strong { flex-shrink: 0; font-weight: 500; font-variant-numeric: tabular-nums; }
.online-store-page .online-cart-total { align-items: baseline; padding-block: 20px 4px; font-size: 1.05rem; font-weight: 500; }
.online-store-page .online-cart-total strong { font-size: 1.5rem; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.online-store-page .online-step-actions { margin-top: 32px; }
.online-store-page .online-step-actions > .button { min-width: 124px; }
.online-store-page .online-step-actions > .button.secondary { min-width: 0; padding-inline: 0; border-color: transparent; background: transparent; color: var(--muted); }
.online-store-page .online-delivery-method,
.online-store-page .online-delivery-method.shipping,
.online-store-page .online-delivery-method.pickup { border-radius: 5px; border-color: var(--line); background: #fff; box-shadow: none; }
.online-store-page .online-delivery-method.selected { border-color: #171717; background: #fafafa; }
.online-store-page .online-delivery-choice { min-height: 90px; padding: 18px; }
.online-store-page .online-delivery-choice strong { font-size: .96rem; font-weight: 500; }
.online-store-page .online-delivery-choice small { font-size: .8rem; line-height: 1.45; }
.online-store-page .online-delivery-panel { margin-top: 36px; padding: 0; border: 0; border-radius: 0; background: #fff; }
.online-store-page .online-delivery-panel > header { margin-bottom: 20px; }
.online-store-page .online-delivery-panel > header h3 { font-size: 1.12rem; font-weight: 600; }
.online-store-page .online-shipping-form { grid-template-columns: minmax(0, 1fr) 310px; gap: 56px; }
.online-store-page .checkout-contact legend,
.online-store-page .online-shipping-fields-title { font-size: 1.1rem; font-weight: 600; }
.online-store-page .checkout-contact-field,
.online-store-page .online-checkout-field label,
.online-store-page .online-checkout-field input:focus + label,
.online-store-page .online-checkout-field input:not(:placeholder-shown) + label,
.online-store-page .online-checkout-field > .hw-calendar-display + label { color: #444; font-size: .84rem; font-weight: 400; }
.online-store-page .online-checkout-field label small { color: var(--muted); }
.online-store-page .online-checkout-field input,
.online-store-page .online-checkout-field input:focus,
.online-store-page .online-checkout-field input:not(:placeholder-shown),
.online-store-page .online-checkout-field > select,
.online-store-page .checkout-contact .checkout-contact-field input,
.online-store-page #onlineReceipt {
  border: 1px solid #bdbdbd;
  border-radius: 5px;
  background: #fff;
  color: var(--text);
  font-size: 1rem;
  font-weight: 400;
  box-shadow: none;
}
.online-store-page .online-checkout-field > select { min-height: 52px; padding: 12px 36px 12px 14px; }
.online-store-page .online-checkout-field input:focus-visible,
.online-store-page .online-checkout-field select:focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
.online-store-page .online-address-suggestions,
.online-store-page .online-location-options { border-color: var(--line); border-radius: 5px; box-shadow: 0 8px 24px #0000000d; }
.online-store-page .online-address-suggestions .online-address-next-step { background: #f5f5f5; color: var(--text); }
.online-store-page .online-oca-branch { padding: 14px; border-radius: 5px; border-color: var(--line); font-size: .9rem; }
.online-store-page .online-oca-branch:has(input:checked) { border-color: #171717; background: #fafafa; }
.online-store-page .online-oca-branch strong { font-weight: 500; }
.online-store-page .online-oca-branch small { color: var(--muted); opacity: 1; }
.online-store-page .online-oca-branch input { accent-color: #171717; }
.online-store-page .online-shipping-review .online-shipping-summary { margin-top: 0; }
.online-store-page .checkout-banking-copy { min-height: 44px; padding: 8px 10px; }
.online-store-page .checkout-banking-row dd { font-weight: 500; }
.online-store-page .hw-date-cell[aria-selected="true"] .hw-date-day { border-color: #171717; background: #171717; color: #fff; }
.online-store-page .online-store-selector { border: 1px solid var(--line); border-radius: 5px; margin-inline: 0; }
.online-store-page #onlineUseLocation { flex-shrink: 0; min-height: 48px; border: 1px solid #171717; background: #171717; color: #fff; }
.online-store-page #onlineUseLocation:hover { border-color: #353535; background: #353535; color: #fff; }
.online-store-page #onlineUseLocation:disabled { border-color: #e7e7e7; background: #f0f0f0; color: #626262; }
.online-store-page .online-store-result { border-color: var(--line); background: #fff; }
.online-store-page .online-store-result.selected { border-color: #171717; background: #fafafa; box-shadow: inset 2px 0 0 #171717; }
.online-store-page .online-store-select strong { font-weight: 500; }
.online-store-page .online-store-map { min-width: 0; background: #f5f5f5; }
.online-store-page .online-section-heading p { font-size: .9rem; line-height: 1.55; }
.online-store-page .online-date-store { gap: 6px; margin-top: 20px; padding-top: 18px; font-size: .9rem; line-height: 1.45; }
.online-store-page .online-date-store strong { font-weight: 500; }
.online-store-page .online-order-controls { gap: 16px; }
.online-store-page .online-order-controls > label,
.online-store-page .online-receipt-form > label { font-size: .9rem; font-weight: 500; }
.online-store-page .online-transfer-step { gap: 36px 56px; }
.online-store-page .online-final-summary,
.online-store-page .online-banking,
.online-store-page .online-receipt-form { padding: 0; border: 0; border-radius: 0; background: #fff; }
.online-store-page .online-banking.checkout-banking { margin-top: 0; padding-top: 0; border-top: 0; }
.online-store-page .online-receipt-form { grid-column: 2; padding-top: 24px; border-top: 1px solid var(--line); }
.online-store-page #onlineReceipt { min-height: 52px; max-width: 100%; padding: 10px; }
.online-store-page #onlineReceipt::file-selector-button { min-height: 32px; margin-right: 10px; padding: 6px 10px; border: 0; border-radius: 3px; background: #f1f1f1; color: #171717; font: inherit; font-size: .82rem; }
.online-store-page .online-receipt-form > small { font-size: .78rem; color: var(--muted); }
.online-store-page .online-login-gate,
.online-store-page .online-order-success { max-width: 560px; margin-inline: auto; padding: 40px 0; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.online-store-page .online-login-gate h2,
.online-store-page .online-order-success h2 { font-size: 1.6rem; line-height: 1.2; font-weight: 600; }
.online-store-page .status-text { font-size: .85rem; line-height: 1.5; }
.online-store-page .status-text:empty { display: none; }
@media (max-width: 1000px) {
  .online-store-page .online-products-layout,
  .online-store-page .online-order-layout,
  .online-store-page .online-shipping-form { grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; }
}
@media (max-width: 820px) {
  .online-store-page .online-products-layout,
  .online-store-page .online-order-layout,
  .online-store-page .online-shipping-form { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .online-store-page .online-cart-summary,
  .online-store-page .online-products-layout .online-cart-summary,
  .online-store-page .online-shipping-review { position: static; }
  .online-store-page .online-transfer-step { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .online-store-page .online-receipt-form { grid-column: auto; }
}
@media (max-width: 700px) {
  .online-store-page .online-store-shell { width: calc(100% - 40px); padding: 28px 0 110px; }
  .online-store-page .online-store-heading { margin-bottom: 24px; }
  .online-store-page .online-stepper { margin-bottom: 30px; }
  .online-store-page .online-stepper li { font-size: .78rem; }
  .online-store-page .online-product-grid { gap: 24px; }
  .online-store-page .online-product-copy { justify-content: center; padding: 10px 0 10px 18px; }
  .online-store-page .online-product-copy > strong { font-size: 1.18rem; }
  .online-store-page .online-product-copy h3 { font-size: 1rem; }
  .online-store-page .online-product-copy .online-add-product,
  .online-store-page .online-product-copy .online-quantity { margin-top: 8px; }
  .online-store-page .online-delivery-choice { min-height: 84px; padding: 16px; }
  .online-store-page .online-delivery-panel { margin-top: 28px; }
  .online-store-page .online-step-actions { margin-top: 28px; }
  .online-store-page .online-mobile-cart { padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-color: var(--line); box-shadow: 0 -4px 20px #00000005; }
  .online-store-page .online-mobile-cart strong { color: var(--text); font-weight: 600; }
  .online-store-page .online-mobile-cart > .button { min-height: 46px; }
}
@media (max-width: 360px) {
  .online-store-page .online-store-shell { width: calc(100% - 32px); }
  .online-store-page .online-stepper li { font-size: .75rem; }
  .online-store-page .online-product-copy { padding-left: 14px; }
  .online-store-page .online-cart-total strong { font-size: 1.35rem; }
  .online-store-page .checkout-banking-row { grid-template-columns: minmax(0, 1fr); }
  .online-store-page .checkout-banking-copy { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 6px; }
}
/* Account, locations and support use the same quiet surfaces as QR checkout. */
.account-commerce-page .account-commerce-shell {
  width: min(1080px, calc(100% - 64px));
  padding: 40px 0 96px;
}
.account-commerce-page .account-commerce-heading { margin-bottom: 36px; }
.account-commerce-page .account-cart-section,
.account-commerce-page .account-purchases-section {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.account-commerce-page .account-section-heading { align-items: center; gap: 16px; margin-bottom: 20px; }
.account-commerce-page .account-section-heading h2 { margin: 0; font-size: 1.12rem; font-weight: 600; line-height: 1.35; }
.account-commerce-page .account-section-heading > strong,
.account-commerce-page .account-section-heading > span { font-size: .8rem; font-weight: 400; text-transform: none; }
.account-commerce-page .account-cart-item { padding-block: 24px; gap: 24px; }
.account-commerce-page .account-cart-image { padding: 0; border: 0; border-radius: 0; background: #fff; object-fit: contain; }
.account-commerce-page .account-cart-product { min-width: 0; }
.account-commerce-page .account-cart-product h3 { font-size: 1.04rem; font-weight: 500; }
.account-commerce-page .account-cart-product small { display: block; font-size: .83rem; line-height: 1.5; color: #626262; }
.account-commerce-page .account-cart-product span { color: #626262; font-weight: 400; text-transform: none; }
.account-commerce-page .account-cart-quantity { width: 128px; min-width: 128px; grid-template-columns: 44px 38px 44px; border-color: #d4d4d4; border-radius: 5px; }
.account-commerce-page .account-cart-quantity button,
.account-commerce-page .account-cart-quantity strong { min-height: 44px; color: #171717; background: #fff; font-weight: 500; }
.account-commerce-page .account-cart-quantity button { font-size: 1.1rem; }
.account-commerce-page .account-cart-quantity button:hover { color: #171717; background: #f3f3f3; }
.account-commerce-page .account-cart-subtotal { font-size: 1.1rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.account-commerce-page .account-cart-remove { width: 44px; min-width: 44px; height: 44px; border-radius: 5px; }
.account-commerce-page .account-cart-remove:hover { background: #f5f5f5; }
.account-commerce-page .account-cart-footer { gap: 30px; padding-top: 24px; margin-top: 0; }
.account-commerce-page .account-cart-footer span { font-size: .85rem; color: #626262; font-weight: 400; text-transform: none; }
.account-commerce-page .account-cart-footer strong { font-size: 1.65rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.account-commerce-page .account-cart-empty { min-height: 150px; padding: 24px 0; border: 0; border-bottom: 1px solid #e5e5e5; border-radius: 0; background: #fff; }
.account-commerce-page .account-cart-empty h3 { font-size: 1rem; font-weight: 500; }
.account-commerce-page .account-cart-empty p { font-size: .9rem; line-height: 1.5; }
.account-commerce-page .account-purchases-section { margin-top: 56px; }
.account-commerce-page #historyRefresh { min-height: 44px; font-size: .85rem; padding-inline: 0; border-color: transparent; }
.account-commerce-page .history-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, 260px); gap: 16px; margin: 0 0 30px; }
.account-commerce-page .history-toolbar[hidden] { display: none; }
.account-commerce-page .account-purchase-group { margin-top: 34px; padding-top: 26px; border-top: 1px solid #e5e5e5; }
.account-commerce-page .account-purchase-count { min-height: 24px; min-width: 24px; padding: 3px 7px; border: 0; border-radius: 4px; color: #626262; background: #f3f3f3; }
.account-commerce-page .purchase-history-list { gap: 32px; margin-block: 20px 0; }
.account-commerce-page .purchase-history-card { padding: 0 0 20px; border: 0; border-bottom: 1px solid #e5e5e5; border-radius: 0; box-shadow: none; background: #fff; }
.account-commerce-page .purchase-history-card > header strong { font-weight: 600; font-size: 1rem; }
.account-commerce-page .purchase-history-card > header span { line-height: 1.5; }
.account-commerce-page .purchase-status { max-width: 100%; padding: 4px 8px; border-color: #e5e5e5; border-radius: 4px; background: #f6f6f6; font-weight: 500; }
.account-commerce-page .purchase-status.approved { color: #28603d !important; border-color: #d2e3d6; background: #f3f8f4; }
.account-commerce-page .purchase-status.rejected,
.account-commerce-page .purchase-status.cancelled { color: #963b36 !important; border-color: #ead4d1; background: #fcf6f5; }
.account-commerce-page .purchase-history-items { margin-block: 16px; font-size: .9rem; }
.account-commerce-page .purchase-history-items strong,
.account-commerce-page .purchase-history-details dd { font-weight: 500; font-variant-numeric: tabular-nums; }
.account-commerce-page .purchase-history-details { font-size: .9rem; }
.account-commerce-page .purchase-order-details { padding: 0; margin-top: 18px; border: 0; border-top: 1px solid #e5e5e5; border-radius: 0; background: #fff; box-shadow: none; }
.account-commerce-page .purchase-order-details summary { min-height: 44px; padding-top: 14px; font-weight: 500; }
.account-commerce-page .purchase-order-details .section-text-link { min-height: 44px; display: inline-flex; align-items: center; font-size: .85rem; }
.account-commerce-page .history-actions { margin-top: 16px; }
.account-commerce-page .history-actions .button { font-size: .85rem; }

/* Sign-in is a focused form, without a second frame around its fields. */
.standalone-auth-page .standalone-auth-shell { min-height: calc(100svh - 72px); padding: 64px 24px 96px; background: #fff; }
.standalone-auth-page .consumer-auth-card { width: min(100%, 400px); padding: 0; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.standalone-auth-page .consumer-auth-card h1 { margin-bottom: 30px; font-size: 1.8rem; }
.standalone-auth-page .consumer-email-form { gap: 16px; }
.standalone-auth-page .consumer-email-form label { color: #626262; font-size: .85rem; font-weight: 400; }
.standalone-auth-page .consumer-email-form input { min-height: 48px; border: 1px solid #bdbdbd; border-radius: 5px; background: #fff; color: #171717; font-size: 1rem; }
.standalone-auth-page .auth-divider { color: #777; margin-block: 24px; }
.standalone-auth-page .consumer-code-destination { font-size: .9rem; line-height: 1.6; overflow-wrap: anywhere; }
.standalone-auth-page .auth-home-link { margin-top: 24px; font-size: .85rem; }

/* The map remains a distinct working area; the surrounding shell is unboxed. */
.store-locator-page .store-locator-shell { width: min(1120px, calc(100% - 64px)); min-height: 0; padding: 0; margin: 40px auto 96px; }
.store-locator-page .store-locator-layout { grid-template-columns: 340px minmax(0, 1fr); gap: 32px; min-height: 560px; border: 0; border-radius: 0; background: #fff; box-shadow: none; overflow: visible; }
.store-locator-page .store-locator-sidebar { border: 0; background: #fff; }
.store-locator-page .store-locator-heading { margin: 0 0 28px; padding: 0; }
.store-locator-page .store-locator-heading h1 { margin: 0; }
.store-locator-page .store-search-form,
.store-locator-page .store-filter-grid,
.store-locator-page .store-filter-actions,
.store-locator-page .store-locator-sidebar > .button,
.store-locator-page .store-locator-sidebar > .status-text { margin-inline: 0; }
.store-locator-page .store-search-form input { min-height: 48px; border-color: #bdbdbd; border-radius: 5px; background: #fff; color: #171717; font-size: 1rem; }
.store-locator-page .store-filter-grid { gap: 10px; }
.store-locator-page .store-filter-grid select { min-height: 44px; font-size: .9rem; border-color: #bdbdbd; border-radius: 5px; background: #fff; color: #171717; }
.store-locator-page .store-results { border-top: 1px solid #e5e5e5; }
.store-locator-page .store-result-row { border-color: #e5e5e5; }
.store-locator-page .store-result { gap: 14px; min-height: 96px; padding: 18px 14px 10px; border-color: #e5e5e5; border-radius: 0; background: #fff; }
.store-locator-page .store-result:hover { background: #fafafa; }
.store-locator-page .store-result.selected { background: #f6f6f6; box-shadow: inset 2px 0 0 #171717; }
.store-locator-page .store-result strong { font-size: 1rem; font-weight: 600; }
.store-locator-page .store-result small { color: #626262; font-size: .85rem; line-height: 1.5; }
.store-locator-page .store-result b { font-size: .8rem; font-weight: 500; }
.store-locator-page .store-directions { margin-inline: 14px; color: #171717; font-size: .82rem; font-weight: 500; }
.store-locator-page .store-map-wrap { overflow: hidden; border: 1px solid #e5e5e5; border-radius: 5px; background: #f5f5f5; }
.store-locator-page .store-map { min-height: 560px; background: #f5f5f5; }

/* Point-of-sale registration keeps its steps and form validation intact. */
.pdv-registration-page { width: min(680px, calc(100% - 64px)); padding: 40px 0 96px; }
.pdv-registration-page .pdv-registration-intro { margin-bottom: 34px; }
.pdv-registration-page .pdv-registration-intro h1 { margin-top: 0; text-transform: none; }
.pdv-registration-page .pdv-registration-panel { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: #fff; }
.pdv-registration-page .registration-progress { gap: 12px; margin-bottom: 34px; }
.pdv-registration-page .registration-progress li { padding: 10px 0; border: 0; border-bottom: 1px solid #d6d6d6; border-radius: 0; background: transparent; color: #777; font-size: .8rem; font-weight: 400; }
.pdv-registration-page .registration-progress li.active { border-bottom: 2px solid #171717; color: #171717; font-weight: 600; }
.pdv-registration-page .registration-progress li.done { border-color: #777; color: #626262; }
.pdv-registration-page .registration-stage h2 { font-size: 1.12rem; font-weight: 600; }
.pdv-registration-page .registration-stage > p { font-size: .88rem; line-height: 1.6; }
.pdv-registration-page .pdv-registration-form { gap: 18px; margin-top: 24px; }
.pdv-registration-page .pdv-registration-form label { color: #626262; font-size: .85rem; font-weight: 400; }
.pdv-registration-page .pdv-registration-form input,
.pdv-registration-page .pdv-registration-form select,
.pdv-registration-page .pdv-registration-form textarea { min-height: 48px; font-size: 1rem; border-color: #bdbdbd; border-radius: 5px; background: #fff; color: #171717; }
.pdv-registration-page .pdv-registration-form fieldset { padding: 20px 0 0; border: 0; border-top: 1px solid #e5e5e5; border-radius: 0; background: #fff; }
.pdv-registration-page .pdv-registration-form legend { padding: 0 16px 0 0; color: #171717; font-size: .95rem; font-weight: 500; }
.pdv-registration-page .registration-test-banner { padding: 14px; border-color: #e5e5e5; background: #f7f7f7; }
.pdv-registration-page .registration-test-banner strong { color: #626262; }

/* Help and legal text retain their content, with the same restrained hierarchy. */
.customer-help-page .customer-help-shell { width: min(800px, calc(100% - 64px)); padding: 40px 0 96px; }
.customer-help-page .customer-help-shell h1 { margin-top: 0; }
.customer-help-page .help-contact-band { padding: 0; margin: 28px 0 44px; gap: 12px; }
.customer-help-page .help-contact-band .primary img { filter: brightness(0) invert(1); }
.customer-help-page .help-questions { padding: 0; border: 0; border-radius: 0; background: #fff; }
.customer-help-page .help-questions h2,
.customer-help-page .help-email h2 { margin-bottom: 18px; font-size: 1.12rem; font-weight: 600; }
.customer-help-page .help-questions details { margin: 0; padding: 0; border: 0; border-bottom: 1px solid #e5e5e5; border-radius: 0; background: #fff; box-shadow: none; }
.customer-help-page .help-questions summary { min-height: 56px; padding-block: 18px; font-size: .95rem; line-height: 1.5; font-weight: 500; }
.customer-help-page .help-questions p { color: #626262; font-size: .9rem; line-height: 1.7; margin-top: 0; }
.customer-help-page .help-questions details > a { font-size: .88rem; }
.customer-help-page .help-email { padding-top: 34px; font-size: .9rem; }
.legal-page { width: min(760px, calc(100% - 64px)); padding: 40px 0 96px; }
.legal-page h1 { margin-top: 0; }
.legal-page .legal-updated { font-size: .8rem; color: #777; }
.legal-page section { margin-top: 30px; }
.legal-page h2 { font-family: "Barlow", sans-serif; font-size: 1.08rem; font-weight: 600; }
.legal-page p,
.legal-page li { color: #626262; font-size: .95rem; line-height: 1.75; }
.legal-page a:not(.button) { color: #171717; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }

/* Stronger selectors also cover the human-chat stylesheet loaded on demand. */
body:not(.buy-page) .hardy-dialog,
body:not(.buy-page) .human-chat-dialog { border-color: #dedede; border-radius: 8px; background: #fff; color: #171717; box-shadow: 0 12px 44px #0000001a; }
body:not(.buy-page) .human-chat-dialog { font-family: "Barlow", sans-serif; }
body:not(.buy-page) .hardy-dialog::backdrop,
body:not(.buy-page) .human-chat-dialog::backdrop { background: #00000022; }
body:not(.buy-page) .hardy-header,
body:not(.buy-page) .human-chat-dialog header { padding: 16px; border-color: #e5e5e5; }
body:not(.buy-page) .hardy-title-box h2 { font-family: "Barlow", sans-serif; font-size: 1.1rem; font-weight: 600; }
body:not(.buy-page) .hardy-speaker { font-weight: 500; }
body:not(.buy-page) .hardy-text { font-size: .95rem; line-height: 1.6; }
body:not(.buy-page) .hardy-user { border-color: #171717; }
body:not(.buy-page) .hardy-widget .hardy-icon:not(.hardy-launcher) { border-color: #e5e5e5; background: #fff; border-radius: 5px; }
body:not(.buy-page) .hardy-widget .hardy-action { min-height: 44px; border-color: #d4d4d4; background: #fff; color: #171717; border-radius: 5px; font-weight: 500; }
body:not(.buy-page) .hardy-widget textarea { border-color: #bdbdbd; border-radius: 5px; }
body:not(.buy-page) .human-chat-dialog header strong { font-size: 1.1rem; font-weight: 600; }
body:not(.buy-page) .human-chat-dialog header span,
body:not(.buy-page) .human-chat-typing,
body:not(.buy-page) .human-chat-empty { color: #626262; }
body:not(.buy-page) .human-chat-dialog header button { min-width: 44px; min-height: 44px; border-radius: 5px; color: #171717; }
body:not(.buy-page) .human-chat-tools input,
body:not(.buy-page) .human-chat-tools button { min-height: 44px; border-color: #d4d4d4; border-radius: 5px; color: #171717; background: #fff; }
body:not(.buy-page) .human-chat-message { padding: 12px 14px; border-color: #e5e5e5; border-radius: 6px; background: #fafafa; }
body:not(.buy-page) .human-chat-message.from-customer { border-color: #dedede; background: #f0f0f0; }
body:not(.buy-page) .human-chat-message > div,
body:not(.buy-page) .human-chat-download small { color: #626262; }
body:not(.buy-page) .human-chat-message > div button,
body:not(.buy-page) .human-chat-download,
body:not(.buy-page) .human-chat-dialog footer a { color: #171717; }
body:not(.buy-page) .human-chat-quote { border-color: #777; color: #626262; }
body:not(.buy-page) .human-chat-reply,
body:not(.buy-page) .human-chat-file { background: #f5f5f5; border-radius: 5px; }
body:not(.buy-page) .human-chat-compose { border-color: #e5e5e5; }
body:not(.buy-page) .human-chat-compose textarea { border-color: #bdbdbd; border-radius: 5px; font-size: 16px; }
body:not(.buy-page) .human-chat-compose > button { width: 44px; height: 44px; border-radius: 5px; color: #fff; background: #171717; }
body:not(.buy-page) .human-chat-attach { width: 44px; height: 44px; color: #171717; }
body:not(.buy-page) [data-human-chat-unread] { background: #171717; color: #fff; }
body:not(.buy-page) .human-chat-dialog :focus-visible,
body:not(.buy-page) .human-chat-attach:focus-within { outline: 2px solid #171717; outline-offset: 3px; }

@media (max-width: 820px) {
  .store-locator-page .store-locator-layout { grid-template-columns: 1fr; gap: 28px; min-height: 0; }
  .store-locator-page .store-map-wrap { grid-row: 1; }
  .store-locator-page .store-map { min-height: 300px; height: 300px; }
}
@media (max-width: 760px) {
  .account-commerce-page .account-commerce-shell,
  .customer-help-page .customer-help-shell,
  .pdv-registration-page,
  .legal-page { width: calc(100% - 40px); padding: 28px 0 88px; }
  .account-commerce-page .account-commerce-heading { margin-bottom: 28px; }
  .account-commerce-page .account-section-heading { flex-direction: row; align-items: center; gap: 12px; }
  .account-commerce-page .account-cart-item { grid-template-columns: 80px minmax(0, 1fr) 44px; gap: 12px; padding-block: 22px; }
  .account-commerce-page .account-cart-image { width: 80px; height: 104px; grid-column: 1; grid-row: 1 / span 3; }
  .account-commerce-page .account-cart-product { grid-column: 2; grid-row: 1; }
  .account-commerce-page .account-cart-remove { grid-column: 3; grid-row: 1; }
  .account-commerce-page .account-cart-quantity { grid-column: 2 / span 2; justify-self: start; }
  .account-commerce-page .account-cart-subtotal { grid-column: 2 / span 2; font-size: 1.05rem; }
  .account-commerce-page .account-cart-footer { gap: 20px; }
  .account-commerce-page .account-cart-footer > div { gap: 4px; }
  .account-commerce-page .account-purchases-section { margin-top: 40px; }
  .account-commerce-page .history-toolbar { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 24px; }
  .account-commerce-page .purchase-history-list { gap: 24px; }
  .account-commerce-page .account-cart-empty { padding-block: 20px; gap: 16px; }
  .standalone-auth-page .standalone-auth-shell { padding: 44px 24px 88px; }
  .store-locator-page .store-locator-shell { width: calc(100% - 40px); margin: 28px auto 88px; }
  .store-locator-page .store-locator-heading { margin-bottom: 24px; }
  .pdv-registration-page .registration-progress { gap: 8px; }
  .pdv-registration-page .registration-progress li { font-size: .73rem; }
  .customer-help-page .help-contact-band { margin-bottom: 34px; }
  .legal-page p,
  .legal-page li { font-size: .9rem; }
}
@media (max-width: 380px) {
  .account-commerce-page .account-cart-item { grid-template-columns: 66px minmax(0, 1fr) 44px; gap: 10px; }
  .account-commerce-page .account-cart-image { width: 66px; height: 96px; }
  .pdv-registration-page .registration-fields { grid-template-columns: minmax(0, 1fr); }
}
body:not(.buy-page) :is(.account-commerce-heading, .store-locator-heading, .pdv-registration-intro, .customer-help-shell, .legal-page) h1 { font: 600 clamp(1.75rem, 3vw, 2.15rem)/1.15 "Barlow", sans-serif; letter-spacing: -.035em; }
body:not(.buy-page) .button.primary > img { filter: brightness(0) invert(1); }
.online-store-page .online-product-copy > strong { order: -2; }
.online-store-page .online-product-copy h3 { order: -1; }
@media (min-width: 821px) {
  .store-locator-page .store-locator-layout { height: min(720px, calc(100svh - 160px)); min-height: 560px; }
  .store-locator-page .store-locator-sidebar { min-height: 0; }
  .store-locator-page .store-results { flex: 1; overscroll-behavior: contain; }
  .store-locator-page .store-map { height: 100%; min-height: 100%; }
}
@media (max-width: 820px) {
  .store-locator-page .store-locator-layout { gap: 16px; }
  .store-locator-page .store-locator-sidebar { display: contents; }
  .store-locator-page .store-locator-heading { margin: 0 0 8px; }
  .store-locator-page .store-locator-sidebar > :is(form, .store-filter-grid, .store-filter-actions, .button, .status-text) { margin-block: 0; }
  .store-locator-page .store-filter-actions:has(> [hidden]) { display: none; }
  .store-locator-page .store-map-wrap { grid-row: auto; order: 1; }
  .store-locator-page .store-results { order: 2; }
}
.public-home .product-cart-badge strong,
.online-store-page .product-cart-badge strong { color: #fff; }

/* Clear product hierarchy and reachable actions, without framing the photos. */
.public-home .home-cover { height: 104px; }
.public-home .product-showcase { width: min(960px, calc(100% - 48px)); padding-block: 24px 32px; }
.public-home .site-product-grid { gap: 48px; }
.public-home .product-card-carousel { max-width: 420px; width: 100%; margin-inline: auto; }
.public-home .product-card-copy { padding-top: 10px; }
.public-home .product-card-copy h2 { margin: 0; font: 500 1.08rem/1.4 "Barlow", sans-serif; }
.public-home .product-card-copy h2 a { color: #333; text-decoration: none; }
.public-home .product-card-copy h2 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.public-home .product-card-actions { padding-top: 4px; }
.public-home .home-cart-controls:not(.has-quantity) [data-product-add] { min-width: 144px; }
.public-home .catalog-status { min-height: 0; margin: 0; font-size: .875rem; }
.public-home .catalog-status:not(:empty) { margin-block: 0 16px; }
.public-home .catalog-status p { margin: 0 0 8px; }
.public-home .catalog-status:empty { display: none; }
.public-home .resume-cart-band strong { font-variant-numeric: tabular-nums; }
.store-help { width: min(960px, calc(100% - 48px)); margin: 16px auto 40px; padding-block: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; border-top: 1px solid #e5e5e5; }
.store-help strong { font-weight: 600; font-size: .94rem; }
.store-help p { margin: 8px 0; color: #626262; font-size: .875rem; line-height: 1.6; }
.store-help a { color: #171717; font-size: .875rem; text-underline-offset: 4px; display: inline-flex; align-items: center; min-height: 44px; }
.public-home .product-carousel-dots button { width: 32px; height: 36px; }
.public-home .product-carousel-dots button[aria-current="true"] { width: 32px; }
.public-home .product-card-carousel a { display: block; }
.detail-shell { width: min(1120px, calc(100% - 64px)); margin: 0 auto; padding: 28px 0 64px; }
.product-breadcrumb { display: flex; align-items: center; gap: 12px; font-size: .875rem; color: #626262; margin-bottom: 24px; }
.product-breadcrumb a { color: #171717; min-height: 44px; display: inline-flex; align-items: center; text-underline-offset: 4px; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 64px; align-items: start; }
.detail-gallery { min-width: 0; }
.detail-track { display: flex; overflow: auto hidden; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; aspect-ratio: 1; background: #fff; }
.detail-track::-webkit-scrollbar { display: none; }
.detail-slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.detail-slide img { display: block; width: 100%; height: 100%; object-fit: contain; }
.detail-thumbnails { display: flex; gap: 12px; overflow-x: auto; padding: 10px 4px; margin-top: 12px; }
.detail-thumbnails button { flex: 0 0 60px; padding: 2px; border: 1px solid #ddd; border-radius: 4px; background: white; cursor: pointer; }
.detail-thumbnails button[aria-pressed="true"] { border-color: #171717; outline: 1px solid #171717; }
.detail-thumbnails img { display: block; width: 56px; height: 56px; object-fit: contain; }
.detail-copy { padding-top: 28px; position: sticky; top: 88px; }
.detail-price { font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 600; font-variant-numeric: tabular-nums; }
.detail-copy h1 { font-size: 1.5rem; line-height: 1.3; font-weight: 500; margin: 10px 0 20px; }
.detail-copy > p { line-height: 1.6; color: #626262; }
.detail-purchase { display: grid; grid-template-columns: auto 90px; align-items: center; gap: 12px; margin: 24px 0 12px; }
.detail-purchase select { min-height: 48px; padding: 8px 12px; width: 100%; }
.detail-purchase > .button { grid-column: 1 / -1; width: 100%; }
.detail-purchase [hidden] { display: none !important; }
.detail-delivery { border-top: 1px solid #e5e5e5; margin-top: 24px; padding-top: 24px; font-size: .875rem; }
.detail-delivery strong { font-weight: 600; }
.detail-delivery p { color: #626262; line-height: 1.6; margin: 8px 0; }
.detail-links { display: flex; gap: 24px; align-items: center; margin-top: 12px; }
.detail-links > * { min-height: 44px; display: inline-flex; align-items: center; color: #171717; }
.detail-related { margin-top: 48px; padding-top: 24px; border-top: 1px solid #e5e5e5; display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.detail-related span { color: #626262; font-size: .9rem; }
.detail-related a { color: #171717; min-height: 44px; display: inline-flex; align-items: center; text-underline-offset: 4px; }
.product-detail-page .site-footer { padding-bottom: 32px; }
@media (max-width: 700px) {
  .public-home .home-cover { height: 88px; }
  .public-home .site-product-grid { gap: 20px; }
  .public-home .product-showcase { width: calc(100% - 32px); padding-block: 20px 24px; }
  .public-home .product-card-actions { gap: 2px; }
  .public-home .home-cart-controls:not(.has-quantity) [data-product-add] { min-width: 0; }
  .public-home .product-card-copy h2 { font-size: 1rem; }
  .public-home .product-carousel-dots { bottom: 0; }
  .store-help { width: calc(100% - 40px); grid-template-columns: 1fr; gap: 20px; margin-top: 0; }
  .store-help p { margin-block: 4px; }
  .detail-shell { width: calc(100% - 32px); padding-top: 8px; }
  .product-breadcrumb { margin-bottom: 8px; }
  .detail-layout { grid-template-columns: 1fr; gap: 12px; }
  .detail-gallery { width: 100%; max-width: 480px; margin: auto; }
  .detail-copy { position: static; padding-top: 8px; }
  .detail-copy h1 { margin-bottom: 12px; }
  .detail-copy > p { margin: 8px 0; }
  .detail-purchase { margin-top: 20px; }
  .detail-thumbnails { margin-top: 0; justify-content: center; }
}
@media (max-width: 360px) {
  .public-home .site-product-grid { gap: 14px; }
  .public-home .resume-cart-band { gap: 8px; padding-inline: 12px; }
  .public-home .resume-cart-band .button { padding-inline: 10px; gap: 4px; }
}
/* Gallery controls sit below the photograph and never cover the product. */
.public-home .product-card-carousel { aspect-ratio: auto; padding-bottom: 36px; }
.public-home .product-carousel-track,
.public-home .product-carousel-slide { height: auto; aspect-ratio: 1; }
.public-home .product-carousel-dots { bottom: 0; background: #fff; backdrop-filter: none; }
.public-home a.product-card-carousel { aspect-ratio: 1; padding-bottom: 0; margin-bottom: 36px; }
@media (max-width: 700px) {
  .product-detail-page .detail-track { max-height: 320px; }
  .product-detail-page .hardy-widget .hardy-launcher { bottom: 18px; }
}
.public-home #catalogStatus.cart-feedback { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.public-home .site-product-grid .product-card > .product-card-carousel { padding-bottom: 36px; }
.public-home .site-product-grid .product-card > a.product-card-carousel { padding-bottom: 0; }
@media (min-width: 701px) {
  .public-home:not(.product-detail-page) .home-cover { height: 88px; }
  .public-home .product-showcase { padding-top: 16px; }
  .public-home .product-card-carousel { max-width: min(420px, max(240px, calc(100svh - 460px))); }
}
