/* One Six Product Rail */
.os.os-shop { background-color: var(--os-paper); padding: clamp(64px, 8vw, 120px) 0; }
.os .os-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 32px; }
.os .os-chip { font-family: var(--os-font-sans); font-size: 13px; font-weight: 500; line-height: 1; letter-spacing: .08em; text-transform: uppercase; padding: 12px 18px; border-radius: 999px; border: 1px solid var(--os-line); background-color: var(--os-paper); color: var(--os-ink); cursor: pointer; transition: all .2s; }
.os .os-chip:hover, .os .os-chip:focus { border-color: var(--os-ink); background-color: var(--os-paper); color: var(--os-ink); }
.os .os-chip[aria-pressed="true"] { background-color: var(--os-ink); border-color: var(--os-ink); color: #fff; }

/* --os-rail-gap, never --gap: Elementor containers define --gap themselves. */
.os .os-rail { --per: 4; --os-rail-gap: 16px; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--per) - 1) * var(--os-rail-gap)) / var(--per)); gap: var(--os-rail-gap); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.os .os-rail::-webkit-scrollbar { display: none; }
.os .os-rail__empty { color: var(--os-mute); padding: 40px 0; }
.os .os-rail .os-card { scroll-snap-align: start; }
/* Card styles: assets/css/cards.css (shared with the Shop Archive and Product widgets). */

.os .os-rail-nav { display: flex; gap: 8px; }
.os .os-rail-nav button { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--os-line); background-color: var(--os-paper); color: var(--os-ink); cursor: pointer; display: grid; place-items: center; }
.os .os-rail-nav button:hover, .os .os-rail-nav button:focus-visible { border-color: var(--os-ink); background-color: var(--os-paper); color: var(--os-ink); }
.os .os-rail-nav button[disabled] { opacity: .35; cursor: default; }
.os .os-rail-nav svg { width: 18px; height: 18px; }
.os .os-rail-bar { margin-top: 28px; height: 1px; background-color: var(--os-line); position: relative; }
.os .os-rail-bar i { position: absolute; top: -.5px; bottom: -.5px; left: 0; width: 20%; background-color: var(--os-ink); transition: left .15s linear, width .3s; }
