/*
Theme Name: SeedIT NGO
Theme URI: https://seedit.in
Author: SeedIT NGO
Description: Official WordPress theme for SeedIT NGO — An Initiative of BBS Reddy Educational Foundation. Built for donations, volunteering, membership, CSR partnerships and full programme transparency.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: seedit-ngo
*/

/* ============================================================
   DESIGN TOKENS
   Palette:
   --pine:      #234D2C  (deep pine green — headers, footer, nav)
   --leaf:      #5C9A3C  (primary leaf green — from logo, CTAs/links)
   --sprout:    #A9D18E  (light sprout green — soft backgrounds, tags)
   --paper:     #FBF9F3  (warm paper background)
   --ink:       #1E2420  (near-black ink text)
   --amber:     #E98A3C  (germination amber — warm accent for donation CTAs)
   Type:
   display: "Fraunces" (serif, warm, organic — headlines)
   body:    "Work Sans" (clean, humanist — paragraphs, UI)
   utility: "IBM Plex Mono" (stat counters, data, receipts)
   Signature element: the "meridian arc" from the SeedIT globe mark,
   reused as a section divider and behind the impact counters.
   ============================================================ */

:root{
  --pine:#234D2C;
  --pine-dark:#173420;
  --leaf:#5C9A3C;
  --leaf-light:#7CB342;
  --sprout:#A9D18E;
  --paper:#FBF9F3;
  --paper-dim:#F1EEE3;
  --ink:#1E2420;
  --ink-soft:#4A5148;
  --amber:#E98A3C;
  --amber-dark:#C96F27;
  --line:#DCD6C4;
  --radius:14px;
  --shadow:0 10px 30px rgba(35,77,44,0.08);
  --maxw:1180px;
}

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,500&family=Work+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans',sans-serif;
  font-size:17px;
  line-height:1.65;
}
h1,h2,h3,h4{
  font-family:'Fraunces',serif;
  color:var(--pine-dark);
  line-height:1.15;
  margin:0 0 .5em;
  font-weight:600;
}
h1{font-size:clamp(2.2rem,4vw,3.4rem); font-weight:700;}
h2{font-size:clamp(1.7rem,3vw,2.4rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1.1em;}
a{color:var(--leaf); text-decoration:none;}
a:hover{color:var(--amber-dark);}
img{max-width:100%; display:block;}
ul{padding-left:1.2em;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.section{padding:76px 0;}
.section-tight{padding:44px 0;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  color:var(--leaf);
  font-weight:600;
  margin-bottom:14px;
  display:inline-block;
}
.bg-paper-dim{background:var(--paper-dim);}
.bg-pine{background:var(--pine); color:#EFF3EA;}
.bg-pine h1,.bg-pine h2,.bg-pine h3{color:#fff;}
.center{text-align:center;}
.lede{font-size:1.2rem; color:var(--ink-soft); max-width:640px;}
.center .lede{margin-left:auto; margin-right:auto;}

/* Meridian arc — signature divider, echoes the SeedIT globe mark */
.arc-divider{width:100%; height:46px; overflow:hidden; line-height:0;}
.arc-divider svg{width:100%; height:100%; display:block;}

/* Buttons */
.btn{
  display:inline-block;
  padding:14px 28px;
  border-radius:999px;
  font-weight:600;
  font-size:.98rem;
  border:2px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-amber{background:var(--amber); color:#fff;}
.btn-amber:hover{background:var(--amber-dark); color:#fff; box-shadow:0 8px 20px rgba(201,111,39,.3);}
.btn-outline{background:transparent; border-color:#fff; color:#fff;}
.btn-outline:hover{background:#fff; color:var(--pine);}
.btn-pine{background:var(--pine); color:#fff;}
.btn-pine:hover{background:var(--pine-dark); color:#fff;}
.btn-ghost{background:transparent; border-color:var(--pine); color:var(--pine);}
.btn-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:26px;}
.center .btn-row{justify-content:center;}

/* Header / Nav */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(251,249,243,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:12px 24px; max-width:var(--maxw); margin:0 auto;}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{width:44px; height:44px; border-radius:50%; object-fit:cover;}
.brand-text{line-height:1.15;}
.brand-text strong{font-family:'Fraunces',serif; font-size:1.15rem; color:var(--pine-dark); display:block;}
.brand-text span{font-size:.72rem; color:var(--ink-soft); font-family:'IBM Plex Mono',monospace;}
.main-nav ul{display:flex; gap:22px; list-style:none; margin:0; padding:0; align-items:center;}
.main-nav a{color:var(--ink); font-weight:500; font-size:.96rem;}
.main-nav a:hover{color:var(--leaf);}
.nav-cta{background:var(--amber); color:#fff !important; padding:9px 20px; border-radius:999px; font-weight:600;}
.nav-cta:hover{background:var(--amber-dark); color:#fff !important;}
.menu-toggle{display:none; background:none; border:none; font-size:1.6rem; color:var(--pine); cursor:pointer;}

@media (max-width:900px){
  .menu-toggle{display:block;}
  .main-nav{
    position:absolute; top:100%; left:0; right:0; background:var(--paper);
    border-bottom:1px solid var(--line);
    display:none; padding:16px 24px;
  }
  .main-nav.open{display:block;}
  .main-nav ul{flex-direction:column; align-items:flex-start; gap:14px;}
}

/* Hero */
.hero{
  position:relative;
  background:linear-gradient(160deg, var(--pine) 0%, var(--pine-dark) 100%);
  color:#fff;
  overflow:hidden;
  padding:90px 0 110px;
}
.hero::after{
  content:"";
  position:absolute; right:-120px; top:-120px; width:520px; height:520px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.14);
  background:radial-gradient(circle at 30% 30%, rgba(169,209,142,.18), transparent 60%);
}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:50px; align-items:center; position:relative; z-index:1;}
.hero h1{color:#fff; max-width:620px;}
.hero p.lede{color:#DCE7D4; max-width:520px;}
.hero-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius);
  padding:26px;
  backdrop-filter:blur(6px);
}
.hero-stat-row{display:flex; justify-content:space-between; margin-top:16px; padding-top:16px; border-top:1px solid rgba(255,255,255,.15);}
.hero-stat b{font-family:'IBM Plex Mono',monospace; font-size:1.5rem; display:block; color:#fff;}
.hero-stat span{font-size:.8rem; color:#C7D6BE;}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;}}

/* Cards / grids */
.grid{display:grid; gap:26px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:900px){.grid-3,.grid-4,.grid-2{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}}

.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:28px; box-shadow:var(--shadow);
}
.card h3{margin-bottom:.4em;}
.icon-badge{
  width:52px; height:52px; border-radius:50%;
  background:var(--sprout); color:var(--pine-dark);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; margin-bottom:16px;
}

/* Stat counters */
.stat{
  text-align:center; padding:22px 10px; border-right:1px solid var(--line);
}
.stat:last-child{border-right:none;}
.stat b{font-family:'IBM Plex Mono',monospace; font-size:2.1rem; color:var(--pine-dark); display:block;}
.stat span{color:var(--ink-soft); font-size:.9rem;}
.stat-row{display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);}
@media (max-width:700px){.stat-row{grid-template-columns:repeat(2,1fr);} .stat{border-bottom:1px solid var(--line);}}

/* Donation tiers */
.tier{border:1px solid var(--line); border-radius:var(--radius); padding:26px; background:#fff; text-align:center;}
.tier b{font-family:'IBM Plex Mono',monospace; font-size:1.6rem; color:var(--amber-dark); display:block; margin-bottom:8px;}
.tier.featured{border-color:var(--amber); box-shadow:0 12px 26px rgba(233,138,60,.18);}

/* Donate page panel */
.donate-panel{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start;}
@media (max-width:900px){.donate-panel{grid-template-columns:1fr;}}
.qr-box{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; text-align:center; box-shadow:var(--shadow);}
.qr-box img{max-width:260px; margin:0 auto 14px;}
.upi-id{font-family:'IBM Plex Mono',monospace; background:var(--paper-dim); padding:8px 14px; border-radius:8px; display:inline-block; font-size:.92rem;}
.doc-badges{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px;}
.doc-badge{background:var(--sprout); color:var(--pine-dark); font-size:.8rem; font-weight:600; padding:6px 14px; border-radius:999px;}

/* Forms */
.form-wrap{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:34px; box-shadow:var(--shadow); max-width:720px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media (max-width:600px){.form-row{grid-template-columns:1fr;}}
.field{margin-bottom:18px;}
.field label{display:block; font-weight:600; font-size:.9rem; margin-bottom:6px; color:var(--pine-dark);}
.field input,.field select,.field textarea{
  width:100%; padding:11px 14px; border:1px solid var(--line); border-radius:8px;
  font-family:'Work Sans',sans-serif; font-size:.98rem; background:var(--paper);
}
.field textarea{min-height:110px; resize:vertical;}
.form-note{font-size:.85rem; color:var(--ink-soft); margin-top:10px;}
.form-success{background:var(--sprout); color:var(--pine-dark); padding:14px 18px; border-radius:10px; margin-bottom:20px; font-weight:600;}
.form-error{background:#F6DADA; color:#7A2323; padding:14px 18px; border-radius:10px; margin-bottom:20px; font-weight:600;}

/* Timeline / process */
.steps{list-style:none; padding:0; counter-reset:step;}
.steps li{counter-increment:step; padding-left:52px; position:relative; margin-bottom:22px;}
.steps li::before{
  content:counter(step);
  position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%;
  background:var(--leaf); color:#fff; font-family:'IBM Plex Mono',monospace; font-weight:600;
  display:flex; align-items:center; justify-content:center;
}

/* FAQ accordion */
details.faq{border-bottom:1px solid var(--line); padding:16px 0;}
details.faq summary{font-family:'Fraunces',serif; font-weight:600; font-size:1.08rem; cursor:pointer; color:var(--pine-dark);}
details.faq p{margin-top:10px; color:var(--ink-soft);}

/* Gallery */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
@media (max-width:700px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
.gallery-grid .g-item{
  aspect-ratio:1; background:var(--sprout); border-radius:10px;
  display:flex; align-items:center; justify-content:center; color:var(--pine-dark); font-family:'IBM Plex Mono',monospace; font-size:.8rem; text-align:center; padding:8px;
}

/* Table (transparency / financials) */
table.doc-table{width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);}
table.doc-table th,table.doc-table td{padding:14px 18px; border-bottom:1px solid var(--line); text-align:left;}
table.doc-table th{background:var(--paper-dim); font-family:'IBM Plex Mono',monospace; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em;}

/* Footer */
.site-footer{background:var(--pine-dark); color:#CFE0C6; padding:60px 0 26px;}
.site-footer h4{color:#fff; font-family:'Work Sans',sans-serif; font-size:1rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:34px;}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
.site-footer a{color:#CFE0C6;}
.site-footer a:hover{color:#fff;}
.site-footer ul{list-style:none; padding:0; margin:0;}
.site-footer li{margin-bottom:8px; font-size:.92rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); margin-top:40px; padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.82rem; color:#9DB694;}

/* Live counter banner */
.live-counter{background:var(--amber); color:#fff; text-align:center; padding:14px; font-family:'IBM Plex Mono',monospace; font-weight:600; letter-spacing:.02em;}

/* Utility */
.mt-0{margin-top:0;} .mb-0{margin-bottom:0;}
.tag{display:inline-block; background:var(--sprout); color:var(--pine-dark); font-size:.78rem; font-weight:600; padding:4px 12px; border-radius:999px; margin-right:6px;}
