/* ===== ProductList: the general product list — rail (drag-scroll) or wrapped grid ===== */
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl { width: 100%; font-family: var(--hl-font-ui); overflow: hidden; }
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__inner { padding-top: var(--hl-pt, 72px); padding-bottom: var(--hl-pb, 72px); }
@media (max-width: 767px) { .cc_d2ggg1qu_NWxgMMKdYS .hl-pl__inner { padding-top: var(--hl-pt-m, 44px); padding-bottom: var(--hl-pb-m, 44px); } }

.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 24px; }
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__title { font-size: var(--hl-fs-h2); }
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__desc { margin: 8px 0 0; max-width: 44ch; }
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__tools { display: flex; align-items: center; gap: 20px; flex-shrink: 0; margin-left: auto; }

/* rail: N cards per view, drag-scrollable, snapped */
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--hl-pl-cols, 4) - 1) * var(--hl-pl-gap, 16px)) / var(--hl-pl-cols, 4));
  gap: var(--hl-pl-gap, 16px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scroll-padding-inline: 4px;
  scrollbar-width: none;
  padding: 4px 4px 8px;
  -webkit-overflow-scrolling: touch;
}
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__track::-webkit-scrollbar { display: none; }
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__track:focus-visible { outline: 2px solid var(--hl-ink); outline-offset: 2px; }
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__cell { scroll-snap-align: start; min-width: 0; }
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__track[data-drag="on"] { cursor: grab; }
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__track[data-drag="on"][data-dragging] { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; user-select: none; }
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl__track[data-drag="on"] img, .cc_d2ggg1qu_NWxgMMKdYS .hl-pl__track[data-drag="on"] a { -webkit-user-drag: none; }
@media (hover: none) { .cc_d2ggg1qu_NWxgMMKdYS .hl-pl__track[data-drag="on"] { cursor: auto; } }

/* grid: wraps, no scroll, no arrows */
.cc_d2ggg1qu_NWxgMMKdYS .hl-pl--grid .hl-pl__track {
  grid-auto-flow: row;
  grid-auto-columns: auto;
  grid-template-columns: repeat(var(--hl-pl-gd, 3), minmax(0, 1fr));
  overflow: visible;
  scroll-snap-type: none;
  padding: 0;
}

@media (max-width: 1023px) {
  .cc_d2ggg1qu_NWxgMMKdYS .hl-pl:not(.hl-pl--grid) .hl-pl__track { grid-auto-columns: min(40vw, calc((100% - (var(--hl-pl-cols, 4) - 1) * var(--hl-pl-gap, 16px)) / var(--hl-pl-cols, 4))); }
}
@media (max-width: 767px) {
  .cc_d2ggg1qu_NWxgMMKdYS .hl-pl__head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cc_d2ggg1qu_NWxgMMKdYS .hl-pl:not(.hl-pl--grid) .hl-pl__track { grid-auto-columns: 70%; gap: var(--hl-pl-gap-m, 12px); }
  .cc_d2ggg1qu_NWxgMMKdYS .hl-pl--grid .hl-pl__track { grid-template-columns: repeat(var(--hl-pl-gm, 2), minmax(0, 1fr)); gap: var(--hl-pl-gap-m, 12px); }
}

@media (prefers-reduced-motion: reduce) {
  .cc_d2ggg1qu_NWxgMMKdYS .hl-pl__track { scroll-behavior: auto; }
}
