/* === ЭТАП 2 ===
   Стили для ACF Flexible Content на page.php
   Классы намеренно с префиксом stl2- во избежание коллизий с main.css
   (см. "Технические уроки" в контексте проекта)
*/

:root {
	--stl2-brand: #F34423;
	--stl2-brand-dark: #D63516;
	--stl2-dark: #1A1A1A;
	--stl2-gray-bg: #F5F5F5;
	--stl2-border: #E5E7EB;
	--stl2-text-muted: #6B7280;
	--stl2-success-bg: #EAF7ED;
	--stl2-success-text: #1A7A35;
	--stl2-warn-bg: #FFF8E6;
	--stl2-warn-text: #9A6700;
}

/* Сброс дефолтных margin/padding браузера внутри блоков Flexible Content —
   в прототипах везде стоит универсальный `* { margin:0; padding:0 }`, у нас
   его не было, из-за чего UA-стили <h3>/<p>/<ul> добавляли непредсказуемые
   отступы поверх наших explicit margin-bottom и т.п. Размещён ДО .stl2-container
   и остальных правил ниже — при равной специфичности (0,1,0) более поздние
   правила в файле переопределяют этот сброс, а не наоборот. */
.stl2-hero *, .stl2-section * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.stl2-container { max-width: 1140px; margin: 0 auto; padding: 0 20px; }
.stl2-section { padding: 56px 0; }
.stl2-bg-white { background: #FFFFFF; }
.stl2-bg-gray { background: var(--stl2-gray-bg); }
.stl2-bg-dark { background: var(--stl2-dark); }
.stl2-bg-dark .stl2-h2 { color: #fff; }
.stl2-bg-dark .stl2-intro { color: rgba(255,255,255,.6); }

/* Разделитель между секциями убран — теперь секции визуально разделяются
   чередованием белого/серого фона (bg_variant), а не линией. */

/* Montserrat каскадом на все дочерние элементы блоков Flexible Content —
   закрывает пробелы там, где отдельные селекторы не задавали font-family явно */
.stl2-hero, .stl2-section, .stl2-callout {
	font-family: Montserrat, sans-serif;
}

.stl2-h2 {
	font-size: 26px;
	font-weight: 800;
	margin-bottom: 32px;
	padding-left: 18px;
	border-left: 4px solid var(--stl2-brand);
	font-family: Montserrat, sans-serif;
	color: var(--stl2-dark);
}
.stl2-intro { font-size: 15px; color: var(--stl2-text-muted); margin-bottom: 28px; line-height: 1.5; }

/* ---------- HERO ---------- */
.stl2-hero {
	position: relative;
	overflow: hidden;
	padding: 72px 0 64px;
	background: linear-gradient(135deg, var(--stl2-dark) 55%, #1a1f1a 100%);
}
.stl2-hero__decor { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.stl2-hero__decor--icon { display: flex; align-items: center; justify-content: flex-end; padding-right: 8%; font-size: 160px; color: rgba(255,255,255,.05); }
.stl2-hero__inner { position: relative; z-index: 2; max-width: 1140px; margin: 0 auto; padding: 0 20px; }
.stl2-hero__breadcrumb { font-size: 12px; color: rgba(255,255,255,.45); margin-bottom: 20px; letter-spacing: .04em; text-transform: uppercase; font-family: Montserrat, sans-serif; }
.stl2-hero__title { font-size: clamp(28px,4vw,48px); font-weight: 800; color: #fff; line-height: 1.1; margin-bottom: 16px; font-family: Montserrat, sans-serif; }
.stl2-hero__subtitle { font-size: 16px; color: rgba(255,255,255,.65); max-width: 580px; margin-bottom: 40px; font-family: Montserrat, sans-serif; }
.stl2-hero__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

.stl2-fact {
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 12px;
	padding: 22px 20px;
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.stl2-fact__icon {
	width: 44px; height: 44px; border-radius: 10px;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0; font-size: 18px; color: #fff;
}
.stl2-fact__body strong { display: block; font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 4px; font-family: Montserrat, sans-serif; }
.stl2-fact__body span { font-size: 13px; color: rgba(255,255,255,.55); font-family: Montserrat, sans-serif; line-height: 1.5; }
.stl2-fact__row { margin-bottom: 10px; }
.stl2-fact__row:last-child { margin-bottom: 0; }
.stl2-fact__label { font-size: 11px; font-weight: 700; color: rgba(255,255,255,.45); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 4px; font-family: Montserrat, sans-serif; }
.stl2-fact__value { display: block; font-size: 18px; font-weight: 800; color: #fff; text-decoration: none; font-family: Montserrat, sans-serif; }
a.stl2-fact__value:hover { color: var(--stl2-brand); }
.stl2-fact__note { font-size: 13px; color: rgba(255,255,255,.55); font-family: Montserrat, sans-serif; margin-top: 2px; }

/* ---------- CARD GRID ---------- */
.stl2-cardgrid { display: grid; gap: 20px; }
.stl2-cardgrid-wrap--boxed {
	background: #fff; border: 1px solid var(--stl2-border); border-radius: 14px; padding: 28px 24px;
}
.stl2-cardgrid--grid-1 { grid-template-columns: 1fr; }
.stl2-cardgrid--grid-2 { grid-template-columns: repeat(2, 1fr); }
.stl2-cardgrid--grid-3 { grid-template-columns: repeat(3, 1fr); }
.stl2-cardgrid--grid-4 { grid-template-columns: repeat(4, 1fr); }
.stl2-cardgrid--list { display: flex; flex-direction: column; gap: 0; position: relative; }
.stl2-cardgrid--list::before {
	content: ''; position: absolute; left: 24px; top: 0; bottom: 0;
	width: 2px; background: #E0E0E0; z-index: 0;
}

.stl2-card {
	background: #fff;
	border: 1px solid var(--stl2-border);
	border-radius: 14px;
	padding: 24px;
	text-decoration: none;
	color: inherit;
	display: block;
	transition: border-color .2s;
}
a.stl2-card:hover { border-color: var(--stl2-brand); }
a.stl2-card:hover .stl2-card__title { color: var(--stl2-brand); }
.stl2-bg-dark .stl2-card {
	background: transparent; border: none; padding: 24px 16px; text-align: center;
}
.stl2-bg-dark .stl2-card__visual--icon { margin-left: auto; margin-right: auto; }
.stl2-bg-dark .stl2-card__title { color: #fff; font-size: 14px; }
.stl2-bg-dark .stl2-card__text { color: rgba(255,255,255,.6); }

/* Рамка-бокс (show_border) сама по себе белая — если она включена на тёмной
   секции, текст карточек внутри неё должен остаться тёмным, а не белым. */
.stl2-bg-dark .stl2-cardgrid-wrap--boxed .stl2-card__title { color: var(--stl2-dark); }
.stl2-bg-dark .stl2-cardgrid-wrap--boxed .stl2-card__text { color: var(--stl2-text-muted); }
.stl2-cardgrid__cta { text-align: center; margin-top: 36px; }

/* ---------- JOB_LISTING (Открытые вакансии) ---------- */
.stl2-joblisting { display: grid; gap: 24px; }
.stl2-joblisting--cols1 { grid-template-columns: 1fr; }
.stl2-joblisting--cols2 { grid-template-columns: repeat(2, 1fr); }
.stl2-joblisting--cols3 { grid-template-columns: repeat(3, 1fr); }

.stl2-jobcard {
	background: #fff; border: 1px solid var(--stl2-border); border-radius: 14px; padding: 28px 24px;
	border-top: 4px solid var(--stl2-brand); display: flex; flex-direction: column; gap: 16px;
}
.stl2-jobcard__head { display: flex; align-items: flex-start; gap: 16px; }
.stl2-jobcard__icon {
	width: 48px; height: 48px; background: #FFF5F2; border-radius: 12px;
	display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 22px; color: var(--stl2-brand);
}
.stl2-jobcard__title { font-size: 17px; font-weight: 700; line-height: 1.3; font-family: Montserrat, sans-serif; margin: 0; }

.stl2-jobcard__tags { display: flex; flex-wrap: wrap; gap: 10px; }
.stl2-jobcard__tag {
	display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600;
	padding: 5px 12px; border-radius: 20px; font-family: Montserrat, sans-serif;
}
.stl2-jobcard__tag i { font-size: 11px; }
.stl2-jobcard__tag--salary { background: #F0FDF4; border: 1px solid #BBF7D0; color: #16A34A; }
.stl2-jobcard__tag--schedule { background: var(--stl2-gray-bg); border: 1px solid var(--stl2-border); color: #444; font-weight: 500; }

.stl2-jobcard__list { list-style: none; margin: 0; padding: 0; }
.stl2-jobcard__list li {
	font-size: 13px; color: var(--stl2-text-muted); padding-left: 16px; position: relative;
	margin-bottom: 6px; font-family: Montserrat, sans-serif;
}
.stl2-jobcard__list li::before {
	content: ''; position: absolute; left: 0; top: 6px; width: 6px; height: 6px;
	background: var(--stl2-brand); border-radius: 50%;
}

.stl2-jobcard__apply { align-self: flex-start; }

@media (max-width: 900px) {
	.stl2-joblisting--cols2, .stl2-joblisting--cols3 { grid-template-columns: 1fr; }
}
.stl2-cardgrid--list .stl2-card {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0 0 28px;
	position: relative;
	z-index: 1;
}
.stl2-cardgrid--list .stl2-card:last-child { padding-bottom: 0; }
.stl2-cardgrid--list .stl2-card__body { padding-top: 10px; }
.stl2-card--accent-top { border-top: 4px solid var(--stl2-brand); }
.stl2-card--accent-left { border-left: 4px solid var(--stl2-brand); }

.stl2-card__visual--icon {
	width: 44px; height: 44px; border-radius: 10px; background: var(--stl2-brand);
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-size: 18px; margin-bottom: 14px; flex-shrink: 0;
}

/* Иконка слева от текста (flex-row), вместо стека иконка-над-заголовком */
.stl2-cardgrid--icon-inline .stl2-card {
	display: flex; gap: 14px; align-items: flex-start;
}
.stl2-cardgrid--icon-inline .stl2-card__visual--icon { margin-bottom: 0; }

/* Лёгкий тонированный квадрат вместо сплошного цветного кружка */
.stl2-cardgrid--icon-tint .stl2-card__visual--icon {
	width: 40px; height: 40px; background: #FFF5F2; color: var(--stl2-brand); font-size: 18px;
}

.stl2-card__visual--number {
	width: 28px; height: 28px; border-radius: 2px; background: var(--stl2-brand);
	display: inline-flex; align-items: center; justify-content: center;
	color: #fff; font-weight: 700; font-size: 13px; margin-bottom: 12px; flex-shrink: 0;
}
.stl2-cardgrid--list .stl2-card__visual--number {
	width: 48px; height: 48px; border-radius: 50%;
	font-size: 15px; font-weight: 800; margin-bottom: 0;
	box-shadow: 0 0 0 4px #fff;
}

.stl2-card__badge {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 12px; font-weight: 700; color: var(--stl2-brand);
	background: #FFF5F2; padding: 5px 12px; border-radius: 20px;
	margin-bottom: 16px; text-transform: uppercase; letter-spacing: .04em;
}
.stl2-card:has(> .stl2-card__chip) { text-align: center; }
.stl2-card__chip {
	display: inline-block; font-size: 13px; font-weight: 700;
	padding: 6px 14px; border-radius: 6px; margin-bottom: 12px;
}
.stl2-card__chip--ok { background: var(--stl2-success-bg); color: var(--stl2-success-text); }
.stl2-card__chip--bad { background: #FDECEC; color: #B42318; }
.stl2-card__stat { font-size: 28px; font-weight: 800; color: var(--stl2-brand); margin-bottom: 8px; }
.stl2-card__stat span { font-size: 14px; font-weight: 600; color: var(--stl2-text-muted); }

.stl2-card__title { font-size: 16px; font-weight: 700; color: var(--stl2-dark); margin-bottom: 8px; font-family: Montserrat, sans-serif; }
.stl2-card__text { font-size: 14px; color: var(--stl2-text-muted); line-height: 1.6; }
.stl2-card__text strong, .stl2-card__text b,
.stl2-richtext strong, .stl2-richtext b,
.stl2-locpanel__intro strong, .stl2-locpanel__intro b {
	font-weight: 700 !important;
}
.stl2-card__link { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--stl2-text-muted); margin-top: 8px; }

.stl2-tag { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 2px; margin-top: 10px; }
.stl2-tag--green { background: var(--stl2-success-bg); color: var(--stl2-success-text); }
.stl2-tag--orange { background: var(--stl2-warn-bg); color: var(--stl2-warn-text); }

/* ---------- TABLE ---------- */
.stl2-table { width: 100%; border-collapse: collapse; }

/* Без заголовка — как .tc-table в Доставке: плоская таблица, без теней/скруглений */
.stl2-table td { padding: 14px 8px; font-size: 14px; vertical-align: middle; }
.stl2-table tr { border-bottom: 1px solid var(--stl2-border); }
.stl2-table tr:last-child { border-bottom: none; }
.stl2-table td:first-child { font-weight: 600; }
.stl2-table td:last-child { text-align: right; }

/* С заголовком — как .guarantee-table/.obligations-table у Гарантии:
   красная плашка заголовка, белые скруглённые карточки-строки, тень */
.stl2-table--header { border-radius: 14px; overflow: hidden; box-shadow: 0 2px 16px rgba(0,0,0,.06); }
.stl2-table--header thead tr { background: var(--stl2-brand); border-bottom: none; }
.stl2-table--header thead th {
	padding: 16px 20px; font-size: 13px; font-weight: 700; color: #fff;
	text-align: left; letter-spacing: .04em; text-transform: uppercase;
}
.stl2-table--header tbody tr { background: #fff; border-bottom: 1px solid var(--stl2-border); transition: background .15s; }
.stl2-table--header tbody tr:last-child { border-bottom: none; }
.stl2-table--header tbody tr:hover { background: #FFF9F8; }
.stl2-table--header tbody td { padding: 18px 20px; font-size: 14px; vertical-align: top; text-align: left; }
.stl2-table--header tbody td:first-child { font-weight: 700; color: var(--stl2-dark); width: 38%; border-right: 1px solid var(--stl2-border); }
.stl2-table--header tbody td:last-child { color: var(--stl2-text-muted); line-height: 1.55; text-align: left; }

.stl2-btn i { margin-right: 6px; }
.stl2-btn--table i { color: #fff; }
.stl2-btn--table { display: inline-block; padding: 7px 18px; background: var(--stl2-brand); color: #fff; font-size: 12px; font-weight: 700; border-radius: 2px; text-decoration: none; transition: background .2s; }
.stl2-btn--table:hover { background: var(--stl2-dark); color: #fff; }

/* ---------- CALLOUT ---------- */
.stl2-callout {
	display: flex; gap: 12px; align-items: flex-start;
	padding: 16px 20px; font-size: 14px; line-height: 1.5;
	border-radius: 10px; color: var(--stl2-dark);
}
.stl2-callout i { flex-shrink: 0; margin-top: 1px; }
.stl2-callout--warning { background: #FFF9F8; border: 1px solid #FFD0C4; border-left: 4px solid var(--stl2-brand); }
.stl2-callout--warning i { color: var(--stl2-brand); }
.stl2-callout--tip { background: #FFFDF5; border: 1px solid #FDE9B8; border-left: 4px solid #F59E0B; }
.stl2-callout--tip i { color: #F59E0B; }
.stl2-callout--info { background: #F5F9FF; border: 1px solid #C7DCF7; border-left: 4px solid #3B82F6; }
.stl2-callout--info i { color: #3B82F6; }

/* Группировка callout-секции с предыдущим блоком (card_grid/simple_table)
   в одну визуальную единицу, как в прототипе — без разделительной линии
   и без двойного section-паддинга между ними. */
.stl2-section:has(+ .stl2-section--callout) { padding-bottom: 0; }
.stl2-section--callout { padding-top: 24px; }

/* ---------- LOCATION BLOCK ---------- */
.stl2-loctabs { display: flex; border-bottom: 2px solid #E0E0E0; margin-bottom: 24px; }
.stl2-loctabs__btn {
	padding: 10px 24px; background: none; border: none;
	font-size: 13px; font-weight: 600; color: #6B6B6B; cursor: pointer;
	font-family: Montserrat, sans-serif; border-bottom: 3px solid transparent; margin-bottom: -2px;
}
.stl2-loctabs__btn.active { color: var(--stl2-brand); border-bottom-color: var(--stl2-brand); }

.stl2-locpanel__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; }
.stl2-locrow { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid #E0E0E0; }
.stl2-locrow:last-of-type { border-bottom: none; }
.stl2-locrow__icon { color: var(--stl2-brand); flex-shrink: 0; margin-top: 1px; font-size: 16px; width: 18px; text-align: center; }
.stl2-locrow__label { font-size: 10px; color: #6B6B6B; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 2px; font-family: Montserrat, sans-serif; }
.stl2-locrow__value { font-size: 13px; color: var(--stl2-dark); line-height: 1.5; }
.stl2-locpanel__intro { font-size: 14px; color: var(--stl2-text-muted); line-height: 1.6; margin-bottom: 16px; }
.stl2-locpanel__buttons { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.stl2-locpanel__gallery { display: flex; gap: 8px; margin-top: 16px; }
.stl2-locpanel__gallery img { width: 60px; height: 60px; object-fit: cover; border-radius: 8px; }
.stl2-locpanel__map { border-radius: 0; overflow: hidden; }
.stl2-locpanel__map-placeholder {
	height: 260px; background: var(--stl2-gray-bg); border: 1px solid #E0E0E0;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 8px; color: #9CA3AF; font-size: 13px;
}
.stl2-locpanel__map-placeholder i { font-size: 40px; }

.stl2-btn { display: inline-block; padding: 10px 20px; border-radius: 6px; font-size: 13px; font-weight: 700; text-decoration: none; font-family: Montserrat, sans-serif; transition: background .2s, color .2s, border-color .2s; }
.stl2-btn--red { background: var(--stl2-brand); color: #fff; }
.stl2-btn--red i { color: #fff; }
.stl2-btn--red:hover { background: var(--stl2-dark); color: #fff; }
.stl2-btn--outline { background: transparent; border: 1px solid var(--stl2-border); color: var(--stl2-dark); }
.stl2-btn--outline i { color: var(--stl2-brand); }
.stl2-btn--outline:hover { color: var(--stl2-brand); border-color: rgba(243, 68, 35, .7); }

/* ---------- SCHEDULE BLOCK ---------- */
.stl2-schedule { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.stl2-schedule__card { background: var(--stl2-gray-bg); border: 1px solid #E0E0E0; border-radius: 12px; padding: 16px; }
.stl2-schedule__title { font-size: 13px; font-weight: 700; padding-bottom: 10px; border-bottom: 3px solid var(--stl2-brand); margin-bottom: 10px; color: var(--stl2-dark); }
.stl2-schedule__row { display: flex; justify-content: space-between; font-size: 12px; padding: 6px 0; border-bottom: 1px solid #E0E0E0; }
.stl2-schedule__row:last-of-type { border-bottom: none; }
.stl2-schedule__closed { color: #E24B4A; font-weight: 600; }
.stl2-schedule__note { font-size: 12px; color: var(--stl2-text-muted); margin-top: 12px; line-height: 1.5; }

/* ---------- DOCUMENT GRID ---------- */
.stl2-docgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.stl2-doccard {
	display: flex; flex-direction: column; align-items: center; text-align: center;
	background: #fff; border: 1px solid var(--stl2-border); border-radius: 14px;
	padding: 32px 24px; text-decoration: none; border-top: 4px solid var(--stl2-brand);
	transition: box-shadow .2s;
}
.stl2-doccard:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.stl2-doccard__icon {
	width: 64px; height: 80px; background: #FFF5F2; border: 1px solid #FFD0C4; border-radius: 8px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 16px;
}
.stl2-doccard__icon span { font-size: 11px; font-weight: 800; color: var(--stl2-brand); letter-spacing: .04em; }
.stl2-doccard__icon i { font-size: 28px; color: var(--stl2-brand); margin-top: 4px; }
.stl2-doccard__title { font-size: 14px; font-weight: 600; color: var(--stl2-dark); line-height: 1.4; }
.stl2-doccard__link { font-size: 12px; color: var(--stl2-text-muted); margin-top: 8px; }

/* ---------- RICH TEXT ---------- */
.stl2-richtext { font-size: 15px; line-height: 1.7; color: #444; }
.stl2-richtext h2, .stl2-richtext h3, .stl2-richtext h4 { font-family: Montserrat, sans-serif; color: var(--stl2-dark); }
.stl2-richtext--boxed {
	background: #fff; border: 1px solid var(--stl2-border); border-radius: 14px; padding: 28px 24px;
}
.stl2-richtext ul {
	list-style: none; padding-left: 0; margin-top: 16px;
	display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px;
}
.stl2-richtext ul li {
	font-size: 13px; color: var(--stl2-text-muted); padding-left: 18px; position: relative; line-height: 1.4;
}
.stl2-richtext ul li::before {
	content: ''; position: absolute; left: 0; top: 7px;
	width: 6px; height: 6px; background: var(--stl2-brand); border-radius: 50%;
}

/* === stl2-single-common-richtext-typography: типографика rich_text для всех 113 страниц
   single-common.php (5 CPT). Скопировано через .stl2-single-common
   (обёртка <main>, общая для всех них) — не трогает базовые правила
   .stl2-richtext на других страницах (Гарантия и т.д.). === */
.stl2-single-common .stl2-richtext p {
	margin-bottom: 16px;
}
.stl2-single-common .stl2-richtext ul {
	display: block;
	grid-template-columns: none;
	margin-bottom: 16px;
}
.stl2-single-common .stl2-richtext ul li {
	font-size: 15px;
	color: #444;
	margin-bottom: 8px;
	line-height: 1.7; /* stl2-single-common-li-lineheight: было 1.4 от базового правила, не совпадало с p (1.7) */
}

/* === stl2-single-common-richtext-justify: текст по ширине для всех rich_text
   блоков single-common (113 записей). === */
.stl2-single-common .stl2-richtext {
	text-align: justify;
}

/* === stl2-legal-en-richtext-typography: типографика для EN юридических страниц (Privacy
   Policy 3, Terms of use 11161) — та же правка, что и для RU (11738/11739).
   Скопировано через .page-id-*, не трогает базовые правила .stl2-richtext. === */
.page-id-3 .stl2-richtext p,
.page-id-11161 .stl2-richtext p {
	margin-bottom: 16px;
}
.page-id-3 .stl2-richtext ul,
.page-id-11161 .stl2-richtext ul {
	display: block;
	grid-template-columns: none;
	margin-bottom: 16px;
}
.page-id-3 .stl2-richtext ul li,
.page-id-11161 .stl2-richtext ul li {
	font-size: 15px;
	color: #444;
	margin-bottom: 8px;
}

/* === stl2-legal-richtext-typography: типографика для страниц Политики (11738) и
   Соглашения (11739) — единый размер p/li, список в 1 колонку, отступы
   между абзацами. Скопировано через .page-id-*, чтобы не задеть другие
   страницы, использующие .stl2-richtext (напр. Гарантия). === */
.page-id-11738 .stl2-richtext p,
.page-id-11739 .stl2-richtext p {
    margin-bottom: 16px;
}
.page-id-11738 .stl2-richtext ul,
.page-id-11739 .stl2-richtext ul {
    display: block;
    grid-template-columns: none;
    margin-bottom: 16px;
}
.page-id-11738 .stl2-richtext ul li,
.page-id-11739 .stl2-richtext ul li {
    font-size: 15px;
    color: #444;
    margin-bottom: 8px;
}

/* ---------- ADAPTIVE (900px / 600px — порядок как в остальном проекте) ---------- */
@media (max-width: 900px) {
	.stl2-hero__facts { grid-template-columns: 1fr; }
	.stl2-cardgrid--grid-2,
	.stl2-cardgrid--grid-3,
	.stl2-cardgrid--grid-4 { grid-template-columns: repeat(2, 1fr); }
	.stl2-locpanel__grid { grid-template-columns: 1fr; }
	.stl2-docgrid { grid-template-columns: repeat(2, 1fr); }
	.stl2-schedule { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.stl2-cardgrid--grid-2,
	.stl2-cardgrid--grid-3,
	.stl2-cardgrid--grid-4 { grid-template-columns: 1fr; }
	.stl2-docgrid { grid-template-columns: 1fr; }
	.stl2-schedule { grid-template-columns: 1fr; }

	/* Иконка/номер по центру, как и заголовок, в обычных сетках карточек
	   (не в vertical-list — там иконка и текст всегда в один ряд слева) */
	.stl2-cardgrid:not(.stl2-cardgrid--list):not(.stl2-cardgrid--icon-inline) .stl2-card {
		text-align: center;
	}
	.stl2-cardgrid:not(.stl2-cardgrid--list):not(.stl2-cardgrid--icon-inline) .stl2-card__visual--icon,
	.stl2-cardgrid:not(.stl2-cardgrid--list):not(.stl2-cardgrid--icon-inline) .stl2-card__visual--number,
	.stl2-cardgrid:not(.stl2-cardgrid--list):not(.stl2-cardgrid--icon-inline) .stl2-card__badge,
	.stl2-cardgrid:not(.stl2-cardgrid--list):not(.stl2-cardgrid--icon-inline) .stl2-card__chip,
	.stl2-cardgrid:not(.stl2-cardgrid--list):not(.stl2-cardgrid--icon-inline) .stl2-card__stat {
		margin-left: auto; margin-right: auto;
	}
	.stl2-cardgrid--icon-inline .stl2-card { text-align: left; }
}


.stl2sc-textmedia-content {
	text-align: justify;
}

/* === stl2-single-common-hide-vkvideo: временно скрываем общий VK-видео
   iframe, попавший в main_content при миграции post_content (одинаковый
   на многих записях, не специфичен для конкретной страницы). Данные не
   трогаем — легко вернуть, убрав это правило. === */
.stl2-single-common iframe[src*="vkvideo.ru"] {
	display: none !important;
}
.stl2-single-common .a1 {
	display: none !important;
}

/* === stl2-btn-red-hover-color-fix: .stl2-btn--red текст красил в красный
   на hover/visited/active — легаси-коллизия с main.css. Фикс глобальный,
   класс используется по всему сайту. === */
.stl2-btn--red:hover,
.stl2-btn--red:focus,
.stl2-btn--red:active,
.stl2-btn--red:visited {
	color: #fff !important;
}

/* === stl2-sitemap-kwayy-style: стилизация карты сайта (плагин
   kwayy-html-sitemap не подключает CSS на фронтенде). === */
.page-id-10957 .kwayy-html-sitemap-post-title {
	font-family: Montserrat, sans-serif;
	font-size: 22px;
	font-weight: 800;
	color: #1A1A1A;
	padding-left: 18px;
	border-left: 4px solid #F34423;
	margin: 40px 0 20px;
}
.page-id-10957 .kwayy-html-sitemap-post-title:first-child {
	margin-top: 0;
}
.page-id-10957 .kwayy-html-sitemap-post-list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	columns: 2;
	column-gap: 40px;
}
.page-id-10957 .kwayy-html-sitemap-post-list li {
	position: relative;
	padding-left: 18px;
	margin-bottom: 12px;
	break-inside: avoid;
}
.page-id-10957 .kwayy-html-sitemap-post-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 6px;
	height: 6px;
	background: #F34423;
	border-radius: 50%;
}
.page-id-10957 .kwayy-html-sitemap-post-list li a {
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	color: #444;
	text-decoration: none;
	line-height: 1.5;
}
.page-id-10957 .kwayy-html-sitemap-post-list li a:hover {
	color: #F34423;
	text-decoration: underline;
}
@media (max-width: 700px) {
	.page-id-10957 .kwayy-html-sitemap-post-list {
		columns: 1;
	}
}

/* === stl2-sitemap-kwayy-tree: 1 колонка + стилизация вложенного
   уровня (карта сайта — реальное дерево, не плоский список). === */
.page-id-10957 .kwayy-html-sitemap-post-list {
	columns: 1;
}
.page-id-10957 .kwayy-html-sitemap-post-list li ul {
	list-style: none;
	margin: 10px 0 4px;
	padding-left: 22px;
}
.page-id-10957 .kwayy-html-sitemap-post-list li ul li {
	margin-bottom: 8px;
}
.page-id-10957 .kwayy-html-sitemap-post-list li ul li::before {
	width: 5px;
	height: 5px;
	background: #F5C6B8;
}
.page-id-10957 .kwayy-html-sitemap-post-list li ul li a {
	font-size: 14px;
	color: #6B7280;
}
.page-id-10957 .kwayy-html-sitemap-post-list li ul li a:hover {
	color: #F34423;
}

/* === stl2-sitemap-kwayy-grid-fix: настоящая причина 2 колонок — базовое
   .stl2-richtext ul { display:grid; grid-template-columns:1fr 1fr; },
   не columns. Нейтрализуем явно. === */
.page-id-10957 .stl2-richtext .kwayy-html-sitemap-post-list {
	display: block !important;
	grid-template-columns: none !important;
}