/* Layout fixes: course cover text, badge and icon no longer collide with the card edges or each other.
   Loaded last. */
.course-cover, .course-cover.batch, .course-cover.online {
  height: auto !important;
  min-height: 150px;
  padding: 18px 92px 18px 18px !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: var(--ink);
}
.course-cover::before { display: none; }
.course-cover .cover-badge {
  top: 12px; right: 12px;
  background: #ffffff; border: 1px solid var(--border); color: var(--primary-dark);
  backdrop-filter: none; line-height: 1.5;
}
.course-cover .cover-icon { right: 16px; color: var(--primary); opacity: .55; }
.course-cover .cover-title { margin-top: 0; font-size: 19px; line-height: 1.45; color: var(--ink); }
.course-cover .cover-sub { margin-top: 4px; line-height: 1.6; color: var(--ink-2); opacity: 1; }
.course-body { padding-top: 14px; }
.price, .price-wrap .price { color: var(--primary) !important; }
/* active category chip: solid green with white text */
.cat-pill.active, .cat-pill[aria-pressed="true"] { background: var(--primary) !important; border-color: var(--primary) !important; color: #ffffff !important; }
/* section header: the "সব বিষয়" link sits on its own line, never on top of the paragraph */
.section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; column-gap: 16px; row-gap: 6px; }
.section-head > .kicker, .section-head > h2 { width: 100%; }
.section-head > p { flex: 1 1 360px; margin: 0; }
.section-head > .section-link { flex: 0 0 auto; white-space: nowrap; }.section-head > .section-link { position: static !important; }
/* ---------- readable text sizes (web standard: body 16px, small text never below 14px) ---------- */
html { font-size: 16px; }
body { font-size: 16px; }
p, li, td, th, span, a, button, input, select, textarea, label, .muted, .small, small, .meta-list li, .course-body p {
  font-size: max(15px, 1em);
}
small, .small, .badge, .cover-badge, .cover-sub, .course-sub, .course-meta-row, .kicker, .cat-pill,
.hero-trust, .nav-support, .stat-block span, .float-card, .footer-bottom, .footer-about,
.footer-contact p, .footer-contact a, .footer-hours, .footer-col a, .footer-brand .brand-text small {
  font-size: max(14px, 0.9em) !important;
  line-height: 1.65 !important;
}
.course-cover .cover-sub { font-size: 14px !important; }
.hero p, .section-head p, .course-page-grid p { font-size: 17px; }
@media (max-width: 720px) {
  body { font-size: 16px; }
  h1 { font-size: 30px !important; }
  h2 { font-size: 24px !important; }
  h3 { font-size: 19px; }
  .hero p, .section-head p { font-size: 16px; }
}

/* ---------- footer: light, matches the green theme ---------- */
.site-footer { background: #ffffff !important; color: var(--ink-2) !important; border-top: 1px solid var(--border); }
.footer-strip { background: linear-gradient(90deg, #0a6e51, #0f8f6a 40%, #34d399 70%, #22d3ee) !important; }
.footer-brand .brand-text b, .footer-col h4 { color: var(--ink) !important; }
.footer-brand .brand-text small, .footer-bottom { color: var(--muted) !important; }
.footer-about, .footer-contact p, .footer-contact a, .footer-hours { color: var(--ink-2) !important; }
.footer-col a { color: var(--ink-2) !important; }
.footer-col a:hover, .footer-demo .link-btn:hover { color: var(--primary) !important; padding-left: 3px; }
.footer-demo .link-btn { color: var(--primary-dark) !important; }
.footer-bottom { border-top: 1px solid var(--border) !important; }
/* curriculum (chapter list), side facts, tags and nav: same readable floor */
.curriculum-head, .curriculum-body .btn, .curriculum-item .btn, .side-fact, .side-fact b, .course-tags span,
.hero-badge, .nav-link, .footer-col h4, .curriculum-item li, .curriculum-body li {
  font-size: 15px !important;
  line-height: 1.6 !important;
}
.curriculum-head b, .curriculum-head strong { font-size: 16px !important; }
.nav-link { font-size: 15px !important; }.hero-badge, .hero-badge[style] { color: var(--primary-dark) !important; background: #ffffff !important; border: 1px solid var(--border) !important; }