.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}:root{--page-title-display:none;}/* Start custom CSS *//* =========================================================================
   [NGO NAME] — PROGRAMS PAGE ELEMENTOR STYLESHEET
   Paste this into: Elementor > Site Settings > Custom CSS
   (or Appearance > Customize > Additional CSS).
   Pairs with programs-elementor-template.json.

   NOTE: Shares design tokens and several component classes (page-hero,
   hero-media, buttons, cta-final, container) with the Home, Footer and
   About stylesheets already built for this site — identical rules where
   they overlap, so all files can be pasted into the same Custom CSS box
   with zero conflicts.

   IMPORTANT — FILTER TABS: the "All / Education / Healthcare / Women /
   Child Dev. / Community / Environment" filter buttons are delivered as
   an Elementor HTML widget that includes a small <script> to show/hide
   the six programme sections by category. Elementor's HTML widget does
   execute inline <script> tags in the vast majority of setups, but a few
   security plugins or strict page-builder configs strip inline scripts.
   If the buttons render but clicking them does nothing, move that script
   into your theme's "Custom Code" / footer scripts area instead.
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --green-900:#0B3B2E;
  --green-800:#0E4A38;
  --green-700:#146247;
  --green-600:#1B7A56;
  --green-100:#E4F1EA;

  --orange-700:#B85A1E;
  --orange-600:#D06B24;
  --orange-500:#E8792B;
  --orange-400:#F0954F;

  --ink:#20242A;
  --ink-soft:#565E66;
  --ink-faint:#8A9198;
  --line:#E7E5DE;

  --bg-neutral:#F7F6F2;

  --radius-md:14px;
  --radius-pill:999px;

  --font-display:'Plus Jakarta Sans', sans-serif;
  --font-body:'Inter', sans-serif;
}

body{overflow-x:hidden;}

/* =========================================================================
   1. GLOBAL TYPE
   ========================================================================= */
.elementor-heading-title{
  font-family:var(--font-display)!important;
  font-weight:700!important;
  color:var(--ink);
  line-height:1.15!important;
  letter-spacing:-.01em;
}
h1.elementor-heading-title{font-size:clamp(30px,4.4vw,46px)!important;}
h2.elementor-heading-title{font-size:clamp(26px,3.2vw,34px)!important;}
.elementor-widget-text-editor{font-family:var(--font-body);color:var(--ink-soft);font-size:16px;line-height:1.6;}
.elementor-widget-text-editor p{margin:0 0 1em;}
.elementor-widget-text-editor p:last-child{margin-bottom:0;}
.elementor-widget-text-editor b{color:var(--ink);}

.cta-final .elementor-heading-title{color:#fff!important;}
.cta-final .elementor-widget-text-editor{color:rgba(255,255,255,.8);}

.elementor-section{padding-top:96px;padding-bottom:96px;}
.elementor-section.elementor-inner-section{padding-top:0;padding-bottom:0;}
@media (max-width:900px){.elementor-section{padding-top:56px;padding-bottom:56px;}}

/* =========================================================================
   2. LAYOUT / UTILITIES
   ========================================================================= */
.container{max-width:1200px;margin:0 auto!important;padding:0 24px;float:none;}
.container-narrow{max-width:820px;margin:0 auto!important;padding:0 24px;float:none;}
.bg-neutral{background:var(--bg-neutral)!important;}
.section-tight{padding-top:40px!important;padding-bottom:8px!important;}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-display);font-weight:700;font-size:12.5px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--green-600);
  margin-bottom:14px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--orange-500);display:inline-block;}
.page-hero .eyebrow{color:var(--orange-400);}

.section-head-center{text-align:center;}
.section-head-center .elementor-heading-title{justify-content:center;display:flex;}

.tag{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-display);font-weight:700;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;
  background:var(--green-100);color:var(--green-700);padding:6px 14px;border-radius:var(--radius-pill);
}

/* =========================================================================
   3. PAGE HERO
   ========================================================================= */
.page-hero{
  background:linear-gradient(135deg,var(--green-900),var(--green-700))!important;
  padding-top:70px!important;padding-bottom:60px!important;
}
.page-hero .breadcrumb{font-family:var(--font-body);font-size:13px;color:rgba(255,255,255,.65);margin-bottom:18px;}
.page-hero .breadcrumb a{color:rgba(255,255,255,.65);}
.page-hero .breadcrumb a:hover{color:#fff;}
.page-hero .elementor-heading-title{color:#fff!important;}
.page-hero-lead{color:rgba(234,243,238,.82)!important;font-size:17px!important;max-width:620px;margin-top:14px!important;}

/* =========================================================================
   4. FILTER TABS
   ========================================================================= */
.tabs-wrap{text-align:center;}
.tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.tab-btn{
  border:1.5px solid var(--line);background:#fff;border-radius:var(--radius-pill);
  padding:10px 20px;font-family:var(--font-display);font-weight:700;font-size:13.5px;
  color:var(--ink-soft);cursor:pointer;transition:.15s ease;
}
.tab-btn.active,.tab-btn:hover{background:var(--green-700);border-color:var(--green-700);color:#fff;}

/* =========================================================================
   5. PROGRAM BLOCKS (alternating image/text rows)
   ========================================================================= */
/* cat-education / cat-health / cat-women / cat-child / cat-community /
   cat-environment carry no visual styling of their own — they're markers
   read by the filter script in the Tabs section above to show/hide each
   programme block. Left empty here intentionally. */
.cat-education,.cat-health,.cat-women,.cat-child,.cat-community,.cat-environment{}

.program-block{transition:opacity .2s ease;}
.hero-media{position:relative;}
.hero-media .elementor-widget-container img{
  border-radius:var(--radius-md);width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);
}
.program-detail-text p{margin-bottom:6px!important;}
.program-block .elementor-widget-button{margin-top:20px;}

/* =========================================================================
   6. BUTTONS
   ========================================================================= */
.btn .elementor-button{
  font-family:var(--font-display)!important;font-weight:700!important;
  border-radius:var(--radius-pill)!important;padding:15px 28px!important;
  border:1.5px solid transparent!important;
  transition:transform .15s ease,background .15s ease,color .15s ease!important;
}
.btn .elementor-button:hover{transform:translateY(-2px);}
.btn-lg .elementor-button{padding:18px 36px!important;font-size:16px!important;}

.btn-primary .elementor-button{background:var(--orange-500)!important;color:#fff!important;box-shadow:0 10px 24px -8px rgba(232,121,43,.55);}
.btn-primary .elementor-button:hover{background:var(--orange-600)!important;}

.btn-secondary .elementor-button{background:var(--green-700)!important;color:#fff!important;box-shadow:0 10px 24px -8px rgba(20,98,71,.4);}
.btn-secondary .elementor-button:hover{background:var(--green-800)!important;}

.btn-outline-light .elementor-button{background:transparent!important;border-color:rgba(255,255,255,.5)!important;color:#fff!important;}
.btn-outline-light .elementor-button:hover{background:#fff!important;color:var(--green-800)!important;}

.final-cta-actions .elementor-container{justify-content:center;gap:16px;}

/* =========================================================================
   7. FINAL CTA
   ========================================================================= */
.cta-final{background:var(--green-900)!important;text-align:center;}
.cta-final .elementor-widget-text-editor{max-width:560px;margin:0 auto;}

/* =========================================================================
   8. RESPONSIVE
   ========================================================================= */
@media (max-width:900px){
  .hero-media{order:-1;margin-bottom:24px;}
}/* End custom CSS */