html {
	scroll-behavior: smooth;
}

/* Базовая геометрия одинакова для обоих вариантов навигации. */
.srga-one-page-nav,
.srga-one-page-nav * {
	box-sizing: border-box;
}

.srga-one-page-nav__list {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.srga-one-page-nav__link {
	text-decoration: none;
	transition: color 180ms ease, background-color 180ms ease;
}

.srga-one-page-nav__label {
	border-style: solid;
	border-width: 0;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

/* В режиме dots весь блок закреплён справа по центру окна. */
.srga-one-page-nav--dots {
	position: fixed;
	top: 50%;
	right: 20px;
	z-index: 999;
	transform: translateY(-50%);
}

.srga-one-page-nav--dots .srga-one-page-nav__list {
	flex-direction: column;
	align-items: flex-end;
}

.srga-one-page-nav--dots .srga-one-page-nav__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 10px;
	height: 10px;
}

.srga-one-page-nav--dots .srga-one-page-nav__dot {
	display: block;
	width: 100%;
	height: 100%;
	border-style: solid;
	border-width: 0;
	border-radius: 50px;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.srga-one-page-nav--dots .srga-one-page-nav__label {
	position: absolute;
	top: 50%;
	right: calc(100% + 8px);
	width: max-content;
	max-width: min(260px, calc(100vw - 80px));
	padding: 5px 9px;
	border-radius: 3px;
	opacity: 0;
	pointer-events: none;
	transform: translate(6px, -50%);
	transition: opacity 180ms ease, transform 180ms ease;
}

.srga-one-page-nav--dots .srga-one-page-nav__link:hover .srga-one-page-nav__label,
.srga-one-page-nav--dots .srga-one-page-nav__link:focus-visible .srga-one-page-nav__label,
.srga-one-page-nav--dots .srga-one-page-nav__link.is-active .srga-one-page-nav__label {
	opacity: 1;
	transform: translate(0, -50%);
}

.srga-one-page-nav--menu .srga-one-page-nav__list {
	flex-flow: row wrap;
	align-items: center;
}

.srga-one-page-nav--menu .srga-one-page-nav__link {
	display: block;
}

.srga-one-page-nav--menu .srga-one-page-nav__label {
	display: block;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.srga-one-page-nav__link,
	.srga-one-page-nav__dot,
	.srga-one-page-nav__label {
		transition-duration: 0.01ms !important;
	}
}
