/* MedicalMag — единые стили информационных страниц (2026-09)
   Использует токены темы mm-*, совместим с Aspro Premier */

:root {
	--mm-ink: #172b21;
	--mm-brand: #4c8945;
	--mm-brand-dark: #3d7437;
	--mm-deep: #1c3d31;
	--mm-muted: #657369;
	--mm-surface: #f4f6f1;
	--mm-surface-2: #edf2e8;
	--mm-accent: #dcebc4;
	--mm-border: #dde4da;
	--mm-white: #ffffff;
	--mm-radius-sm: 8px;
	--mm-radius: 14px;
	--mm-radius-lg: 22px;
	--mm-shadow-sm: 0 4px 16px rgba(23, 43, 33, .05);
	--mm-shadow: 0 10px 30px rgba(23, 43, 33, .08);
	--mm-shadow-hover: 0 16px 36px rgba(23, 43, 33, .13);
	--mm-transition: all .25s ease;
}

/* Общий контейнер инфо-страниц */
.mm-page {
	color: var(--mm-ink);
	font-size: 16px;
	line-height: 1.65;
	margin-bottom: 40px;
}
.mm-page *, .mm-page *::before, .mm-page *::after {
	box-sizing: border-box;
}
.mm-page img {
	max-width: 100%;
	height: auto;
}

/* Снятие артефактов Aspro для внутренних ссылок */
.mm-page a, .mm-page a:hover {
	text-decoration: none !important;
}
.mm-page a span:not([class*="__img"]):not(.mm-btn) {
	border-bottom: 0 !important;
}

/* Типографика */
.mm-eyebrow {
	display: inline-block;
	font-size: 13px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mm-brand);
	margin-bottom: 12px;
}
.mm-eyebrow--light {
	color: var(--mm-accent);
}
.mm-h1 {
	font-size: 36px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--mm-ink);
	margin: 0 0 20px;
	letter-spacing: -.02em;
}
.mm-h2 {
	font-size: 28px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--mm-ink);
	margin: 36px 0 20px;
	letter-spacing: -.01em;
}
.mm-h3 {
	font-size: 20px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--mm-ink);
	margin: 24px 0 12px;
}
.mm-lead {
	font-size: 18px;
	line-height: 1.6;
	color: var(--mm-muted);
	margin-bottom: 28px;
}

/* Hero-баннер информационных страниц */
.mm-hero-box {
	background: linear-gradient(145deg, #f8faf6 0%, var(--mm-surface-2) 100%);
	border: 1px solid var(--mm-border);
	border-radius: var(--mm-radius-lg);
	padding: 36px 40px;
	margin-bottom: 36px;
	position: relative;
	overflow: hidden;
}
.mm-hero-box--dark {
	background: linear-gradient(145deg, var(--mm-deep) 0%, #153228 100%);
	color: var(--mm-white);
	border-color: transparent;
}
.mm-hero-box--dark .mm-h1,
.mm-hero-box--dark .mm-h2,
.mm-hero-box--dark p {
	color: var(--mm-white);
}
.mm-hero-box--dark .mm-lead {
	color: rgba(255, 255, 255, .85);
}
.mm-hero-box__content {
	max-width: 820px;
	position: relative;
	z-index: 2;
}
.mm-hero-box__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-top: 24px;
}

/* Кнопки */
.mm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 26px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	border-radius: var(--mm-radius-sm);
	cursor: pointer;
	border: 1px solid transparent;
	transition: var(--mm-transition);
	text-decoration: none !important;
	color: var(--mm-white);
	background: var(--mm-brand);
}
.mm-btn:hover {
	background: var(--mm-brand-dark);
	color: var(--mm-white) !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(76, 137, 69, .3);
}
.mm-btn--light {
	background: var(--mm-white);
	color: var(--mm-deep) !important;
	border-color: rgba(255, 255, 255, .8);
}
.mm-btn--light:hover {
	background: var(--mm-accent);
	color: var(--mm-deep) !important;
}
.mm-btn--outline {
	background: transparent;
	border-color: var(--mm-brand);
	color: var(--mm-brand) !important;
}
.mm-btn--outline:hover {
	background: var(--mm-brand);
	color: var(--mm-white) !important;
}
.mm-btn--outline-light {
	background: transparent;
	border-color: rgba(255, 255, 255, .4);
	color: var(--mm-white) !important;
}
.mm-btn--outline-light:hover {
	border-color: var(--mm-white);
	background: rgba(255, 255, 255, .1);
}
.mm-btn--sm {
	padding: 9px 18px;
	font-size: 14px;
}

/* Ссылки со стрелками */
.mm-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	color: var(--mm-brand);
	transition: var(--mm-transition);
}
.mm-link:hover {
	color: var(--mm-brand-dark);
}
.mm-link svg {
	transition: transform .2s ease;
}
.mm-link:hover svg {
	transform: translateX(4px);
}

/* Бейджи */
.mm-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	font-size: 13px;
	font-weight: 600;
	border-radius: 30px;
	background: var(--mm-surface);
	color: var(--mm-deep);
	border: 1px solid var(--mm-border);
}
.mm-badge--green {
	background: #eef7eb;
	color: var(--mm-brand-dark);
	border-color: #c9e4c5;
}
.mm-badge--accent {
	background: var(--mm-accent);
	color: var(--mm-deep);
	border-color: transparent;
}
.mm-badge--gold {
	background: #fdf5df;
	color: #936f1c;
	border-color: #fae4b5;
}
.mm-badge--silver {
	background: #f0f3f6;
	color: #556270;
	border-color: #d6dde4;
}

/* Сетки карточек */
.mm-grid {
	display: grid;
	gap: 20px;
	margin-bottom: 36px;
}
.mm-grid--2 {
	grid-template-columns: repeat(2, 1fr);
}
.mm-grid--3 {
	grid-template-columns: repeat(3, 1fr);
}
.mm-grid--4 {
	grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991px) {
	.mm-grid--3, .mm-grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 680px) {
	.mm-grid--2, .mm-grid--3, .mm-grid--4 {
		grid-template-columns: 1fr;
	}
	.mm-hero-box {
		padding: 24px 20px;
	}
	.mm-h1 {
		font-size: 28px;
	}
	.mm-h2 {
		font-size: 24px;
	}
}

/* Карточки */
.mm-card {
	background: var(--mm-white);
	border: 1px solid var(--mm-border);
	border-radius: var(--mm-radius);
	padding: 26px;
	display: flex;
	flex-direction: column;
	transition: var(--mm-transition);
	position: relative;
}
.mm-card:hover {
	border-color: #bcd2bd;
	box-shadow: var(--mm-shadow);
	transform: translateY(-2px);
}
.mm-card--surface {
	background: var(--mm-surface);
	border-color: transparent;
}
.mm-card--surface:hover {
	background: var(--mm-surface-2);
}
.mm-card__icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: var(--mm-surface-2);
	color: var(--mm-brand);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	flex-shrink: 0;
}
.mm-card__icon img, .mm-card__icon svg {
	width: 28px;
	height: 28px;
}
.mm-card__title {
	font-size: 19px;
	font-weight: 700;
	color: var(--mm-ink);
	margin: 0 0 10px;
	line-height: 1.35;
}
.mm-card__text {
	font-size: 15px;
	color: var(--mm-muted);
	line-height: 1.55;
	margin: 0 0 16px;
	flex-grow: 1;
}
.mm-card__link {
	margin-top: auto;
}

/* Факты / Цифры */
.mm-facts-box {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 36px;
}
@media (max-width: 900px) {
	.mm-facts-box {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 500px) {
	.mm-facts-box {
		grid-template-columns: 1fr;
	}
}
.mm-fact-item {
	background: var(--mm-surface);
	border: 1px solid var(--mm-border);
	border-radius: var(--mm-radius);
	padding: 22px;
	text-align: center;
}
.mm-fact-item__num {
	display: block;
	font-size: 38px;
	font-weight: 800;
	color: var(--mm-brand);
	line-height: 1.1;
	margin-bottom: 6px;
	font-variant-numeric: tabular-nums;
}
.mm-fact-item__label {
	font-size: 14px;
	font-weight: 500;
	color: var(--mm-muted);
	line-height: 1.4;
}

/* Пошаговый процесс (1, 2, 3...) */
.mm-steps-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
	margin: 28px 0 36px;
}
.mm-step-card {
	background: var(--mm-white);
	border: 1px solid var(--mm-border);
	border-radius: var(--mm-radius);
	padding: 24px;
	position: relative;
	transition: var(--mm-transition);
}
.mm-step-card:hover {
	border-color: #bcd2bd;
	box-shadow: var(--mm-shadow);
}
.mm-step-card__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--mm-surface-2);
	color: var(--mm-brand);
	font-weight: 700;
	font-size: 17px;
	margin-bottom: 14px;
}
.mm-step-card__title {
	font-size: 17px;
	font-weight: 700;
	color: var(--mm-ink);
	margin: 0 0 8px;
}
.mm-step-card__text {
	font-size: 14px;
	color: var(--mm-muted);
	line-height: 1.5;
	margin: 0;
}

/* Карточки экспертов / спикеров */
.mm-speaker-card {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 28px;
	background: var(--mm-white);
	border: 1px solid var(--mm-border);
	border-radius: var(--mm-radius);
	padding: 26px;
	align-items: center;
	margin-bottom: 24px;
	transition: var(--mm-transition);
}
.mm-speaker-card:hover {
	box-shadow: var(--mm-shadow);
	border-color: #bcd2bd;
}
.mm-speaker-card__photo {
	border-radius: 12px;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 3/4;
	object-fit: cover;
}
.mm-speaker-card__name {
	font-size: 22px;
	font-weight: 700;
	color: var(--mm-ink);
	margin: 0 0 6px;
}
.mm-speaker-card__role {
	display: inline-block;
	color: var(--mm-brand);
	font-weight: 600;
	font-size: 15px;
	margin-bottom: 14px;
}
.mm-speaker-card__points,
.mm-page .mm-speaker-card__points,
.content-md .mm-speaker-card__points {
	list-style: none !important;
	list-style-type: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.mm-speaker-card__points li,
.mm-page .mm-speaker-card__points li,
.content-md .mm-speaker-card__points li {
	list-style: none !important;
	list-style-type: none !important;
	position: relative !important;
	padding-left: 24px !important;
	font-size: 14px !important;
	color: var(--mm-ink) !important;
	margin-bottom: 8px !important;
	line-height: 1.5 !important;
}
.mm-speaker-card__points li::marker,
.mm-page .mm-speaker-card__points li::marker,
.content-md .mm-speaker-card__points li::marker {
	display: none !important;
	content: "" !important;
}
.mm-speaker-card__points li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--mm-brand);
	font-weight: 700;
}
@media (max-width: 720px) {
	.mm-speaker-card {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.mm-speaker-card__photo {
		max-width: 200px;
		margin: 0 auto;
	}
	.mm-speaker-card__points li {
		text-align: left;
	}
}

/* Инфо-плашки / Callouts */
.mm-alert {
	border-radius: var(--mm-radius);
	padding: 20px 24px;
	display: flex;
	gap: 16px;
	align-items: flex-start;
	margin-bottom: 28px;
}
.mm-alert--info {
	background: #f0f7f3;
	border: 1px solid #cbe6d4;
	color: #1a4e2f;
}
.mm-alert--warning {
	background: #fffcf0;
	border: 1px solid #fae69e;
	color: #7d5f0e;
}
.mm-alert__icon {
	font-size: 20px;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 2px;
}
.mm-alert__content {
	font-size: 15px;
	line-height: 1.55;
}

/* Аккуратные таблицы (реквизиты, характеристики) */
.mm-table-clean {
	width: 100% !important;
	max-width: 100% !important;
	table-layout: fixed !important;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--mm-border);
	border-radius: var(--mm-radius);
	overflow: hidden;
	margin-bottom: 28px;
	word-wrap: break-word !important;
	word-break: break-word !important;
	overflow-wrap: break-word !important;
}
.mm-table-clean td, .mm-table-clean th {
	padding: 14px 20px;
	border-bottom: 1px solid var(--mm-border);
	font-size: 15px;
	word-wrap: break-word !important;
	word-break: break-word !important;
	overflow-wrap: break-word !important;
}
.mm-table-clean tr:last-child td {
	border-bottom: none;
}
.mm-table-clean td:first-child {
	color: var(--mm-muted);
	font-weight: 500;
	width: 35%;
	background: var(--mm-surface);
}
.mm-table-clean td:last-child {
	color: var(--mm-ink);
	font-weight: 600;
}
@media (max-width: 600px) {
	.mm-table-clean td, .mm-table-clean th {
		display: block;
		width: 100% !important;
	}
	.mm-table-clean tr {
		border-bottom: 1px solid var(--mm-border);
		display: block;
	}
	.mm-table-clean td:first-child {
		padding-bottom: 4px;
	}
}

/* CTA-блок захвата внизу страницы */
.mm-cta-box {
	background: linear-gradient(135deg, var(--mm-deep) 0%, #153828 100%);
	color: var(--mm-white);
	border-radius: var(--mm-radius-lg);
	padding: 40px 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	margin: 44px 0 20px;
}
.mm-cta-box__content {
	max-width: 650px;
}
.mm-cta-box__title {
	font-size: 26px;
	font-weight: 700;
	color: var(--mm-white);
	margin: 0 0 10px;
	line-height: 1.25;
}
.mm-cta-box__text {
	font-size: 16px;
	color: rgba(255, 255, 255, .85);
	margin: 0;
	line-height: 1.55;
}
.mm-cta-box__action {
	flex-shrink: 0;
}
@media (max-width: 860px) {
	.mm-cta-box {
		flex-direction: column;
		padding: 30px 24px;
		text-align: center;
	}
	.mm-cta-box__action {
		width: 100%;
	}
	.mm-cta-box__action .mm-btn {
		width: 100%;
	}
}

/* Адаптивная фотогалерея */
.mm-gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
	margin: 24px 0 36px;
}
.mm-gallery-item {
	border-radius: var(--mm-radius);
	overflow: hidden;
	aspect-ratio: 4/3;
	border: 1px solid var(--mm-border);
	background: var(--mm-surface);
	display: block;
	position: relative;
	transition: var(--mm-transition);
}
.mm-gallery-item:hover {
	transform: scale(1.02);
	box-shadow: var(--mm-shadow);
	border-color: #bcd2bd;
}
.mm-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Стилизация аккордеона FAQ в стиле главной страницы */
.mm-page .faq-items .item-accordion-wrapper {
	background: var(--mm-white) !important;
	border: 1px solid var(--mm-border) !important;
	border-radius: var(--mm-radius) !important;
	margin-bottom: 12px !important;
	box-shadow: var(--mm-shadow-sm) !important;
	transition: var(--mm-transition) !important;
	overflow: hidden;
}
.mm-page .faq-items .item-accordion-wrapper:hover {
	border-color: #bcd2bd !important;
	box-shadow: var(--mm-shadow) !important;
}
.mm-page .accordion-head {
	padding: 18px 24px !important;
}
.mm-page .accordion-head .switcher-title {
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var(--mm-ink) !important;
}
.mm-page .accordion-head:hover .switcher-title {
	color: var(--mm-brand) !important;
}
.mm-page .accordion-body {
	padding: 0 24px 22px !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
	color: var(--mm-muted) !important;
}

/* ============================================================
   АДАПТИВНАЯ ВЕРСТКА ДЛЯ ВСЕХ РАЗРЕШЕНИЙ (Mobile, Tablet, Desktop)
   ============================================================ */

/* CTA-блок: десктопная раскладка по умолчанию (в одну линию) */
.mm-cta-row {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}
.mm-cta-row__text {
	flex: 1;
	min-width: 0;
}
.mm-cta-row__actions {
	display: flex;
	flex-wrap: nowrap;
	gap: 12px;
	align-items: center;
	flex-shrink: 0;
}

.mm-hero-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 32px;
}
.mm-legal-card__header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

/* Защита от горизонтального скролла — только внутри информационных страниц.
   22.09.2026: правило было глобальным (html, body, .layout, .main, .middle) и ломало
   position: sticky у любых вложенных блоков на всём сайте, включая каталог и карточку. */
.mm-page,
.mm-article-wrap {
	overflow-x: clip;
	max-width: 100%;
	box-sizing: border-box;
}
.mm-page *,
.mm-article-wrap * {
	box-sizing: border-box !important;
}

/* Адаптивные таблицы без горизонтального скролла всей страницы */
.mm-table-responsive {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 20px 0;
}
.mm-table-responsive table {
	max-width: none !important;
}

/* Защита телефонных номеров от разрыва по дефису */
a[href^="tel:"],
.mm-phone {
	white-space: nowrap !important;
}

/* Сетка фактов */
.mm-facts-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 40px;
}
@media (max-width: 900px) {
	.mm-facts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 500px) {
	.mm-facts-grid {
		grid-template-columns: 1fr;
	}
}

/* Бейджи протоколов */
.mm-protocols-badges {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}

/* Мобильные и планшетные разрешения (<= 768px) */
@media (max-width: 768px) {
	/* Компактные вкладки FAQ со скроллом вместо гигантских вертикальных плашек */
	.faq-section-tabs {
		overflow: hidden !important;
		margin-bottom: 18px !important;
	}
	.faq-section-tabs__list,
	.tabs.faq-section-tabs .nav-tabs {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		gap: 8px !important;
		padding: 4px 0 8px !important;
		margin: 0 !important;
		border: none !important;
	}
	.faq-section-tabs__list::-webkit-scrollbar,
	.tabs.faq-section-tabs .nav-tabs::-webkit-scrollbar {
		display: none !important;
	}
	.faq-section-tabs__list .nav__item,
	.tabs.faq-section-tabs .nav-tabs > li {
		flex-shrink: 0 !important;
		margin: 0 !important;
		display: inline-flex !important;
	}
	.faq-section-tabs__list .nav__item a,
	.tabs.faq-section-tabs .nav-tabs > li > a {
		white-space: nowrap !important;
		padding: 8px 14px !important;
		font-size: 13px !important;
		line-height: 1.3 !important;
		border-radius: 8px !important;
		border: 1px solid #e2e8f0 !important;
		background: #f8fafc !important;
		color: #334155 !important;
		margin: 0 !important;
	}
	.faq-section-tabs__list .nav__item.active a,
	.tabs.faq-section-tabs .nav-tabs > li.active > a {
		background: #007042 !important;
		color: #ffffff !important;
		border-color: #007042 !important;
	}

	/* Скрытие шаблонного текста в FAQ */
	.mm-faq-equipment-page .text_before_items,
	.mm-faq-page .text_before_items {
		display: none !important;
	}

	/* Бейджи протоколов на мобильных: компактный скролл */
	.mm-protocols-badges {
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		gap: 6px !important;
		padding-bottom: 4px !important;
		margin-bottom: 16px !important;
	}
	.mm-protocols-badges::-webkit-scrollbar {
		display: none !important;
	}
	.mm-protocols-badges .mm-badge {
		flex-shrink: 0 !important;
		font-size: 12px !important;
		padding: 5px 12px !important;
	}

	/* Компактный вид карточек протоколов на мобильных */
	.mm-protocols-page .ui-cards {
		margin-top: 14px !important;
		gap: 16px !important;
		row-gap: 16px !important;
	}
	.mm-protocols-page .ui-card {
		border-radius: 10px !important;
	}
	.mm-protocols-page .ui-card__image {
		max-height: 220px !important;
		overflow: hidden !important;
	}
	.mm-protocols-page .ui-card__image img {
		object-fit: cover !important;
		width: 100% !important;
		height: 100% !important;
		max-height: 220px !important;
	}
	.mm-protocols-page .ui-card__info {
		padding: 12px 14px 14px !important;
	}
	.mm-protocols-page .ui-card__title {
		font-size: 15px !important;
		padding: 4px 0 !important;
		line-height: 1.35 !important;
	}

	/* Хлебные крошки на мобильных: плавный свайп-скролл без обрезания текста */
	#navigation {
		overflow: hidden;
		margin-bottom: 8px !important;
	}
	.breadcrumbs {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		white-space: nowrap !important;
		font-size: 12px !important;
		gap: 6px !important;
		align-items: center !important;
		padding-bottom: 4px !important;
	}
	.breadcrumbs::-webkit-scrollbar {
		display: none !important;
	}
	.breadcrumbs__item {
		flex-shrink: 0 !important;
	}
	.category-separator {
		flex-shrink: 0 !important;
	}

	/* Верхние кнопки действий (телефон, консультация, whatsapp) */
	.mm-hero-actions {
		flex-direction: column !important;
		width: 100% !important;
		gap: 10px !important;
	}
	.mm-hero-actions .mm-btn,
	.mm-hero-actions a,
	.mm-hero-actions button {
		width: 100% !important;
		justify-content: center !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}

	/* Карточки правовой базы: бейдж сверху, заголовок на новой строке */
	.mm-legal-card__header {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 8px !important;
	}

	/* CTA-блок: безопасный перенос в колонку без горизонтального скролла */
	.mm-cta-row {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 16px !important;
	}
	.mm-cta-row__text {
		text-align: left !important;
	}
	.mm-cta-row__actions {
		flex-direction: column !important;
		width: 100% !important;
		gap: 10px !important;
	}
	.mm-cta-row__actions .mm-btn,
	.mm-cta-row__actions a,
	.mm-cta-row__actions button {
		width: 100% !important;
		justify-content: center !important;
		text-align: center !important;
		box-sizing: border-box !important;
		margin: 0 !important;
	}

	/* Адаптация сеток: перевод в 1 колонку на смартфонах */
	.mm-grid--2, .mm-grid--3, .mm-grid--4,
	.mm-grid-2-col, .mm-grid-3-col, .mm-grid-4-col,
	.mm-toc-grid, .mm-card-grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	/* Карточки на узких экранах */
	.mm-card {
		padding: 18px 16px !important;
	}

	/* Спикеры */
	.mm-speaker-card {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
	}
	.mm-speaker-card__photo {
		margin-bottom: 16px;
	}
	.mm-speaker-card__points {
		text-align: left;
	}
}

/* Ультра-малые экраны (<= 480px, компактные смартфоны) */
@media (max-width: 480px) {
	.mm-page {
		font-size: 15px;
	}
	.mm-h1 {
		font-size: 24px !important;
		line-height: 1.25 !important;
	}
	.mm-h2 {
		font-size: 20px !important;
		line-height: 1.3 !important;
	}
	.mm-lead {
		font-size: 15px !important;
		line-height: 1.5 !important;
		margin-bottom: 18px !important;
	}
	.mm-card__title {
		font-size: 17px !important;
	}
	.mm-btn {
		padding: 11px 18px !important;
		font-size: 14px !important;
	}
}

/* Отступ подвала под мобильную панель иконок (до 991px включительно) */
@media (max-width: 991px) {
	.footer, #footer, .mm-footer {
		padding-bottom: 90px !important;
	}
	/* Разведение плавающих виджетов WhatsApp и обратного звонка (Mango Office), чтобы не наезжали друг на друга */
	#ag-chatpanel-wrap, .ag_chatpanel_wrap {
		z-index: 990 !important;
	}
	.bottom-icons-panel__content {
		justify-content: center !important;
	}
	.bottom-icons-panel__content-link {
		min-width: 68px !important;
		max-width: 92px !important;
		flex: 1 1 auto !important;
	}
}

/* Разведение плавающих виджетов на десктопе */
@media (min-width: 992px) {
	#ag-chatpanel-wrap, .ag_chatpanel_wrap {
		z-index: 990 !important;
	}
}

/* ==========================================================================
   МОДАЛЬНЫЕ ОКНА И ПОПАПЫ (УСТРАНЕНИЕ БЕЛОЙ ПУСТОТЫ И ПЕРЕКРЫТИЯ ВИДЖЕТАМИ)
   ========================================================================== */

/* Затемнение фона под модальным окном */
.jqmOverlay {
	z-index: 99990 !important;
	background: rgba(15, 23, 42, 0.75) !important;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

/* Модальное окно */
.jqmWindow,
#popup_iframe_wrapper .jqmWindow,
#body_iframe_wrapper .jqmWindow {
	z-index: 100000 !important;
	box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.5) !important;
}

/* На мобильных устройствах: аккуратная карточка по центру экрана без белой пустоты */
@media (max-width: 600px) {
	.jqmWindow,
	.jqmWindow.jqmWindow--mobile-fill,
	#popup_iframe_wrapper .jqmWindow,
	#popup_iframe_wrapper .jqmWindow--mobile-fill,
	#body_iframe_wrapper .jqmWindow,
	#body_iframe_wrapper .jqmWindow--mobile-fill {
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		right: auto !important;
		bottom: auto !important;
		transform: translate(-50%, -50%) !important;
		width: calc(100vw - 32px) !important;
		max-width: 440px !important;
		min-height: auto !important;
		height: auto !important;
		max-height: calc(100vh - 40px) !important;
		border-radius: 18px !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box !important;
		background: #ffffff !important;
	}

	.jqmWindow .form.popup {
		padding: 24px 20px 20px !important;
		background: #ffffff !important;
		border-radius: 18px !important;
	}

	.jqmWindow .form.popup .form-header {
		padding: 0 0 16px !important;
	}

	.jqmWindow .form.popup .form-header .title {
		font-size: 22px !important;
		line-height: 1.25 !important;
	}

	.jqmWindow .form.popup .form-header .form_desc {
		font-size: 14px !important;
		line-height: 1.4 !important;
		margin-top: 8px !important;
	}

	.jqmWindow .form.popup .form-body {
		padding: 0 !important;
	}

	.jqmWindow .form.popup .form-footer {
		padding: 16px 0 0 !important;
	}

	.jqmWindow .jqmClose.top-close {
		top: 12px !important;
		right: 12px !important;
		width: 34px !important;
		height: 34px !important;
		background: rgba(0, 0, 0, 0.05) !important;
		border-radius: 50% !important;
	}
}

/* Полное скрытие плавающих виджетов при открытой модальной форме */
body.jqm-initied #ag-chatpanel-wrap,
body.jqm-initied .ag_chatpanel_wrap,
body.jqm-initied [id*="mango"],
body.jqm-initied [class*="mango"],
body.jqm-initied [id^="mgo_"],
body.jqm-initied [class^="mgo_"],
body.mm-modal-open #ag-chatpanel-wrap,
body.mm-modal-open .ag_chatpanel_wrap,
body.mm-modal-open [id*="mango"],
body.mm-modal-open [class*="mango"],
body.mm-modal-open [id^="mgo_"],
body.mm-modal-open [class^="mgo_"] {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* ============================================================
   ЧИСТАЯ ПЕЧАТЬ СТРАНИЦ И ДОКУМЕНТОВ БЕЗ МУСОРА
   ============================================================ */
@media print {
	/* Скрываем плавающие виджеты, чаты, кнопки наверх, служебные панели */
	#ag-chatpanel-wrap,
	.ag_chatpanel_wrap,
	.ag_chatpanel_shadow,
	.scroll_to_top,
	#scroll-to-top,
	.bottom-icons-panel,
	.bx_areas,
	.mm-print-hide {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		height: 0 !important;
		width: 0 !important;
		overflow: hidden !important;
	}

	/* Предотвращение разрыва блоков реквизитов и подписей */
	.mm-contract-signatures,
	.mm-requisites-table,
	.mm-contract-parties,
	.mm-contract-party-box {
		page-break-inside: avoid !important;
		break-inside: avoid !important;
	}
}



/* Служебное поле «Сообщение» формы «Заказать звонок» (добавлено 22.09.2026).
   В него mm-home.js кладёт источник заявки (блок главной, ответы квиза, страница),
   значение уходит в комментарий сделки Битрикс24. Посетителю поле не показываем —
   форма остаётся из двух полей, как и была. */
.jqmWindow.callback_frame .form-body [data-sid="MESSAGE"] {
	display: none !important;
}
