/* =====================================================================================================================
   АДАПТИВ — ОБЩИЕ БЛОКИ, часть A (владелец 2026-10-20): Б-001…Б-007 — подвал, шапка, чат с помощником, баннер «Станьте
   партнёром», квиз «Создайте заявку», перелинковка «Полезно перед заказом», SEO-блок. Планшет ≤1199px, телефон ≤767px.
   Макеты: «Дизайн блоков сайта\01 Общие блоки — стоят на многих страницах\Б-00N …\».
   ===================================================================================================================== */


/* Б-001 Подвал сайта — класс footer (разметка: Pages/_Layout.cshtml) */
@media (max-width: 1199px) {
  .footer { padding: 64px 28px 36px; }

  /* Меню-«таблетка» — одна строка на всю ширину, пункты 44px. */
  .footer .footer-menu { width: 100%; padding: 6px; overflow: visible; }
  .footer .footer-menu__links { width: 100%; justify-content: space-between; gap: 2px; }
  .footer .footer-menu__link { min-height: 44px; padding: 0 12px; }

  /* Ряд «бренд | карточка 380px», под линией — 4 колонки ссылок. */
  .footer .footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; }
  .footer .footer-brand { grid-column: 1 / span 2; grid-row: 1; }
  .footer .footer-brand .desc { font-size: 15px; max-width: 380px; }
  .footer .footer-brand .socials a { width: 44px; height: 44px; }
  .footer .footer-contacts-card { grid-column: 3 / span 2; grid-row: 1; justify-self: end; width: 380px; }
  .footer .footer-grid::before {
    content: "";
    grid-column: 1 / -1;
    grid-row: 2;
    height: 1px;
    margin: 36px 0;
    background: rgba(255,255,255,.12);
  }
  .footer .footer-col { grid-row: 3; }
  .footer .footer-col a,
  .footer .footer-col__current { font-size: 15px; }

  /* Преимущества — сетка 2×2. */
  .footer .footer-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; }
  .footer .footer-trust__item { padding: 0; border-right: 0; }
  .footer .footer-trust__title { font-size: 15px; }
  .footer .footer-trust__sub { font-size: 14px; }

  .footer .footer-bottom { font-size: 14px; }
  .footer .footer-requisites { font-size: 13px; }
}
@media (max-width: 767px) {
  /* Одна колонка: бренд → карточка заявки → меню → разделы ссылок → преимущества → низ.
     .footer-grid «растворяется» (display: contents), чтобы меню встало между карточкой и разделами. */
  .footer { display: flex; flex-direction: column; padding: 32px 16px 28px; }
  .footer .footer-grid { display: contents; }
  .footer .footer-grid::before { content: none; }
  .footer .footer-brand { order: 1; }
  .footer .footer-contacts-card { order: 2; }
  .footer .footer-menu { order: 3; }
  .footer .footer-col { order: 4; }
  .footer .footer-trust { order: 5; }
  .footer .footer-bottom { order: 6; }
  .footer .footer-requisites { order: 7; }

  .footer .footer-brand .top { margin-bottom: 14px; }
  .footer .footer-brand .top img.logo { height: 40px; }
  .footer .footer-brand .desc { max-width: none; margin-bottom: 18px; line-height: 1.55; }

  .footer .footer-contacts-card { align-self: stretch; width: auto; margin-top: 28px; padding: 24px 20px; }
  .footer .footer-contacts-card .fcc-btn { min-height: 52px; }
  .footer .footer-contacts-card .fcc-messengers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .footer .footer-contacts-card .fcc-msg { min-height: 52px; }

  /* Главное меню — сетка 2 колонки из кнопок 48px, «Стать партнером» на всю ширину. */
  .footer .footer-menu {
    width: 100%;
    margin: 28px 0 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    backdrop-filter: none;
  }
  .footer .footer-menu__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .footer .footer-menu__link {
    min-height: 48px;
    padding: 0 14px;
    border-radius: 12px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    font-size: 15px;
  }
  .footer .footer-menu__link--catalog { background: #fff; border-color: #fff; }
  .footer .footer-menu__link:last-child:nth-child(odd) { grid-column: 1 / -1; }

  /* Разделы ссылок — раскрывающиеся списки (строка 56px, «+»/«−»). */
  .footer .footer-col { border-top: 1px solid rgba(255,255,255,.14); }
  .footer .footer-col__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 56px;
    padding: 0;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
  }
  .footer .footer-col__sign { position: relative; flex: 0 0 14px; width: 14px; height: 14px; }
  .footer .footer-col__sign::before,
  .footer .footer-col__sign::after {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 6px;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
  }
  .footer .footer-col__sign::after { transform: rotate(90deg); transition: transform .2s; }
  .footer .footer-col.is-open .footer-col__sign::after { transform: rotate(0deg); }
  .footer .footer-col ul { gap: 4px; padding: 0 0 16px; }
  .footer .footer-col:not(.is-open) ul { display: none; }
  .footer .footer-col a,
  .footer .footer-col__current { display: block; padding: 8px 0; }

  /* Преимущества — вертикальный список. */
  .footer .footer-trust { margin: 0 0 24px; padding: 28px 0 24px; }
  .footer .footer-trust__grid { grid-template-columns: 1fr; gap: 20px; }
  .footer .footer-trust__ico { flex-basis: 44px; width: 44px; height: 44px; }

  /* Низ: ссылки строками, затем копирайт и реквизиты. */
  .footer .footer-bottom { flex-direction: column-reverse; align-items: flex-start; gap: 16px; font-size: 13px; }
  .footer .footer-bottom__links { gap: 12px 20px; font-size: 14px; }
  .footer .footer-bottom__links a { padding: 4px 0; }
}


/* Б-002 Шапка сайта — класс header (разметка: Pages/_Layout.cshtml) */
@media (max-width: 1199px) {
  /* Две строки: бренд + кнопка; под линией — 6 пунктов меню на всю ширину. Бургер не нужен. */
  :root { --header-height: 134px; }
  .header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0 24px;
    padding: 14px 28px 0;
  }
  .header .brand-tag { max-width: 270px; font-size: 13px; }
  .header .brand { grid-column: 1; grid-row: 1; }
  .header .btn-head { grid-column: 2; grid-row: 1; min-height: 48px; padding: 0 26px; font-size: 15px; }
  .header .nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    justify-content: space-between;
    gap: 0;
    margin-top: 14px;
    padding: 6px 0;
    border-top: 1px solid rgba(255,255,255,.14);
  }
  .header .nav a:not(.nav__cta),
  .header .nav .nav-catalog,
  .header .nav .nav__current {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 14px;
    font-size: 15px;
  }
}
@media (max-width: 767px) {
  /* Одна строка 68px: логотип | «Оставить заявку» | бургер. На 360px всё помещается: кнопка ужимается по полям. */
  :root { --header-height: 69px; }
  .header {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    min-height: 68px;
    padding: 12px 16px;
  }
  .header .brand img.logo { height: 38px; min-width: 120px; max-width: none; object-fit: contain; }
  .header .brand .divider,
  .header .brand-tag { display: none; }
  .header .nav { display: none; }
  .header .btn-head { min-height: 44px; padding: 0 clamp(14.4px, 4vw, 18px); font-size: 14.5px; }
  .header .burger { display: inline-flex; flex: none; }
  .header .burger__close { display: none; }
  .nav-open .header .burger { background: #fff; border-color: #fff; color: var(--green-700); }
  .nav-open .header .burger__open { display: none; }
  .nav-open .header .burger__close { display: block; }
  .nav-open { overflow: hidden; }
  .nav-open .header .btn-head { visibility: hidden; }
  .nav-open .free-chat-fab { display: none; }

  /* Раскрытое меню — белая панель на весь экран под зелёной строкой. */
  .header .nav.mobile-open {
    top: var(--header-height);
    left: 0;
    width: auto;
    max-width: none;
    gap: 0;
    margin: 0;
    padding: 20px 16px 28px;
    border-top: 0;
    box-shadow: none;
    justify-content: flex-start;
    overscroll-behavior: contain;
  }
  .header .nav.mobile-open .nav-close { display: none; }
  .header .nav__tag {
    margin: 0 0 8px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line);
    font-size: 14px;
    line-height: 1.45;
    color: var(--ink-3);
  }
  .header .nav.mobile-open a:not(.nav__cta),
  .header .nav.mobile-open .nav-catalog,
  .header .nav.mobile-open .nav__current {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-height: 56px;
    padding: 8px 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: none;
    color: var(--ink);
    font-size: 17px;
    font-weight: 700;
  }
  .header .nav.mobile-open a:not(.nav__cta):hover,
  .header .nav.mobile-open .nav-catalog:hover { color: var(--green-700); }
  .header .nav.mobile-open a.is-active,
  .header .nav.mobile-open .nav__current { color: var(--green-700); }
  .header .nav__ico {
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--green-50);
    color: var(--green-700);
  }
  .header .nav__ico svg { width: 20px; height: 20px; stroke-width: 1.8; }
  .header .nav.mobile-open a.is-active .nav__ico,
  .header .nav.mobile-open .nav__current .nav__ico { background: var(--green-700); color: #fff; }
  .header .nav__chev { display: grid; margin-left: auto; color: var(--muted); }
  .header .nav__chev svg { width: 18px; height: 18px; }
  .header .nav .nav__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: 24px;
    border-radius: 14px;
    background: var(--green-700);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
  }
}


/* Б-003 Чат с помощником — класс free-chat (разметка: Pages/Shared/_FreeChat.cshtml, _FreeChatPopularTags, _FreeChatSessionDates) */
@media (max-width: 1199px) {
  /* .partner-promo + .free-chat — в partner-promo.css отступ сверху 54px с большей специфичностью. */
  .free-chat,
  .partner-promo + .free-chat { padding: 40px 28px; }

  /* Верх — 2 колонки: текст и преимущества | Фото 1 на всю высоту колонки (плашка с клиентами — поверх фото). */
  .free-chat .free-chat__layout { grid-template-columns: minmax(0, 1fr); }
  .free-chat .free-chat__info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: 32px;
    padding: 40px 32px;
  }
  .free-chat .free-chat__info > :not(.free-chat__visual) { grid-column: 1; }
  .free-chat .free-chat__info h2 { font-size: 36px; }
  .free-chat .free-chat__lead { font-size: 16px; }
  .free-chat .free-chat__benefits { margin-bottom: 0; }
  .free-chat .free-chat__benefits li { align-items: center; font-size: 15px; }
  .free-chat .free-chat__benefits li > :first-child { width: 44px; height: 44px; flex-basis: 44px; }
  .free-chat .free-chat__visual {
    grid-column: 2;
    grid-row: 1 / -1;
    margin: -40px -32px -40px 0;
    min-height: 0;
  }
  .free-chat .free-chat__visual > picture,
  .free-chat .free-chat__visual > picture > img,
  .free-chat .free-chat__visual > img { position: absolute; inset: 0; min-height: 0; }
  .free-chat .free-chat__social { left: 16px; right: 16px; bottom: 16px; }
  .free-chat .free-chat__social-text { flex: 1 1 auto; }
  .free-chat .free-chat__social-text > span:last-child { white-space: nowrap; }
  .free-chat .free-chat__social-text strong { white-space: nowrap; }

  /* Окно чата на всю ширину: помощники 2×2 → «Частые вопросы» | «Как мы помогаем» → поле сообщения.
     Ограничение высоты с прокруткой внутри панели снято — на планшете/телефоне всё видно на странице. */
  .free-chat .free-chat__panel { max-height: none; border-left: 0; border-top: 1px solid rgba(20, 24, 26, .06); }
  .free-chat .free-chat__panel-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 32px;
    align-items: start;
    max-height: none;
    overflow: visible;
    padding: 28px 32px 16px;
  }
  .free-chat .free-chat__panel-body > * { grid-column: 1 / -1; }
  .free-chat .free-chat__panel-body > .free-chat__section:not(.free-chat__how):not(.free-chat__section--dates) { grid-column: 1; }
  .free-chat .free-chat__panel-body > .free-chat__how { grid-column: 2; }
  .free-chat .free-chat__panel-head strong { font-size: 20px; }
  .free-chat .free-chat__panel-head span { font-size: 14px; }
  .free-chat .free-chat__assistants { gap: 12px; margin-bottom: 24px; }
  .free-chat .free-chat__assistant { align-items: center; min-height: 60px; font-size: 15px; }
  .free-chat .free-chat__section-title { font-size: 16px; }
  .free-chat .free-chat__tag { min-height: 40px; padding: 8px 14px; font-size: 14px; }
  .free-chat .free-chat__how-text { font-size: 14px; }
  .free-chat .free-chat__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .free-chat .free-chat__step-arrow { display: none; }
  .free-chat .free-chat__step {
    flex-direction: row;
    gap: 10px;
    padding: 10px;
    border-radius: 12px;
    background: #f8f8f6;
    text-align: left;
    font-size: 14px;
  }
  .free-chat .free-chat__step-ico { flex: 0 0 36px; width: 36px; height: 36px; background: #fff; }
  .free-chat .free-chat__footer { padding: 8px 32px 28px; border-top: 0; }
  .free-chat .free-chat__input-row { min-height: 56px; }
  .free-chat .free-chat__input { font-size: 15px; }
  .free-chat .free-chat__send { width: 46px; height: 46px; }
}
@media (max-width: 767px) {
  .free-chat,
  .partner-promo + .free-chat { padding: 32px 16px; }
  .free-chat .free-chat__screen { border-radius: 20px; }

  /* Одна колонка: заголовок → подзаголовок → преимущества → Фото 1 16:9 с плашкой, наезжающей на низ фото. */
  .free-chat .free-chat__info { display: flex; padding: 28px 20px 0; }
  .free-chat .free-chat__info h2 { font-size: 28px; }
  .free-chat .free-chat__lead { margin-bottom: 18px; }
  .free-chat .free-chat__benefits { gap: 12px; }
  /* фото 16:9, под ним — строка «С нами уже более … клиентов» на фоне блока: без плашки, рамки и наезда на фото */
  .free-chat .free-chat__visual { flex: none; margin: 24px -20px 0; height: auto; min-height: 0; aspect-ratio: auto; }
  .free-chat .free-chat__visual > picture { position: relative; display: block; height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  .free-chat .free-chat__social {
    position: static; padding: 16px 20px; border: 0; border-radius: 0; background: none; box-shadow: none;
  }
  .free-chat .free-chat__social-text > span:last-child { white-space: normal; }
  .free-chat .free-chat__avatars .av { width: 34px; height: 34px; }

  .free-chat .free-chat__panel { margin: 0 20px; border-top: 1px solid var(--line); }
  .free-chat .free-chat__panel-body { display: block; padding: 24px 0 8px; }
  .free-chat .free-chat__panel-body > .free-chat__section { margin-bottom: 24px; }
  .free-chat .free-chat__assistants { grid-template-columns: 1fr; gap: 10px; }
  .free-chat .free-chat__assistant { min-height: 56px; padding: 8px 14px; }
  .free-chat .free-chat__steps { grid-template-columns: 1fr; gap: 8px; }
  .free-chat .free-chat__step { padding: 8px 10px; font-size: 15px; }
  .free-chat .free-chat__footer { padding: 8px 0 20px; }
  .free-chat .free-chat__input-row { min-height: 56px; padding: 6px 6px 6px 10px; }
  .free-chat .free-chat__send { width: 44px; height: 44px; }
  .free-chat .free-chat__privacy { font-size: 13px; }
}


/* Б-004 Баннер «Станьте партнёром» — класс partner-promo (разметка: Pages/Shared/_PartnerPromoBanner.cshtml).
   Макет нарисован по вариантам 3/4 (с зелёной полосой); варианты 1/2 (без полосы) перестроены по тем же правилам:
   планшет — текст слева, Фото 1 колонкой 320px справа; телефон — фото 4:3 сверху, всё остальное столбцом. */
@media (max-width: 1199px) {
  .shell > .partner-promo { padding: 40px 28px 0; }

  .partner-promo .partner-promo__title { font-size: 36px; }
  .partner-promo .partner-promo__lead { max-width: none; font-size: 16px; }

  /* Фото 1 (фон + фигура) — в колонке 320px на всю высоту блока. */
  .partner-promo .partner-promo__visual {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: stretch;
    justify-self: stretch;
    width: auto;
    min-height: 280px;
    margin-top: -32px;
    aspect-ratio: auto;
    overflow: hidden;
  }
  .partner-promo .partner-promo__bg {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: none;
  }
  .partner-promo .partner-promo__hero {
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    height: 94%;
    width: auto;
    transform: translateX(-50%);
  }

  /* Варианты 3/4: слева иконка + заголовок + подзаголовок, под ними 3 преимущества в ряд. */
  .partner-promo .partner-promo__main {
    grid-template-columns: minmax(0, 1fr) 320px;
    grid-template-rows: auto 1fr;
    gap: 28px 24px;
    min-height: 0;
    padding: 32px 0 0 32px;
  }
  .partner-promo .partner-promo__main > .partner-promo__copy { grid-column: 1; grid-row: 1; }
  .partner-promo .partner-promo__main > .partner-promo__perks { grid-column: 1; grid-row: 2; align-self: start; padding-bottom: 32px; }
  .partner-promo .partner-promo__perks--cols .partner-promo__perk-text { font-size: 15px; }
  .partner-promo .partner-promo__bar { padding: 14px 24px; }
  .partner-promo .partner-promo__bar-text,
  .partner-promo .partner-promo__bar-label { font-size: 15px; }

  /* Варианты 1/2: текст → (преимущества) → кнопка с подписью слева; фото справа. */
  .partner-promo--v1 .partner-promo__card,
  .partner-promo--v2 .partner-promo__card {
    grid-template-columns: minmax(0, 1fr) 320px;
    grid-template-rows: auto auto;
    gap: 20px 24px;
    min-height: 0;
    padding: 32px 0 0 32px;
  }
  .partner-promo--v2 .partner-promo__card { grid-template-rows: auto auto auto; }
  .partner-promo--v1 .partner-promo__card > :not(.partner-promo__visual),
  .partner-promo--v2 .partner-promo__card > :not(.partner-promo__visual) { grid-column: 1; padding: 0; }
  .partner-promo--v2 .partner-promo__divider { display: none; }
  .partner-promo--v1 .partner-promo__action,
  .partner-promo--v2 .partner-promo__action { align-items: flex-start; padding-bottom: 32px; }
  .partner-promo--v1 .partner-promo__note,
  .partner-promo--v2 .partner-promo__note { max-width: none; text-align: left; }
  .partner-promo--v2 .partner-promo__perk-text { font-size: 15px; }
}
@media (max-width: 767px) {
  .shell > .partner-promo { padding: 32px 16px 0; }

  .partner-promo .partner-promo__card { border-radius: 18px; }
  .partner-promo--v1 .partner-promo__card,
  .partner-promo--v2 .partner-promo__card { display: flex; flex-direction: column; align-items: stretch; gap: 20px; padding: 0 20px 24px; }
  .partner-promo .partner-promo__main { display: flex; flex-direction: column; gap: 20px; padding: 0 20px 24px; }

  /* Фото 1 — 4:3 сверху на всю ширину плиты. */
  .partner-promo .partner-promo__visual { order: -1; min-height: 0; margin: 0 -20px; aspect-ratio: 4 / 3; }

  /* Иконка слева от заголовка, подзаголовок — на всю ширину под ними. */
  .partner-promo .partner-promo__copy {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: center;
    gap: 12px 14px;
  }
  .partner-promo .partner-promo__text { display: contents; }
  .partner-promo .partner-promo__ico { width: 56px; height: 56px; }
  .partner-promo .partner-promo__title { font-size: 28px; }
  .partner-promo .partner-promo__lead { grid-column: 1 / -1; font-size: 15px; }

  /* Преимущества — вертикальный список, иконка 44px слева. */
  .partner-promo .partner-promo__main > .partner-promo__perks { padding: 0; }
  .partner-promo .partner-promo__perks--cols { grid-template-columns: 1fr; gap: 12px; }
  .partner-promo .partner-promo__perks--cols .partner-promo__perk {
    flex-direction: row;
    gap: 14px;
    padding: 0;
    text-align: left;
  }
  .partner-promo .partner-promo__perks--cols .partner-promo__perk:not(:last-child) { border-right: 0; }
  .partner-promo .partner-promo__perk-ico { width: 44px; height: 44px; }

  /* Полоса — столбцом: значок + надпись → линия → текст про доход → кнопка на всю ширину. */
  .partner-promo .partner-promo__bar { flex-direction: column; align-items: stretch; gap: 16px; padding: 20px; }
  .partner-promo .partner-promo__bar-label { white-space: normal; font-size: 16px; }
  .partner-promo .partner-promo__bar-divider { width: auto; min-height: 0; height: 1px; }
  .partner-promo .partner-promo__bar-btn { min-height: 52px; }

  .partner-promo--v1 .partner-promo__action,
  .partner-promo--v2 .partner-promo__action { align-items: stretch; padding: 0; }
  .partner-promo .partner-promo__btn { min-width: 0; width: 100%; }
  .partner-promo .partner-promo__note { white-space: normal; text-align: center; }
}



/* Б-005 Квиз «Создайте заявку» + «Нет времени заполнить заявку?» — класс quiz (разметка: Pages/Shared/_HomeQuiz.cshtml,
   ServiceLanding/_BlockQuiz.cshtml, _QuizCallback.cshtml; те же классы — у квизов услуг в ServiceQuizzes/* и на страницах).
   «Как мы работаем» на планшете — копия .quiz-stats-card--below под анкетой (есть в _HomeQuiz и _BlockQuiz); где копии
   нет, карточка остаётся поверх фото. */
@media (max-width: 1199px) {
  .quiz { margin-top: 40px; }

  /* Верх — 2 колонки: текст и преимущества списком | Фото 1 (400px, на высоту колонки). */
  .quiz .quiz-banner {
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 32px;
    min-height: 0;
    padding: 0 28px;
  }
  .quiz .quiz-banner .text { padding: 0; }
  .quiz .quiz-banner .text .eyebrow { margin-bottom: 14px; }
  .quiz .quiz-banner h2 { font-size: 36px; margin-bottom: 14px; }
  .quiz .quiz-banner p.lead-small { font-size: 16px; margin-bottom: 24px; }
  .quiz .quiz-pills { flex-direction: column; gap: 14px; }
  .quiz .quiz-pill { grid-template-columns: 48px 1fr; }
  .quiz .quiz-pill .ico { width: 48px; height: 48px; }
  .quiz .quiz-banner .image { min-height: 380px; border-radius: 24px; }
  .quiz .quiz-banner .image img { border-radius: 24px; }
  .quiz:has(.quiz-stats-card--below) .quiz-banner .quiz-stats-card { display: none; }
  .quiz .quiz-banner .quiz-stats-card { right: 16px; bottom: 16px; }

  /* «Нет времени…» → анкета на всю ширину → «Как мы работаем» | «Ваши данные под защитой». */
  .quiz .quiz-card-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 32px 28px 0;
  }
  .quiz .quiz-card-wrap > * { grid-column: 1 / -1; }
  .quiz .quiz-card-wrap > .quiz-stats-card--below { grid-column: 1; grid-row: 3; }
  .quiz .quiz-card-wrap > .quiz-side { grid-row: 3; align-self: stretch; padding: 24px 28px; }
  .quiz .quiz-card-wrap > .quiz-stats-card--below ~ .quiz-side { grid-column: 2; }
  .quiz .quiz-stats-card--below {
    display: block;
    position: static;
    width: auto;
    padding: 24px 28px;
    border-radius: 18px;
    box-shadow: 0 12px 32px -24px rgba(20,24,26,.18);
  }
  .quiz .quiz-stats-card--below .quiz-stats-card__title { font-size: 20px; }
  .quiz .quiz-stats-card--below .quiz-stats-card__item { font-size: 15px; }
  .quiz .quiz-side .head .t { font-size: 16px; }
  .quiz .quiz-side p,
  .quiz .quiz-side__link { font-size: 15px; }

  .quiz .quiz-callback__box { grid-template-columns: auto minmax(0, 1fr) minmax(0, 340px); gap: 16px 24px; padding: 24px 28px; }
  .quiz .quiz-callback__form { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .quiz .quiz-callback__action { grid-column: 1; grid-row: auto; justify-items: stretch; }
  .quiz .quiz-callback__error { grid-row: auto; }
  .quiz .quiz-callback__btn { width: 100%; height: 52px; }
  .quiz .quiz-callback__note { justify-content: center; }

  .quiz .quiz-card { padding: 28px 32px; }
  .quiz .quiz-card h3 { font-size: 26px; }
  .quiz .quiz-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }   /* и у квизов услуг с 3–4 колонками */
  .quiz .quiz-opt { min-height: 60px; padding: 10px 16px; }
  .quiz .quiz-opt .lbl { font-size: 15px; }
  .quiz .quiz-actions__main { flex-direction: row-reverse; }

  /* Полоса доверия — сетка 3 колонки: договор, «по фото», «макет»; во 2-м ряду «с 2009» и аватары (на 2 колонки). */
  .quiz .quiz-trust-bar {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 20px 0;
    margin: 24px 28px 0;
    padding: 20px 0;
  }
  .quiz .quiz-trust-bar__col { padding: 4px 20px; }
  .quiz .quiz-trust-bar__col:nth-child(3),
  .quiz .quiz-trust-bar__col:nth-child(4) { border-right: 0; }
  .quiz .quiz-trust-bar__col:has(.quiz-trust-bar__join) { grid-column: 2 / -1; }
  .quiz .quiz-trust-bar__join { flex-direction: row; align-items: center; gap: 14px; }
  .quiz .quiz-trust-bar__join-txt { font-size: 14px; }
}
@media (max-width: 767px) {
  /* Одна колонка: надзаголовок → заголовок → подзаголовок → преимущества → Фото 1 (4:3, до краёв экрана)
     с карточкой «Как мы работаем», наезжающей на низ фото. */
  .quiz .quiz-banner { display: flex; flex-direction: column; gap: 0; padding: 0 16px; }
  .quiz .quiz-banner .eyebrow { white-space: normal; }
  .quiz .quiz-banner h2 { font-size: 28px; }
  .quiz .quiz-banner p.lead-small { font-size: 15px; margin-bottom: 20px; }
  .quiz .quiz-pills { gap: 10px; }
  .quiz .quiz-banner .image {
    min-height: 0;
    margin: 24px calc(50% - 50vw) 0;   /* до краёв экрана при любых полях раздела (на страницах услуг у квиза свои 16px) */
    padding-top: calc(75vw - 64px);
    border-radius: 0;
  }
  .quiz .quiz-banner .image:not(:has(.quiz-stats-card)) { padding-top: 75vw; }   /* без карточки поверх (статьи и др.) */
  .quiz .quiz-banner .image responsive-img,
  .quiz .quiz-banner .image picture,
  .quiz .quiz-banner .image > img { bottom: auto; height: 75vw; }
  .quiz .quiz-banner .image img { border-radius: 0; }
  .quiz:has(.quiz-stats-card--below) .quiz-banner .quiz-stats-card,
  .quiz .quiz-banner .quiz-stats-card {
    display: block;
    position: relative;
    right: auto;
    bottom: auto;
    width: auto;
    margin: 0 12px;
    padding: 18px 20px;
  }
  .quiz .quiz-stats-card__item { font-size: 14px; }
  .quiz .quiz-card-wrap > .quiz-stats-card--below { display: none; }

  .quiz .quiz-card-wrap { display: flex; flex-direction: column; gap: 16px; margin: 24px 16px 0; }

  /* «Нет времени…»: иконка + заголовок, текст, поле и кнопка на всю ширину, подсказка. */
  .quiz .quiz-callback__box { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; padding: 20px 16px; }
  .quiz .quiz-callback__ico { width: 48px; height: 48px; }
  .quiz .quiz-callback__ico [data-lucide] { width: 22px; height: 22px; }
  .quiz .quiz-callback__text { display: contents; }
  .quiz .quiz-callback__title { align-self: center; margin: 0; font-size: 20px; }
  .quiz .quiz-callback__sub { grid-column: 1 / -1; font-size: 15px; }
  .quiz .quiz-callback__form,
  .quiz .quiz-callback__done { grid-column: 1 / -1; }
  .quiz .quiz-callback__field { height: 52px; }

  /* Анкета: варианты в 1 колонку (строки 56px), «Далее» на всю ширину, подсказка под ней. */
  .quiz .quiz-card { padding: 20px 16px; border-radius: 18px; }
  .quiz .quiz-progress { gap: 14px; margin-bottom: 20px; }
  .quiz .quiz-card h3 { font-size: 22px; }
  .quiz .quiz-card .hint { margin-bottom: 16px; }
  .quiz .quiz-options { grid-template-columns: 1fr; gap: 10px; margin-bottom: 20px; }
  .quiz .quiz-opt { min-height: 56px; padding: 8px 14px; column-gap: 12px; }
  .quiz .quiz-actions { flex-direction: column-reverse; align-items: stretch; padding-top: 20px; }
  .quiz .quiz-actions__main { flex-direction: column; align-items: stretch; gap: 10px; margin-left: 0; }
  .quiz .quiz-btn { max-width: none; min-height: 52px; }
  .quiz .quiz-actions__note { justify-content: center; }

  .quiz .quiz-card-wrap > .quiz-side { padding: 20px 16px; }

  /* Полоса доверия: договор строкой → 3 плитки в ряд → аватары + «Присоединяйтесь…». */
  .quiz .quiz-trust-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 16px 0;
    padding: 16px;
  }
  .quiz .quiz-trust-bar__col { padding: 0; border-right: 0; }
  .quiz .quiz-trust-bar__col:first-child,
  .quiz .quiz-trust-bar__col:has(.quiz-trust-bar__join) { grid-column: 1 / -1; }
  .quiz .quiz-trust-bar__col:first-child { padding-bottom: 6px; }
  .quiz .quiz-trust-bar__col:has(.quiz-trust-bar__join) { padding-top: 6px; }
  .quiz .quiz-trust-bar__stat {
    flex-direction: column;
    gap: 6px;
    height: 100%;
    padding: 12px 6px;
    border: 1px solid var(--line-2);
    border-radius: 14px;
    text-align: center;
  }
  .quiz .quiz-trust-bar__stat .quiz-trust-bar__ico { width: 36px; height: 36px; }
  .quiz .quiz-trust-bar__stat .quiz-trust-bar__ico [data-lucide] { width: 18px; height: 18px; }
  .quiz .quiz-trust-bar__stat-copy { align-items: center; }
  .quiz .quiz-trust-bar__num { font-size: 20px; }
  .quiz .quiz-trust-bar__lab { font-size: 12.5px; }

  /* Кнопки шагов квиза: длинная надпись («Получить варианты благоустройства») переносится, а не вылезает за поле */
  .quiz-actions .quiz-actions__main { min-width: 0; max-width: 100%; }
  .quiz-actions .quiz-btn { white-space: normal; text-align: center; justify-content: center; max-width: 100%; }

  /* Последний шаг «Ваша заявка» (_QuizReview): одна колонка; «Назад» и «Отправить» в строку, согласие — абзацем под ними */
  .quiz-review__grid { grid-template-columns: minmax(0, 1fr); }
  .quiz-review__footer { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; container-type: inline-size; }
  .quiz-review__submit-wrap { display: contents; }
  .quiz-review__back { padding: 14px 16px; }
  .quiz-review__submit { min-width: 0; padding: 16px 12px; }
  .quiz-review__legal { display: block; grid-column: 1 / -1; text-align: center; }
  .quiz-review__legal [data-lucide] { display: inline-block; vertical-align: -2px; margin-right: 4px; }
}


/* Б-006 Перелинковка «Полезно перед заказом» — класс xlinks (разметка: Pages/Shared/Components/CrossLinks/Default.cshtml).
   Ленты: карточки статей и «Часто заказывают вместе» — m-swipe (телефон); «Идеи по фото» и «Наши работы» — t-swipe. */
@media (max-width: 1199px) {
  .xlinks { padding: 40px 28px 24px; }
  .xlinks--book { padding-left: 0; padding-right: 0; }

  /* Карточки статей — 2 колонки, тексты полностью. */
  .xlinks .xlinks__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xlinks .xlinks__text { display: block; -webkit-line-clamp: none; overflow: visible; font-size: 15px; }
  .xlinks .xlinks__together { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xlinks .xlinks__hubs,
  .xlinks .xlinks__map { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* «Идеи по фото» — лента: 3 фото 4:5 + край 4-го; «Наши работы» — 2 + край. */
  .xlinks .xlinks__photos { --t-cards: 3; --t-peek: 96px; }
  .xlinks .xlinks__cap { font-size: 14px; }
  .xlinks .xlinks__service { min-height: 56px; }
}
@media (max-width: 767px) {
  .xlinks { padding: 32px 16px 16px; }
  .xlinks .xlinks__head .eyebrow { white-space: normal; }
  .xlinks .xlinks__head h2 { font-size: 28px; }

  /* Карточки статей — лента до краёв экрана (1 + край), одной высоты. */
  .xlinks .xlinks__list > li,
  .xlinks .xlinks__together > li { display: flex; }
  .xlinks .xlinks__card,
  .xlinks .xlinks__svc { width: 100%; }
  .xlinks .xlinks__hubs,
  .xlinks .xlinks__map { grid-template-columns: 1fr; }

  /* «Все идеи…» / «Все работы» — кнопка-контур на всю ширину под лентой. */
  .xlinks .xlinks__more--below {
    display: flex;
    justify-content: center;
    padding: 14px 18px;
    gap: 10px;
    line-height: 1.3;
    text-align: center;
    min-height: 52px;
    margin-top: 16px;
    border: 1.5px solid var(--green-700);
    border-radius: 14px;
    font-size: 16px;
  }

  /* Без ленты (веб-книги: свой layout, классов m-swipe/t-swipe нет) — карточки и работы столбиком, фото по 2. */
  .xlinks .xlinks__list:not(.m-swipe),
  .xlinks .xlinks__together:not(.m-swipe),
  .xlinks .xlinks__works:not(.t-swipe) { grid-template-columns: 1fr; }
  .xlinks .xlinks__photos:not(.t-swipe) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}



/* Б-007 SEO-блок «О компании» и «Часто ищут» — класс seo (разметка: Pages/Index.cshtml — секция SEO,
   Pages/Shared/ServiceLanding/_BlockSeo.cshtml, Pages/Shared/_ServiceSeo.cshtml). */
@media (max-width: 1199px) {
  /* Поля: на главной — inline-стиль в разметке (padding: 0 56px 64px), на услугах — .service-page > section с !important. */
  .seo[style] { padding-left: 28px !important; padding-right: 28px !important; }

  /* Верх — 2 колонки: текст (надзаголовок, заголовок, абзацы) | Фото 1 (360px на высоту текста);
     преимущества 2×2 — на всю ширину под ними. .text растворяется, чтобы преимущества ушли из колонки. */
  .seo .seo-banner {
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 0 32px;
    min-height: 0;
    margin-bottom: 40px;
  }
  .seo .seo-banner .text { display: contents; }
  .seo .seo-banner .text > * { grid-column: 1; }
  .seo .seo-banner .eyebrow { grid-row: 1; }
  .seo .seo-banner h2 { grid-row: 2; }
  .seo .seo-banner .lead { grid-row: 3; }
  .seo .seo-banner .seo-features { grid-column: 1 / -1; grid-row: 4; margin-top: 28px; padding-bottom: 0; }
  .seo .seo-banner .image {
    grid-column: 2;
    grid-row: 1 / 4;
    min-height: 260px;
    margin-right: 0;
    border-radius: 24px;
  }
  .seo h2 { font-size: 36px; margin-bottom: 18px; }
  .seo .seo-banner h2 br { display: none; }
  .seo .lead { max-width: none; margin-bottom: 0; font-size: 16px; }
  .seo .seo-features { gap: 20px 24px; }
  .seo .seo-feat { align-items: start; }
  .seo .seo-feat .t1 { font-size: 16px; }
  .seo .seo-feat .t2 { font-size: 14.5px; }

  /* «Часто ищут» — 2 колонки × 4 ряда, плашки 56px. */
  .seo .seo-search .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin-bottom: 40px; }
  .seo .seo-pill { min-height: 56px; padding: 8px 20px; font-size: 15px; }
  .seo .seo-about p { font-size: 15.5px; }
  .seo .seo-tags { margin-bottom: 36px; }
  .seo .seo-tags span { font-size: 15px; }
  .seo .seo-bottom { flex-wrap: wrap; gap: 12px 16px; }
}
@media (max-width: 767px) {
  .seo[style] { padding-left: 16px !important; padding-right: 16px !important; }

  /* Надзаголовок → заголовок → Фото 1 (4:3, до краёв экрана) → абзацы → преимущества списком. */
  .seo .seo-banner { display: flex; flex-direction: column; margin-bottom: 32px; }
  .seo .seo-banner .eyebrow { order: 1; }
  .seo .seo-banner h2 { order: 2; }
  .seo .seo-banner .image { order: 3; min-height: 0; aspect-ratio: 4 / 3; margin: 2px -16px 20px; border-radius: 0; }
  .seo .seo-banner .image::before { content: none; }
  .seo .eyebrow { white-space: normal; }
  .seo .svc-seo-pic,
  .seo .svc-seo-pic--left { float: none; width: auto; margin: 4px 0 16px; }
  .seo .seo-banner .lead { order: 4; }
  .seo .seo-banner .seo-features { order: 5; margin-top: 24px; }
  .seo h2 { font-size: 28px; }
  .seo .seo-features { grid-template-columns: 1fr; gap: 16px; }
  .seo .seo-feat { grid-template-columns: 32px 1fr; }
  .seo .seo-feat .ico { width: 32px; height: 32px; }
  .seo .seo-feat .ico [data-lucide] { width: 24px; height: 24px; }

  /* «Часто ищут»: первые 5 плашек списком + «Показать все (N)». */
  .seo .seo-search h3,
  .seo .seo-about h3 { font-size: 24px; margin-bottom: 16px; }
  .seo .seo-search .grid { grid-template-columns: 1fr; gap: 10px; margin-bottom: 0; }
  .seo .seo-pill { min-height: 52px; padding: 8px 16px; }
  .seo .seo-search:not(.is-all) .seo-pill:nth-child(n+6) { display: none; }
  .seo .seo-search__more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 52px;
    margin-top: 10px;
    border: 1.5px dashed var(--line);
    border-radius: 12px;
    color: var(--green-700);
    font-size: 15px;
    font-weight: 700;
  }
  .seo .seo-search__more svg { width: 18px; height: 18px; }
  .seo .seo-search { margin-bottom: 36px; }

  /* «О компании»: ключевые слова — переносящиеся «таблетки» вместо строки через точки. */
  .seo .seo-about p { font-size: 15px; }
  .seo .seo-tags { gap: 8px; margin-bottom: 28px; }
  .seo .seo-tags span {
    padding: 7px 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    font-size: 14px;
  }
  .seo .seo-tags span::after { content: none; }

  /* Низ: значок + текст, ссылка — светло-зелёная кнопка на всю ширину. */
  .seo .seo-bottom { justify-content: flex-start; flex-wrap: wrap; gap: 14px 12px; padding-top: 20px; }
  .seo .seo-bottom .ico { flex: none; }
  .seo .seo-bottom .msg { flex: 1; min-width: 0; }
  .seo .seo-bottom a {
    flex: 1 1 100%;
    justify-content: center;
    min-height: 52px;
    border-radius: 14px;
    background: var(--green-50);
  }
}

/* Каталог-меню, второй уровень (catalog-modal__sub, bundles/core.css): телефон — линия с точками и пункты левее,
   текст шире, стрелка чуть дальше от края. Линия: 21px от края списка (−19 от пункта); точка 8px по центру линии (−19 + 1 − 4 = −22). */
@media (max-width: 767px) {
  .catalog-modal__sub { padding: 4px 14px 14px 40px; }
  .catalog-modal__sub > li::after { left: -19px; }
  .catalog-modal__sub-item::before { left: -22px; }
  .catalog-modal__sub-row { gap: 10px; padding: 10px 10px 10px 8px; }
  .catalog-modal__thumb--round { border-radius: 14px; }
  .catalog-modal__row .catalog-modal__label { font-size: 14px; letter-spacing: .01em; }   /* «ОГРАДЫ И БЛАГОУСТРОЙСТВО» не заходит на кнопку */   /* разделы — квадраты, линия второго уровня выходит из-под них */
}

/* Квиз «Ваша заявка»: ряд «Назад» + «Отправить заявку» уже 305px (телефоны ≤ 360) — «заявку» не влезает в строку,
   показываем только «Отправить» и самолётик (владелец 2026-10-22) */
@container (max-width: 305px) {
  .quiz-review__submit-rest { display: none; }
}
