/* Site-wide modern enhancements: view transitions, scroll-driven UI, glass header, reveal, skeletons */
@view-transition{ navigation:auto; }
::view-transition-old(root){ animation:vtOut .25s ease both; }
::view-transition-new(root){ animation:vtIn .35s ease both; }
@keyframes vtOut{ to{ opacity:0; transform:translateY(-6px); } }
@keyframes vtIn{ from{ opacity:0; transform:translateY(8px); } }

html{ scroll-padding-top:84px; }
body{ text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
::selection{ background:rgb(224 179 62 / .35); }

/* scroll progress bar */
.ptj-progress{
  position:fixed; inset:0 0 auto 0; height:3px; z-index:200;
  transform-origin:0 50%; transform:scaleX(var(--scroll,0));
  background:linear-gradient(90deg,#E0B33E,#ff9d5c,#E0B33E);
  pointer-events:none;
}

/* glass sticky header */
header{
  position:sticky !important; top:0; z-index:100;
  background:rgb(74 20 20 / .82) !important;
  -webkit-backdrop-filter:saturate(160%) blur(16px);
  backdrop-filter:saturate(160%) blur(16px);
  border-bottom:1px solid rgb(224 179 62 / .25);
  transition:box-shadow .3s ease, background .3s ease;
}
header.is-scrolled{ box-shadow:0 10px 30px -12px rgb(0 0 0 / .55); background:rgb(58 14 14 / .9) !important; }
nav ul a{ position:relative; padding-block:4px; }
nav ul a::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; border-radius:2px;
  background:#E0B33E; transform:scaleX(0); transform-origin:left; transition:transform .3s ease;
}
nav ul a:hover::after, nav ul a.is-active::after{ transform:scaleX(1); }
nav ul a.is-active{ opacity:1; }

/* hero */
.hero{ position:relative; overflow:hidden; isolation:isolate; }
.hero::before{
  content:""; position:absolute; inset:-20%; z-index:-1; pointer-events:none;
  background:
    radial-gradient(40% 40% at 15% 20%, rgb(224 179 62 / .22), transparent 70%),
    radial-gradient(35% 45% at 85% 70%, rgb(255 120 80 / .18), transparent 70%);
  animation:heroDrift 18s ease-in-out infinite alternate;
}
@keyframes heroDrift{ to{ transform:translate3d(3%,-3%,0) scale(1.08); } }
.hero h1{
  background:linear-gradient(90deg,#fff3cf,#E0B33E 45%,#fff3cf);
  background-size:200% auto;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:shine 8s linear infinite;
}
@keyframes shine{ to{ background-position:200% center; } }
.btn-primary{
  border-radius:999px;
  transition:transform .2s ease, box-shadow .25s ease, background .2s ease;
}
.btn-primary:hover{ box-shadow:0 12px 24px -10px rgb(224 179 62 / .8); }
.btn-primary:active{ transform:scale(.97); }
.hero-youtube-card, .chart-card{
  border-radius:20px;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.hero-youtube-count{ font-variant-numeric:tabular-nums; }

/* cards: spotlight that follows the pointer */
.article-card, .featured-card{
  position:relative; overflow:hidden;
  border-radius:20px;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.article-card::before, .featured-card::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .3s ease;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), rgb(224 179 62 / .2), transparent 70%);
}
.article-card:hover::before, .featured-card:hover::before{ opacity:1; }
.article-card:hover{ transform:translateY(-6px); box-shadow:0 24px 40px -18px rgb(74 20 20 / .35); border-color:rgb(201 151 28 / .6); }
.article-card .tag, .featured-body .tag{ border-radius:999px; }
.read-more{ display:inline-flex; gap:6px; align-items:center; transition:gap .25s ease; }
.read-more:hover{ gap:12px; }
.featured-visual img{ transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.featured-card:hover .featured-visual img{ transform:scale(1.05); }

/* reveal on scroll */
.js-reveal{ opacity:0; transform:translateY(24px) scale(.98); filter:blur(4px); }
.js-reveal.is-in{
  opacity:1; transform:none; filter:none;
  transition:opacity .7s ease var(--d,0ms), transform .7s cubic-bezier(.2,.8,.2,1) var(--d,0ms), filter .7s ease var(--d,0ms);
}

/* article toolbar: AJAX search + tag chips */
.ptj-toolbar{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:0 0 22px; }
.ptj-search{
  flex:1 1 260px; display:flex; align-items:center; gap:10px;
  padding:10px 16px; border-radius:999px;
  background:#fff; border:1px solid rgb(58 35 19 / .18);
  box-shadow:0 6px 16px -10px rgb(58 35 19 / .4);
  transition:box-shadow .2s ease, border-color .2s ease;
}
.ptj-search:focus-within{ border-color:#C9971C; box-shadow:0 0 0 4px rgb(224 179 62 / .25); }
.ptj-search input{ flex:1; border:0; outline:0; background:transparent; font:inherit; font-size:15px; color:inherit; min-width:0; }
.ptj-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.ptj-chip{
  border:1px solid rgb(201 151 28 / .5); background:transparent; color:#6B1F1F;
  padding:7px 14px; border-radius:999px; font:600 13px var(--font-body,inherit); cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .15s ease;
}
.ptj-chip:hover{ background:rgb(224 179 62 / .18); }
.ptj-chip:active{ transform:scale(.96); }
.ptj-chip[aria-pressed="true"]{ background:#6B1F1F; color:#fff3cf; border-color:#6B1F1F; }
.ptj-empty{ grid-column:1 / -1; text-align:center; padding:30px; color:rgb(58 35 19 / .7); }
.article-card[hidden]{ display:none !important; }

/* skeleton shimmer while articles load */
.article-grid.is-loading .article-card > *{ color:transparent !important; }
.article-grid.is-loading .article-card{
  background:linear-gradient(90deg,#f3ece0 25%,#fbf6ec 50%,#f3ece0 75%);
  background-size:200% 100%; animation:skel 1.3s linear infinite;
}
@keyframes skel{ to{ background-position:-200% 0; } }

/* floating actions + toast */
.ptj-top{
  position:fixed; right:20px; bottom:20px; z-index:120;
  width:46px; height:46px; border:0; border-radius:50%; cursor:pointer;
  color:#4A1414; font-size:20px; font-weight:700;
  background:linear-gradient(135deg,#f0c85d,#C9971C);
  box-shadow:0 12px 24px -8px rgb(0 0 0 / .5);
  opacity:0; transform:translateY(16px) scale(.9); pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
.ptj-top.is-on{ opacity:1; transform:none; pointer-events:auto; }
.ptj-top:hover{ filter:brightness(1.08); }
.ptj-toast{
  position:fixed; left:50%; bottom:26px; z-index:130;
  transform:translate(-50%,20px); opacity:0; pointer-events:none;
  padding:11px 20px; border-radius:999px; font:600 14px var(--font-body,inherit);
  color:#fff3cf; background:rgb(40 12 12 / .92);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid rgb(224 179 62 / .4);
  box-shadow:0 14px 30px -10px rgb(0 0 0 / .6);
  transition:opacity .3s ease, transform .3s ease;
}
.ptj-toast.is-on{ opacity:1; transform:translate(-50%,0); }

/* footer polish */
footer{ background:linear-gradient(160deg,#4A1414,#2a0a0a) !important; border-top:1px solid rgb(224 179 62 / .3); }
footer a{ text-decoration-color:rgb(224 179 62 / .6); text-underline-offset:3px; }

@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .js-reveal{ opacity:1; transform:none; filter:none; }
  @view-transition{ navigation:none; }
}

/* ================= v2: refined modern layer ================= */

:root{
  color-scheme:light;
  --ptj-bg:#fff; --ptj-surface:#fffaf0; --ptj-ink:#3A2313;
  --ease-out:cubic-bezier(.16,1,.3,1);
}
html[data-theme="dark"]{
  color-scheme:dark;
  --ptj-bg:#14090a; --ptj-surface:#1e0f10; --ptj-ink:#f3e6cf;
  --ink:#f3e6cf; --ink-soft:rgb(243 230 207 / .72);
  --line:rgb(243 230 207 / .14);
}
html[data-theme="dark"] body,
html[data-theme="dark"] .articles,
html[data-theme="dark"] .featured,
html[data-theme="dark"] .article-card,
html[data-theme="dark"] .featured-card,
html[data-theme="dark"] section.panchang,
html[data-theme="dark"] .location-selector{ background:var(--ptj-bg); color:var(--ptj-ink); }
html[data-theme="dark"] .article-card,
html[data-theme="dark"] .featured-card{ background:var(--ptj-surface); border-color:rgb(224 179 62 / .22); }
html[data-theme="dark"] .section-head h2,
html[data-theme="dark"] .article-card h3 a,
html[data-theme="dark"] .featured-body h3 a{ color:#f8d98a; }
html[data-theme="dark"] .ptj-search{ background:var(--ptj-surface); border-color:rgb(224 179 62 / .3); }
html[data-theme="dark"] .ptj-chip{ color:#f8d98a; }
html[data-theme="dark"] .ptj-chip[aria-pressed="true"]{ background:#e0b33e; color:#2a0a0a; }
html[data-theme="dark"] .ad-slot{ background:rgb(255 255 255 / .04); }
html[data-theme="dark"] .cat-strip{ background:var(--ptj-surface); }
html[data-theme="dark"] .cat-strip a, html[data-theme="dark"] .cat-strip span{ color:var(--ptj-ink); }

body{ transition:background-color .4s ease, color .4s ease; }

/* typography */
h1,h2,h3,.section-head h2{ text-wrap:balance; }
p,.desc,.article-card p{ text-wrap:pretty; }
.hero h1{ font-size:clamp(2.2rem, 1.2rem + 4.2vw, 4.2rem); letter-spacing:-.01em; line-height:1.08; }
.section-head h2{ font-size:clamp(1.6rem, 1.1rem + 1.8vw, 2.5rem); }

/* layout: use subgrid only where supported, with a flex fallback */
.article-grid{ grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.article-card{ display:flex; flex-direction:column; min-width:0; }
.article-card .read-more{ margin-top:auto; }
@supports (grid-template-rows:subgrid){
  .article-card{ display:grid; grid-template-rows:subgrid; grid-row:span 4; row-gap:0; align-content:start; }
  .article-card .read-more{ align-self:end; margin-top:0; }
}

/* grain + aurora behind hero */
.hero::after{ mix-blend-mode:soft-light; }
.ptj-stars{ position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; opacity:.9; }

/* gradient accent under section headings */
.section-head h2::after{
  content:""; display:block; width:64px; height:4px; margin-top:12px; border-radius:4px;
  background:linear-gradient(90deg,#E0B33E,#ff9d5c);
}
.section-head[style*="center"] h2::after{ margin-inline:auto; }

/* scroll-driven animations (CSS only, runs off the main thread) */
@supports (animation-timeline: view()){
  .js-reveal{ opacity:1; transform:none; filter:none; }
  .js-reveal.is-in{ transition:none; }
  .article-card, .featured-card, .section-head, .chart-card,
  .location-widget, .hora-widget, .panchang-widget, .planetary-widget{
    animation:sdReveal linear backwards;
    animation-timeline:view();
    animation-range:entry 0% entry 35%;
  }
  @keyframes sdReveal{
    from{ opacity:0; transform:translateY(40px) scale(.97); filter:blur(6px); }
    to{ opacity:1; transform:none; filter:blur(0); }
  }
  .featured-visual img{
    animation:sdParallax linear both; animation-timeline:view(); animation-range:cover;
  }
  @keyframes sdParallax{ from{ transform:scale(1.15) translateY(-4%); } to{ transform:scale(1.15) translateY(4%); } }
}

/* 3D tilt + magnetic hover (vars set from JS) */
.article-card, .featured-card, .chart-card{ transform-style:preserve-3d; }
.article-card.is-tilting, .featured-card.is-tilting{
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px);
  transition:transform .1s linear, box-shadow .3s ease;
}

/* :has()-driven states */
.article-grid:has(.article-card:hover) .article-card:not(:hover){ opacity:.72; filter:saturate(.85); }
.article-card{ transition:opacity .3s ease, filter .3s ease, transform .3s var(--ease-out), box-shadow .3s ease; }
.ptj-toolbar:has(input:not(:placeholder-shown)) .ptj-search{ border-color:#C9971C; }

/* theme toggle */
.ptj-theme{
  display:grid; place-items:center; width:38px; height:38px; border-radius:50%;
  border:1px solid rgb(224 179 62 / .5); background:rgb(255 255 255 / .06);
  color:#E0B33E; font-size:17px; cursor:pointer; margin-left:10px;
  transition:transform .4s var(--ease-out), background .2s ease;
}
.ptj-theme:hover{ background:rgb(224 179 62 / .2); transform:rotate(25deg); }
nav > div:last-child{ display:flex; align-items:center; flex-shrink:0; }
nav{ flex-wrap:nowrap; }
nav .brand{ flex:0 1 auto; }
nav .admin-toggle{ margin-right:0; }
@media (min-width:760px) and (max-width:1100px){ nav .brand{ font-size:14px; } nav ul{ gap:12px 18px; } }
@media (max-width:759px){ nav{ flex-wrap:wrap; } }

/* glow ring on keyboard focus + modern form controls */
:focus-visible{ outline:2px solid #E0B33E; outline-offset:3px; border-radius:6px; }
input, select, textarea{ accent-color:#C9971C; }
html{ scrollbar-color:#C9971C transparent; scrollbar-width:thin; }

/* mobile bottom sheet menu feel */
@media (max-width:700px){
  nav ul{ flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; }
  nav ul li{ scroll-snap-align:start; flex:none; }
  nav ul a{ display:flex; align-items:center; min-height:44px; }
  nav > div:last-child > *{ min-height:44px; }
  .ptj-theme{ width:44px; height:44px; flex:none; }
  input, select, textarea{ font-size:16px !important; }
  .ptj-top{ right:max(12px, env(safe-area-inset-right)); bottom:max(12px, env(safe-area-inset-bottom)); }
  .ptj-toast{ bottom:max(18px, calc(env(safe-area-inset-bottom) + 12px)); max-width:calc(100vw - 32px); }
}

/* page-load entrance */
@keyframes ptjIn{ from{ opacity:0; transform:translateY(14px); } }
.hero-inner > div:first-child > *{ animation:ptjIn .8s var(--ease-out) both; }
.hero-inner > div:first-child > :nth-child(2){ animation-delay:.08s; }
.hero-inner > div:first-child > :nth-child(3){ animation-delay:.16s; }
.hero-inner > div:first-child > :nth-child(4){ animation-delay:.24s; }
.hero-inner > div:first-child > :nth-child(n+5){ animation-delay:.32s; }

@media (prefers-reduced-motion:reduce){
  .article-card, .featured-card, .section-head, .chart-card, .featured-visual img{ animation:none !important; }
  .article-grid:has(.article-card:hover) .article-card:not(:hover){ opacity:1; filter:none; }
}

/* ================= v3: live features + motion ================= */
.videos{ padding:56px 0; }
.video-rail-wrap{ position:relative; }
.video-rail{
  display:flex; gap:18px; overflow-x:auto; padding:10px 4px 22px;
  scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain;
}
.video-rail::-webkit-scrollbar{ display:none; }
.video-card{
  position:relative; flex:0 0 min(78%, 320px); aspect-ratio:16/10; border:0; padding:0;
  border-radius:20px; overflow:hidden; cursor:pointer; text-align:left; color:#fff;
  scroll-snap-align:start; background:#2a0a0a;
  box-shadow:0 18px 34px -18px rgb(0 0 0 / .6);
  animation:cardIn .7s var(--ease-out,ease) both; animation-delay:calc(var(--i,0) * 70ms);
  transition:transform .35s var(--ease-out,ease), box-shadow .35s ease;
}
.video-card:hover{ transform:translateY(-6px) scale(1.02); box-shadow:0 26px 40px -16px rgb(224 179 62 / .45); }
.video-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease-out,ease); }
.video-card:hover img{ transform:scale(1.08); }
.video-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgb(20 5 5 / .9)); }
.video-play{
  position:absolute; z-index:2; top:50%; left:50%; width:54px; height:54px; display:grid; place-items:center;
  transform:translate(-50%,-50%) scale(.85); border-radius:50%; font-size:18px; padding-left:3px;
  background:rgb(224 179 62 / .95); color:#4A1414; opacity:.9;
  transition:transform .3s var(--ease-out,ease), opacity .3s ease;
}
.video-play::before{
  content:""; position:absolute; inset:0; border-radius:50%; border:2px solid #E0B33E;
  animation:ripple 2.2s ease-out infinite;
}
.video-card:hover .video-play{ transform:translate(-50%,-50%) scale(1.1); opacity:1; }
.video-meta{ position:absolute; z-index:2; left:14px; right:14px; bottom:12px; display:grid; gap:2px; }
.video-meta strong{ font-size:14px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.video-meta small{ color:#f8d98a; font:500 11px var(--font-mono,monospace); }
.video-card.is-skeleton{
  background:linear-gradient(90deg,#3a1313 25%,#5a2323 50%,#3a1313 75%); background-size:200% 100%;
  animation:skel 1.3s linear infinite;
}
@keyframes cardIn{ from{ opacity:0; transform:translateX(30px) scale(.96); } }
@keyframes ripple{ from{ transform:scale(1); opacity:.8; } to{ transform:scale(1.7); opacity:0; } }
.rail-btn{
  position:absolute; top:42%; z-index:3; width:44px; height:44px; border-radius:50%; border:0; cursor:pointer;
  font-size:26px; line-height:1; color:#4A1414; background:linear-gradient(135deg,#f0c85d,#C9971C);
  box-shadow:0 10px 22px -8px rgb(0 0 0 / .5); transition:transform .2s ease;
}
.rail-btn:hover{ transform:scale(1.1); }
.rail-prev{ left:-14px; } .rail-next{ right:-14px; }
@media (max-width:700px){ .rail-btn{ display:none; } }

/* video popup */
.ptj-player{
  width:min(920px, 94vw); padding:0; border:1px solid rgb(224 179 62 / .4); border-radius:20px; overflow:hidden;
  background:#14090a; color:#f3e6cf;
  animation:dlgIn .35s var(--ease-out,ease);
}
.ptj-player::backdrop{ background:rgb(10 3 3 / .75); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); animation:fade .3s ease; }
.ptj-player iframe{ display:block; width:100%; aspect-ratio:16/9; border:0; }
.ptj-player p{ padding:14px 18px 18px; font-weight:600; }
.ptj-player-close{
  position:absolute; top:10px; right:10px; z-index:2; width:36px; height:36px; border-radius:50%; border:0; cursor:pointer;
  color:#fff; background:rgb(0 0 0 / .6);
}
@keyframes dlgIn{ from{ opacity:0; transform:translateY(24px) scale(.95); } }
@keyframes fade{ from{ opacity:0; } }

/* weather chip */
.weather-chip{
  display:flex; align-items:center; gap:12px; margin-top:12px; padding:10px 14px; border-radius:14px;
  border:1px solid rgb(248 217 138 / .2); background:rgb(255 255 255 / .06); color:#fff4d0;
  transition:opacity .3s ease;
}
.weather-icon{ font-size:30px; line-height:1; animation:float 4s ease-in-out infinite; }
.weather-text{ display:grid; gap:2px; }
.weather-text strong{ font-size:15px; }
.weather-text small{ color:rgb(248 217 138 / .8); font:500 11px var(--font-mono,monospace); }
.weather-chip.is-loading{ opacity:.6; animation:livePulse 1.4s infinite; }
.weather-chip.is-error{ cursor:pointer; border-color:rgb(255 140 120 / .5); }
@keyframes float{ 50%{ transform:translateY(-4px) rotate(4deg); } }

/* LIVE badge */
.live-badge{
  display:inline-flex; align-items:center; gap:6px; margin-left:10px; padding:2px 10px; border-radius:99px;
  font:700 10px var(--font-mono,monospace); letter-spacing:.1em; color:#0c2f1a !important;
  background:#5be08a; -webkit-text-fill-color:#0c2f1a;
}
.live-badge::before{ content:""; width:6px; height:6px; border-radius:50%; background:#0c2f1a; animation:blink 1.2s infinite; }
@keyframes blink{ 50%{ opacity:.2; } }

/* animated gradient borders & shimmer on key buttons */
.btn-primary{ position:relative; overflow:hidden; }
.btn-primary::after{
  content:""; position:absolute; inset:0; transform:translateX(-120%);
  background:linear-gradient(100deg, transparent 30%, rgb(255 255 255 / .45) 50%, transparent 70%);
  animation:sweep 4.5s ease-in-out infinite;
}
@keyframes sweep{ 60%,100%{ transform:translateX(120%); } }

/* hero text ambient float */
.hero-youtube-card{ animation:float 6s ease-in-out infinite; }
.live-rasi-cell{ transition:transform .25s var(--ease-out,ease), background .25s ease; }
.live-rasi-cell:hover{ transform:scale(1.06); background:rgb(224 179 62 / .18); z-index:2; }

@media (prefers-reduced-motion:reduce){
  .video-card, .weather-icon, .live-badge::before, .btn-primary::after, .hero-youtube-card, .video-play::before{ animation:none !important; }
}
/* ================= HERO v4 — midnight cosmos, saffron/magenta energy ================= */
section.hero{
  background:
    radial-gradient(60% 70% at 85% 10%, rgb(168 40 120 / .45), transparent 65%),
    radial-gradient(55% 60% at 5% 90%, rgb(255 140 40 / .28), transparent 65%),
    linear-gradient(160deg,#0b0620 0%,#170a38 55%,#2a0f45 100%);
  color:#f6efff;
  padding:64px 0 72px;
}
section.hero::before{
  background:
    radial-gradient(35% 40% at 20% 25%, rgb(255 176 64 / .20), transparent 70%),
    radial-gradient(30% 40% at 80% 75%, rgb(236 72 153 / .22), transparent 70%);
}
section.hero::after{
  content:""; position:absolute; inset:auto 0 0 0; height:90px; z-index:-1; pointer-events:none;
  background:linear-gradient(to bottom,transparent,rgb(0 0 0 / .25));
}
section.hero .hero-inner{ gap:40px; }
section.hero .eyebrow{
  display:inline-flex; align-items:center; gap:10px; margin-bottom:22px;
  padding:8px 16px; border-radius:999px; font-size:13.5px; letter-spacing:.01em;
  color:#ffe2a8; background:rgb(255 255 255 / .07); border:1px solid rgb(255 200 120 / .35);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
section.hero .eyebrow::before{ display:none; }
.hero-pulse,.hero-rec{
  width:9px; height:9px; border-radius:50%; background:#34d399; flex:none;
  box-shadow:0 0 0 0 rgb(52 211 153 / .7); animation:heroPing 1.8s ease-out infinite;
}
.hero-rec{ background:#ff2d55; box-shadow:0 0 0 0 rgb(255 45 85 / .7); }
@keyframes heroPing{ to{ box-shadow:0 0 0 10px transparent; } }
section.hero h1{
  font-size:clamp(2rem, 1rem + 3.6vw, 3.6rem); line-height:1.22; letter-spacing:0; font-weight:800;
  color:#fff; background:none; -webkit-text-fill-color:#fff; animation:none;
  text-shadow:0 4px 30px rgb(0 0 0 / .35);
}
section.hero .hero-grad{
  background:linear-gradient(90deg,#ffd36b,#ff8a3d 40%,#ff4d9d 75%,#ffd36b);
  background-size:220% auto; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent; animation:shine 6s linear infinite;
}
section.hero .subtitle{
  margin-top:14px; font-family:var(--font-mono); font-size:13px; letter-spacing:.32em; color:#c9b6ff; font-weight:600;
}
section.hero p.desc{ color:rgb(246 239 255 / .84); font-size:clamp(1rem,.95rem + .3vw,1.2rem); margin-top:14px; }
section.hero .hero-ctas{ margin-top:28px; gap:14px; }
section.hero .btn-primary{ padding:15px 28px; font-size:16px; color:#2a0f00; background:#ffd36b; }
section.hero .btn-hero-main{
  background:linear-gradient(135deg,#ffd36b,#ff8a3d 55%,#ff4d9d); color:#2b0a1e;
  box-shadow:0 10px 30px -8px rgb(255 120 60 / .7), inset 0 1px 0 rgb(255 255 255 / .5);
  animation:ctaBeat 2.6s ease-in-out infinite;
}
section.hero .btn-hero-main:hover{ background:linear-gradient(135deg,#ffe29a,#ff9d5c 55%,#ff6aae); transform:translateY(-2px) scale(1.03); }
@keyframes ctaBeat{ 50%{ box-shadow:0 14px 40px -6px rgb(255 120 60 / .95), inset 0 1px 0 rgb(255 255 255 / .5); } }
section.hero .btn-youtube{ background:#ff1f4b; color:#fff; box-shadow:0 10px 26px -10px rgb(255 31 75 / .8); }
section.hero .btn-youtube:hover{ background:#ff4468; }
section.hero .btn-ghost{ color:#ffe2a8; border-bottom:1px dashed rgb(255 226 168 / .6); padding:4px 2px; transition:color .2s, border-color .2s; }
section.hero .btn-ghost:hover{ color:#fff; border-color:#fff; }
.hero-trust{ list-style:none; display:flex; flex-wrap:wrap; gap:8px 10px; margin-top:22px; padding:0; }
.hero-trust li{
  font-size:13px; padding:6px 12px; border-radius:999px; color:#f1e6ff;
  background:rgb(255 255 255 / .06); border:1px solid rgb(255 255 255 / .14);
}
section.hero .hero-youtube-card{
  display:flex; flex-wrap:wrap; align-items:stretch; gap:0; max-width:none; width:fit-content; margin-top:26px; padding:6px;
  border-radius:18px; animation:none;
  background:linear-gradient(135deg, rgb(255 255 255 / .12), rgb(255 255 255 / .04));
  border:1px solid rgb(255 255 255 / .2); box-shadow:0 20px 50px -20px rgb(0 0 0 / .6);
}
.hero-stat{ display:flex; flex-direction:column; justify-content:center; gap:2px; padding:10px 18px; min-width:92px; }
.hero-stat + .hero-stat{ border-left:1px solid rgb(255 255 255 / .14); }
.hero-stat-label{ display:flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:rgb(246 239 255 / .7); }
.hero-stat strong{ font-family:var(--font-display); font-size:20px; font-weight:800; color:#fff; font-variant-numeric:tabular-nums; line-height:1.15; }
.hero-stat-main strong{ font-size:32px; background:linear-gradient(90deg,#ffd36b,#ff8a3d); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero-youtube-count.tick{ animation:statTick .5s ease; }
@keyframes statTick{ 40%{ transform:scale(1.08); } }
section.hero .hero-astro-details{ margin-top:14px; color:rgb(246 239 255 / .85); font-size:16px; line-height:1.6; }
.hero-astro-role{ display:block; font-family:var(--font-mono); font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:#ffe08a; margin-bottom:2px; }
section.hero .chart-card{
  background:linear-gradient(160deg,rgb(20 10 50 / .85),rgb(60 18 80 / .7));
  border:1px solid rgb(255 200 120 / .45);
  box-shadow:0 30px 80px -20px rgb(0 0 0 / .7), 0 0 60px rgb(255 120 160 / .25), inset 0 0 0 1px rgb(255 255 255 / .06);
}
@media(max-width:560px){
  section.hero{ padding:40px 0 48px; }
  section.hero .hero-ctas > a{ flex:1 1 100%; text-align:center; }
  section.hero .btn-ghost{ text-align:center; }
  section.hero .hero-youtube-card{ width:100%; }
  .hero-stat-main{ flex:1 1 100%; border-bottom:1px solid rgb(255 255 255 / .14); }
  .hero-stat:not(.hero-stat-main){ flex:1; }
  .hero-stat + .hero-stat{ border-left:0; }
  .hero-stat:last-child{ border-left:1px solid rgb(255 255 255 / .14); }
}
@media (prefers-reduced-motion: reduce){
  .hero-pulse,.hero-rec,.hero-grad,.btn-hero-main{ animation:none !important; }
}
/* hero galaxy canvas (hero-galaxy.js) */
.ptj-galaxy{ position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; }
section.hero::before{ opacity:.55; }
/* hero v5 — true deep-space palette */
section.hero{
  background:
    radial-gradient(70% 60% at 80% 15%, rgb(30 40 110 / .55), transparent 70%),
    radial-gradient(60% 60% at 10% 90%, rgb(20 70 110 / .35), transparent 70%),
    radial-gradient(ellipse at 50% 50%, #070a1f 0%, #03040e 60%, #010208 100%);
}
section.hero::before{
  background:
    radial-gradient(35% 40% at 25% 30%, rgb(70 100 220 / .16), transparent 70%),
    radial-gradient(30% 40% at 80% 70%, rgb(120 70 220 / .16), transparent 70%);
}
section.hero .eyebrow{ color:#cfe0ff; border-color:rgb(150 180 255 / .35); background:rgb(120 150 255 / .08); }
section.hero .hero-grad{
  position:relative; display:inline-block; padding-bottom:.08em;
  background:linear-gradient(105deg,#fff2c2 0%,#e8aa32 24%,#fff8df 47%,#d9941c 68%,#ffe9a0 86%,#fff2c2 100%);
  background-size:240% auto; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 0 12px rgb(255 193 72 / .3));
  animation:shine 5s ease-in-out infinite alternate;
}
section.hero .hero-grad::after{
  content:""; position:absolute; left:10%; right:10%; bottom:0; height:2px; border-radius:999px;
  background:linear-gradient(90deg,transparent,#ffe7a0 24%,#ffc34d 50%,#ffe7a0 76%,transparent);
  box-shadow:0 0 12px rgb(255 190 66 / .65);
}
section.hero .subtitle{ color:#9fb4ff; }
section.hero .btn-hero-main{
  background:linear-gradient(135deg,#ffe29a,#ffb347);
  box-shadow:0 10px 30px -8px rgb(255 170 60 / .65), inset 0 1px 0 rgb(255 255 255 / .5);
}
section.hero .btn-hero-main:hover{ background:linear-gradient(135deg,#fff0c0,#ffc470); }
section.hero .btn-ghost{ color:#cfe0ff; border-bottom-color:rgb(207 224 255 / .55); }
section.hero .hero-youtube-card{
  background:linear-gradient(135deg, rgb(140 170 255 / .12), rgb(140 170 255 / .03));
  border-color:rgb(150 180 255 / .25);
}
.hero-stat-main strong{ background:linear-gradient(90deg,#fff,#a9c4ff); -webkit-background-clip:text; background-clip:text; }
section.hero .chart-card{
  background:linear-gradient(160deg,rgb(8 12 40 / .85),rgb(20 20 70 / .7));
  border-color:rgb(150 180 255 / .4);
  box-shadow:0 30px 80px -20px rgb(0 0 0 / .8), 0 0 60px rgb(90 120 255 / .25), inset 0 0 0 1px rgb(255 255 255 / .06);
}
/* ===== contrast scheme: warm sunlit ivory/saffron for header, footer, widgets (hero stays deep space) ===== */
body header, body header.is-scrolled{
  background:rgb(255 249 236 / .88) !important;
  border-bottom:1px solid rgb(217 130 11 / .35) !important;
  box-shadow:0 8px 24px -14px rgb(120 70 10 / .45);
}
body header nav, body header .brand{ color:#2b1a0a; }
body header nav ul a{ color:#3a2313; opacity:.9; }
body header nav ul a:hover{ color:#b45309; opacity:1; }
body header .admin-toggle{ color:#8a4a07; border-color:rgb(217 130 11 / .55); background:rgb(255 255 255 / .6); }
body header .admin-toggle:hover{ background:#fff0cf; }
body header .ptj-theme{ color:#8a4a07; background:rgb(255 255 255 / .7); border-color:rgb(217 130 11 / .45); }
body header .nav-cta{ color:#2b1a0a; }

html:not([data-theme="dark"]) section.location-selector,
html:not([data-theme="dark"]) section.panchang{
  background:linear-gradient(180deg,#fffaf0,#fff3da);
}

body .location-widget, body .hora-widget, body .panchang-widget, body .planetary-widget{
  --surface:#fffdf8; --surface-2:#fff1d6; --accent:#d9820b;
  background:
    linear-gradient(155deg,#fffefb,#fff4de) padding-box,
    conic-gradient(from var(--angle), rgb(217 130 11 / .75), transparent 25%, rgb(255 190 80 / .55) 55%, transparent 80%, rgb(217 130 11 / .75)) border-box;
  box-shadow:0 22px 44px -22px rgb(150 85 10 / .45), 0 2px 0 rgb(255 255 255 / .9) inset;
  color:#2b1a0a;
}
body .location-widget h3, body .hora-widget h3, body .panchang-widget h3, body .planetary-widget h3{
  background:linear-gradient(90deg,#a14a05,#e08a10,#a14a05);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
body .panchang-item, body .planet-row, body .hora-card, body .panchang-location-controls{
  background:rgb(255 255 255 / .72);
  border-color:rgb(217 130 11 / .22);
  box-shadow:0 6px 14px -10px rgb(150 85 10 / .4);
}
body .panchang-item:hover, body .planet-row:hover, body .hora-card:hover{ background:#fff; box-shadow:0 12px 24px -12px rgb(217 130 11 / .55); }
body .hora-card-current{ background:linear-gradient(135deg,#ffe7b3,#fffaf0); border-left:3px solid #e08a10; }
body .panchang-label, body .hora-title{ color:#9a5b0b; }
body .panchang-value, body .hora-planet, body .planet-rashi, body .planet-name{ color:#2b1a0a; }
body .hora-time, body .planet-info, body .panchang-pada, body .hora-remaining{ color:#7a4a12; }
body .planet-name::before{ color:#fff; }
body .hora-progress{ background:rgb(217 130 11 / .15); }
body .location-input{ background:#fff; color:#2b1a0a; border-color:rgb(217 130 11 / .45); color-scheme:light; }
body .location-input::placeholder{ color:rgb(122 74 18 / .55); }
body .location-suggestions{ background:rgb(255 255 255 / .97); border-color:rgb(217 130 11 / .4); box-shadow:0 16px 30px -14px rgb(120 70 10 / .5); }
body .location-suggestion{ background:rgb(217 130 11 / .06); color:#2b1a0a; }
body .location-suggestion:hover, body .location-suggestion:focus-visible{ background:rgb(217 130 11 / .18); }
body .location-suggestion small, body .location-suggestion-note{ color:#8a4a07; }
body .location-apply-button{ color:#2b1a0a; }
body .widget-error{ color:#7a1d10; background:#ffe3dc; border-color:rgb(200 60 40 / .5); }
body .is-loading .panchang-value, body .is-loading .planet-name, body .is-loading .planet-rashi, body .is-loading .planet-info{
  background:linear-gradient(90deg,rgb(217 130 11 / .08) 25%,rgb(217 130 11 / .22) 50%,rgb(217 130 11 / .08) 75%); background-size:200% 100%;
}

body footer{
  background:linear-gradient(160deg,#fff8e8,#ffe7b8) !important;
  border-top:2px solid rgb(217 130 11 / .45);
  color:#3a2313;
}
body footer, body footer div, body footer p, body footer span{ color:#3a2313; }
body footer a{ color:#9a4a05; text-decoration-color:rgb(217 130 11 / .6); }
body footer a:hover{ color:#5c2a00; }
body footer, body footer .footer-inner, body footer .footer-inner div{ color:#3a2313 !important; }
body footer .footer-inner a{ color:#9a4a05 !important; }
body footer .footer-inner a:hover{ color:#5c2a00 !important; }
@keyframes valueFlash{
  0%{ opacity:.2; transform:translateY(4px); color:#d9820b; }
  100%{ opacity:1; transform:none; }
}
body .weather-chip{ color:#2b1a0a; background:rgb(255 255 255 / .75); border-color:rgb(217 130 11 / .3); }
body .weather-text small{ color:#8a4a07; }
/* ===== dark theme: full-page galaxy (space-bg.js) ===== */
.ptj-space{ position:fixed; inset:0; width:100vw; height:100vh; z-index:-1; pointer-events:none; display:none; }
html[data-theme="dark"]{ background:radial-gradient(ellipse at 50% 0%, #0a0e2c 0%, #04061a 45%, #010208 100%) fixed; }
html[data-theme="dark"] body,
html[data-theme="dark"] main,
html[data-theme="dark"] .articles,
html[data-theme="dark"] .featured,
html[data-theme="dark"] section.panchang,
html[data-theme="dark"] section.location-selector,
html[data-theme="dark"] section.ad-break,
html[data-theme="dark"] section.videos,
html[data-theme="dark"] #videos,
html[data-theme="dark"] section:not(.hero){ background:transparent !important; background-image:none !important; color:var(--ptj-ink); }
html[data-theme="dark"] .article-card,
html[data-theme="dark"] .featured-card,
html[data-theme="dark"] .cat-strip,
html[data-theme="dark"] .ptj-search,
html[data-theme="dark"] .video-card{
  background:rgb(10 14 40 / .62) !important; border-color:rgb(150 180 255 / .25);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}
html[data-theme="dark"] .section-head h2,
html[data-theme="dark"] .article-card h3 a,
html[data-theme="dark"] .featured-body h3 a{ color:#cfe0ff; }
html[data-theme="dark"] .section-head p, html[data-theme="dark"] .article-card p{ color:rgb(220 230 255 / .78); }
html[data-theme="dark"] .ptj-chip{ color:#cfe0ff; border-color:rgb(150 180 255 / .35); }
html[data-theme="dark"] .ptj-chip[aria-pressed="true"]{ background:#9fc0ff; color:#050820; }
html[data-theme="dark"] .ad-slot{ background:rgb(120 150 255 / .06); border-color:rgb(150 180 255 / .4); }
html[data-theme="dark"] .ad-slot-label, html[data-theme="dark"] .ad-slot-body{ color:rgb(207 224 255 / .8); }
html[data-theme="dark"] .articles-hero, html[data-theme="dark"] .videos-hero{
  background:linear-gradient(160deg, rgb(10 14 50 / .7), rgb(40 20 90 / .45)) !important;
  border-bottom:1px solid rgb(150 180 255 / .25);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.ptj-space-top{ position:fixed; inset:0; width:100vw; height:100vh; z-index:40; pointer-events:none; display:none; opacity:.8; mix-blend-mode:screen; }

/* ===== dark theme: readable text on every page ===== */
html[data-theme="dark"]{
  --dk-surface:rgb(10 14 40 / .72); --dk-border:rgb(150 180 255 / .3);
  --dk-head:#ffe08a; --dk-accent:#b5ceff; --dk-text:#f4f7ff;
}
/* light cards/panels -> dark glass */
html[data-theme="dark"] .booking-card,
html[data-theme="dark"] .article-search-panel,
html[data-theme="dark"] .article-list-item,
html[data-theme="dark"] .article-empty-state,
html[data-theme="dark"] .admin-panel,
html[data-theme="dark"] .admin-shell,
html[data-theme="dark"] .page-shell,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .result-box,
html[data-theme="dark"] .summary-card,
html[data-theme="dark"] .location-suggestions{
  background:var(--dk-surface) !important; border-color:var(--dk-border);
  box-shadow:0 10px 30px rgb(0 0 0 / .4);
  color:var(--dk-text);
}
html[data-theme="dark"] table,
html[data-theme="dark"] .result-head,
html[data-theme="dark"] .article-inline-quote{ background:rgb(120 150 255 / .08) !important; }
html[data-theme="dark"] th{ background:rgb(120 150 255 / .16) !important; color:var(--dk-head); }
html[data-theme="dark"] th, html[data-theme="dark"] td{ border-bottom-color:rgb(150 180 255 / .22); }
html[data-theme="dark"] td, html[data-theme="dark"] .article-content,
html[data-theme="dark"] .article-paragraph, html[data-theme="dark"] .article-list li{ color:var(--dk-text); }
/* inputs */
html[data-theme="dark"] .booking-input, html[data-theme="dark"] .search-input,
html[data-theme="dark"] .field input, html[data-theme="dark"] .field select,
html[data-theme="dark"] .admin-input, html[data-theme="dark"] .admin-textarea{
  background:rgb(4 6 26 / .85) !important; color:var(--dk-text); border-color:rgb(150 180 255 / .4);
}
html[data-theme="dark"] .booking-input[readonly]{ background:rgb(120 150 255 / .12) !important; }
html[data-theme="dark"] ::placeholder{ color:rgb(207 224 255 / .55); }
html[data-theme="dark"] .field select option{ background:#0a0e28; color:var(--dk-text); }
html[data-theme="dark"] .location-suggestion{ background:transparent; color:var(--dk-text); }
html[data-theme="dark"] .location-suggestion:hover{ background:rgb(120 150 255 / .18); }
/* headings (were maroon) */
html[data-theme="dark"] h1,
html[data-theme="dark"] .featured-body h3, html[data-theme="dark"] .article-card h3,
html[data-theme="dark"] .article-list-item h3, html[data-theme="dark"] .article-list-item h3 a,
html[data-theme="dark"] .booking-card h2, html[data-theme="dark"] .admin-shell h3,
html[data-theme="dark"] .article-wrap h1, html[data-theme="dark"] .article-inline-heading,
html[data-theme="dark"] .article-inline-subheading, html[data-theme="dark"] .result-head h2,
html[data-theme="dark"] .summary-value, html[data-theme="dark"] .video-topic{ color:var(--dk-head); }
html[data-theme="dark"] .article-list-item h3 a:hover, html[data-theme="dark"] .video-topic:hover{ color:#fff; }
html[data-theme="dark"] .hero h1, html[data-theme="dark"] .hero-bar h1,
html[data-theme="dark"] .booking-hero h1, html[data-theme="dark"] .articles-hero h1,
html[data-theme="dark"] .videos-hero h1{ color:#fff; }
/* small links / labels (were maroon or indigo) */
html[data-theme="dark"] .tag, html[data-theme="dark"] .article-tag,
html[data-theme="dark"] .article-tag-chip, html[data-theme="dark"] .back-link,
html[data-theme="dark"] .cat-strip .wrap{ color:var(--dk-head); border-color:rgb(255 224 138 / .4); }
html[data-theme="dark"] .article-tag-chip.active{ background:#ffe08a; color:#2a0a0a; border-color:#ffe08a; }
html[data-theme="dark"] .read-more{ color:var(--dk-head); border-bottom-color:var(--dk-head); }
html[data-theme="dark"] .btn-ghost{ color:var(--dk-head); }
html[data-theme="dark"] .section-eyebrow, html[data-theme="dark"] .admin-label,
html[data-theme="dark"] .admin-message, html[data-theme="dark"] .admin-article-subheading,
html[data-theme="dark"] .booking-label, html[data-theme="dark"] .search-label,
html[data-theme="dark"] .article-list-tag, html[data-theme="dark"] .video-cta,
html[data-theme="dark"] .field label, html[data-theme="dark"] .summary-label,
html[data-theme="dark"] .muted{ color:var(--dk-accent); }
html[data-theme="dark"] .article-list-tag{ border-color:rgb(150 180 255 / .4); background:rgb(120 150 255 / .12); }
html[data-theme="dark"] .booking-message{ color:#ff9d9d; }
/* important-planets page */
html[data-theme="dark"] .birth-form,
html[data-theme="dark"] .result-card{
  background:var(--dk-surface) !important; border-color:var(--dk-border); color:var(--dk-text);
}
html[data-theme="dark"] .result-item{ background:rgb(120 150 255 / .1); }
html[data-theme="dark"] .group-title{ color:var(--dk-head); border-bottom-color:#ffe08a; }
html[data-theme="dark"] .data-table th{ background:rgba(255,224,138,.15); color:#ffe08a; }
html[data-theme="dark"] .data-table td{ color:rgba(235,241,255,.92); }
html[data-theme="dark"] .data-table th, html[data-theme="dark"] .data-table td{ border-color:rgba(255,224,138,.25); }
html[data-theme="dark"] .result-card h2, html[data-theme="dark"] .result-value{ color:var(--dk-head); }
html[data-theme="dark"] .result-label{ color:var(--dk-accent); }
html[data-theme="dark"] .result-note, html[data-theme="dark"] .intro,
html[data-theme="dark"] .location-suggestion small{ color:rgb(235 241 255 / .88); }
html[data-theme="dark"] .result-table th{ background:rgb(120 150 255 / .16) !important; color:var(--dk-head); }
html[data-theme="dark"] .result-table td{ color:var(--dk-text); }
html[data-theme="dark"] .error-message{ color:#ff9d9d; }
html[data-theme="dark"] .page-shell .hero{
  background:
    radial-gradient(ellipse 520px 260px at 88% -25%, rgb(120 150 255 / .28), transparent 60%),
    linear-gradient(135deg, rgb(10 14 50 / .92), rgb(40 20 90 / .7));
  border-bottom-color:#ffe08a;
}
/* secondary text: raise contrast */
html[data-theme="dark"]{ --ink-soft:rgb(235 241 255 / .84); }
html[data-theme="dark"] .video-published{ color:rgb(207 224 255 / .8); }

/* ===== dark theme: header, footer, title bars and widgets match the navy space palette ===== */
html[data-theme="dark"] body header, html[data-theme="dark"] body header.is-scrolled{
  background:rgb(6 9 32 / .88) !important;
  border-bottom:1px solid rgb(150 180 255 / .28) !important;
  box-shadow:0 8px 24px -14px rgb(0 0 0 / .7);
}
html[data-theme="dark"] body header nav, html[data-theme="dark"] body header .brand{ color:#f4f7ff; }
html[data-theme="dark"] body header nav ul a{ color:#dbe6ff; opacity:.92; }
html[data-theme="dark"] body header nav ul a:hover{ color:#ffe08a; opacity:1; }
html[data-theme="dark"] body header .admin-toggle,
html[data-theme="dark"] body header .ptj-theme{ color:#ffe08a; background:rgb(120 150 255 / .12); border-color:rgb(255 224 138 / .45); }
html[data-theme="dark"] body header .admin-toggle:hover{ background:rgb(120 150 255 / .25); }
html[data-theme="dark"] body header .nav-cta{ color:#2a0a0a; }

html[data-theme="dark"] body footer{
  background:rgb(6 9 32 / .88) !important;
  border-top:1px solid rgb(150 180 255 / .28);
  color:#dbe6ff;
}
html[data-theme="dark"] body footer, html[data-theme="dark"] body footer div,
html[data-theme="dark"] body footer p, html[data-theme="dark"] body footer span,
html[data-theme="dark"] body footer .footer-inner, html[data-theme="dark"] body footer .footer-inner div{ color:#dbe6ff !important; }
html[data-theme="dark"] body footer a, html[data-theme="dark"] body footer .footer-inner a{ color:#ffe08a !important; }
html[data-theme="dark"] body footer a:hover, html[data-theme="dark"] body footer .footer-inner a:hover{ color:#fff !important; }

html[data-theme="dark"] .hero-bar, html[data-theme="dark"] .booking-hero{
  background:
    radial-gradient(ellipse 520px 260px at 88% -25%, rgb(120 150 255 / .28), transparent 60%),
    linear-gradient(135deg, rgb(10 14 50 / .92), rgb(40 20 90 / .7)) !important;
  border-bottom-color:#ffe08a;
}

html[data-theme="dark"] body .location-widget, html[data-theme="dark"] body .hora-widget,
html[data-theme="dark"] body .panchang-widget, html[data-theme="dark"] body .planetary-widget{
  background:
    linear-gradient(155deg, rgb(10 14 40 / .88), rgb(20 20 70 / .75)) padding-box,
    conic-gradient(from var(--angle), rgb(150 180 255 / .75), transparent 25%, rgb(255 224 138 / .5) 55%, transparent 80%, rgb(150 180 255 / .75)) border-box;
  box-shadow:0 22px 44px -22px rgb(0 0 0 / .8);
  color:#f4f7ff;
}
html[data-theme="dark"] body .location-widget h3, html[data-theme="dark"] body .hora-widget h3,
html[data-theme="dark"] body .panchang-widget h3, html[data-theme="dark"] body .planetary-widget h3{
  background:linear-gradient(90deg,#ffe08a,#fff3c4,#ffe08a); -webkit-background-clip:text; background-clip:text; color:transparent;
}
html[data-theme="dark"] body .panchang-item, html[data-theme="dark"] body .planet-row,
html[data-theme="dark"] body .hora-card, html[data-theme="dark"] body .panchang-location-controls{
  background:rgb(120 150 255 / .08); border-color:rgb(150 180 255 / .25); box-shadow:none;
}
html[data-theme="dark"] body .panchang-item:hover, html[data-theme="dark"] body .planet-row:hover,
html[data-theme="dark"] body .hora-card:hover{ background:rgb(120 150 255 / .18); box-shadow:none; }
html[data-theme="dark"] body .hora-card-current{ background:linear-gradient(135deg, rgb(255 224 138 / .22), rgb(120 150 255 / .1)); border-left-color:#ffe08a; }
html[data-theme="dark"] body .panchang-label, html[data-theme="dark"] body .hora-title{ color:#ffe08a; }
html[data-theme="dark"] body .panchang-value, html[data-theme="dark"] body .hora-planet,
html[data-theme="dark"] body .planet-rashi, html[data-theme="dark"] body .planet-name{ color:#f4f7ff; }
html[data-theme="dark"] body .hora-time, html[data-theme="dark"] body .planet-info,
html[data-theme="dark"] body .panchang-pada, html[data-theme="dark"] body .hora-remaining{ color:#cfe0ff; }
html[data-theme="dark"] body .hora-progress{ background:rgb(150 180 255 / .2); }
html[data-theme="dark"] body .location-input{ background:rgb(4 6 26 / .85); color:#f4f7ff; border-color:rgb(150 180 255 / .4); color-scheme:dark; }
html[data-theme="dark"] body .location-input::placeholder{ color:rgb(207 224 255 / .55); }
html[data-theme="dark"] body .location-suggestions{ background:rgb(8 12 40 / .97); border-color:rgb(150 180 255 / .4); }
html[data-theme="dark"] body .location-suggestion{ background:transparent; color:#f4f7ff; }
html[data-theme="dark"] body .location-suggestion:hover,
html[data-theme="dark"] body .location-suggestion:focus-visible{ background:rgb(120 150 255 / .22); }
html[data-theme="dark"] body .location-suggestion small, html[data-theme="dark"] body .location-suggestion-note{ color:#cfe0ff; }
html[data-theme="dark"] body .weather-chip{ color:#f4f7ff; background:rgb(120 150 255 / .12); border-color:rgb(150 180 255 / .3); }
html[data-theme="dark"] body .weather-text small{ color:#ffe08a; }
html[data-theme="dark"] body .widget-error{ color:#ffd9d2; background:rgb(120 30 20 / .5); }

/* Keep the place selector compact and legible in the deep-space hero. */
section.hero .hero-inner > div:nth-child(2){
  display:grid;
  align-content:start;
  gap:18px;
}
section.hero .hero-location-widget{
  width:100%;
  max-width:none;
  margin:0;
  padding:7px;
  border:1px solid rgb(159 184 255 / .35);
  border-radius:18px;
  background:linear-gradient(145deg,rgb(14 23 60 / .88),rgb(5 10 31 / .9));
  box-shadow:0 18px 44px -22px rgb(0 0 0 / .8), inset 0 1px 0 rgb(255 255 255 / .1);
  color:#f4f7ff;
}
section.hero .hero-location-widget h3{
  margin-bottom:3px;
  padding-bottom:3px;
  border-bottom-color:rgb(159 184 255 / .24);
  background:linear-gradient(90deg,#ffe08a,#fff3c4,#ffe08a);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-size:11px;
  line-height:1.2;
}
section.hero .hero-location-widget .panchang-location-controls{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:4px 6px;
  padding:0;
  border:0;
  background:transparent;
}
section.hero .hero-location-widget .location-input-group:first-child{
  grid-column:1;
  margin-bottom:0;
}
section.hero .hero-location-widget .location-coordinate-grid{
  grid-column:1 / -1;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
}
section.hero .hero-location-widget .location-input-group{ min-width:0; }
section.hero .hero-location-widget .panchang-label{ color:#cfe0ff; font-size:9px; line-height:1.15; }
section.hero .hero-location-widget .location-input{
  padding:4px 6px;
  border-color:rgb(159 184 255 / .3);
  background:rgb(4 8 28 / .7);
  color:#f4f7ff;
  font-size:11px;
  line-height:1.2;
}
section.hero .hero-location-widget .location-apply-button{
  grid-column:2;
  grid-row:1;
  padding:6px 8px;
  border-radius:8px;
  background:linear-gradient(135deg,#ffe29a,#ffb347);
  color:#251300;
  box-shadow:0 8px 18px -10px rgb(255 190 70 / .75);
  font-size:10px;
  white-space:nowrap;
}
section.hero .hero-location-widget .location-apply-button:hover{ filter:brightness(1.08); }
section.hero .hero-location-widget .weather-chip{ margin-top:4px; padding:5px 7px; gap:6px; }
section.hero .hero-location-widget .weather-icon{ font-size:20px; }
section.hero .hero-location-widget .weather-text strong{ font-size:11px; line-height:1.2; }
section.hero .hero-location-widget .weather-text small{ font-size:9px; line-height:1.2; }

/* Sunrise-to-sunrise Hora page */
.hora-page-main{ width:min(1120px,100%); margin:0 auto; padding:40px 28px 72px; }
.hora-page-heading{ margin-bottom:24px; }
.hora-page-heading h1{ margin:0 0 6px; color:var(--maroon); font-size:clamp(28px,4vw,42px); }
.hora-page-heading p{ color:var(--ink-soft); }
.hora-live-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 20px;
  align-items:center;
  margin-bottom:30px;
  padding:20px 24px;
  border:1px solid rgb(159 184 255 / .25);
  border-radius:18px;
  background:radial-gradient(100% 140% at 0% 0%,rgb(55 75 150 / .45),transparent 60%),linear-gradient(140deg,#101a3c,#050918);
  color:#f4f7ff;
  box-shadow:0 18px 40px -22px rgb(0 0 0 / .65);
}
.hora-live-card .hora-title{ grid-column:1 / -1; color:#ffe08a; }
.hora-live-card .hora-planet{ color:#fff; font-size:22px; }
.hora-live-card .hora-time,.hora-live-card .hora-remaining{ color:#cfe0ff; }
.hora-live-card .hora-remaining{ grid-column:2; grid-row:2 / span 2; margin:0; }
.hora-day-period{ margin-top:28px; }
.hora-day-period h2{ margin-bottom:12px; color:var(--maroon); font:700 22px var(--font-display); }
.hora-day-period > p{ margin:-8px 0 12px; color:var(--ink-soft); font:12px var(--font-mono); }
.hora-day-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.hora-day-card{ min-width:0; }
.hora-day-card .hora-title{ text-transform:none; }
.hora-day-card .hora-planet{ font-size:18px; }
.hora-day-card .hora-progress{ opacity:0; }
.hora-day-card.hora-card-current .hora-progress{ opacity:1; }
.hora-page-nav{ min-height:68px; }
.hora-page-nav .hora-back-link{ color:var(--parchment); text-decoration:none; font-weight:700; }
.hora-page-nav .hora-back-link:hover{ color:var(--gold-bright); }
@media(max-width:680px){
  section.hero .hero-location-widget .panchang-location-controls{ grid-template-columns:minmax(0,1fr) auto; }
  section.hero .hero-location-widget .location-coordinate-grid{ grid-column:1 / -1; }
  .hora-page-main{ padding:28px 18px 52px; }
  .hora-day-grid{ grid-template-columns:1fr; }
  .hora-live-card{ grid-template-columns:1fr; padding:18px; }
  .hora-live-card .hora-title,.hora-live-card .hora-remaining{ grid-column:auto; grid-row:auto; }
  .hora-live-card .hora-remaining{ text-align:left; }
}
html[data-theme="dark"] .hora-page-heading h1,
html[data-theme="dark"] .hora-day-period h2{ color:#f4f7ff; }
html[data-theme="dark"] .hora-page-heading p,
html[data-theme="dark"] .hora-day-period > p{ color:#cfe0ff; }