/* СанПроВи — мобильная версия (до 767px).
   Подключается после sp-modern.css. Крупные скругления, мягкие тени, фото на первом экране,
   горизонтальные ленты вместо длинных столбцов и постоянная панель записи внизу. */

@media (max-width: 767px) {
	:root {
		--mb-radius: 16px;
		--mb-radius-sm: 12px;
		--mb-shadow: 0 1px 2px rgba(21, 33, 43, 0.04), 0 8px 24px rgba(21, 33, 43, 0.07);
		--mb-night: #10212E;
		--mb-gutter: 12px;
	}

	body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); -webkit-tap-highlight-color: transparent; }

	/* ---------- Типографика и общие элементы ---------- */
	.sp-home h1, .sp-subpage h1 { font-size: 31px !important; line-height: 1.1 !important; }
	.sp-home h2, .sp-subpage h2 { font-size: 26px !important; line-height: 1.15 !important; }
	.sp-home-section { padding: 40px 0 !important; }
	.sp-home-section__head { margin-bottom: 18px !important; }
	.sp-home-section__head p { font-size: 15px; line-height: 1.5; color: var(--sp-muted); margin-top: 8px; }

	.sp-home__eyebrow {
		display: inline-flex !important;
		width: fit-content !important;
		max-width: 100%;
		align-items: center;
		padding: 5px 10px;
		margin-bottom: 10px !important;
		border-radius: 999px;
		background: rgba(47, 111, 148, 0.08);
		font-size: 11px !important;
		letter-spacing: 0.08em !important;
	}

	body .sp-home__button {
		min-height: 52px;
		border-radius: var(--mb-radius-sm) !important;
		font-size: 15px;
		font-weight: 600;
	}
	.sp-home__actions { display: grid !important; gap: 10px !important; }
	.sp-home__actions .sp-home__button { width: 100%; }

	/* ---------- Шапка ---------- */
	/* Без backdrop-filter: иначе шапка становится контейнером для fixed-меню и оно обрезается */
	.sp-header {
		position: sticky !important;
		top: 0 !important;
		background: #fff !important;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
		box-shadow: none !important;
		border-bottom: 1px solid rgba(21, 33, 43, 0.08) !important;
	}
	.sp-topline { height: 64px; min-height: 64px !important; padding-top: 0 !important; padding-bottom: 0 !important; align-items: center !important; }
	.sp-navline { display: none !important; }

	/* Меню-бургер: отдельный слой на весь экран под шапкой со своей прокруткой */
	.sp-mobile-menu:not([hidden]) {
		position: fixed !important;
		top: 65px; left: 0; right: 0; bottom: 0;
		z-index: 1099;
		display: block !important;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		background: #fff !important;
		border-top: 0 !important;
		animation: sp-menu-in 0.18s ease-out;
	}
	@keyframes sp-menu-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
	.sp-mobile-menu__inner { padding: 16px 16px calc(28px + env(safe-area-inset-bottom)) !important; }
	body .sp-mobile-menu__book { width: 100%; min-height: 52px; border-radius: 12px !important; justify-content: center; }
	.sp-header .sp-shell { padding-top: 0 !important; padding-bottom: 0 !important; }
	.sp-nav--mobile ul { display: block !important; margin: 10px 0 !important; padding: 0 !important; list-style: none; background: none !important; border: 0 !important; box-shadow: none !important; }
	.sp-nav--mobile ul > li { margin: 0 !important; border-bottom: 1px solid var(--sp-line); }
	body .sp-mobile-menu .sp-nav--mobile ul > li > a, body .sp-mobile-menu .sp-nav--mobile ul > li > a[href*="/programs/"] {
		background-image: none !important;
		display: flex !important;
		align-items: center;
		min-height: 52px;
		padding: 0 4px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: none !important;
		font-size: 17px !important;
		font-weight: 600 !important;
		color: var(--sp-ink) !important;
	}
	.sp-nav--mobile ul > li.is-current > a, .sp-nav--mobile ul > li > a[aria-current="page"] { color: var(--m-brand) !important; }
	.sp-nav--mobile ul > li > a::after {
		content: ""; margin-left: auto; width: 8px; height: 8px;
		border-top: 2px solid #9AA7B0; border-right: 2px solid #9AA7B0; transform: rotate(45deg);
	}
	.sp-mobile-actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
	.sp-mobile-actions .sp-pill { justify-content: center; min-height: 48px; border-radius: 12px !important; }
	.sp-mobile-menu__meta { margin-top: 14px !important; font-size: 13px; color: var(--sp-muted); }
	.sp-logo__image { height: 42px !important; width: auto !important; border-radius: 8px; }
	body .sp-contact__phone {
		width: 44px; height: 44px;
		padding: 0 !important;
		border-radius: 50% !important;
		border: 1px solid var(--sp-line) !important;
		font-size: 0 !important;
		color: transparent !important;
		background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232F6F94' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1l-2.3 2.2Z'/%3E%3C/svg%3E") center / 20px no-repeat !important;
		display: inline-flex !important;
	}
	.sp-contact { margin-left: auto; display: flex !important; align-items: center; }
	.sp-contact__hours, .sp-contact__address { display: none !important; }
	.sp-burger { border-radius: 50% !important; width: 44px !important; height: 44px !important; border: 1px solid var(--sp-line) !important; box-shadow: none !important; background: #fff !important; }

	/* ---------- Первый экран: фото на весь экран ---------- */
	body .sp-home-hero--light.sp-home-hero--bg-photo {
		display: flex;
		align-items: flex-end;
		min-height: calc(100svh - 64px);
		padding: 0 0 52px !important;
		background: var(--mb-night) !important;
		border-bottom: 0 !important;
	}
	body .sp-home-hero--light.sp-home-hero--bg-photo::before {
		display: block !important;
		inset: 0 !important;
		height: auto !important;
		background-image: var(--sp-hero-photo) !important;
		background-size: cover !important;
		background-position: 64% center !important;
		filter: none !important;
		transform: none !important;
		opacity: 1 !important;
	}
	body .sp-home-hero--light.sp-home-hero--bg-photo::after {
		display: block !important;
		inset: 0 !important;
		height: auto !important;
		background: linear-gradient(180deg, rgba(16, 33, 46, 0.18) 0%, rgba(16, 33, 46, 0.5) 30%, rgba(16, 33, 46, 0.88) 58%, rgba(16, 33, 46, 0.96) 100%) !important;
	}
	body .sp-home-hero--light.sp-home-hero--bg-photo .sp-home-hero__inner { width: calc(100% - var(--mb-gutter) * 2) !important; margin: 0 auto !important; }
	body .sp-home-hero--light.sp-home-hero--bg-photo .sp-home-hero__copy {
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}
	body .sp-home-hero--bg-photo h1 { color: #fff !important; margin: 0 0 12px !important; }
	body .sp-home-hero--bg-photo .sp-home-hero__lead { color: rgba(255, 255, 255, 0.86) !important; font-size: 16px !important; line-height: 1.5 !important; margin: 0 !important; }
	body .sp-home-hero--bg-photo .sp-home-hero__text { display: none !important; }
	.sp-home-hero__chips {
		display: flex !important;
		flex-wrap: wrap;
		gap: 6px;
		margin: 0 0 16px;
		padding: 0;
		list-style: none;
	}
	.sp-home-hero__chips li {
		padding: 6px 11px;
		border-radius: 999px;
		border: 1px solid rgba(255, 255, 255, 0.22);
		background: rgba(255, 255, 255, 0.12);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
		color: #fff;
		font-size: 12px;
		font-weight: 500;
		line-height: 1.2;
	}
	body .sp-home-hero--bg-photo .sp-home__actions { margin-top: 22px !important; }
	body .sp-home-hero--bg-photo .sp-home__button:not(.sp-home__button--light) {
		background-color: #fff !important;
		border-color: #fff !important;
		color: var(--sp-ink) !important;
	}
	body .sp-home-hero--bg-photo .sp-home__button--light {
		background: rgba(255, 255, 255, 0.08) !important;
		border: 1px solid rgba(255, 255, 255, 0.45) !important;
		color: #fff !important;
	}
	body .sp-home-hero--bg-photo .sp-home__actions .sp-home__button:nth-child(3) {
		min-height: 44px;
		border: 0 !important;
		background: none !important;
		padding: 6px 0 0;
		font-weight: 500;
		text-decoration: underline;
		text-underline-offset: 4px;
		text-decoration-color: rgba(255, 255, 255, 0.5);
	}

	/* ---------- Цифры: «лист», заходящий на фото ---------- */
	.sp-home-trust--cards {
		position: relative;
		z-index: 3;
		margin-top: -22px;
		padding: 22px 0 12px !important;
		background: #fff !important;
		border-radius: 22px 22px 0 0;
		border-bottom: 1px solid var(--sp-line) !important;
	}
	body .sp-home-trust--cards .sp-home-trust__grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 0 !important; }
	body .sp-trust-card, body .sp-trust-card:first-child, body .sp-trust-card:nth-child(even) {
		grid-column: auto !important;
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 4px;
		min-height: 0 !important;
		padding: 12px 6px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		text-align: center !important;
	}
	body .sp-trust-card:nth-child(n+4) { border-top: 1px solid var(--sp-line) !important; }
	body .sp-trust-card:not(:nth-child(3n)) { border-right: 1px solid var(--sp-line) !important; }
	body .sp-trust-card strong { font-size: 24px !important; line-height: 1.1 !important; color: var(--m-brand) !important; white-space: nowrap; }
	body .sp-trust-card:nth-child(6) strong { font-size: 15px !important; padding-top: 5px; }
	body .sp-trust-card span { font-size: 12px !important; line-height: 1.3 !important; color: var(--sp-muted) !important; }

	/* ---------- Окситерра на главной: темная карточка-акция ---------- */
	.sp-home-oxy { padding: 28px 0 8px !important; background: #fff !important; }
	body .sp-home-oxy__card {
		display: flex !important;
		flex-direction: column;
		padding: 0 !important;
		overflow: hidden;
		border: 0 !important;
		border-radius: 20px !important;
		background: var(--m-brand-dark) !important;
		box-shadow: 0 14px 34px rgba(29, 76, 105, 0.28) !important;
	}
	body .sp-home-oxy__media { order: -1; margin: 0 !important; max-height: 230px; overflow: hidden; border-radius: 0 !important; }
	body .sp-home-oxy__media img { width: 100%; height: 230px !important; object-fit: cover; object-position: center 30%; border-radius: 0 !important; display: block; }
	body .sp-home-oxy__copy { padding: 20px 18px 20px !important; }
	body .sp-home-oxy__copy h2 { color: #fff !important; margin: 14px 0 8px !important; }
	body .sp-home-oxy__copy > p:not(.sp-home-oxy__promo) { color: rgba(255, 255, 255, 0.8) !important; font-size: 15px; line-height: 1.5; }
	body .sp-home-oxy__promo {
		display: inline-flex !important;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px 8px;
		margin: 0 !important;
		padding: 8px 12px 8px 8px !important;
		border: 0 !important;
		border-radius: 14px !important;
		background: rgba(255, 255, 255, 0.1) !important;
		color: #fff !important;
		font-size: 13px;
	}
	body .sp-home-oxy__promo strong { color: #FFC2A8 !important; font-size: 15px; white-space: nowrap; }
	body .sp-home-oxy__promo s { color: rgba(255, 255, 255, 0.55) !important; white-space: nowrap; }
	body .sp-home-oxy__promo .sp-oxy-badge { border-radius: 999px !important; padding: 4px 9px; }
	body .sp-home-oxy .sp-home__button:not(.sp-home__button--light) { background-color: #fff !important; border-color: #fff !important; color: var(--m-brand-dark) !important; }
	body .sp-home-oxy .sp-home__button--light { background: transparent !important; border-color: rgba(255, 255, 255, 0.5) !important; color: #fff !important; }

	/* ---------- С чем обращаются: плитки ---------- */
	body .sp-symptoms-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
	body .sp-symptom-card {
		display: flex !important;
		flex-direction: column;
		justify-content: space-between;
		gap: 10px;
		min-height: 96px !important;
		padding: 14px !important;
		border: 0 !important;
		border-radius: 14px !important;
		background: var(--m-sand) !important;
		box-shadow: none !important;
	}
	body .sp-symptom-card:nth-child(4n+2), body .sp-symptom-card:nth-child(4n+3) { background: #EAF1F5 !important; }
	body .sp-symptom-card h3 { font-size: 15px !important; line-height: 1.3 !important; margin: 0 !important; color: var(--sp-ink); }
	body .sp-symptom-card span { font-size: 12.5px !important; color: var(--m-brand) !important; }
	body .sp-symptom-card:active { transform: scale(0.98); }

	/* ---------- Направления: список ---------- */
	body .sp-home-directions {
		display: block !important;
		border: 0 !important;
		border-radius: var(--mb-radius) !important;
		background: #fff;
		box-shadow: var(--mb-shadow);
		overflow: hidden;
	}
	body .sp-home-directions .sp-home-card {
		position: relative;
		margin: 0 !important;
		min-height: 0 !important;
		padding: 15px 46px 15px 18px !important;
		border: 0 !important;
		border-top: 1px solid var(--sp-line) !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
	body .sp-home-directions .sp-home-card:first-child { border-top: 0 !important; }
	body .sp-home-directions .sp-home-card h3 { font-size: 16.5px !important; margin: 0 0 3px !important; }
	body .sp-home-directions .sp-home-card p {
		margin: 0 !important;
		font-size: 13.5px; line-height: 1.45; color: var(--sp-muted);
		display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	}
	body .sp-home-directions .sp-home-card a { position: absolute; inset: 0; font-size: 0 !important; color: transparent !important; z-index: 1; }
	body .sp-home-directions .sp-home-card::after {
		content: "";
		position: absolute; right: 18px; top: 50%;
		width: 30px; height: 30px; margin-top: -15px;
		border-radius: 50%;
		background: #EAF1F5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232F6F94' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / 15px no-repeat;
		right: 14px;
	}

	/* ---------- Маршрут: линия шагов ---------- */
	body .sp-home-process { display: block !important; }
	body .sp-home-process__media { margin: 0 0 22px !important; }
	body .sp-home-process__media img { width: 100%; height: 200px !important; object-fit: cover; border-radius: var(--mb-radius) !important; }
	body .sp-home-steps { position: relative; display: block !important; margin-top: 18px; }
	body .sp-home-steps::before {
		content: "";
		position: absolute; left: 17px; top: 18px; bottom: 30px;
		width: 2px; background: linear-gradient(var(--m-brand), rgba(47, 111, 148, 0.15));
	}
	body .sp-home-step {
		position: relative;
		display: grid !important;
		grid-template-columns: 36px 1fr;
		gap: 14px !important;
		margin: 0 !important;
		padding: 0 0 20px !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
	body .sp-home-step > span {
		display: flex !important; align-items: center; justify-content: center;
		width: 36px; height: 36px;
		border-radius: 50%;
		background: var(--m-brand) !important;
		color: #fff !important;
		font-size: 13px; font-weight: 700;
		box-shadow: 0 0 0 5px #fff;
		position: relative; z-index: 1;
		padding: 0 !important;
	}
	body .sp-home-step h3 { font-size: 16.5px !important; margin: 6px 0 4px !important; }
	body .sp-home-step p { font-size: 14px; line-height: 1.5; margin: 0; color: var(--sp-muted); }

	/* ---------- Главный врач ---------- */
	body .sp-home-expert { background: var(--m-sand) !important; }
	body .sp-home-expert__grid { display: block !important; }
	body .sp-home-expert__photo { margin: 0 0 22px !important; position: relative; }
	body .sp-home-expert__photo img {
		width: 100%;
		aspect-ratio: 4 / 4.4;
		height: auto !important;
		object-fit: cover;
		object-position: center 18%;
		border-radius: 20px !important;
		box-shadow: var(--mb-shadow);
	}
	body .sp-home-expert__content > p { font-size: 15px; line-height: 1.55; }
	body .sp-home-expert__list {
		margin: 16px 0 20px !important;
		padding: 16px !important;
		list-style: none !important;
		border-radius: var(--mb-radius);
		background: #fff;
	}
	body .sp-home-expert__list li {
		position: relative;
		padding: 7px 0 7px 30px !important;
		font-size: 14.5px; line-height: 1.4;
		border-top: 1px solid var(--sp-line);
	}
	body .sp-home-expert__list li:first-child { border-top: 0; }
	body .sp-home-expert__list li::before {
		content: "" !important;
		position: absolute; left: 0; top: 8px;
		width: 20px; height: 20px; border-radius: 50%;
		background: var(--m-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 12px no-repeat;
		border: 0 !important;
	}
	body .sp-home-expert__actions { display: grid !important; gap: 10px; }
	body .sp-home-expert__actions .sp-home__button { width: 100%; }

	/* ---------- Команда: лента с именем поверх фото ---------- */
	body .sp-home-doctors {
		display: flex !important;
		grid-template-columns: none !important;
		gap: 12px !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		margin: 0 calc(var(--mb-gutter) * -1) !important;
		padding: 4px var(--mb-gutter) 12px !important;
		scroll-padding: 0 var(--mb-gutter);
		scrollbar-width: none;
	}
	body .sp-home-doctors::-webkit-scrollbar { display: none; }
	body .sp-home-doctors .sp-home-card {
		position: relative;
		flex: 0 0 70%;
		scroll-snap-align: start;
		padding: 0 !important;
		overflow: hidden;
		border: 0 !important;
		border-radius: 18px !important;
		box-shadow: var(--mb-shadow) !important;
		background: var(--mb-night) !important;
	}
	body .sp-home-doctors .sp-home-card > a { display: block; }
	body .sp-home-doctors .sp-home-card img {
		display: block;
		width: 100%;
		aspect-ratio: 3 / 4;
		height: auto !important;
		object-fit: cover;
		object-position: center 18%;
		border-radius: 0 !important;
	}
	body .sp-home-doctors .sp-home-card > div {
		position: absolute; left: 0; right: 0; bottom: 0;
		padding: 60px 14px 14px !important;
		background: linear-gradient(180deg, rgba(16, 33, 46, 0) 0%, rgba(16, 33, 46, 0.78) 45%, rgba(16, 33, 46, 0.94) 100%);
		pointer-events: none;
	}
	body .sp-home-doctors .sp-home-card h3 { font-size: 16px !important; line-height: 1.25 !important; margin: 0 0 4px !important; }
	body .sp-home-doctors .sp-home-card h3 a { color: #fff !important; pointer-events: auto; }
	body .sp-home-doctors .sp-home-card p {
		margin: 0 0 8px !important; font-size: 12.5px; line-height: 1.35; color: rgba(255, 255, 255, 0.8) !important;
		display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	}
	body .sp-home-doctors .sp-home-card span {
		display: inline-block;
		padding: 4px 9px;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.16);
		color: #fff !important;
		font-size: 12px !important;
		font-weight: 600;
	}
	.sp-home-doctors__more { margin-top: 14px !important; }
	.sp-home-doctors__more .sp-home__button { width: 100%; }

	/* ---------- Почему СанПроВи ---------- */
	body .sp-home-why__grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; counter-reset: why; }
	body .sp-home-why__item {
		counter-increment: why;
		padding: 16px 14px !important;
		border: 0 !important;
		border-radius: 14px !important;
		background: var(--m-sand) !important;
		box-shadow: none !important;
	}
	body .sp-home-why__item::before {
		content: "0" counter(why);
		display: block;
		margin-bottom: 10px;
		font-family: var(--m-serif);
		font-size: 22px;
		font-weight: 600;
		color: var(--m-brand);
	}
	body .sp-home-why__item h3 { font-size: 15px !important; line-height: 1.3 !important; margin: 0 0 6px !important; }
	body .sp-home-why__item p { font-size: 13px; line-height: 1.45; margin: 0; color: var(--sp-muted); }

	/* ---------- Отзывы ---------- */
	body .sp-home-reviews__panel {
		display: grid !important;
		gap: 16px;
		padding: 22px 18px !important;
		border: 0 !important;
		border-radius: 20px !important;
		background: linear-gradient(135deg, #EAF1F5 0%, #F4F1EA 100%) !important;
	}
	body .sp-home-reviews__panel strong { display: block; font-family: var(--m-serif); font-size: 30px; font-weight: 600; color: var(--m-brand-dark); margin-bottom: 6px; }
	body .sp-home-reviews__panel p { font-size: 14.5px; line-height: 1.5; margin: 0; }
	body .sp-home-reviews__panel .sp-home__button { width: 100%; background: #fff !important; }

	/* ---------- Вопросы ---------- */
	body .sp-home-faq { display: block !important; }
	body .sp-home-faq__list { display: grid !important; gap: 8px; }
	body .sp-home-faq__item {
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 14px !important;
		background: #fff !important;
		box-shadow: var(--mb-shadow) !important;
		overflow: hidden;
	}
	body .sp-home-faq__item summary {
		position: relative;
		list-style: none;
		padding: 16px 52px 16px 16px !important;
		font-size: 15px !important;
		line-height: 1.35;
		font-weight: 600;
		cursor: pointer;
	}
	body .sp-home-faq__item summary::-webkit-details-marker { display: none; }
	body .sp-home-faq__item summary::after {
		content: "" !important;
		position: absolute; right: 14px; top: 50%;
		width: 28px; height: 28px; margin-top: -14px;
		border-radius: 50%;
		background: #EAF1F5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232F6F94' stroke-width='2.4' stroke-linecap='round' d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 14px no-repeat;
		transition: transform 0.2s;
		border: 0 !important;
	}
	body .sp-home-faq__item[open] summary::after { transform: rotate(45deg); }
	body .sp-home-faq__item p { padding: 0 16px 16px !important; margin: 0 !important; font-size: 14.5px; line-height: 1.55; color: var(--sp-muted); }

	/* ---------- Запись: карточка ---------- */
	body .sp-home-section.sp-home-appointment {
		margin: 8px 12px 0;
		padding: 30px 6px !important;
		border-radius: 22px;
		background: radial-gradient(120% 90% at 100% 0%, #2F6F94 0%, var(--m-brand-dark) 55%, var(--mb-night) 100%) !important;
	}
	body .sp-home-appointment__grid { display: block !important; }
	body .sp-home-appointment h2 { margin-bottom: 10px !important; }
	body .sp-home-appointment p { font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, 0.82) !important; }
	body .sp-home-appointment .sp-home__actions { margin-top: 20px !important; }

	/* ---------- Контакты ---------- */
	.sp-home-contacts { padding: 36px 0 !important; background: #fff !important; border-top: 0 !important; }
	body .sp-home-contacts__grid { display: block !important; }
	body .sp-home-contacts__panel {
		display: grid !important;
		gap: 8px;
		margin-top: 18px;
		padding: 16px !important;
		border: 0 !important;
		border-radius: var(--mb-radius) !important;
		background: var(--m-sand) !important;
	}
	body .sp-home-contacts__panel a:first-child { font-family: var(--m-serif); font-size: 24px; font-weight: 600; color: var(--m-brand-dark); }
	body .sp-home-contacts__panel span { font-size: 12.5px; color: var(--sp-muted); }

	/* ---------- Внутренние страницы ---------- */
	.sp-subhero { padding: 28px 0 30px !important; background: linear-gradient(180deg, #EEF3F6 0%, var(--m-sand) 100%) !important; border-bottom: 0 !important; }
	.sp-subhero__lead { font-size: 16px; line-height: 1.55; }
	.sp-subhero__stats { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 8px !important; margin-top: 22px; }
	.sp-subhero__stat {
		margin: 0 !important;
		padding: 12px 10px !important;
		border: 0 !important;
		border-radius: var(--mb-radius-sm) !important;
		background: #fff !important;
	}
	.sp-subhero__stat strong { font-size: 24px !important; color: var(--m-brand); }
	.sp-subhero__stat span { display: block; font-size: 12px !important; line-height: 1.3; color: var(--sp-muted); }

	/* Программы: круг с цифрой в шапке → плашка */
	body .sp-programs-hero__visual {
		width: auto !important; height: auto !important;
		margin-top: 22px !important;
		padding: 14px 16px !important;
		display: flex !important; align-items: center; gap: 12px; text-align: left !important;
		border-radius: var(--mb-radius-sm) !important;
		background: #fff !important; box-shadow: none !important; border: 0 !important;
	}
	body .sp-programs-hero__visual > * { margin: 0 !important; }
	body .sp-programs-hero__visual strong, body .sp-programs-hero__visual b { font-size: 30px !important; color: var(--m-brand); line-height: 1; }

	/* Цены: цена и кнопка в одну строку */
	body .sp-price-card { padding: 16px !important; }
	body .sp-price-card h3 { font-size: 16px !important; line-height: 1.3 !important; }
	body .sp-price-card .sp-price-card__foot { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; gap: 12px; margin-top: 12px !important; text-align: left !important; }
	body .sp-price-card .sp-price-card__cost { text-align: left !important; min-width: 0; }
	body .sp-price-card__cost strong { font-size: 20px !important; }
	body .sp-price-card__doctor { display: block; font-size: 12px; }
	body .sp-price-card__foot .sp-home__button { width: auto !important; flex: 0 0 auto; min-height: 44px; padding: 0 18px; }

	body .sp-home-card, body .sp-price-card, body .sp-price-group, body .sp-price-note-card, body .sp-trust-card--inner {
		border-radius: var(--mb-radius) !important;
	}

	/* Каталог врачей: фото слева, данные справа */
	body .sp-doctor-grid { gap: 12px !important; }
	body .sp-doctor-card {
		display: grid !important;
		grid-template-columns: 108px 1fr;
		column-gap: 14px;
		align-items: start;
		padding: 14px !important;
		border: 0 !important;
		border-radius: var(--mb-radius) !important;
		box-shadow: var(--mb-shadow) !important;
	}
	body .sp-doctor-card .sp-doctor-card__body { display: contents !important; }
	body .sp-doctor-card__media {
		grid-column: 1; grid-row: 1 / span 4;
		aspect-ratio: 4 / 5; height: auto !important; min-height: 0 !important;
		margin: 0 !important; overflow: hidden;
		border-radius: 12px !important;
	}
	body .sp-doctor-card__media img { width: 100%; height: 100% !important; object-fit: cover; object-position: center 20%; border-radius: 0 !important; }
	body .sp-doctor-card__price, body .sp-doctor-card__blurb { display: none !important; }
	body .sp-doctor-card h3 { grid-column: 2; display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; min-height: 0 !important; font-size: 16px !important; line-height: 1.3; margin: 0 0 4px !important; }
	body .sp-doctor-card__role { grid-column: 2; font-size: 13px !important; line-height: 1.35; margin: 0 0 6px !important; }
	body .sp-doctor-card__meta { grid-column: 2; font-size: 12px; margin: 0 !important; }
	body .sp-doctor-card__prices-slot { grid-column: 1 / -1; margin-top: 12px; }
	body .sp-doctor-card__prices { margin: 0 !important; font-size: 14px; }
	body .sp-doctor-card__tags { grid-column: 1 / -1; display: flex !important; flex-wrap: wrap; gap: 6px; margin: 10px 0 0 !important; }
	body .sp-doctor-card__tags span { margin: 0 !important; }
	body .sp-doctor-card__actions { grid-column: 1 / -1; display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px !important; }
	body .sp-doctor-card__actions .sp-home__button { width: 100%; min-height: 46px; padding: 0 8px; font-size: 14px; }

	body .sp-feature-doctor__media img { width: 100%; aspect-ratio: 4 / 3.6; height: auto !important; object-fit: cover; object-position: center 18%; border-radius: 20px !important; }

	/* Страница врача */
	body .sp-doctor-hero__media { width: 100% !important; max-width: none !important; aspect-ratio: auto !important; height: auto !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
	body .sp-doctor-hero__media img { width: 100% !important; max-width: none !important; aspect-ratio: 4 / 4.3; height: auto !important; object-fit: cover; object-position: center 20%; border-radius: 16px !important; }
	body .sp-doctor-hero__grid { border: 0 !important; border-radius: 20px !important; background: #fff !important; box-shadow: var(--mb-shadow) !important; }
	body .sp-doctor-hero__grid::before, body .sp-doctor-hero__grid::after { display: none !important; }

	/* Подвал */
	.footer-custom { padding-bottom: 12px !important; }
	.footer-custom__nav { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 16px; }
	.footer-custom__nav strong { grid-column: 1 / -1; }
	.footer-custom__nav a { padding: 6px 0; font-size: 14px; }

	/* ---------- Навигация по странице и инструменты каталога: липнут под шапкой ---------- */
	.sp-pagenav { position: sticky; top: var(--sp-sticky-top, 65px); z-index: 40; box-shadow: 0 6px 16px rgba(21, 33, 43, 0.04); }
	.sp-pagenav__track { padding: 8px 12px !important; }
	.sp-pagenav a { min-height: 36px; font-size: 13.5px; }
	[id^="dir-"], [id^="doctor-"], #prices-list, #doctors-list { scroll-margin-top: 128px; }

	.sp-catalog__tools {
		position: sticky; top: var(--sp-sticky-top, 65px); z-index: 30;
		margin: 0 -12px 14px !important; padding: 10px 12px;
		background: rgba(251, 250, 247, 0.97);
		border-bottom: 1px solid var(--sp-line);
	}
	.sp-catalog__tools .sp-chip-filter, .sp-search-hints {
		display: flex !important; flex-wrap: nowrap !important; gap: 6px !important;
		overflow-x: auto; margin: 0 -12px !important; padding: 0 12px !important; scrollbar-width: none;
	}
	.sp-catalog__tools .sp-chip-filter::-webkit-scrollbar, .sp-search-hints::-webkit-scrollbar { display: none; }
	.sp-catalog__tools .sp-chip-filter__button, .sp-search-hints button { flex: 0 0 auto; min-height: 38px !important; white-space: nowrap; font-size: 13.5px !important; }
	.sp-catalog { padding-top: 16px !important; }
	.sp-catalog .sp-home-section__head { margin-bottom: 12px !important; }

	/* ---------- Факты на первом экране ---------- */
	.sp-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
	.sp-facts li { min-width: 0; padding: 10px; border: 0; }
	.sp-facts span { font-size: 12px; }
	.sp-facts strong { font-size: 14px; line-height: 1.25; }

	/* ---------- Подбор врача по жалобе: лента ---------- */
	.sp-finder { padding: 22px 0 4px; }
	.sp-finder__title { font-size: 21px !important; }
	.sp-finder__lead { font-size: 14px; }
	.sp-finder__track {
		display: flex !important; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory;
		margin: 0 -12px; padding: 0 12px 6px; scroll-padding: 0 12px; scrollbar-width: none;
	}
	.sp-finder__track::-webkit-scrollbar { display: none; }
	.sp-finder__card { flex: 0 0 62%; scroll-snap-align: start; border: 0; box-shadow: var(--mb-shadow); }

	/* ---------- Шаги и чек-листы ---------- */
	.sp-flow { grid-template-columns: 1fr; gap: 8px; }
	.sp-flow > li { padding: 14px 14px 14px 56px; border: 0; box-shadow: var(--mb-shadow); }
	.sp-flow > li::before { left: 14px; top: 14px; }
	.sp-flow h3 { font-size: 16px; margin-top: 3px; }
	.sp-flow p { font-size: 14px; }
	.sp-flow--compact > li { box-shadow: none; padding: 6px 0 6px 40px; }
	.sp-flow--compact > li::before { top: 6px; left: 0; }
	.sp-dir-visit__grid { grid-template-columns: 1fr; gap: 8px; }
	.sp-dir-visit__card { padding: 16px; border: 0; box-shadow: var(--mb-shadow); }
	.sp-dir-visit__card--soft { box-shadow: none; }
	.sp-checklist li { font-size: 14.5px; }
	.sp-dir-about { font-size: 14.5px; }

	/* ---------- Финальный призыв ---------- */
	.sp-endcta { padding-top: 8px !important; }
	.sp-endcta__card { display: grid; padding: 24px 18px; border-radius: 20px; }
	.sp-endcta__card h2 { font-size: 24px !important; }
	.sp-endcta__actions { display: grid; }
	.sp-endcta__actions .sp-home__button { width: 100%; }

	/* ---------- Страница направления ---------- */
	.sp-subhero--direction { padding-bottom: 22px !important; }
	body .sp-direction-points { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
	body .sp-direction-point {
		position: relative; padding: 14px 14px 14px 48px !important; border: 0 !important;
		border-radius: 14px !important; background: #fff !important; box-shadow: var(--mb-shadow) !important; min-height: 0 !important;
	}
	body .sp-direction-point::before {
		content: ""; position: absolute; left: 14px; top: 15px; width: 22px; height: 22px; border-radius: 50%;
		background: #EAF1F5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232F6F94' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 12px no-repeat;
	}
	body .sp-direction-point::after { display: none !important; }
	body .sp-direction-point h3 { font-size: 16px !important; margin: 0 0 4px !important; font-family: var(--m-sans) !important; }
	body .sp-direction-point p { font-size: 14px !important; line-height: 1.45; margin: 0 !important; color: var(--sp-muted); }
	body .sp-direction-audience { margin-top: 14px !important; padding: 14px !important; border: 0 !important; border-radius: 14px !important; background: var(--m-sand) !important; }
	body .sp-direction-audience__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
	body .sp-direction-audience__tags span { margin: 0 !important; background: #fff !important; border: 0 !important; }
	body .sp-price-group--direction, body .sp-price-group { padding: 16px !important; border: 0 !important; box-shadow: var(--mb-shadow) !important; }
	body .sp-price-group__head h2 { font-size: 20px !important; }
	body .sp-direction-related-note { font-size: 14px; }

	/* ---------- Страница врача ---------- */
	body .sp-doctor-hero { padding: 12px 0 18px !important; }
	body .sp-doctor-hero__media img { aspect-ratio: 6 / 5 !important; }
	body .sp-doctor-hero__copy h1 { font-size: 28px !important; margin: 8px 0 6px !important; }
	body .sp-doctor-hero__lead { font-size: 15px; line-height: 1.5; }
	body .sp-doctor-hero__phone { font-size: 14px; margin-top: 12px !important; }
	body .sp-doctor-schedule__days { display: grid !important; gap: 8px !important; }
	body .sp-doctor-schedule__day { padding: 14px !important; border: 0 !important; border-radius: 14px !important; box-shadow: var(--mb-shadow) !important; }
	body .sp-doctor-schedule__slots { display: flex !important; flex-wrap: wrap; gap: 6px !important; }
	body .sp-doctor-schedule__slot { border-radius: 10px !important; font-weight: 600; }
	body .sp-doctor-schedule__address { padding: 16px !important; border: 0 !important; border-radius: 14px !important; background: var(--m-sand) !important; box-shadow: none !important; }
	body .sp-doctor-services { display: grid !important; gap: 8px !important; }
	body .sp-doctor-service { padding: 14px !important; border: 0 !important; border-radius: 14px !important; box-shadow: var(--mb-shadow) !important; }
	body .sp-doctor-service h3 { font-size: 15.5px !important; margin: 0 0 10px !important; }
	body .sp-doctor-service__foot { display: flex !important; align-items: center; justify-content: space-between; gap: 10px; flex-direction: row !important; }
	body .sp-doctor-service__foot strong { font-size: 19px; }
	body .sp-doctor-service__foot .sp-home__button { width: auto !important; min-height: 44px; padding: 0 18px; }
	body .sp-doctor-about { display: grid !important; gap: 12px !important; }
	body .sp-doctor-about__text { padding: 16px !important; border: 0 !important; border-radius: 14px !important; box-shadow: var(--mb-shadow) !important; font-size: 15px; line-height: 1.6; }
	body .sp-doctor-about__facts { margin: 0 !important; padding: 0 !important; display: grid !important; gap: 6px !important; }
	body .sp-doctor-about__facts li { padding: 12px 14px !important; border: 0 !important; border-radius: 12px !important; background: var(--m-sand) !important; display: flex; justify-content: space-between; gap: 10px; }
	body .sp-doctor-credentials { display: grid !important; gap: 8px !important; }
	body .sp-doctor-credentials__col { padding: 16px !important; border: 0 !important; border-radius: 14px !important; box-shadow: var(--mb-shadow) !important; }
	body .sp-doctor-cta__inner { display: grid !important; gap: 16px; padding: 24px 18px !important; border-radius: 20px !important; }
	body .sp-doctor-cta__actions { display: grid !important; gap: 8px; }
	body .sp-doctor-cta__actions .sp-home__button { width: 100%; }

	/* ---------- Каталог врачей: «ключевой специалист» ниже списка, компактно ---------- */
	body .sp-feature-doctor { padding: 28px 0 !important; }
	body .sp-feature-doctor__grid { display: grid !important; grid-template-columns: 110px 1fr; gap: 14px !important; align-items: start; }
	body .sp-feature-doctor__media img { aspect-ratio: 4 / 5 !important; border-radius: 12px !important; }
	body .sp-feature-doctor__copy h2 { font-size: 20px !important; }
	body .sp-feature-doctor__copy > p:not(.sp-home__eyebrow):not(.sp-feature-doctor__role) { display: none; }
	body .sp-feature-doctor__copy .sp-doctor-card__prices, body .sp-feature-doctor__chips { display: none !important; }
	body .sp-feature-doctor__copy .sp-home__button { width: 100%; margin-top: 8px; }

	/* ---------- Направления: плашка вместо круга, компактные карточки ---------- */
	body .sp-directions-hero__visual {
		width: auto !important; height: auto !important; margin-top: 18px !important; padding: 14px 16px !important;
		display: flex !important; align-items: center; gap: 12px; border-radius: 12px !important;
		background: #fff !important; box-shadow: none !important; border: 0 !important; text-align: left !important;
	}
	body .sp-directions-hero__visual span { font-family: var(--m-serif); font-size: 30px !important; color: var(--m-brand); line-height: 1; }
	body .sp-directions-hero__visual p { margin: 0 !important; font-size: 13px; color: var(--sp-muted); }
	body .sp-direction-catalog-card { padding: 16px !important; border: 0 !important; border-radius: 14px !important; box-shadow: var(--mb-shadow) !important; min-height: 0 !important; }
	body .sp-direction-catalog-card__number { display: none !important; }
	body .sp-direction-catalog-card h3 { font-size: 18px !important; margin: 0 0 6px !important; }
	body .sp-direction-catalog-card .sp-request-card__content > p { font-size: 14px; color: var(--sp-muted); margin: 0 0 10px; }
	body .sp-direction-catalog-card__symptoms { display: flex !important; flex-wrap: wrap; gap: 6px; }
	body .sp-direction-catalog-card__symptoms span { padding: 5px 10px !important; border-radius: 999px !important; background: #EAF1F5 !important; font-size: 12.5px !important; border: 0 !important; }
	body .sp-request-card__foot { display: flex !important; align-items: center; justify-content: space-between; margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid var(--sp-line) !important; }
	body .sp-request-card__price { margin: 0 !important; font-weight: 650; }
	body .sp-direction-catalog-card__link { font-weight: 600; color: var(--m-brand) !important; min-height: 44px; display: inline-flex !important; align-items: center; }

	/* ---------- Контакты ---------- */
	.sp-contact-actions { grid-template-columns: 1fr 1fr; }
	.sp-contact-action--primary { grid-column: 1 / -1; }
	.sp-contact-action { border: 0; box-shadow: var(--mb-shadow); }
	body .sp-map-block { display: grid !important; gap: 14px; padding: 0 12px !important; }
	body .sp-map-block__frame { border-radius: 16px !important; overflow: hidden; min-height: 280px; }
	body .sp-map-block__actions { display: grid !important; gap: 8px; }
	body .sp-map-block__button { min-height: 48px; display: flex !important; align-items: center; justify-content: center; border-radius: 12px !important; }

	/* ---------- «О нас»: сначала доверие (врач, клиническая база), потом история ---------- */
	main.sp-subpage--about { display: flex; flex-direction: column; }
	main.sp-subpage--about > section:nth-of-type(1) { order: 1; }
	main.sp-subpage--about > section:nth-of-type(6) { order: 2; }
	main.sp-subpage--about > section:nth-of-type(7) { order: 3; }
	main.sp-subpage--about > section:nth-of-type(5) { order: 4; }
	main.sp-subpage--about > section:nth-of-type(8) { order: 5; }
	main.sp-subpage--about > section:nth-of-type(3) { order: 6; }
	main.sp-subpage--about > section:nth-of-type(4) { order: 7; }
	main.sp-subpage--about > section:nth-of-type(2) { order: 8; }
	main.sp-subpage--about > section:nth-of-type(n+9) { order: 9; }
	.sp-subhero--about .sp-subhero__stats { display: none !important; }
	.sp-trustline { grid-template-columns: 1fr; gap: 6px; }
	.sp-trustline li { border: 0; }
	body .sp-about-card { padding: 18px 16px !important; border: 0 !important; border-radius: 16px !important; box-shadow: var(--mb-shadow) !important; }
	body .sp-about-card h2 { font-size: 22px !important; }
	body .sp-about-card p, body .sp-about-prose { font-size: 15px; line-height: 1.6; }
	body .sp-about-split { display: grid !important; gap: 10px !important; }
	body .sp-about-achievements { padding-left: 0 !important; list-style: none; display: grid; gap: 10px; }
	body .sp-about-achievements li { position: relative; padding-left: 28px; font-size: 14.5px; line-height: 1.45; }
	body .sp-about-achievements li::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: #EAF1F5; box-shadow: inset 0 0 0 5px var(--m-brand); }
	body .sp-about-name-table { display: grid !important; gap: 6px; }
	body .sp-about-name-table__row { display: grid !important; grid-template-columns: 96px 1fr; gap: 10px; padding: 12px 14px !important; border: 0 !important; border-radius: 12px !important; background: #fff !important; box-shadow: var(--mb-shadow); }

	/* ---------- Детям, программы, блог ---------- */
	body .sp-programs-grid { gap: 10px !important; }
	body .sp-program-card { border: 0 !important; border-radius: 18px !important; box-shadow: var(--mb-shadow) !important; }
	body .sp-programs-hero__visual + * { margin-top: 0; }
	/* Статья: выравнивание по ширине на узком экране даёт «реки» пробелов */
	body .sp-article-content, body .sp-article-content p, body .sp-article-content li { text-align: left !important; hyphens: auto; -webkit-hyphens: auto; }
	body .sp-article-content { font-size: 17px; line-height: 1.65; }
	body .sp-article-hero__media img { border-radius: 16px !important; }
	body .sp-article-card { border: 0 !important; border-radius: 16px !important; box-shadow: var(--mb-shadow) !important; overflow: hidden; }

	/* ---------- Окно записи ---------- */
	body .sp-modal__dialog { border-radius: 18px !important; padding: 20px 16px !important; }
	body .sp-booking__head > p:not(.sp-home__eyebrow) { display: none; }
	body .sp-booking__head .sp-recovery-inline p { display: block; }
	body .sp-recovery-inline--modal { margin: 0 0 4px; font-size: 13px; line-height: 1.45; }
	body .sp-booking__head h3 { font-size: 22px !important; margin: 0 40px 12px 0 !important; }
	body .sp-booking-progress {
		display: grid !important;
		grid-template-columns: repeat(5, 1fr) !important;
		gap: 4px !important;
		margin: 0 0 16px !important;
	}
	body .sp-booking-progress__step {
		display: flex !important; flex-direction: column; align-items: center; gap: 4px;
		min-height: 0 !important; padding: 0 !important;
		border: 0 !important; background: none !important; box-shadow: none !important;
		grid-column: auto !important;
	}
	body .sp-booking-progress__step span {
		display: flex !important; align-items: center; justify-content: center;
		width: 28px; height: 28px; border-radius: 50%;
		background: #EEF3F6 !important; color: var(--sp-muted) !important;
		font-size: 12px; font-weight: 700;
	}
	body .sp-booking-progress__step:not(.is-active) small { visibility: hidden; }
	body .sp-booking-progress__step small { white-space: nowrap; font-size: 11px !important; line-height: 1.2; color: var(--sp-muted); text-align: center; }
	body .sp-booking-progress__step.is-active span, body .sp-booking-progress__step.is-done span { background: var(--m-brand) !important; color: #fff !important; }
	body .sp-booking-progress__step.is-active small { color: var(--sp-ink); font-weight: 600; }
	body .sp-booking-actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; }
	body .sp-booking-actions .sp-home__button:only-child { grid-column: 1 / -1; }

	/* ---------- Нижняя панель записи ---------- */
	.sp-dock {
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 900;
		display: grid !important;
		grid-template-columns: 58px 58px 1fr;
		align-items: center;
		gap: 6px;
		padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.96);
		-webkit-backdrop-filter: saturate(160%) blur(14px);
		backdrop-filter: saturate(160%) blur(14px);
		border-top: 1px solid rgba(21, 33, 43, 0.08);
		box-shadow: 0 -6px 24px rgba(21, 33, 43, 0.06);
	}
	.sp-dock__item {
		display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
		height: 52px;
		border-radius: 12px;
		color: var(--sp-ink) !important;
		font-size: 11px; font-weight: 600;
		text-decoration: none !important;
	}
	.sp-dock__item svg { width: 21px; height: 21px; fill: var(--m-brand); }
	.sp-dock__item:active { background: #EEF3F6; }
	.sp-dock__book {
		display: flex; align-items: center; justify-content: center;
		height: 52px;
		border-radius: 14px;
		background: var(--m-brand);
		color: #fff !important;
		font-size: 15.5px; font-weight: 600;
		text-decoration: none !important;
		box-shadow: 0 6px 16px rgba(47, 111, 148, 0.32);
	}
	.sp-dock__book:active { background: var(--m-brand-dark); }
	body.sp-menu-open .sp-dock, body:has(.sp-oxy-sticky) .sp-dock, body:has(.sp-modal[style*="block"]) .sp-dock, body:has(.sp-modal[style*="flex"]) .sp-dock { display: none !important; }
	body:has(.sp-oxy-sticky) { padding-bottom: 0; }
}

/* Маленькие телефоны (iPhone SE и уже) */
@media (max-width: 360px) {
	.sp-home h1, .sp-subpage h1 { font-size: 27px !important; }
	.sp-home h2, .sp-subpage h2 { font-size: 23px !important; }
	body .sp-home-hero--bg-photo .sp-home-hero__lead { font-size: 15px !important; }
	.sp-home-hero__chips li { font-size: 12px; padding: 5px 9px; }
	.sp-facts { grid-template-columns: 1fr 1fr; }
	.sp-facts strong { overflow-wrap: anywhere; }
	.sp-dock { grid-template-columns: 50px 50px 1fr; padding-left: 8px; padding-right: 8px; }
	.sp-dock__book { font-size: 14.5px; }
	body .sp-doctor-card { grid-template-columns: 92px 1fr; }
	body .sp-doctor-card__actions .sp-home__button { font-size: 13px; }
}

/* Мобильные: уведомление о cookie над нижней панелью, 404 — плитки 2×2 */
@media (max-width: 767px) {
	.sp-yr__head { display: grid; gap: 14px; margin-bottom: 16px; }
	.sp-yr__score { padding: 12px 16px; border: 0; box-shadow: var(--mb-shadow); }
	.sp-yr__score strong { font-size: 38px; }
	.sp-yr__track {
		display: flex !important; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory;
		margin: 0 -12px; padding: 4px 12px 12px; scroll-padding: 0 12px; scrollbar-width: none;
	}
	.sp-yr__track::-webkit-scrollbar { display: none; }
	.sp-yr__card { flex: 0 0 86%; scroll-snap-align: start; padding: 16px; border: 0; box-shadow: var(--mb-shadow); }
	.sp-yr--doctor .sp-yr__track { display: grid !important; margin: 0; padding: 0; overflow: visible; }
	.sp-yr__text { font-size: 14.5px; -webkit-line-clamp: 7; }
	.sp-yr__actions { margin-top: 14px; gap: 14px; }
	.sp-yr__actions .sp-home__button { width: auto !important; min-height: 46px; }
	.sp-yr--compact { padding: 14px; }
	.sp-yr--compact .sp-yr__score { box-shadow: none; }
	.sp-yreviews__head { display: grid; gap: 12px; }
	.sp-yreviews__badge { justify-content: space-between; }
	.sp-yreviews__badge .sp-home__button { width: auto !important; min-height: 46px; }
	.sp-yreviews__frame { height: 520px; margin: 16px -4px 0; }
	.sp-yreviews--compact { padding: 14px 16px; }
	.sp-yreviews--compact .sp-yreviews__copy p { font-size: 13.5px; }
	.sp-cookie { left: 10px; right: 10px; bottom: calc(80px + env(safe-area-inset-bottom)); max-width: none; padding: 12px 14px; gap: 10px; }
	.sp-cookie p { font-size: 12.5px; }
	body:has(.sp-oxy-sticky) .sp-cookie { bottom: calc(84px + env(safe-area-inset-bottom)); }
	.sp-404-links { display: grid !important; grid-template-columns: 1fr 1fr; overflow: visible !important; margin: 0 !important; padding: 0 !important; }
	.sp-404-links .sp-finder__card { flex: none; }
	.single-post article.post { padding: 24px 16px 40px; }
	.single-post article.post .content { font-size: 16.5px; }

	/* Плашка режима восстановления: компактнее на телефоне */
	body .sp-recovery-note { font-size: 13px; }
	body .sp-recovery-note__inner { padding: 8px 16px; gap: 8px; }
	body .sp-recovery-note__icon { flex-basis: 20px; width: 20px; height: 20px; font-size: 13px; }

	/* Строка о восстановлении сверху: шапка и меню встают под неё */
	body .sp-header { top: var(--sp-note-h, 0px) !important; }
	body .sp-mobile-menu:not([hidden]) { top: var(--sp-menu-top, 65px) !important; }
	body .sp-recovery-bar { font-size: 13px; white-space: nowrap; }
	body .sp-recovery-bar__extra { display: none; }
	body .sp-recovery-bar .sp-recovery-note__inner { padding: 6px 16px; gap: 8px; }
	body .sp-recovery-inline { font-size: 13.5px; padding: 11px 12px; }
}