/* ==========================================================================
   Все купоны — заход 3: первый экран и подвал. Созвон 21.09.2026
   ========================================================================== */

/* --------------------------------------------------------------------------
   Воздух вокруг поиска
   --------------------------------------------------------------------------
   Вилл: «ей не хватает воздуха и сверху, и снизу, её невозможно заметить
   среди обилия остальной информации вокруг. Строку с поиском и блок с
   категориями надо опускать вниз, иначе ей просто не будут пользоваться.
   Условно на ширину самой строки надо утащить её вниз».

   Строка высотой около 60 пикселей, столько же воздуха над ней и отдельно
   под ней — до ряда категорий. Общий отступ блока при этом не раздуваем:
   первый экран должен остаться компактным, чтобы первые купоны ленты на
   него попадали, а это было условие самого варианта Б.

   Не сделано: Вилл дважды сказал «возможно» про то, чтобы сузить строку
   или вынести её за горизонтальные границы. Это гипотеза, а не решение,
   и сужение поспорит с рядом категорий под ней — он идёт во всю ширину.
   Оставлено на обсуждение. */
.dz3 .dz-hero--lite .hero__in{gap:0}
.dz3 .dz-hero--lite .dzl{margin-bottom:58px}
.dz3 .dz-hero--lite .dzl__search{margin-bottom:44px}

/* Верёвочка от шара, протянутая под строку поиска, убрана по просьбе
   Ивана 22.09.2026. На созвоне 21.09 Вилл предложил её сам и сам же
   назвал вкусовщиной — воздух вокруг поиска держится отступами, линия
   для этого не нужна. */
@media (max-width:900px){
  .dz3 .dz-hero--lite .dzl{margin-bottom:26px}
  .dz3 .dz-hero--lite .dzl__search{margin-bottom:22px}
}

/* --------------------------------------------------------------------------
   Длинное название города
   --------------------------------------------------------------------------
   Дима просил показать картинкой, как выглядит худший случай — «Ростов-на-
   Дону». Плашка города была рассчитана на короткое слово и на длинном
   вылезала за строку. Теперь она переносится по дефисам вместе с
   заголовком, а не растягивает его.

   Смотреть: ?geo=long — город, ?geo=region — выдача области. */
.dz3 .dzl__city{
  overflow-wrap:break-word;
  hyphens:manual;
  /* Ровно, в строку с остальными словами (Иван 25.09): без сдвинутой
     тени-«наклейки», шрифт тот же, что у заголовка; красная плашка
     остаётся.
     28.09 Иван вернул наклон — «сделать как раньше было, чуть с
     наклоном». Тень-наклейку не возвращаем: убирали её отдельно. */
  transform:rotate(-2deg);box-shadow:none;
  padding:0 .16em .04em;margin:0 .04em;border-radius:.18em;
  font:inherit;letter-spacing:inherit;line-height:inherit;
}
.dz3 .dzl__h1{overflow-wrap:break-word;max-width:20ch}

/* --------------------------------------------------------------------------
   Подвал: по вопросам рекламы
   --------------------------------------------------------------------------
   Предложение Коли: отдельный адрес для тех, кому нужен не типовой тариф,
   а персональное предложение. Это сбор лидов, поэтому почта открытая, а
   не форма — форму ещё надо кому-то разбирать. */
.dz3 .dz-foot-ad{
  display:flex;align-items:center;justify-content:space-between;gap:20px 32px;
  flex-wrap:wrap;
  margin-top:26px;padding:20px 24px;border-radius:20px;
  background:rgba(255,255,255,.06);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.dz3 .dz-foot-ad__k{
  display:block;
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.dz3 .dz-foot-ad p{
  margin:6px 0 0;max-width:56ch;
  font-size:14px;line-height:1.5;color:rgba(255,255,255,.82);
}
.dz3 .dz-foot-ad__mail{
  flex:0 0 auto;height:44px;padding:0 22px;
  background:#fff;color:var(--ink);font-weight:600;
}
.dz3 .dz-foot-ad__mail:hover{background:var(--surface-2)}

/* --------------------------------------------------------------------------
   Подвал: реквизиты и 152-ФЗ
   --------------------------------------------------------------------------
   Вилл и Коля: плашку о персональных данных вешаем обязательно, «чтобы
   никто не боялся, что это незаконно». Набрано мелко и спокойно — это
   обязательная строка, а не аргумент продажи. */
.dz3 .dz-foot-legal{
  margin-top:22px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:grid;gap:6px;
}
.dz3 .dz-foot-legal p{
  margin:0;max-width:86ch;
  font-size:12px;line-height:1.55;color:rgba(255,255,255,.5);
}
.dz3 .dz-foot-legal__req{font-variant-numeric:tabular-nums}

/* --------------------------------------------------------------------------
   Страница «Стать партнёром»
   --------------------------------------------------------------------------
   Единственная задача, которую Вилл назвал срочной: «эту форму надо
   сделать, она важна сейчас, а всё остальное в принципе не так уж и
   важно». Смысл формы — отсеивать, а не собирать: «всех подряд
   обрабатывать — ну её нахуй. Здесь должна быть конкретная форма, в
   которой написано, кто вы, что вы, имеете ли опыт в рекламном бизнесе,
   агентство вы или нет». */
.pt-hero{padding:56px 0 8px}
.pt-hero__k{
  display:inline-flex;align-items:center;height:28px;padding:0 12px;
  border-radius:var(--r-pill);
  background:#fff;color:var(--brand);box-shadow:inset 0 0 0 1.5px var(--brand);
  font-size:12px;font-weight:600;
}
.pt-hero h1{
  margin:16px 0 0;max-width:18ch;
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(28px,3.1vw,44px);line-height:1.08;letter-spacing:-.02em;
  color:var(--ink);
}
.pt-hero__sub{margin:14px 0 0;max-width:62ch;font-size:17px;line-height:1.55;color:var(--ink-2)}
/* Разведение ролей партнёра (25.09.2026): подпись мельче лида, но не
   выносится в примечание — от неё зависит, останется человек на этой
   странице или уйдёт в регистрацию. */
.pt-hero__alt{margin:12px 0 0;max-width:62ch;font-size:14.5px;line-height:1.6;color:var(--ink-3)}
.pt-hero__alt a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}

.pt-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;margin-top:38px}
@media (max-width:900px){.pt-cols{grid-template-columns:1fr}}

.pt-card{border:1px solid var(--line);border-radius:24px;padding:26px 26px 24px;background:#fff}
.pt-card h2{
  margin:0;font-family:var(--font-display);font-weight:800;
  font-size:21px;letter-spacing:-.02em;color:var(--ink);
}
.pt-card__note{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--ink-3)}

.pt-form{display:grid;gap:16px;margin-top:20px}
.pt-row{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media (max-width:560px){.pt-row{grid-template-columns:1fr}}
.pt-field{display:grid;gap:6px;min-width:0}
.pt-field > span{font-size:13px;font-weight:600;color:var(--ink-2)}
.pt-field input,
.pt-field select,
.pt-field textarea{
  height:46px;padding:0 14px;border-radius:12px;
  border:1.5px solid var(--line-strong);background:#fff;
  font:inherit;font-size:15px;color:var(--ink);
  transition:border-color .18s, box-shadow .18s;
}
.pt-field textarea{height:auto;min-height:96px;padding:12px 14px;line-height:1.5;resize:vertical}
.pt-field input:focus,
.pt-field select:focus,
.pt-field textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-100)}
.pt-field__hint{font-size:12px;color:var(--ink-3)}

/* Квалифицирующие вопросы — те самые «кто вы и что вы». Радио, а не
   свободный текст: по свободному тексту заявки не отсортируешь. */
.pt-choice{display:flex;flex-wrap:wrap;gap:8px}
.pt-choice label{
  display:inline-flex;align-items:center;height:40px;padding:0 14px;
  border-radius:var(--r-pill);border:1.5px solid var(--line-strong);
  background:#fff;font-size:14px;color:var(--ink-2);cursor:pointer;
  transition:border-color .18s, color .18s, background .18s;
}
.pt-choice label:hover{border-color:var(--brand);color:var(--brand)}
.pt-choice input{position:absolute;opacity:0;pointer-events:none}
.pt-choice input:checked + span{color:#fff}
.pt-choice label:has(input:checked){background:var(--brand);border-color:var(--brand);color:#fff}

.pt-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--ink-3)}
.pt-consent input{margin-top:2px;width:16px;height:16px;accent-color:var(--brand);flex:0 0 auto}
.pt-submit{height:50px;padding:0 28px;font-size:15px;font-weight:600}

/* Правая колонка: что партнёр получает и что мы ждём в ответ */
.pt-side{display:grid;gap:16px;align-content:start}
.pt-list{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.pt-list li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.pt-list li::before{
  content:"";width:22px;height:22px;border-radius:50%;
  background:var(--brand);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.6 4.6L19 7.5'/%3E%3C/svg%3E") center/16px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.6 4.6L19 7.5'/%3E%3C/svg%3E") center/16px no-repeat;
}

/* --------------------------------------------------------------------------
   Города присутствия
   --------------------------------------------------------------------------
   Вилл: «города сервиса» меня смущает, давай «города присутствия». Карту
   он сам же и отговорил рисовать: закрасить районные центры и сёла
   нечем, а цель страницы — не похвастаться покрытием, а привлечь нового
   партнёра. Его вывод: «взять тупо списком все эти города, и напротив
   каждого, который свободен, написать жирно и понятно — свободно». */
.pt-cities{margin-top:46px}
.pt-cities__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pt-cities h2{
  margin:0;font-family:var(--font-display);font-weight:800;
  font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em;color:var(--ink);
}
.pt-cities__note{font-size:14px;color:var(--ink-3)}
.pt-grid{
  margin-top:20px;display:grid;gap:8px 28px;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
}
.pt-city{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 2px;border-bottom:1px solid var(--line);
  font-size:15px;color:var(--ink);
}
.pt-city__free{font-weight:700;color:var(--brand)}
.pt-city__busy{font-size:13px;font-weight:500;color:var(--ink-4)}
.pt-city--busy{color:var(--ink-3)}
