/* ==========================================================================
   Právne stránky (partials/legal_page.php), redesign vlna 2 (D1)
   Pravidlá z mockupu 08-doplnkove/doplnkove.html (stav zasady), iba tie, ktoré stránky používajú.
   Tokeny a komponenty (rc-btn, rc-crumbs…) sú v css/rc-tokens.css, obal a drobčeky v css/rc-layout.css.
   Základ .rc-body, .rc-dp-page/head/h1 a .rc-dp-legal sú kópiou z css/doprava.css
   (rozhodnutie 2026-10-26: zjednotiť vo vlne 3, keď ich bude používať aj objednávka).
   Text dokumentov je HTML zo starých stránok, preto nadpisy a odseky v .rc-dp-prose bez vlastných tried.
   ========================================================================== */

/* Základ pod .rc-body (mockup, Fáza 4) */
.rc-body *, .rc-body *::before, .rc-body *::after { box-sizing: border-box; }
.rc-body h1, .rc-body h2, .rc-body h3, .rc-body p, .rc-body ul, .rc-body ol { margin: 0; }
.rc-body a { color: inherit; }
/* style.css dáva každému <button> okraj, blok a sivé pozadie */
.rc-body button { margin: 0; }
.rc-body a:not(.rc-btn) { text-decoration: underline; text-decoration-color: var(--rc-taupe); text-underline-offset: .25em; }
.rc-body a:not(.rc-btn):hover { text-decoration-color: var(--rc-gold-deep); }
.rc-body .rc-crumbs a { text-decoration: underline; text-decoration-color: var(--rc-sand); }
.rc-body .rc-crumbs--back a { text-decoration: none; }

.rc-home-eyebrow { font-family: var(--rc-font-display); font-size: var(--rc-fs-12); letter-spacing: var(--rc-ls-display); text-transform: uppercase; color: var(--rc-text-muted); }

/* Stránka (drobčeky sú nad ňou v partials/breadcrumbs.php, preto bez horného odsadenia) */
.rc-dp-page { padding-bottom: var(--rc-space-7); }
.rc-dp-head { text-align: center; max-width: 680px; margin: var(--rc-space-5) auto 0; }
.rc-dp-head .rc-home-eyebrow { margin-bottom: var(--rc-space-2); }
.rc-dp-h1 { margin: 0; font-family: var(--rc-font-display); font-weight: 400; text-transform: uppercase; letter-spacing: var(--rc-ls-display); font-size: var(--rc-fs-display); line-height: 1.35; color: var(--rc-text-strong); }

/* Hlavička dokumentu: zarovnaná vľavo, dátum účinnosti a tlač */
.rc-dp-head--legal { text-align: left; margin-left: 0; max-width: none; }
.rc-dp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rc-space-2) var(--rc-space-4); margin: var(--rc-space-2) 0 0; color: var(--rc-text-muted); font-size: var(--rc-fs-14); }
.rc-dp-meta .rc-btn { gap: var(--rc-space-2); }

/* Obsah vľavo (desktop lepkavý), text vpravo */
.rc-dp-legal-grid { display: grid; gap: var(--rc-space-5); margin-top: var(--rc-space-5); align-items: start; }
@media (min-width: 1024px) {
  .rc-dp-legal-grid { grid-template-columns: 280px minmax(0, 1fr); gap: var(--rc-space-7); }
  .rc-dp-legal-aside { position: sticky; top: var(--rc-space-5); max-height: calc(100vh - 2 * var(--rc-space-5)); overflow-y: auto; }
}
.rc-dp-toc { border: var(--rc-border) solid var(--rc-line-soft); border-radius: var(--rc-radius); background: var(--rc-surface); }
.rc-dp-toc summary { display: flex; align-items: center; justify-content: space-between; min-height: var(--rc-control-h); padding: 0 var(--rc-space-4); cursor: pointer; list-style: none; font-family: var(--rc-font-display); text-transform: uppercase; letter-spacing: var(--rc-ls-caps); font-size: var(--rc-fs-14); color: var(--rc-text-strong); }
.rc-dp-toc summary::-webkit-details-marker { display: none; }
.rc-dp-toc summary svg { flex: none; transition: transform var(--rc-dur) var(--rc-ease); }
.rc-dp-toc[open] summary svg { transform: rotate(180deg); }
.rc-dp-toc summary:focus-visible { outline: 2px solid var(--rc-focus); outline-offset: 2px; }
.rc-body .rc-dp-toc ol { list-style: none; margin: 0; padding: 0 var(--rc-space-4) var(--rc-space-4); display: grid; gap: var(--rc-space-1); font-size: var(--rc-fs-14); }
.rc-body .rc-dp-toc a { display: block; padding: var(--rc-space-1) var(--rc-space-2); margin-left: calc(-1 * var(--rc-space-2)); border-left: 2px solid transparent; color: var(--rc-text); text-decoration: none; }
.rc-body .rc-dp-toc a:hover { text-decoration: underline; text-underline-offset: .2em; }
.rc-body .rc-dp-toc a.is-cur { border-left-color: var(--rc-gold); color: var(--rc-text-strong); font-weight: 600; }

/* Text dokumentu: riadok do 72 znakov, Dosis 17 px */
.rc-dp-prose { max-width: 72ch; font-size: 1.0625rem; line-height: 1.7; color: var(--rc-text); overflow-wrap: break-word; }
.rc-body .rc-dp-prose p, .rc-body .rc-dp-prose ul, .rc-body .rc-dp-prose ol { margin: 0 0 var(--rc-space-4); }
.rc-dp-prose ul, .rc-dp-prose ol { padding-left: 1.2em; }
.rc-dp-prose li + li { margin-top: var(--rc-space-2); }
.rc-body .rc-dp-prose a { color: var(--rc-text-strong); text-underline-offset: .2em; }
.rc-dp-prose code { font-size: .9em; padding: 0 .2em; background: var(--rc-cream); border-radius: 2px; }
.rc-body .rc-dp-prose h2 { margin: var(--rc-space-7) 0 var(--rc-space-4); padding-top: var(--rc-space-5); border-top: var(--rc-border) solid var(--rc-line-soft); font-family: var(--rc-font-display); font-weight: 400; text-transform: uppercase; letter-spacing: var(--rc-ls-caps); font-size: var(--rc-fs-18); line-height: 1.4; color: var(--rc-text-strong); scroll-margin-top: var(--rc-space-5); }
.rc-body .rc-dp-prose h3 { margin: var(--rc-space-5) 0 var(--rc-space-3); font-family: var(--rc-font-sans); font-size: var(--rc-fs-18); font-weight: 600; line-height: 1.4; color: var(--rc-text-strong); scroll-margin-top: var(--rc-space-5); }
.rc-body .rc-dp-prose > h2:first-child { margin-top: 0; }

/* Tabuľka (cookies); na mobile riadky ako karty, popis stĺpca z data-label */
.rc-dp-table { margin: 0 0 var(--rc-space-4); }
.rc-dp-table table { width: 100%; border-collapse: collapse; font-size: var(--rc-fs-14); line-height: 1.5; }
.rc-dp-table th { text-align: left; font-weight: 600; color: var(--rc-text-strong); background: var(--rc-cream); }
.rc-dp-table th, .rc-dp-table td { padding: var(--rc-space-3); border-bottom: var(--rc-border) solid var(--rc-line-soft); vertical-align: top; }
@media (max-width: 767.98px) {
  .rc-dp-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .rc-dp-table tr { display: block; margin-bottom: var(--rc-space-3); border: var(--rc-border) solid var(--rc-line-soft); border-radius: var(--rc-radius); padding: var(--rc-space-2) var(--rc-space-3); }
  .rc-dp-table td { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: var(--rc-space-3); padding: var(--rc-space-2) 0; border-bottom: 0; }
  .rc-dp-table td::before { content: attr(data-label); color: var(--rc-text-muted); }
  /* názov cookie (<code>) je samostatná položka mriežky, bez toho by sa roztiahol na celú šírku */
  .rc-dp-table td > code { justify-self: start; }
}

/* Ďalšie podmienky pod textom */
.rc-dp-legal { display: flex; flex-wrap: wrap; gap: var(--rc-space-2) var(--rc-space-5); margin-top: var(--rc-space-7); padding-top: var(--rc-space-5); border-top: var(--rc-border) solid var(--rc-line-soft); }
.rc-body .rc-dp-legal a { display: inline-flex; align-items: center; gap: var(--rc-space-2); min-height: var(--rc-touch); color: var(--rc-text); }
.rc-dp-legal a svg { flex: none; color: var(--rc-text-muted); }

/* Tlač: len nadpis, dátum a text */
@media print {
  .rc-topbar, .rc-header, .rc-crumbs, .rc-dp-legal-aside, .rc-dp-legal, [data-print], .rc-home-foot, .rc-consent, .rc-consent-dialog { display: none !important; }
  .rc-dp-legal-grid { display: block; }
  .rc-dp-prose { max-width: none; font-size: 11pt; }
  .rc-body .rc-dp-prose h2 { break-after: avoid; }
}
