.site-header, .footer, main { position: relative; z-index: 10; }

.site-header { position: sticky; z-index: 1040; top: 0; overflow: visible; min-height: var(--si-nav-height); border-bottom: 1px solid var(--si-line); background: var(--si-header-bg); backdrop-filter: blur(18px); box-shadow: var(--si-shadow-sm); transition: background var(--si-theme-transition), border-color var(--si-theme-transition); }
.site-header .navbar,
.site-header .si-container { overflow: visible; }
.desktop-nav { align-items: center; gap: .1rem; overflow: visible; }
.desktop-nav .nav-share { display: flex; align-items: center; margin-left: .2rem; }
.desktop-nav .page-share-slot { align-items: flex-end; }
.desktop-nav .entity-share {
  min-height: 36px;
  padding: .32rem .72rem;
  color: var(--si-header-active);
  background: var(--si-header-control);
  border-color: rgba(var(--si-primary-rgb), .4);
}
.desktop-nav .entity-share-menu { z-index: 1080; }
.desktop-nav .entity-share-status {
  position: absolute;
  top: calc(100% + .2rem);
  right: 0;
  margin: 0;
  white-space: nowrap;
}
.site-header .navbar { min-height: var(--si-nav-height); padding-block: .65rem; }
.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--si-header-text); text-decoration: none; font-family: var(--si-font-display); font-weight: 700; letter-spacing: -.02em; }
.brand:hover { color: var(--si-header-text); }
.brand-mark { position: relative; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(var(--si-primary-rgb), .5); border-radius: 50%; color: var(--si-primary); font-family: var(--si-font-devanagari); font-size: 1.4rem; box-shadow: 0 0 22px rgba(var(--si-primary-rgb), .18), inset 0 0 20px rgba(var(--si-primary-rgb), .08); }
.brand-mark::after { content: ""; position: absolute; inset: -5px; border: 1px solid transparent; border-top-color: rgba(var(--si-tertiary-rgb), .7); border-radius: 50%; animation: orbit 16s linear infinite; }
.brand strong span { color: var(--si-header-active); }
.brand-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .22rem;
  min-width: 0;
}
.brand-badges {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .28rem;
}
.brand-badge {
  display: inline-flex;
  align-items: center;
  gap: .18rem;
  padding: .1rem .4rem;
  border: 1px solid rgba(var(--si-primary-rgb), .4);
  border-radius: 999px;
  color: var(--si-header-active);
  background: rgba(var(--si-primary-rgb), .12);
  font-family: var(--si-font-body);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand-badge i { font-size: .62rem; }
.footer .brand-badge,
.about-page .brand-badge {
  color: var(--si-primary);
}
.mobile-drawer .brand-badge {
  color: var(--si-primary);
}
.desktop-nav .nav-link { padding: .6rem .72rem; border-radius: 10px; color: var(--si-header-muted); font-size: .9rem; font-weight: 650; }
.desktop-nav .nav-link:hover, .desktop-nav .nav-link.active { color: var(--si-header-active); background: var(--si-nav-active-bg); }
.header-actions { display: flex; align-items: center; gap: .5rem; }
.header-icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--si-line); border-radius: 50%; color: var(--si-header-text); background: var(--si-header-control); }
/* Pill language switch (EN | हिं) — v2-style segmented control. */
.lang-switch { display: inline-flex; align-items: center; gap: .15rem; padding: .24rem; border: 1px solid var(--si-line); border-radius: 999px; background: var(--si-header-control); box-shadow: var(--si-shadow-sm); }
.lang-switch a,
.lang-switch button {
  display: inline-flex;
  min-width: 40px;
  justify-content: center;
  align-items: center;
  padding: .34rem .55rem;
  border: 0;
  border-radius: 999px;
  color: var(--si-header-muted);
  background: transparent;
  font-family: var(--si-font-body);
  font-weight: 700;
  font-size: .74rem;
  letter-spacing: .04em;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background var(--si-theme-transition), color var(--si-theme-transition), box-shadow var(--si-theme-transition);
}
.lang-switch a:hover,
.lang-switch button:hover { color: var(--si-header-text); }
.lang-switch a.active,
.lang-switch button.active {
  color: var(--si-action-text);
  background: linear-gradient(100deg, var(--si-action), var(--si-primary));
  box-shadow: 0 4px 14px rgba(0, 0, 0, .32);
}
.lang-switch a.devanagari,
.lang-switch button.devanagari { font-family: var(--si-font-devanagari); font-size: .8rem; }
.mobile-menu-button { display: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--si-line); border-radius: 13px; color: var(--si-header-text); background: var(--si-header-control); }

.mobile-drawer { --bs-offcanvas-width: min(88vw, 360px); color: var(--si-text); background: var(--si-drawer-bg); border-left: 1px solid var(--si-line); transition: background var(--si-theme-transition); }
.mobile-drawer .offcanvas-header { min-height: var(--si-nav-height); border-bottom: 1px solid var(--si-line); }
.mobile-drawer .btn-close { opacity: .72; }
.mobile-nav { display: grid; gap: .4rem; }
.mobile-nav a { display: flex; min-height: 48px; align-items: center; justify-content: space-between; padding: .7rem .85rem; border: 1px solid transparent; border-radius: 13px; color: var(--si-text-muted); text-decoration: none; font-weight: 700; }
.mobile-nav a:hover, .mobile-nav a.active { color: var(--si-primary); border-color: rgba(var(--si-primary-rgb), .22); background: var(--si-nav-active-bg); }
.mobile-share { margin-top: .15rem; }
.mobile-share .page-share-slot,
.mobile-share .entity-share-wrap { width: 100%; }
.mobile-share .entity-share {
  width: 100%;
  justify-content: space-between;
  min-height: 48px;
  border-radius: 13px;
}
.mobile-share .entity-share-menu {
  position: static;
  width: 100%;
  transform: none;
  margin-top: .4rem;
}
.mobile-tools { display: grid; gap: .75rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--si-line); }
.mobile-tools .form-select { min-height: 46px; color: var(--si-text); border-color: var(--si-line); background-color: var(--si-surface-raised); }

.hero { padding: clamp(2.6rem, 6vw, 5rem) 0 2.4rem; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.hero-kicker { display: inline-flex; align-items: center; gap: .55rem; color: var(--si-primary); font-size: .78rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.hero-kicker::before { content: ""; width: 32px; height: 1px; background: linear-gradient(90deg, transparent, var(--si-primary)); }
/* h1 stays ≈34px on every breakpoint (max 2.125rem = 34px). */
.hero h1 { max-width: 900px; margin: 1rem 0 1.1rem; font-size: clamp(1.6rem, 2.6vw, 2.125rem); line-height: 1.18; letter-spacing: -.02em; color: var(--si-text); text-shadow: 0 2px 24px rgba(0, 0, 0, .35); }
.hero h1 em { color: var(--si-primary); font-style: normal; text-shadow: 0 0 30px rgba(var(--si-primary-rgb), .35); }
.hero-copy { max-width: 690px; margin: 0; color: var(--si-text-muted); font-size: clamp(1rem, 1.6vw, 1.12rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.45rem; }
.location-feedback { display: inline-flex; max-width: 100%; align-items: center; gap: .55rem; padding: .62rem .8rem; border: 1px solid rgba(var(--si-tertiary-rgb), .3); border-radius: 999px; color: var(--si-text); background: var(--si-surface); box-shadow: var(--si-shadow-sm); backdrop-filter: blur(12px); font-size: .8rem; }
.location-feedback i { flex: 0 0 auto; color: var(--si-tertiary); }

/* The hero clock is location-aware: the server supplies the selected
 * Panchang timezone and JavaScript keeps the seconds moving in that zone. */
.hero-side { min-width: 0; }
.hero-clock-card {
  position: relative;
  isolation: isolate;
  height: auto;
  align-self: start;
  overflow: hidden;
  padding: clamp(.9rem, 2vw, 1.1rem);
  border: 1px solid rgba(var(--si-primary-rgb), .22);
  border-radius: var(--si-radius-lg);
  background: var(--si-card-bg);
  box-shadow: var(--si-shadow-lg);
  backdrop-filter: blur(14px);
}
.hero-clock-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(circle at 92% 8%, rgba(var(--si-primary-rgb), .2), transparent 45%),
              linear-gradient(145deg, rgba(var(--si-secondary-rgb), .11), transparent 58%);
  pointer-events: none;
}
.hero-clock-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.hero-clock-kicker, .hero-current-muhurat-label {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  color: var(--si-primary);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.hero-clock-kicker i, .hero-current-muhurat-label i { font-size: .85rem; }
.hero-clock-live {
  display: inline-flex;
  align-items: center;
  gap: .34rem;
  color: var(--si-success);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hero-clock-live-dot {
  width: .45rem;
  height: .45rem;
  border: 1px solid var(--si-success);
  border-radius: 50%;
  background: var(--si-success);
}
.hero-clock-time {
  display: block;
  margin-top: .55rem;
  color: var(--si-text);
  font-size: .86rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.hero-clock-date { display: block; margin-top: .22rem; color: var(--si-text-muted); font-size: .82rem; font-weight: 700; }
.hero-clock-location { display: flex; align-items: flex-start; gap: .42rem; margin-top: .5rem; color: var(--si-text-faint); font-size: .7rem; line-height: 1.4; overflow-wrap: anywhere; }
.hero-clock-location i { flex: 0 0 auto; color: var(--si-tertiary); }
.hero-clock-divider { height: 1px; margin: .7rem 0 .6rem; background: var(--si-line); }
.hero-current-muhurat-label { color: var(--si-text-muted); font-size: .63rem; letter-spacing: .07em; }
.hero-current-muhurat {
  display: block;
  margin-top: .28rem;
  color: var(--si-text);
  font-size: .94rem;
  font-weight: 850;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.hero-current-muhurat.is-good { color: var(--si-success); }
.hero-current-muhurat.is-avoid { color: var(--si-danger); }
.hero-current-muhurat.is-idle { color: var(--si-text-muted); font-size: .84rem; }
.hero-current-muhurat-time { display: block; margin-top: .18rem; color: var(--si-text-muted); font-size: .72rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.hero-current-muhurat-status { display: inline-flex; margin-top: .36rem; color: var(--si-text-muted); font-size: .6rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.hero-current-muhurat-status.is-good { color: var(--si-success); }
.hero-current-muhurat-status.is-avoid { color: var(--si-danger); }
.hero-clock-link { display: inline-flex; align-items: center; gap: .3rem; margin-top: .7rem; color: var(--si-primary); font-size: .68rem; font-weight: 800; text-decoration: none; }
.hero-clock-link:hover { color: var(--si-text); }


.content-section { padding: clamp(3.5rem, 6vw, 5.5rem) 0; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
.section-head h2 { margin: .4rem 0; font-size: clamp(1.55rem, 2.3vw, 2.2rem); letter-spacing: -.02em; color: var(--si-text); text-shadow: 0 2px 20px rgba(0, 0, 0, .4); }
.section-head p { max-width: 680px; margin: 0; color: var(--si-text-muted); }
.footer { padding: 3.5rem 0 1.4rem; border-top: 3px solid var(--si-primary); color: var(--si-footer-text); background: var(--si-footer-bg); transition: background var(--si-theme-transition), color var(--si-theme-transition); }
.footer .brand, .footer .brand:hover { color: var(--si-footer-text); }
.footer .brand strong span { color: var(--si-primary); }
.footer .brand-mark { color: var(--si-primary); border-color: rgba(var(--si-primary-rgb), .4); }
.footer a { color: var(--si-footer-muted); text-decoration: none; }
.footer a:hover { color: var(--si-footer-text); }
.footer-note { color: var(--si-footer-muted); font-size: .78rem; line-height: 1.7; }

@media (max-width: 991.98px) {
  .desktop-nav, .header-actions .desktop-only { display: none !important; }
  .mobile-menu-button { display: grid; place-items: center; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-side { display: block; width: 100%; }
  .hero-clock-card { width: 100%; height: auto; margin-inline: 0; }
}
@media (max-width: 575.98px) {
  :root { --si-nav-height: 64px; }
  .site-header .navbar { min-height: 64px; }
  .brand-mark { width: 39px; height: 39px; }
  .brand strong { font-size: .97rem; }
  .hero { padding-top: 2.25rem; }
  .hero h1 { font-size: clamp(1.5rem, 5.5vw, 1.8rem); }
  .hero-actions > * { width: 100%; justify-content: center; }
  .location-feedback { border-radius: 14px; justify-content: flex-start; }
  .section-head { display: block; }
}
