


/* ProgramBank frontend styles */
.pb { --pb-radius: 18px; --pb-border: #e7e7e7; --pb-muted:#5c6470; --pb-bg:#ffffff; --pb-soft:#f6f7f9; --pb-shadow: 0 10px 30px rgba(0,0,0,.06); font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
.pb * { box-sizing: border-box; }

.pb__layout { display: grid; grid-template-columns: 320px 1fr; gap: 18px; align-items: start; }
@media (max-width: 980px){ .pb__layout { grid-template-columns: 1fr; } }

.pb__filters {
  background: var(--pb-bg);
  border: 1px solid var(--pb-border);
  border-radius: var(--pb-radius);
  padding: 16px;
  box-shadow: var(--pb-shadow);
  position: sticky;
  top: 14px;
}
@media (max-width: 980px){ .pb__filters{ position: static; } }

.pb__filtersHeader{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom: 8px; }
.pb__filtersTitle{ font-size: 18px; font-weight: 800; letter-spacing: -0.01em; }
.pb__reset{
  border:1px solid var(--pb-border);
  background: var(--pb-soft);
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 650;
  cursor: pointer;
}
.pb__reset:hover{ filter: brightness(.98); }

.pb__field{ display:block; margin-top: 12px; }
.pb__label{ display:block; font-weight: 750; font-size: 13px; color: #1a1f2b; margin-bottom: 6px; }
.pb__input, .pb__select{
  width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--pb-border);
  background: #fff;
  outline: none;
}
.pb__input:focus, .pb__select:focus{ border-color:#c9d3ff; box-shadow: 0 0 0 4px rgba(99,102,241,.12); }

.pb__stats{
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(180deg, #fbfbfc, #f4f6fb);
  border: 1px solid var(--pb-border);
  color: var(--pb-muted);
  font-weight: 650;
}

.pb__results { min-width: 0; }
.pb__grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1100px){ .pb__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px){ .pb__grid{ grid-template-columns: 1fr; } }

.pbCard{
  background: var(--pb-bg);
  border: 1px solid var(--pb-border);
  border-radius: var(--pb-radius);
  overflow: hidden;
  box-shadow: var(--pb-shadow);
  display:flex; flex-direction: column;
  min-height: 320px;
  transition: transform .12s ease, box-shadow .12s ease;
}
.pbCard:hover{ transform: translateY(-2px); box-shadow: 0 18px 50px rgba(0,0,0,.08); }

.pbCard__media{ display:block; width:100%; background: #eef0f4; aspect-ratio: 16 / 9; overflow:hidden; }
.pbCard__img{ width:100%; height:100%; object-fit: cover; display:block; }
.pbCard__placeholder{ width:100%; height:100%; background: radial-gradient(circle at 30% 30%, #f1f3f7, #e9ecf2); }

.pbCard__body{ padding: 14px 14px 16px; display:flex; flex-direction: column; gap: 10px; flex: 1; }
.pbCard__top{ display:flex; flex-direction: column; gap: 8px; }

.pbCard__badges{ display:flex; gap:8px; flex-wrap: wrap; }
.pbPill{
  display:inline-flex; align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--pb-border);
  background: #fafbff;
  font-size: 12px;
  font-weight: 750;
  color:#2b2f3a;
}

.pbCard__title{ margin:0; font-size: 18px; font-weight: 900; line-height: 1.18; letter-spacing: -0.02em; }
.pbCard__title a{ text-decoration: none; color:#0f172a; }
.pbCard__title a:hover{ text-decoration: underline; }

.pbCard__meta{ font-size: 13px; color: var(--pb-muted); }
.pbCard__metaLabel{ color:#2b2f3a; font-weight: 800; margin-right: 6px; }
.pbCard__desc{ font-size: 13.5px; color:#111827; line-height: 1.5; }

.pbCard__ctaRow{ margin-top:auto; display:flex; gap:10px; align-items:center; }

.pbBtn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 12px;
  padding: 10px 12px;
  border: 1px solid #d9def0;
  background: #111827;
  color:#fff;
  font-weight: 800;
  text-decoration:none;
  cursor:pointer;
}
.pbBtn:hover{ filter: brightness(1.02); }
.pbBtn--ghost{ background:#fff; color:#111827; border-color: var(--pb-border); }

.pb-empty{
  grid-column: 1 / -1;
  border: 1px dashed #d7dbe7;
  border-radius: var(--pb-radius);
  background: #fff;
  padding: 18px;
}
.pb-empty__title{ font-weight: 900; font-size: 16px; margin-bottom: 6px; }
.pb-empty__sub{ color: var(--pb-muted); }

.pb__pager{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top: 16px; padding: 12px; border-radius: var(--pb-radius); border:1px solid var(--pb-border); background: #fff; box-shadow: var(--pb-shadow); }
.pb__pagerBtn{ border:1px solid var(--pb-border); background: var(--pb-soft); border-radius: 12px; padding: 10px 12px; font-weight: 800; cursor:pointer; }
.pb__pagerBtn[disabled]{ opacity:.55; cursor:not-allowed; }
.pb__pagerMid{ color: var(--pb-muted); font-weight: 700; }

.pbDl{
  margin: 18px 0;
  padding: 14px;
  border: 1px solid var(--pb-border);
  border-radius: var(--pb-radius);
  background: #fff;
  box-shadow: var(--pb-shadow);
}
.pbDl__title{ font-weight: 900; font-size: 16px; margin-bottom: 10px; }
.pbDl__row{ display:flex; gap:10px; flex-wrap: wrap; }
.pbDl__note{ margin-top: 10px; color: var(--pb-muted); font-size: 13px; }




.max-w-\[960px\].mx-auto.px-row.lg\:px-row2x.py-row2x.lg\:py-row.prose.prose-headings\:font-bold {
  max-width: 1200px !important;
}

.pb__stats {
  display: none !important;
}

.pb__reset {
  display: none !important;
}


.pb__sr {
  display: none !important;
}