/*
 * Wielkość tekstu na całej stronie (21.34.192): dwie ikonki z boku ekranu (A+ nad A−), trzy stopnie 100 / 112 / 125%.
 * Stopień to atrybut html[data-rk-text] (ustawia go skrypt w <head> przed wyświetleniem strony i textsize.js po kliknięciu).
 * Powiększamy treść i stopkę (CSS zoom, jak w ZSM 5.10.2); nagłówek serwisu, dolne paski i player zostają bez zmian.
 * Paleta RK: granat #0a2244, złoto #f4c84a.
 */
html[data-rk-text="1"] :is(main[data-rk-shell-main],footer[data-rk-shell-footer]){zoom:1.12}
html[data-rk-text="2"] :is(main[data-rk-shell-main],footer[data-rk-shell-footer]){zoom:1.25}
/* nagłówki h1/h2 w treści są już duże — kontr-zoom (1,12 × 0,8929 = 1; 1,25 × 0,8 = 1) */
html[data-rk-text="1"] main[data-rk-shell-main] :is(h1,h2){zoom:.8929}
html[data-rk-text="2"] main[data-rk-shell-main] :is(h1,h2){zoom:.8}

/* opakowania pełnej szerokości (width:100vw + ujemne marginesy, np. hero strony głównej) nie znoszą zoomu — jednostki vw liczą się wtedy podwójnie i treść ucieka w lewo.
   Dlatego na takim opakowaniu zoom jest odwołany (1 / 1,12 = 0,8929; 1 / 1,25 = 0,8), a powiększone są jego dzieci (tło i krawędzie zostają na całą szerokość). Lista opakowań: .rk-radioHero. */
html[data-rk-text="1"] main[data-rk-shell-main] .rk-radioHero{zoom:.8929}
html[data-rk-text="1"] main[data-rk-shell-main] .rk-radioHero>*{zoom:1.12}
html[data-rk-text="2"] main[data-rk-shell-main] .rk-radioHero{zoom:.8}
html[data-rk-text="2"] main[data-rk-shell-main] .rk-radioHero>*{zoom:1.25}

/* linie źródła (.rkp-src) mają white-space:nowrap — po powiększeniu długa nazwa źródła wychodziłaby poza kartę; w powiększonym tekście mogą się zawijać */
html[data-rk-text] main[data-rk-shell-main] .rkp-src{white-space:normal;max-width:100%}

/* ikonki z boku */
html body .rk-textsize{position:fixed;right:0;top:50%;z-index:7000;display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;padding:6px 4px 6px 5px;border:1px solid rgba(255,255,255,.18);border-right:0;border-radius:18px 0 0 18px;background:rgba(10,34,68,.94);box-shadow:0 14px 30px -14px rgba(3,14,32,.8);transform:translateY(-50%);transition:transform .22s ease,opacity .2s ease;-webkit-text-size-adjust:100%}
html body .rk-textsize[hidden]{display:none}
html body .rk-textsize *{box-sizing:border-box}
html body .rk-textsize .rk-ts__btn{display:grid;place-items:center;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:12px;background:transparent;color:#eaf1fa;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:800;line-height:1;text-transform:none;letter-spacing:0;cursor:pointer;transition:background-color .2s ease,color .2s ease}
html body .rk-textsize .rk-ts__btn.is-up{font-size:18px}
html body .rk-textsize .rk-ts__btn.is-down{font-size:14px}
html body .rk-textsize .rk-ts__btn sup{margin-left:1px;color:#f4c84a;font-size:.62em;font-weight:900;line-height:0;vertical-align:.55em}
html body .rk-textsize .rk-ts__btn:is(:hover,:focus-visible){background:rgba(244,200,74,.14);color:#fff}
html body .rk-textsize .rk-ts__btn:focus-visible{outline:2px solid #f4c84a;outline-offset:1px}
html body .rk-textsize .rk-ts__btn[aria-disabled="true"]{opacity:.38;cursor:default}
html body .rk-textsize .rk-ts__btn[aria-disabled="true"]:is(:hover,:focus-visible){background:transparent;color:#eaf1fa}
html body .rk-textsize .rk-ts__dots{display:flex;gap:3px;padding:2px 0}
html body .rk-textsize .rk-ts__dots i{display:block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.28)}
/* stopień: jedna złota kropka = 100%, dwie = 112%, trzy = 125% */
html body .rk-textsize:not([data-level]) .rk-ts__dots i:first-child,html body .rk-textsize[data-level="0"] .rk-ts__dots i:first-child,html body .rk-textsize[data-level="1"] .rk-ts__dots i:nth-child(-n+2),html body .rk-textsize[data-level="2"] .rk-ts__dots i{background:#f4c84a}
html body .rk-textsize .rk-ts__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap}

/* telefon i tablet: większy cel dotyku; ikonki chowają się razem z dolnym paskiem skrótów (przewijanie w dół), wracają przy przewijaniu w górę */
@media (max-width:900px){
  html body .rk-textsize{top:42%;padding:5px 3px 5px 4px}
  html body .rk-textsize .rk-ts__btn{width:44px;height:44px}
  html.rk-dockHidden body .rk-textsize{transform:translate(calc(100% + 8px),-50%);opacity:0;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){html body .rk-textsize,html body .rk-textsize .rk-ts__btn{transition:none}}
@media print{html body .rk-textsize{display:none}}
