.slider-block {
	position: relative;
}

.slider-block:hover .slider-prev,
.slider-block:hover .slider-next {
	opacity: 1;
}

.slider-track-wrap {
	overflow: hidden;
}

.slider-track-wrap:has(+ .slider-prev) .slide-block {
	/* padding: 0 3.5rem; */
}

.slider-track {
	display: flex;
	transition: transform var(--slider-transition, 0.35s) ease;
}

.slide-block {
	flex: 0 0 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Instant: reuse the slide mechanism, just remove the transition */
.slider-block[data-effect="instant"] .slider-track {
	transition: none;
}

/* Fade: stack slides absolutely and crossfade opacity instead of translating */
.slider-block[data-effect="fade"] .slider-track-wrap {
	position: relative;
}

.slider-block[data-effect="fade"] .slider-track {
	display: block; /* override the flex row used by slide/instant */
}

.slider-block[data-effect="fade"] .slide-block {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--slider-transition, 0.35s) ease;
}

.slider-block[data-effect="fade"] .slide-block.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Arrows */
.slider-prev,
.slider-next {
	position: absolute;
	top: calc(50% - 1.25rem);
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.85);
	border: none;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
	opacity: 0;
	transition: 0.5s ease-out all;
	padding: 0;
    color: black;
}

.slider-prev {
	left: 0.5rem;
}

.slider-next {
	right: 0.5rem;
}

.slider-prev:hover,
.slider-next:hover {
	background: #fff;
	color: #000;
}

/* Dots */
.slider-dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1rem;
}

.slider-dots button {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	border: none;
	background: #ccc;
	padding: 0;
	cursor: pointer;
}

.slider-dots button[aria-current="true"] {
	background: #333;
}