/* ==================================================================
   /navody — rejstřík návodů. Tokeny z reseni-v2.css (.rs2).
   Záhlaví je klidné (žádný banner — je to rejstřík, ne landing),
   vlevo lepivý obsah oblastí, vpravo seznamy. Dlaždice mají pevnou
   výšku, ať mřížka drží řádky.
   ================================================================== */
/* Třísloupcová mřížka: obsah oblastí vlevo u kraje, seznamy uprostřed stránky,
   vpravo prázdný protisloupec — proto sedí seznamy vizuálně na střed. */
.nv { width:min(1360px, calc(100% - 2.5rem)); margin:0 auto; --nv-side:14rem; }

.nv .nv-head { padding:clamp(2.2rem,5vw,3.6rem) 0 clamp(1.4rem,3vw,2rem); border-bottom:1px solid var(--line); }
.nv .nv-head-in { max-width:62ch; margin-left:calc(var(--nv-side) + clamp(1.5rem,4vw,3.5rem)); }
.nv .nv-kicker { font-family:"JetBrains Mono",monospace; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cendre-text); margin-bottom:.8rem; }
.nv .nv-head h1 { font-size:clamp(1.9rem,4vw,2.9rem); font-weight:800; letter-spacing:-.04em; line-height:1.06; color:var(--navy); margin-bottom:.7rem; text-wrap:balance; }
.nv .nv-search { margin-top:1.4rem; width:100%; max-width:36rem; text-align:left; }
.nv .nv-lead { color:var(--muted); font-size:clamp(1rem,1.5vw,1.1rem); line-height:1.55; }

.nv .nv-body { display:grid; grid-template-columns:var(--nv-side) minmax(0,1fr) var(--nv-side); gap:clamp(1.5rem,4vw,3.5rem); padding:clamp(1.6rem,3.5vw,2.6rem) 0 clamp(2rem,5vw,3.5rem); align-items:start; }

.nv .nv-toc { position:sticky; top:5.5rem; }
.nv .nv-toc-k { font-family:"JetBrains Mono",monospace; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--hint); margin:0 0 .6rem .85rem; }
.nv .nv-toc ul { list-style:none; display:flex; flex-direction:column; gap:.15rem; }
.nv .nv-toc a { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.55rem .85rem; border-radius:10px; color:var(--ink); font-size:.92rem; font-weight:600; text-decoration:none; line-height:1.3; transition:background .15s, color .15s; }
.nv .nv-toc a:hover { background:var(--beau-tint); color:var(--navy); }
.nv .nv-toc b { font-family:"JetBrains Mono",monospace; font-size:.7rem; font-weight:500; color:var(--cendre-text); background:var(--beau-tint); border-radius:999px; padding:.15rem .55rem; }
.nv .nv-toc a:hover b { background:#fff; }

.nv .nv-areas { display:flex; flex-direction:column; gap:clamp(2rem,4.5vw,3.2rem); }
.nv .nv-area { scroll-margin-top:5.5rem; }
.nv .nv-area-head { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:.9rem; padding-bottom:.6rem; border-bottom:1px solid var(--line); }
.nv .nv-area h2 { font-size:clamp(1.25rem,2.2vw,1.55rem); font-weight:800; letter-spacing:-.03em; color:var(--navy); line-height:1.15; }
.nv .nv-area-link { font-weight:700; font-size:.88rem; color:var(--cendre-text); text-decoration:none; white-space:nowrap; }
.nv .nv-area-link::after { content:" →"; }
.nv .nv-area-link:hover { color:var(--navy); }

/* dlaždice: pevná výška, text vertikálně vystředěný → řádky mřížky drží */
.nv .nv-list { list-style:none; display:grid; grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr)); gap:.55rem; }
.nv .nv-list li { display:flex; }
.nv .nv-list a { flex:1; display:flex; align-items:center; min-height:4.35rem; padding:.7rem 1rem; background:var(--beau-tint); border:1px solid transparent; border-radius:12px; color:var(--navy); font-weight:600; font-size:.93rem; line-height:1.35; text-decoration:none; transition:border-color .15s, background .15s; }
.nv .nv-list a:hover { background:#fff; border-color:var(--cendre); }
.nv .nv-list a:focus-visible { outline:2px solid var(--cendre); outline-offset:3px; }

@media (max-width: 1100px) {
  .nv .nv-body { grid-template-columns:var(--nv-side) minmax(0,1fr); }
}
@media (max-width: 860px) {
  .nv .nv-body { grid-template-columns:1fr; gap:1.6rem; }
  .nv .nv-head-in { margin-left:0; }
  .nv .nv-toc { position:static; }
  .nv .nv-toc ul { flex-direction:row; flex-wrap:wrap; gap:.4rem; }
  .nv .nv-toc a { background:var(--beau-tint); border-radius:999px; padding:.45rem .5rem .45rem .9rem; font-size:.86rem; }
  .nv .nv-toc a b { background:#fff; }
  .nv .nv-toc-k { display:none; }
}
