

/* Start:/bitrix/templates/franchise/css/info.css?179216064730677*/
/* ============================================================
   Информационные страницы: о проекте, контакты, политика.
   Путь: /local/templates/{ШАБЛОН}/css/info.css
   На общих токенах layout.css.
   ============================================================ */

.info { font-family: var(--font-b); color: var(--ink); padding: 26px 20px 72px; }
.info--narrow { max-width: 820px; }

.info-bc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); margin-bottom: 22px; }
.info-bc a { color: var(--muted); text-decoration: none; }
.info-bc a:hover { color: var(--green-deep); }
.info-bc span { color: var(--muted); }   /* разделитель «/» — того же цвета, что в каталоге (раньше был почти не виден) */
.info-bc b { color: var(--ink); font-weight: 600; }

.info-h1 { font-family: var(--font-d); font-weight: 800; font-size: clamp(24px, 3vw, 38px); letter-spacing: -.02em; line-height: 1.1; margin: 0 0 12px; }
.info-lead { color: var(--ink-soft); font-size: 17px; line-height: 1.6; margin: 0 0 8px; max-width: 720px; }
.info-h2 { font-family: var(--font-d); font-weight: 700; font-size: clamp(20px, 2.4vw, 28px); letter-spacing: -.01em; margin: 0 0 16px; }
.info-sec { margin-top: 48px; }
.info-updated { color: var(--muted); font-size: 14px; margin: 0 0 22px; }

/* проза (политика, о проекте) */
.info-prose { font-size: 16px; line-height: 1.75; color: var(--ink); }
.info-prose h2 { font-family: var(--font-d); font-weight: 700; font-size: 22px; letter-spacing: -.01em; margin: 32px 0 12px; }
.info-prose h3 { font-family: var(--font-d); font-weight: 700; font-size: 18px; margin: 24px 0 8px; }
.info-prose p { margin: 0 0 16px; }
.info-prose ul, .info-prose ol { margin: 0 0 16px; padding-left: 22px; }
.info-prose li { margin-bottom: 8px; }
.info-prose a { color: var(--green-deep); }
/* пояснение над текстом согласия (одна галочка «обработка и передача», consent.single_checkbox) */
.info-prose .info-note { margin: 0 0 20px; padding: 12px 16px; border-radius: 12px; background: rgba(27, 106, 229, .07); font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
/* текст из редактора: картинки не шире колонки, широкая таблица прокручивается сама */
.info-prose img { max-width: 100%; height: auto; }
.info-prose table { display: block; overflow-x: auto; max-width: 100%; }

/* статистика (о проекте) */
.info-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.info-stat { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); }
.info-stat__n { display: block; font-family: var(--font-d); font-weight: 800; font-size: 28px; color: var(--ink); letter-spacing: -.02em; }
.info-stat__t { display: block; color: var(--muted); font-size: 13px; margin-top: 4px; }

/* две колонки «для кого» */
.info-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.info-col { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow); }
.info-col__h { font-family: var(--font-d); font-weight: 700; font-size: 19px; margin: 0 0 12px; }
.info-col ul { margin: 0; padding-left: 20px; color: var(--ink-soft); line-height: 1.6; }
.info-col li { margin-bottom: 8px; }

/* контакты */
.info-contacts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.info-contact { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); }
/* значок — иконка набора на плитке (css/layout.css, .ic-plate) */
.info-contact__ico { margin-bottom: 12px; }
.info-contact__label { color: var(--muted); font-size: 13px; margin-bottom: 4px; }
.info-contact__val { font-family: var(--font-d); font-weight: 700; font-size: 18px; color: var(--ink); text-decoration: none; }
a.info-contact__val:hover { color: var(--green-deep); }
.info-contact__sub { color: var(--ink-soft); font-size: 14px; margin-top: 4px; }

.info-map { margin-top: 18px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
    background: repeating-linear-gradient(45deg, #eef2f8, #eef2f8 12px, #e9eef6 12px, #e9eef6 24px);
    min-height: 320px; display: grid; place-items: center; color: var(--muted); font-size: 14px; text-align: center; }

/* блок формы обратной связи (использует svc-* из service.css) */
.info-form-wrap { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 32px; box-shadow: var(--shadow-h); }

@media (max-width: 920px) {
    .info-stats { grid-template-columns: repeat(2, 1fr); }
    .info-cols { grid-template-columns: 1fr; }
    .info-contacts { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .info { padding: 20px 16px 56px; }
    .info-form-wrap { padding: 22px; }
}

/* вакансии (/vacancies/): список раскрывающихся карточек; форма отклика — svc-* из service.css */
.vac-list { display: grid; gap: 12px; }
.vac { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.vac__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; padding: 20px 52px 20px 24px; cursor: pointer; list-style: none; position: relative; }
.vac__head::-webkit-details-marker { display: none; }
.vac__head::after { content: ''; position: absolute; right: 24px; top: 26px; width: 9px; height: 9px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(45deg); transition: transform .2s; }
.vac[open] > .vac__head::after { transform: rotate(-135deg); top: 30px; }
.vac__head:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; border-radius: var(--radius); }
.vac__name { font-family: var(--font-d); font-weight: 700; font-size: 19px; color: var(--ink); }
.vac__meta { color: var(--muted); font-size: 14px; }
.vac__body { padding: 0 24px 24px; }
.vac__brief { color: var(--ink-soft); font-size: 16px; line-height: 1.6; margin: 0 0 16px; }
.vac__body .info-prose { margin-bottom: 20px; }
.vac__body .info-prose h2:first-child, .vac__body .info-prose h3:first-child { margin-top: 0; }
.vac-empty { background: var(--surface); border: 1px dashed var(--line); border-radius: var(--radius); padding: 28px 24px; display: grid; gap: 6px; }
.vac-empty b { font-family: var(--font-d); font-size: 19px; color: var(--ink); }
.vac-empty span { color: var(--ink-soft); line-height: 1.6; }
.vac-empty a { color: var(--green-deep); }
@media (max-width: 560px) {
    .vac__head { padding: 16px 44px 16px 18px; }
    .vac__head::after { right: 18px; top: 22px; }
    .vac[open] > .vac__head::after { top: 26px; }
    .vac__body { padding: 0 18px 20px; }
}

/* команда (/about/): карточки сотрудников; блок выводится, только когда сотрудники заведены в админке */
.team { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.team__item { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 20px; box-shadow: var(--shadow);
    display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
.team__photo { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; margin-bottom: 10px; background: #eef2f8; }
.team__photo--ph { display: grid; place-items: center; font-family: var(--font-d); font-weight: 800; font-size: 40px; color: var(--green-deep); }
.team__name { font-family: var(--font-d); font-weight: 700; font-size: 17px; color: var(--ink); }
.team__pos { color: var(--muted); font-size: 14px; line-height: 1.4; }
.team__text { color: var(--ink-soft); font-size: 14px; line-height: 1.55; margin: 8px 0 0; }
@media (max-width: 760px) { .team { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) { .team { grid-template-columns: 1fr; } }

/* помощь (/help/): вопросы — раскрывающиеся строки, ответ — .info-prose */
.hlp-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.hlp-nav a { display: inline-block; padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface);
    font-size: 14px; font-weight: 600; color: var(--ink); text-decoration: none; }
.hlp-nav a:hover { border-color: var(--green); color: var(--green-deep); }
.hlp-list { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.hlp + .hlp { border-top: 1px solid var(--line); }
.hlp { scroll-margin-top: 16px; }
.hlp__q { position: relative; padding: 18px 52px 18px 24px; cursor: pointer; list-style: none; font-family: var(--font-d); font-weight: 600; font-size: 17px; line-height: 1.4; color: var(--ink); }
.hlp__q::-webkit-details-marker { display: none; }
.hlp__q::after { content: ''; position: absolute; right: 24px; top: 24px; width: 9px; height: 9px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(45deg); transition: transform .2s; }
.hlp[open] > .hlp__q::after { transform: rotate(-135deg); top: 28px; }
.hlp__q:hover { color: var(--green-deep); }
.hlp__q:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }
.hlp__a { padding: 0 24px 8px; font-size: 15px; line-height: 1.7; color: var(--ink-soft); }
.hlp__a p:last-child, .hlp__a ul:last-child { margin-bottom: 14px; }
.hlp-more { background: var(--surface); border: 1px dashed var(--line); border-radius: var(--radius); padding: 24px; display: grid; gap: 6px; }
.hlp-more b { font-family: var(--font-d); font-size: 19px; color: var(--ink); }
.hlp-more span { color: var(--ink-soft); line-height: 1.65; }
.hlp-more a { color: var(--green-deep); }
/* ссылка-карточка на инструкцию «Как разместить франшизу» над вопросами */
.hlp-guide { display: block; position: relative; margin-top: 20px; padding: 18px 56px 18px 22px; border: 1px solid rgba(27, 106, 229, .3); border-radius: var(--radius);
    background: rgba(27, 106, 229, .06); text-decoration: none; color: var(--ink); }
.hlp-guide::after { content: '→'; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--green-deep); }
.hlp-guide b { display: block; font-family: var(--font-d); font-weight: 700; font-size: 18px; color: var(--green-deep); }
.hlp-guide span { display: block; margin-top: 4px; font-size: 15px; line-height: 1.5; color: var(--ink-soft); }
.hlp-guide:hover { border-color: var(--green); }
.hlp-guide:focus-visible { outline: 3px solid rgba(27, 106, 229, .4); outline-offset: 2px; }
@media (max-width: 560px) {
    .hlp__q { padding: 16px 44px 16px 18px; font-size: 16px; }
    .hlp__q::after { right: 18px; top: 22px; }
    .hlp[open] > .hlp__q::after { top: 26px; }
    .hlp__a { padding: 0 18px 6px; }
}

/* ============================================================
   О ПРОЕКТЕ (/about/): блоки ab-*. Общая разметка страницы — svc-* из service.css.
   ============================================================ */
.ab .svc-sub a, .ab .ab-note a { color: var(--green-deep); }
.ab .svc-hero .svc-h1 { font-size: clamp(26px, 3.4vw, 40px); }
/* как устроен портал: карточка-ссылка с номером */
.ab-part { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.ab-part:hover { border-color: rgba(27,106,229,.35); }
.ab-part__top { display: flex; align-items: flex-start; justify-content: space-between; }
.ab-part__n { font-family: var(--font-d); font-weight: 800; font-size: 14px; letter-spacing: .04em; color: var(--muted); }
.ab-part .svc-card__h, .ab-part .svc-card__d { display: block; }
/* как считается рейтинг: название части, полоса с её долей, предел в баллах */
.ab-rank { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 8px 24px; }
.ab-rank__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, 34%) 64px; align-items: center; gap: 20px; padding: 16px 0; }
.ab-rank__row + .ab-rank__row { border-top: 1px solid var(--line); }
.ab-rank__text b { display: block; font-family: var(--font-d); font-weight: 700; font-size: 16px; }
.ab-rank__text span { display: block; color: var(--ink-soft); font-size: 15px; line-height: 1.5; margin-top: 2px; }
.ab-rank__bar { height: 10px; border-radius: 999px; background: #eef2f8; overflow: hidden; }
.ab-rank__bar i { display: block; height: 100%; border-radius: 999px; background: var(--green); }
.ab-rank__max { font-family: var(--font-d); font-weight: 700; font-size: 15px; color: var(--ink); text-align: right; white-space: nowrap; }
.ab-note { color: var(--ink-soft); font-size: 15px; line-height: 1.6; margin: 14px 0 0; max-width: 760px; }
/* кому помогаем: кнопка прижата к низу колонки */
.ab-for { display: flex; flex-direction: column; }
.ab-for ul { margin-bottom: 20px; }
.ab-for__btn { margin-top: auto; align-self: flex-start; }
/* история: год слева, событие справа */
.ab-history { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-left: 2px solid var(--line); margin-left: 8px; }
.ab-history__item { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 0 0 22px 24px; }
.ab-history__item:last-child { padding-bottom: 0; }
.ab-history__item::before { content: ''; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px var(--band, var(--bg)); }
.ab-history__year { font-family: var(--font-d); font-weight: 800; font-size: 20px; letter-spacing: -.01em; }
.ab-history__text { color: var(--ink-soft); font-size: 16px; line-height: 1.6; }
/* СМИ о нас и партнёры (выводятся, когда заполнены $abPress и $abPartners) */
.ab-press { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ab-press__item { display: flex; flex-direction: column; gap: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); }
.ab-press__src { font-family: var(--font-d); font-weight: 800; font-size: 15px; letter-spacing: .02em; text-transform: uppercase; color: var(--green-deep); }
.ab-press__text { color: var(--ink); font-size: 15px; line-height: 1.55; }
.ab-press__more { margin-top: auto; color: var(--green-deep); font-weight: 600; font-size: 14px; text-decoration: none; }
.ab-partners { display: flex; flex-wrap: wrap; gap: 12px; }
.ab-partner { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; height: 72px; padding: 0 22px; background: var(--surface);
    border: 1px solid var(--line); border-radius: 14px; font-family: var(--font-d); font-weight: 700; font-size: 15px; color: var(--ink); text-decoration: none; }
a.ab-partner:hover { border-color: rgba(27,106,229,.4); }
.ab-partner img { display: block; width: auto; height: auto; max-width: 140px; max-height: 44px; object-fit: contain; }
/* контакты: несколько строк в одной карточке (реквизиты) */
.ab .info-contact__val { display: block; }
.ab .info-contact__sub { display: block; }
.ab .info-contact__sub a { color: var(--green-deep); }
.ab-line + .ab-line { margin-top: 2px; }
.ab-cta__btns { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- версия 135: «С чего начать», «Перед разговором с франчайзером», «Что мы проверяем» ---------- */
/* вопросы покупателя: карточка-ссылка — вопрос, короткий ответ и куда идти */
.ab-asks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ab-asks--odd { grid-template-columns: repeat(3, minmax(0, 1fr)); }   /* вопросов три (или один) — в один ряд */
.ab-ask { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; background: var(--surface); border: 1px solid var(--line);
    border-radius: var(--radius); box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.ab-ask:hover { border-color: rgba(27,106,229,.4); box-shadow: var(--shadow-h); }
.ab-ask:focus-visible { outline: 3px solid rgba(27,106,229,.4); outline-offset: 2px; }
.ab-ask__q { font-family: var(--font-d); font-weight: 800; font-size: 20px; line-height: 1.25; letter-spacing: -.01em; color: var(--ink); }
.ab-ask__a { color: var(--ink-soft); font-size: 16px; line-height: 1.6; }
.ab-ask__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-weight: 600; font-size: 15px; color: var(--green-deep); }

/* как читать цифры: показатель — что это — что уточнить */
.ab-nums { margin: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 4px 24px; }
.ab-num { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 5fr); gap: 6px 28px; padding: 16px 0; }
.ab-num + .ab-num { border-top: 1px solid var(--line); }
.ab-num dt { font-family: var(--font-d); font-weight: 700; font-size: 16px; line-height: 1.4; color: var(--ink); }
.ab-num dd { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
.ab-num__tag { display: block; margin-bottom: 2px; font-family: var(--font-d); font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); }

/* чек-лист: три группы вопросов */
.ab-check { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ab-check__group { padding: 20px 22px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.ab-check__h { display: block; margin-bottom: 12px; font-family: var(--font-d); font-weight: 800; font-size: 17px; color: var(--ink); }
.ab-check__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ab-check__list li { position: relative; padding-left: 22px; font-size: 15px; line-height: 1.55; color: var(--ink); }
.ab-check__list li::before { content: ''; position: absolute; left: 3px; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--green); }

/* переход по якорю к подзаголовку: не вплотную к верхнему краю окна */
.ab .ab-h3[id] { scroll-margin-top: 24px; }

/* что портал проверяет перед публикацией */
.ab-lead { margin: 0 0 16px; color: var(--ink-soft); font-size: 16px; line-height: 1.6; max-width: 760px; }
.ab-checks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ab-checks__item { display: flex; gap: 12px; align-items: flex-start; padding: 18px 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.ab-checks__item b { display: block; font-family: var(--font-d); font-weight: 700; font-size: 16px; margin-bottom: 4px; }
.ab-checks__item span:not(.svc-plan__mark) { display: block; color: var(--ink-soft); font-size: 15px; line-height: 1.55; }
@media (max-width: 900px) {
    .ab-check, .ab-checks, .ab-asks--odd { grid-template-columns: minmax(0, 1fr); }
    .ab-num { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@media (max-width: 640px) {
    .ab-asks { grid-template-columns: minmax(0, 1fr); }
    .ab-ask { padding: 18px 20px; }
    .ab-ask__q { font-size: 18px; }
    .ab-nums { padding: 2px 16px; }
}
@media (max-width: 920px) {
    .ab-press { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .ab-rank { padding: 4px 16px; }
    .ab-rank__row { grid-template-columns: minmax(0, 1fr) 56px; gap: 8px 12px; }
    .ab-rank__bar { grid-column: 1 / -1; grid-row: 2; }
    .ab-history__item { grid-template-columns: 1fr; gap: 2px; }
    .ab-cta__btns, .ab-cta__btns .svc-btn { width: 100%; }
    .ab .svc-hero__cta .svc-btn { width: 100%; }
}
/* приглашение внизу: текст сжимается, кнопки остаются в одной строке с ним */
.ab .svc-hub-cta > div:first-child { flex: 1 1 320px; }
/* версия 125: шаги покупателя со снимками экрана (ряды pl-tour из placement.css) */
.ab .pl-h3 { display: flex; align-items: flex-start; gap: 12px; }
.ab-n { flex: none; width: 34px; height: 34px; margin-top: -3px; border-radius: 50%; background: var(--green); color: #fff;
    font-family: var(--font-d); font-weight: 800; font-size: 17px; line-height: 34px; text-align: center; }
.ab .ab-h3 { margin-top: 44px; margin-bottom: 16px; }
.ab .pl-tour__text > .pl-legend { margin-top: 4px; }
/* снимок под блоком рейтинга */
.ab .ab-shot { margin-top: 28px; }
.ab .ab-tour { margin-top: 24px; }
.ab-owners__btns { margin-top: 24px; }
/* «Шаг N.» в номере шага — для экранного диктора */
.ab-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 640px) {
    .ab-n { width: 30px; height: 30px; line-height: 30px; font-size: 15px; margin-top: -2px; }
    .ab .ab-h3 { margin-top: 36px; }
}

/* ============================================================
   ИНСТРУКЦИЯ «Как разместить франшизу» (/help/razmeshchenie/): блоки hg-*.
   Схемы — инлайн-SVG из images/help/*.svg, снимки экрана — images/help/shot-*.webp.
   ============================================================ */
.hg .info-sec { margin-top: 44px; scroll-margin-top: 90px; }
.hg .info-prose p:last-child, .hg .info-prose ul:last-child, .hg .info-prose ol:last-child { margin-bottom: 0; }
.hg .info-prose li::marker { color: var(--muted); font-weight: 600; }
.hg-toc { margin-top: 18px; }
/* номер шага перед заголовком */
.hg-step .info-h2 { display: flex; align-items: center; gap: 12px; }
.hg-n { flex: none; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--green); color: #fff;
    font-family: var(--font-d); font-weight: 800; font-size: 17px; letter-spacing: 0; }
.hg-h3 { font-family: var(--font-d); font-weight: 700; font-size: 20px; letter-spacing: -.01em; margin: 40px 0 14px; padding-top: 22px;
    border-top: 1px solid var(--line); scroll-margin-top: 90px; }
/* схема: на узком экране прокручивается внутри карточки, а не сжимается до нечитаемого шрифта */
.hg-fig, .hg-shot { margin: 22px 0 24px; }
.hg-fig__scroll { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 18px 16px 14px;
    overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hg-fig svg { display: block; width: 100%; height: auto; margin: 0 auto; }
.hg-fig figcaption, .hg-shot figcaption { margin-top: 10px; font-size: 14px; line-height: 1.5; color: var(--ink-soft); }
.hg-fig figcaption b, .hg-shot figcaption b { font-family: var(--font-d); font-weight: 700; color: var(--ink); }
/* снимок экрана: рамка как у окна, картинка не шире колонки */
.hg-shot__frame { border: 1px solid #d5dbe6; border-radius: 14px; overflow: hidden; background: var(--bg); box-shadow: var(--shadow); }
.hg-shot img { display: block; width: 100%; height: auto; }
/* три главных факта под общей схемой */
.hg-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.hg-facts li { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; font-size: 14.5px; line-height: 1.55; color: var(--ink-soft); }
.hg-facts b { display: block; margin-bottom: 4px; font-family: var(--font-d); font-size: 15.5px; color: var(--ink); }
.hg-demo { margin: 14px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--muted); }
.hg-next { margin: 0; padding: 14px 18px; border-radius: 12px; background: rgba(27, 106, 229, .07); font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
.hg-next b { color: var(--ink); }
/* что подготовить: шесть групп материалов */
.hg-check { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 20px 0 4px; }
.hg-check__col { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px 14px; }
.hg-check h3 { font-family: var(--font-d); font-weight: 700; font-size: 15.5px; margin: 0 0 8px; color: var(--ink); }
.hg-check ul { list-style: none; margin: 0; padding: 0; }
.hg-check li { position: relative; padding-left: 20px; margin-bottom: 6px; font-size: 14px; line-height: 1.45; color: var(--ink-soft); }
.hg-check li::before { content: ''; position: absolute; left: 1px; top: 4px; width: 11px; height: 11px; border: 1.5px solid #a9b6cc; border-radius: 3px; }
/* частные случаи под шагом */
.hg-cases { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.hg-cases li { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 13px 18px; font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
.hg-cases b { color: var(--ink); }
.hg-cases a, .hg-more a { color: var(--green-deep); }
.hg-more { margin: 16px 0 0; font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
/* призыв в конце */
.hg-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap;
    background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 24px 28px; box-shadow: var(--shadow); }
.hg-cta > div { flex: 1 1 280px; }
.hg-more a[href^="tel:"] { white-space: nowrap; }
.hg-cta b { display: block; font-family: var(--font-d); font-weight: 800; font-size: 20px; color: var(--ink); }
.hg-cta span { display: block; margin-top: 4px; color: var(--ink-soft); line-height: 1.5; }
.hg-cta__btn { display: inline-block; padding: 13px 24px; border-radius: 12px; background: var(--btn); color: #fff; font-family: var(--font-d);
    font-weight: 700; font-size: 16px; text-decoration: none; box-shadow: 0 6px 16px var(--btn-shadow); }
.hg-cta__btn:hover { background: var(--btn-deep); }
.hg-cta__btn:focus-visible, .hg-toc a:focus-visible { outline: 3px solid rgba(27, 106, 229, .4); outline-offset: 2px; }
@media (max-width: 760px) {
    .hg-facts { grid-template-columns: 1fr; }
    .hg-check { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    /* у края прокручиваемой схемы — тень: подсказка, что рисунок продолжается */
    .hg-fig__scroll {
        background:
            linear-gradient(to right, var(--surface) 30%, rgba(255,255,255,0)) left center / 28px 100% no-repeat local,
            linear-gradient(to left, var(--surface) 30%, rgba(255,255,255,0)) right center / 28px 100% no-repeat local,
            radial-gradient(farthest-side at 0 50%, rgba(26,43,74,.16), rgba(26,43,74,0)) left center / 12px 100% no-repeat scroll,
            radial-gradient(farthest-side at 100% 50%, rgba(26,43,74,.16), rgba(26,43,74,0)) right center / 12px 100% no-repeat scroll,
            var(--surface);
    }
    .hg-fig figcaption::after { content: " Рисунок прокручивается вбок."; color: var(--ink-soft); opacity: .75; }
    .hg-shot__frame { max-width: 390px; margin: 0 auto; }
}
@media (max-width: 480px) {
    .hg-check { grid-template-columns: 1fr; }
    .hg-n { width: 32px; height: 32px; font-size: 15px; }
    .hg-cta { padding: 20px; }
    .hg-cta__btn { width: 100%; text-align: center; box-sizing: border-box; }
}

/* ---------------- Страница «Документы» (/documents/) и подсказки администратору в документах — версия 136 ---------------- */
.docs .info-lead { margin-bottom: 28px; }
.docs-sec { margin-top: 36px; }
.docs-sec:first-of-type { margin-top: 0; }
.docs-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.docs-item { display: grid; gap: 4px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 22px; box-shadow: var(--shadow); }
.docs-item__t { font-family: var(--font-d); font-weight: 700; font-size: 18px; line-height: 1.3; color: var(--green-deep); text-decoration: none; justify-self: start; }
.docs-item__t:hover { text-decoration: underline; }
.docs-item__d { color: var(--ink-soft); font-size: 15px; line-height: 1.55; }
.docs-item__e { color: var(--muted); font-size: 13px; }
.docs-req { margin: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 22px; box-shadow: var(--shadow); }
.docs-req__row { display: grid; grid-template-columns: 140px 1fr; gap: 4px 16px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 15px; line-height: 1.5; }
.docs-req__row:first-child { border-top: 0; }
.docs-req dt { color: var(--muted); }
.docs-req dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.docs-req a { color: var(--green-deep); }
.info-prose .info-note ul { margin: 6px 0 0; }
.info-prose .info-note li:last-child { margin-bottom: 0; }
.info-prose .info-note code, .docs .info-note code { font-size: 13px; background: rgba(26, 43, 74, .08); border-radius: 4px; padding: 1px 5px; overflow-wrap: anywhere; }
@media (max-width: 560px) {
    .docs-item { padding: 16px; }
    .docs-req { padding: 6px 16px; }
    .docs-req__row { grid-template-columns: 1fr; gap: 0; }
}

/* End */


/* Start:/bitrix/templates/franchise/css/service.css?179216064731557*/
/* ============================================================
   Страница-услуга «Разместить франшизу».
   Путь: /local/templates/{ШАБЛОН}/css/service.css
   Использует общие токены из layout.css (--ink, --green, --line, --radius …).
   ============================================================ */

.svc { font-family: var(--font-b); color: var(--ink); padding: 26px 20px 72px; }

/* хлебные крошки */
.svc-bc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); margin-bottom: 22px; }
.svc-bc a { color: var(--muted); text-decoration: none; }
.svc-bc a:hover { color: var(--green-deep); }
.svc-bc span { color: var(--muted); }   /* разделитель «/» — того же цвета, что в каталоге (раньше был почти не виден) */
.svc-bc b { color: var(--ink); font-weight: 600; }

/* типографика секций */
.svc-h1 { font-family: var(--font-d); font-weight: 800; font-size: clamp(26px, 3.4vw, 42px); line-height: 1.1; letter-spacing: -.02em; margin: 10px 0 16px; }
/* Версия 129: заголовок раздела — как на главной (.hm-h2); вводка под ним — крупнее, с межстрочным интервалом
   и не шире 720 px (раньше шла во всю ширину страницы, до 150 знаков в строке). */
.svc-h2 { font-family: var(--font-d); font-weight: 800; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.15; letter-spacing: -.02em; margin: 0 0 8px; }
.svc-sub { color: var(--ink-soft); font-size: 17px; line-height: 1.6; max-width: 720px; margin: 0 0 26px; }
.svc-sec > .svc-h2 { margin-bottom: 24px; }
.svc-sec > .svc-h2 + .svc-sub { margin-top: -12px; }

/* ---------------- РАЗДЕЛЫ-ПОЛОСЫ (версия 129) ----------------
   Как на главной: каждый раздел — полоса во всю ширину окна с отступами 56 px сверху и снизу, фон полос чередуется —
   белый и серый (фон страницы). Раньше разделы шли по одному серому фону через 56 px, и длинная страница читалась
   одним полотном. Разметка страниц не менялась: .svc остаётся колонкой 1200 px, а фон полосы выведен за её края
   тенью (box-shadow) и обрезан по высоте раздела (clip-path). Где clip-path не поддерживается, полосы остаются без
   белого фона — отступы те же.
   Белые — чётные <section> внутри .svc: первый <section> — шапка страницы (.svc-hero), поэтому первый раздел под
   ней белый. --band — цвет полосы для вложенных блоков, которым нужен фон «под цвет страницы». */
.svc-sec { margin-top: 0; padding: 56px 0; --band: var(--bg); }
.svc > :not(.svc-sec) + .svc-sec { margin-top: 44px; }           /* первая полоса — с отступом от шапки страницы */
/* последняя полоса доходит до подвала: гасит нижнее поле .svc (72 px) и отступ над подвалом (64 px, .st-footer) */
.svc > .svc-sec:last-of-type { margin-bottom: -136px; }
@supports (clip-path: inset(0 -100vmax)) {
    .svc-sec:nth-of-type(even), .svc-sec.svc-leadwrap { box-shadow: 0 0 0 100vmax var(--band); clip-path: inset(0 -100vmax); background: var(--band); }
    .svc-sec:nth-of-type(even) { --band: var(--surface); }
    /* форма заявки внизу страницы — всегда на подкрашенной полосе: белая карточка формы видна на ней при любом соседе */
    .svc-sec.svc-leadwrap { --band: #eaf0fa; }
}

/* кнопки (локальные, в духе .st-cta / .hm-btn) */
.svc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font-family: var(--font-d); font-weight: 700; font-size: 15px; line-height: 1;
    padding: 14px 24px; border-radius: 12px; text-decoration: none; cursor: pointer;
    border: 1.5px solid transparent; transition: .18s; white-space: nowrap; }
.svc-btn--accent { background: var(--btn); color: #fff; }
.svc-btn--accent:hover { background: var(--btn-deep); }
.svc-btn--ghost { background: #fff; color: var(--btn); border-color: rgba(13,75,160,.45); }
.svc-btn--ghost:hover { background: var(--btn); color: #fff; border-color: var(--btn); }

/* ---------------- HERO ---------------- */
.svc-hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center;
    background: linear-gradient(135deg, #eef3ff 0%, #f5f7fa 60%); border: 1px solid var(--line);
    border-radius: 22px; padding: 44px; }
.svc-eyebrow { display: inline-block; font-family: var(--font-d); font-weight: 700; font-size: 12px;
    letter-spacing: .08em; text-transform: uppercase; color: var(--green-deep);
    background: rgba(27,106,229,.1); border-radius: 999px; padding: 6px 14px; }
.svc-hero__lead { color: var(--ink-soft); font-size: 17px; line-height: 1.6; margin: 0 0 26px; max-width: 560px; }
.svc-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }

.svc-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.svc-stat { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
    padding: 20px; box-shadow: var(--shadow); }
.svc-stat__n { display: block; font-family: var(--font-d); font-weight: 800; font-size: 26px; color: var(--ink); letter-spacing: -.02em; overflow-wrap: anywhere; }
.svc-stat__t { display: block; color: var(--ink-soft); font-size: 14px; line-height: 1.4; margin-top: 4px; }

/* ---------------- ЧТО ВХОДИТ ---------------- */
.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.svc-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
    padding: 24px; box-shadow: var(--shadow); transition: .18s; }
.svc-card:hover { box-shadow: var(--shadow-h); transform: translateY(-2px); }
/* значок карточки — иконка набора на плитке (размер и цвет плитки — css/layout.css, .ic-plate) */
.svc-card__ico { margin-bottom: 14px; }
.svc-card__h { font-family: var(--font-d); font-weight: 700; font-size: 17px; margin: 0 0 6px; }
.svc-card__d { color: var(--ink-soft); font-size: 15px; line-height: 1.55; margin: 0; }

/* ---------------- ТАРИФЫ ---------------- */
.svc-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: start; }
/* четыре тарифа — в один ряд (на средней ширине — два ряда по два); ниже 920px, как всегда, в одну колонку */
.svc-plans:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1180px) { .svc-plans:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 920px) { .svc-plans:has(> :nth-child(4):last-child) { grid-template-columns: 1fr; } }
.svc-plan { position: relative; background: var(--surface); border: 1px solid var(--line);
    border-radius: 18px; padding: 28px 24px; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.svc-plan--hot { border-color: var(--green); box-shadow: var(--shadow-h); transform: translateY(-6px); }
.svc-plan__badge { position: absolute; top: -12px; left: 24px; background: var(--green); color: #fff;
    font-family: var(--font-d); font-weight: 700; font-size: 12px; letter-spacing: .03em;
    padding: 5px 12px; border-radius: 999px; }
.svc-plan__name { font-family: var(--font-d); font-weight: 700; font-size: 18px; color: var(--ink-soft); }
.svc-plan__price { font-family: var(--font-d); font-weight: 800; font-size: 34px; letter-spacing: -.02em; margin-top: 6px; }
.svc-plan__note { color: var(--muted); font-size: 13px; margin-bottom: 18px; }
.svc-plan__list { list-style: none; margin: 0 0 22px; padding: 18px 0 0; border-top: 1px solid var(--line); display: grid; gap: 11px; flex: 1 1 auto; }
.svc-plan__list li { display: flex; gap: 9px; font-size: 15px; line-height: 1.45; color: var(--ink); }
.svc-plan__list li.is-off { color: var(--muted); }
.svc-plan__mark { flex: 0 0 18px; font-weight: 700; }
.svc-plan__list li.is-on .svc-plan__mark { color: var(--green); }
.svc-plan__list li.is-off .svc-plan__mark { color: var(--line); }
.svc-plan__cta { width: 100%; }

/* ---------------- ШАГИ ---------------- */
.svc-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: none; }
.svc-step { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); }
.svc-step__n { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    border-radius: 12px; background: rgba(27,106,229,.1); color: var(--green-deep);
    font-family: var(--font-d); font-weight: 800; font-size: 18px; margin-bottom: 14px; }
.svc-step__h { font-family: var(--font-d); font-weight: 700; font-size: 16px; margin: 0 0 6px; }
.svc-step__d { color: var(--ink-soft); font-size: 15px; line-height: 1.55; margin: 0; }

/* ---------------- FAQ ---------------- */
.svc-faq { display: grid; gap: 10px; }
.svc-faq__item { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 4px 20px; }
.svc-faq__q { font-family: var(--font-d); font-weight: 600; font-size: 16px; color: var(--ink);
    cursor: pointer; padding: 16px 28px 16px 0; position: relative; list-style: none; }
.svc-faq__q::-webkit-details-marker { display: none; }
.svc-faq__q::after { content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
    font-size: 22px; color: var(--green); font-weight: 400; line-height: 1; transition: transform .2s; }
.svc-faq__item[open] .svc-faq__q::after { content: '−'; }
.svc-faq__a { color: var(--ink-soft); font-size: 16px; line-height: 1.65; padding: 0 0 18px; max-width: 760px; }

/* ---------------- ФОРМА ---------------- */
/* версия 129: раздел с формой — полоса с собственным отступом сверху; ссылка «Оставить заявку» ставит её к верху окна */
.svc-leadwrap, .svc-sec[id] { scroll-margin-top: 0; }
.svc-lead { background: var(--surface); border: 1px solid var(--line); border-radius: 22px;
    padding: 40px; box-shadow: var(--shadow-h); max-width: 760px; margin: 0 auto; }
.svc-lead__head { text-align: center; margin-bottom: 26px; }
/* версия 164: подписка под формой заявки («Разместить франшизу») — по центру, как карточка формы над ней (раньше
   прижималась влево), и ближе к форме: у полосы с формой свой нижний отступ */
.svc-leadwrap > .svc-sec { padding: 32px 0 0; }
.svc-leadwrap .nl--card { margin-left: auto; margin-right: auto; }
.svc-lead__title { margin-bottom: 8px; }
.svc-lead__sub { color: var(--ink-soft); font-size: 16px; line-height: 1.55; margin: 0; }
.svc-form { display: grid; gap: 14px; }
.svc-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.svc-input { font-family: inherit; font-size: 15px; color: var(--ink); width: 100%;
    border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; background: #fbfcfe;
    outline: none; resize: vertical; transition: .15s; }
.svc-input:focus { border-color: var(--green); background: #fff; }
.svc-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--muted); line-height: 1.5; }
.svc-consent input { margin-top: 2px; flex: 0 0 auto; }
.svc-consent a { color: var(--green-deep); }
/* подпись бывает длинной («Отправить заявку 4 франшизам») — на узком экране переносится, а не распирает страницу */
.svc-form__submit { width: 100%; margin-top: 4px; white-space: normal; text-align: center; }
.svc-form__note { text-align: center; color: var(--muted); font-size: 12px; margin: 0; }

/* состояние «успех» (подменяется JS) */
.svc-lead-ok { text-align: center; padding: 36px 20px; font-family: var(--font-d); font-weight: 600;
    font-size: 19px; color: var(--ink); line-height: 1.5; }
.svc-lead-ok span { display: block; font-family: var(--font-b); font-weight: 400; font-size: 15px; color: var(--ink-soft); margin-top: 8px; }

/* ---------------- ХАБ УСЛУГ ---------------- */
.svc-hero--center { grid-template-columns: 1fr; text-align: center; }
.svc-hero--center .svc-hero__lead { margin-left: auto; margin-right: auto; }
.svc-hero--center .svc-eyebrow { margin: 0 auto; }

.svc-hub { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.svc-hub--3 { grid-template-columns: repeat(3, 1fr); }
/* страница размещения: строка ссылок на другие услуги и блок «как мы работаем» */
.svc-more { margin: 18px 0 0; color: var(--ink-soft); font-size: 16px; line-height: 1.7; }
.svc-more a { color: var(--green-deep); font-weight: 600; text-decoration: none; }
.svc-more a:hover { text-decoration: underline; }
.svc-principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
/* нечётное число пунктов — последний во всю ширину, а не один в левой колонке */
.svc-principles > .svc-principle:last-child:nth-child(odd) { grid-column: 1 / -1; }
.svc-principle { display: flex; gap: 12px; align-items: flex-start; padding: 18px 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.svc-principle b { display: block; font-family: var(--font-d); font-weight: 700; font-size: 16px; margin-bottom: 4px; }
.svc-principle span:not(.svc-plan__mark) { display: block; color: var(--ink-soft); font-size: 15px; line-height: 1.55; }
@media (max-width: 760px) { .svc-principles { grid-template-columns: 1fr; } }
/* очень узкий экран (320–400 px): плитки в шапке услуги компактнее, иначе слово вроде «Кабинет» раздвигало сетку шире экрана */
@media (max-width: 400px) {
    .svc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .svc-stat { padding: 14px; min-width: 0; }
    .svc-stat__n { font-size: 21px; }
    .svc-stat__t { hyphens: auto; overflow-wrap: anywhere; }
    .svc-h1 { hyphens: auto; overflow-wrap: anywhere; }   /* длинное слово в заголовке («квалифицированные»): перенос, а не выход за экран */
}
/* отдельное направление в разделе услуг — широкий блок над карточками (сайт франшизы под ключ) */
.svc-hub-feat { display: flex; align-items: center; gap: 24px; padding: 28px 32px; border-radius: var(--radius); text-decoration: none;
    background: linear-gradient(120deg, #16294a, #1b3a6b); color: #fff; box-shadow: var(--shadow); transition: .18s; }
.svc-hub-feat:hover { box-shadow: var(--shadow-h); transform: translateY(-2px); }
/* на тёмном блоке — светлая иконка на полупрозрачной плитке; линия тоньше: иконка здесь крупная */
.svc-hub-feat__ico { flex: 0 0 76px; width: 76px; height: 76px; border-radius: 22px; display: grid; place-items: center; background: rgba(255,255,255,.12); color: #fff; font-size: 36px; line-height: 1; }
.svc-hub-feat__ico .ic { width: 50px; height: 50px; stroke-width: 1.3; }
.svc-hub-feat__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.svc-hub-feat__eyebrow { font-family: var(--font-d); font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #9fc0ff; }
.svc-hub-feat__h { font-family: var(--font-d); font-weight: 800; font-size: clamp(22px, 2.6vw, 30px); letter-spacing: -.01em; line-height: 1.15; }
.svc-hub-feat__d { color: #c9d6ec; font-size: 16px; line-height: 1.55; max-width: 640px; }
.svc-hub-feat__side { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.svc-hub-feat__price { font-family: var(--font-d); font-weight: 700; font-size: 20px; white-space: nowrap; }
/* второе направление идёт сразу за первым */
.svc-hub-feat--next { margin-top: 14px; }
/* первое направление (упаковка) — светлее, чтобы два тёмных блока не сливались */
.svc-hub-feat--first { background: linear-gradient(120deg, #1b6ae5, #2f80ed); }
.svc-hub-feat--first .svc-hub-feat__eyebrow { color: #d6e6ff; }
.svc-hub-feat--first .svc-hub-feat__d { color: #e8f0ff; }
.svc-hub-feat--first .svc-btn--accent { background: #fff; color: var(--green-deep); }
/* десять этапов — по пять в ряд (на средней ширине — как обычно, по два) */
@media (min-width: 1181px) { .svc-steps:has(> :nth-child(10):last-child) { grid-template-columns: repeat(5, 1fr); } }
/* пять шагов — в один ряд из пяти (в сетке по четыре пятый оставался один во втором ряду) */
@media (min-width: 1181px) { .svc-steps:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, 1fr); gap: 14px; } .svc-steps:has(> :nth-child(5):last-child) .svc-step { padding: 20px 18px; } }
/* уже — шаги идут по два: при нечётном числе последний занимает всю строку */
@media (min-width: 561px) and (max-width: 1180px) { .svc-steps > .svc-step:last-child:nth-child(odd) { grid-column: 1 / -1; } }
/* шесть шагов — два ровных ряда по три, а не четыре и два */
@media (min-width: 1181px) { .svc-steps:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, 1fr); } }
/* ссылка на подробную инструкцию под шагами */
.svc-steps__more { margin: 18px 0 0; font-size: 15px; }
.svc-steps__more a { color: var(--green-deep); font-weight: 600; }
/* услуги того же направления под блоком: две ссылки-плашки */
.svc-hub-feat__more { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 12px; }
.svc-hub-feat__link { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border: 1px solid var(--line); border-radius: 12px;
    background: var(--surface); text-decoration: none; color: var(--ink); transition: .15s; }
.svc-hub-feat__link:hover { border-color: rgba(27,106,229,.4); box-shadow: var(--shadow); }
.svc-hub-feat__link b { font-family: var(--font-d); font-weight: 700; font-size: 16px; }
.svc-hub-feat__link span { color: var(--ink-soft); font-size: 15px; line-height: 1.45; }
@media (max-width: 760px) {
    .svc-hub-feat__more { grid-template-columns: 1fr; }
    .svc-hub-feat { flex-direction: column; align-items: flex-start; padding: 24px; gap: 16px; }
    .svc-hub-feat__side { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
}
.svc-hub__card { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line);
    border-radius: 18px; padding: 28px; box-shadow: var(--shadow); text-decoration: none; color: inherit; transition: .18s; }
.svc-hub__card:hover { box-shadow: var(--shadow-h); transform: translateY(-3px); border-color: rgba(27,106,229,.35); }
.svc-hub__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
/* название услуги — h3 внутри группы (раньше h2): вид прежний */
h3.svc-hub__name { margin-top: 0; }
/* .svc-hub__ico — иконка набора на плитке (css/layout.css, .ic-plate) */
.svc-hub__tag { font-family: var(--font-d); font-weight: 600; font-size: 12px; letter-spacing: .03em;
    color: var(--green-deep); background: rgba(27,106,229,.1); border-radius: 999px; padding: 5px 12px; }
.svc-hub__name { font-family: var(--font-d); font-weight: 700; font-size: 20px; margin: 0 0 8px; }
.svc-hub__desc { color: var(--ink-soft); font-size: 16px; line-height: 1.55; margin: 0 0 20px; }
.svc-hub__foot { display: flex; align-items: baseline; justify-content: space-between; margin-top: auto;
    padding-top: 16px; border-top: 1px solid var(--line); }
.svc-hub__price { font-family: var(--font-d); font-weight: 800; font-size: 18px; color: var(--ink); }
.svc-hub__more { font-family: var(--font-d); font-weight: 700; font-size: 14px; color: var(--green-deep); }

.svc-hub-cta { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap;
    background: linear-gradient(135deg, #eef3ff 0%, #f5f7fa 70%); border: 1px solid var(--line);
    border-radius: 20px; padding: 30px 34px; }
.svc-hub-cta__h { font-family: var(--font-d); font-weight: 800; font-size: 22px; margin-bottom: 4px; }
.svc-hub-cta p { margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.55; }

/* ---------------- АДАПТИВ ---------------- */
@media (max-width: 920px) {
    .svc-hub { grid-template-columns: 1fr; }
    .svc-hub-cta { flex-direction: column; align-items: flex-start; }
    .svc-hero { grid-template-columns: 1fr; padding: 32px; gap: 28px; }
    .svc-grid { grid-template-columns: repeat(2, 1fr); }
    .svc-plans { grid-template-columns: 1fr; }
    .svc-plan--hot { transform: none; }
    .svc-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .svc { padding: 20px 16px 56px; }
    .svc-sec { padding: 40px 0; }
    .svc > :not(.svc-sec) + .svc-sec { margin-top: 30px; }
    .svc > .svc-sec:last-of-type { margin-bottom: -120px; }
    .svc-sub { font-size: 16px; }
    .svc-hero { padding: 24px; }
    .svc-stats { grid-template-columns: 1fr 1fr; }
    .svc-grid { grid-template-columns: 1fr; }
    .svc-steps { grid-template-columns: 1fr; }
    .svc-lead { padding: 26px 20px; }
    .svc-form__submit { line-height: 1.25; }
    .svc-form__row { grid-template-columns: 1fr; }
}

/* ---------- тарифы размещения: таблица include/tariff_table.php (стили .tf-* — tariffs.css) ---------- */
.svc-tariffs { margin: 0 0 22px; }
.svc-tariffs .tf-legend { margin-top: 12px; }
.svc-tariffs__cat { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 16px; font-weight: 600; }
.svc-tariffs__cat .svc-input { width: auto; min-width: 280px; max-width: 100%; }
.svc-form__plan { margin: 0; font-family: var(--font-d); font-weight: 600; font-size: 14px; color: var(--green-deep); }
.svc-form__plan[hidden] { display: none; }

/* ---------- от чего зависит стоимость + что входит дополнительно ---------- */
.svc-terms { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 18px; align-items: start; }
.svc-terms__main, .svc-terms__opts { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; }
.svc-terms__main { border-color: rgba(27,106,229,.35); box-shadow: var(--shadow-h); }
.svc-terms__h { font-family: var(--font-d); font-weight: 700; font-size: 18px; margin: 0 0 14px; }
.svc-terms__factors { margin: 0 0 18px; padding-left: 20px; color: var(--ink); font-size: 15px; line-height: 1.5; }
.svc-terms__factors li { margin-bottom: 8px; }
.svc-terms__note { color: var(--ink-soft); font-size: 15px; line-height: 1.55; margin: 0 0 18px; }
.svc-terms__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 22px; }
.svc-terms__list li { display: flex; gap: 10px; align-items: flex-start; }
.svc-terms__list .svc-plan__mark { flex: 0 0 auto; color: var(--green-deep); font-weight: 700; }
.svc-terms__list b { display: block; font-family: var(--font-d); font-weight: 700; font-size: 15px; margin-bottom: 2px; }
.svc-terms__list span { color: var(--ink-soft); font-size: 15px; line-height: 1.5; }
@media (max-width: 900px) { .svc-terms { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .svc-terms__list { grid-template-columns: 1fr; } .svc-terms__main, .svc-terms__opts { padding: 20px; } }

/* самый узкий экран: длинное слово в плитке шапки («Финмодель») выходило за плитку */
@media (max-width: 380px) { .svc-stat__n { font-size: 18px; } }

/* ============================================================
   ВЕРСИЯ 174: ТЁМНЫЙ ПЕРВЫЙ ЭКРАН (.svc--dark, .svc-hero--dark; site.config.php → services.hero_dark)
   Страницы услуг, «Разместить франшизу» и витрина /services/ — как главная (.hm-hero--dark, css/home.css): тёмно-синий
   фон с голубой подсветкой справа и тёплой снизу слева, во всю ширину окна сразу под меню. Хлебные крошки, заголовок и
   кнопки — светлые, плитки — полупрозрачные панели.
   Шапка (.svc-hero) остаётся первым <section> колонки .svc — чередование полос ниже не меняется. Фон выведен за края
   колонки рамкой-картинкой с выносом (border-image-outset): вынос не занимает места и не даёт прокрутки вбок, в отличие
   от блока шириной 100vw. Картинка — SVG с теми же тремя градиентами, что у главной (у рамки картинка одна, а у главной
   градиентов три). --svc-out — от края колонки до края окна: 1160 px — колонка .st-wrap (1200 px) без полей по 20 px.
   Поля колонки — 20 px на любой ширине: стили шаблона (layout.css, .st-wrap) Битрикс выводит после стилей страницы, и
   поля 16 px из правила .svc для телефона до страницы не доходят. Где они всё же действуют, вынос на 4 px длиннее —
   лишнее уходит за край окна, прокрутки не даёт.
   ============================================================ */
.svc.svc--dark { padding-top: 0; --svc-out: max(20px, (100vw - 1160px) / 2); }
/* border после border-image нельзя: свойство border сбрасывает и рамку-картинку. Сплошной тёмный фон под картинкой —
   для браузеров без max() в выносе (рамка-картинка там не рисуется): белый текст остаётся на тёмном, хоть и в колонке */
.svc-hero.svc-hero--dark { color: #fff; background: #0f1d33; border: 0; border-radius: 0; padding: 26px 0 64px; row-gap: 30px;
    border-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3ClinearGradient id='l' x2='1.2' y2='.4'%3E%3Cstop stop-color='%2316294a'/%3E%3Cstop offset='.6' stop-color='%230f1d33'/%3E%3Cstop offset='1' stop-color='%230b1628'/%3E%3C/linearGradient%3E%3CradialGradient id='a' cx='0' cy='0' r='1' gradientTransform='matrix(.55 0 0 .75 .82 .25)'%3E%3Cstop stop-color='%231b6ae5' stop-opacity='.4'/%3E%3Cstop offset='.7' stop-color='%231b6ae5' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='b' cx='0' cy='0' r='1' gradientTransform='matrix(.45 0 0 .6 .05 1)'%3E%3Cstop stop-color='%23f0a431' stop-opacity='.22'/%3E%3Cstop offset='.7' stop-color='%23f0a431' stop-opacity='0'/%3E%3C/radialGradient%3E%3Crect width='100%25' height='100%25' fill='url(%23l)'/%3E%3Crect width='100%25' height='100%25' fill='url(%23a)'/%3E%3Crect width='100%25' height='100%25' fill='url(%23b)'/%3E%3C/svg%3E") 0 fill / 0 / 0 var(--svc-out); }
.svc-hero--dark .svc-hero__col > :last-child { margin-bottom: 0; }
/* хлебные крошки — первой строкой экрана, над обеими колонками */
.svc-hero--dark > .svc-bc { grid-column: 1 / -1; margin: 0; }
.svc-hero--dark .svc-bc a { color: #9fb0cc; }
.svc-hero--dark .svc-bc a:hover { color: #fff; }
.svc-hero--dark .svc-bc span { color: rgba(255,255,255,.35); }
.svc-hero--dark .svc-bc b { color: #fff; }
.svc-hero--dark .svc-eyebrow { background: none; border-radius: 0; padding: 0; font-size: 13px; color: #8fb6ff; }
.svc-hero--dark .svc-h1 { color: #fff; margin-top: 12px; }
.svc-hero--dark .svc-hero__lead { color: #b8c4d8; }
.svc-hero--dark .svc-btn--accent { background: var(--green); }
.svc-hero--dark .svc-btn--accent:hover { background: #1559c7; box-shadow: 0 8px 20px rgba(0,0,0,.3); }
.svc-hero--dark .svc-btn--ghost { background: rgba(255,255,255,.06); color: #fff; border-color: rgba(255,255,255,.35); }
.svc-hero--dark .svc-btn--ghost:hover { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.6); }
.svc-hero--dark .svc-btn:focus-visible, .svc-hero--dark .svc-bc a:focus-visible { outline: 3px solid rgba(127,176,255,.7); outline-offset: 2px; }
.svc-hero--dark .svc-stat { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.14); box-shadow: none; }
.svc-hero--dark .svc-stat__n { color: #fff; }
.svc-hero--dark .svc-stat__n .ic { --ic-accent: #ffc857; }
.svc-hero--dark .svc-stat__t { color: #b8c4d8; }
/* первая полоса — сразу под экраном, без серого зазора */
.svc.svc--dark > .svc-hero--dark + .svc-sec { margin-top: 0; }
@media (max-width: 920px) {
    .svc-hero.svc-hero--dark { padding: 22px 0 44px; row-gap: 24px; }
}
@media (max-width: 560px) {
    .svc-hero.svc-hero--dark { padding: 18px 0 36px; row-gap: 20px; }
}
/* режим высокой контрастности Windows: цвета текста заменяет система — тёмный фон-картинку убираем */
@media (forced-colors: active) { .svc-hero.svc-hero--dark { border-image: none; background: none; } }
/* печать: без тёмного фона, текст — тёмный, как в светлой шапке */
@media print {
    .svc-hero.svc-hero--dark { border-image: none; background: none; color: var(--ink); }
    .svc-hero--dark .svc-h1, .svc-hero--dark .svc-bc b, .svc-hero--dark .svc-stat__n { color: var(--ink); }
    .svc-hero--dark .svc-hero__lead, .svc-hero--dark .svc-bc a, .svc-hero--dark .svc-stat__t, .svc-hero--dark .svc-eyebrow { color: var(--ink-soft); }
    .svc-hero--dark .svc-bc span { color: var(--muted); }
    .svc-hero--dark .svc-btn--ghost { color: var(--btn); border-color: rgba(13,75,160,.45); }
}

/* End */
/* /bitrix/templates/franchise/css/info.css?179216064730677 */
/* /bitrix/templates/franchise/css/service.css?179216064731557 */
