/* ==========================================================================
   Квиз «Вызов эвакуатора» для man-spas-team-112.ru
   Структура шагов — по образцу marquiz, цвета свои: зелёный сайта вместо
   жёлтого образца. Иконки нарисованы штрихом в currentColor, поэтому
   красятся тем же зелёным и не тянут внешних библиотек.
   ========================================================================== */

.kviz{
  --k-green:#72A431;        /* основной цвет сайта */
  --k-green-dark:#5C8627;   /* производный, для наведения */
  --k-green-soft:rgba(114,164,49,.16);
  --k-ink:#1E2328;          /* фон карточки квиза */
  --k-ink-soft:#2A3138;     /* фон вариантов ответа */
  --k-line:rgba(255,255,255,.12);
  --k-text:#EEF1F3;
  --k-muted:rgba(238,241,243,.62);
  --k-radius:14px;

  padding:36px 0;
}
.kviz *{box-sizing:border-box}
.kviz__wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* ---------- Стартовый экран ---------- */
.kviz__intro{
  position:relative;border-radius:var(--k-radius);overflow:hidden;
  background:var(--k-ink) url('/files/slider/01/00/dd417224102fcf346eb66af9ee439f66.png') center/cover no-repeat;
  color:var(--k-text);
}
.kviz__intro::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg, rgba(20,24,28,.94) 0%, rgba(20,24,28,.86) 45%, rgba(20,24,28,.55) 100%);
}
.kviz__intro-text{position:relative;padding:52px 44px;max-width:720px}
.kviz__badge{
  display:inline-block;padding:6px 14px;border-radius:999px;
  background:var(--k-green);color:#fff;font-size:13px;font-weight:600;
  letter-spacing:.04em;margin-bottom:18px;
}
.kviz__title{
  margin:0 0 14px;font-size:clamp(24px,3.4vw,38px);line-height:1.18;
  font-weight:800;color:#fff;
}
.kviz__lead{margin:0 0 26px;font-size:17px;line-height:1.55;color:var(--k-muted);max-width:52ch}
.kviz__phones{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px}
.kviz__phones a{
  color:#fff;font-size:19px;font-weight:700;text-decoration:none;white-space:nowrap;
}
.kviz__phones a:hover{color:var(--k-green)}
.kviz__note{margin:14px 0 0;font-size:13px;color:var(--k-muted)}

/* ---------- Кнопки ---------- */
.kviz__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border:0;border-radius:10px;cursor:pointer;
  font:700 16px/1 inherit;padding:15px 26px;
  transition:background .18s,color .18s,border-color .18s,opacity .18s;
}
.kviz__btn--primary{background:var(--k-green);color:#fff}
.kviz__btn--primary:hover:not(:disabled){background:var(--k-green-dark)}
.kviz__btn--primary:disabled{background:#5a6068;color:rgba(255,255,255,.6);cursor:not-allowed}
.kviz__btn--ghost{
  background:transparent;border:1px solid var(--k-line);color:var(--k-text);
  padding:15px 18px;
}
.kviz__btn--ghost:hover{border-color:var(--k-green);color:var(--k-green)}
.kviz__btn--ghost:disabled{opacity:.35;cursor:not-allowed}

/* ---------- Карточка квиза ---------- */
.kviz__form{
  background:var(--k-ink);border-radius:var(--k-radius);color:var(--k-text);
  padding:0 0 22px;overflow:hidden;
}
.kviz__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 40px;border-bottom:1px solid var(--k-line);
}
.kviz__head-title{font-size:15px;color:var(--k-muted)}
.kviz__restart{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--k-line);
  background:transparent;color:var(--k-muted);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:.18s;
}
.kviz__restart:hover{border-color:var(--k-green);color:var(--k-green)}

.kviz__step{padding:36px 40px}
.kviz__q{margin:0 0 8px;font-size:clamp(21px,2.6vw,28px);line-height:1.25;font-weight:700;color:#fff}
.kviz__hint{margin:0 0 22px;font-size:14px;color:var(--k-muted)}

/* ---------- Поля ввода ---------- */
.kviz__field{position:relative;display:block;margin-bottom:14px}
.kviz__field-icon{
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  color:var(--k-green);pointer-events:none;
}
.kviz__field input{
  width:100%;min-height:56px;padding:16px 16px 16px 48px;
  background:var(--k-ink-soft);border:1px solid var(--k-line);border-radius:10px;
  color:#fff;font-size:16px;outline:0;transition:border-color .16s,box-shadow .16s;
}
.kviz__field input::placeholder{color:rgba(238,241,243,.4)}
.kviz__field input:focus{border-color:var(--k-green);box-shadow:0 0 0 3px var(--k-green-soft)}

/* ---------- Варианты ответа ---------- */
.kviz__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.kviz__grid--list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}

.kviz__card{
  position:relative;display:flex;flex-direction:column;gap:12px;
  padding:20px;border:1px solid var(--k-line);border-radius:12px;
  background:var(--k-ink-soft);cursor:pointer;transition:border-color .16s,background .16s;
}
.kviz__card:hover{border-color:var(--k-green)}
.kviz__card input{position:absolute;opacity:0;pointer-events:none}
.kviz__card input:checked ~ .kviz__card-text,
.kviz__card input:checked ~ .kviz__card-icon{color:#fff}
.kviz__card:has(input:checked){border-color:var(--k-green);background:var(--k-green-soft)}
.kviz__card-text{font-size:15px;line-height:1.35;color:var(--k-text)}
.kviz__card-icon{color:var(--k-green);display:block;width:40px;height:40px}
.kviz__card-icon svg{width:100%;height:100%}

.kviz__card--row{flex-direction:row;align-items:center;gap:14px;padding:16px 18px}
.kviz__radio{
  flex:0 0 20px;width:20px;height:20px;border-radius:50%;
  border:2px solid var(--k-line);position:relative;transition:border-color .16s;
}
.kviz__card--row:has(input:checked) .kviz__radio{border-color:var(--k-green)}
.kviz__card--row:has(input:checked) .kviz__radio::after{
  content:"";position:absolute;inset:3px;border-radius:50%;background:var(--k-green);
}

/* ---------- Финальный экран ---------- */
.kviz__final{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);gap:0;padding:0}
.kviz__final-photo{position:relative;min-height:100%}
.kviz__final-photo img{width:100%;height:100%;object-fit:cover;display:block}
.kviz__final-body{padding:36px 40px}
.kviz__final .kviz__q{margin-bottom:6px}

/* Блок согласий по 152-ФЗ — общий шаблон сайта, здесь только цвета */
.kviz__final .form-policy{
  margin:18px 0 20px;padding:16px;border-radius:10px;
  background:var(--k-ink-soft);font-size:13px;line-height:1.45;
}
.kviz__final .form-policy label{color:var(--k-muted);font-weight:400;margin:0}
.kviz__final .form-policy a{color:var(--k-green);text-decoration:underline}
.kviz__final .form-policy input[type=checkbox]{
  accent-color:var(--k-green);width:16px;height:16px;margin-right:10px;flex:0 0 16px;
}
.kviz__submit{width:100%;margin-top:4px}

/* ---------- Панель навигации ---------- */
.kviz__bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 40px 0;border-top:1px solid var(--k-line);margin-top:6px;
}
.kviz__progress{display:flex;align-items:center;gap:12px}
.kviz__ring{transform:rotate(-90deg)}
.kviz__ring circle{fill:none;stroke-width:3}
.kviz__ring-bg{stroke:var(--k-line)}
.kviz__ring-fg{
  stroke:var(--k-green);stroke-linecap:round;
  stroke-dasharray:97.4;stroke-dashoffset:97.4;transition:stroke-dashoffset .3s;
}
.kviz__progress-text{font-size:12px;line-height:1.3;color:var(--k-muted)}
.kviz__progress-text b{color:var(--k-green);font-size:14px}
.kviz__nav{display:flex;gap:10px}

/* ---------- Узкие экраны ---------- */
@media(max-width:860px){
  .kviz__step,.kviz__final-body{padding:28px 26px}
  .kviz__head,.kviz__bar{padding-left:26px;padding-right:26px}
  .kviz__final{grid-template-columns:1fr}
  .kviz__final-photo{height:200px}
  .kviz__intro-text{padding:32px 24px}
}
@media(max-width:560px){
  .kviz{padding:22px 0}
  .kviz__step,.kviz__final-body{padding:22px 18px}
  .kviz__head,.kviz__bar{padding-left:18px;padding-right:18px}
  .kviz__grid{grid-template-columns:1fr}
  .kviz__btn{padding:14px 20px;font-size:15px}
  .kviz__phones a{font-size:17px}
}

/* Подсветка незаполненного обязательного поля или группы вариантов */
.kviz--invalid{animation:kviz-shake .35s}
.kviz--invalid input{border-color:#e2574c !important;box-shadow:0 0 0 3px rgba(226,87,76,.2) !important}
.kviz__grid.kviz--invalid .kviz__card{border-color:#e2574c}
@keyframes kviz-shake{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-5px)}
  75%{transform:translateX(5px)}
}

/* ==========================================================================
   Посадочная страница: ни шапки, ни подвала, ни Bootstrap.
   Здесь база страницы, четыре служебных класса, которые нужны блоку
   согласий, сквозная строка документов и оформление страниц-документов.
   ========================================================================== */

.kviz-page{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:#F4F6F7;color:#1E2328;
  -webkit-font-smoothing:antialiased;
}
.kviz-page *{box-sizing:border-box}
.kviz-page img{max-width:100%}

/* Классы из блока согласий: раньше приходили из Bootstrap,
   теперь описаны здесь, чтобы не тянуть весь фреймворк. */
.kviz-page .d-flex{display:flex}
.kviz-page .mb-2{margin-bottom:.5rem}
.kviz-page .mb-0{margin-bottom:0}
.kviz-page .mt-1{margin-top:.25rem}
.kviz-page .mr-2{margin-right:.5rem}

/* Квиз занимает экран целиком, страница не «болтается» */
.kviz-page .kviz{
  min-height:100vh;display:flex;align-items:center;
  padding:32px 0;
}
.kviz-page .kviz__wrap{width:100%}

/* ---------- Сквозная строка документов ---------- */
.kviz__docs{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;
  margin-top:18px;padding:0 4px;
  font-size:13px;line-height:1.4;
}
.kviz__docs a{
  color:#5a6470;text-decoration:none;border-bottom:1px solid transparent;
  padding-bottom:1px;transition:color .16s,border-color .16s;
}
.kviz__docs a:hover{color:var(--k-green,#72A431);border-color:var(--k-green,#72A431)}
.kviz__docs-company{color:#98a1ab;margin-left:auto}

/* ---------- Страницы документов ---------- */
.kviz-doc{
  max-width:820px;margin:0 auto;padding:40px 20px 60px;
  font-size:16px;line-height:1.65;
}
.kviz-doc__back{
  display:inline-block;margin-bottom:22px;font-size:14px;
  color:#72A431;text-decoration:none;
}
.kviz-doc__back:hover{text-decoration:underline}
.kviz-doc__title{margin:0 0 22px;font-size:clamp(22px,3vw,30px);line-height:1.25;font-weight:700}
.kviz-doc__body{background:#fff;border-radius:12px;padding:28px;box-shadow:0 1px 3px rgba(30,35,40,.07)}
.kviz-doc__body h2,.kviz-doc__body h3,.kviz-doc__body h4{margin:1.6em 0 .6em;line-height:1.3}
.kviz-doc__body h2:first-child,.kviz-doc__body h3:first-child{margin-top:0}
.kviz-doc__body p{margin:0 0 1em}
.kviz-doc__body table{width:100%;border-collapse:collapse;margin:1em 0}
.kviz-doc__body td,.kviz-doc__body th{border:1px solid #e3e6e9;padding:8px 10px;text-align:left}
.kviz-doc__links{
  display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:26px;font-size:13px;
}
.kviz-doc__links a{color:#5a6470;text-decoration:none;border-bottom:1px solid transparent}
.kviz-doc__links a:hover{color:#72A431;border-color:#72A431}

@media(max-width:560px){
  .kviz-page .kviz{min-height:auto;padding:20px 0}
  .kviz__docs{font-size:12px;gap:6px 14px}
  .kviz__docs-company{margin-left:0;width:100%}
  .kviz-doc{padding:24px 16px 40px}
  .kviz-doc__body{padding:20px}
}

/* Атрибут hidden скрывает элемент через display:none в стилях браузера,
   а у .kviz__final в этом файле задан display:grid — авторское правило
   сильнее, и финальный экран показывался вместе с первым шагом.
   Гасим явно и с запасом по весу. */
.kviz [hidden],
.kviz__step[hidden],
.kviz__final[hidden],
.kviz__form[hidden]{display:none !important}

/* ==========================================================================
   Компактная шапка и блоки с текстами под квизом.
   Прежняя шапка занимала почти 700 пикселей и состояла из огромного
   логотипа, слогана и восьми кнопок. Здесь одна строка в 68 пикселей.
   ========================================================================== */

/* ---------- Шапка ---------- */
.lp-head{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid #E4E8EB;
}
.lp-head__wrap{
  max-width:1120px;margin:0 auto;padding:0 20px;
  display:flex;align-items:center;gap:24px;height:68px;
}
.lp-head__logo{flex:0 0 auto;display:flex;align-items:center}
.lp-head__logo img{height:95px;width:auto;display:block}

.lp-head__nav{display:flex;gap:22px;margin-left:8px}
.lp-head__nav a{
  font-size:14px;font-weight:600;color:#4A545E;text-decoration:none;
  padding:6px 0;border-bottom:2px solid transparent;transition:color .16s,border-color .16s;
}
.lp-head__nav a:hover{color:#72A431;border-color:#72A431}

.lp-head__act{margin-left:auto;display:flex;align-items:center;gap:14px}
.lp-head__phone{
  display:inline-flex;align-items:center;gap:8px;
  font-size:17px;font-weight:700;color:#1E2328;text-decoration:none;white-space:nowrap;
}
.lp-head__phone svg{color:#72A431;flex:0 0 auto}
.lp-head__phone:hover{color:#72A431}
.lp-head__badge{
  background:#72A431;color:#fff;font-size:12px;font-weight:700;
  padding:5px 10px;border-radius:6px;letter-spacing:.04em;
}

/* ---------- Секции ---------- */
.lp{display:block}
.lp-wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.lp-sec{padding:64px 0}
.lp-sec--alt{background:#fff}
.lp-sec__head{margin-bottom:32px;max-width:70ch}
.lp-kicker{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#72A431;margin-bottom:10px;
}
.lp-h2{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.2;font-weight:800;color:#1E2328}
.lp-sub{margin:12px 0 0;font-size:16px;line-height:1.55;color:#5A646E}

/* Текстовые блоки: колонка ограничена по ширине — сплошное
   полотно во весь экран читать тяжело. */
.lp-prose{max-width:74ch;font-size:16px;line-height:1.7;color:#39424B}
.lp-prose--compact{font-size:15px;line-height:1.6}
.lp-prose p{margin:0 0 1em}
.lp-prose h1,.lp-prose h2,.lp-prose h3,.lp-prose h4{
  margin:1.6em 0 .5em;line-height:1.3;color:#1E2328;font-weight:700;
  font-size:clamp(18px,2vw,22px);
}
.lp-prose h1:first-child,.lp-prose h2:first-child,.lp-prose h3:first-child{margin-top:0}
.lp-prose ul,.lp-prose ol{margin:0 0 1em;padding-left:1.3em}
.lp-prose li{margin-bottom:.4em}
.lp-prose img{border-radius:10px;height:auto}
.lp-prose a{color:#72A431}

/* ---------- Карточки услуг ---------- */
.lp-cards{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;
}
.lp-card{
  display:flex;flex-direction:column;gap:10px;
  background:#F4F6F7;border:1px solid #E4E8EB;border-radius:14px;padding:24px;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.lp-sec--alt .lp-card{background:#F4F6F7}
.lp-card:hover{
  border-color:#72A431;box-shadow:0 8px 26px rgba(30,35,40,.08);transform:translateY(-3px);
}
.lp-card__icon{display:block;width:42px;height:42px;color:#72A431}
.lp-card__icon svg{width:100%;height:100%}
.lp-card__title{margin:0;font-size:18px;line-height:1.3;font-weight:700;color:#1E2328}
.lp-card__desc{margin:0;font-size:14px;line-height:1.5;color:#5A646E;flex:1 1 auto}
.lp-card__foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:6px;padding-top:14px;border-top:1px solid #E4E8EB;
}
.lp-card__price{font-size:18px;font-weight:800;color:#1E2328;white-space:nowrap}
.lp-card__btn{
  background:#72A431;color:#fff;font-size:14px;font-weight:600;
  padding:9px 16px;border-radius:8px;text-decoration:none;transition:background .18s;
}
.lp-card__btn:hover{background:#5C8627;color:#fff}

/* ---------- Галерея ---------- */
.lp-gallery img{border-radius:12px}

/* ---------- Контакты ---------- */
.lp-contacts{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:36px;align-items:start}
.lp-contacts__phones{display:flex;flex-direction:column;gap:10px}
.lp-contacts__phones a{
  font-size:22px;font-weight:800;color:#1E2328;text-decoration:none;white-space:nowrap;
}
.lp-contacts__phones a:hover{color:#72A431}
.lp-contacts__mail{font-size:16px !important;font-weight:600 !important;color:#5A646E !important}
.lp-contacts__cta{
  margin-top:8px;background:#72A431;color:#fff !important;font-size:16px !important;
  font-weight:700 !important;padding:14px 22px;border-radius:10px;text-align:center;
  transition:background .18s;
}
.lp-contacts__cta:hover{background:#5C8627}

@media(max-width:900px){
  .lp-head__nav{display:none}
  .lp-contacts{grid-template-columns:1fr;gap:24px}
}
@media(max-width:560px){
  .lp-head__wrap{height:60px;gap:12px;padding:0 14px}
  .lp-head__logo img{height:32px}
  .lp-head__phone span{display:none}
  .lp-head__phone{
    width:42px;height:42px;justify-content:center;border-radius:10px;background:#72A431;
  }
  .lp-head__phone svg{color:#fff}
  .lp-sec{padding:40px 0}
  .lp-cards{grid-template-columns:1fr}
  .lp-contacts__phones a{font-size:19px}
}

/* ==========================================================================
   Подвал. Документы по 152-ФЗ переехали сюда из строки под квизом.
   ========================================================================== */
.lp-foot{background:#1E2328;color:#B7C0C9;margin-top:0}
.lp-foot__wrap{
  max-width:1120px;margin:0 auto;padding:44px 20px;
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,1fr);gap:32px;
}
.lp-foot__col{display:flex;flex-direction:column;gap:9px;min-width:0}
.lp-foot__h{
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#72A431;margin-bottom:4px;
}
.lp-foot__company{font-size:17px;font-weight:700;color:#fff;line-height:1.3}
.lp-foot__phones{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.lp-foot__phones a{font-size:19px;font-weight:700;color:#fff;text-decoration:none;white-space:nowrap}
.lp-foot__phones a:hover{color:#8CC63F}
.lp-foot__note{font-size:13px;color:#7E8892;margin-top:4px}
.lp-foot__col a{
  font-size:14px;line-height:1.45;color:#B7C0C9;text-decoration:none;transition:color .16s;
}
.lp-foot__col a:hover{color:#8CC63F}

.lp-foot__bottom{border-top:1px solid #2E353C}
.lp-foot__wrap--bottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;
  padding:16px 20px;font-size:13px;color:#7E8892;
}
.lp-foot__wrap--bottom a{color:#7E8892;text-decoration:none}
.lp-foot__wrap--bottom a:hover{color:#8CC63F}

@media(max-width:860px){
  .lp-foot__wrap{grid-template-columns:1fr 1fr;gap:28px;padding:34px 18px}
}
@media(max-width:560px){
  .lp-foot__wrap{grid-template-columns:1fr;gap:26px;padding:28px 16px}
  .lp-foot__wrap--bottom{padding:14px 16px}
}

/* ==========================================================================
   Плитка фотографий парка + просмотрщик, и раскладка текстовых секций
   в две колонки: на широком экране колонка текста ограничена по ширине
   ради читаемости, и правая половина страницы оставалась пустой.
   ========================================================================== */

/* ---------- Секция «заголовок слева, текст справа» ---------- */
.lp-sec--split .lp-wrap{
  display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:48px;align-items:start;
}
.lp-sec--split .lp-sec__head{margin-bottom:0;position:sticky;top:84px}
.lp-sec--split .lp-prose{max-width:none}

/* ---------- Плитка ---------- */
.lp-tiles{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;
}
.lp-tile{
  display:block;padding:0;margin:0;border:0;cursor:zoom-in;
  background:#E4E8EB;border-radius:12px;overflow:hidden;position:relative;
  aspect-ratio:4/3;
}
/* Запасной вариант для браузеров без aspect-ratio */
@supports not (aspect-ratio:4/3){
  .lp-tile{height:0;padding-bottom:75%}
  .lp-tile img{position:absolute;inset:0}
}
.lp-tile img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .35s ease;
}
.lp-tile:hover img,.lp-tile:focus-visible img{transform:scale(1.06)}
.lp-tile:focus-visible{outline:3px solid #72A431;outline-offset:2px}
.lp-tile::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(30,35,40,.35),rgba(30,35,40,0) 45%);
  opacity:0;transition:opacity .25s;pointer-events:none;
}
.lp-tile:hover::after{opacity:1}

/* ---------- Просмотрщик ---------- */
.lp-lb{
  position:fixed;inset:0;z-index:200;
  background:rgba(16,19,22,.94);
  display:flex;align-items:center;justify-content:center;
  padding:56px 68px;
  -webkit-tap-highlight-color:transparent;
}
/* Атрибут hidden прячет элемент через display:none из стилей браузера,
   а здесь задан display:flex — авторское правило сильнее. Тот же
   подкол, что был с финальным экраном квиза. */
.lp-lb[hidden]{display:none !important}
.lp-lb__img{
  max-width:100%;max-height:100%;
  width:auto;height:auto;object-fit:contain;
  border-radius:6px;user-select:none;
}
.lp-lb__btn{
  position:absolute;border:0;cursor:pointer;
  background:rgba(255,255,255,.12);color:#fff;
  border-radius:50%;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .18s;
}
.lp-lb__btn:hover{background:rgba(255,255,255,.24)}
.lp-lb__close{top:16px;right:16px;width:44px;height:44px;font-size:30px;padding-bottom:4px}
.lp-lb__prev,.lp-lb__next{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:38px;padding-bottom:6px}
.lp-lb__prev{left:12px}
.lp-lb__next{right:12px}
.lp-lb__counter{
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
  color:#C6CDD4;font-size:14px;letter-spacing:.04em;
}
/* Пока открыт просмотрщик, страница под ним не прокручивается */
body.lp-lb-open{overflow:hidden}

@media(max-width:900px){
  .lp-sec--split .lp-wrap{grid-template-columns:1fr;gap:22px}
  .lp-sec--split .lp-sec__head{position:static}
}
@media(max-width:700px){
  .lp-tiles{grid-template-columns:repeat(2,1fr);gap:10px}
  .lp-lb{padding:0}
  .lp-lb__img{max-height:100vh;border-radius:0}
  .lp-lb__close{top:10px;right:10px;width:40px;height:40px;font-size:26px}
  /* Стрелки на телефоне опускаем вниз — по краям экрана они попадают
     под большой палец при листании свайпом. */
  .lp-lb__prev,.lp-lb__next{top:auto;bottom:14px;transform:none;width:46px;height:46px;font-size:32px}
  .lp-lb__prev{left:calc(50% - 66px)}
  .lp-lb__next{right:calc(50% - 66px)}
  .lp-lb__counter{bottom:28px}
}

/* ==========================================================================
   Секция «География»: перечень населённых пунктов слева, карта справа.
   Карта приезжает последним блоком того же инфоблока, поэтому режется
   в шаблоне, а здесь только раскладка.
   ========================================================================== */
.lp-zona{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start;
}
.lp-zona__text{min-width:0}
.lp-zona__text .lp-sec__head{margin-bottom:24px}

.lp-zona__text .lp-prose{font-size:15px;line-height:1.6}

.lp-zona__map{position:sticky;top:84px;min-width:0}
.lp-zona__map iframe{
  display:block;width:100%;height:520px;border:0;border-radius:12px;background:#E4E8EB;
}

@media(max-width:900px){
  .lp-zona{grid-template-columns:1fr;gap:24px}
  .lp-zona__map{position:static}
  .lp-zona__map iframe{height:380px}
}
@media(max-width:560px){
  .lp-zona__map iframe{height:300px;border-radius:10px}
}

/* ==========================================================================
   Первый блок: текст слева, перечень с галочками справа. Галочки лежат
   таблицей внутри содержимого страницы, поэтому режем по ней. Саму
   таблицу не оформляем — её правят в админке.
   ========================================================================== */
.lp-onas{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:end;
}
.lp-onas__text,.lp-onas__list{min-width:0}
.lp-onas__text .lp-sec__head{margin-bottom:24px}
.lp-onas .lp-prose{max-width:none}
.lp-onas__list table{max-width:100%}

@media(max-width:900px){
  .lp-onas{grid-template-columns:1fr;gap:24px}
}

/* ==========================================================================
   Результат отправки заявки. Раньше квиз молчал в обоих случаях,
   поэтому неудачная отправка выглядела так же, как успешная.
   ========================================================================== */
.kviz__flash{
  margin:0 0 18px;padding:16px 20px;border-radius:12px;
  border:1px solid transparent;font-size:15px;line-height:1.5;
}
.kviz__flash-text{font-weight:600}
.kviz__flash--ok{
  background:rgba(114,164,49,.12);border-color:#72A431;color:#3E5A18;
}
.kviz__flash--err{
  background:rgba(192,57,43,.10);border-color:#C0392B;color:#8E2A20;
}
.kviz__flash-phones{
  margin-top:10px;font-size:14px;font-weight:400;
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;
}
.kviz__flash-phones a{
  font-size:17px;font-weight:800;color:#8E2A20;text-decoration:none;white-space:nowrap;
}
.kviz__flash-phones a:hover{text-decoration:underline}

@media(max-width:560px){
  .kviz__flash{padding:14px 16px;font-size:14px}
}

/* ==========================================================================
   Выбор точки на карте для полей адреса
   ========================================================================== */
.kviz__tools{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 4px}
.kviz__tool{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 14px;border-radius:9px;cursor:pointer;
  background:var(--k-ink-soft,#2A3138);
  border:1px solid var(--k-line,rgba(255,255,255,.12));
  color:var(--k-text,#EEF1F3);
  font:600 13px/1 inherit;
  transition:border-color .16s,color .16s,background .16s;
}
.kviz__tool svg{color:var(--k-green,#72A431);flex:0 0 auto}
.kviz__tool:hover:not(:disabled){border-color:var(--k-green,#72A431)}
.kviz__tool:disabled{opacity:.6;cursor:default}
.kviz__tool[hidden]{display:none !important}

/* ---------- Окно с картой ---------- */
.kviz-map{
  position:fixed;inset:0;z-index:220;
  background:rgba(12,15,18,.78);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
/* Атрибут hidden прячет элемент через display:none из стилей браузера,
   а здесь задан display:flex — авторское правило сильнее. Та же ловушка,
   что была с финальным экраном квиза. */
.kviz-map[hidden]{display:none !important}

.kviz-map__card{
  display:flex;flex-direction:column;
  width:100%;max-width:820px;max-height:100%;
  background:var(--k-ink,#1E2328);color:var(--k-text,#EEF1F3);
  border:1px solid var(--k-line,rgba(255,255,255,.12));
  border-radius:14px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.kviz-map__head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;border-bottom:1px solid var(--k-line,rgba(255,255,255,.12));
}
.kviz-map__title{font-size:16px;font-weight:700;color:#fff}
.kviz-map__close{
  width:36px;height:36px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.1);color:#fff;font-size:24px;line-height:1;
}
.kviz-map__close:hover{background:rgba(255,255,255,.2)}

.kviz-map__canvas{
  flex:1 1 auto;min-height:340px;height:56vh;background:#2A3138;
}
.kviz-map__foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  padding:14px 18px;border-top:1px solid var(--k-line,rgba(255,255,255,.12));
}
.kviz-map__coords{
  flex:1 1 180px;min-width:0;
  font-size:14px;color:var(--k-muted,rgba(238,241,243,.62));
}
.kviz-map__foot .kviz__btn{padding:11px 18px;font-size:14px}

/* Пока открыта карта, страница под ней не прокручивается */
body.kviz-map-open{overflow:hidden}

@media(max-width:600px){
  .kviz-map{padding:0}
  .kviz-map__card{max-width:100%;height:100%;border-radius:0;border:0}
  .kviz-map__canvas{height:auto;min-height:0}
  .kviz-map__foot{gap:8px 10px}
  .kviz-map__coords{flex:1 1 100%;order:-1;font-size:13px}
  .kviz-map__foot .kviz__btn{flex:1 1 0;justify-content:center;padding:12px 10px;font-size:13px}
  .kviz__tool{font-size:12.5px;padding:8px 12px}
}

/* Пометка о передаче координат — рядом с кнопками, до нажатия */
.kviz__tools-note{
  flex:1 1 100%;
  font-size:12px;line-height:1.4;
  color:var(--k-muted,rgba(238,241,243,.62));
}
.kviz__tools-note[hidden]{display:none !important}
