/* ================= RESET ================= */
*{margin:0;padding:0;box-sizing:border-box;}
html,body{overflow-x:hidden;}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}

/* ================= DARK ASTRO VARIABLES ================= */
:root{
  --astro-bg: linear-gradient(180deg,#05010d,#0b0420);
  --astro-panel:#0f0725;
  --astro-gold:#f3c969;
  --astro-gold-soft: rgba(243,201,105,.25);
  --astro-text:#e8e1ff;
  --astro-muted:#b6aedc;

  /* fixed heights */
  --topH:34px;
  --headH:80px;
}

/* push content below fixed bars */
body{padding-top:calc(var(--topH) + var(--headH));}

/* ================= TOP HEADER ================= */
.top-header{
  position:fixed;top:0;left:0;width:100%;
  z-index:10010;
  background:linear-gradient(90deg,#0b0420,#05010d);
  color:var(--astro-gold);
  font-size:13px;
  border-bottom:1px solid var(--astro-gold-soft);
  transform:translateY(0);
  transition:transform .28s ease;
}
.top-header-wrap{
  max-width:1200px;margin:auto;
  padding:6px 16px;
  display:flex;justify-content:space-between;gap:12px;
}
.top-header a{color:var(--astro-gold);text-decoration:none;}
.top-header a:hover{text-decoration:underline;}

/* ================= HEADER ================= */
.site-header{
  position:fixed;top:var(--topH);left:0;width:100%;
  height:var(--headH);
  z-index:10009;

  background:
    radial-gradient(900px 140px at 50% -40%, rgba(243,201,105,.25), transparent 70%),
    linear-gradient(180deg,#0b0420,#05010d);

  border-bottom:1px solid var(--astro-gold-soft);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 30px rgba(0,0,0,.55);
  transition:top .28s ease;
}
.site-header::after{
  content:"";
  position:absolute;left:50%;bottom:-1px;
  width:65%;height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(243,201,105,.45),transparent);
  pointer-events:none;
}

/* ================= HEADER WRAP ================= */
.header-wrap{
  max-width:1300px;margin:auto;
  height:var(--headH);
  padding:0 20px;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;
}

/* ================= CENTER LOGO ================= */
.center-logo{position:relative;z-index:10001;}
.center-logo img{
  width:72px;height:72px;border-radius:50%;
  object-fit:contain;
  box-shadow:0 12px 26px rgba(0,0,0,.60);
  transform:translateY(calc(var(--headH)/2)) scale(1);
  transition:transform .35s ease,width .35s ease,height .35s ease,box-shadow .35s ease;
}
.site-header.scrolled .center-logo img{
  transform:translateY(0px) scale(0.92);
  box-shadow:0 10px 20px rgba(0,0,0,.52);
}

/* ================= NAV (DESKTOP) ================= */
.nav{display:flex;align-items:center;gap:24px;}
.nav a,.dropdown-toggle{
  background:none;border:none;
  color:var(--astro-text);
  font-size:16px;font-weight:700;
  cursor:pointer;text-decoration:none;
  transition:color .25s ease;
}
.nav a:hover,.dropdown-toggle:hover{color:var(--astro-gold);}

/* ================= DROPDOWN (DESKTOP hover) ================= */
.dropdown{position:relative;}
.dropdown-menu{
  position:absolute;top:100%;left:50%;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#12072e,#0b0420);
  border-radius:16px;
  padding:22px;
  opacity:0;visibility:hidden;
  transition:.35s ease;
  box-shadow:0 30px 80px rgba(0,0,0,.75);
  border:1px solid var(--astro-gold-soft);
}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;}
.dropdown-grid{display:grid;gap:10px;}
.states-grid{grid-template-columns:repeat(5,1fr);width:760px;}
.pooja-list{width:260px;}
.dropdown-grid a{
  color:var(--astro-muted);
  padding:10px 14px;border-radius:8px;
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.dropdown-grid a:hover{
  background:rgba(243,201,105,.15);
  color:var(--astro-gold);
}

/* ================= BURGER ================= */
.burger{
  display:none;
  flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;
}
.burger span{width:22px;height:2px;background:var(--astro-gold);}

/* ✅ MOBILE MENU hidden on desktop */
.nav-mobile{display:none;}

/* ================= SCROLL HIDE TOP HEADER ================= */
body.top-hidden{--topH:0px;}
body.top-hidden .top-header{transform:translateY(-110%);}

/* ================= MOBILE ================= */
@media (max-width:900px){
  :root{--topH:56px;--headH:60px;}

  .top-header-wrap{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }

  /* ✅ force correct mobile behavior (safety) */
  .burger{display:flex !important;z-index:10000;}
  .nav-left,.nav-right{display:none !important;}

  /* ✅ mobile menu panel */
  .nav-mobile{
    display:flex;
    position:fixed;top:0;left:-100%;
    width:100%;height:100vh;
    background:linear-gradient(180deg,#12072e,#05010d);
    flex-direction:column;

    /* ✅ more attractive spacing */
    padding: calc(var(--topH) + 86px) 24px 26px;
    gap: 18px;

    transition:left .35s ease;
    z-index:10005;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .nav-mobile.active{left:0;}

  /* ✅ CLOSE BUTTON (TOP RIGHT) */
  .mobile-close{
    position:fixed;
    top:14px;
    right:14px;
    width:44px;
    height:44px;
    border-radius:14px;
    border:1px solid rgba(243,201,105,.28);
    background:rgba(18, 7, 46, .65);
    backdrop-filter: blur(10px);
    display:grid;
    place-items:center;
    color:var(--astro-gold);
    cursor:pointer;
    z-index:10006;
    box-shadow:0 14px 34px rgba(0,0,0,.45);
    opacity:0;
    pointer-events:none;
    transform:translateY(-6px);
    transition:opacity .25s ease, transform .25s ease;
  }
  .nav-mobile.active .mobile-close{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
  .mobile-close svg{
    width:18px;height:18px;
    stroke:var(--astro-gold);
    stroke-width:2.4;
    fill:none;
  }

  /* ✅ menu links (centered like your screenshot) */
  .nav-mobile a,
  .nav-mobile .dropdown-toggle{
    font-size:19px;
    color:#e8e1ff;
    font-weight:800;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:14px 12px;
    border-radius:14px;
    text-align:center;
    letter-spacing:.2px;
  }

  /* ✅ remove ugly divider lines (NO border-bottom here) */
  .nav-mobile .dropdown{
    width:100%;
    padding-bottom:0;
    border-bottom:none;
  }

  .nav-mobile .dropdown-toggle{
    gap:10px;
  }

  /* ✅ dropdown container */
  .nav-mobile .dropdown-menu{
    position:static;
    transform:none;
    opacity:1;
    visibility:visible;

    display:block;
    max-height:0;
    overflow:hidden;
    margin-top:10px;

    background:rgba(18, 7, 46, 0.92);
    box-shadow:none;
    border:1px solid var(--astro-gold-soft);
    border-radius:16px;

    padding:0;
    transition:max-height .35s ease, padding .25s ease;
  }

  .nav-mobile .dropdown-menu.active{
    max-height:460px;
    padding:12px;
  }

  .nav-mobile .dropdown-menu .dropdown-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;

    max-height:360px;
    overflow-y:auto;
    padding-right:6px;
    -webkit-overflow-scrolling:touch;
  }

  .nav-mobile .dropdown-grid a{
    font-size:14px;
    font-weight:700;
    color:var(--astro-muted);

    background:rgba(243,201,105,.07);
    border:1px solid rgba(243,201,105,.15);
    padding:10px 10px;
    border-radius:12px;
    text-align:center;
  }
  .nav-mobile .dropdown-grid a:hover{
    background:rgba(243,201,105,.14);
    color:var(--astro-gold);
  }

  .nav-mobile .dropdown-menu .dropdown-grid::-webkit-scrollbar{width:6px;}
  .nav-mobile .dropdown-menu .dropdown-grid::-webkit-scrollbar-thumb{
    background:rgba(243,201,105,.35);
    border-radius:10px;
  }
  .nav-mobile .dropdown-menu .dropdown-grid::-webkit-scrollbar-track{
    background:rgba(255,255,255,.06);
    border-radius:10px;
  }

  .nav-mobile .pooja-list{max-height:220px;}

  /* ✅ mobile logo behavior */
  .center-logo img{
    width:50px;height:50px;
    transform:translateY(calc(var(--headH)/2)) scale(1);
    box-shadow:0 10px 20px rgba(0,0,0,.55);
  }
  .site-header.scrolled .center-logo img{
    transform:translateY(0px) scale(0.94);
    box-shadow:0 9px 18px rgba(0,0,0,.50);
  }
}
