/* Shree Nath Solar - NEW DESIGN v3 (sunlight theme, loaded last). Colours come from the logo. */
:root{--navy:#0a4aa6;--deep:#06285a;--blue:#0a63c9;--cyan:#d8ecfb;--leaf:#2a9a2f;--lime:#6cc11a;--sun:#ffb000;--gold:#ffc83a;--bg:#fff;--card:#fff;--alt:#fff8e6;--line:#e6e9f0;--ink:#12233f;--mute:#53647f;--hd:#06285a;--sh:0 1px 2px rgba(6,40,90,.06),0 8px 24px rgba(6,40,90,.07);--sh2:0 18px 44px rgba(6,40,90,.16);--r:22px}
@media(prefers-color-scheme:dark){:root{--bg:#fff;--card:#fff;--alt:#fff8e6;--line:#e6e9f0;--ink:#12233f;--mute:#53647f;--hd:#06285a;--leaf:#2a9a2f}}
html{color-scheme:light}
body{background:var(--bg);color:var(--ink);font-family:INR,Hind,'Noto Sans Devanagari',system-ui,sans-serif;font-size:17px;line-height:1.65}
h1,h2,h3,h4,.btn,nav.dn,.lang,.badge,.tag{font-family:INR,'Bricolage Grotesque',Hind,'Noto Sans Devanagari',system-ui,sans-serif}
h1,h2,h3{color:var(--hd);letter-spacing:-.02em}
a{color:var(--blue)}

/* top strip + header */
.topbar{background:var(--gold);color:var(--deep);border:0;font-weight:600;font-size:14px}
.topbar a,.topbar span{color:var(--deep)}.topbar .tc{background:var(--deep);color:#fff;padding:3px 12px;border-radius:99px}
header{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:0;box-shadow:0 4px 22px rgba(6,40,90,.09)}
.brand img{height:58px;width:auto;display:block}
nav.dn{gap:2px;font-weight:600;font-size:15px}
nav.dn a{color:var(--deep);padding:8px 14px;border-radius:99px;transition:background .2s,color .2s}
nav.dn a:after{display:none}
nav.dn a:hover{background:var(--alt);color:var(--navy)}
nav.dn a[aria-current]{background:var(--navy);color:#fff}
.lang,.alogin{border:1.5px solid var(--line);color:var(--deep);background:#fff;border-radius:99px}
.lang:hover,.alogin:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.burger{background:var(--alt);border:0;border-radius:14px}.burger i{background:var(--deep)}
.drawer{background:#fff;border-bottom:4px solid var(--gold)}
.drawer a.l{color:var(--deep);border-bottom-color:var(--line)}
.drawer a.l i{background:var(--alt)}.drawer a.l[aria-current]{color:var(--navy)}.drawer a.l:after,.drawer .dt{color:var(--mute)}

/* buttons */
.btn{background:linear-gradient(135deg,var(--gold),var(--sun));color:#3a2500;font-weight:800;border:0;border-radius:99px;box-shadow:0 8px 20px rgba(255,176,0,.38);transition:transform .15s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,176,0,.5)}
.btn.g{background:var(--leaf);color:#fff;box-shadow:0 8px 20px rgba(42,154,47,.3)}
.btn.b{background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(10,74,166,.3)}
.btn.o{background:#fff;border:2px solid var(--navy);color:var(--navy);box-shadow:none}
.btn.o:hover{background:var(--navy);color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* hero: sunrise */
.hero{background:radial-gradient(900px 520px at 88% -10%,#ffe29a 0,rgba(255,226,154,0) 70%),linear-gradient(180deg,#fff8e6,#fff)!important;color:var(--ink);overflow:hidden;position:relative}
.hero:before{content:"";position:absolute;right:-180px;top:-220px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(255,176,0,.35),transparent 66%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:56px;padding-bottom:64px}
.hero h1{font-size:clamp(34px,5.4vw,62px);font-weight:800;line-height:1.05;color:var(--deep);max-width:13em}
.hero p{color:var(--mute);font-size:1.08em;max-width:34em}
.badge{display:inline-block;background:#fff;color:var(--leaf);border:1.5px solid #cfe9cf;font-weight:700;font-size:14px;padding:6px 14px;border-radius:99px;margin-bottom:14px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.hero .tr{display:flex;flex-wrap:wrap;gap:8px}
.hero .tr span{background:#fff;border:1px solid var(--line);color:var(--deep);padding:6px 14px;border-radius:99px;font-size:14px;font-weight:600}
.hero .art{display:grid;place-items:center}

/* sections + cards */
section{padding:72px 0}
section.alt,.alt{background:var(--alt)}
.h{max-width:46em;margin-bottom:36px}.h.c{margin-left:auto;margin-right:auto;text-align:center}
.h h2{font-size:clamp(28px,3.8vw,44px);font-weight:800;line-height:1.1;position:relative;padding-bottom:16px}
.h h2:after{content:"";position:absolute;left:0;bottom:0;width:72px;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--sun),var(--lime))}
.h.c h2:after{left:50%;transform:translateX(-50%)}
.tag{display:inline-block;background:var(--cyan);color:var(--navy);font-weight:700;font-size:13px;padding:4px 12px;border-radius:99px;margin-bottom:10px;letter-spacing:.02em}
.card,.pcard,.step,.job,.calc,.faq details,.tbl,.mapcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.pcard{overflow:hidden;border-top:5px solid var(--sun);transition:transform .2s,box-shadow .2s}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.pcard img{border-radius:0}
.card{border-left:5px solid var(--lime)}
.card:nth-child(even){border-left-color:var(--navy)}
.step{border-top:5px solid var(--navy)}
.ic{background:var(--alt);color:var(--navy);border-radius:16px}
.cta-b{background:linear-gradient(135deg,var(--navy),var(--deep));color:#fff;border-radius:30px}
.cta-b h2,.cta-b h3,.cta-b p{color:#fff}
input,select,textarea{border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--navy)}

/* footer */
footer{background:var(--deep);color:#c9d8ee;border-top:6px solid var(--gold)}
footer h4{color:var(--gold)}footer a{color:#e6efff}footer a:hover{color:var(--gold)}
.fcta{background:linear-gradient(135deg,var(--sun),var(--gold));color:var(--deep)}
.fcta h3{color:var(--deep)}.fcta .btn{background:var(--deep);color:#fff;box-shadow:none}
.fl{background:#fff;border-radius:18px;padding:10px 14px;display:inline-block}.fl img{height:70px;width:auto;display:block}
.fb{border-top:1px solid rgba(255,255,255,.12);color:#9fb6d6}

/* mobile tab bar: floating */
.tabbar{left:10px;right:10px;bottom:10px;border:0;border-radius:24px;background:#fff;box-shadow:0 10px 34px rgba(6,40,90,.26)}
.tabbar a{color:var(--mute)}.tabbar a[aria-current]{background:var(--navy);color:#fff}.tabbar a[aria-current] span{filter:none;opacity:1}

@media(max-width:900px){
 .hero .wrap{grid-template-columns:1fr;padding-top:34px;padding-bottom:44px}
 .hero .art{order:-1}
 .strip .wrap{grid-template-columns:1fr 1fr}
 section{padding:48px 0}.brand img{height:48px}
 body{padding-bottom:84px}
}
@media(max-width:520px){body{font-size:16px}.hero .cta .btn{flex:1 1 100%;text-align:center}.exp .wrap{padding:20px;border-radius:24px}}
@media(prefers-reduced-motion:reduce){.btn,.pcard{transition:none}}

/* ===== v3.1 contrast + polish fixes ===== */
/* headings stay white inside every dark block */
.dk :is(h1,h2,h3,h4),.proj :is(h1,h2,h3,h4),.out :is(h1,h2,h3,h4),.mside :is(h1,h2,h3,h4),.cf-h :is(h1,h2,h3),.mapcard :is(h1,h2,h3),.ph :is(h1,h2),.cta-b :is(h1,h2,h3),.stat b{color:#fff}
.dk .h h2:after,.ph h1:after{background:linear-gradient(90deg,var(--gold),var(--lime))}
.dk .tag{background:rgba(255,255,255,.14);color:var(--gold)}
.dk .card,.dk .step{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff}
.stat span{color:#d6e4f7}
/* trust strip: navy bar, translucent chips, white text */
.strip{background:var(--deep);border:0;box-shadow:none}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 20px;text-align:center;font-weight:700;font-size:15px;color:#fff}
.strip .wrap>div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:99px;padding:10px 8px}
/* about band on home */
.exp{background:#fff;color:var(--ink);padding:56px 0 8px}
.exp .wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(18px,4vw,40px);background:linear-gradient(135deg,#fff8e6,#fff);border:1px solid #ffe4a3;border-radius:30px;padding:28px 34px;box-shadow:var(--sh)}
.exp-n{background:#fff;border:0;border-radius:20px;padding:8px 14px;box-shadow:var(--sh)}
.exp-n img{height:88px;width:auto;display:block}
.exp-t h2{color:var(--deep);font-size:clamp(22px,2.8vw,30px)}
.exp-t p{color:var(--mute);max-width:60ch}
.exp .btn{justify-self:start}
/* inner-page title band */
.ph{background:radial-gradient(520px 260px at 92% 0,rgba(255,200,58,.45),transparent 70%),linear-gradient(135deg,var(--deep),var(--navy));border-bottom:6px solid var(--gold)}
.ph p{color:#d6e4f7}
.hero h1 span{color:#e08a00!important}
.hero .btn.o{border-color:var(--navy);color:var(--navy)}
.hero .btn.o:hover{color:#fff}
.mq .go,.kb{background:linear-gradient(135deg,var(--gold),var(--sun));color:#3a2500}
@media(max-width:900px){
 .exp .wrap{grid-template-columns:1fr;padding:22px;border-radius:24px;text-align:left}
 .exp-n img{height:72px}
 .strip .wrap{grid-template-columns:1fr 1fr;gap:8px;padding:12px}
 .strip .wrap>div{border-radius:16px;font-size:13.5px}
}

/* hero: logo card replaces old animated scene */
.hero{min-height:0}
.hero .art{position:relative!important;inset:auto!important;height:auto!important;width:100%;max-width:none;margin:0;order:0;z-index:1}
.hero .wrap>div:first-child{z-index:2}
@media(max-width:900px){.hero .art{order:-1!important;height:auto!important}.hero .art .hero-logo{margin:0 auto}}

/* ===== v4: transparent logo + animated images ===== */
.hero-logo{background:none;box-shadow:none;border:0;border-radius:0;padding:0;transform:none;max-width:560px;position:relative;display:block}
.hero-logo:before{content:"";position:absolute;left:50%;top:38%;width:78%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,196,40,.55),rgba(255,196,40,0) 68%);animation:glow 4s ease-in-out infinite}
.hero-logo:after{content:"";position:absolute;left:50%;top:38%;width:86%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed rgba(255,176,0,.55);animation:spin 40s linear infinite}
.hero-logo img{position:relative;z-index:1;width:100%;height:auto;display:block;filter:drop-shadow(0 18px 24px rgba(6,40,90,.22));animation:floaty 6s ease-in-out infinite}
.brand img,.fl img,.exp-n img{filter:drop-shadow(0 3px 6px rgba(6,40,90,.18))}
.brand:hover img{animation:wob .8s ease}
.exp-n,.fl{background:none;box-shadow:none}
.fl{background:#fff;box-shadow:none}
/* images inside cards: slow zoom (Ken Burns) + light sweep */
.pcard,.gal figure,.proj,.cimg,.pic{overflow:hidden}
.pcard>img,.gal img,.cimg img,.pic img,.card>img,main img.cimg{animation:kb 14s ease-in-out infinite alternate;transform-origin:50% 60%}
.pcard:nth-child(even)>img{animation-delay:-5s;animation-direction:alternate-reverse}
.pcard:hover>img,.gal figure:hover img{animation-duration:6s}
.pcard{position:relative}
.pcard:after{content:"";position:absolute;left:-60%;top:0;width:40%;height:190px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);animation:sweep 6s ease-in-out infinite;pointer-events:none}
.pcard:nth-child(2):after{animation-delay:1.2s}.pcard:nth-child(3):after{animation-delay:2.4s}.pcard:nth-child(4):after{animation-delay:3.6s}
.ic,.stat i{display:inline-grid;animation:bob 4s ease-in-out infinite}
.card:nth-child(even) .ic{animation-delay:-2s}
.badge:before{content:"☀️ ";display:inline-block;animation:spin 8s linear infinite}
@keyframes floaty{50%{transform:translateY(-12px)}}
@keyframes glow{50%{opacity:.55;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.09) translateY(-1.5%)}}
@keyframes sweep{0%,55%{left:-60%}100%{left:130%}}
@keyframes bob{50%{transform:translateY(-5px)}}
@keyframes wob{25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}
.badge:before{animation-name:spinr}@keyframes spinr{to{transform:rotate(360deg)}}
@media(max-width:900px){.hero-logo{max-width:360px;margin:0 auto}.pcard:after{height:150px}}
@media(prefers-reduced-motion:reduce){.hero-logo:before,.hero-logo:after,.hero-logo img,.pcard>img,.gal img,.pcard:after,.ic,.stat i,.badge:before{animation:none!important}}
.badge:before{margin-right:6px}

/* ===== v5: visibility fixes (phone / email / address were invisible) ===== */
html{color-scheme:light only}
/* contact card: theme.css gave it a white background, but its text is white -> restore navy card */
.mapcard{background:linear-gradient(160deg,#00366f,#0f7fc0)!important;color:#fff!important;border:0}
.mapcard h3{color:#fff!important}.mapcard address{color:#e3eefb!important}
.mc-list a,.mc-list span{color:#fff!important}.mc-list a:hover{color:var(--gold)!important}
.mc-copy{color:#fff!important}.mc-copy.done{color:#00366f!important}
.mc-act .btn:not(.g){color:#2b1a00!important}.mc-act .btn.g{color:#fff!important}
/* footer / top bar: keep numbers + email readable on their own backgrounds */
.topbar a,.topbar span{color:var(--deep)!important}.topbar .tc{color:#fff!important}
footer .fi a,footer .fi span{color:#e6efff!important}footer .fi a:hover{color:var(--gold)!important}
.fb,.fb p,.fb .text-dark{color:#c9d8ee!important}.fb a,.fb .text-primary{color:#fff!important}
/* phone dark mode: page stays light, so dark-mode leftovers from style.css must not hide text */
@media(prefers-color-scheme:dark){
 .est{background:#f3f7fc!important;border-color:#dde7f3!important;color:#12233f!important}
 .est .cs,.est .hn{color:#64748b!important}
 .sub{background:#fff3cf!important;color:#5a3c00!important;border-color:#f1d27a!important}
 .alogin{border-color:var(--line);color:var(--deep)}
}
.cf-call,.cf-call:visited{color:var(--blue)!important}
.k{color:#b45f00!important}
.cf-tag,.tag{text-shadow:none}.cf-h .cf-tag{background:rgba(6,40,90,.55);color:#ffd66b}

/* v5.1 */
.step{padding:60px 22px 22px!important}.step:before{left:22px!important;top:14px!important}.step:after{left:80px!important;top:36px!important;right:14px!important}
.mapcard{background:linear-gradient(160deg,#00366f,#0f7fc0)!important;color:#fff!important;border:0!important}
.mapcard h3{color:#fff!important}.mapcard address{color:#e3eefb!important}.mc-list a,.mc-list span{color:#fff!important}
.mc-copy{color:#fff!important}.mc-copy.done{color:#00366f!important}.mc-act .btn:not(.g){color:#2b1a00!important}.mc-act .btn.g{color:#fff!important}

/* ===== v6: State -> City custom drop-down ===== */

/* ===== Select2 (State / City / Property / Service) - same look as the other fields ===== */
.gv-host{position:relative}
.select2-container{width:100%!important;display:block;font-family:INR,Hind,system-ui,sans-serif}
.select2-container--default .select2-selection--single{height:52px;display:flex;align-items:center;background:#fff;border:1.5px solid var(--line,#dfe5ee);border-radius:14px;transition:border-color .15s,box-shadow .15s}
.cf-f .select2-container--default .select2-selection--single{height:54px}
.mc .select2-container--default .select2-selection--single{height:51px}
.cx .select2-container--default .select2-selection--single{height:46px;border-radius:10px}
.select2-container--default .select2-selection--single .select2-selection__rendered{flex:1;min-width:0;padding:0 40px 0 14px;line-height:1.3;font-size:16px;color:var(--ink,#102033);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#7a8aa3}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;top:0;right:8px;width:26px}
.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#0a4aa6 transparent transparent;border-width:6px 5px 0;margin-left:-5px;margin-top:-3px}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #0a4aa6;border-width:0 5px 6px}
.select2-container--default.select2-container--focus .select2-selection--single,.select2-container--default.select2-container--open .select2-selection--single{border-color:var(--blue,#1688e0);box-shadow:0 0 0 3px rgba(22,136,224,.22);outline:0}
select[aria-invalid="true"]+.select2 .select2-selection--single{border-color:#e03131!important;background:rgba(224,49,49,.05)!important;box-shadow:0 0 0 3px rgba(224,49,49,.13)!important}
select.gv-ok+.select2 .select2-selection--single{border-color:#2f9e44!important}
.select2-container--open{z-index:2000}
.select2-dropdown.gs2-dd{border:1px solid #dbe5f3;border-radius:16px;box-shadow:0 18px 40px rgba(6,40,90,.22);overflow:hidden;font-family:INR,Hind,system-ui,sans-serif;z-index:2000}
.select2-dropdown.gs2-dd .select2-search--dropdown{padding:10px 10px 4px}
.select2-dropdown.gs2-dd .select2-search__field{min-height:44px;height:44px;padding:0 12px;font-size:16px;border:1.5px solid #dbe5f3!important;border-radius:12px;background:#fff;color:#102033;width:100%;box-sizing:border-box}
.select2-dropdown.gs2-dd .select2-search__field:focus{border-color:#1688e0!important;outline:0;box-shadow:0 0 0 3px rgba(22,136,224,.22)}
.select2-dropdown.gs2-dd .select2-results__options{max-height:260px;padding:6px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.select2-dropdown.gs2-dd .select2-results__option{padding:10px 14px;border-radius:11px;font:600 15px/1.3 INR,Hind,system-ui,sans-serif;color:#12233f}
.select2-dropdown.gs2-dd .select2-results__option--highlighted[aria-selected],.select2-dropdown.gs2-dd .select2-results__option--highlighted{background:#fff3d6!important;color:#06285a!important}
.select2-dropdown.gs2-dd .select2-results__option--selected,.select2-dropdown.gs2-dd .select2-results__option[aria-selected=true]{background:#e8f1fd;color:#0a4aa6}
.select2-dropdown.gs2-dd .select2-results__option--selected:after{content:"\2713";float:right;font-weight:800;color:#2a9a2f}
.select2-dropdown.gs2-dd .select2-results__message{color:#53647f;font-weight:500}

/* ---- Hover cleanup: no lift / zoom / wobble / extra glow on hover (colour feedback only) ---- */
.btn:hover,.card:hover,.pcard:hover,.proj:hover,.stat:hover,.step:hover,.kb:hover,
.mq .go:hover,.msv .go:hover,.mc.mq .go:hover,.mc.msv .go:hover,.cf-go:hover,
.sh-fab:hover,.fc2 a:hover,.gal figure:hover,.mc .mx:hover{transform:none!important}
.btn:hover,.btn.g:hover,.card:hover,.pcard:hover,.proj:hover,.kb:hover,
.mq .go:hover,.msv .go:hover,.mc.mq .go:hover,.mc.msv .go:hover,.cf-go:hover,.sh-fab:hover{box-shadow:none!important}
.gal figure:hover img,.pcard:hover>img{transform:none!important;animation:none!important}
.brand:hover img{animation:none!important}
