.spm-bus {
    --spm-bus-green:#4e7250;
    --spm-bus-green-mid:#5b7d5d;
    --spm-bus-green-table:#6f8f71;
    --spm-bus-green-dark:#3f6142;
    --spm-bus-border:#cfd9cb;
    --spm-bus-row:#f5f9f1;
    --spm-bus-text:#173f35;
    padding:28px 0 50px;
}
.spm-bus,.spm-bus *{box-sizing:border-box}
.spm-bus__top{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin:0 0 18px}
.spm-bus__title-area{min-width:0}
.spm-bus__download{display:inline-flex;align-items:center;gap:14px;min-width:310px;padding:14px 18px;border:1px solid #456747;border-radius:10px;background:var(--spm-bus-green);color:#fff!important;text-decoration:none!important;box-shadow:0 8px 18px rgba(63,97,66,.18);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.spm-bus__download:hover,.spm-bus__download:focus-visible{background:var(--spm-bus-green-dark);color:#fff!important;transform:translateY(-1px);box-shadow:0 10px 22px rgba(63,97,66,.23)}
.spm-bus__download-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;overflow:hidden}
.spm-bus__download-icon img{display:block;width:46px;height:46px;object-fit:contain;filter:brightness(0) invert(1)}
.spm-bus__download strong{display:block;font-size:1rem;line-height:1.25;color:#fff}
.spm-bus__download small{display:block;margin-top:4px;font-size:.78rem;line-height:1.2;color:rgba(255,255,255,.9)}
.spm-bus__top h2{margin:0;color:var(--spm-bus-text);font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.12}
.spm-bus__school-year{margin-top:8px;color:var(--spm-bus-green);font-size:clamp(1.35rem,2.3vw,1.9rem);font-weight:900;line-height:1.1}
.spm-bus__tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.spm-bus__tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid #cbdabb;border-radius:8px;background:linear-gradient(180deg,#fff 0%,#f2f7ed 100%);color:#173f35;font-size:.84rem;font-weight:900;text-decoration:none;box-shadow:0 3px 8px rgba(45,78,54,.05)}
.spm-bus__tabs a:hover,.spm-bus__tabs a:focus-visible,.spm-bus__tabs a.is-active{border-color:var(--spm-bus-green);background:var(--spm-bus-green);color:#fff;box-shadow:0 7px 16px rgba(78,114,80,.2)}
.spm-bus__section{margin:0 0 28px;overflow:hidden;border:1px solid var(--spm-bus-border);border-radius:12px;background:#fff}
.spm-bus__section-heading{padding:15px 18px;background:var(--spm-bus-green);color:#fff;font-weight:800;font-size:1.18rem}
.spm-bus__route{margin:0;padding:14px 18px;border-bottom:1px solid #dbe2d8;background:#fbfcf8;color:#496353;line-height:1.5}
.entry-content .spm-bus table.spm-bus__table,.spm-bus table.spm-bus__table{width:100%;margin:0;border:0;border-radius:0;border-spacing:0;border-collapse:collapse;background:transparent;box-shadow:none;font-size:.93rem}
.entry-content .spm-bus table.spm-bus__table th,.spm-bus table.spm-bus__table th{padding:11px 12px;border-right:1px solid rgba(255,255,255,.2);background:var(--spm-bus-green-table);color:#fff;font-size:.82rem;font-weight:800;text-align:left}
.entry-content .spm-bus table.spm-bus__table td,.spm-bus table.spm-bus__table td{padding:12px;border-right:1px solid #dbe2d8;border-bottom:1px solid #dbe2d8;vertical-align:top;line-height:1.4;background:#fff}
.entry-content .spm-bus table.spm-bus__table tbody tr:nth-child(even) td,.spm-bus table.spm-bus__table tbody tr:nth-child(even) td{background:var(--spm-bus-row)}
.spm-bus__notice{padding:16px 18px;border:1px solid #e5c658;border-radius:10px;background:#fff9df;color:#554812;line-height:1.55}
@media(max-width:760px){
  .spm-bus{padding:20px 0 36px}
  .spm-bus__top{display:block;margin-bottom:16px}
  .spm-bus__download{width:100%;min-width:0;margin-top:18px}
  .spm-bus__tabs{gap:6px;margin-bottom:16px}
  .spm-bus__tabs a{min-height:42px;padding:0 13px;font-size:.78rem}

  /* Na telefonie zachowujemy tabelę jak na desktopie:
     te same kolory, pionowe linie i czytelny układ kolumn.
     Przy węższym ekranie tabela przewija się poziomo zamiast rozpadać na karty. */
  .spm-bus__section{overflow:hidden;margin-bottom:22px}
  .spm-bus__section-heading{padding:13px 14px;font-size:1.05rem}
  .spm-bus__route{padding:12px 14px;font-size:.88rem}

  .spm-bus__table-wrap{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .entry-content .spm-bus table.spm-bus__table,
  .spm-bus table.spm-bus__table{
    display:table!important;
    width:100%!important;
    min-width:620px;
    table-layout:fixed;
    border-collapse:collapse!important;
    font-size:.82rem;
  }
  .spm-bus__table thead{display:table-header-group!important}
  .spm-bus__table tbody{display:table-row-group!important}
  .spm-bus__table tr{display:table-row!important;padding:0!important;border:0!important}
  .entry-content .spm-bus table.spm-bus__table th,
  .spm-bus table.spm-bus__table th{
    display:table-cell!important;
    padding:9px 8px!important;
    border-right:1px solid rgba(255,255,255,.28)!important;
    background:var(--spm-bus-green-table)!important;
    color:#fff!important;
    font-size:.74rem;
    line-height:1.25;
    white-space:normal;
  }
  .entry-content .spm-bus table.spm-bus__table td,
  .spm-bus table.spm-bus__table td{
    display:table-cell!important;
    width:auto!important;
    padding:9px 8px!important;
    border-right:1px solid #dbe2d8!important;
    border-bottom:1px solid #dbe2d8!important;
    background:#fff!important;
    color:inherit;
    line-height:1.32;
    vertical-align:top;
  }
  .entry-content .spm-bus table.spm-bus__table tbody tr:nth-child(even) td,
  .spm-bus table.spm-bus__table tbody tr:nth-child(even) td{
    background:var(--spm-bus-row)!important;
  }
  .spm-bus__table th:last-child,
  .spm-bus__table td:last-child{border-right:0!important}
  .spm-bus__table td::before{content:none!important;display:none!important}

  /* Miejscowość pozostaje widoczna podczas przesuwania tabeli w bok. */
  .spm-bus__table th:first-child,
  .spm-bus__table td:first-child{
    position:sticky;
    left:0;
    z-index:2;
    box-shadow:1px 0 0 #dbe2d8;
  }
  .spm-bus__table th:first-child{
    z-index:4;
    background:var(--spm-bus-green-table)!important;
  }
  .spm-bus__table tbody tr:nth-child(odd) td:first-child{
    background:#fff!important;
  }
  .spm-bus__table tbody tr:nth-child(even) td:first-child{
    background:var(--spm-bus-row)!important;
  }
  .spm-bus__notice{padding:14px;font-size:.88rem}
}

@media(max-width:480px){
  .spm-bus__top h2{font-size:1.55rem}
  .spm-bus__school-year{font-size:1.25rem}
  .spm-bus__download{padding:12px 14px}
  .spm-bus__download-icon,
  .spm-bus__download-icon img{width:40px;height:40px}
  .spm-bus__download-icon{flex-basis:40px}
  .spm-bus__download strong{font-size:.94rem}
  .spm-bus__download small{font-size:.74rem}
  .entry-content .spm-bus table.spm-bus__table,
  .spm-bus table.spm-bus__table{min-width:590px;font-size:.79rem}
}
