/*
Theme Name: ImpactDisha
Theme URI: https://impactdisha.com
Author: ImpactDisha
Description: Custom theme for ImpactDisha — India's development-sector opportunity board. Recreates the ImpactDisha brand: pine-green palette, Space Grotesk + Plus Jakarta Sans fonts, rising-chevron logo, and a clean header/footer to wrap the ImpactDisha plugin content.
Version: 2.0
License: GPL-2.0-or-later
Text Domain: impactdisha
*/

:root{
  --pine:#0c6e5a; --pine-dark:#064c3d; --pine-light:#12a883;
  --terra:#f2613a; --cream:#eef2f0; --ink:#0e1f1a; --ink-soft:#41544e;
  --muted:#7c8b85; --line:#dde6e2; --gold:#e0a32e; --white:#fff;
  --radius:16px; --shadow:0 2px 14px rgba(12,110,90,.07); --shadow-lg:0 14px 40px rgba(12,110,90,.16);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,Segoe UI,Arial,sans-serif;
  font-size:16px; line-height:1.6;
}
h1,h2,h3,h4,h5{font-family:'Space Grotesk','Plus Jakarta Sans',sans-serif;color:var(--ink);line-height:1.25}
a{color:var(--pine)}
img{max-width:100%;height:auto}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hwrap{max-width:1240px;margin:0 auto;padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{flex:0 0 auto;text-decoration:none}
.logo>span:last-child{display:flex;flex-direction:column;line-height:1.1}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-mark{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,var(--pine-light),var(--pine));display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(12,110,90,.35)}
.logo-mark svg{display:block}
.logo-text{display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:21px;color:var(--ink);line-height:1.05}
.logo-text span{color:var(--terra)}
.logo-custom img{max-height:48px;width:auto;display:block}
.logo-sub{display:block;font-size:10.5px;color:var(--muted);font-weight:500;margin-top:3px;white-space:nowrap}

/* ---------- Nav ---------- */
.site-nav ul{list-style:none;display:flex;align-items:center;gap:2px;margin:0;padding:0;flex-wrap:nowrap}
.site-nav a{display:inline-block;padding:9px 13px;border-radius:8px;color:var(--ink-soft);text-decoration:none;font-weight:500;font-size:14.5px;transition:.15s;white-space:nowrap}
.site-nav a:hover{background:var(--cream);color:var(--ink)}
.site-nav .current-menu-item>a,.site-nav .current_page_item>a{background:var(--pine);color:#fff;font-weight:600}
.menu-toggle{display:none;background:var(--pine);color:#fff;border:0;border-radius:10px;padding:8px 12px;font-size:18px;cursor:pointer}

/* ---------- Page body ---------- */
.site-main{max-width:1240px;margin:0 auto;padding:18px 22px 60px}
.page-title{font-size:30px;margin:0 0 8px}
.page-intro{color:var(--ink-soft);margin:0 0 26px;font-size:16px}
.entry-content{background:transparent}
.entry-content p{color:var(--ink-soft)}

/* single listing / directory detail */
.single .entry-header{margin-bottom:14px}
.single .entry-title{font-size:30px;margin:0 0 6px}
.entry-thumb{margin:0 0 18px;border-radius:var(--radius);overflow:hidden;max-width:120px}
.entry-thumb img{border-radius:var(--radius)}

/* buttons */
.btn,.id-apply-btn{display:inline-block;background:var(--pine);color:#fff;padding:12px 26px;border-radius:10px;text-decoration:none;font-weight:700}
.btn:hover,.id-apply-btn:hover{background:var(--pine-dark)}
.btn-terra{background:var(--terra)}

/* ---------- Footer ---------- */
.site-footer{background:var(--pine-dark);color:#dfeae6;margin-top:40px}
.fwrap{max-width:1240px;margin:0 auto;padding:40px 22px 20px}
.fcols{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}
.site-footer h4{color:#fff;margin:0 0 10px;font-size:16px}
.site-footer a{color:#cfe0da;text-decoration:none}
.site-footer a:hover{color:#fff}
.foot-links ul{list-style:none;padding:0;margin:0;line-height:2}
.foot-bottom{max-width:1240px;margin:24px auto 0;padding:16px 22px 0;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;opacity:.7}

/* ---------- Responsive ---------- */
@media(max-width:860px){
  .menu-toggle{display:inline-block}
  .site-nav{display:none;width:100%;margin-top:12px}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;gap:2px}
  .hwrap{flex-wrap:wrap}
}

/* ---------- Homepage hero (matches HTML) ---------- */
.id-hero{max-width:1240px;margin:0 auto;padding:0 22px}
.id-hero-inner{position:relative;overflow:hidden;border-radius:18px;padding:22px 26px 22px;background:linear-gradient(135deg,var(--pine-light) 0%,var(--pine) 48%,var(--pine-dark) 100%);box-shadow:var(--shadow-lg)}
.id-hero-inner::before{content:"";position:absolute;top:-45%;right:-8%;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(242,97,58,.38),transparent 62%);pointer-events:none}
.id-hero-inner::after{content:"";position:absolute;bottom:-55%;left:-6%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(224,163,46,.28),transparent 62%);pointer-events:none}
.id-hero-kicker{position:relative;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.03em;color:rgba(255,255,255,.9);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:5px 13px;border-radius:30px;margin-bottom:12px}
.id-hero-sub{margin:6px 0 16px;color:rgba(255,255,255,.92);font-size:17px;font-weight:500;font-family:'Plus Jakarta Sans',sans-serif}
.id-hero-title{position:relative;font-size:clamp(22px,2.6vw,30px);font-weight:700;color:#fff;letter-spacing:-.02em;margin:0 0 14px;font-family:'Space Grotesk',sans-serif}
.id-hero-title span{color:#ffc7ad}
.id-searchbar{position:relative;background:var(--white);border-radius:16px;padding:8px;display:flex;gap:8px;box-shadow:0 14px 34px -10px rgba(0,0,0,.25);flex-wrap:wrap;align-items:center}
.id-searchbar input{flex:1;min-width:180px;border:none;outline:none;background:transparent;font-family:inherit;font-size:15px;padding:11px 14px;color:var(--ink)}
.id-searchbar select{border:none;outline:none;background:var(--cream);font-family:inherit;font-size:14px;font-weight:500;padding:11px 14px;border-radius:9px;color:var(--ink-soft);cursor:pointer}
.id-search-btn{background:var(--pine);color:#fff;border:none;border-radius:10px;padding:12px 24px;font-weight:700;font-size:14.5px;cursor:pointer;font-family:inherit}
.id-search-btn:hover{background:var(--pine-dark)}
.id-search-div{width:1px;height:30px;background:var(--line);flex:0 0 1px;margin:0 2px}
.id-home-board{max-width:1240px;margin:0 auto;padding:30px 22px 60px}
.id-home-board .site-main{padding:0}

/* ---------- 3-column browse layout ---------- */
.id-browse{max-width:1240px;margin:0 auto;padding:22px 22px 60px;display:grid;grid-template-columns:240px 1fr 300px;gap:22px;align-items:start}
.id-browse.no-ads{grid-template-columns:240px 1fr}
.id-browse-main{min-width:0}
.id-browse-main .id-board{max-width:none}
.id-rail-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.id-mini-scroll{max-height:72vh;overflow-y:auto;padding-right:5px}
.id-mini-scroll::-webkit-scrollbar{width:7px}.id-mini-scroll::-webkit-scrollbar-thumb{background:#c4d2cc;border-radius:8px}
.id-rail-title{font-family:'Space Grotesk',sans-serif;font-size:17px;color:var(--pine-dark);margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.id-mini{display:flex;gap:11px;padding:11px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;text-decoration:none;background:#fbfdfc;transition:.15s}
.id-mini:hover{box-shadow:var(--shadow);border-color:var(--pine-light)}
.id-mini-av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--pine-light),var(--pine));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Space Grotesk',sans-serif;flex:0 0 42px}
.id-mini-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.id-mini-name{font-weight:700;color:var(--ink);font-size:14.5px}
.id-mini-cat{font-size:12.5px;color:var(--ink-soft);font-weight:600}
.id-mini-loc{font-size:12px;color:var(--muted);margin-top:3px}
.id-mini-cta{font-size:12.5px;color:var(--terra);font-weight:700;margin-top:6px}
.id-mini-empty{color:var(--muted);font-size:13px}
.id-ad{display:flex;align-items:center;justify-content:center;text-align:center;border-radius:var(--radius);min-height:200px;margin-bottom:18px;text-decoration:none;padding:24px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;line-height:1.35;overflow:hidden}
.id-ad img{width:100%;height:auto;border-radius:var(--radius)}
.id-ad-terra{background:var(--terra);color:#fff}
.id-ad-pine{background:var(--pine);color:#fff}
@media(max-width:1080px){.id-browse{grid-template-columns:200px 1fr 240px}}
@media(max-width:900px){.id-browse{grid-template-columns:1fr 240px}.id-rail-left{display:none}}
@media(max-width:820px){.id-browse{grid-template-columns:1fr}.id-rail-left{display:none}}
.id-browse.vendors-mode{grid-template-columns:1fr}
.id-browse.vendors-mode .id-rail-left,.id-browse.vendors-mode .id-rail-right{display:none}


/* ---------- Opportunity detail layout ---------- */
.id-detail-layout{max-width:1240px;margin:0 auto;padding:22px 22px 80px;display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}
.id-detail-layout>*{min-width:0}
@media(max-width:900px){.id-detail-layout{grid-template-columns:1fr}.id-detail-ads{display:none}}

/* ---------- Footer (matches HTML) ---------- */
.site-footer .fcols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px}
.fabout{max-width:340px}
.fabout h4{font-family:'Space Grotesk',sans-serif;font-size:18px;margin:0 0 10px;color:#fff}
.fabout p{color:#cfe0da;margin:0;line-height:1.6}
.foot-links h4{font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9cc3b8;margin:0 0 14px}
.foot-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.foot-links a{color:#e6efeb;text-decoration:none;font-size:14.5px}
.foot-links a:hover{color:#fff;text-decoration:underline}
@media(max-width:760px){.site-footer .fcols{grid-template-columns:1fr 1fr}.fabout{grid-column:1/-1}}

.id-rail-left{position:sticky;top:84px;align-self:start}

/* ---------- Mobile polish + anti-overflow ("losing frame") ---------- */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip}
img,iframe,video{max-width:100%;height:auto}
.id-card,.vc-card,.id-dcard{overflow-wrap:break-word;word-break:break-word}
@media(max-width:600px){
  .id-browse{padding:16px 14px 50px}
  .id-detail-layout{padding:16px 14px 60px}
  .id-hero{padding:0 14px}
  .id-home-board{padding:16px 14px 50px}
  .id-hero-inner{padding:18px 16px}
  .id-hero-title{font-size:21px}
  .id-searchbar{flex-direction:column;align-items:stretch;padding:10px}
  .id-searchbar input,.id-searchbar select,.id-search-btn{width:100%;min-width:0}
  .id-search-div{display:none}
  .hwrap{padding-left:14px;padding-right:14px}
}

.id-ad-promo{text-decoration:none;display:flex;align-items:center;justify-content:center;text-align:center;min-height:160px;padding:18px}
.id-ad-promo small{font-weight:500;opacity:.92;font-size:12.5px;display:inline-block;margin-top:6px;line-height:1.5}
