/* A separate, versioned resource also protects clients with cached V4 CSS. */
.reference-store .cart-control { flex: none; }
.reference-store .cart-stepper { display: flex; align-items: center; border: 1px solid #e0e5e9; border-radius: 9px; background: #f2f5f7; overflow: hidden; min-height: 44px; }
.reference-store .cart-control [hidden] { display: none !important; }
.reference-store .cart-stepper button { display: grid; place-items: center; width: 44px; height: 44px; flex: none; background: #101f2c; color: white; border: 0; cursor: pointer; }
.reference-store .cart-stepper button:disabled { background: #e3e8ec; color: #8d9aa4; cursor: default; }
.reference-store .cart-stepper button svg { width: 18px; height: 18px; }
.reference-store .cart-control-count { min-width: 40px; padding: 0 7px; text-align: center; font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; }
.reference-store .product-bottom { flex-wrap: wrap; row-gap: 10px; }
.reference-store .cart-control-compact { margin-left: auto; }
.reference-store .detail-buy { gap: 16px; flex-wrap: wrap; }
.reference-store .cart-control button:focus-visible { outline: 3px solid #f0192d; outline-offset: -3px; }
.reference-store .add-button { width: auto; min-width: 43px; padding: 0 10px; }
.reference-store .add-quantity { font-weight: 800; font-size: 15px; font-variant-numeric: tabular-nums; }
.reference-store .detail-buy [data-add] { min-width: 150px; transition: background-color .18s; }
.reference-store .detail-buy [data-add].in-cart { background: #f0192d; color: #fff; }
.reference-store [data-add]:disabled { cursor: default; }
.reference-store [data-add].in-cart:disabled { opacity: 1; }
.reference-store .add-label { font-variant-numeric: tabular-nums; }
.reference-store .department-card {
  display: grid; grid-template-rows: minmax(0, 1fr) auto;
  width: 100%; min-width: 0; min-height: 0; aspect-ratio: 154 / 211;
  isolation: isolate;
}
.reference-store .department-photo {
  position: relative; width: 100%; height: 100%; min-height: 0;
  aspect-ratio: auto; overflow: hidden; background: #eef0f2 !important;
}
.reference-store .department-photo img {
  position: absolute; inset: 0; display: block;
  width: 100%; height: 100%; max-width: 100%; max-height: 100%;
  object-fit: contain; padding: 8px;
}
.reference-store .department-label {
  position: relative; z-index: 1; min-height: 4.1em;
  padding: 10px 25% 10px 9%; overflow-wrap: anywhere;
  background: #eceef0;
}
.reference-store .department-arrow { z-index: 2; bottom: 7%; }
.reference-store .brand-art {
  position: relative; width: 100%; min-width: 0; min-height: 0;
  aspect-ratio: 327 / 170; overflow: hidden; isolation: isolate;
  background: #0c1b28 !important;
}
.reference-store .brand-art > img,
.reference-store .business-art > img {
  position: absolute; inset: 0; display: block;
  width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: cover;
}
.reference-store .brand-art > img { opacity: 1; }
.reference-store .brand-art::after,
.reference-store .business-art::after { display: none; }
.reference-store .brand-copy { right: 9%; }
.reference-store .brand-copy strong { overflow-wrap: anywhere; }
.reference-store .brand-copy small { max-width: 70%; }
.reference-store .reference-business { margin-bottom: 1.4%; }
.reference-store .business-art {
  position: relative; min-width: 0; min-height: 320px;
  aspect-ratio: 578 / 320; overflow: hidden; isolation: isolate;
  background: #e9edf0 !important;
}
.reference-store .business-art:nth-child(even) { aspect-ratio: 395 / 320; }
.reference-store .business-copy { bottom: 8%; }
.reference-store .business-copy strong { font-size: clamp(18px, 2.1cqw, 32px); overflow-wrap: anywhere; }
.reference-store .business-copy b { margin-top: auto; }
.reference-store .catalog-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; align-items: start; }
.reference-store .category-sidebar { position: sticky; top: 24px; min-width: 0; padding: 18px 14px; border: 1px solid #e2e7ea; border-radius: 12px; background: #f5f7f8; }
.reference-store .sidebar-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 0 8px 13px; border-bottom: 1px solid #dce3e7; }
.reference-store .sidebar-heading b { font-size: 18px; }
.reference-store .sidebar-heading span { color: #87939b; font-size: 11px; }
.reference-store .sidebar-categories { display: grid; gap: 3px; padding-top: 9px; max-height: min(62vh, 640px); overflow: auto; }
.reference-store .sidebar-category { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 38px; padding: 8px 9px; border: 0; border-radius: 7px; background: transparent; color: #26333c; text-align: left; font: inherit; font-size: 13px; cursor: pointer; }
.reference-store .sidebar-category span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reference-store .sidebar-category small { flex: none; color: #8a969e; font-size: 11px; }
.reference-store .sidebar-category:hover { background: #e9eef1; }
.reference-store .sidebar-category.active { background: #101f2c; color: #fff; font-weight: 700; }
.reference-store .sidebar-category.active small { color: #c8d2d9; }
.reference-store .catalog-results { min-width: 0; }
.reference-store .catalog-results .section-heading { margin-top: 0; }
.reference-store .footer-logo { position: relative; overflow: hidden; }
.reference-store .footer-logo img { position: absolute; inset: 5%; width: 90%; height: 90%; object-fit: contain; }
/* Static fallback labels remain readable before the catalog request completes. */
.reference-store .brand-art > .sr-only,
.reference-store .business-art > .sr-only {
  position: relative !important; display: block; width: auto !important; height: auto !important;
  clip: auto !important; white-space: normal !important; padding: 24px !important;
}
.reference-store .brand-art > .sr-only { color: white; }
@media (max-width: 1000px) and (min-width: 721px) {
  .reference-store .department-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .reference-store .department-card { aspect-ratio: 1 / 1.2; }
  .reference-store .department-label { font-size: 14px; }
  .reference-store .reference-business { grid-template-columns: 1fr 1fr; }
  .reference-store .business-copy { width: 70%; }
  .reference-store .catalog-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 720px) {
  .reference-store .catalog-layout { display: block; }
  .reference-store .category-sidebar { position: static; margin-bottom: 18px; padding: 12px; }
  .reference-store .sidebar-categories { display: flex; max-height: none; overflow-x: auto; padding-top: 8px; scrollbar-width: thin; }
  .reference-store .sidebar-category { flex: 0 0 auto; width: auto; min-height: 36px; padding: 8px 11px; background: #fff; border: 1px solid #dde4e8; }
  .reference-store .sidebar-category span { max-width: 180px; }
  .reference-store .sidebar-category.active { border-color: #101f2c; }
  .reference-store .department-card { aspect-ratio: auto; grid-template-rows: 110px auto; }
  .reference-store .department-label { font-size: 11px; min-height: 60px; padding-left: 8px; }
  .reference-store .department-arrow { bottom: 16px; }
  .reference-store .business-art,
  .reference-store .business-art:nth-child(even) { aspect-ratio: auto; min-height: 310px; }
  .reference-store .business-copy strong { font-size: 22px; }
  .reference-store .business-copy small { font-size: 12px; }
  .reference-store .reference-business { margin-bottom: 20px; }
}
