.ss-carousel { position: relative; min-width: 0; }
.ss-carousel__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.ss-carousel__count { color: var(--ss-muted); font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ss-carousel__controls { position: relative; display: flex; align-items: center; gap: .55rem; }
.ss-carousel__controls button { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid var(--ss-ink); border-radius: 50%; background: transparent; color: var(--ss-ink); font-size: 1rem; line-height: 1; cursor: pointer; transition: background 160ms ease, color 160ms ease, opacity 160ms ease, transform 160ms cubic-bezier(.23,1,.32,1); }
.ss-carousel__controls button:hover { background: var(--ss-ink); color: var(--ss-white); }
.ss-carousel__controls button:active { transform: scale(.96); }
.ss-carousel__controls button.is-unavailable { visibility: hidden; pointer-events: none; }
.ss-carousel__controls button.is-disabled { opacity: .28; cursor: not-allowed; }
.ss-carousel__controls button.is-disabled:hover { background: transparent; color: var(--ss-ink); }
.ss-carousel__end-message { position: absolute; top: calc(100% + .5rem); right: 0; width: max-content; max-width: 15rem; color: var(--ss-muted); font-size: .62rem; letter-spacing: .03em; line-height: 1.35; opacity: 0; pointer-events: none; transform: translateY(-4px); transition: opacity 160ms ease, transform 160ms cubic-bezier(.23,1,.32,1); }
.ss-carousel__end-message.is-visible { opacity: 1; transform: translateY(0); }
.ss-carousel__viewport { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
.ss-carousel__viewport::-webkit-scrollbar { display: none; }
.ss-carousel__viewport:focus-visible { outline: 1px solid var(--ss-accent); outline-offset: .45rem; }
.ss-carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((min(100vw, 1400px) - 7rem) / 4); gap: 18px; width: max-content; padding: .1rem .1rem .5rem; }
.ss-carousel__track > .ss-product-card { width: 100%; min-width: 0; scroll-snap-align: start; }
.ss-carousel__status { position: absolute; right: 1rem; bottom: 1.4rem; z-index: 2; padding: .3rem .45rem; border-radius: 999px; background: rgba(255,255,255,.84); color: var(--ss-ink); font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
@media (max-width: 760px) {
	.ss-carousel__controls { display: none; }
	.ss-carousel__viewport { margin-inline: -1rem; padding-inline: 1rem; }
	.ss-carousel__track { grid-auto-columns: min(78vw, 22rem); gap: .75rem; padding-bottom: .35rem; }
	.ss-carousel__status { right: 1rem; bottom: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .ss-carousel__controls button, .ss-carousel__end-message { transition-duration: .01ms; } .ss-carousel__viewport { scroll-behavior: auto; } }
