.ani-peek-carousel-wrapper {
	--ani-peek-aspect-ratio: 3/4;
	--ani-peek-image-fit: cover; 
	--ani-peek-preview-width: 15%;
	--ani-peek-fade-color: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 100%); 
	--ani-peek-radius: 8px;
	--ani-peek-gap: 16px;
	--ani-peek-btn-width: 48px;
	--ani-peek-btn-height: 48px;
	--ani-peek-btn-radius: 50%;
	--ani-peek-btn-bg: #ffffff;
	--ani-peek-btn-icon-size: 24px;
	--ani-peek-btn-icon-color: #333333;
	--ani-peek-btn-track-overlap: 24px;
	--ani-peek-duration: 400ms;
	--ani-peek-timing: ease-in-out;
	--ani-peek-focus-color: #007bff;
	--ani-peek-focus-width: 3px;
	
	--ani-peek-widget-padding: calc(var(--ani-peek-btn-width) - var(--ani-peek-btn-track-overlap));

	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	display: flex;
	align-items: center;
	outline: none;
	box-sizing: border-box;
	padding: 0 var(--ani-peek-widget-padding);
}

.ani-peek-carousel-wrapper:focus-visible {
	box-shadow: 0 0 0 var(--ani-peek-focus-width) var(--ani-peek-focus-color);
	border-radius: var(--ani-peek-radius);
}

.ani-peek-carousel-track-container {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: var(--ani-peek-radius);
	touch-action: pan-y;
}
.ani-peek-carousel-track {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ani-peek-carousel-slide {
	flex: 0 0 calc(100% - var(--ani-peek-preview-width));
	margin-right: var(--ani-peek-gap);
	aspect-ratio: var(--ani-peek-aspect-ratio);
	box-sizing: border-box;
	position: relative;
}
.ani-peek-carousel-image {
	width: 100%;
	height: 100%;
	object-fit: var(--ani-peek-image-fit);
	display: block;
	border-radius: var(--ani-peek-radius);
	pointer-events: none;
}
.ani-peek-carousel-fade {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: calc(var(--ani-peek-preview-width) + 5%);
	background: var(--ani-peek-fade-color);
	pointer-events: none;
}
.ani-peek-carousel-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: var(--ani-peek-btn-width);
	height: var(--ani-peek-btn-height);
	border-radius: var(--ani-peek-btn-radius);
	background: var(--ani-peek-btn-bg);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	padding: 0;
	transition: opacity 0.2s;
}
.ani-peek-carousel-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
.ani-peek-carousel-btn:focus-visible {
	outline: var(--ani-peek-focus-width) solid var(--ani-peek-focus-color);
	outline-offset: 2px;
}
.ani-peek-carousel-prev {
	left: 0;
}
.ani-peek-carousel-next {
	right: 0;
}
