/* Текстовый блок услуги (DETAIL_TEXT после миграции со старой aspro-вёрстки).
   Отдельный файл: sass/style.css приходит от верстальщика и перезаписывается при обновлении.
   Типографика взята из вёрстки: Inter для текста, Roboto для заголовков (классы .h2/.h3),
   карточка — как у блока .about, но с левым выравниванием и обычным цветом текста. */

.service-text {
	display: block;
	background-color: var(--color-white, #fff);
	border-radius: var(--radius-default, 16px);
	padding: calc(var(--space-default, 16px) * 2.5);
	margin-bottom: calc(var(--space-xxl, 64px) - var(--space-xs, 8px));
	font-size: 18px;
	line-height: 28px;
	color: var(--color-black, #000);
}

.service-text > *:first-child { margin-top: 0; }
.service-text > *:last-child { margin-bottom: 0; }

/* ---------- заголовки ----------
   Класс .h2 из вёрстки — это размер заголовка секции (40px). Внутри статьи заголовков
   много, поэтому уменьшаем, сохраняя гарнитуру и начертание вёрстки. */
.service-text h2 {
	font-size: 32px;
	line-height: 1.2;
	margin: 40px 0 16px;
}
.service-text h3 {
	font-size: 22px;
	line-height: 1.3;
	margin: 32px 0 12px;
}

.service-text p { margin: 0 0 16px; }
.service-text b, .service-text strong { font-weight: 600; }

.service-text a {
	color: var(--color-link, #A98E4F);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.service-text a:hover { text-decoration: none; }
.service-text a.button { text-decoration: none; }

/* ---------- списки ----------
   Маркеры рисуем сами: у нумерованных списков номера уже стоят в тексте (это оглавления
   из старого контента), поэтому свои счётчики не добавляем — иначе будет «1. 1.». */
.service-text ul,
.service-text ol {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
.service-text li { position: relative; padding-left: 28px; margin-bottom: 10px; }
.service-text ul > li::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 11px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--color-primary-orange, #FD9D60);
}
.service-text ol > li::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 12px;
	width: 10px;
	height: 2px;
	background-color: var(--color-primary-orange, #FD9D60);
}
.service-text li ul, .service-text li ol { margin: 10px 0 0; }

/* ---------- кнопки записи ---------- */
.service-text__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-small, 12px);
	margin: 0 0 24px;
}

/* Строка «текст + кнопка» (в старой вёрстке это была таблица order-block) */
.service-text__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-default, 16px);
	margin: 0 0 24px;
	padding: 24px;
	border-radius: var(--radius-default, 16px);
	background-color: var(--color-light-yellow, #FEF9E5);
}
.service-text__cta-text { flex: 1 1 320px; }
.service-text__cta-text > *:last-child { margin-bottom: 0; }
.service-text__cta > *:last-child { margin-bottom: 0; }
.service-text__cta .service-text__actions { margin: 0; }

/* Выделенный блок с контактами (styled-block) */
.service-text__box {
	margin: 0 0 24px;
	padding: 24px;
	border: 1px solid #F0E2C6;
	border-radius: var(--radius-default, 16px);
}
.service-text__box > *:last-child { margin-bottom: 0; }

/* ---------- цитаты ---------- */
.service-text__quote {
	margin: 0 0 24px;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--color-primary-orange, #FD9D60);
	color: var(--color-gray, #65717C);
	font-style: italic;
}
.service-text__quote i { font-style: inherit; }

/* ---------- медиа ---------- */
.service-text__image {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 24px auto;
	border-radius: var(--radius-default, 16px);
}

.service-text__video {
	position: relative;
	margin: 24px 0;
	padding-top: 56.25%;
	border-radius: var(--radius-default, 16px);
	overflow: hidden;
}
.service-text__video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ---------- таблицы ---------- */
.service-text__table-wrap {
	margin: 0 0 24px;
	overflow-x: auto;
}
.service-text__table {
	width: 100%;
	border-collapse: collapse;
}
.service-text__table td,
.service-text__table th {
	padding: 12px 16px;
	border: 1px solid #E7EBEF;
	text-align: left;
	vertical-align: top;
}

.service-text hr {
	height: 1px;
	margin: 32px 0;
	border: 0;
	background-color: #E7EBEF;
}

/* Врезка .about из вёрстки внутри статьи — оставляем её собственное оформление,
   только убираем нижний отступ секции, чтобы не рвать ритм текста. */
.service-text .about { margin-bottom: 24px; }

@media (max-width: 767px) {
	.service-text {
		padding: var(--space-medium, 24px) var(--space-default, 16px);
		font-size: 16px;
		line-height: 26px;
	}
	.service-text h2 { font-size: 26px; margin-top: 32px; }
	.service-text h3 { font-size: 20px; margin-top: 24px; }
	.service-text__cta { padding: 16px; }
	.service-text__box { padding: 16px; }
}
