/*
 * RRPS Snap Slider — dots added by snap-slider.js under a scroll-snap row.
 *
 * Each dot is a 24px hit area (WCAG target size) drawing a 10px disc. Grey
 * discs on light sections, white on the brand gradient (--light); the active
 * one is teal.
 */

.rrps-snap-dots {
	display: flex;
	justify-content: center;
	gap: 2px;
	margin-top: 24px;
}

.rrps-snap-dots[hidden] {
	display: none;
}

.rrps-snap-dots .rrps-snap-dots__dot {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}

.rrps-snap-dots .rrps-snap-dots__dot::after {
	content: "";
	position: absolute;
	top: 7px;
	left: 7px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--rrps-gray-100);
	transition: background-color 0.25s ease, transform 0.25s ease;
}

.rrps-snap-dots--light .rrps-snap-dots__dot::after {
	background: #fff;
}

.rrps-snap-dots .rrps-snap-dots__dot.is-active::after {
	background: var(--rrps-teal-light);
	transform: scale(1.1);
}

.rrps-snap-dots .rrps-snap-dots__dot:hover,
.rrps-snap-dots .rrps-snap-dots__dot:focus {
	background: transparent;
}

.rrps-snap-dots .rrps-snap-dots__dot:focus-visible {
	outline: 2px solid var(--rrps-teal-light);
	outline-offset: 0;
}

@media (prefers-reduced-motion: reduce) {
	.rrps-snap-dots .rrps-snap-dots__dot::after {
		transition: none;
	}
}
