/* ==========================================================================
   kredity — страница банка (single-kr_bank.php) и сравнение двух банков
   (single-kr_compare.php). Только раскладка этих двух страниц: компоненты
   лежат в components.css и здесь не переопределяются.

   Страница банка ...... .kr-bank-layout (__main), .kr-bank-head, .kr-bank-cta (__box __actions __note __toc),
                         .kr-bank-facts (__row __label __place __notes __foot), .kr-bank-prod (__row __name __state __fact __links),
                         .kr-bank-score (__total __pos __how __formula), .kr-bank-sched, .kr-bank-list, .kr-bank-pods,
                         .kr-bank-cmp-add, .kr-bank-req (__row), .kr-bank-reviews (__form __fields __wide __text)
   Расчёт по ставкам ... .kr-bcalc (--pair), __form, __banks (--2), __bank, __name, __alt, __diff, __legend
   Сравнение ........... .kr-vs-hero (__grid), .kr-vs-verdict (__list __row __label __who __text __total),
                         .kr-vs-banks, .kr-vs-bank, .kr-vs-table (--flat, __bank __actions), .kr-vs-score, .kr-vs-fine,
                         .kr-vs-who, .kr-vs-others
   ========================================================================== */

/* ---------- Каркас страницы банка: шапка, оценка с переходом, блоки ---------- */
/* Телефон: название → оценка и «На сайт» → блоки. От 1200px оценка уходит в боковую колонку и едет за страницей. */
.kr-bank-layout { display: flex; flex-direction: column; }
.kr-bank-layout > *, .kr-bank-layout__main > * { min-width: 0; }
.kr-bank-layout__main { display: contents; }
.kr-bank-head { order: 1; }
.kr-bank-cta { order: 2; }
.kr-bank-layout__main > * { order: 3; }
.kr-bank-block { scroll-margin-top: var(--kr-sp-16); }
.kr-bank-layout__main > .kr-bank-block:first-child { margin-top: var(--kr-sp-24); }
.kr-has-gobar { padding-bottom: calc(var(--kr-gobar-h) + var(--kr-sp-12)); }   /* полоса «На сайт» с подписью выше 72px */

.kr-bank-head { display: grid; grid-template-columns: var(--kr-logo-l) minmax(0, 1fr); gap: var(--kr-sp-12); align-items: center; }
/* на телефоне бейджи стоят справа от логотипа, заголовок и текст — на всю ширину */
.kr-bank-head__body { display: contents; }
.kr-bank-head__body > * { grid-column: 1 / -1; min-width: 0; }
.kr-bank-head__body > .kr-bank-head__tags { grid-column: 2; }
.kr-bank-head__tags { display: flex; flex-wrap: wrap; gap: var(--kr-sp-8); }
.kr-bank-head__meta { max-width: var(--kr-measure); font-size: var(--kr-fs-small); line-height: 1.55; color: var(--kr-text-muted); }
.kr-bank-head__meta .kr-num { font-size: 0.94em; }

.kr-bank-cta { display: grid; gap: var(--kr-sp-16); margin-top: var(--kr-sp-16); }
.kr-bank-cta__box { display: grid; gap: var(--kr-sp-12); padding: var(--kr-sp-16); background: var(--kr-surface); border: var(--kr-border-ink); }
.kr-bank-cta__label { font-size: var(--kr-fs-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-bank-cta__actions { display: grid; gap: var(--kr-sp-4); }
.kr-bank-cta__actions .kr-btn { width: 100%; }
.kr-bank-cta__go { display: none; }   /* на телефоне переход — в полосе внизу экрана (.kr-gobar) */
.kr-bank-cta__note { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); color: var(--kr-text-muted); }
.kr-bank-cta__toc { display: none; }

/* ---------- Главные цифры ---------- */
.kr-bank-facts__row { gap: var(--kr-sp-6); padding: var(--kr-sp-12) var(--kr-sp-16); border-bottom: var(--kr-border); }
.kr-bank-facts__label { display: grid; gap: var(--kr-sp-2); min-width: 0; }
.kr-bank-facts__place { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); color: var(--kr-text-muted); }
.kr-bank-facts__notes { display: grid; gap: var(--kr-sp-4); min-width: 0; }
.kr-bank-facts__foot { padding: var(--kr-sp-12) var(--kr-sp-16); font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }

/* ---------- Продукты банка ---------- */
.kr-bank-prod { background: var(--kr-surface); border: var(--kr-border-strong); }
.kr-bank-prod__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--kr-sp-4) var(--kr-sp-12); align-items: baseline; padding: var(--kr-sp-12) var(--kr-sp-16); border-bottom: var(--kr-border); }
.kr-bank-prod__row:last-child { border-bottom: 0; }
.kr-bank-prod__row--no { background: var(--kr-bg); }
.kr-bank-prod__name { font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-semibold); }
.kr-bank-prod__row--no .kr-bank-prod__name { font-weight: var(--kr-fw-regular); color: var(--kr-text-muted); }
.kr-bank-prod__state { display: inline-flex; align-items: center; gap: var(--kr-sp-4); font-size: var(--kr-fs-small); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); white-space: nowrap; }
.kr-bank-prod__state--yes { color: var(--kr-success); }
.kr-bank-prod__fact { grid-column: 1 / -1; font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); color: var(--kr-text-muted); }
.kr-bank-prod__fact .kr-num { font-size: var(--kr-fs-num); color: var(--kr-text); }
.kr-bank-prod__links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--kr-sp-4) var(--kr-sp-16); font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }
.kr-bank-prod__links a { display: inline-block; padding-block: var(--kr-sp-6); }

/* ---------- Оценка по критериям ---------- */
.kr-bank-score { display: grid; gap: var(--kr-sp-16); grid-template-columns: minmax(0, 1fr); }
.kr-bank-score > * { min-width: 0; }
.kr-bank-score__total { align-content: start; padding: var(--kr-sp-16); background: var(--kr-surface); border: var(--kr-border-ink); }
.kr-bank-score__pos { margin-top: var(--kr-sp-4); font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }
.kr-bank-score__how { grid-column: 1 / -1; font-size: var(--kr-fs-cond); line-height: 1.5; color: var(--kr-text-muted); }
.kr-bank-score__formula { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--kr-sp-4) var(--kr-sp-12); padding-top: var(--kr-sp-12); border-top: var(--kr-rule); margin-top: -1px; }
.kr-bank-score__formula .kr-caps { color: var(--kr-text-muted); }
.kr-bank-score__formula .kr-num { min-width: 0; font-weight: var(--kr-fw-num-strong); white-space: normal; word-spacing: normal; }

/* ---------- Расчёт по ставкам банка и пары ---------- */
.kr-bcalc__form { display: grid; gap: var(--kr-sp-16); min-width: 0; }
.kr-bcalc__banks { display: grid; gap: var(--kr-sp-16); grid-template-columns: minmax(0, 1fr); }
.kr-bcalc__bank { display: grid; gap: var(--kr-sp-4); min-width: 0; align-content: start; }
.kr-bcalc__bank + .kr-bcalc__bank { padding-top: var(--kr-sp-16); border-top: var(--kr-border); }
.kr-bcalc__bank[data-best] .kr-calc__total { color: var(--kr-accent); }
.kr-bcalc__name { display: flex; align-items: center; gap: var(--kr-sp-8); margin-bottom: var(--kr-sp-4); font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-semibold); }
.kr-bcalc__name a { color: var(--kr-text); text-decoration: none; }
.kr-bcalc__name a:hover { color: var(--kr-accent); text-decoration: underline; text-decoration-thickness: 1px; }
.kr-bcalc__alt { padding-top: var(--kr-sp-8); border-top: var(--kr-border); font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }
.kr-bcalc__alt .kr-num { font-size: inherit; font-weight: var(--kr-fw-num-strong); }
.kr-bcalc__diff { padding-top: var(--kr-sp-12); border-top: var(--kr-rule); font-size: var(--kr-fs-body); line-height: 1.4; font-weight: var(--kr-fw-semibold); }
.kr-bcalc__diff .kr-num { font-size: var(--kr-fs-num-m); font-weight: var(--kr-fw-num-strong); }
.kr-bcalc--pair .kr-calc__result { gap: var(--kr-sp-12); }
.kr-bcalc__legend { grid-template-columns: minmax(0, 1fr); }
.kr-bank-sched { margin-top: var(--kr-sp-16); scroll-margin-top: var(--kr-sp-16); }

/* ---------- Списки с меткой, подборки, сравнение, лицензия ---------- */
.kr-bank-list { display: grid; gap: var(--kr-sp-8); }
.kr-bank-list li { position: relative; padding-left: var(--kr-sp-16); }
.kr-bank-list li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 6px; height: 6px; background: var(--kr-line-strong); }

.kr-bank-pods { display: block; }
.kr-bank-pods .kr-links__group { break-inside: avoid; margin-bottom: var(--kr-sp-24); }
.kr-bank-pods .kr-links__group:last-child { margin-bottom: 0; }

.kr-bank-cmp-add { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--kr-sp-16); margin-top: var(--kr-sp-12); font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }

.kr-bank-req { border-top: var(--kr-border); max-width: 1040px; }
.kr-bank-req__row { display: grid; gap: var(--kr-sp-2) var(--kr-sp-16); padding: var(--kr-sp-12) 0; border-bottom: var(--kr-border); }
.kr-bank-req__row dt { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-bank-req__row dd { min-width: 0; font-size: var(--kr-fs-ui); line-height: 1.45; overflow-wrap: anywhere; }
.kr-bank-req__row dd .kr-num { font-size: var(--kr-fs-num); }

/* ---------- Отзывы: пустое состояние и форма ---------- */
.kr-bank-reviews { display: grid; gap: var(--kr-sp-16); max-width: 880px; }
.kr-bank-reviews__empty { line-height: 1.55; }
.kr-bank-reviews__form > summary { list-style: none; }
.kr-bank-reviews__form > summary::-webkit-details-marker { display: none; }
.kr-bank-reviews__form[open] > summary { margin-bottom: var(--kr-sp-16); }
.kr-bank-reviews__fields { display: grid; gap: var(--kr-sp-16); grid-template-columns: minmax(0, 1fr); }
.kr-bank-reviews__fields > * { min-width: 0; }
.kr-bank-reviews__text {
  display: block; width: 100%; min-height: 112px; padding: var(--kr-sp-8) var(--kr-sp-12);
  background: var(--kr-surface); border: var(--kr-border-strong); border-radius: var(--kr-r-1);
  font-size: var(--kr-fs-input); line-height: 1.5; resize: vertical; transition: border-color var(--kr-t);
}
.kr-bank-reviews__text:hover { border-color: var(--kr-line-ink); }
.kr-bank-reviews__text:focus-visible { border-color: var(--kr-accent); outline: 1px solid var(--kr-accent); outline-offset: 0; }
.kr-bank-reviews__fields .kr-btn { width: 100%; }

/* ==========================================================================
   Сравнение двух банков
   ========================================================================== */
.kr-vs-hero { display: grid; gap: var(--kr-sp-12); }
.kr-vs-hero .kr-lead .kr-num { font-size: 0.94em; font-weight: var(--kr-fw-num-strong); }
.kr-vs-hero__grid { display: grid; gap: var(--kr-gap); grid-template-columns: minmax(0, 1fr); margin-top: var(--kr-sp-8); }
.kr-vs-hero__grid > * { min-width: 0; }

.kr-vs-verdict__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--kr-sp-4) var(--kr-sp-12); align-items: baseline; padding: var(--kr-sp-12) var(--kr-sp-16); border-bottom: var(--kr-border); }
.kr-vs-verdict__label { font-size: var(--kr-fs-small); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-vs-verdict__who { display: inline-flex; align-items: center; gap: var(--kr-sp-4); font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-bold); color: var(--kr-accent-deep); white-space: nowrap; }
.kr-vs-verdict__who .kr-icon { stroke-width: 2; }
.kr-vs-verdict__who--none { color: var(--kr-text-muted); }
.kr-vs-verdict__text { grid-column: 1 / -1; font-size: var(--kr-fs-small); line-height: 1.5; }
.kr-vs-verdict__text .kr-num { font-size: var(--kr-fs-num); font-weight: var(--kr-fw-num-strong); }
.kr-vs-verdict__total { padding: var(--kr-sp-12) var(--kr-sp-16); background: var(--kr-bg-2); font-size: var(--kr-fs-small); line-height: 1.5; font-weight: var(--kr-fw-semibold); }

.kr-vs-banks { display: grid; gap: var(--kr-sp-12); grid-template-columns: minmax(0, 1fr); }
.kr-vs-banks > * { min-width: 0; }
.kr-vs-bank { display: grid; gap: var(--kr-sp-12); align-content: start; padding: var(--kr-sp-16); background: var(--kr-surface); border: var(--kr-border-strong); }
.kr-vs-bank__head { display: grid; grid-template-columns: var(--kr-logo-m) minmax(0, 1fr); gap: var(--kr-sp-12); align-items: center; }
.kr-vs-bank__name a { color: var(--kr-text); text-decoration: none; }
.kr-vs-bank__name a:hover { color: var(--kr-accent); text-decoration: underline; text-decoration-thickness: 1px; }
.kr-vs-bank__kind { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); color: var(--kr-text-muted); }
.kr-vs-bank__nums { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--kr-sp-4) var(--kr-sp-16); padding-block: var(--kr-sp-8); border-top: var(--kr-border); border-bottom: var(--kr-border); }
.kr-vs-bank__wins { font-size: var(--kr-fs-cond); color: var(--kr-text-muted); }
.kr-vs-bank__wins .kr-num { font-size: var(--kr-fs-num); font-weight: var(--kr-fw-num-strong); color: var(--kr-text); }
.kr-vs-bank__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--kr-sp-8); }
.kr-vs-banks__note { font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }

/* Таблица «рядом». Телефон: параметр — полоса на всю ширину, под ней значения двух банков в колонках. */
.kr-vs-table { display: block; }
.kr-vs-table thead, .kr-vs-table tbody { display: block; }
.kr-vs-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kr-vs-table thead th:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); padding: 0; min-width: 0; }
.kr-vs-table thead th, .kr-vs-table td { min-width: 0; overflow-wrap: anywhere; }
.kr-vs-table tbody th { grid-column: 1 / -1; padding-block: var(--kr-sp-8); border-bottom: 0; color: var(--kr-text); }
.kr-vs-table td:first-of-type { border-left: 0; }
.kr-vs-table td::before { content: attr(data-bank); display: block; margin-bottom: var(--kr-sp-4); font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-vs-table .kr-cmp__best { margin-left: 0; margin-right: var(--kr-sp-8); }
.kr-vs-table .kr-rate, .kr-vs-table .kr-score { margin-right: var(--kr-sp-8); }
/* в узкой колонке золотая плашка переносится на две строки */
.kr-vs-table .kr-max { height: auto; min-height: var(--kr-max-h); padding-block: 3px; line-height: 1.25; white-space: normal; vertical-align: middle; }
.kr-vs-table__bank { display: inline-flex; align-items: center; gap: var(--kr-sp-8); min-width: 0; }
.kr-vs-table__bank a { color: var(--kr-on-dark); text-decoration: none; }
.kr-vs-table__bank a:hover { color: var(--kr-on-dark); text-decoration: underline; text-decoration-thickness: 1px; }
.kr-vs-table thead :focus-visible { outline: var(--kr-focus-on-dark); }
.kr-vs-table__actions { display: grid; gap: var(--kr-sp-8); }
.kr-vs-table__actions .kr-btn { width: 100%; }
.kr-vs-table--flat tbody th .kr-cond { font-weight: var(--kr-fw-regular); }
.kr-vs-table--flat thead th { text-align: left; }

/* Оценка по критериям: два банка рядом */
.kr-vs-score { border-top: var(--kr-border); max-width: 1040px; }
.kr-vs-score__row { display: grid; gap: var(--kr-sp-6) var(--kr-sp-24); grid-template-columns: minmax(0, 1fr); padding: var(--kr-sp-12) 0; border-bottom: var(--kr-border); }
.kr-vs-score__crit { font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-semibold); }
.kr-vs-score__cell { display: grid; grid-template-columns: 96px minmax(0, 1fr) 40px; gap: var(--kr-sp-12); align-items: center; min-width: 0; font-size: var(--kr-fs-small); color: var(--kr-text-muted); }
.kr-vs-score__cell .kr-score__ball { text-align: right; font-weight: var(--kr-fw-num); }
.kr-vs-score__cell .kr-score__na { grid-column: 2 / -1; }
.kr-vs-score__cell--best { color: var(--kr-text); font-weight: var(--kr-fw-semibold); }
.kr-vs-score__cell--best .kr-score__ball { font-weight: var(--kr-fw-bold); }
.kr-vs-score__bank { min-width: 0; overflow-wrap: anywhere; }
.kr-vs-score__row--total { border-top: var(--kr-rule-double); border-bottom: 0; }
.kr-vs-score__note { max-width: 1040px; margin-top: var(--kr-sp-12); font-size: var(--kr-fs-cond); line-height: 1.5; color: var(--kr-text-muted); }

/* Условия построчно: два банка */
.kr-vs-fine td p + p { margin-top: var(--kr-sp-4); }
.kr-vs-fine__val { font-weight: var(--kr-fw-semibold); }
.kr-vs-fine .kr-table__src .kr-num { font-size: inherit; }
.kr-vs-fine tbody th { font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-semibold); }
.kr-bank-fine tbody th { font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-semibold); }

/* Кому что, другие сравнения */
.kr-vs-who .kr-bank-list { font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }
.kr-vs-others { display: grid; gap: var(--kr-sp-24) var(--kr-gap); grid-template-columns: minmax(0, 1fr); }
.kr-vs-others__group { min-width: 0; }
.kr-vs-others__cards { max-width: 110ch; margin-top: var(--kr-sp-16); font-size: var(--kr-fs-small); line-height: 1.55; color: var(--kr-text-muted); }

/* ==========================================================================
   От 768px
   ========================================================================== */
@media (min-width: 768px) {
  .kr-has-gobar { padding-bottom: 0; }
  .kr-bank-head { gap: var(--kr-sp-20); align-items: start; }
  .kr-bank-head__body { display: grid; gap: var(--kr-sp-12); min-width: 0; }
  .kr-bank-head__body > *, .kr-bank-head__body > .kr-bank-head__tags { grid-column: auto; }
  .kr-bank-cta__go { display: inline-flex; }
  .kr-bank-cta__box { grid-template-columns: minmax(0, 1fr) minmax(220px, 280px); column-gap: var(--kr-sp-24); align-items: center; }
  .kr-bank-cta__note { grid-column: 1 / -1; }

  .kr-bank-facts__row { grid-template-columns: minmax(0, 230px) minmax(0, 200px) minmax(0, 1fr); column-gap: var(--kr-sp-20); align-items: start; padding-block: var(--kr-sp-16); }
  .kr-bank-prod__row { grid-template-columns: minmax(0, 200px) 56px minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--kr-sp-16); }
  .kr-bank-prod__fact, .kr-bank-prod__links { grid-column: auto; }
  .kr-bank-prod__links { justify-content: flex-end; text-align: right; }
  .kr-bank-prod__links a { padding-block: 0; }
  .kr-bank-score { grid-template-columns: 240px minmax(0, 1fr); gap: var(--kr-sp-24); align-items: start; }

  .kr-bcalc__banks--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
  .kr-bcalc__banks--2 .kr-bcalc__bank { padding-right: var(--kr-sp-24); }
  .kr-bcalc__banks--2 .kr-bcalc__bank + .kr-bcalc__bank { padding: 0 0 0 var(--kr-sp-24); border-top: 0; border-left: var(--kr-border); }

  .kr-bank-pods { columns: 2; column-gap: var(--kr-gap); }
  .kr-bank-req__row { grid-template-columns: 260px minmax(0, 1fr); align-items: baseline; }
  .kr-bank-req__row dt { font-size: var(--kr-fs-small); }
  .kr-bank-reviews__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kr-bank-reviews__wide { grid-column: 1 / -1; }
  .kr-bank-reviews__fields .kr-btn { width: auto; }
  .kr-bank-fine tbody th, .kr-vs-fine tbody th { width: 210px; text-align: left; }
  .kr-bank-fine .kr-dtable__num { white-space: nowrap; }

  .kr-vs-verdict__row { grid-template-columns: 170px 150px minmax(0, 1fr); column-gap: var(--kr-sp-16); }
  .kr-vs-verdict__text { grid-column: auto; }
  .kr-vs-banks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kr-vs-banks__note { grid-column: 1 / -1; }

  .kr-vs-table { display: table; }
  .kr-vs-table thead { display: table-header-group; }
  .kr-vs-table tbody { display: table-row-group; }
  .kr-vs-table tr { display: table-row; }
  .kr-vs-table thead th:first-child { position: static; width: 240px; height: auto; overflow: visible; clip: auto; padding: var(--kr-sp-12); }
  .kr-vs-table tbody th { width: 240px; padding-block: var(--kr-sp-12); border-bottom: var(--kr-border); color: var(--kr-text-muted); text-align: left; }
  .kr-vs-table td:first-of-type { border-left: var(--kr-border); }
  .kr-vs-table td::before { content: none; }
  .kr-vs-table__actions { grid-template-columns: repeat(2, minmax(0, 150px)); }

  .kr-vs-score__row { grid-template-columns: 260px repeat(2, minmax(0, 1fr)); align-items: center; }
}

/* ==========================================================================
   От 1200px
   ========================================================================== */
@media (min-width: 1200px) {
  .kr-bank-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--kr-aside-w); column-gap: var(--kr-gap); align-items: start; }
  .kr-bank-head { grid-column: 1; grid-row: 1; }
  .kr-bank-layout__main { display: block; grid-column: 1; grid-row: 2; }
  .kr-bank-cta { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: var(--kr-sp-16); margin-top: 0; max-height: calc(100vh - var(--kr-sp-32)); overflow-y: auto; }
  .kr-bank-cta__box { grid-template-columns: minmax(0, 1fr); }
  .kr-bank-cta__toc { display: block; }
  .kr-bank-cta__toc-title { padding-top: var(--kr-sp-12); border-top: var(--kr-rule); margin-bottom: var(--kr-sp-4); color: var(--kr-text-muted); }
  .kr-bank-cta__toc a { display: block; padding: var(--kr-sp-6) 0; border-bottom: var(--kr-border); font-size: var(--kr-fs-small); line-height: 1.35; color: var(--kr-text); text-decoration: none; }
  .kr-bank-cta__toc a:hover { color: var(--kr-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

  .kr-bcalc--pair .kr-calc__body { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--kr-sp-32); align-items: start; }
  .kr-bcalc--pair .kr-calc__fields { grid-template-columns: minmax(0, 1fr); }
  .kr-bcalc--pair .kr-calc__result { margin-top: 0; padding: 0 0 0 var(--kr-sp-32); border-top: 0; border-left: var(--kr-rule); }

  .kr-vs-hero__grid { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); align-items: start; }
  .kr-vs-banks { grid-template-columns: minmax(0, 1fr); }
  .kr-vs-others { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kr-vs-others .kr-pairs { grid-template-columns: minmax(0, 1fr); }
}
