/*
Theme Name: GMVS
Theme URI: https://clone-magic-314.lovable.app
Description: WordPress theme replicating the GMVS (Gramin Mahila Vikas Sansthan) site layout and content structure.
Version: 1.0.0
Author: Manurashi Global India Pvt Ltd
Text Domain: gmvs
*/
:root{--primary:#c2410c;--primary-dark:#9a3412;--accent:#15803d;--bg:#ffffff;--soft:#fdf6ee;--ink:#1f2937;--muted:#6b7280;--dark:#1c1917;--radius:14px;--font:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65}
img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .6em;font-weight:700}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.section{padding:80px 0}.section.soft{background:var(--soft)}
.eyebrow{display:block;color:var(--primary);font-weight:600;font-size:.9rem;margin-bottom:10px}
.section h2{font-size:clamp(1.8rem,3.5vw,2.6rem)}
.lead{color:var(--muted);max-width:640px}
.btn{display:inline-block;padding:12px 26px;border-radius:999px;font-weight:600;border:2px solid var(--primary);background:var(--primary);color:#fff;transition:.2s}
.btn:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.btn.outline{background:transparent;color:var(--primary)}.btn.outline:hover{background:var(--primary);color:#fff}
.btn.light{background:#fff;color:var(--primary);border-color:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:10px}.brand img{width:48px;height:48px;object-fit:cover;border-radius:50%}
.brand b{display:block;font-size:1.15rem;line-height:1}.brand small{display:block;font-size:.7rem;color:var(--muted)}
.main-nav ul{list-style:none;display:flex;gap:6px;margin:0;padding:0;align-items:center}
.main-nav li{position:relative}.main-nav a{display:block;padding:10px 14px;font-weight:500;font-size:.95rem}
.main-nav a:hover{color:var(--primary)}
.main-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12);border-radius:10px;padding:8px;list-style:none;flex-direction:column;gap:0}
.main-nav li:hover>.sub-menu{display:flex}
.menu-toggle{display:none;background:none;border:0;font-size:1.8rem;cursor:pointer}
/* hero */
.hero{position:relative;min-height:600px;display:flex;align-items:center;color:#fff;background-size:cover;background-position:center}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.25))}
.hero .container{position:relative}.hero .eyebrow{color:#fdba74}
.hero h1{font-size:clamp(2.2rem,5vw,3.8rem);max-width:760px}.hero p{max-width:600px;font-size:1.1rem}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
/* layouts */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split img{border-radius:var(--radius);width:100%;object-fit:cover}
.grid{display:grid;gap:24px}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}
.card{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:0 4px 20px rgba(0,0,0,.07);transition:.2s;display:block}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.card h3{font-size:1.2rem}.card p{color:var(--muted);margin:0 0 12px}.card .more{color:var(--primary);font-weight:600}
.card .ico{width:48px;height:48px;border-radius:12px;background:var(--soft);color:var(--primary);display:grid;place-items:center;font-size:1.4rem;margin-bottom:14px}
.head-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px;flex-wrap:wrap;gap:12px}
.center{text-align:center}.center .lead{margin:0 auto}
/* impact */
.impact{background:var(--primary);color:#fff;text-align:center}
.impact h2{color:#fff}.stat b{display:block;font-size:clamp(2rem,4vw,3rem)}.stat span{opacity:.9}
/* stories */
.story{padding:0;overflow:hidden}.story .body{padding:22px}.story .tag{font-size:.75rem;font-weight:600;color:var(--accent)}
.story .thumb{height:190px;background:var(--soft) center/cover}
/* contact strip */
.contact-strip{background:var(--soft)}.contact-strip .row{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:center}
.social{display:flex;gap:10px;flex-wrap:wrap}.social a{padding:6px 14px;border-radius:999px;background:#fff;font-size:.85rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}
/* csr */
.steps .card{text-align:left}.steps .num{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:700;margin-bottom:12px}
/* partners */
.marquee{overflow:hidden;margin-top:30px}.track{display:flex;gap:60px;width:max-content;animation:scroll 30s linear infinite}
.track div{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--muted)}.track img{height:56px;width:auto}
@keyframes scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.track{animation:none}}
.cta{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;text-align:center}
.cta .lead{color:#fff;opacity:.9;margin:0 auto 24px}.cta .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
/* footer */
.site-footer{background:var(--dark);color:#d6d3d1;padding:64px 0 24px}
.site-footer h4{color:#fff}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:8px}
.site-footer a:hover{color:#fdba74}.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:40px}
.copy{border-top:1px solid #44403c;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;font-size:.85rem;flex-wrap:wrap;gap:8px}
/* inner pages */
.page-head{background:var(--soft);padding:56px 0}.page-head h1{margin:0;font-size:clamp(2rem,4vw,3rem)}
.entry{max-width:820px;margin:0 auto;padding:56px 20px}.entry img{border-radius:var(--radius)}
@media(max-width:900px){.g3,.g4,.g5,.split,.fgrid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.section{padding:56px 0}
.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:10px 20px;box-shadow:0 10px 20px rgba(0,0,0,.1)}
.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:flex-start}.main-nav .sub-menu{display:flex;position:static;box-shadow:none;padding-left:14px}}
@media(max-width:560px){.g3,.g4,.g5,.fgrid{grid-template-columns:1fr}}

/* hero slider */
.gmvs-slider{position:relative;color:#fff;overflow:hidden}
.gmvs-slider .slides{position:relative;min-height:600px}
.gmvs-slider .slide{position:absolute;inset:0;display:flex;align-items:center;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}
.gmvs-slider .slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25))}
.gmvs-slider .slide.is-active{opacity:1;visibility:visible;z-index:1}
.gmvs-slider .slide .container{position:relative;width:100%}
.gmvs-slider .eyebrow{color:#fdba74}
.gmvs-slider h1{font-size:clamp(2.2rem,5vw,3.8rem);max-width:760px}
.gmvs-slider p{max-width:600px;font-size:1.1rem}
.gmvs-slider .btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.s-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:var(--ink);font-size:1.8rem;line-height:1;cursor:pointer}
.s-nav:hover{background:#fff}.s-prev{left:16px}.s-next{right:16px}
.s-dots{position:absolute;left:0;right:0;bottom:20px;z-index:3;display:flex;gap:10px;justify-content:center}
.s-dots button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer}
.s-dots button.on{background:#fff}
@media(max-width:700px){.gmvs-slider .slides{min-height:520px}.s-nav{display:none}}
@media(prefers-reduced-motion:reduce){.gmvs-slider .slide{transition:none}}

/* page banners */
.page-head.has-img{position:relative;background-size:cover;background-position:center;color:#fff;padding:110px 0}
.page-head.has-img:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.3))}
.page-head.has-img .container{position:relative}

/* v1.2 additions */
.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.steps .grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.cta .eyebrow{color:#fed7aa}
.story .thumb{background-color:var(--soft);background-size:cover;background-position:center}
.social.icons{display:flex;gap:10px;flex-wrap:wrap}
.social.icons a{width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;box-shadow:none;transition:.2s}
.social.icons a:hover{background:var(--primary);color:#fff}

/* v1.3 inner pages */
.page-head{background:linear-gradient(120deg,#7c2d12,#c2410c 55%,#ea580c);color:#fff;padding:64px 0;position:relative;overflow:hidden}
.page-head:after{content:"";position:absolute;right:-90px;top:-90px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08)}
.page-head.has-img:after{display:none}
.page-head .container{position:relative;z-index:1}.page-head h1{color:#fff;margin:0}
.crumbs{font-size:.85rem;opacity:.85;margin-bottom:10px}.crumbs a:hover{text-decoration:underline}
.page-head .sub{max-width:720px;margin:12px 0 0;font-size:1.05rem;opacity:.95}
.page-body{padding-bottom:0}
.page-body>*:not(.sec){max-width:860px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.sec{padding:64px 0}.sec.alt{background:var(--soft)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}.wrap-narrow{max-width:820px;margin:0 auto}
.center{text-align:center}.center-row{justify-content:center;margin-bottom:20px}.muted{color:var(--muted)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.cols.side{grid-template-columns:1.5fr 1fr}.cols.c3{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.cols.c4{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:30px}
.box{background:#fff;border-radius:14px;padding:26px;box-shadow:0 4px 20px rgba(0,0,0,.07)}.box h3{margin-top:0}.box small{font-weight:400;color:var(--muted);font-size:.8rem}
.lead-p{font-size:1.15rem;color:#374151}
.quote{border-left:5px solid var(--primary);background:var(--soft);padding:20px 24px;border-radius:0 14px 14px 0;font-size:1.05rem;font-style:italic;margin:14px 0}
.checks{list-style:none;padding:0;margin:0}.checks li{position:relative;padding:10px 0 10px 36px;border-bottom:1px solid #eee}
.checks li:before{content:"\2713";position:absolute;left:0;top:10px;width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:.75rem}
.checks.two{columns:2;column-gap:40px}.checks.two li{break-inside:avoid}
.badge-row{display:flex;flex-wrap:wrap;gap:10px}.badge{background:var(--soft);border-radius:999px;padding:8px 16px;font-size:.88rem}.badge b{color:var(--primary)}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:24px}.vm .box{border-top:5px solid var(--primary)}
.facts{display:grid;gap:16px}.fact{background:#fff;border-radius:14px;padding:22px;box-shadow:0 4px 20px rgba(0,0,0,.07);border-left:5px solid var(--primary)}
.fact b{display:block;font-size:2rem;color:var(--primary);line-height:1.1}.fact span{color:var(--muted)}
.factrow .fact{text-align:center;border-left:0;border-top:5px solid var(--primary)}
.person{display:grid;grid-template-columns:120px 1fr;gap:26px;background:#fff;border-radius:14px;padding:28px;box-shadow:0 4px 20px rgba(0,0,0,.07);margin-bottom:24px;align-items:start}
.person .avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#f59e0b);color:#fff;display:grid;place-items:center;font-size:2.2rem;font-weight:700}
.person img{width:120px;height:120px;border-radius:50%;object-fit:cover}
.person .role{display:inline-block;background:var(--soft);color:var(--primary);font-weight:600;font-size:.8rem;padding:3px 12px;border-radius:999px;margin-bottom:6px}
.person h3{margin:0 0 8px}.person details{margin-top:10px}.person summary{cursor:pointer;color:var(--primary);font-weight:600}
.cta-band{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff}.cta-band h2{color:#fff}.cta-band p{max-width:620px;margin:0 auto 22px;opacity:.95}.cta-band .btn+.btn{margin-left:8px}
.card .tag{display:inline-block;background:var(--soft);color:var(--primary);font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;margin-bottom:10px}
table.bank{width:100%;border-collapse:collapse;font-size:.95rem}.bank td{padding:9px 0;border-bottom:1px solid #eee;vertical-align:top}.bank td:first-child{color:var(--muted);width:40%;padding-right:12px}
.box.tax{background:var(--soft);box-shadow:none;border:1px solid #f0dcc6}.thanks{margin-top:30px;color:var(--muted)}
.map{width:100%;height:380px;border:0;border-radius:14px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.gal a{display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.gal img{width:100%;height:100%;object-fit:cover;transition:.3s}.gal a:hover img{transform:scale(1.06)}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:999;display:grid;place-items:center;cursor:zoom-out;padding:20px}.lb img{max-width:100%;max-height:92vh;border-radius:8px}
.rep{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 4px 20px rgba(0,0,0,.07);margin-bottom:14px}
.cform label{display:block;font-weight:600;font-size:.9rem}.cform input,.cform textarea{width:100%;margin-top:6px;padding:12px 14px;border:1px solid #d6d3d1;border-radius:10px;font:inherit}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--primary);border-color:transparent}
.notice{padding:12px 16px;border-radius:10px;margin-bottom:16px}.notice.ok{background:#dcfce7;color:#166534}.notice.err{background:#fee2e2;color:#991b1b}
@media(max-width:900px){.cols,.cols.side,.cols.c3,.cols.c4,.vm{grid-template-columns:1fr}.checks.two{columns:1}.person{grid-template-columns:1fr}.cta-band .btn+.btn{margin:10px 0 0}}

/* v1.4 women-led page */
.photo{border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.15)}.photo img{width:100%;height:100%;object-fit:cover;display:block}
.spaced{margin-top:30px}
.plan{border-top:5px solid var(--primary)}.plan.b{border-top-color:var(--accent)}
.scope{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.scope .item{background:#fff;border-radius:14px;padding:24px;box-shadow:0 4px 20px rgba(0,0,0,.07);border-top:4px solid var(--primary)}
.scope .item h4{margin:0 0 6px;font-size:1.05rem}.scope .item p{margin:0;color:var(--muted)}
.scope .n{width:38px;height:38px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:700;margin-bottom:12px}
@media(max-width:900px){.scope{grid-template-columns:1fr}}

/* v1.5 program cards: photo + icons */
.card.prog{padding:0;overflow:hidden}.card.prog .pbody{padding:26px 28px}
.card.prog .pimg{height:190px;background-size:cover;background-position:center;background-color:var(--soft)}
.card.prog .ico svg{width:26px;height:26px}
.card.prog .ico.over{margin-top:-52px;background:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.2);border:3px solid #fff}

/* v1.6 buttons + people */
.btn.light,.cta .btn.light,.cta-band .btn.light{background:#fff;color:#9a3412!important;border-color:#fff;font-weight:700;opacity:1}
.btn.light:hover,.cta .btn.light:hover,.cta-band .btn.light:hover{background:#ffedd5;border-color:#ffedd5;color:#7c2d12!important}
.btn.ghost:hover{background:#fff;color:#9a3412;border-color:#fff}
.btn.outline:hover{color:#fff}
.person{grid-template-columns:150px 1fr}.person .avatar,.person>img{width:150px;height:150px}.person>img{border-radius:14px;object-fit:cover}
.person .avatar{border-radius:14px;font-size:2.6rem}
.cform select{width:100%;margin-top:6px;padding:12px 14px;border:1px solid #d6d3d1;border-radius:10px;font:inherit;background:#fff}
@media(max-width:900px){.person{grid-template-columns:1fr}}

/* v1.7 */
.person>img{object-position:top}
