/* RS Z okolicy 1.2.1: uklad agregatora, kolory dziedziczone z motywu radia. */
.rsok {
  --rsok-bg: var(--bg, #11130f);
  --rsok-panel: var(--panel, #1c2018);
  --rsok-ink: var(--ink, #f7f7ed);
  --rsok-muted: var(--muted, #adb2a3);
  --rsok-lime: var(--lime, #d0ff42);
  --rsok-orange: var(--orange, #ff5724);
  --rsok-line: var(--line, #3e4436);
  --rsok-heading: var(--heading, Impact, 'Arial Narrow', sans-serif);
  color: var(--rsok-ink);
  font-family: var(--body, Arial, Helvetica, sans-serif);
  font-size: 15px;
  line-height: 1.55;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto 42px;
  min-width: 0;
}
.rsok *, .rsok *::before, .rsok *::after { box-sizing: border-box; }
.rsok [hidden] { display: none !important; }
.rsok a { color: var(--rsok-lime); text-underline-offset: 4px; }
.rsok a:hover { color: var(--rsok-ink); text-decoration: underline; }
.rsok button, .rsok select { font: inherit; }
.rsok button { cursor: pointer; touch-action: manipulation; }
.rsok button:disabled { opacity: .6; cursor: wait; }
.rsok :is(a, button, select, summary):focus-visible { outline: 3px solid var(--rsok-orange); outline-offset: 4px; }
.rsok p, .rsok h2, .rsok h3 { margin: 0; }
.rsok .rsok-kicker { color: var(--rsok-lime); font-size: .67rem; font-weight: 800; letter-spacing: .14em; }
.rsok .rsok-intro { display: flex; gap: 12px; flex-wrap: wrap; align-items: baseline; border-top: 3px double var(--rsok-line); padding: 12px 0 0; margin: 0 0 19px; }
.rsok .rsok-intro p { color: var(--rsok-muted); font-size: .85rem; }
.rsok .rsok-panel { border: 1px solid var(--rsok-line); border-radius: 12px; padding: clamp(16px, 2.5vw, 27px); background: var(--rsok-panel); margin: 0 0 20px; }
.rsok .rsok-section-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.rsok .rsok-section-head h2 { font-family: var(--rsok-heading); font-size: clamp(1.65rem, 2.7vw, 2.15rem); letter-spacing: .01em; line-height: 1.12; margin: 4px 0 0; }
.rsok .rsok-location { display: flex; flex-direction: column; gap: 4px; color: var(--rsok-muted); font-size: .72rem; min-width: 0; }
.rsok .rsok-location select { border: 1px solid var(--rsok-line); background: var(--rsok-bg); color: var(--rsok-ink); border-radius: 6px; padding: 9px 10px; font-size: .82rem; min-height: 40px; max-width: 100%; }
.rsok .rsok-status { color: var(--rsok-muted); font-size: .77rem; margin: 10px 0 14px; }
.rsok :is(.rsok-status, .rsok-period):empty { display: none; }
.rsok .rsok-warning { border-left: 3px solid var(--rsok-orange); padding: 8px 11px; }
.rsok .rsok-pill { font-size: .64rem; letter-spacing: .08em; border: 1px solid var(--rsok-line); border-radius: 30px; padding: 6px 10px; color: var(--rsok-muted); white-space: nowrap; }
/* Prognoza godzinowa i siedem stale widocznych, niewielkich kart. */
.rsok .rsok-weather-top { display: grid; grid-template-columns: minmax(230px, .85fr) minmax(0, 1.4fr); gap: 24px; align-items: center; padding: 12px 0 19px; border-bottom: 1px solid var(--rsok-line); }
.rsok .rsok-weather-now { display: flex; gap: 14px; align-items: center; min-width: 0; }
.rsok .rsok-weather-temp { display: block; font-size: clamp(2.4rem, 5vw, 3.5rem); font-weight: 800; line-height: 1.05; letter-spacing: -.04em; }
.rsok .rsok-weather-words { display: block; font-size: .88rem; margin-top: 6px; }
.rsok .rsok-weather-small { display: block; color: var(--rsok-muted); font-size: .72rem; max-width: 280px; margin-top: 7px; }
.rsok .rsok-weather-hours { min-width: 0; }
.rsok .rsok-weather-label { font-family: var(--body, Arial, sans-serif); font-size: .73rem; font-weight: 700; color: var(--rsok-muted); text-transform: uppercase; letter-spacing: .07em; margin: 18px 0 10px; line-height: 1.4; }
.rsok .rsok-weather-hours .rsok-weather-label { margin-top: 0; }
.rsok .rsok-hourly { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.rsok .rsok-hour { min-width: 0; text-align: center; font-size: .72rem; padding: 5px 0; }
.rsok .rsok-hour time, .rsok .rsok-hour small { display: block; color: var(--rsok-muted); }
.rsok .rsok-hour strong { display: block; font-size: 1rem; line-height: 1.3; }
.rsok .rsok-hour small { font-size: .62rem; margin-top: 4px; }
.rsok .rsok-wicon { display: inline-flex; flex: 0 0 auto; width: 36px; height: 36px; color: var(--rsok-muted); vertical-align: middle; }
.rsok .rsok-wicon svg { width: 100%; height: 100%; display: block; }
.rsok .rsok-wicon .rsok-icon-sun { color: #ffc45f; }
.rsok .rsok-wicon .rsok-icon-moon { color: var(--rsok-lime); }
.rsok .rsok-wicon .rsok-icon-water { color: #9bcce0; }
.rsok .rsok-wicon .rsok-icon-snow { color: #e4f3fa; }
.rsok .rsok-wicon .rsok-icon-cloud { fill: var(--rsok-panel); }
.rsok .rsok-weather-bigicon { width: 64px; height: 64px; }
.rsok .rsok-daylist { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; align-items: start; }
.rsok .rsok-day { min-width: 0; text-align: center; border: 1px solid var(--rsok-line); border-radius: 8px; background: var(--rsok-bg); padding: 10px 7px 8px; }
.rsok .rsok-day-name { display: block; font-size: .85rem; text-transform: capitalize; }
.rsok .rsok-day-date { display: block; font-size: .65rem; color: var(--rsok-muted); }
.rsok .rsok-day .rsok-wicon { margin: 5px 0 3px; }
.rsok .rsok-day-temp { font-size: .84rem; font-weight: 700; white-space: nowrap; }
.rsok .rsok-day-condition { display: block; color: var(--rsok-muted); font-size: .65rem; line-height: 1.25; margin: 5px 0; min-height: 2.5em; overflow-wrap: normal; hyphens: auto; }
.rsok .rsok-day-rain { display: block; color: var(--rsok-muted); font-size: .65rem; }
.rsok .rsok-day details { border-top: 1px solid var(--rsok-line); margin-top: 8px; padding-top: 5px; text-align: left; font-size: .66rem; }
.rsok .rsok-day summary { cursor: pointer; color: var(--rsok-lime); text-align: center; list-style: none; min-height: 26px; padding: 4px 0; }
.rsok .rsok-day summary::after { content: ' +'; }
.rsok .rsok-day details[open] summary::after { content: ' -'; }
.rsok .rsok-day details p { color: var(--rsok-muted); margin-top: 5px; font-size: .65rem; line-height: 1.4; }
.rsok .rsok-empty-hours { grid-column: 1 / -1; color: var(--rsok-muted); font-size: .76rem; }
.rsok .rsok-credit { color: var(--rsok-muted); font-size: .68rem; margin-top: 13px; }
/* Rozklad i jeden kompaktowy kontakt zamiast dwoch kafelkow. */
.rsok .rsok-bus-row { border-top: 1px solid var(--rsok-line); }
.rsok .rsok-bus-row summary { display: grid; grid-template-columns: 73px 60px minmax(0, 1fr) 18px; gap: 10px; align-items: center; padding: 12px 0; cursor: pointer; list-style: none; }
.rsok summary::-webkit-details-marker { display: none; }
.rsok .rsok-bus-time { font-size: 1.35rem; font-weight: 800; }
.rsok .rsok-line-number { font-weight: 800; color: var(--rsok-lime); border: 1px solid var(--rsok-line); border-radius: 5px; text-align: center; padding: 4px 5px; font-size: .8rem; overflow-wrap: anywhere; }
.rsok .rsok-bus-headsign { font-size: .9rem; font-weight: 600; overflow-wrap: anywhere; }
.rsok .rsok-expand { font-size: 1.3rem; color: var(--rsok-lime); text-align: center; transition: transform .15s; }
.rsok .rsok-bus-row[open] .rsok-expand { transform: rotate(45deg); }
.rsok .rsok-bus-extra { padding: 0 0 13px 83px; color: var(--rsok-muted); font-size: .8rem; }
.rsok .rsok-bus-extra p { margin: 3px 0; }
.rsok .rsok-bus-footer { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 14px; margin-top: 10px; border-top: 1px solid var(--rsok-line); padding-top: 15px; }
.rsok .rsok-more-link { font-size: .78rem; font-weight: 700; white-space: nowrap; }
.rsok .rsok-contact { display: flex; flex-direction: column; gap: 2px; border-left: 3px solid var(--rsok-orange); padding-left: 12px; min-width: 0; font-size: .75rem; }
.rsok .rsok-contact a { overflow-wrap: anywhere; font-size: .76rem; }
/* Trzy zakladki i redakcyjna lista: data z lewej, opis i zrodla z prawej. */
.rsok .rsok-news { margin-top: 29px; }
.rsok .rsok-refresh { border: 1px solid var(--rsok-line); border-radius: 6px; background: var(--rsok-panel); color: var(--rsok-ink); padding: 10px 14px; min-height: 40px; font-size: .75rem; }
.rsok .rsok-refresh:hover { border-color: var(--rsok-lime); }
.rsok .rsok-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 20px; }
.rsok .rsok-tab { position: relative; min-width: 0; min-height: 142px; display: flex; flex-direction: column; gap: 11px; text-align: left; align-items: stretch; padding: 17px 19px 24px; color: var(--rsok-ink); background: var(--rsok-panel); border: 1px solid var(--rsok-line); border-radius: 9px; }
.rsok .rsok-tab-top { display: flex; justify-content: space-between; align-items: center; gap: 6px; font-size: .68rem; letter-spacing: .06em; color: var(--rsok-muted); }
.rsok .rsok-tab-count { font-variant-numeric: tabular-nums; padding: 2px 6px; border: 1px solid var(--rsok-line); border-radius: 5px; }
.rsok .rsok-tab strong { font-family: var(--rsok-heading); font-size: clamp(1.4rem, 2.8vw, 2.1rem); font-weight: 900; letter-spacing: .01em; line-height: 1.1; }
.rsok .rsok-tab-desc { font-size: .71rem; line-height: 1.4; max-width: 90%; color: var(--rsok-muted); }
.rsok .rsok-tab-arrow { position: absolute; bottom: 13px; right: 14px; font-size: 1.25rem; }
.rsok .rsok-tab[aria-selected="true"] { color: var(--rsok-bg); background: var(--rsok-lime); border-color: var(--rsok-lime); }
.rsok .rsok-tab[aria-selected="true"] :is(.rsok-tab-top, .rsok-tab-desc) { color: var(--rsok-bg); }
.rsok .rsok-tab[aria-selected="true"] .rsok-tab-count { border-color: rgba(0, 0, 0, .3); }
.rsok .rsok-tab:hover:not([aria-selected="true"]) { border-color: var(--rsok-lime); }
.rsok [data-rsok-results] { scroll-margin-top: 24px; outline: none; }
.rsok .rsok-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 17px; }
.rsok .rsok-filters button { min-height: 40px; border: 1px solid var(--rsok-line); border-radius: 30px; padding: 8px 12px; color: var(--rsok-ink); background: var(--rsok-bg); font-size: .76rem; }
.rsok .rsok-filters button span { margin-left: 4px; color: var(--rsok-muted); font-size: .68rem; font-variant-numeric: tabular-nums; }
.rsok .rsok-filters button[aria-pressed="true"] { border-color: var(--rsok-lime); color: var(--rsok-lime); background: var(--rsok-panel); }
.rsok .rsok-period { font-size: .74rem; color: var(--rsok-muted); margin: 0 0 7px; }
.rsok .rsok-result-summary { font-size: .76rem; font-weight: 700; margin: 8px 0 12px; }
.rsok .rsok-items { min-height: 65px; }
.rsok .rsok-entry { display: grid; grid-template-columns: 125px minmax(0, 1fr); gap: 24px; padding: 23px 0; border-top: 1px solid var(--rsok-line); }
.rsok .rsok-entry-date { padding-top: 3px; }
.rsok .rsok-entry-date-label { display: block; color: var(--rsok-muted); letter-spacing: .08em; font-size: .6rem; }
.rsok .rsok-entry-date time { display: block; color: var(--rsok-lime); font-weight: 800; font-size: .95rem; margin-top: 5px; }
.rsok .rsok-entry-date small { display: block; color: var(--rsok-muted); margin-top: 5px; font-size: .68rem; }
.rsok .rsok-entry-date .rsok-event-hour { display: block; margin-top: 7px; color: var(--rsok-ink); font-size: .9rem; }
.rsok .rsok-entry-date .rsok-event-city { display: block; margin-top: 4px; font-size: .75rem; overflow-wrap: anywhere; }
.rsok .rsok-event-schedule { margin: 10px 0; font-size: .8rem; }
.rsok .rsok-event-schedule summary { cursor: pointer; font-weight: 700; }
.rsok .rsok-event-schedule ul { padding-left: 20px; line-height: 1.6; }
.rsok .rsok-entry-date .rsok-past { color: #ffb180; }
.rsok .rsok-entry-meta { color: var(--rsok-muted); font-size: .7rem; line-height: 1.5; }
.rsok .rsok-entry h3 { margin: 7px 0 9px; font-family: var(--body, Arial, sans-serif); font-weight: 800; font-size: clamp(1rem, 1.75vw, 1.23rem); line-height: 1.35; overflow-wrap: anywhere; }
.rsok .rsok-entry h3 a { color: var(--rsok-ink); text-decoration: none; }
.rsok .rsok-entry h3 a:hover { color: var(--rsok-lime); text-decoration: underline; }
.rsok .rsok-entry .rsok-description { color: var(--rsok-muted); font-size: .86rem; line-height: 1.65; margin: 0 0 8px; overflow-wrap: anywhere; }
.rsok .rsok-origin { font-size: .69rem; color: var(--rsok-muted); margin-top: 8px; line-height: 1.65; overflow-wrap: anywhere; }
.rsok .rsok-origin a { color: var(--rsok-lime); }
.rsok .rsok-entry-warning { display: block; color: #ffb180; font-size: .67rem; margin-top: 6px; }
.rsok .rsok-alert { border: 1px dashed var(--rsok-line); border-radius: 7px; padding: 18px; color: var(--rsok-muted); font-size: .84rem; }
.rsok .rsok-deep-links { display: flex; gap: 10px 18px; flex-wrap: wrap; border-top: 1px solid var(--rsok-line); padding-top: 15px; margin-top: 13px; }
.rsok .rsok-deep-links a { font-size: .73rem; font-weight: 700; padding: 5px 0; }
/* Paginacja nad i pod lista, ta sama granica 20 w kazdej podkategorii. */
.rsok .rsok-pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--rsok-line); }
.rsok .rsok-page-numbers { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 5px; }
.rsok .rsok-pagination a { color: var(--rsok-ink); text-decoration: none; }
.rsok .rsok-pagination a:hover { color: var(--rsok-lime); border-color: var(--rsok-lime); }
.rsok .rsok-page-number { display: inline-flex; justify-content: center; align-items: center; min-width: 36px; min-height: 38px; padding: 6px; border: 1px solid var(--rsok-line); border-radius: 5px; font-size: .77rem; }
.rsok .rsok-page-number[aria-current="page"] { color: var(--rsok-bg); background: var(--rsok-lime); border-color: var(--rsok-lime); font-weight: 800; }
.rsok .rsok-page-prev, .rsok .rsok-page-next { font-size: .76rem; padding: 9px 0; min-height: 38px; white-space: nowrap; }
.rsok .rsok-page-prev { justify-self: start; }
.rsok .rsok-page-next { justify-self: end; }
.rsok .rsok-pagination [aria-disabled="true"] { color: var(--rsok-muted); opacity: .55; }
.rsok .rsok-page-dots { color: var(--rsok-muted); font-size: .75rem; }
@media (max-width: 850px) {
  .rsok .rsok-weather-top { grid-template-columns: 1fr; gap: 19px; }
  .rsok .rsok-hourly { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .rsok .rsok-daylist { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rsok .rsok-tab { padding: 14px 13px 22px; min-height: 137px; }
  .rsok .rsok-entry { grid-template-columns: 105px minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 600px) {
  .rsok { font-size: 14px; }
  .rsok .rsok-panel { padding: 16px 13px; border-radius: 9px; }
  .rsok .rsok-section-head { align-items: flex-start; gap: 10px; }
  .rsok .rsok-section-head h2 { font-size: 1.65rem; }
  .rsok .rsok-location { font-size: .66rem; max-width: 155px; }
  .rsok .rsok-location select { font-size: .71rem; padding: 8px 5px; }
  .rsok .rsok-day { padding-left: 5px; padding-right: 5px; }
  .rsok .rsok-day-condition { font-size: .6rem; }
  .rsok .rsok-tabs { gap: 6px; margin-top: 15px; }
  .rsok .rsok-tab { min-height: 135px; padding: 11px 8px 25px; gap: 10px; }
  .rsok .rsok-tab strong { font-size: clamp(1.05rem, 4.5vw, 1.55rem); }
  .rsok .rsok-tab-desc { font-size: .62rem; max-width: 100%; }
  .rsok .rsok-tab-top { font-size: .59rem; }
  .rsok .rsok-tab-count { padding: 1px 4px; }
  .rsok .rsok-tab-arrow { bottom: 6px; right: 8px; font-size: 1.1rem; }
  .rsok .rsok-bus-row summary { grid-template-columns: 57px 45px minmax(0, 1fr) 14px; gap: 7px; }
  .rsok .rsok-bus-time { font-size: 1.12rem; }
  .rsok .rsok-bus-headsign { font-size: .8rem; }
  .rsok .rsok-line-number { font-size: .7rem; }
  .rsok .rsok-bus-extra { padding-left: 0; }
  .rsok .rsok-bus-footer { align-items: flex-start; flex-direction: column; }
  .rsok .rsok-contact { width: 100%; font-size: .78rem; padding: 4px 0 4px 12px; }
  .rsok .rsok-pill { font-size: .55rem; padding: 5px 7px; margin-top: 3px; }
  .rsok .rsok-entry { grid-template-columns: 1fr; gap: 7px; padding: 18px 0; }
  .rsok .rsok-entry-date { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; padding: 0; }
  .rsok .rsok-entry-date time { margin: 0; font-size: .76rem; }
  .rsok .rsok-entry-date small { margin: 0; }
  .rsok .rsok-entry h3 { font-size: 1.04rem; margin: 5px 0 8px; }
  .rsok .rsok-entry .rsok-description { font-size: .81rem; }
  .rsok .rsok-pagination { grid-template-columns: 1fr 1fr; gap: 3px 10px; }
  .rsok .rsok-page-numbers { grid-column: 1 / -1; grid-row: 2; }
  .rsok .rsok-page-next { grid-column: 2; grid-row: 1; }
  .rsok .rsok-page-number { min-height: 40px; min-width: 35px; }
  .rsok .rsok-filters { gap: 6px; }
  .rsok .rsok-filters button { padding: 8px 10px; font-size: .72rem; }
  .rsok .rsok-result-summary { font-size: .7rem; }
}
@media (max-width: 380px) {
  .rsok .rsok-daylist { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rsok .rsok-hourly { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 11px; }
  .rsok .rsok-location { max-width: 137px; }
  .rsok .rsok-tab-desc { font-size: .58rem; }
  .rsok .rsok-tab { padding-left: 6px; padding-right: 6px; }
}
@media (prefers-reduced-motion: reduce) { .rsok * { scroll-behavior: auto !important; transition: none !important; } }

/* 1.2.6 - dyskretny status, komplet danych dopiero po rozwinieciu. */
.rsok .rsok-feed-sync {
  --rsok-diagnostic-red: #ff9696;
  padding: 0; margin: 6px 0 12px; border: 0; border-radius: 0;
  font-size: .76rem; line-height: 1.55; overflow-wrap: anywhere;
}
.rsok .rsok-sync-disclosure {margin:0; padding:0; border:0; background:transparent;}
.rsok .rsok-sync-toggle {
  display: list-item; width: fit-content; max-width:100%; min-height:32px;
  padding:6px 2px; color:var(--rsok-muted); cursor:pointer;
  font-size:.73rem; line-height:1.5; font-weight:400; text-transform:none;
}
.rsok .rsok-sync-toggle:hover {color:var(--rsok-ink);}
.rsok .rsok-sync-toggle::marker {font-size:.8em;}
.rsok .rsok-sync-body {
  padding:12px 14px; margin:5px 0 8px;
  color:var(--rsok-diagnostic-red); background:var(--rsok-bg);
  border:1px solid var(--rsok-line); border-radius:8px;
}
.rsok .rsok-feed-sync .rsok-sync-body p {margin:0 0 5px;line-height:inherit;font-size:inherit;color:inherit;}
.rsok .rsok-sync-headline, .rsok .rsok-sync-error, .rsok .rsok-sync-source-heading {font-weight:600;}
.rsok .rsok-sync-label {opacity:1;}
.rsok .rsok-sync-times time {font-variant-numeric:tabular-nums;}
.rsok .rsok-sync-details {margin-top:10px;}
.rsok .rsok-sync-source {padding:8px 0 0;margin-top:8px;border-top:1px solid var(--rsok-line);}
.rsok .rsok-sync-issue {font-weight:600;}
.rsok .rsok-sync-critical .rsok-sync-toggle {color:var(--rsok-diagnostic-red);font-weight:600;}
.rsok .rsok-sync-critical .rsok-sync-body {border-left:3px solid var(--rsok-diagnostic-red);}
@media(max-width:480px){
  .rsok .rsok-sync-body {padding:10px;font-size:.76rem;}
  .rsok .rsok-sync-times .rsok-sync-label {display:block;}
}

/* Godzina wyliczona: osobna mala etykieta bez rozpychania kolumny na telefonie. */
.rsok .rsok-bus-approx { display:block; font-size:.65em; line-height:1.15; font-weight:600; }

/* 1.3.1 - krótka informacja o prawie cytatu na końcu widoku. */
.rsok .rsok-quote-law, .rsok-quote-law { margin:20px 0 0; padding-top:12px; border-top:1px solid var(--rsok-line,#39453a); font-size:.72rem; line-height:1.55; opacity:.78; }
.rsok .rsok-quote-law a, .rsok-quote-law a { color:inherit; text-decoration:underline; }

/* Legacy AJAX frontend: editorial actions are added for authorized WP users only. */
.rsok-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.rsok-editor-action{font-size:12px;font-weight:700;display:inline-flex;border:1px solid currentColor;border-radius:7px;padding:7px 10px;text-decoration:none;overflow-wrap:anywhere}
.rsok-editor-action:hover,.rsok-editor-action:focus-visible{text-decoration:underline}
