/* ============================================================================
   SGPT — SHARED SHELL CSS  (single source of truth for header / footer / chrome)
   Loaded LAST in <head> so it is authoritative over any leftover inline styles.
   Edit here once; it applies to every page after `node build.js`.
   ============================================================================ */

/* ===== DESIGN TOKENS — SGPT Brand Guidelines v1.0 ===== */
:root{
  --orange:#FF9549;--gold:#FDD04D;--ink:#1A1410;--cream:#FBF6EC;
  --orange-dark:#E07A2E;--orange-deep:#C25E18;--gold-soft:#FBE38E;--gold-light:#FFF7DC;
  --orange-light:#FFE5D2;--cream-deep:#F4ECD8;--ink-soft:#3D342A;--muted:#6B5F50;
  --line:#E8DDC4;--line-soft:#F0E6CE;--bg-card:#FFFFFF;
  --green:#2E8B57;--green-light:#E8F5E9;--red:#DC2626;--red-light:#FEE2E2;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-hindi:'Tiro Devanagari Hindi','Noto Sans Devanagari',serif;
  --container:1320px;--radius-sm:8px;--radius-md:11px;--radius-lg:16px;--radius-pill:32px;
  --ease:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0.16,1,0.3,1);
}
.hi,.hindi-line{font-family:var(--font-hindi);}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11px;font-weight:800;letter-spacing:3.5px;text-transform:uppercase;color:var(--orange-deep);margin-bottom:18px;}
.eyebrow::before{content:'';width:34px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--orange),var(--gold));}
.btn-donate{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff;font-size:14px;font-weight:700;box-shadow:0 6px 16px rgba(255,149,73,.35);flex-shrink:0;transition:transform .2s var(--ease),box-shadow .2s var(--ease);}
.btn-donate:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(255,149,73,.45);}

/* Announcement bar */
.announce-bar{background:linear-gradient(90deg,var(--ink),#2A1F14);color:#F5EBD7;font-size:13px;padding:9px 0;overflow:hidden;}
.announce-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:var(--container);margin:0 auto;padding:0 32px;}
.announce-ticker{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent);}
.announce-ticker__track{display:inline-flex;gap:56px;white-space:nowrap;animation:ticker 50s linear infinite;padding-right:56px;}
.announce-ticker__track span{display:inline-flex;align-items:center;gap:8px;}
.announce-ticker__track .bullet{color:var(--gold);font-weight:700;}
@keyframes ticker{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.lang-switch{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.lang-switch button{color:rgba(245,235,215,.65);font-size:12px;font-weight:600;letter-spacing:.04em;padding:4px 8px;border-radius:var(--radius-sm);transition:all .2s var(--ease);background:none;border:none;cursor:pointer;}
.lang-switch button.active,.lang-switch button:hover{color:#fff;background:rgba(255,255,255,.08);}

/* Header */
.site-header{background:rgba(251,246,236,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;transition:box-shadow .3s var(--ease);}
.site-header.is-scrolled{box-shadow:0 4px 20px rgba(26,20,16,.06);}
/* Masthead row: search/menu (left) · centered brand · donate (right) */
.site-header__top{transition:padding .3s var(--ease);}
.header-top__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;max-width:var(--container);margin:0 auto;padding:20px 32px 16px;transition:padding .35s var(--ease);}
.site-header.is-scrolled .header-top__inner{padding-top:11px;padding-bottom:11px;}
.header-side{display:flex;align-items:center;gap:8px;}
.header-side--left{justify-self:start;}
.header-side--right{justify-self:end;}
.brand{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;justify-self:center;transition:gap .3s var(--ease);}
.brand__mark{width:74px;height:74px;flex-shrink:0;display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease);}
.brand__mark img{width:100%;height:100%;object-fit:contain;}
.brand__name{font-family:var(--font-display);font-size:25px;font-weight:600;color:var(--ink);letter-spacing:.01em;line-height:1.05;}
.brand__hindi{font-family:var(--font-hindi);font-size:13px;color:var(--muted);}
.site-header.is-scrolled .brand{flex-direction:row;gap:12px;}
.site-header.is-scrolled .brand__mark{width:44px;height:44px;}
.site-header.is-scrolled .brand__name{font-size:19px;}
.site-header.is-scrolled .brand__hindi{display:none;}

/* Nav row (below the masthead), centered */
.site-nav{border-top:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));}
.site-header.is-scrolled .site-nav{background:none;}
.nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2px;max-width:var(--container);margin:0 auto;padding:5px 24px;}
.site-nav .nav>a,.site-nav .nav__dropdown-trigger{padding:13px 14px;font-size:14.5px;}
.nav__dropdown:last-of-type .nav__menu{left:auto;right:0;}

/* Search box (in the nav row, after Contact) */
.site-search{display:inline-flex;align-items:center;gap:4px;margin-left:12px;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-pill);padding:3px 4px 3px 14px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
.site-search:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-light);}
.site-search input{border:none;background:none;outline:none;font-family:inherit;font-size:14px;color:var(--ink);width:140px;padding:6px 0;}
.site-search input::placeholder{color:var(--muted);}
.site-search button{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff;border:none;cursor:pointer;flex-shrink:0;transition:transform .15s var(--ease);}
.site-search button:hover{transform:scale(1.06);}
.site-search button svg{width:15px;height:15px;}
.site-search--drawer{display:flex;width:100%;margin:0 0 18px;}
.site-search--drawer input{flex:1;width:auto;}
.nav>a,.nav__dropdown-trigger{display:inline-flex;align-items:center;gap:5px;padding:10px 11px;font-size:14px;font-weight:600;color:var(--ink);border-radius:var(--radius-sm);transition:all .2s var(--ease);position:relative;background:none;border:none;cursor:pointer;font-family:inherit;}
.nav>a:hover,.nav__dropdown-trigger:hover,.nav__dropdown:hover .nav__dropdown-trigger,.nav>a.is-active{color:var(--orange-deep);background:var(--gold-light);}
.nav>a.is-active::after{content:'';position:absolute;bottom:-2px;left:11px;right:11px;height:2px;background:var(--orange);border-radius:2px;}
.nav__ext{font-size:10px;opacity:.6;}
.caret{font-size:10px;transition:transform .2s var(--ease);}
.nav__dropdown:hover .caret{transform:rotate(180deg);}
.nav__dropdown{position:relative;}
.nav__menu{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:8px;box-shadow:0 12px 40px rgba(26,20,16,.1);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s var(--ease-out);z-index:110;}
.nav__dropdown:hover .nav__menu,.nav__dropdown:focus-within .nav__menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav__menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;font-size:14px;font-weight:600;color:var(--ink);border-radius:var(--radius-sm);transition:all .15s var(--ease);}
.nav__menu a:hover{background:var(--gold-light);color:var(--orange-deep);}
.nav__menu a .arrow{opacity:0;transform:translateX(-4px);transition:all .2s var(--ease);color:var(--orange);}
.nav__menu a:hover .arrow{opacity:1;transform:translateX(0);}

/* Header utilities (search + donate) */
.header-utils{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--ink);background:none;border:none;cursor:pointer;transition:all .2s var(--ease);}
.icon-btn:hover{background:var(--gold-light);color:var(--orange-deep);}
.icon-btn svg{width:19px;height:19px;}

/* Search overlay */
.search-overlay{position:fixed;inset:0;z-index:300;background:rgba(26,20,16,.55);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:all .25s var(--ease);display:flex;align-items:flex-start;justify-content:center;padding:14vh 24px 24px;}
.search-overlay.is-open{opacity:1;visibility:visible;}
.search-box{width:min(640px,100%);background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 30px 80px rgba(0,0,0,.3);padding:26px;transform:translateY(-12px);transition:transform .25s var(--ease-out);}
.search-overlay.is-open .search-box{transform:translateY(0);}
.search-box h3{font-family:var(--font-display);font-size:24px;color:var(--ink);margin-bottom:14px;}
.search-form{display:flex;gap:10px;}
.search-form input{flex:1;padding:14px 16px;font-size:15px;font-family:inherit;border:1.5px solid var(--line);border-radius:var(--radius-md);background:#fff;color:var(--ink);}
.search-form input:focus{outline:none;border-color:var(--orange);}
.search-form button{padding:14px 22px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff;font-weight:700;border:none;cursor:pointer;}
.search-hint{font-size:12.5px;color:var(--muted);margin-top:12px;}

/* Mobile nav */
.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .2s var(--ease);background:none;border:none;cursor:pointer;}
.menu-toggle:hover{background:var(--gold-light);}
.menu-toggle__bar{width:22px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:all .3s var(--ease);}
.menu-toggle__bar::before,.menu-toggle__bar::after{content:'';position:absolute;left:0;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s var(--ease);}
.menu-toggle__bar::before{top:-7px;}.menu-toggle__bar::after{top:7px;}
.menu-toggle.is-open .menu-toggle__bar{background:transparent;}
.menu-toggle.is-open .menu-toggle__bar::before{top:0;transform:rotate(45deg);}
.menu-toggle.is-open .menu-toggle__bar::after{top:0;transform:rotate(-45deg);}
.mobile-nav{position:fixed;top:0;right:0;width:min(380px,90vw);height:100vh;background:var(--cream);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .4s var(--ease-out);z-index:200;overflow-y:auto;padding:24px;}
.mobile-nav.is-open{transform:translateX(0);box-shadow:-10px 0 40px rgba(26,20,16,.15);}
.mobile-nav__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:16px;}
.mobile-nav__close{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);font-size:24px;color:var(--ink);background:none;border:none;cursor:pointer;}
.mobile-nav__close:hover{background:var(--gold-light);}
.mobile-nav__list{list-style:none;margin:0;padding:0;}
.mobile-nav__list>li{border-bottom:1px solid var(--line-soft);}
.mobile-nav__list>li>a,.mobile-nav__group-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 4px;font-size:16px;font-weight:600;color:var(--ink);text-align:left;background:none;border:none;cursor:pointer;font-family:inherit;}
.mobile-nav__group.is-open .mobile-nav__group-trigger .caret{transform:rotate(180deg);}
.mobile-nav__sublist{list-style:none;max-height:0;overflow:hidden;transition:max-height .4s var(--ease);margin:0;padding:0;}
.mobile-nav__group.is-open .mobile-nav__sublist{max-height:700px;}
.mobile-nav__sublist a{display:block;padding:10px 16px;font-size:14px;color:var(--muted);}
.mobile-nav__sublist a:hover{color:var(--orange-deep);}
.mobile-nav__cta{margin-top:22px;display:block;text-align:center;padding:14px;background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff;font-weight:700;border-radius:var(--radius-md);}
.mobile-overlay{position:fixed;inset:0;background:rgba(26,20,16,.5);opacity:0;visibility:hidden;transition:all .3s var(--ease);z-index:150;backdrop-filter:blur(4px);}
.mobile-overlay.is-open{opacity:1;visibility:visible;}

/* Footer */
.site-footer{background:var(--ink);color:#D8CDB7;position:relative;overflow:hidden;}
.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);}
.footer-ornament{position:absolute;font-family:var(--font-hindi);font-size:280px;color:rgba(253,208,77,.025);line-height:1;pointer-events:none;user-select:none;top:50%;right:-40px;transform:translateY(-50%);}
.footer-main{padding:64px 0 48px;position:relative;z-index:1;}
.footer-main__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:48px;max-width:var(--container);margin:0 auto;padding:0 32px;}
.footer-brand__logo{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.footer-brand__mark{width:50px;height:50px;display:grid;place-items:center;flex-shrink:0;background:none;border:0;padding:0;box-shadow:none;border-radius:0;overflow:visible;}
.footer-brand__mark img,.footer-brand__mark svg{width:100%;height:100%;object-fit:contain;}
.footer-brand__name{font-family:var(--font-display);font-size:18px;font-weight:600;color:#F5EBD7;line-height:1.2;}
.footer-brand__hindi{font-family:var(--font-hindi);font-size:11px;color:rgba(216,205,183,.6);margin-top:2px;}
.footer-brand__desc{font-size:13.5px;line-height:1.7;color:rgba(216,205,183,.7);margin:18px 0 22px;max-width:320px;}
.footer-socials{display:flex;gap:8px;}
.footer-socials a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.04);border:1px solid rgba(253,208,77,.2);display:grid;place-items:center;color:rgba(216,205,183,.7);transition:all .2s var(--ease);}
.footer-socials a:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:translateY(-2px);}
.footer-socials svg{width:16px;height:16px;}
.footer-col h5{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(253,208,77,.15);position:relative;}
.footer-col h5::after{content:'';position:absolute;bottom:-1px;left:0;width:28px;height:1px;background:var(--gold);}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0;padding:0;}
.footer-col a{font-size:13.5px;color:rgba(216,205,183,.75);transition:all .2s var(--ease);display:inline-flex;align-items:center;gap:6px;}
.footer-col a:hover{color:var(--gold);transform:translateX(3px);}
.footer-col a .ext{font-size:10px;opacity:.5;}
.footer-contact dt{font-size:11px;font-weight:700;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin:14px 0 4px;}
.footer-contact dt:first-of-type{margin-top:0;}
.footer-contact dd{font-size:13.5px;color:rgba(216,205,183,.8);line-height:1.6;}
.footer-contact dd a:hover{color:var(--gold);}
.footer-credentials{border-top:1px solid rgba(253,208,77,.15);border-bottom:1px solid rgba(253,208,77,.15);padding:20px 0;position:relative;z-index:1;}
.footer-credentials__inner{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;max-width:var(--container);margin:0 auto;padding:0 32px;}
.credential{display:flex;align-items:center;gap:10px;font-size:12.5px;color:rgba(216,205,183,.65);}
.credential__icon{width:34px;height:34px;border-radius:50%;background:rgba(253,208,77,.1);border:1px solid rgba(253,208,77,.3);display:grid;place-items:center;color:var(--gold);font-size:11px;font-weight:700;}
.credential strong{display:block;color:#F5EBD7;font-weight:600;font-size:13px;}
.footer-bottom{padding:24px 0;position:relative;z-index:1;}
.footer-bottom__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;max-width:var(--container);margin:0 auto;padding:0 32px;}
.footer-bottom__copy{font-size:12.5px;color:rgba(216,205,183,.55);}
.footer-bottom__legal{display:flex;gap:24px;list-style:none;margin:0;padding:0;}
.footer-bottom__legal a{font-size:12.5px;color:rgba(216,205,183,.55);transition:color .2s var(--ease);}
.footer-bottom__legal a:hover{color:var(--gold);}

/* Floats */
.whatsapp-float{position:fixed;left:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(37,211,102,.4);z-index:120;transition:transform .2s var(--ease);}
.whatsapp-float:hover{transform:scale(1.07);}.whatsapp-float svg{width:30px;height:30px;color:#fff;}
.scroll-top{position:fixed;right:22px;bottom:22px;width:50px;height:50px;border-radius:50%;background:var(--ink);color:var(--gold);display:grid;place-items:center;box-shadow:0 8px 24px rgba(26,20,16,.25);z-index:120;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s var(--ease);border:none;cursor:pointer;}
.scroll-top.show{opacity:1;visibility:visible;transform:translateY(0);}.scroll-top:hover{background:#000;}.scroll-top svg{width:22px;height:22px;}

/* Responsive — header/footer */
@media (max-width:1200px){.site-nav .nav>a,.site-nav .nav__dropdown-trigger{padding:11px 9px;font-size:13.5px;}.brand__name{font-size:22px;}}
@media (max-width:1024px){.site-nav{display:none;}.header-side--right .btn-donate{display:none;}.menu-toggle{display:flex;}}
@media (max-width:960px){.footer-main__grid{grid-template-columns:1fr 1fr;gap:36px;}}
@media (max-width:680px){.footer-main__grid{grid-template-columns:1fr;gap:30px;}.footer-bottom__inner{flex-direction:column;text-align:center;}.announce-bar__inner,.header-top__inner{padding-left:20px;padding-right:20px;}.brand__mark{width:58px;height:58px;}.brand__name{font-size:19px;}.brand__hindi{font-size:12px;}}
@media (prefers-reduced-motion:reduce){.announce-ticker__track{animation:none;}}

/* ============================================================================
   GLOBAL MOBILE SAFETY NET  (applies on top of every page's own responsive CSS)
   ============================================================================ */
img{max-width:100%;height:auto;}
@media (max-width:760px){
  /* headings must never clip — wrap long words and highlighted phrases */
  h1,h2,h3,h4{overflow-wrap:break-word;}
  h1 span,h2 span,h3 span,.hl,.highlight,.hl *{white-space:normal !important;}
  /* big hero headings: keep them from overflowing their box on small phones */
  .hero h1,.hero-title,.page-hero h1{overflow-wrap:break-word;}
}
@media (max-width:600px){
  /* tame the very largest hero type on phones so it never overflows its
     box — keeps the left/right page padding visible on every device */
  .hero h1,.hero-title,.page-hero h1{font-size:clamp(1.9rem,7.6vw,2.6rem) !important;line-height:1.14 !important;letter-spacing:-.5px !important;}
}
