.slider-container { position: relative; }

.banner-carousel {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 1640 / 664; 
	overflow: hidden;
	background: #eef1f0;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
	touch-action: pan-y;
}
.banner-carousel.is-grabbing { cursor: grabbing; }

@supports not (aspect-ratio: 1 / 1) {
	.banner-carousel { height: 40.49vw; }
}

.banner-track {
	display: flex;
	height: 100%;
	will-change: transform;
}
.banner-slide {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
}
.banner-media,
.banner-media img {
	display: block;
	width: 100%;
	height: 100%;
}
.banner-media img {
	object-fit: cover;
	object-position: center center;
	-webkit-user-drag: none;  
	user-drag: none;
	pointer-events: none;     
}

/* setas */
.banner-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, .85);
	color: #0f6b51;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s ease, transform .2s ease;
}
.banner-arrow:hover { background: #fff; }
.banner-arrow:active { transform: translateY(-50%) scale(.94); }
.banner-prev { left: 22px; }
.banner-next { right: 22px; }

/* bolinhas */
.banner-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 22px;
	display: flex;
	justify-content: center;
	gap: 10px;
	z-index: 5;
}
.banner-dot {
	width: 12px;
	height: 12px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, .55);
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.banner-dot:hover { background: rgba(255, 255, 255, .8); }
.banner-dot.is-active {
	background: #fff;
	transform: scale(1.25);
}

@media (max-width: 767px) {
	.banner-arrow { width: 38px; height: 38px; font-size: 24px; }
	.banner-dots { bottom: 10px; }
	.banner-prev { left: 12px; }
	.banner-next { right: 12px; }
}
