/* ─── SWIPER BUTTONS ──────────────────────────────────────────── */

.swiper-buttons {
	display: flex;
	align-items: center;
	gap: max(.5rem, calc(.5 * var(--su)));
}

.odnhn-swiper-button {
	width: max(2rem, calc(2.75 * var(--su)));
	height: auto;
	aspect-ratio: 1;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: transparent;
	color: var(--odnhn-purple-dark);
	border: none;
	cursor: pointer;
	flex-shrink: 0;
	overflow: hidden;
	outline: 1px solid var(--odnhn-purple-dark);
	outline-offset: -1px;
	transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

.odnhn-swiper-button::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	width: 30%;
	height: auto;
	aspect-ratio: 1;
	background-color: currentColor;
	mask-image: var(--button-mask-arrow-right);
	-webkit-mask-image: var(--button-mask-arrow-right);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	transition: transform 0.2s ease-in-out;
	z-index: 2;
}

.odnhn-swiper-button.swiper-button-default-prev::before {
	transform: rotate(180deg);
}

.odnhn-swiper-button.swiper-button-disabled {
	opacity: .5;
}

.odnhn-swiper-button::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	width: 100%;
	height: 100%;
	background-color: var(--odnhn-purple-dark);
	transform: scale(0);
	z-index: 1;
	border-radius: 50%;
	transition: transform 0.2s ease-in-out;
}

.odnhn-swiper-button:hover::before,
.odnhn-swiper-button:active::before {
	color: var(--odnhn-white-100);
}

.odnhn-swiper-button:hover::after,
.odnhn-swiper-button:active::after {
	transform: scale(1);
}

.odnhn-swiper-button:hover.swiper-button-default-prev::before,
.odnhn-swiper-button:active.swiper-button-default-prev::before {
	transform: rotate(180deg);
}