/* Wspólny arkusz stron prawnych. Paleta ta sama co reszta serwisu. */
:root{--bg:#0E1116;--bg-2:#12161D;--card:#151A21;--line:#242C36;--line-2:#313B49;
  --ink:#E8E6E1;--ink-tresc:#CFD3DA;--ink-2:#A6AEBB;--ink-3:#798392;
  --amber:#F0A63C;--on-amber:#0E1116;--rust:#E8A08C}
:root[data-theme="light"]{--bg:#FBF8F2;--bg-2:#F3EDE2;--card:#FFFFFF;--line:#E3D9C9;--line-2:#CFC0A9;
  --ink:#14181E;--ink-tresc:#2A3038;--ink-2:#5C6673;--ink-3:#646C7A;
  --amber:#995F0B;--on-amber:#FFFFFF;--rust:#A8402A}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink-tresc);
  font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:15.5px;line-height:1.7}
.wrap{max-width:820px;margin:0 auto;padding:0 28px}
header{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;
  background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(10px)}
.bar{display:flex;align-items:center;gap:14px;height:60px}
.mark{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;font-size:.98rem;
  text-transform:uppercase;display:flex;gap:9px;align-items:center;color:var(--ink);
  text-decoration:none}
.mark span{color:var(--amber);font-size:1.25rem}
.bar nav{margin-left:auto;display:flex;gap:20px}
.bar nav a{font-size:13px;color:var(--ink-2);text-decoration:none;font-weight:600}
/* Obszar kliknięcia ≥ 40 px — napis ten sam (pomiar 21.09: linki 22 px wysokości). */
.bar nav a,.bar a.mark{min-height:40px;display:inline-flex;align-items:center}
.bar nav a:hover{color:var(--ink)}
h1{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;font-size:2.1rem;
  letter-spacing:-.035em;line-height:1.08;margin:44px 0 8px;color:var(--ink)}
.meta{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:26px}
h2{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;font-size:1.22rem;
  letter-spacing:-.02em;margin:38px 0 12px;color:var(--ink);scroll-margin-top:76px}
h3{font-family:"Space Grotesk",Arial,sans-serif;font-weight:600;font-size:1rem;
  margin:24px 0 8px;color:var(--ink)}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin-bottom:7px}
a{color:var(--amber)}
b,strong{color:var(--ink);font-weight:600}
table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);font-weight:700}
.szkic{border:1px solid var(--rust);background:var(--card);padding:18px 20px;margin:22px 0}
.szkic b{color:var(--rust);display:block;margin-bottom:6px;
  font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.szkic p{margin:0;font-size:14px;color:var(--ink-2)}
.spis{border:1px solid var(--line-2);background:var(--card);padding:20px 24px;margin:26px 0}
.spis ol{margin:0;padding-left:20px;columns:2;column-gap:28px}
@media(max-width:640px){.spis ol{columns:1}}
.spis a{color:var(--ink-2);text-decoration:none;font-size:14px}
.spis a:hover{color:var(--amber)}
.dane{border:1px solid var(--line-2);background:var(--card);padding:20px 24px;margin:18px 0;
  font-size:14.5px}
footer{border-top:1px solid var(--line);margin-top:56px;padding:30px 0 70px;
  font-size:12.5px;color:var(--ink-3)}
footer a{color:var(--ink-2)}

/* TABELE NA TELEFONIE — każdy wiersz jako blok, przy wartości nazwa kolumny.
   Trzy kolumny prawnicze nie mieszczą się w 390 px: tabela rozpychała stronę
   do 431 px i całość przewijała się w bok (pomiar 21.09). Nazwy kolumn siedzą
   w `data-label` przy każdej komórce — dopisane z nagłówka tabeli. */
@media (max-width: 600px) {
  table, tbody, tr, td { display: block; width: 100%; }
  tr:first-child:has(th) { display: none; }
  tr { border-bottom: 1px solid var(--line); padding: 10px 0; }
  td { border: 0; padding: 4px 0; }
  td[data-label]::before {
    content: attr(data-label); display: block;
    font-family: "JetBrains Mono", monospace; font-size: 10.5px; letter-spacing: .12em;
    text-transform: uppercase; color: var(--ink-3); margin-bottom: 2px;
  }
}
