.horizontal-scroller-controls { display: flex; gap: 8px; }


.horizontal-scroller-controls button { cursor: pointer; }


.horizontal-scroller-track { width: 100%; padding: var(--horizontal-scroller-padding, 2px 2px 14px); display: grid; grid-auto-flow: column; grid-auto-columns: var(--horizontal-scroller-item-width, clamp(260px, 29vw, 340px)); gap: var(--horizontal-scroller-gap, 14px); overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: inline mandatory; scrollbar-width: thin; touch-action: pan-x pan-y; -webkit-overflow-scrolling: touch; }


.horizontal-scroller-item { min-width: 0; scroll-snap-align: start; }
/* Text entries can need a focus position between card snap points. */
.horizontal-scroller-track--intrinsic { width: var(--horizontal-scroller-viewport-width, 100%); grid-auto-columns: max-content; scroll-snap-type: none; }
.horizontal-scroller-track--auto-height { height: var(--horizontal-scroller-height, auto); grid-template-rows: minmax(0, 1fr); align-items: start; overflow-y: hidden; }
@media (prefers-reduced-motion: reduce) { .horizontal-scroller-track { scroll-behavior: auto; } }
