/* TippyTaps — "Právne" page. Ported from the PAWS design (PAWS-pravne.html).
   Shell rules (.nav/.btn/.wrap/.hero/section/.shead/footer/reveal) live in
   site.css; only the legal-specific blocks (.lgwrap/.toc/.legal/.doc/.sec) are
   here. Scoped under .tt-site so the generic class names can't collide with
   Astra/core. Design's --accent maps to the shared --pop token (terracotta =
   primary accent on content pages). */

/* ---- layout: sticky TOC + document column ----
   The document column is capped at a reading measure rather than taking the
   whole 1fr. Every other template caps its prose in `ch`; this one did not, so
   it was the single place where widening the page container widened the running
   text with it — 1324px lines at 1680, 1644px once the container clamps up to
   2000 on a 2560 screen. Legal copy is the last thing that should be set 200
   characters wide. `minmax(0,78ch)` keeps the column from overflowing its track
   on narrow viewports, and the row still starts at the TOC, so the freed space
   falls to the right of the text instead of re-centring the layout. */
.tt-site .lgwrap{ display:grid; grid-template-columns:260px minmax(0,78ch); gap:44px; align-items:start; padding:40px 0 20px; }

/* ---- table of contents ---- */
.tt-site .toc{ position:sticky; top:90px; border:1px solid var(--line); border-radius:20px; background:var(--card); padding:20px; }
.tt-site .toc .tt{ font-family:var(--mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--muted); font-weight:600; margin-bottom:12px; }
.tt-site .toc a{ display:block; padding:9px 12px; border-radius:10px; font-weight:600; font-size:14.5px;
  color:var(--ink-2); cursor:pointer; transition:.13s; }
.tt-site .toc a:hover{ background:var(--paper); color:var(--ink); }
.tt-site .toc a.on{ background:var(--ink); color:var(--paper); }

/* ---- legal document column ---- */
.tt-site .legal .lg-head{ margin-bottom:8px; }
.tt-site .legal h1{ font-family:var(--disp); font-size:48px; font-weight:700; letter-spacing:-.03em;
  line-height:1.03; margin:0; }
.tt-site .legal .upd{ font-family:var(--mono); font-size:12px; color:var(--muted); text-transform:uppercase;
  letter-spacing:.04em; margin-top:12px; }

/* ---- switchable documents ---- */
.tt-site .doc{ display:none; }
.tt-site .doc.show{ display:block; animation:tt-pravne-fadein .3s ease; }
@keyframes tt-pravne-fadein{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

/* ---- sections within a document ---- */
.tt-site .sec{ padding:26px 0; border-bottom:1px solid var(--line); }
.tt-site .sec:last-child{ border-bottom:0; }
.tt-site .sec h2{ font-family:var(--disp); font-size:24px; font-weight:600; letter-spacing:-.02em;
  margin:0 0 12px; scroll-margin-top:90px; }
.tt-site .sec p{ font-size:15.5px; color:var(--ink-2); font-weight:500; line-height:1.65; margin:0 0 12px; }
.tt-site .sec ul{ margin:0 0 12px; padding-left:20px; color:var(--ink-2); font-size:15.5px; font-weight:500; line-height:1.65; }
.tt-site .sec li{ margin-bottom:7px; }
.tt-site .sec b{ font-weight:700; color:var(--ink); }
.tt-site .sec .lead{ font-size:17px; color:var(--ink); font-weight:500; background:var(--card);
  border:1px solid var(--line); border-left:3px solid var(--pop); border-radius:14px; padding:16px 18px; }

@media (max-width:900px){
  .tt-site .lgwrap{ grid-template-columns:1fr; gap:20px; }
  .tt-site .toc{ position:static; }
  .tt-site .legal h1{ font-size:34px; }
}
