/* ===================================================================
   legal.css — style podstron dokumentowych (polityka prywatnosci, regulamin).

   Plik jest samodzielny: powiela wspolna warstwe z index.html (fonty, zmienne,
   przyciski, naglowek, menu mobilne, stopka), zeby podstrony nie ciagnely
   za soba 300 KB makiet aplikacji, ktore sa potrzebne tylko na stronie glownej.

   UWAGA przy zmianach motywu: zmienne w :root i style naglowka/stopki istnieja
   w dwoch miejscach — tu i w <style> w index.html. Zmiana koloru marki albo
   ukladu nawigacji wymaga poprawki w obu plikach.

   Fonty wskazuja na fonts/ — ten sam subset co strona glowna, bez CDN.
   =================================================================== */

/* Fonty hostowane lokalnie w fonts/, nie z Google.
   Powod: fonts.googleapis.com/gstatic.com dostaje IP kazdego odwiedzajacego zanim
   ktokolwiek o cokolwiek zapyta (LG Muenchen I, 3 O 17493/20). Na stronie firmy
   sprzedajacej RODO to nie przechodzi.
   Pliki sa subsetowane: tekstowe do alfabetu PL + ASCII + typografii,
   Material Symbols do 65 realnie uzywanych ikon (695 KB -> 14 KB).
   Dodajesz nowa ikone lub znak spoza subsetu? Trzeba przegenerowac woff2. */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Lato-400.woff2) format('woff2');
  unicode-range: U+20-7e, U+a3, U+b0, U+b7, U+c1, U+c9, U+cd, U+d3, U+d7, U+da, U+dd, U+e1, U+e9, U+ed, U+f3, U+fa, U+fd, U+104-107, U+10a-10b, U+116-119, U+120-121, U+12e-130, U+139-13a, U+141-144, U+154-155, U+15a-15b, U+172-173, U+179-17c, U+1ea-1eb, U+1f4-1f5, U+226-227, U+22e-22f, U+301, U+307, U+328, U+1e02-1e03, U+1e0a-1e0b, U+1e1e-1e1f, U+1e22-1e23, U+1e30-1e31, U+1e3e-1e41, U+1e44-1e45, U+1e54-1e59, U+1e60-1e61, U+1e64-1e65, U+1e6a-1e6b, U+1e82-1e83, U+1e86-1e87, U+1e8a-1e8b, U+1e8e-1e8f, U+2013-2014, U+201d-201e, U+2022, U+2026, U+20ac, U+2190-2193, U+2264-2265, U+2713;
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Lato-700.woff2) format('woff2');
  unicode-range: U+20-7e, U+a3, U+b0, U+b7, U+c1, U+c9, U+cd, U+d3, U+d7, U+da, U+dd, U+e1, U+e9, U+ed, U+f3, U+fa, U+fd, U+104-107, U+10a-10b, U+116-119, U+120-121, U+12e-130, U+139-13a, U+141-144, U+154-155, U+15a-15b, U+172-173, U+179-17c, U+1ea-1eb, U+1f4-1f5, U+226-227, U+22e-22f, U+301, U+307, U+328, U+1e02-1e03, U+1e0a-1e0b, U+1e1e-1e1f, U+1e22-1e23, U+1e30-1e31, U+1e3e-1e41, U+1e44-1e45, U+1e54-1e59, U+1e60-1e61, U+1e64-1e65, U+1e6a-1e6b, U+1e82-1e83, U+1e86-1e87, U+1e8a-1e8b, U+1e8e-1e8f, U+2013-2014, U+201d-201e, U+2022, U+2026, U+20ac, U+2190-2193, U+2264-2265, U+2713;
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(fonts/Lato-900.woff2) format('woff2');
  unicode-range: U+20-7e, U+a3, U+b0, U+b7, U+c1, U+c9, U+cd, U+d3, U+d7, U+da, U+dd, U+e1, U+e9, U+ed, U+f3, U+fa, U+fd, U+104-107, U+10a-10b, U+116-119, U+120-121, U+12e-130, U+139-13a, U+141-144, U+154-155, U+15a-15b, U+172-173, U+179-17c, U+1ea-1eb, U+1f4-1f5, U+226-227, U+22e-22f, U+301, U+307, U+328, U+1e02-1e03, U+1e0a-1e0b, U+1e1e-1e1f, U+1e22-1e23, U+1e30-1e31, U+1e3e-1e41, U+1e44-1e45, U+1e54-1e59, U+1e60-1e61, U+1e64-1e65, U+1e6a-1e6b, U+1e82-1e83, U+1e86-1e87, U+1e8a-1e8b, U+1e8e-1e8f, U+2013-2014, U+201d-201e, U+2022, U+2026, U+20ac, U+2190-2193, U+2264-2265, U+2713;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/IBMPlexMono-400.woff2) format('woff2');
  unicode-range: U+20-7e, U+a3, U+b0, U+b7, U+c1, U+c9, U+cd, U+d3, U+d7, U+da, U+dd, U+e1, U+e9, U+ed, U+f3, U+fa, U+fd, U+104-107, U+10a-10b, U+116-119, U+120-121, U+12e-130, U+139-13a, U+141-144, U+154-155, U+15a-15b, U+172-173, U+179-17c, U+1ea-1eb, U+1f4-1f5, U+226-227, U+22e-22f, U+301, U+307, U+328, U+1e02-1e03, U+1e0a-1e0b, U+1e1e-1e1f, U+1e22-1e23, U+1e30-1e31, U+1e3e-1e41, U+1e44-1e45, U+1e54-1e59, U+1e60-1e61, U+1e64-1e65, U+1e6a-1e6b, U+1e82-1e83, U+1e86-1e87, U+1e8a-1e8b, U+1e8e-1e8f, U+2013-2014, U+201d-201e, U+2022, U+2026, U+20ac, U+2190-2193, U+2264-2265, U+2713;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/IBMPlexMono-500.woff2) format('woff2');
  unicode-range: U+20-7e, U+a3, U+b0, U+b7, U+c1, U+c9, U+cd, U+d3, U+d7, U+da, U+dd, U+e1, U+e9, U+ed, U+f3, U+fa, U+fd, U+104-107, U+10a-10b, U+116-119, U+120-121, U+12e-130, U+139-13a, U+141-144, U+154-155, U+15a-15b, U+172-173, U+179-17c, U+1ea-1eb, U+1f4-1f5, U+226-227, U+22e-22f, U+301, U+307, U+328, U+1e02-1e03, U+1e0a-1e0b, U+1e1e-1e1f, U+1e22-1e23, U+1e30-1e31, U+1e3e-1e41, U+1e44-1e45, U+1e54-1e59, U+1e60-1e61, U+1e64-1e65, U+1e6a-1e6b, U+1e82-1e83, U+1e86-1e87, U+1e8a-1e8b, U+1e8e-1e8f, U+2013-2014, U+201d-201e, U+2022, U+2026, U+20ac, U+2190-2193, U+2264-2265, U+2713;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/IBMPlexMono-600.woff2) format('woff2');
  unicode-range: U+20-7e, U+a3, U+b0, U+b7, U+c1, U+c9, U+cd, U+d3, U+d7, U+da, U+dd, U+e1, U+e9, U+ed, U+f3, U+fa, U+fd, U+104-107, U+10a-10b, U+116-119, U+120-121, U+12e-130, U+139-13a, U+141-144, U+154-155, U+15a-15b, U+172-173, U+179-17c, U+1ea-1eb, U+1f4-1f5, U+226-227, U+22e-22f, U+301, U+307, U+328, U+1e02-1e03, U+1e0a-1e0b, U+1e1e-1e1f, U+1e22-1e23, U+1e30-1e31, U+1e3e-1e41, U+1e44-1e45, U+1e54-1e59, U+1e60-1e61, U+1e64-1e65, U+1e6a-1e6b, U+1e82-1e83, U+1e86-1e87, U+1e8a-1e8b, U+1e8e-1e8f, U+2013-2014, U+201d-201e, U+2022, U+2026, U+20ac, U+2190-2193, U+2264-2265, U+2713;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Inter-400.woff2) format('woff2');
  unicode-range: U+20-7e, U+a3, U+b0, U+b7, U+c1, U+c9, U+cd, U+d3, U+d7, U+da, U+dd, U+e1, U+e9, U+ed, U+f3, U+fa, U+fd, U+104-107, U+10a-10b, U+116-119, U+120-121, U+12e-130, U+139-13a, U+141-144, U+154-155, U+15a-15b, U+172-173, U+179-17c, U+1ea-1eb, U+1f4-1f5, U+226-227, U+22e-22f, U+301, U+307, U+328, U+1e02-1e03, U+1e0a-1e0b, U+1e1e-1e1f, U+1e22-1e23, U+1e30-1e31, U+1e3e-1e41, U+1e44-1e45, U+1e54-1e59, U+1e60-1e61, U+1e64-1e65, U+1e6a-1e6b, U+1e82-1e83, U+1e86-1e87, U+1e8a-1e8b, U+1e8e-1e8f, U+2013-2014, U+201d-201e, U+2022, U+2026, U+20ac, U+2190-2193, U+2264-2265, U+2713;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Inter-600.woff2) format('woff2');
  unicode-range: U+20-7e, U+a3, U+b0, U+b7, U+c1, U+c9, U+cd, U+d3, U+d7, U+da, U+dd, U+e1, U+e9, U+ed, U+f3, U+fa, U+fd, U+104-107, U+10a-10b, U+116-119, U+120-121, U+12e-130, U+139-13a, U+141-144, U+154-155, U+15a-15b, U+172-173, U+179-17c, U+1ea-1eb, U+1f4-1f5, U+226-227, U+22e-22f, U+301, U+307, U+328, U+1e02-1e03, U+1e0a-1e0b, U+1e1e-1e1f, U+1e22-1e23, U+1e30-1e31, U+1e3e-1e41, U+1e44-1e45, U+1e54-1e59, U+1e60-1e61, U+1e64-1e65, U+1e6a-1e6b, U+1e82-1e83, U+1e86-1e87, U+1e8a-1e8b, U+1e8e-1e8f, U+2013-2014, U+201d-201e, U+2022, U+2026, U+20ac, U+2190-2193, U+2264-2265, U+2713;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Inter-700.woff2) format('woff2');
  unicode-range: U+20-7e, U+a3, U+b0, U+b7, U+c1, U+c9, U+cd, U+d3, U+d7, U+da, U+dd, U+e1, U+e9, U+ed, U+f3, U+fa, U+fd, U+104-107, U+10a-10b, U+116-119, U+120-121, U+12e-130, U+139-13a, U+141-144, U+154-155, U+15a-15b, U+172-173, U+179-17c, U+1ea-1eb, U+1f4-1f5, U+226-227, U+22e-22f, U+301, U+307, U+328, U+1e02-1e03, U+1e0a-1e0b, U+1e1e-1e1f, U+1e22-1e23, U+1e30-1e31, U+1e3e-1e41, U+1e44-1e45, U+1e54-1e59, U+1e60-1e61, U+1e64-1e65, U+1e6a-1e6b, U+1e82-1e83, U+1e86-1e87, U+1e8a-1e8b, U+1e8e-1e8f, U+2013-2014, U+201d-201e, U+2022, U+2026, U+20ac, U+2190-2193, U+2264-2265, U+2713;
}
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/MaterialSymbols-400.woff2) format('woff2');
}

:root{
  --blue:#1E48E2;          /* primary accent */
  --blue-dark:#12309C;
  --blue-tint:#EAF0FF;
  --blue-lite:#5B84FF;     /* akcent na ciemnym tle; --blue ma za niski kontrast na --navy */
  --navy:#0A1633;          /* dark sections */
  --navy-2:#101F45;
  --ink:#1D1C1D;
  --gray:#616061;
  --line:#E8E8E8;
  --line-dark:#22335E;
  --ok:#2BAC76;
  --warn:#E8912D;
  --bad:#E01E5A;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --sans:'Lato',system-ui,sans-serif;
  --maxw:1200px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:#fff;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3{font-weight:900;letter-spacing:-.01em;line-height:1.08}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase;padding:15px 32px;border-radius:4px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s,box-shadow .15s,border-color .15s}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-dark)}
.btn-outline{border-color:var(--blue);color:var(--blue);background:#fff}
.btn-outline:hover{box-shadow:inset 0 0 0 1px var(--blue)}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{background:#E9EDF9}
.btn-outline-w{border-color:rgba(255,255,255,.6);color:#fff}
.btn-outline-w:hover{border-color:#fff;box-shadow:inset 0 0 0 1px #fff}
.btn-sm{padding:10px 18px;font-size:13px}

/* ---------- announcement + nav ---------- */
.announce{background:var(--navy);color:#fff;text-align:center;font-size:14px;padding:9px 16px}
.announce a{color:#9DB6FF;font-weight:700;text-decoration:underline;text-underline-offset:2px}
header{position:sticky;top:0;z-index:60;background:#fff;transition:box-shadow .2s}
header.scrolled{box-shadow:0 1px 0 var(--line),0 8px 24px -18px rgba(0,0,0,.25)}
.nav{display:flex;align-items:center;gap:32px;height:72px}
.logo{font-weight:900;font-size:26px;letter-spacing:-.02em;text-decoration:none;display:flex;align-items:center;gap:9px}
.logo-mark{width:24px;height:24px;flex:none;display:block}
.nav-links{display:flex;gap:26px;align-items:center;flex:1}
.nav-links a{text-decoration:none;font-size:15px;font-weight:700;color:var(--ink)}
.nav-links a:hover{color:var(--blue)}
.nav-right{display:flex;gap:14px;align-items:center}

/* ---------- hamburger + menu mobilne ---------- */
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--ink);border-radius:6px;margin-right:-10px}
.burger-box{display:block;width:22px;height:16px;position:relative}
.burger-l{position:absolute;left:0;width:100%;height:2px;background:currentColor;border-radius:2px;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .16s linear}
.burger-l:nth-child(1){top:0}
.burger-l:nth-child(2){top:7px}
.burger-l:nth-child(3){top:14px}
/* hamburger -> X, bez przeładowania ikony */
.burger[aria-expanded="true"] .burger-l:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] .burger-l:nth-child(2){opacity:0}
.burger[aria-expanded="true"] .burger-l:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* display:flex nadpisuje domyślne display:none atrybutu [hidden] — bez tego
   zamknięte menu dalej łapie kliknięcia w niewidocznej warstwie */
.mnav[hidden]{display:none}
.mnav{position:fixed;inset:0;z-index:80;background:#fff;display:flex;flex-direction:column;
  padding:0 24px calc(24px + env(safe-area-inset-bottom)) 24px;overflow-y:auto;overscroll-behavior:contain;
  opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .24s cubic-bezier(.22,1,.36,1)}
.mnav.open{opacity:1;transform:none}
.mnav-top{display:flex;align-items:center;justify-content:space-between;height:72px;flex:none;margin:0 -24px;padding:0 24px;border-bottom:1px solid var(--line)}
.mnav-top .logo{min-height:44px}
.mnav-x{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--ink);border-radius:6px;margin-right:-10px}
.mnav-x .material-symbols-outlined{font-size:26px}
/* linki: duże cele dotykowe, czytelna hierarchia */
.mnav-links{display:flex;flex-direction:column;padding-top:12px}
.mnav-links a{text-decoration:none;font-size:24px;font-weight:900;letter-spacing:-.01em;color:var(--ink);padding:18px 0;border-bottom:1px solid var(--line);min-height:44px;display:flex;align-items:center}
.mnav-links a:active{color:var(--blue)}
/* CTA w zasięgu kciuka, na dole ekranu */
.mnav-foot{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;gap:12px}
.mnav-foot .btn{width:100%;padding:17px 24px}

/* ---------- language switcher / przełącznik języka PL / EN ---------- */
.lang-switch{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden;flex:none}
.lang-opt{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:36px;padding:0 9px;font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--gray);text-decoration:none;text-transform:uppercase}
.lang-opt+.lang-opt{border-left:1px solid var(--line)}
a.lang-opt{transition:background .15s,color .15s}
a.lang-opt:hover{background:var(--blue-tint);color:var(--blue)}
.lang-opt.is-active{background:var(--blue);color:#fff}
.mnav-foot .lang-switch{align-self:center;margin-bottom:4px}
.mnav-foot .lang-opt{height:48px;min-width:66px;font-size:15px}
@media (max-width:880px){.nav-right .lang-switch{display:none}}
body.menu-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){
  .mnav{transition:opacity .01s;transform:none}
  .burger-l{transition:none}
}

/* ---------- footer ---------- */
footer{padding:64px 0 40px;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:32px;margin-bottom:48px}
.foot-col h5{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:14px}
.foot-col a{display:block;text-decoration:none;font-size:14.5px;color:var(--ink);padding:5px 0}
.foot-col a:hover{color:var(--blue)}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;font-size:13px;color:var(--gray)}
.foot-bottom a{text-decoration:none;color:var(--gray);margin-right:18px}
.foot-bottom a:hover{color:var(--blue)}

.material-symbols-outlined{
  font-family:'Material Symbols Outlined';
  font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;
  text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
  -webkit-font-smoothing:antialiased;user-select:none;
}

/* ---------- responsywnosc: te same progi co na stronie glownej ---------- */
/* ---------- nawigacja: zwija się, gdy linki + CTA przestają się mieścić ---------- */
@media (max-width:880px){
  .nav-links{display:none}
  .nav-right .btn-outline{display:none}
  .burger{display:inline-flex}
  .nav{gap:16px;justify-content:space-between}
  .nav-right{margin-left:auto}
}
/* menu mobilne istnieje tylko poniżej progu nawigacji */
@media (min-width:881px){
  .mnav{display:none!important}
}

/* =================================================================== */
/* ==== PODSTRONY DOKUMENTOW (polityka prywatnosci, regulamin) ==== */
/* =================================================================== */

/* Naglowek dokumentu: ten sam pastelowy motyw co hero na stronie glownej,
   ale wyciszony — to strona do czytania, nie do sprzedawania. */
.doc-hero{position:relative;overflow:hidden;isolation:isolate;padding:72px 0 56px;border-bottom:1px solid var(--line)}
.doc-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(46% 78% at 0% 100%, rgba(255,150,200,.34), transparent 72%),
  radial-gradient(34% 60% at 10% 20%, rgba(190,160,255,.30), transparent 74%),
  radial-gradient(46% 78% at 100% 100%, rgba(255,225,130,.40), transparent 72%),
  radial-gradient(34% 60% at 92% 18%, rgba(160,200,255,.34), transparent 74%)}
.doc-hero::after{content:"";position:absolute;left:50%;transform:translateX(-50%);top:-120%;width:72%;height:230%;border-radius:50%;background:#fff;box-shadow:0 0 70px 45px #fff;z-index:-1}
.doc-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:600;margin-bottom:14px}
.doc-hero h1{font-size:clamp(34px,5vw,54px);max-width:760px}
.doc-meta{margin-top:16px;font-size:15px;color:var(--gray);max-width:640px}
.doc-meta b{color:var(--ink);font-weight:700}

/* Uklad: spis tresci przyklejony z lewej, tresc w czytelnej szerokosci z prawej. */
.doc-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;padding-top:56px;padding-bottom:96px;align-items:start}

.doc-toc{position:sticky;top:96px;font-size:14px}
.doc-toc h2{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);font-weight:700;margin-bottom:14px}
.doc-toc ol{list-style:none;counter-reset:toc}
.doc-toc li{counter-increment:toc}
.doc-toc a{display:flex;gap:10px;text-decoration:none;color:var(--gray);padding:7px 0 7px 12px;border-left:2px solid var(--line);line-height:1.4}
.doc-toc a::before{content:counter(toc);font-family:var(--mono);font-size:11.5px;color:#B4B3B4;flex:none;padding-top:2px}
.doc-toc a:hover{color:var(--blue);border-left-color:var(--blue)}
/* Regulamin numeruje sie paragrafami, nie punktami — spis tresci musi to odbijac. */
.doc-toc.para a::before{content:"§ " counter(toc)}

/* Tresc dokumentu. Miara ~68 znakow — dluzsze wiersze gubia sie przy skanowaniu. */
.doc{max-width:720px}
.doc section+section{margin-top:44px}
.doc h2{font-size:clamp(21px,2.4vw,26px);scroll-margin-top:96px;display:flex;gap:12px;align-items:baseline}
.doc h2 .n{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--blue);flex:none}
.doc h2+*{margin-top:16px}
.doc p{font-size:16px;color:#3A3940}
.doc p+p,.doc ul+p,.doc p+ul,.doc ol+p,.doc p+ol{margin-top:14px}
.doc a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.doc a:hover{color:var(--blue-dark)}
.doc strong,.doc b{font-weight:700;color:var(--ink)}

/* Listy: kropka w kolorze marki zamiast domyslnego bullet. */
.doc ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.doc ul li{position:relative;padding-left:22px;font-size:16px;color:#3A3940}
.doc ul li::before{content:"";position:absolute;left:2px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.doc ol{list-style:none;counter-reset:item;display:flex;flex-direction:column;gap:12px}
.doc ol>li{position:relative;padding-left:30px;counter-increment:item;font-size:16px;color:#3A3940}
.doc ol>li::before{content:counter(item) ".";position:absolute;left:0;top:0;font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--blue);line-height:1.85}
.doc li ul{margin-top:12px}

/* Ramka na informacje, ktore uzytkownik szuka najczesciej (kontakt, wejscie w zycie). */
.doc-note{border:1px solid var(--line);border-left:3px solid var(--blue);background:var(--blue-tint);border-radius:0 8px 8px 0;padding:18px 20px;font-size:15px}
.doc-note p{font-size:15px}
.doc-note p+p{margin-top:8px}

/* Stopka dokumentu: powrot i link do drugiego dokumentu. */
.doc-foot{margin-top:56px;padding-top:28px;border-top:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:14.5px}
.doc-foot a{color:var(--blue);text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:8px}
.doc-foot a:hover{text-decoration:underline;text-underline-offset:3px}

/* Ponizej 980px spis tresci laduje nad trescia jako ramka na dwie kolumny —
   sticky sidebar w waskiej kolumnie zjadalby ekran. */
@media (max-width:980px){
  .doc-layout{grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:72px}
  .doc-toc{position:static;border:1px solid var(--line);border-radius:8px;padding:18px 20px}
  .doc-toc ol{columns:2;column-gap:24px}
  .doc-toc li{break-inside:avoid}
  .doc-toc a{padding:9px 0 9px 12px;min-height:44px;align-items:center}
  .doc{max-width:none}
}

@media (max-width:680px){
  .doc-hero{padding:48px 0 40px}
  .doc-hero h1{text-wrap:balance}
  .doc section+section{margin-top:36px}
  .doc p,.doc ul li,.doc ol>li{font-size:15.5px}
  .doc-toc ol{columns:1}
  .doc-foot{flex-direction:column;align-items:flex-start;gap:12px}
  .doc-foot a{min-height:44px}
  /* cele dotykowe w stopce — te same reguly co na stronie glownej */
  .foot-col a{padding:11px 0;min-height:44px;display:flex;align-items:center}
  .foot-bottom{gap:4px}
  .foot-bottom a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px 0 0;margin-right:6px}
  .announce{padding:6px 16px}
  .announce a{display:inline-block;padding:10px 4px;min-height:44px}
  .logo{min-height:44px}
  .nav-right .btn-sm{min-height:44px;padding:12px 18px}
}

@media (max-width:1000px){
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:400px){
  .foot-grid{grid-template-columns:1fr}
  .announce{font-size:13px}
}
@media (max-width:720px){
  .foot-grid{gap:28px 24px}
}

/* Druk: zostaje sama tresc dokumentu. */
@media print{
  .announce,header,.mnav,.doc-toc,footer,.doc-foot{display:none!important}
  .doc-hero{padding:0 0 24px;border:none}
  .doc-hero::before,.doc-hero::after{display:none}
  .doc-layout{display:block;padding:0}
  .doc{max-width:none}
  body{font-size:12pt}
}
