/* ═══════════════════════════════════════════════════════
   OVERTAKE — LEGAL PAGES (VOP, GDPR)
   Navazuje na css/style.css, přidává jen typografii dokumentu.
   ═══════════════════════════════════════════════════════ */

/* Na právních stránkách není hero — nav musí být čitelný hned od začátku. */
.legal-page .nav{background:rgba(7,7,7,.92);border-bottom:1px solid var(--c-line)}

/* ── Hlavička dokumentu ─────────────── */
.legal-hero{padding:9rem 0 3rem;border-bottom:1px solid var(--c-line)}
.legal-hero h1{
  font-family:var(--f-display);
  font-size:clamp(2.6rem,6vw,4.5rem);
  font-weight:400;line-height:.95;letter-spacing:-.01em;text-transform:uppercase;
}
.legal-hero__meta{
  font-family:var(--f-mono);font-size:.78rem;letter-spacing:.06em;
  color:var(--c-text-3);margin-top:1.1rem;
}

/* ── Tělo dokumentu ─────────────── */
.legal{padding:3.5rem 0 5rem}
.legal__grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:4rem;align-items:start}
/* Bez min-width:0 by široká tabulka (min-width:520px) roztáhla celý grid sloupec. */
.legal__toc,.legal__body{min-width:0}

/* Obsah (sticky) */
.legal__toc{position:sticky;top:96px}
.legal__toc h4{
  font-family:var(--f-display);font-size:.95rem;font-weight:400;letter-spacing:.1em;
  text-transform:uppercase;color:var(--c-text-3);margin-bottom:1rem;
}
.legal__toc ol{list-style:none;counter-reset:toc}
.legal__toc li{counter-increment:toc}
.legal__toc a{
  display:block;padding:.34rem 0;font-size:.85rem;color:var(--c-text-2);
  transition:color var(--tx);
}
.legal__toc a::before{
  content:counter(toc,decimal-leading-zero) " ";
  font-family:var(--f-mono);font-size:.74rem;color:var(--c-text-3);margin-right:.5rem;
}
.legal__toc a:hover{color:var(--c-orange)}

/* Text */
.legal__body{max-width:74ch;font-size:.97rem;color:var(--c-text-2);line-height:1.72}
.legal__body>p:first-child{color:var(--c-text);font-size:1.05rem}

.legal__body h2{
  font-family:var(--f-display);font-weight:400;text-transform:uppercase;
  font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.05;letter-spacing:.005em;
  color:var(--c-text);margin:3rem 0 1rem;padding-top:1.75rem;
  border-top:1px solid var(--c-line);
}
.legal__body h2:first-of-type{margin-top:1.5rem}
.legal__body h2 .num{
  display:block;font-family:var(--f-mono);font-size:.74rem;font-weight:600;
  letter-spacing:.18em;color:var(--c-orange);margin-bottom:.5rem;
}
.legal__body h3{
  font-family:var(--f-body);font-size:1rem;font-weight:600;color:var(--c-text);
  margin:1.75rem 0 .6rem;
}
.legal__body p{margin-bottom:1rem;text-wrap:pretty}
.legal__body ul,.legal__body ol{margin:0 0 1rem 1.25rem}
.legal__body li{margin-bottom:.5rem;padding-left:.25rem}
.legal__body li::marker{color:var(--c-orange)}
.legal__body strong{color:var(--c-text);font-weight:600}
.legal__body a{color:var(--c-orange);text-decoration:underline;text-underline-offset:2px}
.legal__body a:hover{color:var(--c-orange-2)}

/* Datový box (identifikace firmy, kontakt na správce) */
.legal-card{
  background:var(--c-card);border:1px solid var(--c-line-2);border-radius:var(--r-md);
  padding:1.5rem 1.6rem;margin:1.5rem 0;
}
.legal-card dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem 1.5rem;margin:0}
.legal-card dt{
  font-family:var(--f-mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--c-text-3);padding-top:.15rem;
}
.legal-card dd{margin:0;color:var(--c-text);font-size:.93rem}

/* Tabulka (cookies, příjemci údajů) */
.legal-table-wrap{overflow-x:auto;margin:1.25rem 0 1.5rem}
.legal-table{border-collapse:collapse;width:100%;min-width:520px;font-size:.86rem}
.legal-table th,.legal-table td{
  text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--c-line);vertical-align:top;
}
.legal-table th{
  font-family:var(--f-mono);font-size:.7rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--c-text-3);border-bottom-color:var(--c-line-2);
}
.legal-table td{color:var(--c-text-2)}
.legal-table td:first-child{color:var(--c-text);font-weight:500;white-space:nowrap}

/* Zvýrazněné upozornění (např. ztráta práva na odstoupení) */
.legal-note{
  border-left:2px solid var(--c-orange);background:rgba(242,72,34,.06);
  border-radius:0 var(--r-sm) var(--r-sm) 0;padding:1.1rem 1.3rem;margin:1.5rem 0;
}
.legal-note p:last-child{margin-bottom:0}
.legal-note strong{color:var(--c-orange)}

/* ── Odvolání souhlasu s cookies ─────────────── */
/* Lišta je position:fixed dole — bez upozornění vypadá klik na tlačítko jako by nic neudělal. */
.cookie-reset{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.cookie-reset__status{
  font-family:var(--f-mono);font-size:.76rem;letter-spacing:.04em;color:var(--c-green);
  opacity:0;transform:translateY(-2px);transition:opacity var(--tx),transform var(--tx);
}
.cookie-reset__status--on{opacity:1;transform:none}

.cookie-banner--attention{
  border-color:var(--c-orange);
  animation:cookiePop 1.1s cubic-bezier(.4,0,.2,1);
}
/* translateX(-50%) musí zůstat — lišta je jím vodorovně vycentrovaná. */
@keyframes cookiePop{
  0%  {transform:translateX(-50%) scale(.94);box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 0 var(--c-orange-glow)}
  35% {transform:translateX(-50%) scale(1.02);box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 12px rgba(242,72,34,0)}
  100%{transform:translateX(-50%) scale(1);box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 0 rgba(242,72,34,0)}
}
@media (prefers-reduced-motion:reduce){
  .cookie-banner--attention{animation:none}
  .cookie-reset__status{transition:none}
}

@media(max-width:960px){
  .legal__grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}
  .legal__toc{position:static;border-bottom:1px solid var(--c-line);padding-bottom:1.5rem}
  .legal__toc ol{columns:2;column-gap:1.5rem}
}
@media(max-width:560px){
  .legal-hero{padding:7.5rem 0 2.5rem}
  .legal__toc ol{columns:1}
  .legal-card dl{grid-template-columns:1fr;gap:.15rem}
  .legal-card dt{margin-top:.6rem}
}
