.odo-hero {
	position: relative;
}

.odo-hero-swiper {
	width: 100%;
	overflow: hidden;
}

.odo-hero-swiper .swiper-slide {
	height: auto;
}

.odo-hero-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 24px;
	display: flex;
	gap: 8px;
	justify-content: center;
	z-index: 10;
	pointer-events: none;
}

.odo-hero-dot {
	width: 32px;
	height: 3px;
	border: 0;
	background: rgba(0, 0, 0, 0.2);
	border-radius: 0;
	cursor: pointer;
	padding: 0;
	pointer-events: auto;
	transition: background 200ms ease, transform 200ms ease, width 200ms ease;
}

.odo-hero-dot:hover {
	background: rgba(0, 0, 0, 0.35);
}

.odo-hero-dot--active {
	background: hsl(var(--primary));
	width: 48px;
}

.odo-hero-dot:focus-visible {
	outline: 2px solid hsl(var(--primary));
	outline-offset: 3px;
}

.odo-hero-toggle {
	position: absolute;
	right: 20px;
	bottom: 18px;
	z-index: 11;
	width: 28px;
	height: 28px;
	border-radius: 0;
	border: 0;
	background: hsl(var(--background) / 0.75);
	color: hsl(var(--foreground));
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	transition: background 200ms ease;
}

.odo-hero-toggle:hover {
	background: hsl(var(--background));
}

.odo-hero-toggle:focus-visible {
	outline: 2px solid hsl(var(--primary));
	outline-offset: 2px;
}

@media (max-width: 640px) {
	.odo-hero-dots {
		bottom: 16px;
	}
	.odo-hero-toggle {
		right: 12px;
		bottom: 12px;
		width: 26px;
		height: 26px;
	}
	.odo-hero-dot {
		width: 24px;
	}
	.odo-hero-dot--active {
		width: 36px;
	}
}
