/**
 * /franshiza/ — page-franch.php
 */

/* biorise.ru/franshiza/ — без серой полосы выбора города */
body.biorise-franshiza-landing {
	--header-height: var(--header-bottom);
	--franshiza-breadcrumb-gap: 10px;
}

/* Крошки: одинаковый зазор до шапки и до серого hero, компактнее */
body.biorise-franshiza-landing section.breadcrumbs.franch {
	padding-top: var(--franshiza-breadcrumb-gap);
	padding-bottom: var(--franshiza-breadcrumb-gap);
	margin-top: 0 !important;
	margin-bottom: 0;
}

body.biorise-franshiza-landing section.breadcrumbs.franch + section.hero-franch {
	margin-top: 0;
	padding-top: 0;
}

@media (max-width: 768px) {
	body.biorise-franshiza-landing {
		--franshiza-breadcrumb-gap: 8px;
	}

	/* main-new.css: 105px — лишний воздух под одноярусной шапкой */
	body.biorise-franshiza-landing main {
		padding-top: var(--header-height);
	}
}

/*
 * Hero /franshiza/: ПК — стандартная сетка темы (текст+фон слева, .hero__img справа).
 * Только mobile: заголовок → фото → буллеты (grid + display:contents).
 */
@media (min-width: 992px) {
	.hero-franch .hero-franch__intro,
	.hero-franch .hero-franch__body {
		display: contents;
	}
}

@media (max-width: 991px) {
	.hero-franch .hero__wrap.section-wrap {
		margin-right: 0;
		margin-left: 0;
	}

	.hero-franch .hero__flex {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"intro"
			"media"
			"cta"
			"body";
	}

	.hero-franch .hero__container-desc,
	.hero-franch .hero__content {
		display: contents;
	}

	.hero-franch .hero-franch__intro {
		grid-area: intro;
		position: relative;
		z-index: 1;
		padding: 20px var(--wrap-p, 24px) 12px;
	}

	.hero-franch .hero-franch__body {
		display: contents;
	}

	.hero-franch .hero__text {
		grid-area: body;
		position: relative;
		z-index: 1;
		margin-top: 0;
		padding: 8px var(--wrap-p, 24px) 28px;
	}

	.hero-franch .hero__btn-franch {
		grid-area: cta;
		position: relative;
		z-index: 1;
		margin-top: 0;
		padding: 14px var(--wrap-p, 24px) 4px;
	}

	.hero-franch .hero__container-mob {
		max-width: none;
		padding-right: 0;
		padding-left: 0;
	}

	.hero-franch .hero__img {
		grid-area: media;
		position: relative;
		width: 100%;
		max-width: none;
		margin: 0;
		border-radius: 0;
	}

	.hero-franch .hero__bg {
		grid-column: 1;
		grid-row: 1 / -1;
		position: relative;
		width: 100%;
		min-height: 0;
		z-index: 0;
		border-radius: var(--border-main);
	}

	.hero-franch .hero__heading {
		margin-bottom: 0 !important;
	}

	.hero-franch .hero__container-desc {
		margin-bottom: 0;
	}

	.hero-franch .hero__content {
		min-height: 0;
		padding: 0;
		overflow: visible;
		border-radius: 0;
	}

	.hero-franch .hero__img-wrap {
		position: relative;
		height: auto !important;
		padding-top: 0 !important;
		aspect-ratio: 4 / 3;
		min-height: clamp(280px, 58vw, 420px);
		max-height: none;
		border-radius: 0;
	}

	/* Только фото hero, не флаги в .franch-hero-stats */
	.hero-franch .hero__img-wrap > img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* Плашка — компактная полоска внизу фото, не перекрывает центр */
	.hero-franch .franch-hero-stats {
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		max-width: none;
		padding: 8px 10px 10px;
		border-radius: 0;
		box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.1);
		--franch-stat-gap: 4px;
	}

	.hero-franch .franch-hero-stats__tagline {
		display: none;
	}

	.hero-franch .franch-hero-stats__row {
		column-gap: 4px;
	}

	.hero-franch .franch-hero-stat {
		gap: 2px;
	}

	.hero-franch .franch-hero-stat__head {
		min-height: 0;
	}

	.hero-franch .franch-hero-stat--countries {
		--franch-flag-size: 20px;
		--franch-flag-overlap: 5px;
	}

	/* Типографика hero /franshiza/ — читаемый минимум на планшете и телефоне */
	.hero-franch .hero__content {
		--franch-h1: clamp(22px, 6.2vw, 30px);
		--franch-lead: 16px;
		--franch-stat-value: clamp(19px, 5.2vw, 22px);
		--franch-stat-label: 13px;
		--franch-body: 15px;
		--franch-gap-sm: 10px;
		--franch-gap-md: 14px;
		--franch-gap-lg: 14px;
	}


	.hero-franch .hero-franch__benefit-text,
	.hero-franch .hero-franch__benefit-text b {
		line-height: 1.45;
	}

	.hero-franch .hero__btn-franch .btn {
		font-size: 16px;
		line-height: 1.35;
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.hero-franch .franch-hero-stat__number {
		font-size: clamp(18px, 5vw, 24px);
		white-space: normal;
	}

	.hero-franch .franch-hero-stat__label {
		font-size: 13px;
		line-height: 1.3;
		min-height: 0;
	}

	.hero-franch .franch-hero-stat--revenue .franch-hero-stat__label {
		font-size: 12px;
		line-height: 1.35;
	}

	.hero-franch .franch-hero-stat--countries .franch-hero-stat__label {
		font-size: 13px;
	}

	.page-template-page-franch .franshiza-section-lead {
		font-size: 15px;
		line-height: 1.5;
	}

	.page-template-page-franch .top-franch-item .text,
	.page-template-page-franch .top-franch-item p {
		font-size: 14px;
		line-height: 1.45;
	}
}

.hero-franch .hero__content {
	--franch-h1: clamp(28px, 2.6vw, 36px);
	--franch-lead: 16px;
	--franch-stat-value: clamp(19px, 1.75vw, 22px);
	--franch-stat-label: 13px;
	--franch-body: 14px;
	--franch-gap-sm: 10px;
	--franch-gap-md: 16px;
	--franch-gap-lg: 20px;
	--franch-text: #3a3a3a;
	--franch-text-strong: #1a1a1a;
	--franch-green: #208d79;
}

.hero-franch .hero__heading h1 {
	text-transform: none;
	font-size: var(--franch-h1);
	line-height: 1.15;
	font-weight: 600;
}

.hero-franch .hero__heading h1 .hero-franch__brand {
	color: var(--franch-green);
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0.01em;
}

.hero-franch .hero__heading .hero-franch__lead {
	margin: var(--franch-gap-md) 0 0;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 500;
	font-size: var(--franch-lead);
	line-height: 1.5;
	letter-spacing: -0.01em;
	text-transform: none;
	max-width: 100%;
	color: var(--franch-text);
}

.hero-franch .hero__heading .hero-franch__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--franch-gap-sm);
	margin: var(--franch-gap-md) 0 0;
	padding: var(--franch-gap-md) 0;
	max-width: 100%;
	border-top: 1px solid rgba(32, 141, 121, 0.12);
	border-bottom: 1px solid rgba(32, 141, 121, 0.12);
	font-family: var(--ff, "Manrope", sans-serif);
}

.hero-franch .hero-franch__stats-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.hero-franch .hero-franch__stats-value {
	font-weight: 700;
	font-size: var(--franch-stat-value);
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--franch-green);
	white-space: nowrap;
}

.hero-franch .hero-franch__stats-label {
	font-weight: 500;
	font-size: var(--franch-stat-label);
	line-height: 1.25;
	color: var(--franch-text);
}

.hero-franch .hero__text {
	max-width: 100%;
	margin-top: var(--franch-gap-md);
}

.hero-franch__benefits {
	display: flex;
	flex-direction: column;
	gap: var(--franch-gap-sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

.hero-franch .hero__text.content-field .hero-franch__benefits .hero-franch__benefit {
	padding-left: 0;
	font-weight: 400;
	font-size: var(--franch-body);
}

.hero-franch .hero__text.content-field .hero-franch__benefits .hero-franch__benefit::before {
	display: none;
	content: none;
}

.hero-franch__benefit {
	display: flex;
	align-items: flex-start;
	gap: var(--franch-gap-sm);
}

.hero-franch__benefit-icon {
	flex-shrink: 0;
	width: 20px;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.hero-franch .hero-franch__benefit-text {
	margin: 0;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 400;
	font-size: var(--franch-body);
	line-height: 1.5;
	letter-spacing: -0.01em;
	color: var(--franch-text);
}

.hero-franch .hero-franch__benefit-text b {
	font-weight: 600;
	font-size: inherit;
	color: var(--franch-text-strong);
}

.hero-franch .hero__btn-franch {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: var(--franch-gap-lg);
	padding-top: 0;
}

.hero-franch__cta {
	align-items: flex-start;
}

.hero-franch__cta-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.hero-franch .hero__btn-franch .btn {
	white-space: normal;
	text-align: center;
	line-height: 1.25;
	font-size: 15px;
}

@media (max-width: 575px) {
	.hero-franch .hero__content {
		--franch-h1: clamp(21px, 6.8vw, 26px);
		--franch-lead: 16px;
		--franch-stat-value: 20px;
		--franch-stat-label: 13px;
		--franch-body: 15px;
		--franch-gap-md: 16px;
	}

	.hero-franch__cta-buttons {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.hero-franch__cta-buttons .btn {
		width: 100%;
	}
}

.v_top_new .v_top__heading h2 {
	margin: 0;
	max-width: 780px;
	color: #fff;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(22px, 2.35vw, 30px);
	line-height: 1.22;
	letter-spacing: -0.02em;
	text-transform: none;
}

.v_top_new .franshiza-awards-lead {
	margin: 10px 0 0;
	max-width: 780px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 400;
	font-size: clamp(14px, 1.1vw, 16px);
	line-height: 1.5;
	letter-spacing: -0.01em;
	color: rgba(255, 255, 255, 0.9);
}

.v_top_new .v_top__heading:has(.franshiza-awards-lead) {
	margin-bottom: 18px;
}

.page-template-page-franch section.v_top_new .v_top__wrap.section-wrap-mx {
	padding-top: 32px;
	padding-bottom: 28px;
}

.page-template-page-franch section.v_top_new .top-franch {
	margin-top: 8px;
}

@media (max-width: 767px) {
	.page-template-page-franch section.v_top_new .v_top__wrap.section-wrap-mx {
		padding-top: 20px;
		padding-bottom: 18px;
	}

	.page-template-page-franch section.v_top_new .v_top__heading:has(.franshiza-awards-lead) {
		margin-bottom: 12px;
	}

	.page-template-page-franch section.v_top_new .top-franch {
		margin-top: 4px;
	}
}

@media (max-width: 575px) {
	.v_top_new .v_top__heading h2 {
		font-size: 20px;
		line-height: 1.25;
	}

	.v_top_new .franshiza-awards-lead {
		font-size: 14px;
		line-height: 1.45;
	}
}

/* Блок «Этапы открытия» */
.otkritie_new .otkritie__text h2 {
	margin: 0;
	max-width: 520px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(22px, 2.35vw, 32px);
	line-height: 1.25;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #1a1a1a;
}

.otkritie_new .otkritie__text p {
	margin: 12px 0 0;
	max-width: 520px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 400;
	font-size: clamp(14px, 1.1vw, 16px);
	line-height: 1.5;
	letter-spacing: -0.01em;
	color: #3a3a3a;
}

@media (max-width: 575px) {
	.otkritie_new .otkritie__text h2 {
		font-size: 20px;
		line-height: 1.3;
	}

	.otkritie_new .otkritie__text p {
		font-size: 14px;
		line-height: 1.45;
	}
}

section.kliniki .kliniki__wrap {
	padding-bottom: 24px;
}

#faq.br-faq {
	padding-top: 12px;
	padding-bottom: clamp(24px, 3vw, 40px);
	background: #fff;
}

#faq.br-faq .br-faq__title {
	margin: 0 0 16px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #1a1a1a;
}

/* Hero — стат-карточки на фото */
.hero-franch .hero__img-wrap {
	border-radius: 24px;
	overflow: hidden;
}

.franch-hero-stats {
	--franch-stat-panel: rgba(255, 255, 255, 0.96);
	--franch-stat-gap: 14px;
	--franch-flag-size: 28px;
	--franch-flag-overlap: 8px;
	--franch-flag-step: calc(var(--franch-flag-size) - var(--franch-flag-overlap));
	position: absolute;
	right: 16px;
	bottom: 16px;
	left: auto;
	z-index: 9;
	width: min(100%, 460px);
	max-width: calc(100% - 32px);
	padding: 16px;
	border-radius: 16px;
	background: var(--franch-stat-panel);
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.14);
	pointer-events: none;
}

.franch-hero-stats__tagline {
	margin: 0 0 var(--franch-stat-gap);
	color: #1a1a1a;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(13px, 1.2vw, 15px);
	line-height: 1.3;
	letter-spacing: -0.01em;
	text-align: center;
}

.franch-hero-stats__row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: var(--franch-stat-gap);
	row-gap: 0;
	align-items: stretch;
	pointer-events: auto;
}

.franch-hero-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	min-width: 0;
	text-align: center;
}

.franch-hero-stat__head {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	min-height: clamp(34px, 3.8vw, 40px);
}

.franch-hero-stat__number {
	margin: 0;
	color: #111;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 700;
	font-size: clamp(28px, 3.2vw, 36px);
	line-height: 1;
	letter-spacing: -0.03em;
	white-space: nowrap;
}

.franch-hero-stat__unit {
	margin-left: 2px;
	font-size: 0.72em;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.franch-hero-stat__label {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	min-height: 2.6em;
	color: #2b2b2b;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(12px, 1vw, 13px);
	line-height: 1.3;
	letter-spacing: -0.01em;
	text-align: center;
}

.franch-hero-stat__flags {
	position: relative;
	display: flex;
	justify-content: center;
	width: 100%;
	min-height: var(--franch-flag-size);
	overflow: hidden;
}

.franch-hero-stat__flags-fade {
	display: none;
}

.franch-hero-stat__track {
	display: flex;
	align-items: center;
	width: max-content;
	animation: franch-hero-flags-marquee calc(var(--franch-flag-count, 6) * 1.15s) linear infinite;
}

.franch-hero-stat--countries:hover .franch-hero-stat__track {
	animation-play-state: paused;
}

.franch-hero-stat__flag {
	display: flex;
	flex: 0 0 auto;
	margin-left: calc(var(--franch-flag-overlap) * -1);
}

.franch-hero-stat__flag.is-first {
	margin-left: 0;
}

.franch-hero-stat__flag img {
	position: static;
	display: block;
	width: var(--franch-flag-size);
	height: var(--franch-flag-size);
	object-fit: contain;
	border-radius: 50%;
	box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.08);
}

.franch-hero-stat--countries {
	--franch-flag-size: 28px;
	--franch-flag-overlap: 8px;
}

@keyframes franch-hero-flags-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(var(--franch-flag-step) * var(--franch-flag-count, 6) * -1));
	}
}

@media (min-width: 992px) {
	.franch-hero-stats {
		right: 24px;
		bottom: 24px;
		width: 460px;
		padding: 16px;
	}
}

@media (max-width: 575px) {
	.hero-franch .hero__img-wrap {
		min-height: clamp(260px, 62vw, 400px);
	}

	.hero-franch .franch-hero-stats {
		padding: 7px 8px 9px;
	}

	.hero-franch .franch-hero-stat__number {
		font-size: 18px;
	}

	.hero-franch .franch-hero-stat--countries {
		--franch-flag-size: 18px;
		--franch-flag-overlap: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.franch-hero-stat__track {
		animation: none;
		transform: none;
	}
}

/* Общий лид и заголовки секций */
.franshiza-section-lead {
	margin: 10px 0 0;
	max-width: 780px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 400;
	font-size: clamp(14px, 1.1vw, 16px);
	line-height: 1.5;
	letter-spacing: -0.01em;
	color: #3a3a3a;
}

.vhodit_new__heading h2,
.desc_text .desc__heading h2 {
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(22px, 2.35vw, 32px);
	line-height: 1.25;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #1a1a1a;
}

/* Блок «Состав услуг» */
.zarabot .zarabot__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 32px;
	margin-bottom: 28px;
}

.zarabot .zarabot__heading-text {
	flex: 1 1 300px;
	min-width: 0;
	max-width: 720px;
}

.zarabot .zarabot__heading-text h2 {
	margin: 0 0 12px;
	max-width: none;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #1a1a1a;
}

.zarabot .zarabot__heading-text .franshiza-section-lead {
	margin: 0;
	max-width: 680px;
	color: #3a3a3a;
	font-size: 15px;
	line-height: 1.5;
}

.zarabot .zarabot__heading .btn {
	flex: 0 0 auto;
	align-self: center;
	white-space: nowrap;
}

.zarabot .zarabot-step-item-text-title {
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.35;
	text-transform: none;
	letter-spacing: -0.01em;
}

/* Блок «Форматы» */
.formati .content-field > h2 {
	margin: 0 0 24px;
	max-width: 820px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #1a1a1a;
}

.formati .formati__tabs {
	flex-wrap: wrap;
}

.formati .formati-tab-btn {
	font-family: var(--ff, "Manrope", sans-serif);
	font-size: clamp(14px, 1.15vw, 16px);
	font-weight: 600;
	line-height: 1.3;
	text-transform: none;
	text-align: left;
}

.formati .formati-tab-content-left h3 {
	margin: 0;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(18px, 1.8vw, 24px);
	line-height: 1.25;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #1a1a1a;
}

.formati .formati-tab-content-left-top p {
	margin: 12px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: #3a3a3a;
}

.formati .formati-tab-content-left {
	width: auto;
	flex: 1 1 280px;
	min-width: 0;
	padding: 10px 20px 10px 10px;
}

.formati .formati-tab {
	align-items: stretch;
}

.formati .formati-tab-content-img {
	width: min(100%, 420px);
	flex: 0 1 420px;
}

/* Блок «Калькулятор» */
.calc .calc__heading h2 {
	margin: 0 0 12px;
	max-width: 720px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #fff;
}

.calc .calc__heading .franshiza-section-lead {
	margin: 0 0 28px;
	max-width: 720px;
	color: rgba(255, 255, 255, 0.92);
}

.calc .range-label {
	color: rgba(255, 255, 255, 0.92);
	font-family: var(--ff, "Manrope", sans-serif);
	font-size: 15px;
	font-weight: 500;
}

.calc .calc-znach {
	margin-top: 12px;
	padding: 0 4px;
}

.calc .calc-znach h5 {
	margin: 0;
	font-family: var(--ff, "Manrope", sans-serif);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-transform: none;
	color: rgba(255, 255, 255, 0.85);
}

.calc .calc-result {
	margin-top: 32px;
	gap: 20px;
}

.calc .calc-result div {
	padding: 28px 32px;
}

.calc .calc-result h5 {
	margin: 0 0 10px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
}

.calc .calc-result-left h5 {
	color: rgba(255, 255, 255, 0.9);
}

.calc .calc-result-right h5 {
	color: #3a3a3a;
}

.calc .calc-result h2 {
	margin: 0;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 700;
	font-size: clamp(26px, 3.2vw, 40px);
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-transform: none;
}

.calc .calc-result-left h2 {
	color: #fff;
}

.calc .calc-result-right h2 {
	color: var(--primary, #208d79);
}

@media (max-width: 991px) {
	.formati .formati-tab {
		flex-direction: column;
	}

	.formati .formati-tab-content-img {
		width: 100%;
		flex: none;
		height: 240px;
	}
}

/* Блок «Что входит во франшизу» — зелёный фон */
.vhodit_new .content-field.vhodit_new__heading h2 {
	margin: 0;
	max-width: 680px;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.28;
	text-transform: none;
	color: #fff;
}

.vhodit_new .content-field.vhodit_new__heading .franshiza-section-lead {
	margin: 12px 0 28px;
	max-width: 680px;
	color: rgba(255, 255, 255, 0.92);
	font-size: 15px;
	line-height: 1.5;
}

.vhodit_new .marketing-services-container ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.vhodit_new .marketing-services-container ul li {
	list-style: none;
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
}

.vhodit_new .marketing-services-container ul li::marker {
	content: none;
}

.vhodit_new .marketing-services-container ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	background-color: #208d79;
	border-radius: 50%;
	transform: none;
}

.vhodit_new .marketing-services-container ul li:last-child {
	margin-bottom: 0;
}

.vhodit_new .marketing-services-container ul li p {
	margin: 0;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.45;
	letter-spacing: 0;
}

.vhodit_new .vhodit-tab-content-left h3 {
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: 22px;
	line-height: 1.2;
	text-transform: none;
}

/* Блок «СМИ» */
.smi_new .certs__heading h2 {
	margin: 0;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.28;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #fff;
}

/* Финальный CTA + карта */
.page-template-page-franch section.map {
	overflow: hidden;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.page-template-page-franch section.map .kliniki__wrap {
	padding: 48px 0 32px;
}

.page-template-page-franch section.map .kliniki__wrap .container {
	padding-top: 0;
	padding-bottom: 0;
}

.map .map-cta__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 32px;
	margin-bottom: 0;
}

.map .map-cta__heading.kliniki__heading {
	align-items: center;
}

.map .map-cta__heading-text {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 720px;
}

.map .map-cta__heading-text h2 {
	margin: 0 0 12px;
	max-width: none;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #1a1a1a;
}

.page-template-page-franch section.map .map-cta__heading-text h2 {
	margin-bottom: 12px !important;
	text-align: left;
}

.map .map-cta__heading-text .franshiza-section-lead {
	margin: 0;
	max-width: 680px;
	color: #3a3a3a;
	font-size: 15px;
	line-height: 1.5;
}

.map .map-cta__heading .btn {
	flex: 0 0 auto;
	align-self: center;
	margin-top: 0;
	width: auto;
	min-width: 0;
	max-width: 400px;
	padding: 18px 28px;
	white-space: normal;
	line-height: 1.3;
	text-align: center;
}

.map .map-cta__heading .btn span {
	display: block;
}

.map .map-scr {
	margin-top: 28px;
	width: 100%;
	overflow: hidden;
	border-radius: 24px;
}

.map .franshiza-network-map-wrap {
	position: relative;
	padding-top: 0;
	height: clamp(320px, 42vw, 720px);
	margin-bottom: 0;
	width: 100%;
}

.map .franshiza-network-map-wrap .router__map-el {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: inherit;
}

@media (max-width: 767px) {
	.page-template-page-franch section.map {
		margin: 16px 0 24px;
	}

	.page-template-page-franch section.map .kliniki__wrap {
		padding: 20px 0 16px;
	}

	.page-template-page-franch section.map .container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.map .map-cta__heading,
	.map .map-cta__heading.kliniki__heading {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.page-template-page-franch section.map .map-cta__heading-text h2 {
		font-size: clamp(20px, 5.4vw, 26px);
		margin-bottom: 8px !important;
	}

	.map .map-cta__heading-text .franshiza-section-lead {
		text-align: left;
		font-size: 14px;
		line-height: 1.45;
	}

	.map .map-cta__heading .btn {
		width: 100%;
		max-width: none;
		align-self: stretch;
		padding: 16px 18px;
		font-size: 15px;
		margin-top: 4px;
	}

	.map .map-scr {
		margin: 16px 0 0;
		border-radius: 16px;
	}

	.map .franshiza-network-map-wrap {
		height: clamp(260px, 68vw, 360px);
		min-height: 260px;
	}
}

.desc_text .desc__heading p {
	font-family: var(--ff, "Manrope", sans-serif);
	font-size: 15px;
	line-height: 1.55;
	color: #3a3a3a;
	text-transform: none;
}

.desc_text .desc__heading--with-media {
	overflow: visible;
	max-width: none;
}

.desc_text .desc__media-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 4vw, 56px);
	align-items: stretch;
}

.desc_text .desc__text {
	grid-column: 1;
	min-width: 0;
}

.desc_text .desc__text p {
	margin: 0 0 16px;
	font-size: clamp(15px, 1.05vw, 17px);
	line-height: 1.65;
	font-weight: 400;
	color: #3a3a3a;
}

.desc_text .desc__text p:last-child {
	margin-bottom: 0;
}

.desc_text .desc__figure {
	grid-column: 2;
	margin: 0;
	min-width: 0;
	align-self: stretch;
	display: grid;
}

.desc_text .desc__figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 16px;
}

@media (max-width: 991px) {
	.desc_text .desc__media-grid {
		grid-template-columns: 1fr;
	}

	.desc_text .desc__text,
	.desc_text .desc__figure {
		grid-column: auto;
	}

	.desc_text .desc__figure img {
		height: auto;
		aspect-ratio: 4 / 3;
	}
}

/* Отзывы франчайзи */
.kliniki .kliniki__info {
	margin-bottom: 0;
}

.kliniki .franshiza-reviews {
	margin-top: clamp(32px, 4vw, 56px);
	padding: clamp(28px, 3.5vw, 40px) 0 0;
}

.franshiza-reviews__title {
	margin: 0 0 24px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 26px);
	line-height: 1.25;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #1a1a1a;
}

.franshiza-reviews__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
}

.franshiza-review-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 20px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.franshiza-review-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.franshiza-review-card__photo {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.franshiza-review-card__name {
	margin: 0;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.3;
	color: #1a1a1a;
}

.franshiza-review-card__role,
.franshiza-review-card__city {
	margin: 2px 0 0;
	font-size: 13px;
	line-height: 1.35;
	color: #595f6b;
}

.franshiza-review-card__rating {
	margin: 12px 0 0;
	color: #208d79;
	font-size: 14px;
	letter-spacing: 2px;
}

.franshiza-review-card__text {
	margin: 10px 0 0;
	flex: 1 1 auto;
}

.franshiza-review-card__text p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #373737;
}

/* Действующие клиники — заголовок */
.kliniki .kliniki__heading h2 {
	margin: 0;
	max-width: 720px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #1a1a1a;
}

@media (max-width: 767px) {
	.franshiza-reviews__grid {
		grid-template-columns: 1fr;
	}

	.zarabot .zarabot__heading {
		flex-direction: column;
		align-items: stretch;
	}

	.zarabot .zarabot__heading .btn {
		width: 100%;
		white-space: normal;
	}
}

/* Модалка заявки — только /franshiza/ */
.modal-form-franshiza.fancybox__content {
	overflow: hidden;
}

.modal-form-franshiza .modal-form__flex {
	overflow: hidden;
}

.modal-form-franshiza .modal-form__img {
	position: relative;
	overflow: hidden;
	background: transparent;
}

.modal-form-franshiza .modal-form__img-in {
	padding-top: 0;
	height: 100%;
	min-height: 460px;
	border-radius: 0 !important;
	overflow: hidden;
}

.modal-form-franshiza .modal-form__img-wrap {
	position: absolute;
	inset: 0;
	left: 0;
	right: -12%;
}

.modal-form-franshiza .modal-form__img-wrap img,
.modal-form-franshiza .modal-form-franshiza__photo {
	width: 100%;
	height: 100%;
	min-height: 100%;
	border-radius: 0 !important;
	object-fit: cover;
	object-position: 18% center;
}

.modal-form-franshiza .modal-form__img::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 46%;
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.72) 42%,
		#fff 78%
	);
	z-index: 2;
	pointer-events: none;
}

.modal-form-franshiza .modal-form__content {
	position: relative;
	z-index: 1;
	background: #fff;
}

.modal-form-franshiza .modal-form__heading {
	margin: 0 0 8px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 600;
	font-size: clamp(22px, 2.1vw, 30px);
	line-height: 1.25;
	letter-spacing: -0.02em;
	text-transform: none;
	color: #1a1a1a;
}

@media (min-width: 768px) {
	.modal-form-franshiza .modal-form__img-wrap {
		left: 0 !important;
	}
}

@media (max-width: 767px) {
	.fancybox__slide:has(.modal-form-franshiza) {
		padding: 0 !important;
	}

	.modal-form-franshiza.fancybox__content {
		width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		max-height: 100% !important;
		margin: 0 !important;
		border-radius: 0 !important;
	}

	.modal-form-franshiza .modal-form__flex {
		display: flex;
		flex-direction: column;
		min-height: 100%;
		height: 100%;
	}

	.modal-form-franshiza .modal-form__img {
		flex: 0 0 auto;
		width: 100%;
	}

	.modal-form-franshiza .modal-form__img-in {
		min-height: 0;
		height: auto;
	}

	.modal-form-franshiza .modal-form__img-wrap {
		position: relative;
		inset: auto;
		left: 0;
		right: 0;
		width: 100%;
		height: clamp(210px, 34vh, 300px);
	}

	.modal-form-franshiza .modal-form__img-wrap img,
	.modal-form-franshiza .modal-form-franshiza__photo {
		position: absolute;
		inset: 0;
		width: 100% !important;
		max-width: none !important;
		height: 100% !important;
		margin: 0 !important;
		object-fit: cover;
		object-position: center 20%;
	}

	.modal-form-franshiza .modal-form__img::after {
		width: 100%;
		height: 40%;
		top: auto;
		bottom: 0;
		right: 0;
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.92) 72%,
			#fff 100%
		);
	}

	.modal-form-franshiza .modal-form__content {
		flex: 1 1 auto;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 20px 20px 28px;
	}

	.modal-form-franshiza .modal-form__heading {
		font-size: 22px;
		margin-bottom: 16px;
	}

	.modal-form-franshiza .modal-form__content .main-forms {
		margin-top: 20px;
	}

	.modal-form-franshiza.fancybox__content > .fancybox-close {
		top: 10px;
		right: 10px;
		z-index: 20;
	}
}

/* Шапка: контакты франшизы (как /partners/) */
.franshiza-header-contacts {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: clamp(12px, 1.5vw, 23px);
	margin-left: auto;
}

.franshiza-header-contacts__phone {
	font-family: var(--ff, "Manrope", sans-serif);
	font-weight: 700;
	font-size: clamp(14px, 1.1vw, 16px);
	line-height: 1.4;
	letter-spacing: -0.01em;
	color: #208d79;
	text-decoration: none;
	white-space: nowrap;
}

.franshiza-header-contacts__phone:hover {
	color: #006465;
}

.franshiza-header-contacts__socials {
	display: flex;
	align-items: center;
	gap: 4px;
}

.franshiza-header-contacts__social {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	text-decoration: none;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.franshiza-header-contacts__social:hover {
	transform: translateY(-1px);
	opacity: 0.9;
}

.franshiza-header-contacts__social img {
	display: block;
	width: 32px;
	height: 32px;
}

@media (max-width: 1070px) {
	.page-template-page-franch .header__mobile-trigger {
		position: relative;
		z-index: 102;
		cursor: pointer;
	}

	.page-template-page-franch .franshiza-header-contacts {
		display: none;
	}

	.page-template-page-franch .header__bottom-flex {
		justify-content: flex-start;
		gap: 10px;
	}

	.page-template-page-franch .header__logo {
		flex: 0 0 auto;
		margin-right: auto;
		min-width: 0;
	}

	.page-template-page-franch .header__logo img {
		display: block;
		width: auto;
		max-width: 132px;
		min-width: 108px;
		height: auto;
	}

	.page-template-page-franch .header__btn {
		flex-shrink: 1;
		min-width: 0;
		margin-left: 0;
	}

	.page-template-page-franch .header__btn .btn {
		padding: 0 14px;
		font-size: 13px;
	}

	.page-template-page-franch .header__mobile {
		flex-shrink: 0;
		margin-left: 0;
	}
}

@media (max-width: 768px) {
	.page-template-page-franch .header__logo img {
		max-width: 120px;
	}

	.page-template-page-franch .header__btn .btn {
		padding: 0 12px;
		font-size: 12px;
	}
}

/* Бургер-меню /franshiza/ (как /partners/) */
.franshiza-mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 10050;
	visibility: hidden;
	pointer-events: none;
}

.franshiza-mobile-menu.is-open {
	visibility: visible;
	pointer-events: auto;
}

.franshiza-mobile-menu__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
}

.franshiza-mobile-menu__panel {
	position: absolute;
	top: 0;
	right: 0;
	width: min(100%, 420px);
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 28px 24px 32px;
	background: linear-gradient(165deg, #1f9a84 0%, #208d79 42%, #167064 100%);
	color: #fff;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transform: translateX(100%);
	transition: transform 0.32s ease;
}

.franshiza-mobile-menu.is-open .franshiza-mobile-menu__panel {
	transform: translateX(0);
}

.franshiza-mobile-menu__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.franshiza-mobile-menu__brand {
	margin: 8px 0 36px;
	padding-right: 52px;
}

.franshiza-mobile-menu__brand img {
	display: block;
	width: 158px;
	max-width: 100%;
	height: auto;
	filter: brightness(0) invert(1);
}

.franshiza-mobile-menu__tagline {
	margin: 10px 0 0;
	font-family: var(--ff, "Manrope", sans-serif);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.82);
}

.franshiza-mobile-menu__nav {
	flex: 1 1 auto;
}

.franshiza-mobile-menu__nav ul {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.franshiza-mobile-menu__nav a {
	font-family: var(--ff, "Manrope", sans-serif);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: #fff;
	text-decoration: none;
}

.franshiza-mobile-menu__nav a:hover,
.franshiza-mobile-menu__nav a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.franshiza-mobile-menu__socials {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.franshiza-mobile-menu__socials a {
	display: flex;
	line-height: 0;
}

.franshiza-mobile-menu__socials img {
	display: block;
	width: 40px;
	height: 40px;
}

.franshiza-mobile-menu__footer {
	margin-top: 24px;
}

.franshiza-mobile-menu__phone {
	display: block;
	margin-bottom: 16px;
	font-family: var(--ff, "Manrope", sans-serif);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: #fff;
	text-decoration: none;
}

.franshiza-mobile-menu__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 14px 24px;
	border-radius: 100px;
	background: #fff;
	font-family: var(--ff, "Manrope", sans-serif);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: #208d79;
	text-decoration: none;
}

.franshiza-mobile-menu__cta:hover {
	background: #f4fffc;
}

body.franshiza-menu-open {
	overflow: hidden;
}

body.franshiza-menu-open .header__mobile-trigger.toggled svg:last-child path {
	fill: #208d79;
}

.page-template-page-franch .header__dropdown {
	display: none !important;
}
