/* Tabele danych w treści stron (Płatności, Organizacja roku akademickiego, Erasmus+), od 15.10.2026.
   Klasy nadawane w edytorze: ujw-data-table (+ ujw-data-table--cards: na telefonie wiersze jako karty).
   Starsze klasy ujw-fee-table / ujw-fee-table--tuition ze strony Płatności działają tak samo. */
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) { margin: 1.25em 0 0.75em; overflow-x: auto; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table):focus-visible { outline: 3px solid var(--ujw-color-blue-800); outline-offset: 3px; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) table { table-layout: auto; width: 100%; border: 1px solid var(--ujw-color-border); border-collapse: separate; border-spacing: 0; border-radius: var(--ujw-radius-md); overflow: hidden; font-size: 0.95rem; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) :is(th, td) { padding: 11px 16px; border: 0; border-bottom: 1px solid var(--ujw-color-border); text-align: left; vertical-align: top; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) thead th { background: var(--ujw-color-navy-900); color: var(--ujw-color-white); font-weight: 700; vertical-align: bottom; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) tbody th { background: transparent; color: var(--ujw-color-text, inherit); font-weight: 400; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) :is(th, td) { word-break: normal; overflow-wrap: normal; hyphens: manual; }
.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) tbody th { font-weight: 600; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) tbody tr:last-child :is(th, td) { border-bottom: 0; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) tbody tr:not(:has(td[colspan])):hover :is(th, td) { background: #f6f8fb; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) td[colspan] { padding-top: 14px; background: var(--ujw-color-surface); color: var(--ujw-color-navy-900); font-weight: 700; text-align: left; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) figcaption { margin-top: 8px; }
.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) .is-empty { color: var(--ujw-color-muted); }

/* Liczby wyrównane do prawej: czesne, opłaty, stawki, ryczałty. */
@media (min-width: 721px) {
	.ujw-rich-content .ujw-fee-table--tuition :is(th, td):not(:first-child) { width: 11%; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
	.ujw-rich-content .ujw-fee-table--tuition td[colspan] { font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; }
	.ujw-rich-content .ujw-fee-table--other :is(th, td):last-child { width: 13em; text-align: right; }
	.ujw-rich-content .ujw-fee-table--other td:last-child { font-variant-numeric: tabular-nums; font-weight: 600; }
	.ujw-rich-content .ujw-fee-table--other td[colspan] { width: auto; text-align: left; }
	.ujw-rich-content .ujw-data-table--cards :is(th, td):nth-child(n+3),
	.ujw-rich-content .ujw-data-table--travel :is(th, td):not(:first-child) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
	.ujw-rich-content .ujw-data-table--cards thead th:nth-child(n+3),
	.ujw-rich-content .ujw-data-table--travel thead th:not(:first-child) { white-space: normal; }
	.ujw-rich-content .ujw-data-table--cards td:nth-child(n+3) { font-weight: 600; }
	.ujw-rich-content .ujw-data-table--cards tbody th { white-space: nowrap; }
	.ujw-rich-content .ujw-data-table--schedule :is(th, td):last-child { width: 15em; white-space: nowrap; font-variant-numeric: tabular-nums; }
	.ujw-rich-content .ujw-data-table--schedule td[colspan] { white-space: normal; }
}

@media (max-width: 720px) {
	.ujw-rich-content :is(.ujw-data-table, .ujw-fee-table) :is(th, td) { padding: 10px 12px; font-size: 0.9rem; }
	.ujw-rich-content .ujw-fee-table--other :is(th, td):last-child { width: 32%; text-align: right; }
	.ujw-rich-content .ujw-fee-table--other td:last-child { font-variant-numeric: tabular-nums; font-weight: 600; }
	.ujw-rich-content .ujw-fee-table--other td[colspan] { width: auto; text-align: left; }
	.ujw-rich-content .ujw-data-table--travel :is(th, td):not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
	.ujw-rich-content .ujw-data-table--schedule td:last-child { width: 8.6em; font-variant-numeric: tabular-nums; }

	/* Karty: każdy wiersz osobno, etykiety z nagłówków kolumn (data-label dodaje data-tables.js);
	   etykiety pomijane przez czytniki ekranu, bo komórka ma już nagłówek kolumny. */
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) { overflow: visible; }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) :is(table, tbody, th, td) { display: block; }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 10px; padding: 12px 14px; border-bottom: 1px solid var(--ujw-color-border); }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) tbody tr:last-child { border-bottom: 0; }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) tbody tr:has(td[colspan]) { display: block; padding: 0; }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) tbody :is(th, td) { width: auto; padding: 0; border: 0; background: none !important; text-align: left !important; white-space: normal; }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) td[colspan] { padding: 12px 14px 10px; background: var(--ujw-color-surface) !important; }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) tbody th,
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) .is-wide { grid-column: 1 / -1; }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) tbody th { color: var(--ujw-color-navy-900); font-weight: 700; }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) td[data-label]::before { display: block; margin-bottom: 2px; color: var(--ujw-color-muted); font-size: 0.75rem; font-weight: 400; line-height: 1.35; content: attr(data-label); content: attr(data-label) / ""; }
	.ujw-rich-content :is(.ujw-data-table--cards, .ujw-fee-table--tuition) .is-empty { display: none; }
	.ujw-rich-content .ujw-data-table--cards td:nth-child(n+3) { font-weight: 600; font-variant-numeric: tabular-nums; }
	.ujw-rich-content .ujw-fee-table--tuition tbody tr { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.ujw-rich-content .ujw-fee-table--tuition td { font-variant-numeric: tabular-nums; }
}
