/* Rozkłady jazdy /rozklady (theme/3, szablony site/Rozklady, korzeń .tm-rj) - mobile first.
   Kolory przez tokeny :root z css.css; własne tylko barwy znaczków linii (--rj-*), biel na nich >= 4,5:1.
   Każdy link ma własną klasę (reguła .tm-pagecard :is(p,li,dd,td) a:not([class]) barwi linki bez klasy).
   Przy zmianie podbij ?v= w site/Rozklady/_zasoby.tpl. */
.tm-rj{--rj-bus:#1f5fa8;--rj-tram:#0d7880;--rj-noc:#2b2f3a;--rj-ac:#1f5fa8;--rj-ac-bg:#e9f1fb;--rj-r:10px;
 min-width:0;color:var(--txt);font-size:15px;line-height:1.5}
.tm-rj *,.tm-rj *::before,.tm-rj *::after{box-sizing:border-box}
.tm-rj-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.tm-rj a.tm-rj-a{color:var(--rj-ac);text-decoration:underline;text-underline-offset:2px}
.tm-rj a.tm-rj-a:hover{color:var(--txt-h)}

/* nagłówek */
.tm-rj-glowa{margin:0 0 20px}
.tm-rj-wstecz{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:-6px 0 6px;font:600 14px var(--f-ui);color:var(--txt-2);text-decoration:none}
.tm-rj-wstecz::before{content:"";width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:2px}
.tm-rj-wstecz:hover{color:var(--rj-ac)}
.tm-rj-h1{margin:0;font:700 26px/1.2 var(--f-ui);color:var(--txt-h);letter-spacing:-.01em;overflow-wrap:break-word}
.tm-rj-h1s{display:block;margin-top:2px;font:600 13px var(--f-lab);letter-spacing:.06em;text-transform:uppercase;color:var(--txt-2)}
.tm-rj-h1e{display:block;margin-bottom:2px;font:600 13px var(--f-lab);letter-spacing:.06em;text-transform:uppercase;color:var(--txt-2)}
.tm-rj-lead{margin:8px 0 0;color:var(--txt-2)}
.tm-rj-meta{margin:6px 0 0;font-size:14px;color:var(--txt-2)}
.tm-rj-tyt{display:flex;align-items:flex-start;gap:14px}
.tm-rj-tytx{min-width:0;flex:1}
.tm-rj-od{margin:12px 0 0;font-size:13.5px;color:var(--txt-2)}
.tm-rj-od--nowy{display:inline-block;padding:4px 10px;border-radius:999px;background:#fff4dc;color:#6b4a00;font-weight:600}
.tm-rj-uwaga{margin:12px 0 0;padding:10px 14px;border-radius:var(--rj-r);background:var(--band);font-size:14px}

/* znaczek linii */
.tm-rj-nr{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;
 border-radius:8px;background:var(--rj-bus);color:#fff;font:700 18px/1 var(--f-lab);letter-spacing:.01em;white-space:nowrap}
.tm-rj-nr--tram{background:var(--rj-tram)}
.tm-rj-nr--noc{background:var(--rj-noc)}
.tm-rj-nr--dlugi{font-size:16px}
.tm-rj-nr--duzy{min-width:56px;height:56px;border-radius:12px;font-size:26px}
.tm-rj-nr--duzy.tm-rj-nr--dlugi{font-size:21px}

/* kierunek */
.tm-rj-kier{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:16px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--rj-r);background:var(--band)}
.tm-rj-kiert{display:flex;flex-direction:column;min-width:0;flex:1 1 220px}
.tm-rj-et{display:block;font:600 12px var(--f-lab);letter-spacing:.06em;text-transform:uppercase;color:var(--txt-2)}
.tm-rj-kierd{font:700 19px/1.3 var(--f-ui);color:var(--txt-h);overflow-wrap:break-word}
.tm-rj-kierz{font-size:13.5px;color:var(--txt-2)}

/* przyciski */
.tm-rj-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--hair);border-radius:999px;
 background:var(--bg);color:var(--txt-h);font:600 14.5px var(--f-ui);line-height:normal;text-decoration:none;cursor:pointer;white-space:nowrap}
.tm-rj-btn:hover{border-color:var(--rj-ac);color:var(--rj-ac)}
.tm-rj-btn--pel{border-color:var(--rj-ac);background:var(--rj-ac);color:#fff}
.tm-rj-btn--pel:hover{background:#17497f;color:#fff}
.tm-rj :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--rj-ac);outline-offset:2px}

/* sekcje */
.tm-rj-sekcja,.tm-rj-dni{margin:28px 0 0}
.tm-rj-h2{display:flex;align-items:center;gap:8px;margin:0 0 10px;font:700 19px/1.3 var(--f-ui);color:var(--txt-h)}
.tm-rj-h2a{color:inherit;text-decoration:none}
.tm-rj-h2a:hover{color:var(--rj-ac)}
.tm-rj-ile{display:inline-block;min-width:24px;padding:1px 7px;border-radius:999px;background:var(--band);font:600 12.5px/1.5 var(--f-ui);color:var(--txt-2);text-align:center}
.tm-rj-pod{margin:-4px 0 12px;font-size:13.5px;color:var(--txt-2)}
.tm-rj-brak{margin:16px 0;padding:14px 16px;border-radius:var(--rj-r);background:var(--band);color:var(--txt-2)}

/* lista: narzędzia */
.tm-rj-narz{display:grid;gap:16px;margin:0 0 8px}
.tm-rj-pole{display:flex;flex-direction:column;gap:4px;min-width:0}
.tm-rj-inp{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--hair);border-radius:var(--rj-r);background:var(--bg);color:var(--txt-h);font:400 16px var(--f-ui)}
.tm-rj-inp:focus{border-color:var(--rj-ac);outline:none;box-shadow:0 0 0 3px var(--rj-ac-bg)}
.tm-rj-filtr .tm-rj-inp{padding-left:42px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23626b79' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 14px 50%}
.tm-rj-przf{padding:16px;border:1px solid var(--line);border-radius:var(--rj-r);background:var(--band)}
.tm-rj-przf .tm-rj-h2{font-size:17px}
.tm-rj-przr{display:grid;gap:12px}
.tm-rj-blad{margin:10px 0 0;color:#a3222d;font-size:14px;font-weight:600}
.tm-rj-brakw{margin:20px 0;color:var(--txt-2)}
.tm-rj-rekl{margin:20px 0 0}

/* lista: linie */
.tm-rj-prz{margin:26px 0 0}
.tm-rj-linie{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.tm-rj-lin{border-bottom:1px solid var(--line)}
.tm-rj-linl{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 4px;color:var(--txt-h);text-decoration:none}
.tm-rj-linl:hover{background:var(--band)}
.tm-rj-lint{display:flex;flex-direction:column;min-width:0;flex:1}
.tm-rj-linr{font-weight:600;font-size:15px;line-height:1.35;overflow-wrap:break-word}
.tm-rj-strz{margin:0 6px;color:var(--txt-3);font-weight:400}
.tm-rj-lino{margin-top:2px;font-size:13px;color:var(--txt-2);overflow-wrap:break-word}
.tm-rj-chev{flex:none;width:9px;height:9px;margin-right:6px;border-top:2px solid var(--txt-3);border-right:2px solid var(--txt-3);transform:rotate(45deg)}

/* przystanki (oś trasy) */
.tm-rj-trasa{position:relative;margin:0;padding:0;list-style:none;counter-reset:none}
.tm-rj-st{position:relative;padding-left:30px}
.tm-rj-st::before{content:"";position:absolute;left:11px;top:0;bottom:0;width:3px;background:var(--rj-ac);opacity:.35}
.tm-rj-st:first-child::before{top:50%}
.tm-rj-st:last-child::before{bottom:50%}
.tm-rj-st::after{content:"";position:absolute;left:6px;top:50%;width:13px;height:13px;margin-top:-6.5px;border:3px solid var(--rj-ac);border-radius:50%;background:var(--bg)}
.tm-rj-st:first-child::after,.tm-rj-st:last-child::after{background:var(--rj-ac)}
.tm-rj-stl{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:8px 8px 8px 6px;border-bottom:1px solid var(--line);color:var(--txt-h);text-decoration:none}
.tm-rj-stl:hover{background:var(--band)}
.tm-rj-stn{min-width:0;overflow-wrap:break-word}
.tm-rj-start{flex:none;font-size:12.5px;font-weight:600;color:var(--rj-ac)}
.tm-rj-off{flex:none;font-size:13px;font-variant-numeric:tabular-nums;color:var(--txt-2)}
.tm-rj-warn{flex:none;font-size:12.5px;color:var(--txt-2)}
.tm-rj-nz{margin-left:4px;padding:0 5px;border-radius:4px;background:var(--band);font:600 11px/1.6 var(--f-ui);color:var(--txt-2);text-decoration:none;vertical-align:1px;cursor:help}
.tm-rj-tu{flex:none;padding:2px 8px;border-radius:999px;background:var(--rj-ac);color:#fff;font:600 12px/1.5 var(--f-ui)}
.tm-rj-st--akt::after{width:17px;height:17px;left:4px;margin-top:-8.5px;background:var(--rj-ac);box-shadow:0 0 0 4px var(--rj-ac-bg)}
.tm-rj-st--akt .tm-rj-stl{font-weight:700}
.tm-rj-st--przed .tm-rj-stl{color:var(--txt-2)}
.tm-rj-st--przed::after{border-color:var(--hair)}
.tm-rj-st--przed::before{background:var(--hair);opacity:1}

/* przebieg trasy (zwijany) i tabela wariantów */
.tm-rj-trasad>summary,.tm-rj-wardt>summary{cursor:pointer;list-style:none}
.tm-rj-trasad>summary::-webkit-details-marker,.tm-rj-wardt>summary::-webkit-details-marker{display:none}
.tm-rj-trasad>summary::after,.tm-rj-wardt>summary::after{content:"";width:8px;height:8px;margin-left:auto;margin-right:6px;border-right:2px solid var(--txt-2);border-bottom:2px solid var(--txt-2);transform:rotate(45deg);transition:transform .15s}
.tm-rj-trasad[open]>summary::after,.tm-rj-wardt[open]>summary::after{transform:rotate(-135deg)}
.tm-rj-trasad>summary{min-height:44px}
.tm-rj-wardt{margin:16px 0 0;border:1px solid var(--line);border-radius:var(--rj-r)}
.tm-rj-wardt>summary{display:flex;align-items:center;min-height:46px;padding:0 14px;font-weight:600;color:var(--txt-h)}
.tm-rj-wardt>.tm-rj-pod{margin:10px 14px 14px}
.tm-rj-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line)}
.tm-rj-wtab{border-collapse:collapse;min-width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}
.tm-rj-wtab th,.tm-rj-wtab td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}
.tm-rj-wtab thead th{background:var(--band);font:600 12.5px var(--f-ui);color:var(--txt-2)}
.tm-rj-wtab tbody th{position:sticky;left:0;z-index:1;max-width:190px;background:var(--bg);text-align:left;font-weight:600;white-space:normal;box-shadow:1px 0 0 var(--line)}
.tm-rj-wtab thead th:first-child{position:sticky;left:0;z-index:2;text-align:left}

/* odjazdy: zakładki i siatka */
.tm-rj-tabs{display:none}
html.tm-rj-js .tm-rj-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;margin:0 0 14px;padding:4px;border-radius:12px;background:var(--band)}
.tm-rj-tab{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:var(--txt-2);font:600 14.5px var(--f-ui);line-height:normal;cursor:pointer}
.tm-rj-tab[aria-selected="true"]{background:var(--bg);color:var(--txt-h);box-shadow:0 1px 3px rgba(16,20,28,.16)}
.tm-rj-tabn{font-weight:500;font-size:12px;color:var(--txt-2)}
html:not(.tm-rj-js) .tm-rj-pan[hidden]{display:block}
html.tm-rj-js .tm-rj-panh{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tm-rj-panh{margin:16px 0 8px;font:700 16px var(--f-ui);color:var(--txt-h)}
.tm-rj-siatka{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tm-rj-siatka th{width:52px;padding:7px 0;border-bottom:1px solid var(--line);background:var(--band);font:700 17px var(--f-ui);color:var(--txt-h);text-align:center;vertical-align:top}
.tm-rj-siatka td{padding:3px 0 3px 8px;border-bottom:1px solid var(--line)}
.tm-rj-min{display:flex;flex-wrap:wrap;gap:2px 2px;margin:0;padding:0;list-style:none}
.tm-rj-min li{display:inline-flex;align-items:flex-start;min-width:42px;padding:4px 6px;border-radius:7px;font-size:16.5px;line-height:1.4;color:var(--txt-h)}
.tm-rj-min sup{top:auto;margin-left:1px;font-size:10.5px;font-weight:700;line-height:1.2;color:var(--rj-ac)}
.tm-rj-min li.tm-rj-min--min{color:var(--txt-2);font-weight:300}
.tm-rj-min li.tm-rj-min--min sup{color:var(--txt-2)}
.tm-rj-min li.tm-rj-min--nast{background:var(--rj-ac);color:#fff;font-weight:700}
.tm-rj-min li.tm-rj-min--nast sup{color:#fff}
.tm-rj-nast{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-height:52px;margin:0 0 14px;padding:12px 16px;border-radius:var(--rj-r);background:var(--rj-ac-bg);color:var(--txt-h);font-size:15px}
.tm-rj-nast[hidden]{display:none}
/* miejsce na pasek zarezerwowane przed skryptem (bez przesunięcia zakładek i siatki, CLS) */
html.tm-rj-js .tm-rj-nast[hidden]{display:flex;visibility:hidden}
.tm-rj-nast b{font-size:22px;font-variant-numeric:tabular-nums}
.tm-rj-nast span{color:var(--txt-2);font-size:14px}

/* oznaczenia */
.tm-rj-leg{display:grid;gap:6px;margin:0}
.tm-rj-leg div{display:flex;gap:10px;align-items:baseline}
.tm-rj-leg dt{flex:none;min-width:28px;padding:1px 6px;border-radius:6px;background:var(--rj-ac-bg);color:var(--rj-ac);font-weight:700;font-size:13.5px;text-align:center}
.tm-rj-leg dd{margin:0;font-size:14px;overflow-wrap:break-word}

/* inne linie i chipy */
.tm-rj-inne{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.tm-rj-inna{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 8px 6px 6px;border:1px solid var(--line);border-radius:var(--rj-r);color:var(--txt-h);text-decoration:none}
.tm-rj-inna:hover{border-color:var(--rj-ac)}
.tm-rj-innad{flex:1;min-width:0;font-weight:600;overflow-wrap:break-word}
.tm-rj-chipy{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.tm-rj-chip{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:44px;padding:0 12px;border:1px solid var(--hair);border-radius:10px;color:var(--txt-h);font:700 16px var(--f-lab);text-decoration:none}
.tm-rj-chip:hover{border-color:var(--rj-ac);color:var(--rj-ac)}
.tm-rj-chip--akt{border-color:var(--rj-ac);background:var(--rj-ac);color:#fff}
.tm-rj-chip--akt:hover{color:#fff}

/* wynik wyszukiwarki przystanku */
.tm-rj-plinie{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.tm-rj-pl{border:1px solid var(--line);border-radius:var(--rj-r);overflow:hidden}
.tm-rj-plg{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--band)}
.tm-rj-plo{min-width:0;font-size:13.5px;color:var(--txt-2);overflow-wrap:break-word}
.tm-rj-pk{margin:0;padding:0;list-style:none}
.tm-rj-pk li+li{border-top:1px solid var(--line)}
.tm-rj-pkl{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;color:var(--txt-h);text-decoration:none}
.tm-rj-pkl:hover{background:var(--band)}
.tm-rj-pkt{flex:1;min-width:0;overflow-wrap:break-word}
.tm-rj-najbl{flex:none;font-size:14px;font-variant-numeric:tabular-nums;color:var(--txt-2);text-align:right}
.tm-rj-najbl b{color:var(--rj-ac)}

/* stopka i zapas ALIB */
.tm-rj-stopka{margin:32px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--txt-2)}
.tm-rj-stopka p{margin:0 0 8px}
.tm-rj-info{padding:10px 14px;border-radius:var(--rj-r);background:var(--band)}
.tm-rj-alib{margin:16px 0 0;overflow-x:auto}

@media(min-width:640px){
 .tm-rj-h1{font-size:30px}
 .tm-rj-narz{grid-template-columns:1fr}
 .tm-rj-przr{grid-template-columns:minmax(140px,200px) 1fr auto;align-items:end}
 .tm-rj-linie{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;border-top:0}
 .tm-rj-lin{border-top:1px solid var(--line);border-bottom:0;margin-bottom:-1px}
 .tm-rj-linie{border-bottom:1px solid var(--line)}
 .tm-rj-inne{grid-template-columns:1fr 1fr}
 .tm-rj-siatka th{width:60px}
}
@media(max-width:639px){
 /* zwarty nagłówek na telefonie: kierunek i przycisk-ikona w jednym wierszu, siatka odjazdów bliżej góry */
 .tm-rj-glowa{margin-bottom:14px}
 .tm-rj-kier{flex-wrap:nowrap;margin-top:12px;padding:10px 12px}
 .tm-rj-kierd{font-size:17px}
 .tm-rj-zmien span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .tm-rj-zmien{flex:none;width:44px;padding:0}
 .tm-rj-nr--duzy{min-width:48px;height:48px;font-size:22px}
 .tm-rj-sekcja,.tm-rj-dni{margin-top:22px}
}
@media(max-width:380px){
 .tm-rj-wtab{font-size:13px}
 .tm-rj-min li{min-width:38px;padding:4px 4px;font-size:16px}
}
@media print{
 .tm-rj-tabs,.tm-rj-nast,.tm-rj-narz,.tm-rj-zmien,.tm-rj-rekl{display:none!important}
 .tm-rj-pan[hidden]{display:block!important}
 html.tm-rj-js .tm-rj-panh{position:static;width:auto;height:auto;margin:12px 0 6px;clip:auto}
}
