/* KarBot — Praktyka zakupów technicznych / isolated styles */
.practice-hero { padding-bottom: 44px; }
.practice-hero h1 { max-width:1180px; }
.practice-meta { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:24px; color:var(--kb-text-secondary); font-size:.94rem; }
.practice-meta strong { color:var(--navy); }
.practice-article { max-width: 920px; }
.practice-article > blockquote {
  margin: 0 0 42px; padding: 22px 26px; border-left: 4px solid var(--blue);
  border-radius: 0 16px 16px 0; background:#f4f8fd; color:var(--kb-text-body);
  font-size:1.08rem; line-height:1.72;
}
.practice-article > blockquote p { margin:0; color:inherit; }
.practice-article h2 { scroll-margin-top: 104px; }
.practice-article h3 { margin:34px 0 10px; color:var(--navy); font-size:1.2rem; line-height:1.3; }
.practice-article p { margin: 0 0 18px; }
.practice-article ul { margin: 0 0 22px; }
.practice-article li { margin: 7px 0; }
.practice-article hr { margin:46px 0; border:0; border-top:1px solid var(--line); }
.practice-article a:not(.button) { color:var(--kb-text-accent); text-underline-offset:3px; }
.practice-table-scroll { overflow-x:auto; margin:24px 0 12px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.practice-table { width:100%; min-width:760px; border-collapse:collapse; font-size:.95rem; }
.practice-table caption { text-align:left; padding:14px 16px; color:var(--kb-text-secondary); font-size:.86rem; background:#f7f9fc; border-bottom:1px solid var(--line); }
.practice-table th { padding:13px 14px; text-align:left; background:#0a3474; color:#fff; font-weight:800; }
.practice-table td { padding:12px 14px; border-top:1px solid var(--line); color:var(--kb-text-body); vertical-align:top; }
.practice-table tbody tr:nth-child(even) td { background:var(--kb-surface-note); }
.practice-download { margin:26px 0 42px; padding:24px; border:1px solid var(--kb-border-accent); border-radius:18px; background:linear-gradient(135deg,#f7fbff,#eef6ff); }
.practice-download strong { display:block; color:var(--navy); font-size:1.15rem; margin-bottom:6px; }
.practice-download p { margin:0 0 16px; }
.practice-actions { display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 38px; }
.practice-author { margin-top:42px; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fafbfd; }
.practice-hub-intro { max-width:820px; }
.practice-card { margin-top:32px; padding:30px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 14px 36px rgba(6,27,67,.06); }
.practice-card .practice-card-meta { margin:0 0 9px; color:var(--kb-text-secondary); font-size:.88rem; }
.practice-card h2 { margin:0 0 14px; font-size:clamp(1.75rem,3.2vw,2.5rem); }
.practice-card p { margin:0 0 20px; color:var(--kb-text-body); line-height:1.72; }
.practice-card-actions { display:flex; flex-wrap:wrap; gap:12px; }
.practice-note { margin-top:38px; }
@media (max-width:620px){
  .practice-meta { display:grid; gap:5px; }
  .practice-article > blockquote { padding:18px 18px; font-size:1rem; }
  .practice-actions,.practice-card-actions { display:grid; }
  .practice-actions .button,.practice-card-actions .button { width:100%; }
  .practice-card { padding:22px; }
}

.practice-upcoming { margin-top:46px; padding-top:10px; }
.practice-upcoming-kicker { margin:0 0 8px; color:var(--kb-text-accent); font-size:.86rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.practice-upcoming h2 { margin:0 0 10px; color:var(--navy); font-size:clamp(1.8rem,3vw,2.4rem); }
.practice-upcoming-intro { max-width:760px; margin:0 0 24px; color:var(--kb-text-body); line-height:1.72; }
.practice-upcoming-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.practice-upcoming-card { padding:24px; border:1px solid var(--line); border-radius:18px; background:var(--kb-surface-note); }
.practice-upcoming-status { display:inline-block; margin-bottom:12px; padding:6px 10px; border-radius:999px; background:#eaf4ff; color:var(--kb-text-accent); font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.practice-upcoming-card h3 { margin:0 0 10px; color:var(--navy); font-size:1.12rem; line-height:1.35; }
.practice-upcoming-card p { margin:0; color:var(--kb-text-body); line-height:1.65; }
@media (max-width:760px){
  .practice-upcoming-grid { grid-template-columns:1fr; }
}
