/*
 * Storefront catalogue (Plan 4b): product card, listing, product page.
 * Markup comes from the hs-catalogue-* shortcodes and the generated Elementor
 * documents (loop-card, product-archive, single-product). Tokens only
 * (style.css); swatch colours arrive inline from term meta (product data).
 * Sections are appended by later tasks in this order: shared, card, listing,
 * product page.
 */

/* ---------- shared ---------- */
.hs-visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.hs-icon { display: inline-block; vertical-align: middle; flex: 0 0 auto; }
.hs-pending {
  background: var(--warning-soft); border-left: 3px solid var(--warning);
  border-radius: var(--radius-sm); padding: 14px 16px;
}
.hs-pending-text { margin: 0; font: 400 0.875rem/1.5 var(--font-body); color: var(--charcoal); }
.hs-swatch {
  display: inline-block; border-radius: 50%; flex: 0 0 auto;
  box-shadow: inset 0 0 0 1px rgba(35, 33, 28, 0.15);
}
.hs-swatch--sm { width: 15px; height: 15px; }
.hs-swatch--lg { width: 28px; height: 28px; }
.hs-badges {
  position: absolute; top: 12px; left: 12px; z-index: 2; pointer-events: none;
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
}
.hs-badge {
  display: inline-flex; align-items: center; padding: 3px 8px; border-radius: var(--radius-xs);
  font: 600 0.6875rem/1.3 var(--font-body); letter-spacing: 0.04em; color: var(--paper-2);
}
.hs-badge--clay { background: var(--clay); }
.hs-badge--olive { background: var(--olive); }
.hs-badge--sale { background: var(--danger); }
.hs-price {
  display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 10px;
  font-family: var(--font-body); font-variant-numeric: tabular-nums;
}
.hs-price__now { font-size: 1.125rem; font-weight: 600; letter-spacing: -0.01em; color: var(--text-strong); }
.hs-price.is-sale .hs-price__now { color: var(--danger); }
.hs-price__was { font-size: 0.8125rem; font-weight: 400; color: var(--text-subtle); }
.hs-brand {
  font: 400 0.6875rem/1.3 var(--font-body); letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--text-subtle); margin-bottom: 5px;
}

/* ---------- card (Loop Item "loop-card") ---------- */
.hs-card { position: relative; }
.hs-card-media {
  position: relative; aspect-ratio: 4 / 5; overflow: hidden;
  border: 1px solid var(--border-hairline); border-radius: var(--radius-md); background: var(--canvas);
}
.hs-card-media .hs-card-img { position: absolute; inset: 0; margin: 0; }
.hs-card-media .hs-card-img a,
.hs-card-media .hs-card-img img { display: block; width: 100%; height: 100%; }
.hs-card-media .hs-card-img img { object-fit: contain; background: var(--surface-raised); transition: transform var(--dur-base) var(--ease-out); }
.hs-card:hover .hs-card-img img { transform: scale(1.04); }
.hs-add {
  position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 2; display: block; padding: 11px;
  text-align: center; text-decoration: none; background: var(--ink); color: var(--paper);
  border-radius: var(--radius-sm); font: 500 0.8125rem/1.2 var(--font-body);
  letter-spacing: 0.06em; text-transform: uppercase;
  opacity: 0; transform: translateY(calc(100% + 14px));
  transition: transform var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out);
}
.hs-card:hover .hs-add,
.hs-add:focus-visible { opacity: 1; transform: none; }
.hs-add:hover { background: var(--ink-2); color: var(--paper); }
.hs-add:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.hs-card .added_to_cart { display: none; } /* the side cart opens instead */
.hs-card-swatches { display: flex; align-items: center; gap: 5px; margin-top: 10px; }
.hs-swatch-more { font: 400 0.75rem/1 var(--font-body); color: var(--text-muted); margin-left: 2px; }
.hs-card .hs-price { margin-top: 10px; }
.hs-card .elementor-heading-title a { color: inherit; text-decoration: none; }
/* Touch screens: no hover, the whole card is the link. */
@media (hover: none) { .hs-add { display: none; } }
/* Product grids: 1 column below 480px, 2 from 480px to Elementor's mobile limit.
   !important: Elementor prints the per-widget column count with a longer selector. */
@media (min-width: 480px) and (max-width: 767px) {
  .hs-product-grid .elementor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .hs-add, .hs-card-media .hs-card-img img { transition: none; }
  .hs-card:hover .hs-card-img img { transform: none; }
}

/* ---------- listing (Product Archive "product-archive") ---------- */
@media (min-width: 1025px) {
  .hs-sticky-rail { position: sticky; top: 132px; align-self: start; } /* design: aside top 132px */
}
.hs-plp-aside { align-self: start; }
.hs-eyebrow {
  font: 500 0.72rem/1.3 var(--font-body); letter-spacing: 0.16em; text-transform: uppercase; color: var(--clay-deep);
}
.hs-archive-title { margin: 6px 0 0; font: 400 clamp(2rem, 3.4vw, 2.75rem)/1.1 var(--font-display); color: var(--ink); }
.hs-archive-count { margin: 6px 0 0; font: 400 0.9375rem/1.5 var(--font-body); color: var(--text-muted); }
.hs-listing-tools { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.hs-search { position: relative; width: 240px; }
.hs-search__input {
  width: 100%; height: 44px; padding: 0 36px 0 0; border: 0; border-bottom: 1px solid var(--border-soft);
  background: transparent; font: 400 0.9375rem var(--font-body); color: var(--ink); border-radius: 0;
}
.hs-search__input:focus { outline: none; border-bottom-color: var(--clay); }
.hs-search__submit {
  position: absolute; right: 0; top: 8px; width: 28px; height: 28px; padding: 0; border: 0;
  background: none; color: var(--stone); cursor: pointer;
}
.hs-sort__select {
  width: 200px; height: 44px; padding: 0 12px; border: 1px solid var(--border-soft); border-radius: var(--radius-sm);
  background: var(--surface-raised); font: 400 0.9375rem var(--font-body); color: var(--ink);
}
.hs-sort__select:focus-visible, .hs-search__submit:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.hs-filter-toggle {
  display: none; align-items: center; gap: 8px; height: 44px; padding: 0 16px; cursor: pointer;
  border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--paper-2);
  font: 600 0.8125rem/1 var(--font-body); letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-strong);
}
.hs-facets__head {
  display: flex; align-items: center; gap: 8px; padding-bottom: 12px; border-bottom: 1px solid var(--border-hairline);
  font: 600 0.8125rem/1.3 var(--font-body); letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-strong);
}
.hs-facets__close { display: none; margin-left: auto; padding: 4px; border: 0; background: none; color: var(--ink); cursor: pointer; }
.hs-facet { margin: 0; padding: 18px 0; border: 0; border-bottom: 1px solid var(--border-hairline); min-width: 0; }
.hs-facet:last-of-type { border-bottom: 0; }
.hs-facet__title {
  float: left; width: 100%; margin-bottom: 14px; padding: 0;
  font: 600 0.8125rem/1.3 var(--font-body); letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-strong);
}
.hs-facet__options { clear: both; display: flex; flex-direction: column; gap: 11px; }
.hs-facet--swatch .hs-facet__options { flex-direction: row; flex-wrap: wrap; gap: 10px; }
.hs-check { display: flex; align-items: center; gap: 10px; cursor: pointer; font: 400 0.9375rem/1.4 var(--font-body); color: var(--text-body); }
.hs-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--ink); }
.hs-check__count { margin-left: auto; font-size: 0.78rem; color: var(--text-subtle); }
.hs-swatch-opt { position: relative; display: inline-flex; border-radius: 50%; cursor: pointer; }
.hs-swatch-opt input:checked + .hs-swatch { box-shadow: 0 0 0 2px var(--paper-2), 0 0 0 4px var(--ink); }
.hs-swatch-opt input:focus-visible + .hs-swatch { box-shadow: var(--focus-ring); }
.hs-facet__price { clear: both; display: flex; gap: 8px; }
.hs-price-field { flex: 1; }
.hs-price-field input {
  width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--border-soft); border-radius: var(--radius-sm);
  background: var(--surface-raised); font: 400 0.875rem var(--font-body);
}
.hs-price-field input:focus { outline: none; border-color: var(--clay); box-shadow: var(--focus-ring); }
.hs-facets__foot { display: none; }
.hs-facets__apply {
  width: 100%; min-height: 48px; border: 0; border-radius: var(--radius-sm); background: var(--ink); color: var(--paper);
  font: 500 0.9375rem/1.2 var(--font-body); letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer;
}
.hs-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 18px; }
.hs-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border: 1px solid var(--border-soft);
  border-radius: var(--radius-pill); background: var(--paper-2); font: 400 0.8125rem/1.4 var(--font-body);
  color: var(--text-body); text-decoration: none;
}
.hs-chip:hover { border-color: var(--stone); color: var(--ink); }
.hs-chips__clear { font: 400 0.8125rem var(--font-body); color: var(--text-link); text-decoration: underline; text-underline-offset: 3px; }
.hs-empty { padding: 90px 20px; text-align: center; color: var(--text-muted); }
.hs-empty__title { margin-bottom: 8px; font: 400 1.5rem/1.2 var(--font-display); color: var(--ink); }
.hs-empty__text { margin: 0; font-size: 0.9375rem; }
.hs-plp .elementor-pagination { margin-top: 40px; font: 400 0.9375rem var(--font-body); }
/* Tablet and phone: the sidebar becomes a drawer (the design has none). */
@media (max-width: 1024px) {
  .hs-filter-toggle { display: inline-flex; }
  .hs-facets {
    position: fixed; inset: 0 auto 0 0; z-index: var(--z-modal); width: min(360px, 88vw); overflow-y: auto;
    padding: 20px 16px 0; background: var(--paper); box-shadow: var(--shadow-lg);
    transform: translateX(-100%); visibility: hidden;
    transition: transform var(--dur-base) var(--ease-out), visibility var(--dur-base);
  }
  .hs-facets.is-open { transform: none; visibility: visible; }
  .hs-facets__close { display: inline-flex; }
  .hs-facets__foot { display: block; position: sticky; bottom: 0; padding: 16px 0; background: var(--paper); }
  .hs-facets-backdrop { position: fixed; inset: 0; z-index: var(--z-overlay); background: rgba(35, 33, 28, 0.4); }
  .hs-no-scroll, .hs-no-scroll body { overflow: hidden; }
  .hs-search { width: 100%; }
  .hs-listing-tools { width: 100%; }
}
@media (max-width: 767px) {
  .hs-sort__select { width: auto; flex: 1; }
  .hs-sort { display: flex; flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .hs-facets { transition: none; }
}

/* ---------- product page (Single Product "single-product") ---------- */
.hs-gallery { position: relative; display: grid; grid-template-columns: 74px 1fr; gap: 14px; align-items: start; }
/* The rail's own height is the photo count (8 thumbs = 8x74 + 7x10 = 662px), not the stage's, so in
   normal flow it decides the grid row and hangs below the photo. Taking it out of flow leaves the row
   height to the stage alone, which is what makes `height: 100%` resolvable here; the 74px track still
   reserves its column, and any thumbs past the stage's height scroll instead of stretching the page. */
.hs-gallery__rail {
  position: absolute; top: 0; left: 0; width: 74px; height: 100%;
  display: flex; flex-direction: column; gap: 10px;
  overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none;
}
/* A visible scrollbar would take its width out of the 74px track, shrinking the thumbs on exactly the
   products that have enough photos to scroll. Hidden, as on the mobile rail and the header subnav; the
   partly visible next thumb at the cut edge is the affordance, and tabbing a thumb scrolls it into view. */
.hs-gallery__rail::-webkit-scrollbar { display: none; }
.hs-gallery__main { grid-column: 2; }
.hs-gallery__thumb {
  display: block; flex: 0 0 auto; aspect-ratio: 1; padding: 0; overflow: hidden; cursor: pointer;
  border: 1.5px solid var(--border-hairline); border-radius: var(--radius-sm); background: var(--canvas);
}
.hs-gallery__rail .hs-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: contain; background: var(--surface-raised); }
.hs-gallery__thumb.is-active { border-color: var(--ink); }
.hs-gallery__thumb:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.hs-gallery__main {
  /* Square, not the design's 4/5 (owner decision 2026-09-20): every supplier product photo in the
     catalogue is 1:1, so a 4/5 stage only letterboxed them. DESIGN.novamira.md records the change. */
  position: relative; aspect-ratio: 1; overflow: hidden;
  border: 1px solid var(--border-hairline); border-radius: var(--radius-lg); background: var(--canvas);
}
.hs-gallery__main .hs-badges { top: 16px; left: 16px; flex-direction: row; }
/* Both gallery images are sized past Elementor's `.elementor img { height: auto }` (0,1,1),
   which the PDP inherits from the Single Product template. A bare `.hs-gallery__img` (0,1,0)
   loses to it, so a square supplier photo could not fill the 4/5 stage and the stage's own
   --canvas showed as a band under the photo. `.hs-gallery__main img.hs-gallery__img` is (0,2,1)
   and wins outright; the rail selector is raised the same way so it does not depend on which
   stylesheet the page happens to load last. No !important needed. */
.hs-gallery__main img.hs-gallery__img { display: block; width: 100%; height: 100%; object-fit: contain; background: var(--surface-raised); }
.hs-pdp .hs-brand { font-size: 0.75rem; margin-bottom: 0; }
.hs-pdp-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; margin-bottom: 22px; }
.hs-pdp-price .hs-price__now { font-size: 2rem; }
.hs-pdp-price .hs-price__was { font-size: 1.25rem; }
.hs-price__vat { font: 400 0.8125rem/1.4 var(--font-body); color: var(--text-muted); }
.hs-lead { max-width: 480px; margin: 0 0 24px; font: 400 1rem/1.7 var(--font-body); color: var(--text-body); }
.hs-lead p { margin: 0; }
.hs-variant-form table.variations,
.hs-variant-form table.variations tbody,
.hs-variant-form table.variations tr,
.hs-variant-form table.variations td { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: none; }
.hs-variant-form table.variations th.label { display: none; }
.hs-variant { margin-bottom: 22px; }
.hs-variant__label { margin-bottom: 10px; font: 400 0.8125rem/1.4 var(--font-body); letter-spacing: 0.04em; color: var(--text-muted); }
.hs-variant__label [data-hs-variant-value] { color: var(--text-strong); font-weight: 500; letter-spacing: 0; }
.hs-variant__options { display: flex; flex-wrap: wrap; gap: 10px; }
.hs-opt { cursor: pointer; font-family: var(--font-body); }
.hs-opt--swatch {
  display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0;
  border: 0; border-radius: 50%; background: none;
}
.hs-opt--swatch[aria-checked="true"] { box-shadow: 0 0 0 2px var(--paper-2), 0 0 0 4px var(--ink); }
.hs-opt--pill {
  padding: 9px 16px; border: 1px solid var(--border-soft); border-radius: var(--radius-pill);
  background: var(--paper-2); color: var(--text-body); font-size: 0.875rem; line-height: 1.2;
}
.hs-opt--pill[aria-checked="true"] { border-color: var(--ink); background: var(--ink); color: var(--paper); }
.hs-opt:disabled { opacity: 0.35; cursor: not-allowed; }
.hs-opt--pill:disabled { text-decoration: line-through; }
.hs-opt:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.hs-opt--swatch[aria-checked="true"]:focus-visible { box-shadow: 0 0 0 2px var(--paper-2), 0 0 0 4px var(--ink), var(--focus-ring); }
.hs-variant-form .woocommerce-variation-price,
.hs-variant-form .woocommerce-variation-description,
.hs-variant-form .woocommerce-variation-availability { display: none; }
.hs-variant-form .woocommerce-variation-add-to-cart,
.hs-variant-form form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: stretch; gap: 14px; }
.hs-variant-form .quantity {
  display: inline-flex; align-items: center; overflow: hidden;
  border: 1px solid var(--border-soft); border-radius: var(--radius-sm); background: var(--surface-raised);
}
.hs-variant-form .quantity .qty {
  width: 48px; height: 50px; border: 0; background: transparent; text-align: center;
  font: 500 1rem var(--font-body); color: var(--ink); -moz-appearance: textfield; appearance: textfield;
}
.hs-variant-form .quantity .qty::-webkit-inner-spin-button,
.hs-variant-form .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.hs-qty__btn {
  display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px;
  border: 0; background: transparent; color: var(--ink); cursor: pointer;
}
.hs-qty__btn:hover { background: var(--canvas); }
.hs-variant-form .single_add_to_cart_button,
.hs-buy-now {
  flex: 1 1 220px; min-height: 52px; border: 1px solid transparent; border-radius: var(--radius-sm); cursor: pointer;
  font: 500 0.9375rem/1.2 var(--font-body); letter-spacing: 0.04em; text-transform: uppercase;
}
.hs-variant-form .single_add_to_cart_button { background: var(--clay); color: var(--paper-2); }
.hs-variant-form .single_add_to_cart_button:hover { background: var(--clay-deep); }
.hs-buy-now { flex-basis: 100%; background: var(--ink); color: var(--paper); }
.hs-buy-now:hover { background: var(--ink-2); }
.hs-variant-form .single_add_to_cart_button.disabled,
.hs-buy-now:disabled { opacity: 0.5; cursor: not-allowed; }
.hs-variant-form .single_add_to_cart_button:active,
.hs-buy-now:active { transform: translateY(1px); }
.hs-variant-form .single_add_to_cart_button:focus-visible,
.hs-buy-now:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.hs-delivery { margin-top: 20px; }
.hs-callout {
  display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border-left: 3px solid;
  border-radius: var(--radius-sm); font: 400 0.875rem/1.5 var(--font-body); color: var(--text-body);
}
.hs-callout[hidden] { display: none; }
.hs-callout--success { background: var(--success-soft); border-color: var(--success); }
.hs-callout--neutral { background: var(--canvas); border-color: var(--border-soft); }
.hs-callout__title { font-weight: 600; color: var(--text-strong); }
.hs-callout .hs-copy { margin: 0; }
.hs-specs { width: 100%; border-collapse: collapse; font: 400 0.9375rem/1.5 var(--font-body); }
.hs-specs th,
.hs-specs td { padding: 11px 0; border: 0; border-bottom: 1px solid var(--border-hairline); text-align: left; vertical-align: top; background: none; }
.hs-specs th { width: 42%; font-weight: 400; color: var(--text-muted); }
.hs-specs td { font-weight: 500; color: var(--text-strong); }
.hs-specs tr[hidden] { display: none; }
@media (max-width: 767px) {
  .hs-gallery { grid-template-columns: 1fr; }
  /* Back into flow as a horizontal strip under the stage. */
  .hs-gallery__rail {
    position: static; width: auto; height: auto; order: 2;
    flex-direction: row; overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
  }
  .hs-gallery__main { grid-column: auto; }
  .hs-gallery__thumb { flex: 0 0 64px; }
  .hs-pdp-price .hs-price__now { font-size: 1.625rem; }
}

/* Full-screen photo view (EL-03). The stage is the only way in, so it advertises
   itself as one; the rail's thumbnails keep swapping the stage as before. */
.hs-gallery__main img.hs-gallery__img { cursor: zoom-in; }
.hs-gallery__main img.hs-gallery__img:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.hs-lightbox {
  position: fixed; inset: 0; z-index: var(--z-modal); display: flex; align-items: center; justify-content: center;
  padding: 24px; background: rgba(35, 33, 28, 0.92);
}
.hs-lightbox[hidden] { display: none; }
/* The page behind must not scroll under the view on a phone, where the backdrop is
   the whole screen and a stray drag would otherwise move the product page. */
.hs-lightbox-open, .hs-lightbox-open body { overflow: hidden; }
.hs-lightbox__stage { display: flex; align-items: center; justify-content: center; max-width: 100%; max-height: 100%; }
.hs-lightbox__img { display: block; max-width: min(1400px, 100%); max-height: calc(100vh - 48px); object-fit: contain; }
.hs-lightbox__close,
.hs-lightbox__nav {
  position: absolute; display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border: 0; border-radius: var(--radius-pill); cursor: pointer;
  background: rgba(252, 251, 249, 0.92); color: var(--ink);
}
.hs-lightbox__close:focus-visible,
.hs-lightbox__nav:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.hs-lightbox__close { top: 16px; right: 16px; }
.hs-lightbox__close::before { content: '\00d7'; font: 400 1.5rem/1 var(--font-body); }
.hs-lightbox__nav::before { content: ''; width: 11px; height: 11px; border: 1.5px solid currentColor; border-width: 1.5px 1.5px 0 0; }
.hs-lightbox__nav--prev { left: 16px; }
.hs-lightbox__nav--prev::before { transform: translateX(2px) rotate(-135deg); }
.hs-lightbox__nav--next { right: 16px; }
.hs-lightbox__nav--next::before { transform: translateX(-2px) rotate(45deg); }

/* Sticky add-to-cart on phones (PDP-04). --hs-sticky-offset lifts the bar clear of
   anything else pinned to the bottom of the viewport (a future consent banner);
   it stays 0 until something sets it. */
.hs-stickybuy {
  position: fixed; left: 0; right: 0; bottom: var(--hs-sticky-offset, 0px); z-index: var(--z-overlay);
  display: none; align-items: center; gap: 12px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--border-hairline); background: var(--paper); box-shadow: var(--shadow-lg);
}
.hs-stickybuy[hidden] { display: none; }
.hs-stickybuy__price { flex: 0 1 auto; min-width: 0; font: 500 1.0625rem/1.2 var(--font-body); color: var(--text-strong); }
.hs-stickybuy__price del { display: none; }
.hs-stickybuy__add {
  flex: 1 1 auto; min-height: 48px; padding: 0 16px; border: 0; border-radius: var(--radius-sm);
  background: var(--ink); color: var(--paper); font: 500 0.9375rem/1.2 var(--font-body); cursor: pointer;
}
.hs-stickybuy__add:disabled { opacity: 0.45; cursor: default; }
.hs-stickybuy__add:focus-visible { outline: none; box-shadow: var(--focus-ring); }
@media (max-width: 767px) {
  /* Only phones: on desktop and tablet the buy box sits beside the gallery and stays
     in view, so a pinned bar would cover the page for nothing. */
  .hs-stickybuy:not([hidden]) { display: flex; }
  .hs-lightbox { padding: 12px; }
  .hs-lightbox__img { max-height: calc(100vh - 24px); }
  .hs-lightbox__nav { display: none; }
}
