/* category nav chips */
.cat-nav { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px; }
.cat-chip { display:inline-flex; align-items:center; gap:9px; font-family:var(--font-display); font-weight:600; font-size:14px; color:var(--ink-2); background:#fff; padding:10px 16px; border-radius:999px; box-shadow: inset 0 0 0 1px var(--line), var(--shadow-sm); transition: all .15s; cursor:pointer; }
.cat-chip:hover { box-shadow: inset 0 0 0 1px var(--blue-300), var(--shadow-sm); color:var(--blue); }
.cat-chip.active { background:var(--blue); color:#fff; box-shadow:none; }
.cat-chip .n { font-size:12px; font-weight:700; padding:1px 8px; border-radius:999px; background:var(--blue-tint); color:var(--blue-700); }
.cat-chip.active .n { background:rgba(255,255,255,.22); color:#fff; }
.cat-nav--filtered { margin-bottom:24px; }
.cat-back { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:600; font-size:14px; color:var(--blue); background:var(--blue-tint); padding:9px 16px; border-radius:999px; transition: background .15s; cursor:pointer; }
.cat-back:hover { background:#dce9fb; }

/* category section header */
.cat-sec { margin-bottom:48px; scroll-margin-top:90px; }
.cat-sec-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-bottom:14px; margin-bottom:22px; border-bottom:2px solid var(--line); }
/* h1 = widok JEDNEJ kategorii (bez hero, naglowek sekcji jest glownym naglowkiem strony),
   h2 = widok wszystkich szkolen (sekcje pod hero). Wyglad identyczny. */
.cat-sec-head h1,
.cat-sec-head h2 { font-size:clamp(21px,2.3vw,27px); color:var(--blue); }
.cat-sec-head p { color:var(--ink-2); font-size:14px; margin-top:6px; max-width:62ch; }
.cat-sec-head .cnt { font-family:var(--font-display); font-weight:700; font-size:13px; color:var(--muted); white-space:nowrap; }
/* opis kategorii — osobny wiersz flexa na PELNA szerokosc kontenera (jak nawigacja);
   dlugi opis zwijany do 4 linii (maska) + przycisk Rozwin/Zwin (js/szkolenia.js) */
.cat-sec-head .cat-desc { flex:1 1 100%; min-width:100%; }
.cat-sec-head .cat-desc p { color:var(--ink-2); font-size:14px; line-height:1.55; margin:2px 0 0; max-width:none; }
.cat-sec-head .cat-desc p.clamp { max-height:calc(1.55em * 4); overflow:hidden; -webkit-mask-image:linear-gradient(180deg,#000 70%, transparent); mask-image:linear-gradient(180deg,#000 70%, transparent); }
.cat-desc-toggle { display:none; align-items:center; gap:6px; margin-top:8px; font-family:var(--font-display); font-weight:600; font-size:13px; color:var(--blue); cursor:pointer; padding:0; background:none; border:0; }
.cat-desc-toggle.show { display:inline-flex; }
.cat-desc-toggle svg { transition:transform .2s; }
.cat-desc-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }

/* training list rows */
.tlist { display:grid; grid-template-columns: 1fr; gap:16px; }
.trow { display:grid; grid-template-columns: 78px 1fr; gap:24px; align-items:start; background:#fff; border-radius:var(--r-lg); padding:20px 24px; box-shadow: inset 0 0 0 1px var(--line), var(--shadow-sm); transition: transform .16s, box-shadow .22s, background .22s; }
.trow:hover { transform: translateY(-2px); background:var(--blue-tint); box-shadow: inset 0 0 0 1px transparent, var(--shadow); }
.trow .date { text-align:center; border-right:1px solid var(--line); padding-right:18px; padding-top:2px; }
.trow .date .d { font-family:var(--font-display); font-weight:800; font-size:24px; color:var(--blue); line-height:1; letter-spacing:-.02em; }
.trow .date .m { font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; margin-top:5px; }
.trow .date .y { font-size:11.5px; color:var(--muted); margin-top:2px; }
.trow .date--range .d { font-size:21px; line-height:1.02; }
.trow .date--range .rdash { width:16px; height:2px; border-radius:2px; background:var(--blue-300, #9bbcec); margin:3px auto; }
.trow .date--range .m { margin-top:6px; }
.trow .info { min-width:0; padding-top:1px; }
.trow .info h3 { font-size:17px; line-height:1.32; text-wrap:pretty; }
.trow .info h3 a { color:inherit; }
.trow .info .meta { margin-top:9px; color:var(--muted); font-size:13px; }
.trow .buy { display:flex; align-items:center; gap:18px; margin-top:13px; }
.trow .buy .trow-cta { margin-left:auto; }
.trow .price { font-family:var(--font-display); font-weight:800; font-size:21px; color:var(--ink); white-space:nowrap; line-height:1; }
.trow .price small { font-size:12px; color:var(--muted); font-weight:600; }
.trow-cta { white-space:nowrap; }
.cat-empty { color:var(--muted); font-size:14px; padding:20px 0; }
@media(max-width:720px){
  .trow { grid-template-columns: 56px 1fr; gap:4px 14px; padding:16px; }
  .trow .date { padding:0 12px 0 0; }
  .trow .date .d { font-size:18px; } .trow .date .m, .trow .date .y { margin-top:1px; }
  .trow .date--range .d { font-size:16px; }
  .trow .info h3 { font-size:14px; }
  .trow .price { font-size:18px; }
  .trow .buy { gap:14px; }
}
@media(max-width:760px){ .page-hero .crumb{ display:none; } }

/* Breakpoint 1000px: od 1000px szerokości okna — 2 szkolenia w rzędzie */
@media(min-width:1000px){
  .tlist { grid-template-columns: repeat(2, 1fr); }
}
