/* Self-hosted Bengali fonts (SIL Open Font License 1.1, see assets/fonts/OFL-*.txt)
   Headings: Anek Bangla (Baloo Da 2 for the hero/brand). Body: Noto Sans Bengali. */
@font-face { font-family: 'Anek Bangla'; src: url('../fonts/AnekBangla.ttf') format('truetype'); font-weight: 100 800; font-display: swap; }
@font-face { font-family: 'Baloo Da 2'; src: url('../fonts/BalooDa2.ttf') format('truetype'); font-weight: 400 800; font-display: swap; }
@font-face { font-family: 'Noto Sans Bengali'; src: url('../fonts/NotoSansBengali.ttf') format('truetype'); font-weight: 100 900; font-display: swap; }

:root {
  --font-head: 'Anek Bangla', 'Noto Sans Bengali', sans-serif;
  --font-display: 'Baloo Da 2', 'Anek Bangla', sans-serif;
  --font-body: 'Noto Sans Bengali', 'Anek Bangla', sans-serif;
}

/* body text */
html, body, button, input, select, textarea, label, td, th, li, p, small, span, a {
  font-family: var(--font-body) !important;
}
body { line-height: 1.75; letter-spacing: normal !important; word-break: keep-all; overflow-wrap: break-word; }

/* headings */
h1, h2, h3, h4, h5, h6, .section-head h2, .brand-text b, .card-title, .course-body h3 a, .stat-block strong, .stat-block b {
  font-family: var(--font-head) !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}
.hero h1, .brand-text b, .cat-card h3, .course-body h3 { font-family: var(--font-display) !important; }
.hero h1 { line-height: 1.5 !important; }
/* Bengali needs room for matras and conjuncts: no tight line-height on text controls */
button, a, span, small, b, strong, li, p, label, td, th, input, select, textarea, .btn, .cat-pill, .badge, .chip, .tag, legend {
  line-height: 1.65 !important;
}
.cat-pill, .btn, button { padding-block: 0.45em; }