* {
	font-family: 'Roboto', sans-serif;
	background-repeat: no-repeat;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

html,
body {
	color-scheme: light only;
	color: var(--color-base-black-100);
	background-color: #F7F7F7;
	font-size: calc((100vw - 320px) / (1920 - 320) * (16 - 14) + 14px);
	font-weight: normal;
	min-height: 100dvh;
	padding: 0;
	margin: 0;
	-webkit-font-smoothing: antialiased;
}

.--icon .nuxt-icon {
	display: flex;
}

.nuxt-icon svg {
	vertical-align: unset;
	width: unset;
	height: unset;
	margin-bottom: unset;
}

main {
	position: relative;
	flex: 1 0;
}

@media screen and (max-width: 1023px) {
	main {
		overflow-x: hidden;
	}
}

.js-no-scroll {
	padding-right: var(--scroll-width);
	overflow: hidden;
}

.js-no-scroll .ui-modal {
	padding-right: var(--scroll-width);
}

.--mob-hide {
	display: none;
}

.--mob-show {
	display: flex;
}

@media screen and (max-width: 1680px) {
	html,
	body {
		font-size: 14px;
	}
}

@media screen and (max-width: 1440px) {
	html,
	body {
		font-size: calc((100vw - 320px) / (1920 - 320) * (16 - 14) + 12px);
	}
}

@media screen and (max-width: 1024px) {
	html,
	body {
		font-size: 13px;
	}
}

@media screen and (max-width: 1023px) {
	html,
	body {
		font-size: 1.5vw;
	}

	.--mob-hide {
		display: flex;
	}

	.--mob-show {
		display: none;
	}

	.js-no-scroll {
		padding-right: 0;
	}

	.js-no-scroll .ui-modal {
		padding-right: 0;
	}
}

@media screen and (max-width: 768px) {
	html,
	body {
		font-size: 1.8vw;
	}
}

@media screen and (max-width: 640px) {
	html,
	body {
		font-size: 2vw;
	}

	.js-no-scroll {
		padding-right: 0;
	}
}

@media screen and (max-width: 500px) {
	html,
	body {
		font-size: 3vw;
	}
}

@media screen and (max-width: 468px) {
	html,
	body {
		font-size: 4vw;
	}
}

/* Слайдеры Swiper: когда все слайды помещаются (watchOverflow → isLocked),
   Swiper вешает swiper-button-lock на стрелки — прячем их полностью. */
.swiper-button-lock {
	display: none !important;
}

/* Контент из визуального редактора Bitrix. */
.dental-cms-content p,
.dental-cms-content ul,
.dental-cms-content ol,
.dental-cms-content blockquote,
.dental-cms-content table {
	margin: 0 0 1em;
}

.dental-cms-content p:last-child,
.dental-cms-content ul:last-child,
.dental-cms-content ol:last-child,
.dental-cms-content blockquote:last-child,
.dental-cms-content table:last-child {
	margin-bottom: 0;
}

.dental-cms-content ul,
.dental-cms-content ol {
	padding-left: 1.5em;
}

.dental-cms-content strong,
.dental-cms-content b {
	font-weight: 700;
}

.dental-cms-content em,
.dental-cms-content i {
	font-style: italic;
}

.dental-cms-content u {
	text-decoration: underline;
}

.dental-cms-content s,
.dental-cms-content strike {
	text-decoration: line-through;
}

.dental-cms-content a {
	color: var(--color-primary-300);
	text-decoration: underline;
}

.dental-cms-content blockquote {
	padding-left: 1em;
	border-left: 0.1875rem solid var(--color-primary-300);
}

.dental-cms-content table {
	width: 100%;
	border-collapse: collapse;
}

.dental-cms-content th,
.dental-cms-content td {
	padding: 0.5em;
	border: 1px solid currentColor;
	text-align: left;
}
