/* =========================================================
   SHARED HEADER + FOOTER + FLOATING BUTTONS STYLES
   Prarambh Global Solutions
   ---------------------------------------------------------
   Single source of truth for the site's header, topbar,
   mobile nav, footer and floating action buttons.
   Edit ONLY this file to change how the header/footer look
   on every page at once. This file is linked on every page
   AFTER that page's own <style> block, so it always wins.
   ========================================================= */

/* ---------- TOP BAR + HEADER (sticky together) ---------- */
.topbar-header-sticky{
  position:fixed;
  top:0; left:0; right:0;
  width:100%;
  z-index:1200;
  box-shadow:0 2px 16px rgba(0,0,0,.12);
}
.topbar{
  background:var(--teal-dark);color:#eadcc3;font-size:.78rem;
  padding:10px 0;
}
.topbar .wrap{display:flex;justify-content:center;align-items:center;}
.update-slider{
  display:flex;align-items:center;gap:12px;width:100%;justify-content:center;
  max-width:720px;
  background:linear-gradient(135deg, rgba(217,154,60,.22), rgba(217,154,60,.06));
  border:1px solid rgba(217,154,60,.4);
  border-radius:30px;padding:6px 20px;
}
.update-tag{
  flex-shrink:0;display:flex;align-items:center;gap:7px;font-weight:700;
  color:var(--gold-light);letter-spacing:.02em;padding-right:12px;
  border-right:1px solid rgba(234,220,195,.25);white-space:nowrap;
}
.update-tag::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--gold-light);
  box-shadow:0 0 0 0 rgba(240,185,104,.6);animation:updatePulse 1.7s infinite;flex-shrink:0;
}
@keyframes updatePulse{
  0%{box-shadow:0 0 0 0 rgba(240,185,104,.55);}
  70%{box-shadow:0 0 0 7px rgba(240,185,104,0);}
  100%{box-shadow:0 0 0 0 rgba(240,185,104,0);}
}
.update-track{position:relative;flex:1;max-width:640px;height:1.4em;overflow:hidden;}
.update-item{
  position:absolute;left:0;top:0;width:100%;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transform:translateY(10px);font-weight:500;
  transition:opacity .5s ease, transform .5s ease;
}
.update-item.active{opacity:1;transform:translateY(0);}
.update-item.leaving{opacity:0;transform:translateY(-10px);}
.update-item a{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px;font-weight:700;transition:color .2s;}
.update-item a:hover{color:#fff;}

header{
  background:var(--white);
  border-bottom:1px solid var(--line);
  position:relative;z-index:1;
  transition:background .3s ease, border-color .3s ease;
}
header.menu-open{background:var(--teal-dark);border-bottom-color:transparent;}
header.menu-open .brand-text .name{color:#f4ecd8;}
header.menu-open .brand-text .sub{color:var(--gold-light);}
header.menu-open .call-cta{visibility:hidden;}
header.menu-open .burger{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);}
header.menu-open .burger span{background:#f4ecd8;}
header.scrolled{box-shadow:0 2px 16px rgba(0,0,0,.1);}

.nav-inner{
  max-width:var(--maxw,1240px);margin:0 auto;padding:14px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:46px;width:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1.2;}
.brand-text .name{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.05rem;color:var(--teal-dark);letter-spacing:.01em;}
.brand-text .sub{font-size:.64rem;letter-spacing:.14em;color:var(--gold);font-weight:600;text-transform:uppercase;}

nav.desktop-nav{display:flex;align-items:center;gap:26px;flex-wrap:nowrap;}
nav.desktop-nav > a, .has-drop > button{
  font-size:.92rem;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:5px;
  background:none;border:none;padding:8px 0;position:relative;white-space:nowrap;flex-shrink:0;
}
nav.desktop-nav > a.active{color:var(--teal);font-weight:600;}
nav.desktop-nav > a.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);}
nav.desktop-nav > a:hover, .has-drop > button:hover{color:var(--teal);}
.has-drop{position:relative;}
.has-drop svg{transition:transform .25s;}
.has-drop:hover svg{transform:rotate(180deg);}
.dropdown{
  position:absolute;top:calc(100% + 14px);left:0;
  background:var(--white);border:1px solid var(--line);border-radius:10px;
  min-width:210px;padding:10px;box-shadow:0 18px 40px rgba(43,28,16,.14);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:all .25s ease;
  max-height:70vh;overflow-y:auto;
}
.dropdown.wide{min-width:440px;display:grid;grid-template-columns:1fr 1fr;gap:2px 6px;}
.dropdown.right-align{left:auto;right:0;}
.has-drop:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;padding:9px 12px;border-radius:6px;font-size:.86rem;color:var(--ink);}
.dropdown a:hover{background:var(--teal-light);color:var(--teal-dark);}

.call-cta{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--gold);border-radius:40px;padding:7px 18px 7px 8px;
  background:var(--cream);
}
.call-cta .icon{
  width:34px;height:34px;border-radius:50%;background:var(--teal-dark);color:var(--gold-light);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.call-cta .txt{display:flex;flex-direction:column;line-height:1.2;}
.call-cta .txt strong{font-size:.86rem;color:var(--teal-dark);}
.call-cta .txt span{font-size:.68rem;color:var(--muted);}

.burger{
  display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;
  background:var(--white);position:relative;z-index:1200;
}
.burger span{
  position:absolute;left:11px;right:11px;height:2px;background:var(--teal-dark);border-radius:2px;
  transition:transform .35s ease, opacity .25s ease, top .35s ease;
}
.burger span:nth-child(1){top:14px;}
.burger span:nth-child(2){top:20px;}
.burger span:nth-child(3){top:26px;}
.burger.open span:nth-child(1){top:20px;transform:rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){top:20px;transform:rotate(-45deg);}

/* ---------- MOBILE NAV ---------- */
.mobile-nav{
  position:fixed;inset:0;background:var(--teal-dark);z-index:1150;
  padding:calc(var(--header-h,110px) + 16px) 30px 30px;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .45s cubic-bezier(.77,0,.18,1);
  overflow-y:auto;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav a{color:#f2ead9;}
.mobile-nav .m-item{border-bottom:1px solid rgba(255,255,255,.12);}
.mobile-nav .m-item > a, .mobile-nav .m-item > button{
  width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:center;
  padding:17px 2px;font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:500;color:#f2ead9;
}
.mobile-nav .m-sub{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.mobile-nav .m-sub.open{max-height:700px;}
.mobile-nav .m-sub a{display:block;padding:11px 14px;font-size:.94rem;color:#d9c9a9;}
.mobile-nav .m-cta{
  margin-top:24px;background:var(--gold);color:var(--teal-dark);text-align:center;
  padding:14px;border-radius:40px;font-weight:600;
}
.mobile-nav .m-foot{margin-top:auto;padding-top:24px;color:#cdbb98;font-size:.85rem;display:flex;flex-direction:column;gap:6px;}
.mobile-nav .m-toggle svg{transition:transform .25s;}
.mobile-nav .m-toggle.open svg{transform:rotate(180deg);}

/* Dark backdrop behind the sliding mobile menu */
#navOverlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.5);z-index:1090;
  transition:opacity .3s;
}
#navOverlay.show{display:block;}

/* ---------- FLOATING ACTION BUTTONS ---------- */
.float-buttons{
  position:fixed;right:20px;bottom:100px;z-index:900;display:flex;flex-direction:column;gap:12px;
}
.fab{
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.2);position:relative;
}
.fab span.lbl{
  position:absolute;right:60px;background:var(--teal-dark);color:#fff;font-size:.72rem;padding:5px 10px;
  border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.fab:hover span.lbl{opacity:1;}
.fab.wa{background:#25d366;}
.fab.call{background:var(--gold);}
.fab.book{background:var(--teal);}
.fab.top{background:var(--teal-dark);}

/* ---------- FOOTER ---------- */
footer{background:var(--teal-dark);color:#ddccae;padding-top:60px;}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px;}
.f-brand .brand-text .name{color:#f4ecd8;}
.f-logo-badge{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--white);border-radius:12px;
  padding:8px 14px;box-shadow:0 6px 16px rgba(0,0,0,.25);
  width:fit-content;
}
.f-logo-badge img{height:44px;width:auto;display:block;}
.f-brand p{font-size:.86rem;line-height:1.8;color:#cdbb98;margin:16px 0 20px;max-width:300px;}
.f-socials{display:flex;gap:10px;}
.f-socials a{
  width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;
  transition:background .25s;
}
.f-socials a:hover{background:var(--gold);color:var(--teal-dark);}
footer h5{color:#f4ecd8;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px;font-family:'Poppins',sans-serif;}
footer .f-col ul li{margin-bottom:12px;}
footer .f-col ul li a{font-size:.86rem;color:#cdbb98;transition:color .2s;}
footer .f-col ul li a:hover{color:var(--gold-light);}
footer .f-contact li{display:flex;gap:10px;font-size:.85rem;color:#cdbb98;margin-bottom:14px;align-items:flex-start;}
footer .f-contact li svg{color:var(--gold-light);flex-shrink:0;margin-top:2px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);padding:20px 0 26px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;font-size:.78rem;color:#b7a17c;
}
.footer-bottom a:hover{color:var(--gold-light);}

/* Active nav link */
.desktop-nav a.active,.desktop-nav .has-drop button.active{color:var(--teal,#1a7a5e);font-weight:700;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:640px){
  .topbar{padding:9px 0;}
  .update-slider{max-width:100%;padding:7px 14px;border-radius:16px;justify-content:flex-start;gap:8px;}
  .update-tag{padding-right:8px;font-size:.72rem;}
  .update-tag span.tag-text{display:none;}
  .update-track{max-width:none;height:2.5em;}
  .update-item{
    white-space:normal;text-overflow:clip;line-height:1.25;font-size:.74rem;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
}
@media (max-width:360px){
  .update-item{font-size:.7rem;}
}
@media (max-width:1080px){
  .nav-inner{padding:14px 20px;}
  nav.desktop-nav{gap:16px;}
  nav.desktop-nav > a, .has-drop > button{font-size:.85rem;}
  .footer-top{grid-template-columns:1fr 1fr;row-gap:36px;}
}
@media (max-width:860px){
  nav.desktop-nav{display:none;}
  .burger{display:block;}
  .call-cta .txt{display:none;}
  .call-cta{padding:8px;}
}
@media (max-width:640px){
  .footer-top{grid-template-columns:1fr;}
  .float-buttons{right:12px;bottom:86px;}
  .fab{width:46px;height:46px;}
  .fab span.lbl{display:none;}
}
