/* pages-a.css — стили пяти страниц волны A: calc, reestr, stavka, sravnenie, newsfeed.
   Только эти страницы; css/style.css и css/home.css — общие и здесь не переопределяются.
   Шапка, логотип, плиточная навигация и подвал — дословно из index.html, их вид целиком
   задаёт style.css, здесь только обёртка карточки навигации. */

/* ── карточка для плиточной навигации (та же белая карточка, что .top-card на главной) ── */
.pa-navcard,
.tiles-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  margin: 16px 0 4px;
}

/* Плитки, вставленные в страницы, где нет своего контейнера навигации (hub, cards, org,
   product, news, court, courts, cabinet, decide, identity): паддинги и сетку берём
   у .cats-nav из style.css, сверху карточке не нужна ещё одна линия. */
.tiles-card .cats-nav { border-top: 0; }

/* ── каркас страницы ── */
/* [hidden] должен побеждать display:flex/grid у авторских правил ниже */
[hidden] { display: none !important; }

.pa-main { padding-bottom: 8px; }
.pa-crumbs { padding: 12px 0 0; }
.pa-h1row { margin: 10px 0 10px; }
.pa-h1row h1 { margin: 0; }

/* ── универсальная карточка ── */
.pa-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 13px 14px;
  min-width: 0;
}
.pa-card > h2 {
  font-size: 22px;
  line-height: 1.25;
  margin: 0 0 12px;
  letter-spacing: -.01em;
}
.pa-card > h2:only-child { margin-bottom: 0; }

/* ══════════════════════════ 1. КАЛЬКУЛЯТОР ЗАЙМА ══════════════════════════ */
.pa-calc-grid {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  align-items: start;
}
@media (min-width: 980px) {
  .pa-calc-grid { grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); }
}

/* поле с ползунком */
.pa-field { padding: 16px 0 4px; border-top: 1px solid var(--line); }
.pa-field:first-of-type { padding-top: 0; border-top: 0; }
.pa-field-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pa-field-lab { font-size: 15px; font-weight: 700; color: var(--ink); margin: 0; }
.pa-field-hint { font-size: 13px; color: var(--blue); white-space: nowrap; }
.pa-field-val {
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  margin: 6px 0 0;
  color: var(--ink);
}
@media (max-width: 430px) { .pa-field-val { font-size: 26px; } }
.pa-range {
  width: 100%;
  margin: 12px 0 2px;
  height: 24px;
  accent-color: var(--blue);
  cursor: pointer;
}
.pa-range:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.pa-ends {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12.5px;
  color: var(--faint);
  font-variant-numeric: tabular-nums;
}
.pa-ends span { flex: 0 1 auto; min-width: 0; }
.pa-ends span:nth-child(2) { text-align: center; }
.pa-ends span:last-child { text-align: right; }

/* переключатель «первый займ 0%» */
.pa-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0 0;
  margin-top: 6px;
  border-top: 1px solid var(--line);
  cursor: pointer;
}
.pa-switch-txt { min-width: 0; }
.pa-switch-lab { display: block; font-size: 15px; font-weight: 700; color: var(--ink); }
.pa-switch-sub { display: block; font-size: 13px; color: var(--faint); margin-top: 3px; }
.pa-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.pa-switch-track {
  flex: 0 0 auto;
  width: 52px;
  height: 30px;
  border-radius: 999px;
  background: #C9D2E0;
  position: relative;
  transition: background .16s ease;
}
.pa-switch-track::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(17, 26, 56, .28);
  transition: transform .16s ease;
}
.pa-switch input:checked + .pa-switch-track { background: var(--blue); }
.pa-switch input:checked + .pa-switch-track::after { transform: translateX(22px); }
.pa-switch input:focus-visible + .pa-switch-track { outline: 2px solid var(--blue); outline-offset: 3px; }

/* карточка результата */
.pa-res-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.pa-res-col { min-width: 0; }
.pa-res-cap { font-size: 13px; color: var(--muted); margin: 0 0 4px; }
.pa-res-sum {
  font-size: 30px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  color: var(--blue);
  margin: 0;
}
.pa-res-date {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
  margin: 0;
  text-align: right;
}
@media (max-width: 560px) {
  .pa-res-sum { font-size: 26px; }
  .pa-res-date { font-size: 20px; text-align: left; }
}

.pa-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px 0 4px;
  border-bottom: 1px solid var(--line);
}
.pa-kpi { min-width: 0; }
.pa-kpi-cap { font-size: 12.5px; color: var(--muted); margin: 0 0 3px; display: flex; align-items: center; gap: 4px; }
.pa-kpi-val { font-size: 18px; font-weight: 800; font-variant-numeric: tabular-nums; margin: 0; color: var(--ink); }
.pa-kpi-sub { font-size: 12px; color: var(--faint); margin: 2px 0 0; }
@media (max-width: 430px) {
  .pa-kpis { gap: 8px; }
  .pa-kpi-val { font-size: 16px; }
  .pa-kpi-cap, .pa-kpi-sub { font-size: 11.5px; }
}

.pa-pay { padding: 12px 0 0; }
.pa-pay-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 0;
  font-size: 14px;
  color: var(--ink2);
}
.pa-pay-row .pa-pay-d { color: var(--faint); font-size: 13px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pa-pay-row b { font-variant-numeric: tabular-nums; color: var(--ink); white-space: nowrap; }
.pa-pay-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  font-size: 15px;
  font-weight: 700;
}
.pa-pay-total b { font-size: 19px; color: var(--blue); font-variant-numeric: tabular-nums; }

/* прогресс до лимита ЦБ */
.pa-bar-wrap { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.pa-bar-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  color: var(--ink2);
  margin-bottom: 8px;
}
.pa-bar-head b { font-variant-numeric: tabular-nums; color: var(--ink); white-space: nowrap; }
.pa-bar { height: 8px; border-radius: 999px; background: #E9EEF6; overflow: hidden; }
.pa-bar > span { display: block; height: 100%; border-radius: 999px; background: var(--blue); transition: width .16s ease; }
.pa-bar-ends { display: flex; justify-content: space-between; font-size: 12px; color: var(--faint); margin-top: 5px; }

/* CTA и плашка лимита */
.pa-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  border: 0;
  border-radius: 12px;
  background: var(--blue);
  color: #fff;
  font: inherit;
  font-size: 17px;
  font-weight: 700;
  text-decoration: none;
  padding: 0 20px;
  margin: 0 0 16px;
  transition: background .15s ease;
}
.pa-cta:hover { background: var(--blue-hover); color: #fff; }
.pa-cta:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
@media (max-width: 430px) {
  .pa-cta { min-height: 50px; font-size: 15.5px; padding: 0 14px; }
}

.pa-limit {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #F2F6EE;
  border: 1px solid #D8E4F8;
  border-radius: 12px;
  padding: 14px 18px;
  font-size: 14.5px;
  color: var(--ink);
}
.pa-limit svg { flex: 0 0 auto; color: var(--blue); }
.pa-limit b { font-variant-numeric: tabular-nums; }

/* ══════════════════════════ 2. РЕЕСТР МФО ══════════════════════════ */
.pa-search {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
}
.pa-search input {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  padding: 0 14px;
  font: inherit;
  font-size: 15px;
  background: #fff;
  color: var(--ink);
}
.pa-search input::placeholder { color: #94959B; }
.pa-search input:focus { outline: 2px solid var(--blue); outline-offset: 1px; }
.pa-search .pa-find {
  flex: 0 0 auto;
  min-width: 108px;
  min-height: 44px;
  border: 0;
  border-radius: 10px;
  background: var(--blue);
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  padding: 0 20px;
  cursor: pointer;
}
.pa-search .pa-find:hover { background: var(--blue-hover); }
.pa-search .pa-find:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
@media (max-width: 480px) {
  .pa-search { flex-wrap: wrap; }
  .pa-search .pa-find { width: 100%; min-height: 44px; }
}

.pa-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
}
.pa-chip {
  appearance: none;
  border: 1px solid var(--line-strong);
  background: #fff;
  border-radius: 10px;
  min-height: 44px;
  padding: 0 16px;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--ink2);
  cursor: pointer;
  white-space: nowrap;
}
.pa-chip:hover { border-color: var(--blue); color: var(--blue); }
.pa-chip[aria-pressed="true"] {
  background: #EDF7E8;
  border-color: var(--blue);
  color: var(--blue);
  box-shadow: inset 0 0 0 1px var(--blue);
}
.pa-chip:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.pa-select {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  padding: 8px 34px 8px 12px;
  font: inherit;
  font-size: 14px;
  line-height: 1.2;
  min-height: 40px;
  min-width: 0;
  max-width: 100%;
  color: var(--ink);
  cursor: pointer;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%2314263D' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 12px center;
  background-size: 12px 12px;
}
.pa-select:hover { border-color: var(--ink2); }
.pa-select:focus { outline: 2px solid var(--blue); outline-offset: 1px; }
.pa-filters .pa-sel { flex: 0 1 220px; min-width: 0; }
.pa-filters .pa-sel .pa-select { width: 100%; }
@media (max-width: 560px) {
  .pa-filters .pa-sel { flex: 1 1 100%; }
}

.pa-tbl-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.pa-tbl { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 820px; }
.pa-tbl th, .pa-tbl td { padding: 11px 14px; text-align: left; vertical-align: middle; border-top: 1px solid var(--line); }
.pa-tbl thead th { border-top: 0; background: #F6F8F2; font-size: 13px; font-weight: 700; color: var(--ink2); white-space: nowrap; }
.pa-tbl tbody tr:nth-child(even) { background: #FAFBF8; }
.pa-tbl tbody tr:hover { background: #F3F7EF; }
.pa-tbl td b { font-variant-numeric: tabular-nums; font-weight: 600; }
.pa-tbl .num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.pa-th-sort {
  appearance: none;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink2);
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  white-space: nowrap;
}
/* Узкие экраны: таблица реестра не должна уезжать за вьюпорт (height-sweep).
   Заголовки переносятся, отступы и кегль меньше, минимальная ширина снимается. */
@media (max-width: 900px) {
  .pa-tbl { min-width: 0; font-size: 12.5px; }
  .pa-tbl th, .pa-tbl td { padding: 9px 7px; }
  .pa-tbl thead th { white-space: normal; }
  .pa-th-sort { white-space: normal; text-align: left; font-size: 12.5px; line-height: 1.3; }
  .pa-tbl .num { white-space: normal; }
}
/* совсем узкие экраны: фиксированная раскладка — таблица гарантированно по ширине
   карточки, длинные значения переносятся, ни одна кнопка не уезжает за вьюпорт */
@media (max-width: 560px) {
  .pa-tbl { table-layout: fixed; width: 100%; min-width: 0; font-size: 11.5px; }
  .pa-tbl th, .pa-tbl td { padding: 7px 5px; overflow: hidden; }
  .pa-tbl td { word-break: break-word; overflow-wrap: anywhere; }
  /* кнопка сортировки — в одну строку с многоточием: и заголовок не раздувает
     строку по высоте, и колонка не выталкивает таблицу за вьюпорт */
  .pa-th-sort { display: block; width: 100%; font-size: 11.5px; line-height: 1.35;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pa-th-sort .ar { display: none; }
}
.pa-th-sort:hover { color: var(--blue); }
.pa-th-sort:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 4px; }
.pa-th-sort .ar { font-size: 10px; color: #9AA6B8; line-height: 1; }
.pa-th-sort[aria-sort="ascending"] .ar,
.pa-th-sort[aria-sort="descending"] .ar { color: var(--blue); }
.pa-empty { padding: 28px 16px; text-align: center; color: var(--muted); font-size: 14px; }

.pa-tbl-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 2px 0;
  font-size: 13px;
  color: var(--muted);
}
.pa-tbl-foot a { font-size: 13px; }

.pa-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 16px 0 0;
}
.pa-pager button {
  appearance: none;
  min-width: 38px;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}
.pa-pager button:hover:not(:disabled) { border-color: var(--blue); color: var(--blue); }
.pa-pager button[aria-current="page"] { background: var(--blue); border-color: var(--blue); color: #fff; font-weight: 700; }
.pa-pager button:disabled { opacity: .45; cursor: default; }
.pa-pager .dots { color: var(--faint); padding: 0 2px; }

.pa-demo-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #FFF7E6;
  border: 1px solid #F0DFB8;
  color: #7A5200;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 12.5px;
  font-weight: 700;
}

/* ══════════════════════════ 3. КЛЮЧЕВАЯ СТАВКА ══════════════════════════ */
.pa-rate-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
}
.pa-rate-main { min-width: 0; }
.pa-rate-val {
  font-size: 52px;
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
  color: var(--emerald);
  margin: 4px 0 6px;
}
@media (max-width: 560px) { .pa-rate-val { font-size: 40px; } }
.pa-rate-meta { font-size: 13.5px; color: var(--faint); margin: 0; }
.pa-rate-sub {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  border-radius: 10px;
  background: var(--blue);
  color: #fff;
  font-size: 14.5px;
  font-weight: 700;
  text-decoration: none;
  padding: 0 20px;
  flex: 0 0 auto;
}
.pa-rate-sub:hover { background: var(--blue-hover); color: #fff; }
.pa-rate-sub svg { flex: 0 0 auto; }
@media (max-width: 560px) { .pa-rate-sub { width: 100%; justify-content: center; } }

.pa-ranges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.pa-range-btn {
  appearance: none;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--ink2);
  cursor: pointer;
  white-space: nowrap;
}
.pa-range-btn:hover { border-color: var(--blue); color: var(--blue); }
.pa-range-btn[aria-pressed="true"] { background: var(--blue); border-color: var(--blue); color: #fff; }
.pa-range-btn:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }

.pa-chart { margin: 0; }
.pa-chart-plot { display: flex; gap: 12px; align-items: stretch; }
.pa-chart-y {
  flex: 0 0 auto;
  min-width: 38px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: 12px;
  line-height: 1;
  color: var(--faint);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.pa-chart-canvas { flex: 1 1 auto; min-width: 0; }
.pa-chart-canvas svg { display: block; width: 100%; height: 260px; }
.pa-chart-x {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  font-size: 12px;
  line-height: 1.3;
  color: var(--faint);
  margin-top: 8px;
  font-variant-numeric: tabular-nums;
}
.pa-chart-x span { min-width: 0; white-space: nowrap; }
.pa-chart-cap { font-size: 12.5px; color: var(--faint); margin: 10px 0 0; }
@media (max-width: 640px) {
  .pa-chart-y { font-size: 11px; min-width: 32px; }
  .pa-chart-plot { gap: 8px; }
  .pa-chart-canvas svg { height: 190px; }
  .pa-chart-x { font-size: 11px; gap: 4px; }
}

.pa-rate-grid { display: grid; gap: 16px; margin-top: 16px; align-items: start; }
@media (min-width: 900px) { .pa-rate-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

.pa-meet { font-size: 19px; font-weight: 800; margin: 0 0 6px; letter-spacing: -.01em; }
.pa-meet span { color: var(--blue); }
.pa-meet-sub { font-size: 14px; color: var(--muted); margin: 0 0 14px; }
.pa-meet-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.pa-meet-cell { padding: 12px 8px; text-align: center; border-left: 1px solid var(--line); min-width: 0; }
.pa-meet-cell:first-child { border-left: 0; }
.pa-meet-mon { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--faint); white-space: nowrap; }
.pa-meet-day { font-size: 24px; font-weight: 800; line-height: 1.2; font-variant-numeric: tabular-nums; margin: 6px 0 2px; }
.pa-meet-wd { font-size: 11.5px; color: var(--faint); }
.pa-meet-cell.is-next { background: var(--blue); }
.pa-meet-cell.is-next .pa-meet-mon,
.pa-meet-cell.is-next .pa-meet-day,
.pa-meet-cell.is-next .pa-meet-wd { color: #fff; }
@media (max-width: 430px) {
  .pa-meet-cell { padding: 10px 4px; }
  .pa-meet-day { font-size: 20px; }
  .pa-meet-mon { font-size: 9.5px; }
}
.pa-meet-note { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: var(--muted); margin: 14px 0 0; }
.pa-meet-note svg { flex: 0 0 auto; margin-top: 1px; color: var(--blue); }

.pa-hist { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.pa-hist-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .7fr) minmax(0, .9fr);
  gap: 10px;
  align-items: baseline;
  padding: 11px 14px;
  font-size: 14px;
  border-top: 1px solid var(--line);
}
.pa-hist-row:first-child { border-top: 0; }
.pa-hist-head { background: #F6F8F2; font-size: 12.5px; font-weight: 700; color: var(--ink2); }
.pa-hist-row time { font-variant-numeric: tabular-nums; color: var(--ink2); }
.pa-hist-val { font-variant-numeric: tabular-nums; color: var(--ink); font-weight: 600; }
.pa-hist-delta { font-variant-numeric: tabular-nums; color: var(--faint); }
.pa-hist-delta.is-down { color: var(--emerald-dark); }
.pa-hist-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 14px; font-weight: 600; }

/* ══════════════════════════ 4. СРАВНЕНИЕ ══════════════════════════ */
.pa-cmp-cards { display: grid; gap: 12px; margin: 0 0 16px; }
.pa-cmp-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 13px 14px;
  min-width: 0;
}
.pa-cmp-logo {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}
.pa-cmp-name { font-size: 16px; font-weight: 700; min-width: 0; flex: 1 1 auto; }
.pa-cmp-del {
  flex: 0 0 auto;
  appearance: none;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  min-height: 44px;
  padding: 0 16px;
  cursor: pointer;
}
.pa-cmp-del:hover { border-color: var(--blue); color: var(--blue); }
.pa-cmp-del:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }

.pa-cmp-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.pa-cmp-tbl { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 560px; }
.pa-cmp-tbl th, .pa-cmp-tbl td { padding: 13px 14px; border-top: 1px solid var(--line); text-align: left; vertical-align: middle; }
.pa-cmp-tbl thead th { border-top: 0; background: #F6F8F2; color: var(--ink2); font-size: 13px; font-weight: 700; }
.pa-cmp-tbl tbody th { font-weight: 600; color: var(--ink); background: #fff; width: 26%; }
.pa-cmp-tbl tbody tr:nth-child(even) td,
.pa-cmp-tbl tbody tr:nth-child(even) th { background: #FAFBF8; }
.pa-cmp-tbl td { text-align: center; font-variant-numeric: tabular-nums; color: var(--ink2); }
.pa-cmp-tbl tfoot th,
.pa-cmp-tbl tfoot td { border-top: 1px solid var(--line); background: #fff; padding: 14px 10px; }
.pa-cmp-tbl tfoot .pa-cmp-go { width: 100%; max-width: 260px; margin: 0 auto; }
.pa-cmp-tbl .is-best { color: var(--emerald-dark); font-weight: 700; }
.pa-cmp-tbl .is-muted { color: var(--faint); }
.pa-cmp-cta-row {
  display: grid;
  gap: 12px;
  margin: 16px 0 0;
  align-items: center;
}
.pa-cmp-go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 0;
  border-radius: 10px;
  background: var(--blue);
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  padding: 0 18px;
}
.pa-cmp-go:hover { background: var(--blue-hover); color: #fff; }
.pa-cmp-go:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

.pa-stamp {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #F2F6EE;
  border: 1px solid #D8E4F8;
  border-radius: 12px;
  padding: 13px 16px;
  font-size: 14px;
  color: var(--ink);
  margin-top: 16px;
}
.pa-stamp svg { flex: 0 0 auto; color: var(--blue); }

/* ══════════════════════════ 5. ЛЕНТА НОВОСТЕЙ ══════════════════════════ */
.pa-news-grid { display: grid; gap: 12px; align-items: start; }
@media (min-width: 960px) { .pa-news-grid { grid-template-columns: minmax(0, 1fr) 320px; } }
@media (min-width: 1200px) { .pa-news-grid { grid-template-columns: minmax(0, 1fr) 348px; } }

.pa-feed { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.pa-item {
  display: flex;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.pa-item:hover { border-color: #C3D3F6; box-shadow: 0 6px 18px rgba(17, 26, 56, .07); }
.pa-item:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.pa-item-thumb {
  flex: 0 0 auto;
  width: 128px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  background: #EDF7E8;
}
.pa-item-thumb img { display: block; width: 128px; height: 80px; object-fit: cover; }
.pa-item-body { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; gap: 3px; }
.pa-item-date { font-size: 12.5px; color: var(--faint); font-variant-numeric: tabular-nums; }
.pa-item-date time { color: inherit; }
.pa-item-title { font-size: 16.5px; font-weight: 700; line-height: 1.3; margin: 0; color: var(--ink); letter-spacing: -.01em; }
.pa-item-lead {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.pa-item-tag { align-self: flex-start; margin-top: 4px; }
.pa-tag {
  display: inline-block;
  border-radius: 6px;
  background: #EDF7E8;
  color: #1B44B8;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 9px;
}
@media (max-width: 560px) {
  .pa-item { gap: 12px; padding: 12px; }
  .pa-item-thumb, .pa-item-thumb img { width: 96px; height: 60px; }
  .pa-item-title { font-size: 15px; }
  .pa-item-lead { font-size: 12.5px; -webkit-line-clamp: 3; line-clamp: 3; }
}
@media (max-width: 390px) {
  .pa-item-thumb, .pa-item-thumb img { width: 84px; height: 56px; }
}

.pa-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.pa-side h2 { font-size: 22px; line-height: 1.25; margin: 0 0 12px; letter-spacing: -.01em; }
.pa-top-list { list-style: none; margin: 0; padding: 0; counter-reset: t; }
.pa-top-list li { counter-increment: t; border-top: 1px solid var(--line); }
.pa-top-list li:first-child { border-top: 0; }
.pa-top-list a {
  display: flex;
  gap: 10px;
  padding: 11px 0;
  font-size: 14px;
  line-height: 1.4;
  color: var(--ink);
  text-decoration: none;
}
.pa-top-list a::before {
  content: counter(t);
  flex: 0 0 auto;
  width: 18px;
  font-size: 15px;
  font-weight: 800;
  color: var(--blue);
  font-variant-numeric: tabular-nums;
  text-align: left;
}
.pa-top-list a:hover { color: var(--blue); }
.pa-top-list a:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; border-radius: 4px; }

.pa-sub-form { display: flex; flex-direction: column; gap: 10px; }
.pa-sub-form p { font-size: 13.5px; color: var(--muted); margin: 0 0 2px; }
.pa-sub-form input {
  height: 46px;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  padding: 0 14px;
  font: inherit;
  font-size: 15px;
  background: #fff;
  color: var(--ink);
  min-width: 0;
  width: 100%;
}
.pa-sub-form input::placeholder { color: #94959B; }
.pa-sub-form input:focus { outline: 2px solid var(--blue); outline-offset: 1px; }
.pa-sub-form button {
  min-height: 46px;
  border: 0;
  border-radius: 10px;
  background: var(--blue);
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.pa-sub-form button:hover { background: var(--blue-hover); }
.pa-sub-form button:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.pa-sub-ok {
  font-size: 13px;
  color: var(--emerald-dark);
  background: #E7F6EF;
  border: 1px solid #CBEBDD;
  border-radius: 8px;
  padding: 8px 12px;
  margin: 0;
}
.pa-sub-ok[hidden] { display: none; }

/* ── общая мелочь ── */
.pa-mt0 { margin-top: 0; }
.pa-mb16 { margin-bottom: 16px; }
.pa-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ── fix2: заголовок секции, ссылки-заглушки, сноска ПСК, лента новостей ──── */
.pa-h2 {
  font-size: 20px;
  line-height: 1.25;
  margin: 22px 0 12px;
  letter-spacing: -.01em;
  text-wrap: balance;
}
@media (min-width: 960px) { .pa-h2 { font-size: 22px; } }

/* ссылка-заглушка: материал в разработке — серая, без подчёркивания, не кликается */
a.is-stub, .is-stub { color: var(--faint); text-decoration: none; cursor: default; }
a.is-stub:hover, a.is-stub:focus { color: var(--faint); text-decoration: none; }
a.is-stub[aria-disabled="true"] { pointer-events: none; }

/* сноска к оценке ПСК в калькуляторе */
.pa-note {
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--muted);
  margin: 10px 0 0;
}
.pa-note a { color: var(--blue); }

/* пояснение под переключателем «первый займ 0%» */
.pa-switch-note {
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--ink2);
  background: #EFF2EC;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 9px 12px;
  margin: 10px 0 0;
}

/* лента новостей — ul/li/article вместо div-обёртки */
ul.pa-feed { list-style: none; margin: 0; padding: 0; }
ul.pa-feed > li { min-width: 0; }
.pa-feed-art { display: block; min-width: 0; }
.pa-feed-art > .pa-item { width: 100%; }

/* маркировка рекламы над партнёрским CTA в таблице сравнения */
.pa-cmp-ad { display: flex; justify-content: center; margin: 0 0 8px; }

/* история решений ключевой ставки — настоящая таблица (fix2) */
table.pa-hist { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; }
table.pa-hist th, table.pa-hist td { padding: 11px 14px; text-align: left; vertical-align: baseline; }
table.pa-hist thead th { font-size: 12.5px; font-weight: 700; color: var(--ink2); background: #F6F8F2; }
table.pa-hist tbody tr + tr th,
table.pa-hist tbody tr + tr td { border-top: 1px solid var(--line); }
table.pa-hist tbody th { font-weight: 400; }
table.pa-hist tbody th time { font-variant-numeric: tabular-nums; color: var(--ink2); }
@media (max-width: 480px) {
  table.pa-hist { font-size: 13px; }
  table.pa-hist th, table.pa-hist td { padding: 10px 8px; }
}
/* ── статья с карточкой дела: на ≥960 карточка справа от заголовка, как в макете ──
   Колонки обёрнуты в отдельные блоки: иначе строки грида растягиваются под высоту
   карточки и в левой колонке появляются пустоты (проверено скриншотом 2026-11-10). */
.art-hero-main, .art-hero-side{min-width:0}
@media (min-width:960px){
  .art-hero{display:grid;grid-template-columns:minmax(0,1fr) 440px;column-gap:24px;align-items:start}
}
@media (max-width:959px){
  .art-hero-side{margin-top:16px}
}
/* ── секции листинга карт: h2 + пояснение + своя сетка ── */
.cardsec{margin-top:20px}
.cardsec:first-of-type{margin-top:12px}
.cardsec > h2{margin:0 0 6px}
.cardsec-note{font-size:13.5px;line-height:20.25px;color:#5F6E89;margin:0 0 12px}
.cardsec > .grid{margin-top:0}
/* ── сравнение: подсказка о прокрутке и закреплённый первый столбец включаются
   только когда таблица РЕАЛЬНО шире контейнера (флаг data-cmp-scroll ставит скрипт
   на странице; чистого CSS для этого не хватает — на 700–760px таблица уже влезает). ── */
.pa-cmp-hint{display:none}
[data-cmp-scroll="1"] .pa-cmp-hint{display:block;font-size:13px;line-height:19.5px;color:#5F6E89;margin:0 0 8px}
[data-cmp-scroll="1"] .pa-cmp-tbl tbody th{position:sticky;left:0;z-index:2;box-shadow:1px 0 0 var(--line)}
[data-cmp-scroll="1"] .pa-cmp-tbl thead th:first-child{position:sticky;left:0;z-index:3;box-shadow:1px 0 0 var(--line)}
