/* =====================================================================
   Gangotri Solar Energy - NEW DESIGN (theme.css)
   Loaded AFTER style.css, so it re-skins the whole site without touching content.
   Look: clean white, indigo + sky blue, Poppins / DM Sans, pill buttons, big rounded cards.
   To change the colours edit the :root variables below.
   (Dark mode is switched off on purpose: this design is light only.)
   ===================================================================== */
:root{
  --ink:#14193a;--mute:#5b6178;--bg:#fff;--card:#fff;--line:#e6e9f2;--alt:#f3f8fe;--hd:#14193a;
  --navy:#1a2260;--indigo:#0f1f9e;--night:#0b0f2a;--blue:#1aa3ee;--sky:#e9f5fe;--sky2:#d6e6ff;
  --leaf:#2538b8;--lime:#7fd1ff;--sun:#f7931e;--gold:#ffc21a;
  --hbg:rgba(255,255,255,.97);--hh:76px;
  --sh:0 6px 24px rgba(20,25,58,.07);--sh2:0 18px 48px rgba(20,25,58,.14);
  --fh:INR,Poppins,'Noto Sans Devanagari',system-ui,sans-serif;
  --fb:INR,'DM Sans','Noto Sans Devanagari',system-ui,sans-serif;
  color-scheme:light}
body{font:400 16.5px/1.65 var(--fb);color:var(--ink);background:#fff}
h1,h2,h3,h4,.brand,.btn,.card h3,.faq summary,.val,.out dd,.job b,.tag,.lang,.drawer a.l,.exp-n b,.exp-n span{font-family:var(--fh)}
h1,h2{letter-spacing:-.02em}
:focus-visible{outline:3px solid var(--blue)}

/* ---------- buttons: indigo pill (primary), sky pill, outline ---------- */
.btn{background:linear-gradient(135deg,var(--indigo),var(--night));color:#fff;font-weight:600;font-size:15px;padding:14px 26px;box-shadow:0 8px 20px rgba(15,31,158,.25)}
.btn:hover{box-shadow:0 12px 26px rgba(15,31,158,.34)}
.btn.g{background:linear-gradient(135deg,#27b0f5,#1672d6);box-shadow:0 8px 20px rgba(26,163,238,.3)}
.btn.g:hover{box-shadow:0 12px 26px rgba(26,163,238,.4)}
.btn.o{background:transparent;border:2px solid currentColor;box-shadow:none;color:#fff}
.btn.s{padding:11px 20px;font-size:14px}
.btn.b{background:linear-gradient(135deg,var(--indigo),var(--night))}
.lang{border:1.5px solid var(--line);color:var(--ink);font-weight:600;background:#fff}.lang:hover{background:var(--sky);color:var(--ink);border-color:var(--sky2)}

/* ---------- top bar + header ---------- */
.topbar{background:var(--night);color:#c9d0f0}.topbar .tc{color:#7fd1ff}.topbar a:hover{color:#fff}
header{background:var(--hbg);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(20,25,58,.03)}
.nav{height:var(--hh)}
.brand img{height:58px}
nav.dn{gap:clamp(4px,.8vw,12px);font-weight:500;font-size:15.5px}
nav.dn>a,nav.dn .nvb{position:relative;padding:9px 14px;border-radius:10px;border:0;background:none;font:500 15.5px var(--fb);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
nav.dn>a:after,nav.dn .nvb:after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;border-radius:2px;background:var(--indigo);transform:scaleX(0);transform-origin:left;transition:transform .25s}
nav.dn>a:hover,nav.dn .nvb:hover{color:var(--indigo);background:#f4f6ff}
nav.dn>a[aria-current],nav.dn .nvb[aria-current],nav.dn .nvb[aria-expanded=true]{color:var(--indigo);background:#eef1ff}
nav.dn>a[aria-current]:after,nav.dn .nvb[aria-current]:after,nav.dn .nvb[aria-expanded=true]:after{transform:scaleX(1)}
.nvb svg{transition:transform .2s}.nvb[aria-expanded=true] svg{transform:rotate(180deg)}
.more{position:relative;display:inline-block}
.mm{position:absolute;right:0;top:calc(100% + 10px);min-width:210px;background:#fff;border-radius:16px;box-shadow:var(--sh2);padding:8px;border:1px solid var(--line);display:grid;gap:2px;z-index:60}
.mm a{padding:11px 14px;border-radius:10px;font-weight:500;font-size:15.5px}.mm a:hover,.mm a[aria-current]{background:#eef1ff;color:var(--indigo)}
.acts{gap:10px}

/* ---------- Cities mega menu (like the reference) ---------- */
.mega{position:absolute;left:0;right:0;top:100%;z-index:55;pointer-events:none}
.mega .wrap{max-width:1240px;pointer-events:none}
.mg{pointer-events:auto;background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(20,25,58,.2);border:1px solid var(--line);padding:30px 34px 34px;margin-top:10px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px 30px;max-height:calc(100vh - var(--hh) - 70px);overflow:auto}
.mcol.wide{grid-column:span 2}.mcol.wide .ml{columns:2;column-gap:30px}.mcol .ml a{break-inside:avoid}
.mcol h5{font:700 14px var(--fh);letter-spacing:.07em;margin:0 0 14px;color:var(--ink)}
.mcol a{display:block;padding:7px 0;color:#4a5068;font-size:16px;font-weight:400;transition:color .15s,transform .15s}
.mcol a:hover{color:var(--indigo);transform:translateX(3px)}

/* ---------- drawer (mobile) ---------- */
.drawer{background:#fff}
.drawer a.l,.drawer summary.l{display:flex;align-items:center;gap:14px;padding:14px 6px;border-bottom:1px solid var(--line);font:600 17px var(--fh);min-height:52px;cursor:pointer;list-style:none}
.drawer summary.l::-webkit-details-marker{display:none}
.drawer a.l i,.drawer summary.l i{font-style:normal;width:38px;height:38px;border-radius:12px;background:var(--sky);display:grid;place-items:center;font-size:18px;flex:none}
.drawer summary.l:after{content:"+";margin-left:auto;color:var(--mute);font-size:24px}
.dcities[open] summary.l:after{content:"–"}
.dcity{margin:0 0 0 10px;border-left:2px solid var(--sky2)}.dcity summary{padding:12px 14px;font:600 15px var(--fh);cursor:pointer;color:var(--navy)}
.dcity div{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;padding:0 14px 12px}
.dcity div a{padding:8px 0;color:var(--mute);font-size:15px}
.drawer a.l[aria-current]{color:var(--indigo)}
.scrim{background:rgba(11,15,42,.5)}

/* ---------- hero (home + city pages) ---------- */
.hero2{position:relative;color:#fff;background:linear-gradient(100deg,rgba(11,15,42,.88) 0%,rgba(11,15,42,.62) 48%,rgba(11,15,42,.2) 100%),var(--hbgimg,url(../img/photos/home-rooftop.jpg)) center/cover no-repeat;overflow:hidden}
.hero2 .wrap{max-width:1240px;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero2 .badge{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;font-weight:500;backdrop-filter:blur(6px)}
.hero2 h1{font-size:clamp(34px,5.2vw,62px);font-weight:700;line-height:1.08;letter-spacing:-.03em}
.hero2 h1 span{color:#7fd1ff}
.hero2 .lead{text-align:left;max-width:560px;color:#e3e8fb;margin:18px 0 24px;font-size:19px}
.pills{display:grid;grid-template-columns:repeat(2,max-content);gap:12px;margin:0 0 26px}
.pills span{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);border-radius:12px;padding:11px 16px;font-size:15px;font-weight:500;color:#fff}
.pills span:before{content:"✓";color:#7fd1ff;font-weight:700}
.rate{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:11px 18px;font-weight:500;margin-top:6px}
.hero2 .cta{margin-top:4px}
.hero2 .btn.o{border-color:rgba(255,255,255,.7)}

/* hero booking card */
.bk{background:#fff;color:var(--ink);border-radius:28px;padding:32px 32px 30px;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.bk h2{font-size:clamp(23px,2.6vw,29px);font-weight:700;color:var(--ink)}
.bk .sub2{margin:6px 0 20px;color:var(--mute);font-size:15px}
.bk form{display:grid;gap:14px}
.bk .f{position:relative}
.bk .f label{position:absolute;left:16px;top:7px;margin:0;font:500 12px var(--fb);color:var(--mute);pointer-events:none}
.bk .f input{padding:25px 16px 9px;border-radius:14px;border:1.5px solid var(--line);background:#fff;font-size:16px;min-height:58px}
.bk .f input:focus{border-color:var(--indigo);outline:0;box-shadow:0 0 0 3px rgba(15,31,158,.12)}
.bk .bl{font-weight:500;color:var(--mute);font-size:14.5px;margin:2px 0 -4px}
.bk .opts{display:flex;flex-wrap:wrap;gap:10px}
.bk .opts label{margin:0;font-weight:600;font-size:14.5px}
.bk .opts input{position:absolute;opacity:0;width:1px;height:1px}
.bk .opts span{display:inline-block;border:1.5px solid var(--line);border-radius:12px;padding:11px 16px;cursor:pointer;background:#fff;transition:all .15s;font-family:var(--fb)}
.bk .opts span:hover{border-color:var(--indigo)}
.bk .opts input:checked+span{background:var(--night);color:#fff;border-color:var(--night)}
.bk .opts input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.bk .go2{background:linear-gradient(135deg,var(--indigo),var(--night));color:#fff;border:0;border-radius:14px;min-height:54px;font:600 16px var(--fh);cursor:pointer;box-shadow:0 10px 24px rgba(15,31,158,.3);transition:transform .2s}
.bk .go2:hover{transform:translateY(-2px)}.bk .go2[disabled]{opacity:.7;cursor:wait}
.bk .terms{font-size:13px;color:var(--mute);margin:0}
.bk .er{color:#c0182c;font-size:14px;margin:0}
.bk .hp{position:absolute;left:-9999px;opacity:0}
.bk .done{text-align:center;padding:14px 0}.bk .done .ck2{width:64px;height:64px;border-radius:50%;background:#e6f7ee;color:#139a52;display:grid;place-items:center;font-size:30px;margin:0 auto 14px}
.bk .done p{color:var(--mute);margin:8px 0}.bk .done .ref b{color:var(--ink)}

/* ---------- inner page header ---------- */
.ph{background:linear-gradient(120deg,var(--sky),var(--sky2));color:var(--ink);padding:54px 0}
.ph:before{background:radial-gradient(circle,rgba(26,163,238,.25),transparent 70%)}
.ph h1{color:var(--ink);font-weight:700}.ph p{color:var(--mute)}
.ph .badge{background:#fff;border:1px solid var(--sky2);color:var(--navy)}

/* ---------- strip, sections ---------- */
.strip{background:#fff;box-shadow:none;border-bottom:1px solid var(--line)}
.strip .wrap{gap:14px;padding:22px 20px}
.strip .wrap>div{background:var(--sky);border-radius:14px;padding:13px 10px;font:600 15px var(--fh);color:var(--navy)}
section{padding:76px 0}
.alt{background:linear-gradient(135deg,#f1f8fe,#e6f0ff)}
.dk{background:linear-gradient(140deg,var(--night),var(--navy));color:#fff}
.h h2{font-weight:700;color:var(--ink);font-size:clamp(27px,3.6vw,40px)}
.dk .h h2{color:#fff}
.tag{background:var(--sky);color:var(--indigo);font:600 12.5px var(--fh);letter-spacing:.08em}
.dk .tag{background:rgba(255,255,255,.14);color:#7fd1ff}
.card{border:1px solid var(--line);border-top:1px solid var(--line);border-radius:24px;box-shadow:var(--sh);padding:28px}
.card:hover{transform:translateY(-5px);box-shadow:var(--sh2);border-color:var(--sky2)}
.card .r a:first-child{color:var(--indigo);font-weight:600}
.ic{border-radius:16px;box-shadow:none}
.card .cimg{margin:-28px -28px 18px;width:calc(100% + 56px);height:170px;border-radius:23px 23px 0 0}
.stat{border-radius:22px}
.pic{border-radius:28px}
.ck li:before{background:var(--indigo)}
.proj,.gal div{border-radius:24px}
.step:before{background:var(--indigo);box-shadow:0 8px 16px rgba(15,31,158,.25)}
.job{border-radius:20px}
.chips span{border-radius:12px;font-weight:500;background:var(--sky);border-color:var(--sky2);color:var(--navy)}
.exp{background:linear-gradient(120deg,#eef7ff,#dbe8ff);color:var(--ink)}
.exp-n{border-right:2px solid rgba(15,31,158,.18)}
.exp-n b{color:var(--indigo)}.exp-n span{color:var(--navy)}
.exp-t h2{color:var(--ink)}.exp-t p{color:var(--mute)}
.cta-b{background:linear-gradient(120deg,var(--night),var(--indigo));border-radius:32px}
.cta-b:before{background:radial-gradient(circle,rgba(127,209,255,.35),transparent 70%)}
.sub{background:linear-gradient(120deg,#eef7ff,#dbe8ff);color:var(--ink);border-color:var(--sky2);border-radius:28px}
.in{background:#fff}.out{background:linear-gradient(150deg,var(--indigo),var(--night))}.out dd.s{color:#7fd1ff}
.calc,.calc2{border-radius:28px}
.val{color:var(--indigo)}
input[type=range]{accent-color:var(--indigo)}
input:focus,select:focus,textarea:focus{border-color:var(--indigo)}

/* ---------- FAQ: two columns, plus circle (like the reference) ---------- */
.faq{max-width:1120px;display:grid;grid-template-columns:1fr 1fr;gap:0 56px;align-items:start}
.faq details{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;box-shadow:none}
.faq summary{padding:20px 56px 20px 0;font:600 16.5px/1.4 var(--fh);min-height:0}
.faq summary:after{right:0;background:#f1f2f7;color:var(--ink);width:32px;height:32px;font-size:19px}
.faq details[open] summary:after{background:var(--night);color:#fff}
.faq details p{padding:0 0 20px}
.faq details[open]{border-color:var(--line)}

/* ---------- footer ---------- */
.fcta{background:linear-gradient(110deg,var(--sky),var(--sky2));color:var(--ink)}
.fcta h3{color:var(--ink)}
footer{background:var(--night);color:#b9c0e2}
footer a:hover{color:#7fd1ff}
.fg{grid-template-columns:1.5fr .9fr 1.2fr 1fr 1.4fr;gap:30px}
footer h4:after{background:#7fd1ff}
.fc2 a:hover{background:var(--blue)}
.fl{border-radius:18px}

/* ---------- city page ---------- */
.crumb{font-size:14px;color:#cfd6f5;margin-bottom:14px}.crumb a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.cstats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cstat{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;text-align:center;box-shadow:var(--sh)}
.cstat b{display:block;font:700 28px var(--fh);color:var(--indigo)}.cstat span{color:var(--mute);font-size:15px}
.office{background:#fff;border:1px solid var(--sky2);border-left:6px solid var(--indigo);border-radius:20px;padding:22px 26px;box-shadow:var(--sh);display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.office b{font-family:var(--fh)}
.nearby{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.nearby a{background:var(--sky);border:1px solid var(--sky2);border-radius:12px;padding:10px 18px;font-weight:500;color:var(--navy);transition:all .15s}
.nearby a:hover{background:var(--night);color:#fff;border-color:var(--night)}
.csub{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.csub .card{border-radius:22px}

/* ---------- responsive ---------- */
@media(max-width:1180px){.brand img{height:50px}.mega,.more .mm{display:none!important}}
@media(max-width:1000px){.fg{grid-template-columns:1fr 1fr}.cstats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.hero2 .wrap{grid-template-columns:1fr;gap:28px;padding-top:40px;padding-bottom:40px}.faq{grid-template-columns:1fr}}
@media(max-width:620px){.pills{grid-template-columns:1fr 1fr;gap:10px}.pills span{padding:10px 12px;font-size:13.5px}.bk{padding:24px 18px;border-radius:24px}.hero2 .lead{font-size:17px}.csub{grid-template-columns:1fr}section{padding:56px 0}.burger,.lang{border-radius:12px}.fg{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mcol a{transition:none}}

/* the same booking form inside the quotation pop-up */
.bk.bkm{box-shadow:none;padding:6px 4px 4px;border-radius:0;background:transparent}
.bkm h2{padding-right:44px}
.mc .bk .f input{min-height:58px;margin:0}
.mc .bk .opts label{margin:0}

/* ---------- contact page (new look, same form) ---------- */
.ct{grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}
.cinfo{background:linear-gradient(150deg,var(--night),var(--navy));color:#fff;border-radius:28px;padding:34px 30px;box-shadow:var(--sh2)}
.cinfo h3{font-size:26px;color:#fff}.cinfo p{color:#cfd6f5;margin:10px 0 18px}
.cinfo .mc-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cinfo .mc-list li{display:flex;gap:12px;align-items:center}
.cinfo .mc-list i{font-style:normal;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;flex:none}
.cinfo a:hover{color:#7fd1ff}
.cf{border-radius:28px;box-shadow:var(--sh2);border:1px solid var(--line)}
.cf-h{background:#fff;color:var(--ink);padding:30px 32px 6px}
.cf-h:after{display:none}
.cf-tag{background:var(--sky);color:var(--indigo);font:600 12px var(--fh);letter-spacing:.08em}
.cf-h h2{color:var(--ink);font-size:28px;font-weight:700}.cf-h p{color:var(--mute)}
.cf form{padding:18px 32px 28px}
.cf-types span{border-width:1.5px;border-radius:14px;font-weight:600;font-family:var(--fh)}
.cf-types input:checked+span{border-color:var(--night);background:var(--night);color:#fff;box-shadow:0 8px 18px rgba(11,15,42,.25)}
.cf-types span:hover{border-color:var(--indigo)}
.cf-f label{font:500 13.5px var(--fb);color:var(--mute)}
.cf-f input,.cf-f select,.cf-f textarea{border-radius:14px;border:1.5px solid var(--line);background:#fff}
.cf-f input:focus,.cf-f select:focus,.cf-f textarea:focus{border-color:var(--indigo);outline:0;box-shadow:0 0 0 3px rgba(15,31,158,.12)}
.cf-go{background:linear-gradient(135deg,var(--indigo),var(--night));border-radius:14px;box-shadow:0 10px 24px rgba(15,31,158,.3);font-family:var(--fh);font-weight:600;font-size:16px}
.cf-go:hover{box-shadow:0 14px 30px rgba(15,31,158,.4)}
.cf-call{color:var(--indigo)}
.cf-ok{color:#139a52}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
@media(max-width:900px){.ct{grid-template-columns:1fr}.cinfo{order:2}.cf form{padding:16px 18px 24px}.cf-h{padding:24px 18px 4px}}

/* No extra glow ring on click/focus. Fields still show a coloured border; chatbot (.sh) keeps its own style. */
body :is(input,select,textarea):not(.sh *):focus,
body :is(input,select,textarea):not(.sh *):focus-visible{outline:0!important;box-shadow:none!important}
body .select2-container--focus .select2-selection--single,
body .select2-container--open .select2-selection--single,
body .select2-dropdown .select2-search__field:focus{box-shadow:none!important;outline:0!important}
/* Slider: no box around it; keyboard users still see a ring on the thumb */
input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(15,31,158,.25)}
input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px rgba(15,31,158,.25)}
