:root {
  --primary:#2E7D32;
  --primary_dark:#1B5E20;
  --primary_light:#A5D6A7;
  --accent:#d4af37;
  --accent_dark:#b0892f;
  --ui_green:#2F6E4F;
  --ui_green_dark:#245E3A;
  --ui_slate1:#0F172A;
  --ui_slate2:#111827;
  --nav_scrolled_start:#eef5f2;
  --nav_scrolled_end:#dfe9e4;
  --text:#1c1c1c;
  --bg:#f7f7f7;
  --muted:#6c757d;
  --surface:#ffffff;
  --shadow:0 12px 28px rgba(0,0,0,.08);
  --bs-primary: var(--primary);
  --bs-secondary: var(--accent);
}

.page-header {
  background: linear-gradient(135deg, var(--primary_dark), var(--primary));
}
.page-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 22%, rgba(212,175,55,.22) 0 18%, transparent 19%),
    radial-gradient(circle at 82% 38%, rgba(255,255,255,.10) 0 22%, transparent 23%),
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(212,175,55,.12));
  opacity: .95;
}
.page-header::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px 0;
  height: 26px;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 65%);
  opacity: .7;
}
.page-header-pro .page-header-inner {
  max-width: 980px;
}
.page-header-pro .page-header-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(0,0,0,.12);
  font-weight: 800;
  font-size: .95rem;
}
.page-header-pro .page-header-title {
  margin-top: 10px;
  font-weight: 900;
  font-size: clamp(1.6rem, 3vw, 2.15rem);
  letter-spacing: .2px;
}
.page-header-pro .page-header-subtitle {
  margin-top: 6px;
  max-width: 70ch;
  color: rgba(255,255,255,.92);
  line-height: 1.7;
}
.page-header-pro .page-header-breadcrumb {
  margin-top: 12px;
}
.page-header-pro .breadcrumb {
  --bs-breadcrumb-divider: "›";
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.page-header-pro .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255,255,255,.7);
}
.page-header-pro .breadcrumb a {
  color: rgba(255,255,255,.95);
  text-decoration: none;
}
.page-header-pro .breadcrumb a:hover {
  text-decoration: underline;
}
.page-header-pro .breadcrumb .breadcrumb-item.active {
  color: rgba(255,255,255,.78);
}
section.section-heading .title {
  font-weight:700;
  color:var(--primary);
}
section.section-heading .sub {
  color:#666;
}
.hero-carousel .carousel-item { position: relative; }
.hero-carousel .carousel-item { min-height: clamp(320px, 62vh, 640px); overflow:hidden; }
.hero-carousel img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transform-origin:center; }
.hero-carousel .carousel-item .overlay {
  position:absolute; inset:0; background:linear-gradient(135deg, rgba(46,125,50,.35), rgba(212,175,55,.2));
}
.hero-carousel .carousel-caption { bottom:auto; top:50%; left:50%; right:auto; transform:translate(-50%, -50%); width:90%; max-width:900px; background:rgba(255,255,255,.08); backdrop-filter: blur(6px); border:1px solid rgba(255,255,255,.15); border-radius:16px; padding:18px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.hero-carousel .carousel-caption .caption-text { text-align:right; }
.hero-carousel .carousel-caption .caption-actions { margin-inline-start:auto; display:flex; gap:10px; }
.hero-carousel .display-6 {
  font-weight:700;
}
.hero-carousel .carousel-control-prev, .hero-carousel .carousel-control-next { width:44px; height:44px; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.28); border-radius:999px; }
.hero-carousel .carousel-indicators [data-bs-target] { width:10px; height:10px; border-radius:999px; background:#fff; opacity:.6; }
.hero-carousel .carousel-indicators .active { opacity:1; background:var(--primary); }
@keyframes kenburns { from { transform:scale(1); } to { transform:scale(1.06); } }
.hero-carousel .carousel-item.active img { animation:kenburns 7s ease-in-out both; }
@keyframes captionFadeUp { from { opacity:0; transform: translateY(8px); } to { opacity:1; transform: translateY(0); } }
.hero-carousel .carousel-caption .display-6 { animation: captionFadeUp .6s ease .1s both; }
.hero-carousel .carousel-caption p { animation: captionFadeUp .6s ease .25s both; }
.hero-carousel .carousel-caption .btn { animation: captionFadeUp .6s ease .4s both; }
.hero-erepair {
  background: linear-gradient(135deg, rgba(46,125,50,.15), rgba(212,175,55,.12)), url('/images/hero-quran.jpg') center/cover no-repeat;
  position: relative;
}
.hero-erepair .overlay {
  position:absolute; inset:0; background:linear-gradient(135deg, rgba(46,125,50,.25), rgba(212,175,55,.18));
}
.hero-erepair .content {
  position:relative; z-index:1; padding:64px 0;
}
.hero-erepair .title {
  font-weight:800; font-size:2.2rem; color:#fff;
}
.hero-erepair .sub {
  color:#f1f1f1;
}
.hero-tdabar { position:relative; background: linear-gradient(135deg, rgba(46,125,50,.15), rgba(212,175,55,.12)), url('/images/hero-haram.jpg') center/cover no-repeat; }
.hero-tdabar .overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.35)); }
.hero-tdabar .content { position:relative; z-index:1; padding:72px 0; text-align:center; }
.hero-tdabar .title { font-weight:800; font-size:2.4rem; color:#fff; }
.hero-tdabar .sub { color:#eaeaea; max-width:860px; margin:8px auto 0; }
.cta-pill { display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:999px; border:1px solid rgba(255,255,255,.35); box-shadow:0 8px 22px rgba(0,0,0,.08); }
.cta-pill .icon { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:#fff; color:var(--primary); }
.cta-group { display:inline-flex; gap:10px; margin-top:14px; }
.stat-group { display:flex; gap:18px; justify-content:center; margin-top:18px; flex-wrap:wrap; }
.stat-badge { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.2); border-radius:12px; padding:10px 14px; min-width:140px; }
.stat-badge .num { font-weight:800; font-size:1.4rem; }
.stat-badge .label { font-size:.9rem; opacity:.9; }
.hero-stats {
  position:absolute;
  inset:auto 0 18px 0;
  z-index:3;
  pointer-events:none;
}
.hero-stats .container { pointer-events:none; }
.hero-stats-mobile { display:none; }
.hero-stat-group {
  justify-content:flex-end;
  gap:12px;
  margin-top:0;
  pointer-events:auto;
}
.hero-stat-badge {
  display:flex;
  align-items:center;
  gap:10px;
  min-width: 170px;
  padding:10px 12px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 14px;
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
  backdrop-filter: blur(8px);
}
.hero-stat-badge .icon {
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background: rgba(255,255,255,.88);
  color: var(--primary);
  flex:0 0 auto;
}
.hero-stat-badge .meta { display:flex; flex-direction:column; line-height:1.1; }
.hero-stat-badge .num { font-size:1.25rem; }
.hero-stat-badge .label { font-size:.85rem; opacity:.92; }
.projects { margin-top:24px; }
.project-card { background:#fff; border:1px solid #eee; border-radius:16px; padding:18px; box-shadow:0 10px 24px rgba(0,0,0,.06); }
.project-card .title { font-weight:700; color:var(--primary); }
.project-card .desc { color:#6c757d; }

.topbar-accent {
  background: var(--accent);
  color:#111;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.topbar-accent a { color:#111; }
.feature-icon {
  width:54px; height:54px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; background:#f0f7f3; color:var(--primary); border:1px solid #e6efe9;
}
.feature-icon { color:var(--primary); }
.service-icon {
  width:60px; height:60px; display:inline-flex; align-items:center; justify-content:center; border-radius:16px; background:linear-gradient(135deg, rgba(212,175,55,.12), rgba(46,125,50,.08)); color:var(--primary); border:1px solid rgba(212,175,55,.25); box-shadow:var(--shadow);
}
.service-card {
  background:#fff; border:1px solid #eee; border-radius:16px; padding:18px; box-shadow:0 8px 22px rgba(0,0,0,.06); transition:transform .25s ease, box-shadow .25s ease;
}
.service-card:hover { transform:translateY(-3px); box-shadow:0 16px 32px rgba(0,0,0,.08); }
.section-headline {
  text-align:center; margin-bottom:16px;
}
.section-headline .kicker {
  display:inline-block; font-weight:700; color:var(--primary); border:1px solid #e6efe9; border-radius:999px; padding:6px 12px; background:rgba(46,125,50,.08);
}
.section-headline .title {
  font-weight:800; font-size:1.8rem; color:var(--primary); margin-top:8px;
}
.section-cta {
  background:linear-gradient(135deg, rgba(46,125,50,.08), rgba(212,175,55,.08));
  border:1px solid #eee; border-radius:16px;
}
.divider {
  height:2px; width:80px; background:var(--primary); border-radius:2px; display:inline-block;
}
.counter {
  font-weight:700; color:var(--primary); font-size:28px;
}
.shadow-soft {
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}
.card-hover:hover {
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}

/* Global card transitions (public site) */
.card,
.service-card,
.project-card,
.list-item {
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease,
    background-color .25s ease;
  will-change: transform;
}

.card:hover,
.project-card:hover,
.list-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}

/* Reveal on scroll */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .75s cubic-bezier(.2,.9,.2,1), transform .75s cubic-bezier(.2,.9,.2,1);
}
.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.transition { transition: all .25s ease; }
.fade-in { animation:fadeIn .6s both; }
.fade-in-up { animation:fadeInUp .7s both; }
@keyframes fadeIn { from { opacity:0 } to { opacity:1 } }
@keyframes fadeInUp { from { opacity:0; transform:translateY(12px) } to { opacity:1; transform:translateY(0) } }

.ayat-rotator {
  position:absolute; right:24px; left:auto; bottom:24px; z-index:12; background:rgba(0,0,0,.35); color:#fff; padding:10px 12px; border-radius:12px; backdrop-filter: blur(3px);
}
.ayat-rotator .verse { font-size:1rem; line-height:1.6; opacity:0; transform:translateY(8px); transition:opacity .8s ease, transform .8s ease; }
.ayat-rotator .verse.show { opacity:1; transform:translateY(0); }
.ayat-rotator .source { margin-top:4px; font-size:.85rem; color:#eee; }

@media (max-width: 575.98px) {
  .hero-carousel .carousel-caption { 
    max-width: calc(100% - 24px); 
    flex-direction: column;
    align-items: stretch;
    text-align: right;
    padding: 16px;
    gap: 12px;
  }
  .hero-carousel .carousel-caption .caption-text {
    width: 100%;
  }
  .hero-carousel .carousel-caption .caption-actions {
    margin-inline-start: 0;
    justify-content: flex-end; /* Buttons to the left in RTL */
    flex-wrap: wrap;
  }
  .hero-carousel .display-6 { font-size: 1.5rem; }
  .hero-carousel .carousel-caption p { font-size: 0.9rem; }
  .hero-carousel .carousel-caption .btn { padding: 8px 12px; font-size: 0.85rem; }
  .hero-stats { display:none; }
  .hero-stats-mobile { display:block; margin-top: 10px; }
  .hero-stats-mobile .hero-stat-badge {
    background: #fff;
    color: var(--text);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 10px 24px rgba(0,0,0,.06);
  }
  .hero-stats-mobile .hero-stat-badge .icon {
    background: rgba(46,125,50,.10);
    color: var(--primary);
  }
  .ayat-rotator { right: 12px; bottom: 12px; max-width: calc(100% - 24px); }
  .hero-stat-group { justify-content:center; gap:10px; }
  .hero-stat-badge { min-width: 142px; padding:9px 10px; }
  .hero-stat-badge .icon { width:34px; height:34px; }
}
.brand-logo { height:64px; object-fit:contain; filter:drop-shadow(0 2px 6px rgba(0,0,0,.15)); }
.navbar-gradient {
  background-color: rgba(255,255,255,.90);
  border-bottom: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 18px rgba(15,23,42,.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.navbar-gradient.scrolled {
  background-color: rgba(255,255,255,.86);
  background-image: linear-gradient(135deg, rgba(46,125,50,.14), rgba(212,175,55,.10));
  border-bottom: 1px solid rgba(46,125,50,.12);
  box-shadow: 0 12px 28px rgba(15,23,42,.10);
}
.navbar-gradient { min-height: 88px; }
.navbar-gradient .navbar-brand { padding-top: 0px; padding-bottom: 0px; font-size: 1.2rem; color: var(--text); flex: 1 1 auto; min-width: 0; }
.navbar-gradient .navbar-brand .brand-text { line-height: 1.15; }
.navbar-gradient .nav-link {
  color: var(--text);
  padding-top: 18px; padding-bottom: 18px; padding-left: 12px; padding-right: 12px;
  position: relative; font-weight: 600; letter-spacing: .2px;
  border-radius: 12px;
}
.navbar-gradient .nav-link:hover { color:var(--text); background: rgba(212,175,55,.12); }
.navbar-gradient .nav-link.active { color:var(--primary); }
.navbar-gradient .nav-link::after {
  content:""; position:absolute; height:2px; width:0;
  right: 12px; left: auto; bottom: 12px; background: var(--accent);
  transition: width .25s ease;
}
.navbar-gradient .nav-link:hover::after,
.navbar-gradient .nav-link.active::after { width: 60%; }
.navbar-gradient .btn-accent {
  border:1px solid var(--accent);
  box-shadow: 0 8px 22px rgba(0,0,0,.04);
}
.navbar-gradient .navbar-toggler {
  border-color: var(--primary);
}
.navbar-gradient .navbar-toggler:focus {
  box-shadow: 0 0 0 .15rem rgba(64,120,79,.25);
}
.navbar-gradient.scrolled .navbar-brand { color: var(--text); }
.navbar-gradient.scrolled .nav-link { color: var(--text); }
.navbar-gradient.scrolled .nav-link:hover { color: var(--text); background: rgba(212,175,55,.12); }

@media (max-width: 575.98px) {
  .navbar-gradient { min-height: 72px; }
  .brand-logo { height: 44px; }
  .navbar-gradient .navbar-brand { font-size: 1.05rem; }
  .navbar-gradient .nav-link { padding-top: 12px; padding-bottom: 12px; }
}
.hero-shape {
  position:relative;
}
.hero-shape:after {
  content:""; position:absolute; inset:auto 0 -1px 0; height:18px;
  background: radial-gradient(ellipse at center, rgba(46,125,50,.25) 0%, rgba(46,125,50,0) 60%);
  opacity:.6;
}
.pattern-bg {
  background:
    radial-gradient(circle at 10% 10%, rgba(212,175,55,.08) 0 12%, transparent 12%) 0 0/40px 40px,
    radial-gradient(circle at 80% 30%, rgba(46,125,50,.08) 0 14%, transparent 14%) 0 0/50px 50px;
}
.btn-gradient {
  background: linear-gradient(135deg, var(--primary), #129e5c);
  color:#fff; border:none;
}
.btn-gradient:hover { filter:brightness(1.06); }
.btn-outline-accent {
  border:1px solid var(--accent); color:#111; background:#fff;
}
.btn-outline-accent.is-active {
  background: linear-gradient(135deg, var(--primary), #129e5c);
  color: #fff;
  border-color: rgba(0,0,0,.08);
}

/* Programs page: pill buttons */
.public-pills .nav-link {
  border-radius: 14px;
  padding: 10px 18px;
  font-weight: 700;
  color: var(--primary);
  background: rgba(46,125,50,.08);
  border: 1px solid rgba(46,125,50,.18);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.public-pills .nav-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
  filter: brightness(1.01);
}
.public-pills .nav-link.active,
.public-pills .show > .nav-link {
  color: #fff;
  background: linear-gradient(135deg, var(--primary), #129e5c);
  border-color: rgba(0,0,0,.08);
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
}

/* Members (Teachers) page */
.members-wrap {
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
}
.members-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}
.members-meta { text-align: right; }
.members-title { font-weight: 900; font-size: 1.2rem; color: var(--primary); }
.members-sub { font-size: .95rem; }
.members-tools { display: flex; flex-direction: column; gap: 10px; }
.members-search { position: relative; width: min(520px, 100%); }
.members-search-icon {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  color: #6c757d;
  pointer-events: none;
}
.members-search .form-control {
  border-color: rgba(0,0,0,.12);
  background: #fff;
  border-radius: 12px;
  padding-right: 42px;
}
.members-filters { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-start; }
.members-filters .btn { border-radius: 12px; padding: 7px 12px; font-weight: 800; }
.members-card { border-radius: 16px; }
.members-table thead th {
  background: linear-gradient(135deg, var(--primary_dark), var(--primary));
  color: #fff;
  font-weight: 800;
  border: none;
  padding: 14px 14px;
}
.members-table tbody td { padding: 14px 14px; border-top: 1px solid rgba(0,0,0,.06); }
.members-table tbody tr:nth-child(even) td { background: rgba(46,125,50,.06); }
.members-col-num { width: 64px; text-align: center; }
.members-num {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(212,175,55,.18);
  border: 1px solid rgba(212,175,55,.35);
  font-weight: 900;
  color: #111;
}
.members-role {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(46,125,50,.08);
  border: 1px solid rgba(46,125,50,.18);
  font-weight: 800;
  color: var(--primary);
}
.members-check {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(46,125,50,.10);
  border: 1px solid rgba(46,125,50,.25);
  color: var(--primary);
}
.members-empty {
  padding: 18px;
  text-align: center;
  color: #4b5563;
  background: rgba(255,255,255,.92);
  border-top: 1px solid rgba(0,0,0,.06);
}

@media (max-width: 575.98px) {
  .members-wrap { padding: 12px; }
  .members-tools { width: 100%; }
  .members-table thead th { padding: 12px 12px; }
  .members-table tbody td { padding: 12px 12px; }
  .members-role { padding: 7px 10px; font-size: .95rem; }
}

/* FAQ page */
.faq-wrap {
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
}
.faq-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-bottom: 14px;
}
.faq-kicker {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(46,125,50,.08);
  border: 1px solid rgba(46,125,50,.18);
  color: var(--primary);
  font-weight: 900;
  font-size: .95rem;
}
.faq-headline {
  margin-top: 10px;
  font-weight: 900;
  font-size: 1.25rem;
  color: var(--ui_slate1);
}
.faq-stats { margin-top: 6px; }
.faq-controls { flex: 1 1 420px; max-width: 560px; }
.faq-search { position: relative; display: flex; gap: 10px; align-items: center; }
.faq-search-icon {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  color: #6c757d;
  pointer-events: none;
}
.faq-search .form-control {
  padding-right: 42px;
  border-radius: 14px;
  border-color: rgba(0,0,0,.12);
  min-height: 42px;
  background: #fff;
}
.faq-clear { white-space: nowrap; }
.faq-actions {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.faq-actions .btn-group > .btn {
  border-radius: 12px;
  font-weight: 800;
}

[dir="rtl"] .faq-actions .btn-group > .btn + .btn {
  margin-right: -1px;
  margin-left: 0;
}
[dir="rtl"] .faq-actions .btn-group > .btn:not(:first-child):not(.dropdown-toggle) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
[dir="rtl"] .faq-actions .btn-group > .btn:not(:last-child):not(.dropdown-toggle) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.faq-accordion .accordion-item {
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 24px rgba(0,0,0,.04);
}
.faq-accordion .accordion-item + .accordion-item { margin-top: 10px; }
.faq-accordion .accordion-button {
  background: transparent;
  font-weight: 900;
  color: var(--ui_slate1);
  padding: 16px 16px;
}
.faq-accordion .accordion-button:focus {
  box-shadow: 0 0 0 .2rem rgba(212,175,55,.22);
}
.faq-accordion .accordion-button:not(.collapsed) {
  color: var(--primary);
  background: linear-gradient(135deg, rgba(46,125,50,.08), rgba(212,175,55,.10));
}
.faq-accordion .accordion-button::after { opacity: .85; }
.faq-answer {
  line-height: 1.85;
  color: #0f172a;
}
.faq-lang-badge {
  background: rgba(11,85,99,.10);
  border: 1px solid rgba(11,85,99,.18);
  color: #0b5563;
  font-weight: 900;
}
.faq-empty {
  margin-top: 12px;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
  background: rgba(255,255,255,.92);
  text-align: center;
  color: #4b5563;
}

@media (max-width: 575.98px) {
  .faq-wrap { padding: 12px; }
  .faq-controls { max-width: 100%; }
  .faq-actions { justify-content: flex-start; }
  .faq-accordion .accordion-button { padding: 14px 14px; }
}
.public-pills .nav-link:focus,
.public-pills .nav-link:focus-visible {
  outline: none;
  box-shadow: 0 0 0 .2rem rgba(212,175,55,.28);
}

/* Programs page: layout + cards */
.programs-shell {
  border-color: rgba(0,0,0,.06);
  overflow: hidden;
}
.program-card {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
}
.program-head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.program-icon {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(212,175,55,.16), rgba(46,125,50,.10));
  border: 1px solid rgba(212,175,55,.24);
  color: var(--primary);
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
  flex: 0 0 auto;
}
.program-title { min-width: 220px; }
.program-badges {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-inline-start: auto;
}
.program-badge {
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 700;
  color: var(--text);
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
}
.program-points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.program-points li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  padding: 12px 12px;
}
.program-points i {
  color: var(--primary);
  margin-top: 2px;
  flex: 0 0 auto;
}
.program-side {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
  height: 100%;
}
.program-milestone {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
  background: rgba(46,125,50,.06);
}
.program-milestone + .program-milestone { margin-top: 10px; }
.program-milestone .label { font-weight: 800; color: var(--primary); }
.program-milestone .value { color: #4b5563; }
.step-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
  height: 100%;
}
.step-num {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(212,175,55,.16);
  border: 1px solid rgba(212,175,55,.28);
  color: #111;
  font-weight: 900;
  margin-bottom: 10px;
}

@media (max-width: 575.98px) {
  .public-pills .nav-link { padding: 9px 14px; border-radius: 12px; }
  .program-card, .program-side { padding: 14px; border-radius: 16px; }
  .program-title { min-width: 0; }
  .program-badges { margin-inline-start: 0; }
}

.tabs a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(212,175,55,.14);
  border: 1px solid rgba(212,175,55,.35);
  border-radius: 10px;
  padding: 8px 12px;
  color: var(--text);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.tabs a:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  filter: brightness(1.02);
}
.footer-modern .tabs a {
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(255,255,255,.25);
  color: #111;
}

/* Contact page */
.contact-info li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
}
.contact-info i {
  width: 18px;
  color: var(--primary);
}
.social-channels {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.social-channels .social {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.social-channels .social:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(0,0,0,.08);
  filter: brightness(1.02);
}

/* Official-ish brand colors (icons only) */
.social-channels .social.telegram { color: #26A5E4; background: rgba(38,165,228,.12); border-color: rgba(38,165,228,.25); }
.social-channels .social.youtube  { color: #FF0000; background: rgba(255,0,0,.10); border-color: rgba(255,0,0,.20); }
.social-channels .social.facebook { color: #1877F2; background: rgba(24,119,242,.12); border-color: rgba(24,119,242,.22); }
.social-channels .social.x        { color: #111111; background: rgba(17,17,17,.06); border-color: rgba(17,17,17,.14); }
.section {
  background:var(--surface);
  border:1px solid #eee; border-radius:16px; padding:16px;
}
.section-title {
  font-weight: 800;
  color: var(--primary);
}

/* Headings inside cards/sections (clean + consistent with gold accent) */
.section .h5,
.section .h6,
.card .h5,
.card .h6,
.card h3,
.service-card .h6,
.project-card .title {
  color: var(--primary);
  font-weight: 800;
  letter-spacing: 0;
  padding-bottom: 10px;
  margin-bottom: 14px;
  margin-left: -12px;
  margin-right: -12px;
  padding-left: 12px;
  padding-right: 12px;
  border-bottom: 2px solid var(--accent);
  background: linear-gradient(to left, rgba(212,175,55,.08) 0%, transparent 60%);
  display: block;
}
.divider {
  height:3px; width:90px; background:var(--primary); border-radius:3px; display:inline-block;
}
.badge-soft {
  background:rgba(64,120,79,.08); color:var(--primary); border:1px solid #e6efe9; border-radius:999px; padding:6px 10px;
}

/* Home: intro/about/programs/vision/message/goals */
.home-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  color: var(--primary);
  background: rgba(46,125,50,.08);
  border: 1px solid rgba(46,125,50,.16);
  border-radius: 999px;
  padding: 6px 12px;
  margin-bottom: 12px;
}
.home-intro-card,
.home-about-card,
.home-vision,
.home-message {
  border-color: rgba(0,0,0,.06);
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
}
.timeline-list {
  display: grid;
  gap: 10px;
}
.timeline-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  padding: 12px;
}
.timeline-item .text { color: #4b5563; }
.num-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 12px;
  background: rgba(212,175,55,.16);
  border: 1px solid rgba(212,175,55,.28);
  color: #111;
  font-weight: 900;
  white-space: nowrap;
}
.home-program-card { height: 100%; }
.program-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
  background: rgba(212,175,55,.08);
  color: #111;
}
.program-note i { color: var(--primary); margin-top: 2px; }
.goal-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 14px 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
  height: 100%;
}
.goal-num {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(46,125,50,.12), rgba(212,175,55,.14));
  border: 1px solid rgba(0,0,0,.06);
  color: var(--primary);
  font-weight: 900;
  flex: 0 0 auto;
}
.goal-text { color: #4b5563; line-height: 1.8; }

@media (max-width: 575.98px) {
  .timeline-item { grid-template-columns: 1fr; }
  .num-badge { justify-content: flex-start; width: fit-content; }
}
.footer-links a { color:var(--text); }
.newsletter input { border-radius:10px; }
.newsletter .btn { border-radius:10px; }
.footer-modern { background: linear-gradient(180deg, var(--ui_green), var(--ui_green_dark)); color:#fff; border-top: 2px solid var(--accent); }
.footer-modern a { color:#fff; }
.footer-modern .h6 { color:#fff; }
.footer-modern .text-muted { color: rgba(255,255,255,.85) !important; }
.footer-modern .footer-links a { color:#fff; opacity:.9; }
.footer-modern .footer-links a:hover { opacity:1; text-decoration: underline; }
.footer-modern .container { padding-top:24px; padding-bottom:24px; }
.py-1 { padding-top: .50rem !important; padding-bottom: 0rem !important; }

/* Compact program cards for home page */
.program-card-compact {
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  transition: all 0.3s ease;
  height: 100%;
}
.program-card-compact:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,.10);
}
.program-icon-large {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(212,175,55,.18), rgba(46,125,50,.12));
  border: 1.5px solid rgba(212,175,55,.28);
  color: var(--primary);
  font-size: 24px;
  flex-shrink: 0;
}
.program-badge-sm {
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text);
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(0,0,0,.10);
}
.compact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.compact-list li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 0.9rem;
}
.compact-list i {
  margin-top: 3px;
  flex-shrink: 0;
  font-size: 0.85rem;
}

/* Compact Vision & Mission for home */
.vision-mission-compact {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 6px 16px rgba(0,0,0,.05);
  text-align: center;
  transition: all 0.3s ease;
  height: 100%;
}
.vision-mission-compact:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.vm-icon {
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(212,175,55,.15), rgba(46,125,50,.10));
  color: var(--primary);
  font-size: 20px;
  margin-bottom: 10px;
}
