/* ==========================================================================
   Карточка записи каталога (Phase 2). Одна вёрстка на все 17 вертикалей:
   набор полей у них разный, а устройство страницы — одно.
   ========================================================================== */

.v2-ent-head{margin-bottom:34px}
.v2-ent-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:16px}
.v2-ent-kind{
  font:500 10.5px/1 'JetBrains Mono',monospace;letter-spacing:.12em;color:var(--tx-4);
  padding:5px 8px;border:1px solid var(--line-2);border-radius:4px;
}
.v2-ent-code{margin-top:8px;font:600 15px/1 'JetBrains Mono',monospace;color:var(--gold-tx)}

.v2-ent-block{margin-bottom:38px}
.v2-ent-block-title{
  margin:0 0 16px;font:600 13px/1 'JetBrains Mono',monospace;
  letter-spacing:.1em;text-transform:uppercase;color:var(--tx-4);
}

/* ── поля идентификации ── */
/* Разделители рисует тень каждой ячейки, а не зазор в сетке: при неполном
   последнем ряду зазор оставлял бы висеть пустой серый прямоугольник. */
.v2-ent-fields{
  margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;
}
.v2-ent-field{background:var(--panel);padding:16px 18px;box-shadow:0 0 0 .5px var(--line)}
.v2-ent-field dt{
  margin:0 0 6px;font:500 10.5px/1.3 'JetBrains Mono',monospace;
  letter-spacing:.08em;text-transform:uppercase;color:var(--tx-5);
}
.v2-ent-field dd{margin:0;font:400 15px/1.45 'Golos Text',sans-serif;color:var(--tx);overflow-wrap:anywhere}
.v2-ent-field dd.is-mono{font-family:'JetBrains Mono',monospace;font-size:14px}
.v2-ent-field dd a{color:var(--blue);text-decoration:none}
.v2-ent-field dd a:hover{text-decoration:underline}

.v2-ent-empty{
  margin:0;padding:18px;border:1px dashed var(--line-2);border-radius:10px;
  font:400 14px/1.6 'Golos Text',sans-serif;color:var(--tx-4);
}

/* ── похожие новости ── */
.v2-ent-news{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:10px;overflow:hidden}
.v2-ent-news a{
  display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:baseline;
  padding:14px 18px;background:var(--panel);text-decoration:none;
  transition:background .16s ease;
}
.v2-ent-news a:hover{background:var(--panel-hi)}
.v2-ent-news time{font:500 11.5px/1.4 'JetBrains Mono',monospace;color:var(--tx-5);white-space:nowrap}
.v2-ent-news span{font:500 15px/1.45 'Golos Text',sans-serif;color:var(--tx)}

@media (max-width:640px){
  .v2-ent-fields{grid-template-columns:1fr}
  .v2-ent-news a{grid-template-columns:1fr;gap:4px}
}

/* ── платные блоки ───────────────────────────────────────────────────────
   Заголовок и превью видны всем; содержимого в статике нет вовсе, его
   дочитывает entity-access.js тем, у кого есть доступ.
   ─────────────────────────────────────────────────────────────────────── */
.v2-blk-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 14px;margin-bottom:12px}
.v2-blk-head .v2-ent-block-title{margin:0}
.v2-blk-date{font:500 11px/1 'JetBrains Mono',monospace;color:var(--tx-5)}

.v2-verif{display:inline-flex;align-items:center;gap:6px;font:500 11px/1 'Golos Text',sans-serif}
.v2-verif-dot{width:8px;height:8px;border-radius:50%;flex:none}
.v2-verif--ok .v2-verif-dot{background:var(--green)}
.v2-verif--warn .v2-verif-dot{background:var(--gold-tx)}
.v2-verif--bad .v2-verif-dot{background:var(--danger-tx)}
.v2-verif--ok{color:var(--green)}
.v2-verif--warn{color:var(--gold-tx)}
.v2-verif--bad{color:var(--danger-tx)}

.v2-blk-body{font:400 15px/1.65 'Golos Text',sans-serif;color:var(--tx-1)}
.v2-blk-body p{margin:0 0 12px}
.v2-blk-body p:last-child{margin-bottom:0}
.v2-blk-body strong{font-weight:600;color:var(--tx)}

.v2-blk-preview{
  margin:0 0 14px;font:400 14.5px/1.6 'Golos Text',sans-serif;color:var(--tx-4);max-width:70ch;
}
.v2-blk-gate{
  display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;
  padding:16px 18px;border:1px solid var(--line-2);border-radius:10px;background:var(--panel);
}
.v2-blk-lock{
  font:500 10.5px/1 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tx-5);padding:5px 8px;border:1px solid var(--line-2);border-radius:4px;
}
.v2-blk-gate .v2-btn{height:40px;padding:0 18px}

@media (max-width:640px){
  .v2-blk-gate{align-items:stretch;flex-direction:column}
  .v2-blk-gate .v2-btn{justify-content:center}
}

/* ── запрос представления ── */
.v2-lpr-note{margin:0 0 16px;font:400 14.5px/1.65 'Golos Text',sans-serif;color:var(--tx-4);max-width:70ch}
.v2-lpr .v2-btn{height:44px;padding:0 20px}

/* ── табличные блоки ─────────────────────────────────────────────────────
   Таблица шире экрана не ломает страницу: прокручивается она сама, а не
   весь документ.
   ─────────────────────────────────────────────────────────────────────── */
.v2-blk-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.v2-blk-table{width:100%;border-collapse:collapse;font:400 14px/1.5 'Golos Text',sans-serif}
.v2-blk-table th{
  text-align:left;padding:11px 14px;white-space:nowrap;
  font:500 10.5px/1 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;
  color:var(--tx-5);background:var(--panel-alt);border-bottom:1px solid var(--line);
}
.v2-blk-table td{padding:11px 14px;border-bottom:1px solid var(--line);color:var(--tx-1);vertical-align:top}
.v2-blk-table tr:last-child td{border-bottom:0}
.v2-blk-table td strong{font-weight:600;color:var(--tx)}
.v2-blk-table th.is-mark,.v2-blk-table td.is-mark{width:1%;white-space:nowrap;text-align:center}
