/*
 * Лендинги поддоменов (pd/layouts/landing.blade.php) — свои правила
 * поверх прежнего style.css, который лежит как есть.
 *
 * Только то, что на старом лендинге стояло инлайном или в скриптах
 * и не проходит политику безопасности (style-src 'self'), плюс две
 * галочки согласия под формами — их на старом лендинге не было.
 */

/* Значки (меню, звёзды отзывов): шрифт FontAwesome объявлялся
   инлайновым <style> в <head> старого лендинга, font-awesome.min.css
   его не содержит. */
@font-face {
  font-family: 'FontAwesome';
  font-display: swap;
  font-style: normal;
  font-weight: normal;
  src: url(fonts/fontawesome-webfont.woff2) format('woff2'),
       url(fonts/fontawesome-webfont.woff) format('woff'),
       url(fonts/fontawesome-webfont.ttf) format('truetype');
}

/* Фоны блоков: на старом лендинге — data-bg и jquery.lazy. */
.pd-lp-bg-first { background-image: url(img/first-blocknew.jpg); }
.pd-lp-bg-transfer { background-image: url(img/transfer-block.jpg); }
.pd-lp-bg-form { background-image: url(img/form-block.jpg); }
.pd-lp-bg-form2 { background-image: url(img/form-block2.jpg); }
.pd-lp-bg-form3 { background-image: url(img/form-block3.jpg); }

/* «Оставить заявку» без фона у реабилитации — был style="" у блока. */
.pd-lp-transfer-plain {
  padding: 0;
  margin-bottom: 20px;
}

/* Галочки согласия: вёрстка галочки окна «Связаться с нами». */
.pd-lp-consents {
  width: 100%;
  margin-top: 14px;
  text-align: left;
}
.pd-lp-consents .checkbox {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.pd-lp-consents .checkbox + label {
  display: block;
  cursor: pointer;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 16px;
  padding-left: 25px;
  background: url('img/checkbox.svg') no-repeat 0 0;
}
.pd-lp-consents .checkbox:checked + label {
  background: url('img/checkbox2.svg') no-repeat 0 0;
}
.pd-lp-consents .checkbox:focus-visible + label {
  outline: 2px solid #5CAEB8;
  outline-offset: 2px;
}
.pd-lp-consents .checkbox + label a {
  color: inherit;
  text-decoration: underline;
}
.popup .window .pd-lp-consents {
  margin: 0 0 20px;
}
.popup .window .pd-lp-consents .checkbox + label {
  margin-bottom: 8px;
}
.calc-block .calc form .pd-lp-consents {
  order: 10;
}

/* Ловушка для ботов (pd.form-fields): человеку не видна. */
.pd-lp .pd-form-trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Возраст в калькуляторе: был ползунок jQuery UI с CDN. */
.pd-lp-range {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: 3px;
  margin: 12px 0 0;
  background: #5CAEB8;
  outline: none;
}
.pd-lp-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #5CAEB8;
  border: 2px solid #F0FAFC;
  cursor: pointer;
}
.pd-lp-range::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #5CAEB8;
  border: 2px solid #F0FAFC;
  cursor: pointer;
}

/* Ответ после отправки — в том же окне. */
.pd-lp-thanks .name {
  margin-bottom: 25px;
  font-weight: bold;
  font-size: 24px;
  line-height: 34px;
}
.pd-lp-form-done {
  font-size: 18px;
  line-height: 26px;
}
.pd-lp-form-error {
  width: 100%;
  margin-top: 10px;
  color: #d62c2c;
  font-size: 14px;
}

/* Выбор города (ссылка с ?land=target): было окно magnific-popup. */
.pd-lp-city-popup #select_city_modal {
  position: relative;
  margin: 100px auto;
  padding: 40px;
  background: #F0FAFC;
  box-sizing: border-box;
}

/* hidden у формы окна: класс .flex из style.css перебивал его display. */
.pd-lp [hidden] {
  display: none !important;
}

/*
 * Ревью дизайна и UX, ноябрь 2026.
 *
 * Кнопки лендинга: белый текст на бирюзовом #5caeb8 — 2,56:1 («Отправить
 * заявку», «Записаться на экскурсию»), бирюзовые подписи на белом — тоже.
 * Тот же оттенок темнее, #2e7b85, — 4,9:1 (WCAG 1.4.3). Цвета блоков
 * и рамок не меняются.
 */
.first-block .content button,
.transfer-block button,
.form-block button,
.fast-block button,
.calc-block .calc form button,
.prices-block .item button,
.footer .buttons button:nth-child(1),
.popup .window button,
.gp_info .wrap .btn,
.gp_info .wrap > div > .btn a,
a.callback {
  background: #2e7b85;
}

.services-block .item span,
.prices-block .item:hover .price,
.popup .window .checkbox + label a,
.footer .buttons button:nth-child(2),
.header .menu-button {
  color: #2e7b85;
}

/* Юридические данные в подвале — #d6d6d7 на светлом, 1,45:1. */
.footer .copy {
  color: #6b6b6b;
}

/*
 * Отступ под фиксированной шапкой — сразу настоящий, а не 80 px до
 * landing.js: первый экран съезжал на 10–29 px после загрузки (CLS 0,12–0,17),
 * и «Записаться на экскурсию» уезжала из-под пальца. Скрипт потом
 * уточняет значение по факту.
 */
:root {
  --header-h: 109px;
}

@media (max-width: 1199px) {
  :root {
    --header-h: 99px;
  }
}

@media (max-width: 767px) {
  :root {
    --header-h: 90px;
  }
}

/* Видимый фокус с клавиатуры. */
.pd-lp a:focus-visible,
.pd-lp button:focus-visible,
.pd-lp input:focus-visible,
.pd-lp [tabindex]:focus-visible {
  outline: 3px solid #2e7b85;
  outline-offset: 2px;
}

/*
 * Телефон: кнопка чата «Задать вопрос» (175×64) закрывала «Отправить
 * заявку» и согласия в калькуляторе. На узком экране — круг 56 px
 * со значком (подпись остаётся для диктора: aria-label), а странице —
 * запас снизу, чтобы последняя кнопка не уходила под неё. Стрелки
 * слайдеров — цель касания 44 px (были 10×19).
 */
@media (max-width: 767px) {
  body.pd-lp {
    padding-bottom: 80px;
  }

  .pd-lp .pd-chat-btn {
    right: 12px;
    bottom: 12px;
    width: 56px;
    min-width: 56px;
    height: 56px;
    padding: 0;
    justify-content: center;
  }

  .pd-lp .pd-chat-btn::after {
    content: none;
  }

  .pd-lp .slick-arrow {
    min-width: 44px;
    min-height: 44px;
  }
}

/*
 * Значок звонка над фото в «Вопросах»: общее правило кнопок a.callback
 * (поля 10 px, тень, блик) задевало и его — картинка call.svg
 * повторялась в полях, и справа торчал обрезанный второй круг.
 */
.faq-block .block-name .image a.callback {
  padding: 0;
  border-radius: 50%;
  background-repeat: no-repeat;
  box-shadow: none;
}

.faq-block .block-name .image a.callback::after {
  content: none;
}

/*
 * Шапка на широком экране — в одну строку. Длинный адрес города
 * («посёлок Парголово, Выборгское шоссе, 483» у Санкт-Петербурга)
 * не помещался, и телефон с «Обратным звонком» уезжали на вторую
 * строку. Теперь сжимается и переносит текст только блок адреса.
 */
@media (min-width: 1200px) {
  .header.flex {
    flex-wrap: nowrap;
    column-gap: 24px;
  }

  .header.flex > * {
    flex-shrink: 0;
  }

  .header.flex > .city {
    flex-shrink: 1;
    min-width: 0;
  }
}
