/* Textové stránky (ochrana osobních údajů). Staví na style.css, mění jen to, co čtení potřebuje. */

.legal .bar {
  position: sticky;
  background: rgb(11 26 44 / .84);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgb(169 187 209 / .14);
}

.legal main {
  padding: clamp(48px, 9vh, 112px) var(--edge) 0;
}

.intro { margin-bottom: clamp(48px, 8vh, 96px); }

.intro h1 {
  margin: 0;
  max-width: 14ch;
  font-size: clamp(36px, 5.6vw, 84px);
  line-height: 1.04;
  font-weight: 500;
  font-stretch: 112%;
  letter-spacing: -.014em;
  text-wrap: balance;
}

.valid {
  margin: 20px 0 0;
  color: var(--ink-2);
  font-variant-numeric: tabular-nums;
}

.layout {
  display: grid;
  grid-template-columns: minmax(180px, 232px) minmax(0, 68ch);
  gap: clamp(40px, 7vw, 128px);
  align-items: start;
}

.toc {
  position: sticky;
  top: 104px;
  font-size: 15px;
}
.toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: 1px solid var(--line);
}
.toc a {
  display: block;
  margin-left: -1px;
  padding: 7px 0 7px 18px;
  border-left: 1px solid transparent;
  color: var(--ink-2);
  transition: color .15s ease, border-color .15s ease;
}
.toc a:hover { color: var(--ink); }
.toc a[aria-current="true"] { color: var(--ink); border-left-color: var(--ink); }

.policy {
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-2);
  text-wrap: pretty;
}

.policy section { scroll-margin-top: 96px; }
.policy section + section {
  margin-top: clamp(48px, 7vh, 72px);
  padding-top: clamp(48px, 7vh, 72px);
  border-top: 1px solid var(--line);
}
.policy .gist + section { border-top: 0; padding-top: 0; }

.policy h2 {
  margin: 0 0 20px;
  color: var(--ink);
  font-size: clamp(22px, 2.1vw, 28px);
  line-height: 1.2;
  font-weight: 500;
  font-stretch: 108%;
  letter-spacing: -.006em;
}

.policy h3 {
  margin: 36px 0 12px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 600;
}
.policy h2 + h3 { margin-top: 0; }

.policy p { margin: 0 0 16px; }
.policy p:last-child, .policy ul:last-child { margin-bottom: 0; }
.policy strong { color: var(--ink); font-weight: 500; }

.policy a {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgb(238 244 252 / .4);
  text-underline-offset: .22em;
  transition: text-decoration-color .15s ease;
}
.policy a:hover { text-decoration-color: currentColor; }

.policy ul { margin: 0 0 16px; padding-left: 1.15em; }
.policy li { padding-left: .25em; }
.policy li + li { margin-top: 8px; }
.policy li::marker { color: rgb(169 187 209 / .6); }

.gist {
  padding: clamp(20px, 2.4vw, 28px) clamp(20px, 2.6vw, 32px);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgb(169 187 209 / .05);
  margin-bottom: clamp(48px, 7vh, 72px);
}
.gist h2 { font-size: 17px; font-weight: 600; font-stretch: 100%; letter-spacing: 0; margin-bottom: 12px; }
.gist ul { color: var(--ink); }

.facts {
  margin: 0 0 16px;
  border-top: 1px solid var(--line);
}
.facts > div {
  display: grid;
  grid-template-columns: 9.5em minmax(0, 1fr);
  gap: 24px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.facts dt { color: var(--ink); font-weight: 500; }
.facts dd { margin: 0; }
.facts.compact > div { grid-template-columns: minmax(0, 15em) minmax(0, 1fr); }

.legal .foot {
  margin-top: clamp(72px, 12vh, 144px);
  border-top: 1px solid rgb(169 187 209 / .14);
  padding-top: 24px;
}

@media (max-width: 960px) {
  .layout { grid-template-columns: minmax(0, 1fr); }
  .toc { display: none; }
}

@media (max-width: 560px) {
  .policy { font-size: 16px; }
  .facts > div, .facts.compact > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

/* Tabulka na konci sekce nemá vlastní spodní linku, oddělí ji až linka další sekce. */
.policy section > .facts:last-child { margin-bottom: 0; }
.policy section > .facts:last-child > div:last-child { border-bottom: 0; padding-bottom: 0; }
