/* =========================================================
   DIVINE JEE – FOOTER 
   ========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

/* ---------- Tokens (sirf footer ke andar) ---------- */
#contact,.m-bar,.frap{
  --brand:#006241;
  --accent:#00754A;
  --house:#1E3932;
  --uplift:#2b5148;
  --mint:#d4e9e2;
  --gold:#cba258;
  --soft:rgba(0,0,0,.58);
  --on-dark-soft:rgba(255,255,255,.72);
  --shadow-card:0 0 .5px rgba(0,0,0,.14),0 1px 1px rgba(0,0,0,.24);
  --font:"Manrope","Helvetica Neue",Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  font-family:var(--font);
  box-sizing:border-box;
}
#contact *,#contact *::before,#contact *::after,
.m-bar *,.frap *{box-sizing:border-box;margin:0;padding:0}

/* ---------- Basic reset (footer ke andar) ---------- */
#contact{background:var(--house);color:var(--on-dark-soft);line-height:1.6;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
#contact a,.m-bar a{color:inherit;text-decoration:none}
#contact img{max-width:100%;display:block}
#contact ul{list-style:none}
#contact h3,#contact h4{line-height:1.18;font-weight:700;letter-spacing:-.02em;text-wrap:balance}
#contact :focus-visible,.m-bar :focus-visible,.frap:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
#contact .container{width:min(1180px,100% - 32px);margin-inline:auto}
#contact .eyebrow{font-size:13px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}

/* ---------- Buttons (footer ke andar) ---------- */
#contact .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 26px;border-radius:50px;border:1px solid var(--accent);background:var(--accent);color:#fff;font:600 16px/1.2 var(--font);cursor:pointer;transition:all .2s ease;letter-spacing:-.01em}
#contact .btn:hover{background:var(--brand);border-color:var(--brand)}
#contact .btn:active{transform:scale(.95)}
#contact .btn svg{width:18px;height:18px}
#contact .btn-white{background:#fff;color:var(--accent);border-color:#fff}
#contact .btn-white:hover{background:var(--mint);border-color:var(--mint);color:var(--brand)}
#contact .btn-ghost-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
#contact .btn-ghost-white:hover{background:#fff;color:var(--accent)}
#contact .btn-wa{background:#25D366;border-color:#25D366;color:#fff}
#contact .btn-wa:hover{background:#1ebe5a;border-color:#1ebe5a}

/* ---------- Logo (footer ke andar) ---------- */
#contact .logo{display:flex;align-items:center;gap:10px}
#contact .logo-img{width:56px;height:56px;border-radius:12px;background:#fff;object-fit:contain;padding:2px;box-shadow:var(--shadow-card);transition:transform .5s var(--ease)}
#contact .logo:hover .logo-img{transform:rotate(-8deg) scale(1.06)}
#contact .logo-mark{width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.15rem}
#contact .logo-text{display:flex;flex-direction:column;line-height:1.1}
#contact .logo-text b{font-weight:800;font-size:1.3rem;color:#fff;letter-spacing:-.02em}
#contact .logo-text b em{font-style:normal;color:var(--gold)}
#contact .logo-text small{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-soft);font-weight:700;margin-top:2px}

/* ---------- Footer video ---------- */
#contact .foot-video{position:relative;width:100%;aspect-ratio:21/7;min-height:200px;max-height:460px;overflow:hidden;background:var(--uplift);cursor:pointer}
#contact .foot-video video{width:100%;height:100%;object-fit:cover;display:block}
#contact .foot-video .fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--on-dark-soft);font-weight:600;background:var(--uplift)}
#contact .foot-video .over{position:absolute;inset:0;display:grid;place-items:center;background:rgba(30,57,50,.62);opacity:0;transition:opacity .35s ease;pointer-events:none}
#contact .foot-video .over span{font-size:clamp(2.4rem,9vw,6.5rem);font-weight:800;letter-spacing:-.03em;color:#fff;transform:translateY(18px) scale(.94);transition:transform .45s ease}
#contact .foot-video .over em{font-style:normal;color:var(--gold)}
#contact .foot-video:hover .over,#contact .foot-video.touch .over{opacity:1}
#contact .foot-video:hover .over span,#contact .foot-video.touch .over span{transform:none}
#contact .foot-main{padding:16px 0 20px}

/* ---------- Offline centre card ---------- */
#contact .centre{display:grid;grid-template-columns:1fr 1.1fr;background:var(--uplift);border-radius:20px;overflow:hidden;margin-bottom:36px;box-shadow:0 24px 50px rgba(0,0,0,.25)}
#contact .centre-info{padding:24px 30px;align-self:center}
#contact .centre-info .eyebrow{color:var(--gold)}
#contact .centre-info h3{color:#fff;font-size:clamp(1.3rem,2.4vw,1.7rem);margin:8px 0 14px}
#contact .centre-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
#contact .centre-img{position:relative;min-height:320px;background:var(--house)}
#contact .centre-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
#contact .centre.no-img{grid-template-columns:1fr}
#contact .centre.no-img .centre-img{display:none}

/* ---------- Links grid ---------- */
#contact .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px}
#contact h4{color:#fff;margin-bottom:16px;font-size:1rem;position:relative;padding-bottom:10px}
#contact h4::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;border-radius:2px;background:var(--gold)}
#contact li{margin-bottom:10px;font-size:.93rem}
#contact ul a{transition:color .2s,padding .2s}
#contact ul a:hover{color:var(--gold)}
#contact .foot-links a:hover{padding-left:4px}
#contact .foot-about p{font-size:.93rem;margin:16px 0 20px;max-width:34ch}

/* ---------- Social icons ---------- */
#contact .socials{display:flex;flex-wrap:wrap;gap:10px}
#contact .socials a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#fff;display:grid;place-items:center;transition:transform .25s var(--ease),background .25s,border-color .25s}
#contact .socials a svg{width:18px;height:18px}
#contact .socials a:hover{transform:translateY(-4px);border-color:transparent}
#contact .socials .s-ig:hover{background:linear-gradient(45deg,#f9a825,#e91e63,#8e24aa)}
#contact .socials .s-yt:hover{background:#ff0000}
#contact .socials .s-fb:hover{background:#1877f2}
#contact .socials .s-tg:hover{background:#229ed9}
#contact .socials .s-wa:hover{background:#25D366}

/* ---------- Address list ---------- */
#contact .addr li{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
#contact .addr svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--gold)}
#contact .addr a:hover{color:var(--gold)}
#contact .centre .addr li{color:var(--on-dark-soft);font-size:.98rem;margin-bottom:8px}
#contact .centre .addr a{color:#fff;font-weight:700}

/* ---------- Copyright bar ---------- */
#contact .copy{border-top:1px solid rgba(255,255,255,.14);margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.85rem}

/* ---------- Floating back-to-top ---------- */
.frap{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:52px;height:52px;border-radius:50%;border:0;background:var(--accent);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:55;box-shadow:0 0 6px rgba(0,0,0,.24),0 8px 12px rgba(0,0,0,.14);transition:all .2s ease}
.frap:active{transform:scale(.95)}
.frap svg{width:22px;height:22px}
.frap[hidden]{display:none}

/* ---------- Mobile bottom action bar ---------- */
.m-bar{display:none}

/* =================== RESPONSIVE =================== */
@media (max-width:960px){
  #contact .foot-grid{grid-template-columns:1fr 1fr}
  #contact .foot-about{grid-column:1 / -1}
}
@media (max-width:768px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .m-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:58;background:#fff;box-shadow:0 -6px 20px rgba(0,0,0,.08);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))}
  .m-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:52px;border-radius:12px;font-size:.75rem;font-weight:700;color:var(--brand)}
  .m-bar a:active{background:var(--mint)}
  .m-bar svg{width:22px;height:22px}
  .m-bar .m-wa{color:#1a9e4b}
  .m-bar .m-app{background:var(--accent);color:#fff;margin:0 2px}
  .frap{bottom:calc(80px + env(safe-area-inset-bottom,0px));width:46px;height:46px}
}
@media (max-width:640px){
  #contact .centre{grid-template-columns:1fr}
  /* mobile: photo ek fixed frame mein, kabhi stretch nahi hogi */
  #contact .centre-img{position:relative;min-height:0;height:auto;aspect-ratio:4/3;overflow:hidden}
  #contact .centre-img img{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover!important;object-position:center 45%}
}
@media (max-width:560px){
  #contact .foot-grid{grid-template-columns:1fr;gap:24px}
  #contact .foot-main{padding-top:12px}
  #contact .btn{padding:12px 22px}
  #contact .foot-video{aspect-ratio:16/10}
  #contact .centre-info{padding:18px 18px 20px}
  #contact .centre-btns .btn{flex:1 1 auto}
  #contact .copy{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  #contact *,.m-bar *,.frap{animation:none!important;transition:none!important}
}