.zzz-home .new-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.zzz-home .new-carousel {
  --new-arrow-width: 76px;
  --new-arrow-gap: 12px;
  /* Reserve space inside the section only when the outer black margin is too narrow. */
  --new-outer-space: max(var(--gutter), calc((100vw - var(--wrap)) / 2 - 12px));
  --new-track-inset: max(0px, calc(var(--new-arrow-width) + var(--new-arrow-gap) + 8px - var(--new-outer-space)));
  position: relative;
  margin-top: 24px;
  padding-inline: var(--new-track-inset);
}
.zzz-home .new-arrows { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.zzz-home .new-arrow {
  position: absolute;
  top: var(--new-arrow-y, 90px);
  display: grid;
  place-items: center;
  width: var(--new-arrow-width);
  min-height: 44px;
  aspect-ratio: 95 / 64;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateY(-50%);
  pointer-events: auto;
}
.zzz-home .new-arrow[data-new-prev] { left: calc(var(--new-track-inset) - var(--new-arrow-gap) - var(--new-arrow-width)); }
.zzz-home .new-arrow[data-new-next] { right: calc(var(--new-track-inset) - var(--new-arrow-gap) - var(--new-arrow-width)); }
.zzz-home .new-arrow img { display: block; width: 100%; height: auto; pointer-events: none; user-select: none; }
.zzz-home .new-arrow:hover:not(:disabled) { filter: brightness(1.2); }
.zzz-home .new-arrow:disabled { opacity: .3; cursor: default; }
.zzz-home .grid--new-in {
  --new-columns: 6;
  --new-gap: 18px;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--new-columns) - 1) * var(--new-gap)) / var(--new-columns));
  column-gap: var(--new-gap);
  margin-top: 0;
  padding-bottom: 8px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  cursor: grab;
}
.zzz-home .grid--new-in > .card { scroll-snap-align: start; }
.zzz-home .grid--new-in img { user-select: none; -webkit-user-drag: none; }
.zzz-home .grid--new-in.is-dragging { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; user-select: none; }
.zzz-home .grid--new-in.is-dragging .card { cursor: grabbing; }
.zzz-home .new-range { margin-top: 14px; color: var(--text-3); text-align: right; }
@media (max-width: 1180px) {
  .zzz-home .new-carousel { --new-track-inset: 0px; --new-arrow-width: 44px; padding-inline: 0; }
  .zzz-home .new-arrows {
    position: static;
    inset: auto;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    pointer-events: auto;
  }
  .zzz-home .new-arrow {
    position: static;
    inset: auto;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    aspect-ratio: auto;
    border: 1px solid var(--line);
    background: var(--panel);
    transform: none;
  }
  .zzz-home .new-arrow img { width: 40px; }
  .zzz-home .grid--new-in { --new-columns: 4; --new-gap: 12px; min-width: 0; }
}
@media (max-width: 640px) {
  .zzz-home .grid--new-in { --new-columns: 2; }
  .zzz-home .new-actions { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { .zzz-home .grid--new-in { scroll-behavior: auto; } }
