/* 21.34.26 — MOBILE: czytelność, wygoda dotyku i mniej „chromu” nad treścią.
 * Powstało po audycie 375/360/320 px oraz porównaniu z RMF FM, Radio 357, Radio Olsztyn, Olsztyn.com.pl i BBC News.
 * Zasady: (1) cel dotyku ≥ 44 px bez zmiany wyglądu, (2) najmniejszy tekst 12 px, (3) treść zaczyna się wyżej,
 * (4) dolny pasek skrótów chowa się podczas czytania (patrz mobile-site.js), (5) tryb aplikacji (TWA/PWA) bez ozdobników „z przeglądarki”.
 * Ładowany jako ostatni arkusz — nadpisuje warstwy mobile-site.css i portal.css. */

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.rkapp :is(a, button, summary, [role="button"], label, input, select, textarea) { touch-action: manipulation; }

/* Tryb aplikacji (Trusted Web Activity / „Dodaj do ekranu głównego”): bez odświeżania przeciągnięciem (przerywa audio) i bez zachęt do Google. */
@media (display-mode: standalone) {
  html, body { overscroll-behavior-y: none; }
  .rk-googlePreferredSource, .rk-editorialArticle__googleSource { display: none !important; }
}

@media (max-width: 900px) {

  /* ---- 1. Granica: wyniki nie mogą składać nazw drużyn w pionowe litery ---- */
  .rk-granicaMatches__pair { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .rk-granicaMatches__pair > i { display: none; }
  .rk-granicaMatches__pair > strong,
  .rk-granicaMatches__pair > strong:last-child { justify-content: flex-start; text-align: left; }
  .rk-granicaMatches__pair strong:last-child .rk-granicaTeam { justify-content: flex-start; }
  .rk-granicaMatches .rk-granicaTeam__name { overflow-wrap: break-word; }

  /* ---- 2. Cele dotyku ≥ 44 px (wygląd bez zmian: powiększamy obszar kliknięcia) ---- */
  html body .rkapp :is(.rkp-sec__head a, .rkp-serwis__all, .rk-homeToplist__cta, .rkp-towns a, .rkp-hubNav a, .rk-newsroomSectionHead a, .rk-newsroomArchiveEntry a, .rk-mobilePlayerBar__program, .rk-editorialMeta a, .rk-editorialArticle__source a, .rk-editorialAside__more) { position: relative; }
  html body .rkapp :is(.rkp-sec__head a, .rkp-serwis__all, .rk-homeToplist__cta, .rk-newsroomSectionHead a, .rk-newsroomArchiveEntry a, .rk-mobilePlayerBar__program, .rk-editorialArticle__source a, .rk-editorialAside__more)::after { content: ""; position: absolute; inset: -16px -10px; }
  html body .rkapp .rk-editorialMeta a::after { content: ""; position: absolute; inset: -14px -6px; }
  html body .rkapp .rkp-towns a::after, html body .rkapp .rkp-hubNav a::after { content: ""; position: absolute; inset: -8px -3px; }
  html body .rkapp .rkp-towns { row-gap: 6px; }
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageCrumbs { min-height: 44px; }
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageCrumbs a { display: inline-flex; align-items: center; min-height: 44px; }
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageCrumbs .rk-pageCrumbs__home { min-width: 44px; margin-inline: -7px; padding-inline: 7px; }
  html body.rkrc-responsive-site .rkapp[data-rkrc-player] :is(.rk-headerAction--play, .rk-headerMenuToggle, [data-rk="muteBtn"]) { min-width: 44px; width: 44px; height: 44px; }
  html body .rkapp .rk-radioHero__secondary { min-height: 44px; }
  html body .rkapp .rk-granicaNav a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
  html body .rkapp .rk-granica :is(header > a, .rk-granicaSourceNote a, li > a) { position: relative; }
  html body .rkapp .rk-granica :is(header > a, .rk-granicaSourceNote a)::after { content: ""; position: absolute; inset: -14px -8px; }
  html body .rkapp .rk-granica li > a::after { content: ""; position: absolute; inset: -8px 0; }
  html body .rkapp .rk-siteFooter__utilities :is(a, button) { width: 44px; height: 44px; }
  html body .rkapp .rk-newsShare.rk-newsShare--icons :is(a, button) { width: 44px !important; min-width: 44px; height: 44px !important; }
  html body .rkapp .rk-siteFooter :is(.rk-siteFooter__nav nav a, .rk-siteFooter__brandItem, .rk-siteFooter__bottom a, .rk-siteFooter__bottom button, .rk-siteFooter__agencyCredit a) { display: flex; align-items: center; min-height: 44px; }
  html body .rkapp .rk-siteFooter :is(.rk-siteFooter__owner, .rk-siteFooter__zsmMore, .rk-siteFooter__offerPdf) { display: flex; align-items: center; min-height: 44px; }
  html body .rkapp .rk-siteFooter__nav nav { gap: 0 24px; }
  html body .rkapp .rk-siteFooter summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; }

  /* ---- 3. Podłoga typograficzna: etykiety i metadane nie schodzą poniżej 12 px (wyjątek: napis „TERAZ GRA” w pasku, 11 px) ---- */
  html body .rkapp :is(.rkp-src, .rkp-kicker, .rkp-tv__more strong, .rkp-serwis__state, .rkp-gc small, .rkp-serwis__copy small, .rkp-regsec__list b, .rk-homeToplist__cta,
    .rk-newsroomDepartment a, .rk-newsroomDepartment span, .rk-newsroomStrip span, .rk-newsTypeBadge, .rk-granicaSection a, .rk-granicaSection span, .rk-siteFooter h4, .rk-editorialBulletinCard__host) { font-size: 12px !important; }
  html body .rkapp :is(.rkp-feed__meta, .rkp-feed__meta *, .rk-newsroomStreamItem__copy time, .rk-newsroomDepartmentStory__copy time, .rk-newsroomRailStory__copy time, .rk-editorialTease__footer time, .rk-editorialRelatedCard__copy time, .rk-newsroomSectionHead a, .rk-granicaMatches time, .rk-radioHero__secondary strong,
    .rk-siteFooter :is(.rk-siteFooter__owner small, .rk-siteFooter__agencyCredit, .rk-siteFooter__bottom a, .rk-siteFooter__bottom span, .rk-siteFooter__bottom button)) { font-size: 12.5px !important; }
  html body .rkapp :is(.rk-radioHeroTrack__rank, .rk-granicaTable th) { font-size: 11.5px !important; }
  html body .rkapp .rk-mobilePlayerBar__copy small { font-size: 11px; }
  html body .rkapp .rk-mobilePlayerBar__copy span { font-size: 12.5px; }

  /* ---- 4. Dolny pasek: jeden wiersz odtwarzacza (56 px) + skróty, które chowają się przy czytaniu ---- */
  html body .rkapp .rk-mobilePlayerBar { min-height: 56px; padding-block: 6px; gap: 14px; }
  html body .rkapp .rk-mobilePlayerBar__play { height: 44px; padding: 0 22px; }
  html body .rkapp .rk-mobileQuickDock > * { min-height: 44px; }
  html body .rkapp .rk-mobileQuickDock { max-height: 48px; overflow: hidden; transition: max-height .22s ease, opacity .18s ease, visibility 0s; }
  html.rk-dockHidden body .rkapp .rk-mobileQuickDock { max-height: 0; opacity: 0; visibility: hidden; border-top-width: 0; pointer-events: none; transition: max-height .22s ease, opacity .18s ease, visibility 0s .22s; }
  html.rk-dockHidden { --rk-mobile-quick-h: 0px; }
  html body .rkapp :is(.rk-mobilePlayerBar__play, .rk-mobileQuickDock > *):active { transform: scale(.97); }

  /* przycisk „do góry” motywu (Astra) nie może wchodzić na dolny pasek: siedzi tuż nad nim i schodzi razem z chowanym paskiem skrótów */
  html body #ast-scroll-top { width: 44px; height: 44px; right: 14px !important; bottom: calc(117px + env(safe-area-inset-bottom, 0px)) !important; z-index: 8000; border-radius: 12px; transition: bottom .22s ease; }
  html.rk-dockHidden body #ast-scroll-top { bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important; }

  /* ---- 5. Treść zaczyna się wyżej: pasek okruszków z ikoną Google w jednym wierszu, zwarty nagłówek strony ---- */
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageUtilityBand { padding-block: 2px; }
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageUtilityBand__inner--source { display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; }
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageUtilityBand__inner--source .rk-pageCrumbs { flex: 1 1 0; min-width: 0; width: auto; }
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-googlePreferredSource { flex: 0 0 auto; justify-self: auto; margin: 0; min-height: 44px; }
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageHero { padding: 14px var(--rk-mobile-gutter) 16px; gap: 8px; }
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageHero h1 { margin: 2px 0 6px; font-size: clamp(27px, 7.6vw, 33px); }
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageHero p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: 16.5px; line-height: 1.55; }

  /* ---- 6. Artykuł: zdjęcie w pierwszym ekranie (bez podwójnego paska udostępniania i zachęty Google nad tytułem) ---- */
  html body .rk-editorialArticle .rk-editorialArticle__topShare { display: none; }
  html body .rk-editorialArticle .rk-editorialArticle__googleSource--top { display: none; }
  html body .rk-editorialArticle .rk-editorialArticle__byline { padding-top: 0; gap: 8px 14px; }
  html body .rk-editorialArticle .rk-editorialArticle__header { gap: 10px; padding-bottom: 16px; }
  html body .rk-editorialArticle .rk-editorialArticle__figure { margin: 16px calc(-1 * var(--rk-mobile-gutter, 14px)) 0; }
  html body .rk-editorialArticle .rk-editorialArticle__figure img { width: 100%; max-height: 62vw; }
  html body .rk-editorialArticle .rk-editorialArticle__figure :is(img, .rk-editorialArticle__image--default) { border-radius: 0; border-inline-width: 0; }
  html body .rk-editorialArticle .rk-editorialArticle__figure figcaption { padding-inline: var(--rk-mobile-gutter, 14px); }
  html body .rk-editorialArticle .rk-editorialArticle__googleSource--end { display: flex; margin-top: 28px; }
}

/* zachęta „Dodaj nas do Google”: na wąskich telefonach tylko ikona (etykieta w aria-label), żeby okruszki miały miejsce */
/* Historia Granicy: na najwęższych telefonach data w osobnym wierszu (kolumna 72 px składała ją w pionowe fragmenty) */
@media (max-width: 400px) {
  .rk-granicaHistory__matches li { grid-template-columns: minmax(0, 1fr) auto; row-gap: 2px; }
  .rk-granicaHistory__matches time { grid-column: 1 / -1; }
}

/* dotyk: krótka informacja zwrotna przy naciśnięciu (jak w aplikacji) */
@media (max-width: 900px) and (hover: none) {
  .rkapp a[data-rk-nav]:active { opacity: .72; }
}

@media (max-width: 520px) {
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageUtilityBand .rk-googlePreferredSource { min-width: 44px; padding: 3px; justify-content: center; }
  html body.rkrc-responsive-site .rkapp[data-rkapp="page"] .rk-pageUtilityBand .rk-googlePreferredSource__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}

/* powyżej 900 px zachęta na końcu artykułu jest zbędna (jest w nagłówku) */
@media (min-width: 901px) {
  .rk-editorialArticle__googleSource--end { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html body .rkapp .rk-mobileQuickDock, html.rk-dockHidden body .rkapp .rk-mobileQuickDock { transition: none; }
  html body .rkapp :is(.rk-mobilePlayerBar__play, .rk-mobileQuickDock > *):active { transform: none; }
}
