/*
Theme Name: JyotishSikho
Theme URI: https://jyotishsikho.com
Author: JyotishSikho Team
Author URI: https://jyotishsikho.com
Description: वैदिक ज्योतिष शिक्षा मंच के लिए आधुनिक कॉस्मिक थीम — ग्लासमॉर्फिज़्म, गोल्ड-ग्रेडिएंट और एनिमेटेड राशि-चक्र के साथ। Modern cosmic education theme for JyotishSikho.com.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jyotishsikho
Tags: education, blog, dark, one-column, custom-menu
*/

/* ============================================================
   JyotishSikho.com — Modern v2
   Direction: premium cosmic ed-tech — deep-space violet, glassmorphism,
   gold-gradient accents, animated zodiac wheel, scroll reveals
   Type: Rozha One (display) + Mukta (body)
   ============================================================ */

:root{
  --bg:        #0B0820;
  --bg-2:      #130E2E;
  --panel:     rgba(255,255,255,.045);
  --panel-2:   rgba(255,255,255,.07);
  --stroke:    rgba(255,255,255,.10);
  --stroke-2:  rgba(245,193,92,.45);
  --text:      #E9E4F6;
  --muted:     #A79FC4;
  --gold:      #F5C15C;
  --gold-2:    #E89A4B;
  --violet:    #8B7BFF;
  --violet-2:  #5E48C8;
  --grad-gold:   linear-gradient(92deg,#F8D68A 0%,#F5C15C 45%,#E89A4B 100%);
  --grad-violet: linear-gradient(120deg,#8B7BFF,#5E48C8);
  --radius: 22px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Mukta',sans-serif;
  background:var(--bg);
  color:var(--text);
  font-size:17px;
  line-height:1.8;
  overflow-x:hidden;
}
/* नेबुला पृष्ठभूमि */
body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(900px 600px at 85% -5%, rgba(94,72,200,.32), transparent 62%),
    radial-gradient(750px 520px at -8% 28%, rgba(245,193,92,.10), transparent 60%),
    radial-gradient(800px 700px at 55% 110%, rgba(139,123,255,.16), transparent 60%),
    linear-gradient(180deg,var(--bg) 0%, var(--bg-2) 100%);
}
/* तारे */
body::after{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.7;
  background-image:
    radial-gradient(1.4px 1.4px at 12% 22%, rgba(255,255,255,.8) 50%, transparent 51%),
    radial-gradient(1px 1px at 31% 64%, rgba(255,255,255,.55) 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 48% 12%, rgba(255,255,255,.7) 50%, transparent 51%),
    radial-gradient(1px 1px at 64% 44%, rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 79% 18%, rgba(255,255,255,.75) 50%, transparent 51%),
    radial-gradient(1px 1px at 91% 58%, rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 22% 86%, rgba(255,255,255,.6) 50%, transparent 51%),
    radial-gradient(1px 1px at 70% 84%, rgba(255,255,255,.45) 50%, transparent 51%);
}

img,svg{ max-width:100%; display:block; }
a{ color:var(--gold); text-decoration:none; }
a:hover{ color:#FFDD9A; }
a:focus-visible,button:focus-visible{ outline:2.5px solid var(--gold); outline-offset:3px; border-radius:8px; }

h1,h2,h3,.display{ font-family:'Rozha One',serif; font-weight:400; line-height:1.28; color:#FFF; }
.grad-text{
  background:var(--grad-gold);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.wrap{ max-width:1160px; margin:0 auto; padding:0 26px; }

/* ---------- नेवबार (ग्लास) ---------- */
header.site{
  position:fixed; top:14px; left:0; right:0; z-index:100; padding:0 18px;
}
.nav{
  max-width:1160px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:rgba(19,14,46,.62);
  border:1px solid var(--stroke);
  border-radius:999px;
  padding:10px 12px 10px 22px;
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.brand{
  display:flex; align-items:center; gap:11px;
  font-family:'Rozha One',serif; font-size:22px; color:#FFF; line-height:1.15;
}
.brand small{
  display:block; font-family:'Mukta',sans-serif; font-size:10.5px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--gold);
}
.brand .mark{ width:38px; height:38px; flex:none; filter:drop-shadow(0 0 10px rgba(245,193,92,.5)); }

nav.menu{ display:flex; align-items:center; gap:6px; }
nav.menu a{
  color:var(--muted); font-weight:500; font-size:15.5px;
  padding:8px 15px; border-radius:999px; transition:all .18s ease;
}
nav.menu a:hover{ color:#FFF; background:var(--panel-2); }
nav.menu a[aria-current="page"]{ color:#0F0A28; background:var(--grad-gold); font-weight:700; }

.btn{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--grad-gold); color:#241304;
  font-weight:700; font-size:16px; font-family:'Mukta',sans-serif;
  padding:12px 28px; border-radius:999px; border:none; cursor:pointer;
  box-shadow:0 0 0 1px rgba(245,193,92,.5), 0 10px 32px rgba(232,154,75,.32);
  transition:transform .18s ease, box-shadow .18s ease;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 0 0 1px rgba(245,193,92,.7), 0 16px 44px rgba(232,154,75,.45); color:#241304; }
.btn.ghost{
  background:var(--panel); color:var(--text);
  box-shadow:inset 0 0 0 1px var(--stroke);
}
.btn.ghost:hover{ box-shadow:inset 0 0 0 1px var(--stroke-2); color:#FFF; }
.btn.sm{ padding:9px 20px; font-size:15px; }

.menu-toggle{ display:none; background:none; border:none; cursor:pointer; padding:6px; }
.menu-toggle svg{ width:28px; height:28px; stroke:#FFF; }

/* ---------- हीरो ---------- */
.hero{ padding:170px 0 90px; position:relative; }
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:center; }
.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:13.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); font-weight:600;
  background:rgba(245,193,92,.08);
  border:1px solid rgba(245,193,92,.28);
  padding:7px 18px; border-radius:999px; margin-bottom:26px;
}
.eyebrow::before{ content:"✦"; font-size:12px; }
.hero h1{ font-size:clamp(38px, 5vw, 62px); margin-bottom:22px; }
.hero p.lead{ font-size:19.5px; color:var(--muted); max-width:52ch; margin-bottom:34px; }
.cta-row{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.hero-stats{ display:flex; gap:38px; margin-top:44px; flex-wrap:wrap; }
.hero-stats b{
  display:block; font-family:'Rozha One',serif; font-size:30px; font-weight:400;
  background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-stats span{ font-size:14.5px; color:var(--muted); letter-spacing:.04em; }

/* राशि-चक्र */
.wheel-holder{ position:relative; display:flex; justify-content:center; }
.wheel-holder .halo{
  position:absolute; inset:6%; border-radius:50%;
  background:radial-gradient(circle, rgba(139,123,255,.22), rgba(245,193,92,.07) 55%, transparent 72%);
  filter:blur(6px);
}
.wheel{ width:min(480px, 100%); position:relative; }
.wheel .ring{ animation:spin 120s linear infinite; transform-origin:50% 50%; }
@keyframes spin{ to{ transform:rotate(360deg); } }

/* नवग्रह मार्की */
.marquee{
  border-block:1px solid var(--stroke);
  background:rgba(19,14,46,.5);
  overflow:hidden; padding:15px 0; margin-top:20px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee .track{
  display:flex; gap:54px; width:max-content;
  animation:slide 34s linear infinite;
}
@keyframes slide{ to{ transform:translateX(-50%); } }
.marquee span{ white-space:nowrap; color:var(--muted); font-size:16px; letter-spacing:.05em; }
.marquee b{ color:var(--gold); font-weight:600; margin-right:7px; }

/* ---------- सेक्शन ---------- */
section.block{ padding:96px 0; position:relative; }
.sec-head{ max-width:680px; margin:0 auto 56px; text-align:center; }
.sec-head .eyebrow{ margin-bottom:18px; }
.sec-head h2{ font-size:clamp(30px,3.6vw,42px); margin-bottom:14px; }
.sec-head p{ color:var(--muted); font-size:17.5px; }

.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:34px; }

/* ग्लास कार्ड */
.card{
  background:var(--panel);
  border:1px solid var(--stroke);
  border-radius:var(--radius);
  padding:34px 30px;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
  position:relative;
}
.card:hover{ transform:translateY(-6px); border-color:var(--stroke-2); background:var(--panel-2); }
.card h3{ font-size:22px; margin:18px 0 10px; }
.card p{ color:var(--muted); font-size:16px; }
.card .glyph{
  width:58px; height:58px; border-radius:16px;
  background:var(--grad-violet);
  box-shadow:0 8px 26px rgba(94,72,200,.45), inset 0 0 0 1px rgba(255,255,255,.18);
  display:flex; align-items:center; justify-content:center;
  font-family:'Rozha One',serif; font-size:26px; color:#FFF;
}

/* कोर्स कार्ड */
.course{ display:flex; flex-direction:column; }
.course .level{
  align-self:flex-start; font-size:12.5px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  padding:5px 15px; border-radius:999px;
  background:rgba(139,123,255,.14); color:#B7ABFF;
  border:1px solid rgba(139,123,255,.35);
}
.course .level.gold{ background:rgba(245,193,92,.1); color:var(--gold); border-color:rgba(245,193,92,.35); }
.course h3{ margin-top:20px; line-height:1.4; }
.course ul{ list-style:none; margin:16px 0 26px; }
.course ul li{
  padding-left:28px; position:relative; color:var(--muted);
  font-size:15.5px; margin-bottom:8px;
}
.course ul li::before{ content:"✦"; position:absolute; left:2px; color:var(--gold); font-size:13px; top:2px; }
.course .foot{
  margin-top:auto; display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid var(--stroke); padding-top:18px;
}
.course .fee{
  font-family:'Rozha One',serif; font-size:23px;
  background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* सीखने का क्रम — टाइमलाइन */
.path{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; counter-reset:step; position:relative; }
.path::before{
  content:""; position:absolute; top:29px; left:8%; right:8%; height:1.5px;
  background:linear-gradient(90deg, transparent, rgba(245,193,92,.5), rgba(139,123,255,.5), transparent);
}
.step{ text-align:center; padding:0 8px; position:relative; }
.step .dot{
  counter-increment:step;
  width:58px; height:58px; margin:0 auto 20px; border-radius:50%;
  background:var(--bg-2);
  border:1.5px solid var(--stroke-2);
  box-shadow:0 0 24px rgba(245,193,92,.35);
  display:flex; align-items:center; justify-content:center;
  font-family:'Rozha One',serif; font-size:22px; color:var(--gold);
  position:relative; z-index:1;
}
.step .dot::before{ content:counter(step, devanagari); }
.step h3{ font-size:20px; margin-bottom:8px; }
.step p{ font-size:15px; color:var(--muted); }

/* ब्लॉग कार्ड */
.post{ padding:0; overflow:hidden; display:flex; flex-direction:column; }
.post .thumb{
  height:158px; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(240px 120px at 78% 0%, rgba(139,123,255,.35), transparent 70%),
    radial-gradient(200px 130px at 12% 100%, rgba(245,193,92,.22), transparent 70%),
    rgba(255,255,255,.03);
  border-bottom:1px solid var(--stroke);
}
.post .thumb span{
  font-family:'Rozha One',serif; font-size:58px;
  background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 0 18px rgba(245,193,92,.4));
}
.post .body{ padding:26px 26px 28px; display:flex; flex-direction:column; flex:1; }
.post .meta{ font-size:13px; letter-spacing:.1em; color:#B7ABFF; text-transform:uppercase; margin-bottom:10px; }
.post h3{ font-size:20px; margin:0; line-height:1.5; }
.post h3 a{ color:#FFF; }
.post h3 a:hover{ color:var(--gold); }
.post p{ margin-top:10px; font-size:15.5px; }
.post .more{ margin-top:auto; padding-top:16px; font-weight:600; font-size:15.5px; }

/* CTA बैंड */
.cta-band{ padding:30px 0 110px; }
.cta-inner{
  max-width:1160px; margin:0 auto; text-align:center;
  border-radius:32px; padding:74px 30px;
  background:
    radial-gradient(560px 260px at 50% -30%, rgba(139,123,255,.35), transparent 70%),
    radial-gradient(420px 240px at 85% 120%, rgba(245,193,92,.16), transparent 70%),
    var(--panel);
  border:1px solid var(--stroke);
  backdrop-filter:blur(12px);
  position:relative; overflow:hidden;
}
.cta-inner h2{ font-size:clamp(28px,3.4vw,40px); margin-bottom:14px; }
.cta-inner p{ color:var(--muted); max-width:56ch; margin:0 auto 32px; font-size:17.5px; }

/* ---------- आंतरिक पृष्ठ ---------- */
.page-hero{ padding:168px 0 40px; text-align:center; }
.page-hero h1{ font-size:clamp(34px,4.4vw,52px); margin:18px 0 14px; }
.page-hero p{ color:var(--muted); max-width:62ch; margin:0 auto; font-size:18px; }

/* ब्लॉग लेआउट */
.blog-layout{ display:grid; grid-template-columns:2.1fr 1fr; gap:34px; padding:56px 0 96px; }
aside .widget{ margin-bottom:24px; }
aside .widget h3{ font-size:19px; margin-bottom:16px; }
aside .widget ul{ list-style:none; }
aside .widget li{ padding:9px 0; border-bottom:1px solid var(--stroke); font-size:15.5px; }
aside .widget li:last-child{ border-bottom:none; }
aside .widget li a{ color:var(--muted); display:flex; justify-content:space-between; }
aside .widget li a:hover{ color:var(--gold); }
.tag-cloud a{
  display:inline-block; background:var(--panel-2); border:1px solid var(--stroke);
  color:var(--muted); border-radius:999px; padding:5px 16px; font-size:14px; margin:0 7px 10px 0;
  transition:all .18s ease;
}
.tag-cloud a:hover{ border-color:var(--stroke-2); color:var(--gold); }

/* सिंगल पोस्ट */
.article{ max-width:780px; margin:0 auto; padding:56px 26px 96px; }
.article .meta{ color:#B7ABFF; font-size:13.5px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:14px; }
.article h1{ font-size:clamp(30px,4vw,44px); margin-bottom:26px; }
.article h2{ font-size:27px; margin:44px 0 16px; }
.article p{ margin-bottom:20px; color:#CFC8E4; }
.article blockquote{
  border-left:3px solid var(--gold);
  background:var(--panel);
  border-radius:0 18px 18px 0;
  padding:22px 28px; margin:30px 0;
  font-family:'Rozha One',serif; font-size:21px; color:#FFF;
}
.article .shloka{
  text-align:center; border-radius:22px; padding:32px 26px; margin:34px 0;
  font-family:'Rozha One',serif; font-size:22px; line-height:1.95; color:#FFE9BE;
  background:
    radial-gradient(300px 140px at 50% 0%, rgba(245,193,92,.16), transparent 75%),
    var(--panel);
  border:1px solid rgba(245,193,92,.3);
}
.article .shloka small{ display:block; font-family:'Mukta',sans-serif; color:var(--muted); font-size:14.5px; margin-top:12px; }

/* फ़ॉर्म */
.form label{ display:block; font-weight:600; margin:18px 0 8px; color:#FFF; }
.form input,.form textarea,.form select{
  width:100%; padding:13px 16px; font:inherit; color:var(--text);
  background:rgba(255,255,255,.05);
  border:1px solid var(--stroke); border-radius:14px;
}
.form select option{ background:var(--bg-2); }
.form input::placeholder,.form textarea::placeholder{ color:#6F678F; }
.form input:focus,.form textarea:focus,.form select:focus{ outline:2px solid var(--gold); border-color:transparent; }
.form button{ margin-top:26px; }

.check-list{ list-style:none; }
.check-list li{ padding-left:32px; position:relative; margin-bottom:13px; color:var(--muted); }
.check-list li::before{ content:"✦"; position:absolute; left:0; color:var(--gold); }

/* ---------- फ़ुटर ---------- */
footer.site{
  border-top:1px solid var(--stroke);
  background:rgba(11,8,32,.7); backdrop-filter:blur(10px);
  padding:64px 0 0;
}
.foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:38px; padding-bottom:48px; }
footer.site h4{ font-family:'Rozha One',serif; color:#FFF; font-size:19px; margin-bottom:16px; font-weight:400; }
footer.site p{ color:var(--muted); font-size:15.5px; }
footer.site ul{ list-style:none; }
footer.site li{ margin-bottom:10px; font-size:15.5px; }
footer.site a{ color:var(--muted); }
footer.site a:hover{ color:var(--gold); }
.foot-bottom{
  border-top:1px solid var(--stroke);
  padding:18px 26px; text-align:center; font-size:14px; color:#6F678F;
}

/* ---------- स्क्रॉल रिवील ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; } .reveal.d3{ transition-delay:.24s; }

/* ---------- रेस्पॉन्सिव ---------- */
@media (max-width: 940px){
  .hero-grid{ grid-template-columns:1fr; gap:44px; }
  .wheel-holder{ order:-1; }
  .wheel{ width:min(360px,86vw); }
  .grid-3{ grid-template-columns:1fr 1fr; }
  .path{ grid-template-columns:1fr 1fr; gap:36px; }
  .path::before{ display:none; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .blog-layout{ grid-template-columns:1fr; }
}
@media (max-width: 660px){
  header.site{ top:10px; }
  nav.menu{
    display:none; position:absolute; top:calc(100% + 10px); left:0; right:0;
    background:rgba(19,14,46,.96); border:1px solid var(--stroke);
    border-radius:24px; padding:18px; flex-direction:column; align-items:stretch;
    backdrop-filter:blur(18px);
  }
  nav.menu.open{ display:flex; }
  nav.menu a{ padding:12px 18px; }
  .menu-toggle{ display:block; }
  .grid-3,.grid-2,.path{ grid-template-columns:1fr; }
  .hero{ padding-top:140px; }
  .hero-stats{ gap:26px; }
  section.block{ padding:70px 0; }
}
@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important; }
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; }
}

/* ---------- WordPress-specific ---------- */
nav.menu ul{ display:flex; align-items:center; gap:6px; list-style:none; margin:0; padding:0; }
nav.menu li.current-menu-item > a, nav.menu li.current_page_item > a{
  color:#0F0A28; background:var(--grad-gold); font-weight:700;
}
.entry-content p{ margin-bottom:20px; color:#CFC8E4; }
.entry-content h2{ font-size:27px; margin:44px 0 16px; }
.entry-content h3{ font-size:22px; margin:34px 0 12px; }
.entry-content ul,.entry-content ol{ margin:0 0 20px 24px; color:#CFC8E4; }
.entry-content img{ border-radius:18px; margin:26px 0; }
.entry-content a{ text-decoration:underline; text-underline-offset:3px; }
.alignleft{ float:left; margin:6px 26px 16px 0; }
.alignright{ float:right; margin:6px 0 16px 26px; }
.aligncenter{ margin-left:auto; margin-right:auto; }
.wp-caption{ max-width:100%; }
.wp-caption-text{ font-size:14px; color:var(--muted); text-align:center; margin-top:8px; }
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.sticky{ border-color:var(--stroke-2); }
.post-navigation{ max-width:780px; margin:0 auto; padding:0 26px 70px; display:flex; justify-content:space-between; gap:20px; }
.post-navigation a{ color:var(--muted); } .post-navigation a:hover{ color:var(--gold); }
.pagination{ display:flex; gap:10px; justify-content:center; margin-top:50px; }
.pagination .page-numbers{
  padding:9px 17px; border-radius:999px; background:var(--panel);
  border:1px solid var(--stroke); color:var(--muted);
}
.pagination .page-numbers.current{ background:var(--grad-gold); color:#241304; font-weight:700; }
@media (max-width:660px){ nav.menu ul{ flex-direction:column; align-items:stretch; width:100%; } }
