/* =========================================================
   v2.1 additions — Поток 2 (A–N)
   Подключается после остальных модулей в index.css.
   ========================================================= */

/* ── Hint / chips utility ─────────────────────────────────── */
.kz-card__head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:12px; }
.kz-card__title { font-size:14px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--text-2); margin:0; }
.kz-card__hint  { font-size:12px; color:var(--text-3); }
.spacer { flex:1; }

/* ── A. OLX match (.kz-olx) ───────────────────────────────── */
.kz-olx { padding:18px; display:flex; flex-direction:column; gap:14px; }
.kz-olx__head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.kz-olx__conf { font-size:11px; font-weight:700; color:var(--text-3); text-transform:uppercase; letter-spacing:.06em; }
.kz-olx__body { display:grid; grid-template-columns:56px 1fr; gap:12px; align-items:center; }
.kz-olx__avatar { width:56px; height:56px; border-radius:14px; object-fit:cover; background:var(--surface-2); }
.kz-olx__name { display:flex; align-items:center; gap:6px; font-weight:700; font-size:15px; color:var(--text); }
.kz-olx__verified { flex:none; }
.kz-olx__meta { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--text-2); flex-wrap:wrap; margin-top:2px; }
.kz-olx__rating { display:inline-flex; align-items:center; gap:4px; font-weight:600; }
.kz-olx__dot { color:var(--text-3); }
.kz-olx__since { font-size:12px; color:var(--text-3); margin-top:2px; }
.kz-olx__reasons { list-style:none; margin:0; padding:10px 12px; background:var(--surface-2); border-radius:10px; display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--text-2); }
.kz-olx__reasons li { display:flex; align-items:center; gap:8px; }
.kz-olx__cta { align-self:flex-start; }
.kz-olx__empty { color:var(--text-3); font-size:13px; margin:0; padding:8px 0; }
.kz-olx--possible { border-style:dashed; }

/* ── B. Related numbers (.kz-related) ─────────────────────── */
.kz-related { padding:18px; }
.kz-related__list { list-style:none; margin:0 0 10px; padding:0; display:flex; flex-direction:column; gap:6px; }
.kz-related__item { display:grid; grid-template-columns:8px auto 1fr; gap:10px; align-items:center; padding:8px 10px; border-radius:10px; transition:background .12s; }
.kz-related__item:hover { background:var(--surface-2); }
.kz-related__verdict { width:8px; height:8px; border-radius:50%; }
.kz-related__verdict--spam { background:var(--verdict-spam); }
.kz-related__verdict--debt, .kz-related__verdict--warn { background:var(--verdict-warn); }
.kz-related__verdict--ad { background:var(--verdict-ad, oklch(.7 .14 270)); }
.kz-related__verdict--safe, .kz-related__verdict--useful { background:var(--verdict-safe); }
.kz-related__num { font-family:var(--font-mono); font-weight:700; font-size:14px; color:var(--text); text-decoration:none; }
.kz-related__num:hover { color:var(--brand-700); }
.kz-related__note { font-size:12px; color:var(--text-3); justify-self:end; }

/* ── C. Phone info (.kz-phoneinfo) + Schema.org ───────────── */
.kz-phoneinfo { padding:18px; }
.kz-phoneinfo__grid { margin:0; display:grid; grid-template-columns:1fr; gap:0; }
.kz-phoneinfo__row { display:grid; grid-template-columns:120px 1fr; gap:12px; padding:10px 0; border-bottom:1px solid var(--border); align-items:baseline; }
.kz-phoneinfo__row:last-child { border-bottom:0; }
.kz-phoneinfo__row dt { color:var(--text-3); font-size:13px; }
.kz-phoneinfo__row dd { margin:0; font-size:14px; color:var(--text); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.kz-phoneinfo__num { font-family:var(--font-mono); font-weight:700; }
.kz-phoneinfo__op { display:inline-flex; align-items:center; gap:6px; }
.kz-phoneinfo__op img { border-radius:4px; }
.kz-phoneinfo__actions { display:flex; gap:8px; margin-top:14px; }
.kz-flag { display:inline-block; width:18px; height:13px; border-radius:2px; background:linear-gradient(180deg, var(--brand-500) 50%, oklch(.92 .12 100) 50%); }
.kz-flag--ua { background:linear-gradient(180deg, oklch(.55 .15 240) 50%, oklch(.85 .14 95) 50%); }

/* ── D. Tag cloud (.kz-cloud) ─────────────────────────────── */
.kz-cloud { padding:18px; }
.kz-cloud__list { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px 10px; align-items:baseline; }
.kz-cloud__tag { display:inline-flex; align-items:baseline; gap:4px; text-decoration:none; font-weight:600; color:var(--text-2); padding:4px 10px; border-radius:var(--r-pill); background:var(--surface-2); transition:all .12s; }
.kz-cloud__tag:hover { background:var(--brand-50); color:var(--brand-700); }
.kz-cloud__tag[data-size="1"] { font-size:12px; }
.kz-cloud__tag[data-size="2"] { font-size:14px; }
.kz-cloud__tag[data-size="3"] { font-size:16px; }
.kz-cloud__tag[data-size="4"] { font-size:18px; font-weight:700; color:var(--text); }
.kz-cloud__tag[data-size="5"] { font-size:22px; font-weight:800; color:var(--text); background:var(--brand-50); }
.kz-cloud__count { font-size:11px; color:var(--text-3); font-weight:600; }

/* ── F. Reply composer (.kz-composer--reply) ──────────────── */
.kz-composer--reply { margin:8px 0 12px 56px; padding:14px; background:var(--surface-2); box-shadow:none; border-radius:var(--r-lg); }
.kz-composer--reply .kz-textarea { min-height:60px; }
@media (max-width:560px) { .kz-composer--reply { margin-left:32px; } }

/* ── H. Notifications (.kz-notif) ─────────────────────────── */
.kz-notifs { display:flex; flex-direction:column; gap:4px; margin-bottom:24px; }
.kz-notif { display:grid; grid-template-columns:36px 1fr auto; gap:14px; align-items:center; padding:14px 16px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); text-decoration:none; transition:border-color .12s, transform .12s; }
.kz-notif:hover { border-color:var(--border-strong); transform:translateY(-1px); }
.kz-notif.is-unread { background:color-mix(in oklch, var(--brand-50) 50%, var(--surface)); border-color:color-mix(in oklch, var(--brand-500) 25%, var(--border)); }
.kz-notif__icon { width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:var(--surface-2); color:var(--text-2); }
.kz-notif__icon--reply  { background:color-mix(in oklch, var(--brand-500) 12%, var(--surface)); color:var(--brand-700); }
.kz-notif__icon--upvote { background:var(--verdict-safe-bg); color:var(--verdict-safe); }
.kz-notif__icon--system { background:var(--verdict-warn-bg); color:var(--verdict-warn-ink, var(--verdict-warn)); }
.kz-notif__main { display:flex; flex-direction:column; gap:2px; min-width:0; }
.kz-notif__title { font-weight:600; color:var(--text); font-size:14px; }
.kz-notif__body { font-size:13px; color:var(--text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kz-notif__ago { font-size:12px; color:var(--text-3); }
.kz-notif__dot { width:8px; height:8px; border-radius:50%; background:var(--brand-500); flex:none; }

/* ── I. Permalink page ────────────────────────────────────── */
.kz-breadcrumbs { font-size:13px; color:var(--text-3); display:flex; align-items:center; gap:8px; margin-bottom:18px; }
.kz-breadcrumbs a { color:var(--text-2); text-decoration:none; }
.kz-breadcrumbs a:hover { color:var(--brand-700); }
.kz-breadcrumbs__sep { color:var(--text-3); }
.kz-permalink { max-width:720px; }
.kz-permalink__head { margin-bottom:18px; }
.kz-permalink__num { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-weight:700; color:var(--brand-700); text-decoration:none; padding:6px 12px; background:var(--brand-50); border-radius:var(--r-pill); font-size:14px; }
.kz-permalink__title { font-size:24px; font-weight:800; letter-spacing:-.02em; margin:12px 0 0; }
.kz-permalink__thread-title { font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-3); margin:32px 0 14px; }
.kz-permalink__cta { margin-top:32px; padding-top:20px; border-top:1px solid var(--border); display:flex; justify-content:center; }

/* ── J. Push banner (.kz-pushban) ─────────────────────────── */
.kz-pushban {
  position: fixed; right: 20px; bottom: 20px;
  width: 360px; max-width: calc(100vw - 40px);
  display: grid;
  grid-template-columns: 36px 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px; row-gap: 10px;
  padding: 16px 18px 14px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-xl); box-shadow: var(--shadow-lg);
  z-index: 60;
  animation: kz-pushban-in .35s var(--ease-out);
}
.kz-pushban[hidden] { display: none; }
@keyframes kz-pushban-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.kz-pushban__close { position:absolute; top:6px; right:8px; width:22px; height:22px; border:0; background:transparent; color:var(--text-3); font-size:18px; cursor:pointer; line-height:1; }
.kz-pushban__close:hover { color:var(--text); }
.kz-pushban__icon { grid-row: 1; grid-column: 1; width:36px; height:36px; border-radius:10px; background:var(--brand-50); color:var(--brand-700); display:grid; place-items:center; }
.kz-pushban__main { grid-row: 1; grid-column: 2; display:flex; flex-direction:column; gap:2px; min-width:0; }
.kz-pushban__title { font-size:14px; font-weight:700; color:var(--text); line-height: 1.3; }
.kz-pushban__sub { font-size:12px; color:var(--text-2); line-height: 1.4; }
.kz-pushban [data-subscribe] { grid-row: 2; grid-column: 1 / -1; justify-self: stretch; }
@media (max-width:520px) { .kz-pushban { left:12px; right:12px; width:auto; } }

/* ── K. Search results page ──────────────────────────────── */
.kz-page { padding:28px 0 80px; }
.kz-page__head { margin-bottom:20px; display:flex; flex-direction:column; gap:6px; }
.kz-page__head .kz-page__actions { display:flex; gap:8px; align-items:center; }
.kz-page__title { font-size:28px; font-weight:800; letter-spacing:-.02em; margin:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.kz-page__sub { color:var(--text-2); margin:0; font-size:14px; }
.kz-kbd { font-family:var(--font-mono); background:var(--surface-2); padding:2px 8px; border-radius:6px; font-size:.85em; }
.kz-search-results { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.kz-search-results__item { padding:16px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); display:grid; grid-template-columns:auto auto 1fr; grid-template-areas:"num verdict ." "excerpt excerpt excerpt" "meta meta meta"; gap:6px 12px; align-items:center; }
.kz-search-results__num { grid-area:num; font-family:var(--font-mono); font-weight:700; font-size:16px; color:var(--text); text-decoration:none; }
.kz-search-results__num:hover { color:var(--brand-700); }
.kz-search-results__num mark, .kz-search-results__excerpt mark { background:var(--brand-50); color:var(--brand-700); padding:0 2px; border-radius:3px; }
.kz-search-results__verdict { grid-area:verdict; }
.kz-search-results__excerpt { grid-area:excerpt; margin:4px 0 0; font-size:14px; color:var(--text-2); line-height:1.5; }
.kz-search-results__meta { grid-area:meta; font-size:12px; color:var(--text-3); }

/* ── L. 404 ───────────────────────────────────────────────── */
.kz-notfound { text-align:center; padding:80px 20px; }
.kz-notfound__code { font-size:140px; font-weight:800; line-height:1; letter-spacing:-.04em; background:linear-gradient(135deg, var(--brand-500), var(--brand-700)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.kz-notfound__title { font-size:32px; font-weight:800; margin:12px 0 6px; letter-spacing:-.02em; }
.kz-notfound__sub { color:var(--text-2); margin:0 0 28px; font-size:15px; }
.kz-bigsearch { display:flex; align-items:center; gap:10px; padding:8px 8px 8px 18px; max-width:560px; margin:0 auto 18px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-pill); box-shadow:var(--shadow-md); }
.kz-bigsearch__icon { color:var(--text-3); flex:none; }
.kz-bigsearch input { flex:1; border:0; background:transparent; outline:0; font:inherit; font-size:16px; color:var(--text); min-width:0; }
.kz-notfound__suggest { display:flex; align-items:center; flex-wrap:wrap; gap:8px; justify-content:center; }
.kz-suggest__chip { display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border:1px solid var(--border); border-radius:var(--r-pill); background:var(--surface); text-decoration:none; color:var(--text); font-size:13px; }
.kz-suggest__chip:hover { border-color:var(--border-strong); }

/* ── M. Topbar settings icon ──────────────────────────────── */
.kz-topbar__settings { width:40px; height:40px; padding:0; display:inline-grid; place-items:center; border-radius:50%; background:transparent; border:0; color:var(--text-2); cursor:pointer; transition:background .12s, color .12s; }
.kz-topbar__settings:hover { background:var(--surface-2); color:var(--text); }
.kz-topbar__settings[aria-expanded="true"] { background:var(--brand-50); color:var(--brand-700); }
.kz-settings-menu { position:absolute; top:calc(100% + 8px); right:0; min-width:240px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-lg); padding:8px; display:none; z-index:40; }
.kz-settings-menu[data-open="true"] { display:block; }
.kz-settings-menu__row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; border-radius:8px; font-size:14px; }
.kz-settings-menu__row:hover { background:var(--surface-2); }
.kz-settings-menu__sep { height:1px; background:var(--border); margin:6px 0; }

/* ── N. Catalog grid ─────────────────────────────────────── */
.kz-catalog { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:14px; }
.kz-catcard { display:flex; flex-direction:column; gap:4px; padding:16px 18px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); text-decoration:none; position:relative; overflow:hidden; transition:transform .12s, border-color .12s, box-shadow .12s; }
.kz-catcard::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--text-3); }
.kz-catcard--spam::before  { background:var(--verdict-spam); }
.kz-catcard--debt::before, .kz-catcard--warn::before { background:var(--verdict-warn); }
.kz-catcard--ad::before    { background:var(--verdict-ad, oklch(.7 .14 270)); }
.kz-catcard--safe::before, .kz-catcard--useful::before { background:var(--verdict-safe); }
.kz-catcard:hover { transform:translateY(-1px); border-color:var(--border-strong); box-shadow:var(--shadow-md); }
.kz-catcard__num { font-family:var(--font-mono); font-weight:700; font-size:16px; color:var(--text); }
.kz-catcard__verdict { font-weight:600; font-size:14px; color:var(--text); }
.kz-catcard__sub { font-size:12px; color:var(--text-3); }

/* ── Score list slot (drift fix) ─────────────────────────── */
.kz-score__list { display:flex; flex-direction:column; gap:6px; }

/* ── Sidebar (drift fix) ─────────────────────────────────── */
.kz-sidebar { display:flex; flex-direction:column; gap:16px; position:sticky; top:88px; align-self:start; }
@media (max-width:920px) { .kz-sidebar { position:static; } }

/* ── Searchpill go-button (drift fix) ────────────────────── */
.kz-searchpill__go { width:28px; height:28px; border-radius:50%; background:var(--brand-500); color:#fff; border:0; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; flex:none; transition:background .12s; }
.kz-searchpill__go:hover { background:var(--brand-700); }
.kz-searchpill__lead { color:var(--text-3); flex:none; }
.kz-searchpill--sm { padding:6px 10px; min-height:32px; font-size:13px; }

/* ── Empty state shared ──────────────────────────────────── */
.kz-empty { padding:48px 20px; text-align:center; border:1px dashed var(--border); border-radius:var(--r-lg); }
.kz-empty__title { margin:0 0 6px; font-size:18px; font-weight:800; }
.kz-empty__msg { margin:0; color:var(--text-2); font-size:14px; max-width:42ch; margin-inline:auto; }

/* ── Sidebar recents (last comments / viewed / searches) ── */
.kz-recent { padding:16px 18px; }
.kz-recent__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.kz-recent__list--compact .kz-recent__item { padding:8px 0; }
.kz-recent__item {
  display:grid; grid-template-columns:1fr auto; gap:4px 10px;
  padding:10px 0; border-bottom:1px solid var(--border);
  position:relative;
}
.kz-recent__item:last-child { border-bottom:0; }
.kz-recent__item::before {
  content:""; position:absolute; left:-18px; top:14px; bottom:14px; width:3px; border-radius:0 2px 2px 0;
  background:var(--text-3);
}
.kz-recent__item--spam::before   { background:var(--verdict-spam); }
.kz-recent__item--debt::before   { background:var(--verdict-debt); }
.kz-recent__item--ad::before     { background:var(--verdict-ad); }
.kz-recent__item--useful::before,
.kz-recent__item--safe::before   { background:var(--verdict-safe, oklch(.65 .15 155)); }
.kz-recent__num {
  font-family:var(--font-mono); font-weight:700; font-size:13px;
  color:var(--brand-700); text-decoration:none;
  grid-column:1; grid-row:1;
}
.kz-recent__num:hover { text-decoration:underline; }
.kz-recent__time {
  grid-column:2; grid-row:1; font-size:11px; color:var(--text-3);
  text-align:right; white-space:nowrap;
}
.kz-recent__snippet {
  grid-column:1 / -1; grid-row:2; margin:0;
  font-size:13px; line-height:1.45; color:var(--text-2);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.kz-recent__verdict {
  grid-column:1; grid-row:2; font-size:11px; color:var(--text-3);
  text-transform:uppercase; letter-spacing:.04em; font-weight:700;
}
.kz-card__more {
  font-size:12px; font-weight:700; text-decoration:none; color:var(--brand-700);
  text-transform:uppercase; letter-spacing:.04em;
}
.kz-card__more:hover { text-decoration:underline; }
.kz-card__more--btn { background:transparent; border:0; cursor:pointer; padding:0; font-family:inherit; }
.kz-card__hint { font-size:11px; color:var(--text-3); text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.kz-recent__empty { margin:0; padding:18px 0; color:var(--text-3); font-size:13px; text-align:center; }
.kz-recent__chips { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.kz-recent__chip {
  display:inline-flex; align-items:center; gap:6px;
  text-decoration:none; padding:5px 10px;
  border:1px solid var(--border); border-radius:var(--r-pill);
  font-family:var(--font-mono); font-size:12px; font-weight:600;
  color:var(--text); background:var(--surface);
  transition:border-color .12s, background .12s;
}
.kz-recent__chip:hover { border-color:var(--brand-500); background:var(--brand-50); color:var(--brand-700); }
.kz-recent__chip-count {
  font-family:var(--font-sans); font-weight:700; font-size:10px;
  color:var(--text-3); background:var(--surface-2);
  padding:1px 6px; border-radius:var(--r-pill);
}

/* ── Contact card "Как связаться?" ────────────────────────── */
.kz-contact { padding:18px; }
.kz-contact__lead { margin:0 0 14px; color:var(--text-2); font-size:13px; line-height:1.5; }
.kz-contact__list { list-style:none; margin:0 0 14px; padding:0; display:flex; flex-direction:column; gap:10px; }
.kz-contact__row {
  display:grid; grid-template-columns:28px 1fr; grid-template-rows:auto auto; gap:0 10px;
  align-items:center;
}
.kz-contact__icon {
  grid-row:1 / span 2; width:28px; height:28px; border-radius:50%;
  display:inline-grid; place-items:center;
  background:var(--brand-50); color:var(--brand-700);
}
.kz-contact__link { grid-column:2; grid-row:1; font-weight:600; color:var(--text); text-decoration:none; word-break:break-all; }
.kz-contact__link:hover { color:var(--brand-700); text-decoration:underline; }
.kz-contact__hint { grid-column:2; grid-row:2; font-size:11px; color:var(--text-3); }
.kz-contact__cta { display:flex; gap:8px; padding-top:12px; border-top:1px solid var(--border); }

/* ── Filterbar ────────────────────────────────────────────── */
.kz-filterbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:10px 12px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); margin-bottom:18px; }
.kz-filterbar__group { display:inline-flex; flex-wrap:wrap; gap:6px; }
.kz-select--sm { padding:6px 28px 6px 10px; font-size:13px; }
/* === Bridge: Design partials use .kz-card; we have .card. Same shape, alias here. === */
.kz-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--pad-card);
}


/* === Global button reset (matches DS v2 02-base.css) ===
   Required so kz-vote / kz-bell / kz-burger / kz-themetoggle / kz-langpill /
   kz-pushban__close / kz-card__more--btn / kz-pager .nav etc. don't render
   with native browser button chrome (gray bg, beveled border).
   Bootstrap .btn rules are more specific (`.btn { background-color: ... }`)
   and still win for legacy buttons. */
button {
  font-family: inherit;
  cursor: pointer;
  border: 0;
  background: none;
  color: inherit;
  padding: 0;
}

/* === Drop legacy dot-grid background (custom.css L82) === */
body { background: var(--bg) !important; }

/* === Pager: ensure block-level (was collapsing to 0 width inside col-md-8) === */
nav.kz-pager { width: 100%; }
/* === Pager BEM aliases (bundle's partial uses kz-pager__nav etc) === */
.kz-pager__nav  { border: 1px solid var(--border); border-radius: var(--r-md);
                  display: inline-grid; place-items: center; min-width: 38px; height: 38px;
                  padding: 0 10px; font-size: 14px; font-weight: 600; color: var(--text-2);
                  text-decoration: none; transition: background .12s, color .12s; }
.kz-pager__nav:hover { background: var(--surface-2); color: var(--text); }
.kz-pager__nav[aria-disabled="true"] { opacity: .45; pointer-events: none; }
.kz-pager__page { display: inline-grid; place-items: center;
                  min-width: 38px; height: 38px; padding: 0 10px;
                  border-radius: var(--r-md); font-size: 14px; font-weight: 600;
                  color: var(--text-2); text-decoration: none;
                  transition: background .12s, color .12s; }
.kz-pager__page:hover { background: var(--surface-2); color: var(--text); }
.kz-pager__cur { display: inline-grid; place-items: center;
                 min-width: 38px; height: 38px; padding: 0 10px;
                 border-radius: var(--r-md); font-size: 14px; font-weight: 700;
                 background: var(--brand-500); color: #fff;
                 box-shadow: 0 6px 14px -8px var(--brand-500); }
.kz-pager__ell { color: var(--text-3); pointer-events: none; padding: 0 6px; }

/* === Verdict number: responsive font-size to keep on one line in 2/3 grid column === */
.kz-verdict__number {
  font-size: clamp(22px, 2.5vw, 34px) !important;
  white-space: nowrap;
  letter-spacing: 0;
}

/* === Number page two-row layout (Phase 15a) ===
   Top row: verdict+score full width.
   Bottom row: main content (2/3) | sidebar (1/3).
   Replaces Bootstrap row + col-md-8/4 for /nomer/X. */
.kz-numpage {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.kz-numpage__top  { grid-column: 1 / -1; }
.kz-numpage__main { min-width: 0; }
.kz-numpage__side { min-width: 0; }
@media (min-width: 992px) {
  .kz-numpage {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    grid-template-areas: "top  top" "main side";
    column-gap: 30px;
  }
  .kz-numpage__top  { grid-area: top; }
  .kz-numpage__main { grid-area: main; }
  .kz-numpage__side { grid-area: side; }
}
