/* 2KAD — витрина ГКО Тверской области 2026
 *
 * Правила с префиксом .gko-page — обязательны. Витрина вставляется в контент
 * страницы WordPress рядом с шапкой и подвалом темы 2kads, и «голые» селекторы
 * (h1, section, a, p) бьют по ним. Тема сама печатает <h1> страницы — общий
 * h1{max-width} ломал его на четыре строки, поэтому заголовок стилюется
 * только внутри .hero.
 */
.gko-page{
  color:var(--c-ink);
  font-family:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:16px; line-height:1.6; font-weight:400;
}
:root{
  --c-red:#cc2c2c; --c-red-deep:#a51d1d; --c-red-darker:#7a1414;
  --c-ink:#18181b; --c-ink-2:#2a2a30; --c-muted:#6b7280; --c-line:#e5e7eb;
  --c-bg-soft:#fafafa; --c-bg-warm:#fef7f7;
  --wrap:1200px;
}
.gko-page *{box-sizing:border-box}
.gko-page .wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}
.gko-page a{color:var(--c-red); text-decoration:none}
.gko-page a:hover{color:var(--c-red-deep)}

/* Hero */
.gko-page .hero{
  background:linear-gradient(180deg,var(--c-bg-warm) 0%,#fff 100%);
  border-bottom:1px solid var(--c-line); border-radius:12px; padding:34px 0 38px;
}
.gko-page .crumbs{margin:0 0 20px; font-size:13px; color:var(--c-muted)}
.gko-page .crumbs a{color:var(--c-muted); font-weight:600}
.gko-page .crumbs a:hover{color:var(--c-red)}
.gko-page .eyebrow{
  display:inline-block; background:var(--c-red); color:#fff; font-size:12px;
  font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  padding:6px 12px; border-radius:999px; margin-bottom:16px;
}
.gko-page .hero h1{
  font-size:clamp(28px,4.4vw,46px); line-height:1.12; font-weight:800;
  margin:0 0 14px; letter-spacing:-.02em; max-width:19ch;
}
.gko-page .lead{
  font-size:clamp(15px,1.9vw,19px); color:var(--c-ink-2); max-width:62ch;
  margin:0 0 20px; font-weight:400;
}
.gko-page .lead-xl{font-size:clamp(16px,2.1vw,21px); max-width:70ch; margin-bottom:22px}
.gko-page .deadline{
  display:inline-flex; align-items:center; gap:10px; background:#fff;
  border:1px solid #f2c9c9; border-left:4px solid var(--c-red);
  border-radius:8px; padding:12px 16px; font-size:14px; font-weight:600;
  box-shadow:0 1px 2px rgba(24,24,27,.05);
}
.gko-page .deadline b{color:var(--c-red)}

/* Сетка метрик */
.gko-page .metrics{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--c-line); border:1px solid var(--c-line); border-radius:12px;
  overflow:hidden; margin:28px 0 0;
}
.gko-page .metric{background:#fff; padding:20px 20px 18px}
.gko-page .metric-val{font-size:clamp(22px,3vw,31px); font-weight:800; line-height:1.05; letter-spacing:-.02em}
.gko-page .metric-lab{font-size:12.5px; color:var(--c-muted); margin-top:6px; font-weight:600; letter-spacing:.01em}
.gko-page .metric-sub{font-size:12px; color:#9aa0a8; margin-top:3px}

/* Секции */
.gko-page section{padding:44px 0}
.gko-page section + section{border-top:1px solid var(--c-line)}
.gko-page h2{font-size:clamp(21px,2.7vw,29px); font-weight:800; margin:0 0 10px; letter-spacing:-.015em}
.gko-page h3{font-size:17px; font-weight:700; margin:0 0 8px}
.gko-page .sub{color:var(--c-muted); font-size:15px; margin:0 0 22px; max-width:66ch}
.gko-page p{margin:0 0 14px}

/* Карточки-ссылки */
.gko-page .cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px}
.gko-page .card{
  display:flex; flex-direction:column; border:1px solid var(--c-line); border-radius:12px; padding:20px;
  color:inherit; background:#fff; transition:border-color .15s, box-shadow .15s, transform .15s;
}
.gko-page .card:hover{border-color:#f0b8b8; box-shadow:0 4px 18px rgba(204,44,44,.08); transform:translateY(-2px); color:inherit}
.gko-page .card h3{margin-bottom:6px}
.gko-page .card p{font-size:13.5px; color:var(--c-muted); margin:0}
.gko-page .card-ico{
  width:38px; height:38px; border-radius:9px; background:var(--c-bg-warm);
  display:grid; place-items:center; margin-bottom:13px; color:var(--c-red);
}

/* Подписанная кнопка внутри карточки: прижата к низу, чтобы карточки в сетке
   выравнивались по кнопке, а не по длине текста */
.gko-page .card-btn{
  display:inline-block; margin-top:16px; align-self:flex-start;
  font-size:13px; font-weight:700; line-height:1.2; text-decoration:none;
  color:var(--c-red); background:var(--c-bg-warm);
  border:1px solid #f3d3d3; border-radius:8px; padding:8px 13px;
  transition:background .15s, border-color .15s, color .15s;
}
.gko-page .card-btn::after{content:" →"; font-weight:400}
.gko-page .card-btn:hover{background:var(--c-red); border-color:var(--c-red); color:#fff}

/* Таблица */
.gko-page .tbl-wrap{overflow-x:auto; border:1px solid var(--c-line); border-radius:12px; background:#fff}
.gko-page table{border-collapse:collapse; width:100%; font-size:13.5px; min-width:720px}
.gko-page thead th{
  position:sticky; top:0; background:var(--c-ink); color:#fff; text-align:left;
  padding:11px 13px; font-weight:700; font-size:12px; letter-spacing:.04em;
  text-transform:uppercase; white-space:nowrap; cursor:pointer; user-select:none;
}
.gko-page thead th:hover{background:var(--c-ink-2)}
.gko-page thead th.sorted{background:var(--c-red-deep)}
.gko-page tbody td{padding:9px 13px; border-top:1px solid var(--c-line); white-space:nowrap}
.gko-page tbody tr:hover{background:var(--c-bg-soft)}
.gko-page td.num, .gko-page th.num{text-align:right; font-variant-numeric:tabular-nums}
.gko-page .bar-cell{min-width:190px; white-space:nowrap}
.gko-page .bar{height:7px; background:var(--c-bg-warm); border-radius:4px; overflow:hidden; display:inline-block; width:150px; vertical-align:middle}
.gko-page .bar i{display:block; height:100%; background:linear-gradient(90deg,var(--c-red),var(--c-red-deep))}
.gko-page .pill{display:inline-block; font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; background:var(--c-bg-warm); color:var(--c-red-deep); border:1px solid #f5d9d9}
.gko-page .pill.city{background:#eef2ff; color:#3730a3; border-color:#dde3fb}

/* Панель инструментов */
.gko-page .tools{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:14px}
.gko-page input[type=search], .gko-page select{
  font-family:inherit; font-size:14px; padding:9px 12px; border:1px solid var(--c-line);
  border-radius:8px; background:#fff; color:var(--c-ink); min-width:230px;
}
.gko-page input[type=search]:focus, .gko-page select:focus{outline:2px solid #f5c6c6; outline-offset:1px; border-color:var(--c-red)}
.gko-page .btn{
  font-family:inherit; font-size:14px; font-weight:700; padding:9px 16px; border-radius:8px;
  border:1px solid var(--c-red); background:var(--c-red); color:#fff; cursor:pointer;
  display:inline-block; text-decoration:none; line-height:1.35;
}
.gko-page .btn:hover{background:var(--c-red-deep); border-color:var(--c-red-deep); color:#fff}
.gko-page .btn.ghost{background:#fff; color:var(--c-red)}
.gko-page .btn.ghost:hover{background:var(--c-bg-warm)}
.gko-page .count{font-size:13px; color:var(--c-muted); margin-left:auto}

/* Корзины */
.gko-page .buckets{display:grid; grid-template-columns:repeat(6,1fr); gap:10px}
.gko-page .bucket{border:1px solid var(--c-line); border-radius:10px; padding:14px 12px; background:#fff}
.gko-page .bucket-val{font-size:19px; font-weight:800; letter-spacing:-.01em}
.gko-page .bucket-lab{font-size:11.5px; color:var(--c-muted); margin-top:4px; font-weight:600}
.gko-page .bucket-bar{height:5px; border-radius:3px; margin-top:9px; background:var(--c-bg-warm); overflow:hidden}
.gko-page .bucket-bar i{display:block; height:100%; background:var(--c-red)}

/* Поиск по кадастровому номеру */
.gko-page .knbox{background:var(--c-bg-soft); border:1px solid var(--c-line); border-radius:12px; padding:20px}
.gko-page .knrow{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.gko-page #knIn{flex:1 1 340px; min-width:260px; font-size:16px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gko-page #knOut{margin-top:14px; font-size:15px; min-height:26px}
.gko-page .kn-ok{background:#fff; border:1px solid #bfe3c8; border-left:4px solid #1a7f37; border-radius:8px; padding:14px 16px}
.gko-page .kn-no{background:#fff; border:1px solid #f2c9c9; border-left:4px solid var(--c-red); border-radius:8px; padding:14px 16px}
.gko-page .kn-big{font-size:26px; font-weight:800; letter-spacing:-.02em; color:var(--c-red-deep)}
.gko-page .hint{font-size:12.5px; color:var(--c-muted); margin-top:10px}
.gko-page .bar-load{height:4px; background:var(--c-line); border-radius:2px; overflow:hidden; margin-top:12px; display:none}
.gko-page .bar-load i{display:block; height:100%; width:0; background:var(--c-red); transition:width .2s}

/* Полный список участков намеренно скрыт: 957 917 строк в разметке — это
   мусор для посетителя и для поисковика. Данные лежат в data/all/*.json и
   отдаются файлом stoimost.csv. Разметка, фильтры и gko.js остаются
   на месте — чтобы вернуть блок, достаточно удалить эту строку. */
.gko-page #vse{display:none}

/* Тепловая карта УПКС */
.gko-page .heat td.cell{text-align:center; font-variant-numeric:tabular-nums; font-size:12.5px; white-space:nowrap}

.gko-page .note{
  border-left:3px solid var(--c-line); padding:12px 0 12px 16px; margin:0 0 18px;
  color:var(--c-muted); font-size:13.5px;
}
.gko-page .note b{color:var(--c-ink)}

@media (max-width:900px){
  .gko-page .metrics{grid-template-columns:repeat(2,1fr)}
  .gko-page .cards{grid-template-columns:1fr}
  .gko-page .buckets{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:560px){
  .gko-page .metrics{grid-template-columns:1fr}
  .gko-page .buckets{grid-template-columns:repeat(2,1fr)}
  .gko-page .hero h1{max-width:100%}
}
