/* ===================== ПАМЯТНИКИ: ПРОЕКТ ПАМЯТНИКА =====================
   /pamjatniki/proekt-pamjatnika. Подключается через ViewData["CssPage"] = "proekt-pamjatnika"
   после бандлов, поэтому при равной специфичности перебивает service.css и responsive.css.
   Общие блоки — svc-memorial-pricing, quiz, reviews, home-faq, granit-lightbox, .ba.
   Свои классы — с префиксом pp-. Вертикальный ритм 56px на десктопе задаёт service-page--rhythm;
   мобильные правила каждого блока лежат здесь же, рядом с базовыми. */

/* — Общее: поля секций, заголовки, ссылки — */
.pp-page > section.pp-why,
.pp-page > section.pp-parts,
.pp-page > section.pp-cases,
.pp-page > section.pp-start,
.pp-page > section.pp-steps,
.pp-page > section.pp-trust,
.pp-page > section.pp-seo,
.pp-page > section.pp-final {
  padding-left: 56px;
  padding-right: 56px;
}
/* Якоря: шапка сайта + полоса навигации страницы. site.js берёт большее из высоты шапки и scroll-margin-top. */
.pp-page > section[id],
.pp-page > .pp-anchor {
  scroll-margin-top: calc(var(--header-height, 70px) + 16px);
}
.pp-anchor { display: block; height: 0; }

.pp-head { max-width: 820px; margin-bottom: 32px; }
.pp-h2 {
  margin: 8px 0 0;
  font-size: 40px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.pp-h3 { margin: 0 0 8px; font-size: 24px; line-height: 1.25; color: var(--ink); }
.pp-lead { margin: 14px 0 0; font-size: 17px; line-height: 1.55; color: var(--ink-3); }
.pp-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 15px;
  color: var(--green-600);
  text-decoration: none;
}
.pp-link:hover { color: var(--green-700); text-decoration: underline; }
.pp-link [data-lucide] { width: 16px; height: 16px; flex-shrink: 0; }
.pp-center { display: flex; justify-content: center; margin-top: 28px; }

/* — Бейдж «Пример» поверх сгенерированного кадра — */
.pp-badge {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 3;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  background: rgba(20, 24, 26, .66);
  color: #fff;
  pointer-events: none;
}

/* Общая подложка кадров: позиционированная обёртка с пропорцией и overflow:hidden — img.cover внутри не вылезет */
.pp-why__pic,
.pp-req__pic,
.pp-cases__pic,
.pp-steps__pic {
  position: relative;
  overflow: hidden;
  background: #EEF1EA;
}

/* — 2. Зачем: крупный кадр + шесть коротких пунктов; без кадра — пункты сеткой в три колонки — */
.pp-why__grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.pp-why__grid--pic {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 40px;
  align-items: center;
}
.pp-why__pic { aspect-ratio: 3 / 2; border-radius: 20px; }
.pp-why__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pp-why__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  border-radius: 16px;
  background: #F4F6F1;
}
.pp-why__grid--pic .pp-why__list { grid-template-columns: minmax(0, 1fr); gap: 0; }
.pp-why__grid--pic .pp-why__item {
  padding: 13px 0;
  border-radius: 0;
  background: none;
  border-bottom: 1px solid var(--line);
}
.pp-why__grid--pic .pp-why__item:first-child { padding-top: 0; }
.pp-why__grid--pic .pp-why__item:last-child { border-bottom: 0; padding-bottom: 0; }
.pp-honest__ico,
.pp-why__ico,
.pp-proofs__ico,
.pp-req__ico,
.pp-start__ico {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--green-50);
  color: var(--green-600);
}
.pp-honest__ico [data-lucide],
.pp-why__ico [data-lucide],
.pp-proofs__ico [data-lucide],
.pp-req__ico [data-lucide],
.pp-start__ico [data-lucide] { width: 20px; height: 20px; }
.pp-why__name { margin: 0 0 2px; font-size: 17px; line-height: 1.3; color: var(--ink); }
.pp-why__text { margin: 0; font-size: 14.5px; line-height: 1.45; color: var(--ink-3); }
.pp-honest {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 28px;
  padding: 18px 22px;
  border-radius: 16px;
  background: var(--green-50);
}
.pp-honest__ico { background: #fff; }
.pp-honest__body { flex: 1 1 auto; min-width: 0; }
.pp-honest__title { font-weight: 700; font-size: 16px; color: var(--ink); }
.pp-honest__text { margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: var(--ink-2); }
.pp-honest__link { flex-shrink: 0; max-width: 260px; }

/* — 3. Из чего состоит проект: 3D-кадр (точки — только на новом кадре) + аккордеон и чипы — */
.pp-parts__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 36px;
  align-items: center;
}
.pp-parts__figure { margin: 0; min-width: 0; }
.pp-parts__frame {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--line);
  background: #EEF1EA;
}
.pp-parts__side { min-width: 0; }
.pp-spot {
  position: absolute;
  z-index: 2;
  width: 34px;
  height: 34px;
  margin: -17px 0 0 -17px;
  padding: 0;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--green-600);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 0 0 4px rgba(44, 122, 63, .28), 0 4px 10px rgba(0, 0, 0, .25);
  transition: transform .15s ease, background .15s ease;
}
.pp-spot:hover,
.pp-spot:focus-visible { transform: scale(1.1); }
.pp-spot.is-active { background: #fff; color: var(--green-700); border-color: var(--green-600); transform: scale(1.15); }
.pp-parts__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.pp-parts__item { border-bottom: 1px solid var(--line); }
.pp-parts__q {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 50px;
  padding: 10px 4px;
  border: 0;
  background: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
  color: var(--ink);
}
.pp-parts__num {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-50);
  color: var(--green-700);
  font-size: 13px;
  font-weight: 700;
}
.pp-parts__item.is-open .pp-parts__num { background: var(--green-600); color: #fff; }
.pp-parts__name { flex: 1 1 auto; font-size: 16.5px; font-weight: 600; }
.pp-parts__chev { width: 18px; height: 18px; color: var(--muted); transition: transform .2s ease; }
.pp-parts__item.is-open .pp-parts__chev { transform: rotate(180deg); }
.pp-parts__a p { margin: 0 0 14px 40px; font-size: 15px; line-height: 1.55; color: var(--ink-3); }
.pp-parts__all { margin-top: 22px; }
.pp-parts__all-title {
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--green-700);
}
.pp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pp-chips li {
  padding: 6px 12px;
  border-radius: 999px;
  background: #F4F6F1;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-2);
}

/* Проект под вашу ситуацию: карточки с кадром; восьмая — призыв обсудить свою задачу */
.pp-req { margin-top: 48px; }
.pp-req__head { max-width: 820px; margin-bottom: 20px; }
.pp-req__lead { margin: 0; font-size: 16px; line-height: 1.5; color: var(--ink-3); }
.pp-req__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pp-req__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  background: var(--card);
}
.pp-req__pic { aspect-ratio: 4 / 3; }
.pp-req__ico--float {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 2;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
}
.pp-req__body { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; padding: 16px 18px 18px; }
.pp-req__ask { margin: 0; font-size: 17px; line-height: 1.3; color: var(--ink); }
.pp-req__answer { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-3); }
.pp-req__link { margin-top: auto; padding-top: 4px; }
.pp-req__card--noimg .pp-req__body { padding-top: 20px; }
.pp-req__card--cta {
  gap: 10px;
  padding: 22px 20px;
  border-color: transparent;
  background: var(--green-50);
}
.pp-req__card--cta .pp-req__ico { background: #fff; }
.pp-req__cta { margin-top: auto; align-self: flex-start; }

/* — 4. Примеры: вкладки работ, серия кадров «эскиз → 3D → на участке», лайтбокс — */
.pp-cases__tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.pp-cases__tab {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 7px 18px 7px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--card);
  font: inherit;
  cursor: pointer;
}
.pp-cases__tab-num {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-50);
  color: var(--green-700);
  font-size: 14px;
  font-weight: 700;
}
.pp-cases__tab-name { font-size: 15px; font-weight: 700; color: var(--ink); }
.pp-cases__tab:hover { border-color: var(--green-600); }
.pp-cases__tab.is-active { border-color: var(--green-600); background: var(--green-600); }
.pp-cases__tab.is-active .pp-cases__tab-name { color: #fff; }
.pp-cases__tab.is-active .pp-cases__tab-num { background: #fff; }
.pp-cases__strip { display: grid; gap: 28px; margin: 0; padding: 0; list-style: none; }
.pp-cases__strip--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pp-cases__strip--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pp-cases__step { position: relative; min-width: 0; container-type: inline-size; }
/* Стрелка между кадрами серии: по вертикали — середина кадра 4:3 (37.5% ширины шага) */
.pp-cases__step + .pp-cases__step::before {
  content: "";
  position: absolute;
  z-index: 3;
  left: -32px;
  top: calc(37.5cqw - 18px);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--green-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 18px no-repeat;
  box-shadow: 0 0 0 4px #fff;
}
.pp-cases__pic {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 0;
  border: 0;
  border-radius: 16px;
  cursor: zoom-in;
}
.pp-cases__pic img { transition: transform .3s ease; }
.pp-cases__pic:hover img { transform: scale(1.03); }
.pp-cases__label {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 12px 4px 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--ink);
}
.pp-cases__label b {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-600);
  color: #fff;
  font-size: 12px;
}
.pp-cases__zoom {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: var(--ink);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
}
.pp-cases__zoom [data-lucide] { width: 19px; height: 19px; }
.pp-cases__caption { margin: 10px 0 0; font-size: 14.5px; line-height: 1.4; color: var(--ink-3); }
.pp-cases__info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 22px;
  padding: 20px 24px;
  border-radius: 18px;
  background: #F4F6F1;
}
.pp-cases__info .pp-h3 { margin-bottom: 4px; font-size: 21px; }
.pp-cases__text { margin: 0; max-width: 760px; font-size: 15.5px; line-height: 1.55; color: var(--ink-3); }
.pp-cases__cta { flex-shrink: 0; }
.pp-cases__note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 14px 0 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
}
.pp-cases__note [data-lucide] { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; }

/* — 5. С чего начать — */
.pp-start__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pp-start__item {
  padding: 22px 22px 24px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: var(--card);
}
.pp-start__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.pp-start__num { font-size: 28px; font-weight: 800; color: var(--green-600); letter-spacing: -0.02em; }
.pp-start__title { margin: 0 0 8px; font-size: 18px; line-height: 1.3; color: var(--ink); }
.pp-start__next { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ink-3); }

.pp-need {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
  margin-top: 28px;
  padding: 32px;
  border-radius: 20px;
  background: #F4F6F1;
}
.pp-need--pic { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); }
.pp-need__media {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 16px;
  overflow: hidden;
}
.pp-need__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 12px; }
.pp-need__label {
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--green-700);
}
.pp-need__col--later .pp-need__label { color: var(--muted); }
.pp-need__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pp-need__list li { display: flex; align-items: flex-start; gap: 10px; font-size: 15.5px; line-height: 1.45; color: var(--ink-2); }
.pp-need__list [data-lucide] { width: 17px; height: 17px; flex-shrink: 0; margin-top: 2px; color: var(--green-600); }
.pp-need__col--later [data-lucide] { color: var(--muted); }
.pp-need__note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 22px 0 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-3);
}
.pp-need__note [data-lucide] { width: 17px; height: 17px; flex-shrink: 0; margin-top: 2px; color: var(--green-600); }

/* — 6. Как создаётся проект: шесть карточек с кадром; «вы / мы» — двумя строками, итог — зелёной плашкой — */
.pp-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pp-steps__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  background: var(--card);
}
.pp-steps__pic { aspect-ratio: 4 / 3; }
.pp-steps__body { display: flex; flex-direction: column; gap: 10px; flex: 1 1 auto; padding: 18px 20px 20px; }
.pp-steps__mark { display: flex; align-items: center; justify-content: space-between; }
.pp-steps__num { font-size: 28px; font-weight: 800; letter-spacing: -0.02em; color: var(--green-600); }
.pp-steps__num--float {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 2;
  padding: 4px 11px;
  border-radius: 999px;
  background: var(--green-600);
  color: #fff;
  font-size: 14px;
  letter-spacing: 0;
}
.pp-steps__ico {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-50);
  color: var(--green-600);
}
.pp-steps__ico [data-lucide] { width: 21px; height: 21px; }
.pp-steps__title { margin: 0; font-size: 19px; line-height: 1.3; color: var(--ink); }
.pp-steps__text { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ink-3); }
.pp-steps__roles { display: grid; gap: 6px; margin: 0; }
.pp-steps__roles > div { display: flex; gap: 10px; font-size: 14px; line-height: 1.45; }
.pp-steps__roles dt {
  flex: 0 0 26px;
  padding-top: 2px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
}
.pp-steps__roles dd { margin: 0; color: var(--ink-2); }
.pp-steps__result {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding: 9px 12px;
  border-radius: 10px;
  background: var(--green-50);
  font-size: 14.5px;
  font-weight: 700;
  color: var(--green-700);
}
.pp-steps__result [data-lucide] { width: 16px; height: 16px; flex-shrink: 0; }

.pp-after {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 22px;
  margin-top: 20px;
  padding: 18px 22px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: var(--card);
}
.pp-after__title { font-weight: 700; color: var(--ink); }
.pp-after__flow { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; flex: 1 1 auto; }
.pp-after__flow li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--green-50);
  font-size: 14.5px;
  font-weight: 600;
  color: var(--green-700);
}
.pp-after__flow [data-lucide] { width: 15px; height: 15px; }

/* — 7. Стоимость: карточки без картинок — */
.pp-price .svc-mem-price-card__body { display: flex; flex-direction: column; height: 100%; }
.pp-price__value { font-size: 30px; }
.pp-price__sub { margin: 2px 0 14px; font-size: 14px; color: var(--muted); }
.pp-price__note { margin: 14px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-2); font-weight: 600; }
.pp-price__link { margin-top: 12px; }
.pp-price__free { margin-top: 22px; }
.pp-price .svc-memorial-pricing__factors { margin-top: 28px; }
.pp-price__cost-lead { margin: -6px 0 18px; font-size: 15.5px; line-height: 1.5; color: var(--ink-3); }
.pp-price__factors { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* — 8. Доверие — */
.pp-trust__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: 28px;
  align-items: stretch;
}
.pp-founder {
  padding: 28px;
  border-radius: 20px;
  background: var(--green-50);
}
.pp-founder__photo {
  display: block;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 14px;
  background: #fff;
}
.pp-founder__photo picture { display: contents; }
.pp-founder__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pp-founder__name { font-size: 20px; font-weight: 700; color: var(--ink); }
.pp-founder__role { margin-top: 4px; font-size: 14.5px; color: var(--green-700); font-weight: 600; }
.pp-founder__text { margin: 14px 0 0; font-size: 15.5px; line-height: 1.55; color: var(--ink-2); }
.pp-proofs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pp-proofs__item { display: flex; gap: 14px; padding: 20px 0; border-top: 1px solid var(--line); }
.pp-proofs__claim { font-size: 17px; font-weight: 700; color: var(--ink); }
.pp-proofs__text { margin: 4px 0 8px; font-size: 15px; line-height: 1.5; color: var(--ink-3); }
.pp-reviews__cta { margin-top: 24px; }

/* — 10. Текст для поиска — */
.pp-seo__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 24px; }
.pp-seo__title { margin: 0 0 10px; font-size: 18px; line-height: 1.3; color: var(--ink); }
.pp-seo__part p { margin: 0 0 12px; font-size: 15px; line-height: 1.6; color: var(--ink-3); }

/* — 12. Финальный блок с короткой формой — */
.pp-final__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
  gap: 40px;
  padding: 40px;
  border-radius: 24px;
  background: #F4F6F1;
}
.pp-final__next-title { margin-top: 26px; font-weight: 700; color: var(--ink); }
.pp-final__next { margin: 10px 0 0; padding-left: 22px; display: grid; gap: 8px; font-size: 15.5px; line-height: 1.5; color: var(--ink-2); }
.pp-final__form-wrap {
  padding: 26px;
  border-radius: 18px;
  background: var(--card);
  border: 1px solid var(--line);
  min-width: 0;
}
.pp-final__form { display: grid; gap: 14px; }
.pp-field { display: grid; gap: 6px; }
.pp-field__label { font-size: 14px; font-weight: 600; color: var(--ink-2); }
.pp-field__opt { font-weight: 400; color: var(--muted); }
.pp-field__input {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  font: inherit;
  font-size: 16px;
  color: var(--ink);
}
.pp-field__input:focus { outline: 2px solid var(--green-600); outline-offset: 0; border-color: transparent; }
.pp-field__input--area { min-height: 90px; resize: vertical; }
.pp-final__files { display: grid; gap: 8px; }
.pp-final__thumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pp-final__thumb { position: relative; width: 64px; height: 64px; border-radius: 10px; overflow: hidden; }
.pp-final__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pp-final__add {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px dashed var(--green-600);
  border-radius: 12px;
  color: var(--green-700);
  font-size: 14.5px;
  font-weight: 600;
  cursor: pointer;
}
.pp-final__add input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.pp-final__add [data-lucide] { width: 17px; height: 17px; }
.pp-final__hint { margin: 0; font-size: 13px; color: var(--muted); }
.pp-final__submit { width: 100%; justify-content: center; border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.pp-final__submit:disabled { opacity: .7; cursor: default; }
.pp-final__privacy { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; font-size: 13px; color: var(--muted); }
.pp-final__privacy a { color: inherit; }
.pp-final__privacy [data-lucide] { width: 14px; height: 14px; }
.pp-final__done { display: grid; justify-items: start; gap: 8px; font-size: 15.5px; color: var(--ink-2); }
.pp-final__done strong { font-size: 20px; color: var(--ink); }
.pp-final__done p { margin: 0; }
.pp-final__done-ico {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-600);
  color: #fff;
}

/* ===================== Адаптив ===================== */

/* SEO-баннер: на 641–1024px картинка с margin-right:-56px из общего CSS вылезала за край (горизонтальный скролл) */

