/* /software/ section: loaded only on /software/ pages (Base.astro). Tables here have no per-cell data-label,
   so on phones they keep the table layout and scroll inside .table-wrap instead of folding into cards. */
@media(max-width:700px){
  main.sw .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius)}
  main.sw .table-wrap .facts{min-width:440px}
  main.sw .facts{border:1px solid var(--line);overflow:hidden;margin:1em 0}
  main.sw .table-wrap .facts{margin:0}
  main.sw .facts thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}
  main.sw .facts tbody tr{display:table-row;border:0;border-radius:0;margin:0;padding:0;background:transparent}
  main.sw .facts tbody th,main.sw .facts tbody td{display:table-cell;border:0;border-bottom:1px solid var(--line);padding:12px 14px;text-align:left;width:auto;font-size:inherit}
  main.sw .facts tbody th{background:var(--bg-soft)}
  main.sw .facts tbody td::before{content:none}
  main.sw .facts tr:last-child td,main.sw .facts tr:last-child th{border-bottom:0}
}
/* 24.10.2026: cień na krawędzi, gdy tabela da się przewinąć w bok (przegląd wyglądu: przy 768 i 375 px kolumny były ucięte bez żadnego znaku).
   Białe nakładki „local” jadą z treścią i zasłaniają cień na końcu przewijania; cienie „scroll” stoją przy krawędzi. */
main.sw .table-wrap{background:
  linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) 0 0/32px 100% no-repeat local,
  linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) 100% 0/32px 100% no-repeat local,
  radial-gradient(farthest-side at 0 50%,rgba(15,23,42,.22),rgba(15,23,42,0)) 0 0/14px 100% no-repeat scroll,
  radial-gradient(farthest-side at 100% 50%,rgba(15,23,42,.22),rgba(15,23,42,0)) 100% 0/14px 100% no-repeat scroll}
main.sw .table-wrap .facts tbody td{background:transparent}
/* 24.10.2026 (FSO-108): na telefonie pierwsza kolumna (firma / plan) przyklejona przy przewijaniu tabeli w bok, żeby wiersz było
   wiadomo, czego dotyczy. Tabele z rowspan (firma na kilka planów): przykleja się komórka z rowspan, nie pierwsza w każdym wierszu. */
@media(max-width:700px){
  main.sw .table-wrap .facts:not(:has(td[rowspan])) tr > :first-child,
  main.sw .table-wrap .facts:has(td[rowspan]) thead th:first-child,
  main.sw .table-wrap .facts:has(td[rowspan]) td[rowspan]{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--line)}
  main.sw .table-wrap .facts{overflow:visible}  /* overflow:hidden na tabeli wyłącza position:sticky komórek */
  main.sw .table-wrap .facts thead th:first-child,
  main.sw .table-wrap .facts:not(:has(td[rowspan])) tbody th:first-child{background:var(--bg-soft)}
}
