/* positions-landing.css — лендинг «Проверка позиций сайта» /tools-pro/positions/ (spec-positions-guest-check F1).
   Классы plp-*. Таблица продукта/ячейки — pos-* из positions.css, FAQ — sem-faq из semantics.css. */
.plp-page { max-width: 1200px; }
.plp-page .card:hover { transform: none; }
.plp-page .pos-crumbs { margin-bottom: 0; }
.plp-page .pos-crumbs a { display: inline-flex; align-items: center; min-height: 44px; }
.plp-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ── Hero: заголовок сверху, форма на всю ширину, результат под ней ── */
.plp-hero { position: relative; isolation: isolate; padding: var(--space-lg) 0 0; }
.plp-hero::before {
  content: ''; position: absolute; top: -80px; left: -120px; width: 640px; height: 420px; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse, var(--accent-glow) 0%, transparent 70%); opacity: 0.7;
}
.plp-h1 {
  font-family: var(--font-heading); font-size: calc(var(--fs-base) + 25px); font-weight: 800; line-height: 1.12;
  letter-spacing: -0.5px; margin: 0 0 var(--space-md); color: var(--text);
}
.plp-h1 span { color: var(--accent); }
.plp-lead { font-size: calc(var(--fs-base) + 2px); color: var(--text-dim); line-height: 1.55; margin: 0 0 var(--space-xl); max-width: 760px; }

/* Уведомление над формой (лимит / перегрузка / ПС не ответил) */
.plp-notice {
  display: flex; gap: var(--space-md); align-items: flex-start; flex-wrap: wrap;
  margin: 0 0 var(--space-md); padding: var(--space-lg); border-radius: var(--radius);
  border: 1px solid color-mix(in srgb, var(--yellow) 45%, var(--border)); background: var(--yellow-bg);
}
.plp-notice[hidden] { display: none; }
.plp-notice-ico { display: inline-flex; color: var(--yellow); flex-shrink: 0; padding-top: 2px; }
.plp-notice-b { flex: 1 1 320px; min-width: 0; }
.plp-notice-t { margin: 0 0 var(--space-2xs); font-weight: 700; font-size: var(--fs-xl); color: var(--text); }
.plp-notice-x { margin: 0; color: var(--text-dim); line-height: 1.55; font-size: var(--fs-md); }
.plp-notice .btn { min-height: 44px; align-self: center; }

/* Форма */
.plp-form { padding: var(--space-xl); }
.plp-fs { border: none; padding: 0; margin: 0; min-width: 0; }
.plp-grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-xl);
  grid-template-areas: "site queries" "city queries";
}
.plp-f-site { grid-area: site; }
.plp-f-city { grid-area: city; }
.plp-f-q { grid-area: queries; display: flex; flex-direction: column; }
.plp-form .form-group { margin-bottom: var(--space-lg); }
.plp-form .form-label { color: var(--text); font-weight: 600; font-size: var(--fs-md); margin-bottom: var(--space-xs); }
.plp-form .form-input { min-height: 44px; }
.plp-lrow { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-sm); margin-bottom: var(--space-xs); }
.plp-lrow .form-label { margin-bottom: 0; }
.plp-count { font-size: var(--fs-sm); color: var(--text-dim); font-variant-numeric: tabular-nums; white-space: nowrap; transition: color var(--dur-fast); }
.plp-count.over { color: var(--red); font-weight: 600; }
.plp-ta { flex: 1 1 auto; min-height: 150px; resize: vertical; line-height: 1.6; }
.plp-help { margin: var(--space-xs) 0 0; font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.5; }
.plp-form .form-error { margin-top: var(--space-xs); }
.plp-form [aria-invalid="true"] { border-color: var(--red); }

.plp-foot {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-md) var(--space-xl); align-items: end;
  padding-top: var(--space-lg); border-top: 1px solid var(--border);
}
.plp-engines { border: none; padding: 0; margin: 0; min-width: 0; }
.plp-engines .form-label { padding: 0; }
.plp-engines .pos-check-cards { grid-template-columns: repeat(2, minmax(0, 200px)); }
.plp-engines .pos-check-card { align-items: center; padding: var(--space-sm) var(--space-md); }
.plp-submit { display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-xs); }
.plp-btn { min-height: 48px; min-width: 200px; justify-content: center; gap: var(--space-sm); }
.plp-btn.is-busy { pointer-events: none; opacity: 0.85; }
.plp-btn .plp-spin { display: none; }
.plp-btn.is-busy .plp-spin { display: inline-flex; }
.plp-btn.is-busy .plp-spin svg { animation: pos-spin 1s linear infinite; }
.plp-micro { margin: var(--space-md) 0 0; font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.5; }
.plp-micro a { color: var(--text-dim); text-underline-offset: 2px; }
.plp-micro a:hover { color: var(--text); }
.plp-left { color: var(--text); font-weight: 600; }

/* Город — автокомплит (pos-ac из positions.css) */
.plp-f-city .pos-ac-list { margin: 0; }

/* ── Результат проверки ── */
.plp-res { margin-top: var(--space-xl); scroll-margin-top: calc(var(--space-4xl) + var(--space-lg)); }
.plp-res[hidden] { display: none; }
.plp-res-card { padding: 0; overflow: hidden; }
.plp-repeat {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm) var(--space-lg); flex-wrap: wrap;
  padding: var(--space-sm) var(--space-xl); background: var(--accent-glow); border-bottom: 1px solid var(--border);
  font-size: var(--fs-sm); color: var(--text);
}
.plp-repeat[hidden] { display: none; }
.plp-repeat .btn { min-height: 44px; }
.plp-res-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-md) var(--space-xl); flex-wrap: wrap;
  padding: var(--space-xl) var(--space-xl) 0;
}
.plp-res-t { margin: 0; font-family: var(--font-heading); font-size: calc(var(--fs-base) + 7px); font-weight: 700; line-height: 1.3; color: var(--text); overflow-wrap: anywhere; }
.plp-res-t .plp-dot { color: var(--text-muted); font-weight: 400; }
.plp-nf-x { margin: var(--space-sm) var(--space-xl) 0; max-width: 72ch; color: var(--text-dim); line-height: 1.6; }
.plp-nf-x[hidden] { display: none; }

.plp-tabs { display: flex; gap: var(--space-2xs); padding: var(--space-2xs); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-input); }
.plp-tabs[hidden] { display: none; }
.plp-tab {
  display: inline-flex; align-items: center; gap: var(--space-xs); min-height: 40px; padding: 0 var(--space-lg);
  border: none; border-radius: var(--radius-xs); background: transparent; color: var(--text-dim);
  font-family: var(--font-body); font-size: var(--fs-md); font-weight: 600; cursor: pointer;
  transition: background var(--dur-fast), color var(--dur-fast);
}
.plp-tab:hover { color: var(--text); }
.plp-tab[aria-selected="true"] { background: var(--bg-card); color: var(--text); box-shadow: var(--shadow-xs); }
.plp-tab:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.plp-status { padding: var(--space-lg) var(--space-xl) var(--space-md); }
.plp-prog[hidden], .plp-sum[hidden], .plp-partial[hidden] { display: none; }
.plp-prog-row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-sm) var(--space-lg); flex-wrap: wrap; }
.plp-prog-t { font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; display: inline-flex; align-items: center; gap: var(--space-xs); }
.plp-prog-t svg { color: var(--accent); animation: pos-spin 1s linear infinite; }
.plp-prog-n { font-size: var(--fs-sm); color: var(--text-dim); }
.plp-track { position: relative; height: 6px; margin-top: var(--space-sm); border-radius: 9999px; background: var(--bg-input); overflow: hidden; }
.plp-track span { position: absolute; inset: 0; transform-origin: left center; transform: scaleX(0); background: var(--accent); border-radius: inherit; transition: transform var(--dur-mid) var(--ease); }
.plp-sum { margin: 0; font-size: var(--fs-lg); color: var(--text); line-height: 1.55; }
.plp-partial {
  display: flex; gap: var(--space-sm); align-items: flex-start; margin: var(--space-sm) 0 0; padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-sm); background: var(--yellow-bg); color: var(--text); font-size: var(--fs-md); line-height: 1.5;
}
.plp-partial svg { color: var(--yellow); flex-shrink: 0; margin-top: 2px; }

/* Таблица результата: фиксированная высота строки — скелетон и данные одной высоты (без CLS) */
.plp-rt { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; table-layout: fixed; }
.plp-rt th {
  text-align: left; font-size: var(--fs-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted);
  padding: var(--space-sm) var(--space-md); border-bottom: 1px solid var(--border);
}
.plp-rt th:first-child, .plp-rt td:first-child { padding-left: var(--space-xl); }
.plp-rt th:last-child, .plp-rt td:last-child { padding-right: var(--space-xl); }
.plp-rt td { height: 52px; padding: var(--space-xs) var(--space-md); border-bottom: 1px solid var(--border); vertical-align: middle; font-size: var(--fs-md); color: var(--text-dim); }
.plp-rt tbody tr:last-child td { border-bottom: none; }
.plp-c-q { width: 34%; } .plp-c-p { width: 104px; } .plp-c-u { width: 33%; }
.plp-rt td.plp-q { color: var(--text); font-weight: 500; }
.plp-q-t, .plp-u-t { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plp-q-u { display: none; }
.plp-rt .pos-cell { display: inline-flex; min-width: 64px; min-height: 32px; border-radius: var(--radius-xs); }
.plp-rt .pos-cell-p { font-size: var(--fs-md); }
.plp-rt .pos-none .pos-cell-p { font-size: var(--fs-sm); color: var(--text-dim); }
.plp-rt [title] { cursor: help; }
.plp-rt tr.is-new td { animation: plp-in var(--dur-slow) var(--ease); }
@keyframes plp-in { from { background: var(--accent-glow); } to { background: transparent; } }
.plp-rt .pos-skel { height: 12px; }
.plp-rt .plp-skel-p { width: 48px; }
.plp-me { display: inline-flex; align-items: center; gap: var(--space-2xs); text-transform: none; letter-spacing: 0; font-size: var(--fs-sm); }
.plp-cap { margin: 0; padding: var(--space-md) var(--space-xl) var(--space-lg); border-top: 1px solid var(--border); font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.5; }
.plp-cap a { color: var(--accent); text-underline-offset: 2px; }
.plp-cap a:focus-visible, .plp-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--radius-xs); }

/* Под результатом: «каждый день» */
.plp-next {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-lg) var(--space-2xl); align-items: center;
  margin-top: var(--space-md); padding: var(--space-xl); border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
  background: linear-gradient(135deg, var(--accent-glow), transparent 60%), var(--bg-card);
}
.plp-next[hidden] { display: none; }
.plp-next-t { margin: 0 0 var(--space-sm); font-family: var(--font-heading); font-size: calc(var(--fs-base) + 5px); font-weight: 700; line-height: 1.3; color: var(--text); }
.plp-next-x { margin: 0; color: var(--text-dim); line-height: 1.6; max-width: 68ch; }
.plp-next-a { display: flex; flex-direction: column; align-items: stretch; max-width: 320px; }
.plp-next-a .plp-micro { margin-top: var(--space-sm); }
.plp-cta { min-height: 48px; white-space: normal; justify-content: center; text-align: center; }

/* ── Второй экран: как выглядит проект ── */
.plp-section { margin-top: var(--space-4xl); scroll-margin-top: var(--space-4xl); }
.plp-h2 { font-family: var(--font-heading); font-size: calc(var(--fs-base) + 13px); font-weight: 800; line-height: 1.2; letter-spacing: -0.3px; margin: 0 0 var(--space-xl); color: var(--text); }
.plp-show { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-3xl); align-items: center; }
.plp-show-x { margin: 0; font-size: var(--fs-lg); color: var(--text-dim); line-height: 1.65; }
.plp-shot { position: relative; margin: 0; min-width: 0; }
.plp-frame { overflow: hidden; padding: 0; box-shadow: var(--shadow-lg); }
.plp-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm) var(--space-md); flex-wrap: wrap; padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--border); }
.plp-bar-t { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; font-weight: 600; min-width: 0; }
.plp-bar-t .pos-target { font-weight: 500; }
.plp-pills { display: flex; gap: var(--space-xs); flex-wrap: wrap; align-items: center; }
.plp-pill { display: inline-flex; align-items: center; padding: var(--space-2xs) var(--space-sm); border: 1px solid var(--border); border-radius: var(--radius-xs); font-size: var(--fs-sm); color: var(--text-dim); white-space: nowrap; }
.plp-pill.on { border-color: var(--accent); background: var(--accent-glow); color: var(--text); }
.plp-frame .pos-grid-wrap { overflow: hidden; max-height: none; }
.plp-frame .pos-grid .pos-col-kw, .plp-frame .pos-grid .pos-col-freq { position: static; box-shadow: none; }
.plp-frame .pos-grid .pos-col-kw { min-width: 200px; max-width: 220px; }
.plp-frame .pos-grid tbody tr:hover td { background: var(--bg-card); }
.plp-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.plp-kpis > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--space-2xs) var(--space-xs); padding: var(--space-md) var(--space-lg); border-right: 1px solid var(--border); min-width: 0; }
.plp-kpis > div:last-child { border-right: none; }
.plp-kpi-l { flex-basis: 100%; font-size: var(--fs-xs); font-weight: 500; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.plp-kpis b { font-family: var(--font-heading); font-size: calc(var(--fs-base) + 7px); font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; line-height: 1.2; }
.plp-spark { align-self: center; flex: 1 1 0; min-width: 24px; max-width: 56px; height: 20px; margin-left: auto; overflow: visible; }
.plp-spark-a { fill: var(--accent-glow); stroke: none; }
.plp-spark-l { fill: none; stroke: var(--accent); stroke-width: 1.5; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; }

/* Что есть в проекте — обычный список */
.plp-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-3xl); margin: 0; padding: 0; list-style: none; }
.plp-list li { position: relative; padding: var(--space-lg) 0 var(--space-lg) var(--space-xl); border-top: 1px solid var(--border); font-size: var(--fs-lg); color: var(--text); line-height: 1.6; }
.plp-list li::before { content: ''; position: absolute; left: 2px; top: calc(var(--space-lg) + 0.6em); width: 8px; height: 8px; border-radius: 9999px; background: var(--accent); }

/* Когда это нужно */
.plp-cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg); }
.plp-case { padding: var(--space-xl); margin: 0; }
.plp-cases > .card + .card { margin-top: 0; }
.plp-case-ico { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--radius-sm); background: var(--accent-glow); color: var(--accent); margin-bottom: var(--space-lg); }
.plp-case h3 { margin: 0 0 var(--space-sm); font-family: var(--font-heading); font-size: calc(var(--fs-base) + 3px); font-weight: 700; line-height: 1.3; color: var(--text); }
.plp-case p { margin: 0; color: var(--text-dim); line-height: 1.6; font-size: var(--fs-md); }

/* Сколько стоит */
.plp-model { font-family: var(--font-heading); font-size: calc(var(--fs-base) + 7px); font-weight: 700; line-height: 1.35; color: var(--text); margin: 0 0 var(--space-sm); max-width: 760px; }
.plp-example { font-size: var(--fs-lg); color: var(--text-dim); margin: 0 0 var(--space-xl); line-height: 1.55; }
.plp-example b { color: var(--accent); font-weight: 700; white-space: nowrap; }
.plp-price-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-xl); align-items: start; }
.plp-table-card { padding: 0; overflow: hidden; }
.plp-table td { font-size: var(--fs-md); }
.plp-table td:first-child { color: var(--text); }
.plp-table .plp-price { text-align: right; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.plp-table th:last-child { text-align: right; }
.plp-small { font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.6; margin: var(--space-md) 0 0; }
.plp-small + .plp-small { margin-top: var(--space-xs); }
.plp-link {
  display: inline-flex; align-items: center; gap: var(--space-xs); min-height: 44px; font-size: var(--fs-md); font-weight: 500;
  color: var(--accent); text-decoration: none; transition: gap var(--dur-fast);
}
.plp-link:hover { gap: var(--space-sm); }

/* Калькулятор */
.plp-calc { padding: var(--space-xl); scroll-margin-top: var(--space-4xl); }
.plp-calc-t { font-family: var(--font-heading); font-size: calc(var(--fs-base) + 5px); font-weight: 700; margin: 0 0 var(--space-lg); color: var(--text); }
.plp-calc .form-group { margin-bottom: var(--space-lg); }
.plp-step { display: flex; align-items: stretch; gap: var(--space-xs); }
.plp-step-btn {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0;
  border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-input); color: var(--text);
  font-family: var(--font-body); font-size: var(--fs-xl); font-weight: 600; cursor: pointer;
  transition: border-color var(--dur-fast), color var(--dur-fast);
}
.plp-step-btn:hover:not(:disabled) { border-color: var(--border-hover); }
.plp-step-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.plp-step-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.plp-step .form-input { flex: 1 1 auto; min-width: 0; min-height: 44px; text-align: center; font-size: var(--fs-xl); font-weight: 600; font-variant-numeric: tabular-nums; }
.plp-hint { margin: var(--space-xs) 0 0; font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.5; transition: color var(--dur-fast); }
.plp-hint.over { color: var(--yellow); }
.plp-fieldset { border: none; padding: 0; margin: 0 0 var(--space-lg); min-width: 0; }
.plp-fieldset .form-label { padding: 0; }
.plp-calc .pos-check-card { align-items: center; }
.plp-err { margin: var(--space-xs) 0 0; font-size: var(--fs-sm); color: var(--red); }
.plp-err:empty { display: none; }
.plp-result { padding-top: var(--space-lg); border-top: 1px solid var(--border); }
.plp-result-top { display: flex; align-items: baseline; gap: var(--space-sm); flex-wrap: wrap; }
.plp-csum { font-family: var(--font-heading); font-size: calc(var(--fs-base) + 17px); font-weight: 800; line-height: 1.1; color: var(--text); font-variant-numeric: tabular-nums; }
.plp-csum-u { font-size: var(--fs-md); color: var(--text-dim); }
.plp-result.empty .plp-csum { color: var(--text-muted); }
.plp-formula { margin: var(--space-sm) 0 0; font-size: var(--fs-md); color: var(--text); line-height: 1.5; font-variant-numeric: tabular-nums; }
.plp-note { margin: var(--space-xs) 0 0; font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.5; }

/* Как читать позиции — SEO-текст, читабельная колонка */
.plp-article { max-width: 70ch; }
.plp-article h3 { margin: var(--space-2xl) 0 var(--space-md); font-family: var(--font-heading); font-size: calc(var(--fs-base) + 5px); font-weight: 700; line-height: 1.3; color: var(--text); scroll-margin-top: var(--space-4xl); }
.plp-article h2 + h3 { margin-top: 0; }
.plp-article p { margin: 0 0 var(--space-lg); font-size: var(--fs-xl); color: var(--text-dim); line-height: 1.7; }
.plp-article p:last-child { margin-bottom: 0; }

/* FAQ */
.plp-faq { max-width: 860px; }
.plp-faq .sem-faq-item p { color: var(--text-dim); line-height: 1.65; font-size: var(--fs-md); }
.plp-faq .sem-faq-item summary { min-height: 44px; }

/* Финальный CTA */
.plp-final { margin-top: var(--space-4xl); padding: var(--space-3xl) var(--space-xl); text-align: center; position: relative; overflow: hidden; isolation: isolate; }
.plp-final::before { content: ''; position: absolute; inset: auto 0 -60% 0; height: 100%; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at center, var(--accent-glow) 0%, transparent 70%); }
.plp-final[hidden] { display: none; }
.plp-final .plp-h2 { margin-bottom: var(--space-sm); }
.plp-final p { font-size: var(--fs-lg); color: var(--text-dim); max-width: 620px; margin: 0 auto var(--space-xl); line-height: 1.6; }
.plp-page + .footer { margin-top: var(--space-4xl); }

/* Строка согласия под формой (copy §1) */
.plp-consent { margin: var(--space-2xs) 0 0; font-size: var(--fs-xs); color: var(--text-dim); line-height: 1.5; }
.plp-consent a { color: var(--text-dim); text-underline-offset: 2px; }
.plp-consent a:hover { color: var(--text); }
.plp-micro a:focus-visible, .plp-consent a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--radius-xs); }

/* Повторный визит: две строки + кнопка */
.plp-repeat-b { display: flex; flex-direction: column; gap: var(--space-2xs); min-width: 0; }
.plp-repeat-t { font-weight: 600; }
.plp-repeat-s { color: var(--text-dim); font-size: var(--fs-xs); }

/* Найден поддомен (copy §1 «Найден поддомен») */
.plp-sub { display: flex; align-items: center; gap: var(--space-sm) var(--space-lg); flex-wrap: wrap; margin: var(--space-md) var(--space-xl) 0; }
.plp-sub[hidden] { display: none; }
.plp-sub .btn { min-height: 44px; }
.plp-sub-s { margin: 0; font-size: var(--fs-sm); color: var(--text-dim); }
.plp-cell-sub { display: block; margin-top: 2px; font-size: var(--fs-xs); color: var(--text-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Форма выключена (guest_enabled=false) */
.plp-off { padding: var(--space-xl); }
.plp-off-t { margin: 0 0 var(--space-sm); font-family: var(--font-heading); font-size: calc(var(--fs-base) + 5px); font-weight: 700; line-height: 1.3; color: var(--text); }
.plp-off p { margin: 0 0 var(--space-lg); color: var(--text-dim); line-height: 1.6; max-width: 68ch; }
.plp-off .btn { min-height: 48px; }

/* Контейнер невидимой SmartCaptcha */
.plp-captcha:empty { display: none; }

@media (max-width: 1024px) {
  .plp-show { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
  .plp-price-grid { grid-template-columns: minmax(0, 1fr); }
  .plp-cases { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) {
  .plp-page.layout { padding: var(--space-lg); }
  .plp-hero { padding-top: var(--space-sm); }
  .plp-hero::before { left: 0; top: -40px; width: 100%; height: 360px; }
  .plp-h1 { font-size: calc(var(--fs-base) + 13px); }
  .plp-lead { font-size: var(--fs-lg); margin-bottom: var(--space-lg); }
  .plp-form { padding: var(--space-lg); }
  .plp-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "site" "city" "queries"; }
  .plp-ta { min-height: 132px; }
  .plp-foot { grid-template-columns: minmax(0, 1fr); }
  .plp-engines .pos-check-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plp-submit { align-items: stretch; }
  .plp-btn { width: 100%; }
  .plp-res-head { padding: var(--space-lg) var(--space-lg) 0; }
  .plp-repeat { padding: var(--space-sm) var(--space-lg); }
  .plp-nf-x { margin: var(--space-sm) var(--space-lg) 0; }
  .plp-sub { margin: var(--space-md) var(--space-lg) 0; }
  .plp-off { padding: var(--space-lg); }
  .plp-status { padding: var(--space-md) var(--space-lg); }
  .plp-rt th:first-child, .plp-rt td:first-child { padding-left: var(--space-lg); }
  .plp-rt th:last-child, .plp-rt td:last-child { padding-right: var(--space-lg); }
  .plp-cap { padding: var(--space-md) var(--space-lg); }
  .plp-next { grid-template-columns: minmax(0, 1fr); padding: var(--space-lg); }
  .plp-next-a { max-width: none; }
  .plp-kpis > div { padding: var(--space-sm) var(--space-md); }
  .plp-frame .pos-grid-wrap { -webkit-mask-image: linear-gradient(to right, var(--bg) 80%, transparent); mask-image: linear-gradient(to right, var(--bg) 80%, transparent); }
  .plp-h2 { font-size: calc(var(--fs-base) + 7px); margin-bottom: var(--space-lg); }
  .plp-section { margin-top: var(--space-3xl); }
  .plp-list { grid-template-columns: minmax(0, 1fr); }
  .plp-list li { font-size: var(--fs-md); padding-top: var(--space-md); padding-bottom: var(--space-md); }
  .plp-list li::before { top: calc(var(--space-md) + 0.6em); }
  .plp-case { padding: var(--space-lg); }
  .plp-model { font-size: calc(var(--fs-base) + 3px); }
  .plp-calc { padding: var(--space-lg); }
  .plp-article p { font-size: var(--fs-lg); }
  .plp-final { padding: var(--space-2xl) var(--space-lg); }
  .plp-final .btn { width: 100%; }
}
/* Узко: таблица в 3 колонки — страница уходит под запрос */
@media (max-width: 600px) {
  .plp-spark { display: none; }
  .plp-c-u, .plp-rt td.plp-u { display: none; }
  .plp-rt td.plp-q .plp-q-t { white-space: normal; overflow-wrap: anywhere; }
  .plp-q-u { display: block; margin-top: 2px; font-size: var(--fs-sm); font-weight: 400; color: var(--text-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .plp-c-q { width: auto; } .plp-c-p { width: 76px; } .plp-c-l { width: 34%; }
  .plp-rt td { height: 60px; padding-left: var(--space-xs); padding-right: var(--space-xs); }
  .plp-rt .pos-cell { min-width: 56px; }
  .plp-tabs { width: 100%; }
  .plp-tab { flex: 1 1 0; justify-content: center; min-height: 44px; }
}
@media (max-width: 480px) {
  .plp-notice { padding: var(--space-md); }
  .plp-notice .btn { width: 100%; }
  .plp-kpis b { font-size: var(--fs-xl); }
  .plp-bar { padding: var(--space-md); }
  .plp-calc .pos-check-cards { grid-template-columns: minmax(0, 1fr); }
  .plp-example b { white-space: normal; }
  .plp-repeat .btn { width: 100%; }
  .plp-sub .btn, .plp-off .btn { width: 100%; }
}
@media (max-width: 360px) {
  .plp-engines .pos-check-cards { grid-template-columns: minmax(0, 1fr); }
  .plp-c-l { width: 30%; }
}
@media (prefers-reduced-motion: reduce) {
  .plp-page *, .plp-page *::before { transition: none; animation: none; }
}
