/**
 * MSCarousel — global horizontal carousel. No visible scrollbar; arrows on
 * hover-capable devices, native swipe on touch.
 */
.ms-carousel { position: relative; }

/* The scrolling track: horizontal, smooth, scrollbar fully hidden. */
.ms-carousel__track {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x proximity;
}

/* Kill the horizontal scrollbar on EVERY rail — carousel tracks and the raw
   rail classes — with !important so no theme stylesheet can re-show it. */
.ms-carousel__track,
.mst-row,
.mst-home-row,
.mst-single-related__row,
.ms-cw--rail,
.ms-cw--grid,
[data-ms-carousel-track],
[data-ms-carousel] {
	scrollbar-width: none !important;       /* Firefox */
	-ms-overflow-style: none !important;    /* old Edge/IE */
}
.ms-carousel__track::-webkit-scrollbar,
.mst-row::-webkit-scrollbar,
.mst-home-row::-webkit-scrollbar,
.mst-single-related__row::-webkit-scrollbar,
.ms-cw--rail::-webkit-scrollbar,
.ms-cw--grid::-webkit-scrollbar,
[data-ms-carousel-track]::-webkit-scrollbar,
[data-ms-carousel]::-webkit-scrollbar {
	width: 0 !important;
	height: 0 !important;
	display: none !important;          /* WebKit/Blink */
}
.ms-carousel__track:focus-visible { outline: 2px solid var(--mst-accent, #5c6ef4); outline-offset: 4px; border-radius: 8px; }
.ms-carousel__track > * { scroll-snap-align: start; }

/* Arrows — shown only when the track actually overflows. */
.ms-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 6;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(18, 18, 26, 0.85);
	color: #fff;
	cursor: pointer;
	display: none;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
	transition: opacity 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.ms-carousel--has-overflow .ms-carousel__arrow { display: flex; }
.ms-carousel__arrow--prev { left: -8px; }
.ms-carousel__arrow--next { right: -8px; }
.ms-carousel__arrow:hover { background: var(--mst-accent, #5c6ef4); transform: translateY(-50%) scale(1.06); }
.ms-carousel__arrow:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.ms-carousel__arrow.is-hidden { opacity: 0; pointer-events: none; }
.ms-carousel__arrow:disabled { opacity: 0; pointer-events: none; }

/* Mouse drag: grabbing cursor + no smooth-scroll fighting the pointer. */
.ms-carousel__track.is-dragging { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; user-select: none; }
.ms-carousel__track.is-dragging a, .ms-carousel__track.is-dragging img { pointer-events: none; }

/* Touch devices: no arrows — native swipe only. */
@media (hover: none) {
	.ms-carousel__arrow { display: none !important; }
}
