/* Catalog grid: lifted white tiles, reveal-on-scroll, press feedback, scroll indicator. CSS/JS only. */
.box-grid-wrap li.cat-row {
  background: #fff; border-radius: 16px; padding: .5rem .5rem .75rem;
  box-shadow: 0 1px 2px rgba(28,26,22,.06), 0 6px 18px rgba(28,26,22,.08);
  transition: transform .18s ease, box-shadow .18s ease, opacity .45s ease;
}
.box-grid-wrap li.cat-row:hover { box-shadow: 0 2px 4px rgba(28,26,22,.08), 0 12px 28px rgba(28,26,22,.12); }
.box-grid-wrap li.cat-row:active,
.box-grid-wrap li.cat-row.is-pressed { transform: scale(.97); box-shadow: 0 1px 3px rgba(28,26,22,.1); }
.box-grid-wrap .box-card-img { background: #f7f4ee; }
.js-reveal .box-grid-wrap li.cat-row { opacity: 0; transform: translateY(18px); }
.js-reveal .box-grid-wrap li.cat-row.is-in { opacity: 1; transform: none; }
.js-reveal .box-grid-wrap li.cat-row.is-in.is-pressed { transform: scale(.97); }
html { scrollbar-width: thin; scrollbar-color: #1f2a44 transparent; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-thumb { background: #1f2a44; border-radius: 3px; }
::-webkit-scrollbar-track { background: transparent; }
.cat-scroll-ind { position: fixed; right: 3px; top: 0; width: 4px; height: 48px; border-radius: 2px;
  background: #1f2a44; opacity: 0; transition: opacity .4s ease; z-index: 50; pointer-events: none; }
.cat-scroll-ind.is-on { opacity: .75; }
@media (hover: hover) and (pointer: fine) { .cat-scroll-ind { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .box-grid-wrap li.cat-row, .js-reveal .box-grid-wrap li.cat-row { transition: none; opacity: 1; transform: none; }
  .box-grid-wrap li.cat-row:active, .box-grid-wrap li.cat-row.is-pressed { transform: none; }
}
.box-grid-wrap .box-card-img .box-img { transform: none; object-fit: contain; }
.box-grid-wrap a.box-card-body:hover .box-img { transform: none; }
.box-grid-wrap .box-card-img { aspect-ratio: 280 / 330; }
