/*
Theme Name: Trishakti Spiritual
Theme URI: https://trishaktispiritual.com
Author: Satyam Pathak
Description: Custom theme for Trishakti Spiritual — displays existing posts, pages, categories and tags dynamically. Safe to install: does not alter any existing content.
Version: 1.0
Text Domain: trishakti-spiritual
*/

:root{
  --ink:#2b1d10;
  --dusk:#faf3e3;
  --dusk-2:#f2e6cb;
  --maroon:#852c19;
  --sindoor:#a6371f;
  --marigold:#a9711f;
  --gold:#8a5a15;
  --parchment:#faf3e3;
  --parchment-2:#fffaf0;
  --line: color-mix(in srgb, var(--marigold) 25%, transparent);
  --card-text-muted:#6b5a41;
  --chrome-text:#2b1d10;
  --heading:#852c19;
}

/* ---------- DARK THEME ---------- */
html[data-theme="dark"]{
  --ink:#eee7d3;
  --dusk:#0f1120;
  --dusk-2:#161a33;
  --maroon:#9a3622;
  --sindoor:#c1442b;
  --marigold:#e8a33d;
  --gold:#f0c98a;
  --parchment:#0f1120;
  --parchment-2:#181c38;
  --line: color-mix(in srgb, var(--marigold) 18%, transparent);
  --card-text-muted:#a9a6c4;
  --chrome-text:#eee7d3;
  --heading:#f0c98a;
}
html[data-theme="dark"] .article-card .meta,
html[data-theme="dark"] .feature-lead .meta{ color:var(--card-text-muted); }

/* ---------- VEDIC THEME (saffron / temple palette) ---------- */
html[data-theme="vedic"]{
  --ink:#f7ead2;
  --dusk:#3d0f14;
  --dusk-2:#4a1319;
  --maroon:#b54626;
  --sindoor:#e2582f;
  --marigold:#e8b74d;
  --gold:#f3d391;
  --parchment:#3d0f14;
  --parchment-2:#4e161c;
  --line: color-mix(in srgb, var(--marigold) 28%, transparent);
  --card-text-muted:#d9b9a6;
  --chrome-text:#f7ead2;
  --heading:#f3d391;
}

body{ transition: background-color .25s ease, color .25s ease; }

/* ---------- THEME TOGGLE (matches panchang.html theme-switch) ---------- */
.theme-toggle{
  display:flex;
  gap:2px;
  padding:3px;
  border-radius:999px;
  background:color-mix(in srgb, var(--chrome-text) 8%, transparent);
  border:1px solid color-mix(in srgb, var(--marigold) 30%, transparent);
}
.theme-toggle button{
  border:none;
  background:transparent;
  color:var(--chrome-text);
  opacity:.65;
  font-family:'Inter',sans-serif;
  font-size:12px;
  font-weight:600;
  padding:6px 10px;
  border-radius:999px;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:5px;
  transition:background .15s ease, color .15s ease, opacity .15s ease;
}
.theme-toggle button:hover{opacity:1;}
.theme-toggle button.active{
  opacity:1;
  background:var(--marigold);
  color:var(--parchment);
}
@media (max-width:640px){
  .theme-toggle button .theme-label{display:none;}
  .theme-toggle button{padding:6px 8px;}
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--parchment);
  color:var(--ink);
  font-family:'Noto Sans Devanagari','Baloo 2',sans-serif;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.eyebrow{
  font-family:'Inter',sans-serif;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
}

/* ---------- TOP UTILITY STRIP ---------- */
.utility{
  background:var(--dusk);
  color:var(--chrome-text);
  font-family:'Inter',sans-serif;
  font-size:.78rem;
  padding:8px 20px;
  display:flex;
  justify-content:center;
  gap:10px;
  text-align:center;
  flex-wrap:wrap;
}
.utility b{color:var(--marigold);font-weight:600;}

/* ---------- HEADER ---------- */
header.site-header{
  background:var(--dusk);
  padding:18px 24px 0;
}
.header-row{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:16px;
}
.logo{
  font-family:'Yatra One',cursive;
  font-size:1.7rem;
  color:var(--marigold);
  letter-spacing:.02em;
}
.logo span{color:var(--chrome-text);font-size:.62rem;display:block;font-family:'Inter',sans-serif;letter-spacing:.2em;margin-top:2px;}
.logo img{max-height:52px;width:auto;display:block;}
.footer-brand .logo img{max-height:40px;filter:brightness(0) invert(1);opacity:.92;}
.social-mini{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:.85rem;color:var(--chrome-text);opacity:.85;}
nav.main-nav{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  row-gap:8px;
  gap:26px;
  padding-bottom:14px;
  border-top:1px solid color-mix(in srgb, var(--marigold) 18%, transparent);
  padding-top:14px;
}
nav.main-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;row-gap:8px;gap:26px;}
nav.main-nav a{
  color:var(--chrome-text);
  font-size:.95rem;
  white-space:nowrap;
  opacity:.82;
  padding-bottom:4px;
  border-bottom:2px solid transparent;
  transition:.2s;
}
nav.main-nav a:hover, nav.main-nav .current-menu-item a, nav.main-nav .current-cat a{opacity:1;border-bottom-color:var(--marigold);color:var(--marigold);}

/* ---------- NAV DROPDOWN (submenus) ---------- */
nav.main-nav li{position:relative;}
nav.main-nav li.menu-item-has-children > a::after{content:"▾";display:inline-block;margin-left:5px;font-size:.7em;opacity:.75;}
nav.main-nav .sub-menu{
  display:none;
  list-style:none;
  margin:0;
  padding:8px;
  position:absolute;
  top:100%;
  left:0;
  z-index:80;
  min-width:220px;
  flex-direction:column;
  gap:2px;
  background:var(--parchment-2);
  border:1px solid color-mix(in srgb, var(--marigold) 25%, transparent);
  border-radius:8px;
  box-shadow:0 14px 32px rgba(0,0,0,0.18);
}
nav.main-nav li.menu-item-has-children:hover > .sub-menu,
nav.main-nav li.menu-item-has-children.is-open > .sub-menu{
  display:flex;
}
nav.main-nav .sub-menu a{
  color:var(--ink);
  opacity:1;
  white-space:normal;
  padding:9px 12px;
  border-bottom:none;
  border-radius:5px;
  display:block;
}
nav.main-nav .sub-menu a:hover{background:color-mix(in srgb, var(--marigold) 14%, transparent);color:var(--sindoor);}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  background:radial-gradient(ellipse at 30% 20%, var(--dusk-2), var(--dusk) 65%);
  padding:64px 24px 90px;
  overflow:hidden;
}
.hero-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:40px;
  align-items:center;
}
.hero h1{
  font-family:'Yatra One',cursive;
  font-size:clamp(2.4rem,5vw,3.6rem);
  color:var(--chrome-text);
  line-height:1.25;
  margin:0 0 18px;
}
.hero h1 em{font-style:normal;color:var(--marigold);}
.hero p{
  font-size:1.05rem;
  color:color-mix(in srgb, var(--chrome-text) 78%, transparent);
  max-width:44ch;
  line-height:1.7;
  margin:0 0 28px;
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{
  background:var(--marigold);
  color:var(--parchment);
  font-weight:700;
  padding:13px 26px;
  border-radius:3px;
  font-size:.95rem;
  box-shadow:0 6px 20px color-mix(in srgb, var(--marigold) 25%, transparent);
}
.btn-ghost{
  border:1px solid color-mix(in srgb, var(--chrome-text) 35%, transparent);
  color:var(--chrome-text);
  padding:13px 26px;
  border-radius:3px;
  font-size:.95rem;
}

.diya-wrap{display:flex;justify-content:center;align-items:flex-end;height:280px;position:relative;}
.diya{position:relative;width:150px;}
.flame{
  width:20px;height:34px;
  background:linear-gradient(180deg,#FFF3C4 0%, var(--marigold) 45%, var(--sindoor) 100%);
  border-radius:50% 50% 50% 50% / 65% 65% 35% 35%;
  margin:0 auto;
  filter:blur(.3px);
  transform-origin:bottom center;
  animation:flicker 2.6s ease-in-out infinite;
  box-shadow:0 0 24px 6px color-mix(in srgb, var(--marigold) 55%, transparent), 0 0 60px 18px color-mix(in srgb, var(--marigold) 18%, transparent);
}
@keyframes flicker{
  0%,100%{transform:scaleY(1) scaleX(1) rotate(0deg);}
  25%{transform:scaleY(1.06) scaleX(.96) rotate(-2deg);}
  50%{transform:scaleY(.94) scaleX(1.05) rotate(1deg);}
  75%{transform:scaleY(1.03) scaleX(.98) rotate(2deg);}
}
.wick{width:3px;height:10px;background:#3A2436;margin:0 auto;}
.bowl{
  width:150px;height:34px;
  background:linear-gradient(180deg,var(--gold),#8a5c07);
  border-radius:50% 50% 40% 40% / 100% 100% 25% 25%;
  margin-top:-2px;
}
.bowl-base{width:90px;height:12px;background:#7a4d06;margin:2px auto 0;border-radius:2px;}
.rays{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:220px;height:220px;
  background:radial-gradient(circle, color-mix(in srgb, var(--marigold) 16%, transparent) 0%, transparent 70%);
  pointer-events:none;
  animation:rays-breathe 7s ease-in-out infinite;
}
@keyframes rays-breathe{
  0%,100%{transform:translateX(-50%) scale(1) rotate(0deg);opacity:.85;}
  50%{transform:translateX(-50%) scale(1.12) rotate(6deg);opacity:1;}
}

/* ---------- HERO -- floating light particles (CSS-only, lightweight) ---------- */
.hero-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.hero-particles span{
  position:absolute;bottom:-10px;
  width:5px;height:5px;border-radius:50%;
  background:radial-gradient(circle, var(--marigold), transparent 70%);
  opacity:0;
  animation:particle-rise 9s ease-in infinite;
}
.hero-particles span:nth-child(1){left:8%;animation-delay:0s;animation-duration:8s;}
.hero-particles span:nth-child(2){left:20%;animation-delay:1.4s;animation-duration:10s;width:4px;height:4px;}
.hero-particles span:nth-child(3){left:34%;animation-delay:3.1s;animation-duration:7.5s;}
.hero-particles span:nth-child(4){left:52%;animation-delay:0.6s;animation-duration:9.5s;width:3px;height:3px;}
.hero-particles span:nth-child(5){left:68%;animation-delay:2.3s;animation-duration:8.5s;}
.hero-particles span:nth-child(6){left:80%;animation-delay:4s;animation-duration:11s;width:4px;height:4px;}
.hero-particles span:nth-child(7){left:92%;animation-delay:1.8s;animation-duration:9s;}
@keyframes particle-rise{
  0%{transform:translateY(0) translateX(0);opacity:0;}
  10%{opacity:.7;}
  50%{transform:translateY(-140px) translateX(10px);opacity:.5;}
  90%{opacity:0;}
  100%{transform:translateY(-260px) translateX(-6px);opacity:0;}
}
@media (prefers-reduced-motion: reduce){
  .flame{animation:none;}
  .rays{animation:none;}
  .hero-particles{display:none;}
}

/* ---------- PANCHANG STRIP ---------- */
.panchang{
  background:var(--parchment-2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.panchang-row{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:0;}
.panchang-item{flex:1;min-width:150px;padding:16px 20px;border-right:1px solid var(--line);}
.panchang-item:last-child{border-right:none;}
.panchang-item .label{font-family:'Inter',sans-serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.panchang-item .val{font-size:1rem;font-weight:600;color:var(--heading);}

/* ---------- Aaj Ka Vichar (manually updated daily) ---------- */
.vichar-strip{
  padding:26px 24px;text-align:center;position:relative;
  background:radial-gradient(ellipse at 30% 20%, var(--dusk-2), var(--dusk) 70%);
}
/* Subtle day-of-week gradient shift — purely decorative, server-computed so no JS needed */
.vichar-day-0{background:radial-gradient(ellipse at 25% 15%, color-mix(in srgb, var(--sindoor) 14%, var(--dusk-2)), var(--dusk) 70%);}
.vichar-day-1{background:radial-gradient(ellipse at 70% 20%, color-mix(in srgb, var(--marigold) 16%, var(--dusk-2)), var(--dusk) 70%);}
.vichar-day-2{background:radial-gradient(ellipse at 30% 75%, color-mix(in srgb, var(--gold) 15%, var(--dusk-2)), var(--dusk) 70%);}
.vichar-day-3{background:radial-gradient(ellipse at 80% 70%, color-mix(in srgb, var(--sindoor) 12%, var(--dusk-2)), var(--dusk) 70%);}
.vichar-day-4{background:radial-gradient(ellipse at 20% 30%, color-mix(in srgb, var(--marigold) 18%, var(--dusk-2)), var(--dusk) 70%);}
.vichar-day-5{background:radial-gradient(ellipse at 60% 25%, color-mix(in srgb, var(--gold) 17%, var(--dusk-2)), var(--dusk) 70%);}
.vichar-day-6{background:radial-gradient(ellipse at 40% 80%, color-mix(in srgb, var(--sindoor) 16%, var(--dusk-2)), var(--dusk) 70%);}

.vichar-frame{
  max-width:760px;margin:0 auto;position:relative;
  display:flex;align-items:center;justify-content:center;gap:14px;
  padding:10px 8px;
  border-top:1px solid color-mix(in srgb, var(--marigold) 30%, transparent);
  border-bottom:1px solid color-mix(in srgb, var(--marigold) 30%, transparent);
}
.vichar-glyph{
  font-family:'Yatra One',cursive;font-size:2.4rem;line-height:1;flex:none;
  color:color-mix(in srgb, var(--marigold) 55%, transparent);
  opacity:.7;
}
.vichar-glyph-l{margin-top:-6px;}
.vichar-glyph-r{margin-top:auto;transform:scaleX(-1);}
.vichar-inner{flex:1;min-width:0;}
.vichar-label{font-family:'Inter',sans-serif;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--marigold);font-weight:600;}
.vichar-strip p{font-family:'Yatra One',cursive;font-size:1.15rem;color:var(--chrome-text);line-height:1.6;margin:8px 0 0;}
@media(max-width:600px){ .vichar-glyph{display:none;} }

/* ---------- SECTION SHELL ---------- */
section.block{max-width:1180px;margin:0 auto;padding:64px 24px;}
.block-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px;flex-wrap:wrap;gap:10px;}
.block-head h2{font-family:'Yatra One',cursive;font-size:1.9rem;color:var(--heading);margin:6px 0 0;}
.block-head a.viewall{font-family:'Inter',sans-serif;font-size:.82rem;font-weight:600;color:var(--sindoor);border-bottom:1px solid var(--sindoor);padding-bottom:2px;}

/* ---------- CATEGORY GRID ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.cat-card{background:var(--parchment-2);border:1px solid var(--line);border-radius:6px;padding:22px 16px;text-align:center;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.cat-card:hover{
  border-color:var(--marigold);
  transform:translateY(-5px) scale(1.035);
  box-shadow:0 14px 30px rgba(92,26,27,0.12), 0 0 0 1px color-mix(in srgb, var(--marigold) 30%, transparent);
}
.cat-glyph{font-size:1.6rem;display:block;margin-bottom:10px;color:var(--sindoor);transition:transform .25s ease, text-shadow .25s ease;}
.cat-card:hover .cat-glyph{
  transform:scale(1.18) translateY(-2px);
  text-shadow:0 0 18px color-mix(in srgb, var(--marigold) 65%, transparent);
}
.cat-card .name{font-weight:700;font-size:1rem;color:var(--ink);}
.cat-card .count{font-family:'Inter',sans-serif;font-size:.72rem;color:var(--gold);margin-top:3px;}
@media (prefers-reduced-motion: reduce){
  .cat-card,.cat-glyph{transition:none;}
  .cat-card:hover{transform:none;}
  .cat-card:hover .cat-glyph{transform:none;}
}

/* ---------- FEATURED EDITORIAL LIST ---------- */
.feature-lead{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--parchment-2);margin-bottom:14px;}
.feature-lead .img-block{background:linear-gradient(135deg,var(--maroon),var(--sindoor));min-height:220px;position:relative;background-size:cover;background-position:center;}
.feature-lead .txt-block{padding:30px;display:flex;flex-direction:column;justify-content:center;}
.tag-pill{display:inline-block;font-family:'Inter',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--sindoor);border:1px solid var(--sindoor);border-radius:20px;padding:3px 12px;margin-bottom:12px;width:fit-content;}
.feature-lead h3{font-size:1.4rem;line-height:1.4;margin:0 0 10px;font-weight:700;}
.feature-lead p{color:var(--card-text-muted);font-size:.92rem;line-height:1.7;margin:0 0 14px;}
.meta{font-family:'Inter',sans-serif;font-size:.76rem;color:var(--card-text-muted);}

.article-row-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.article-card{border:1px solid var(--line);border-radius:6px;padding:18px;background:var(--parchment-2);display:flex;gap:14px;align-items:flex-start;}
.article-card .num{font-family:'Yatra One',cursive;font-size:1.6rem;color:var(--marigold);flex-shrink:0;}
.article-card h4{margin:0 0 6px;font-size:1rem;font-weight:700;line-height:1.4;}
.article-card .meta{margin-top:4px;color:var(--card-text-muted);}
.article-card p{color:var(--card-text-muted);}
.article-card .thumb{
  width:120px;aspect-ratio:3/2;flex-shrink:0;border-radius:6px;overflow:hidden;
  background:linear-gradient(135deg,var(--maroon),var(--sindoor));
}
/* aspect-ratio is overridden per-image via an inline style so the box
   always matches that image's real shape — then object-fit:cover has
   nothing to crop or letterbox, it just fills perfectly. */
.article-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
/* The text block next to the thumb/number needs min-width:0, otherwise
   a long title forces the whole card to overflow sideways on narrow
   phones — which is what makes it look "cut off on both sides" and
   squishes the thumbnail along with it. */
.article-card > div{ min-width:0; }
.article-card h4{ overflow-wrap:break-word; word-break:break-word; }
@media(max-width:480px){
  .article-card{ padding:12px; gap:10px; }
  .article-card .thumb{ width:96px; }
}

/* ---------- SOCIAL SHARE ---------- */
.share-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.share-row .share-label{
  font-family:'Inter',sans-serif;
  font-size:.78rem;
  font-weight:600;
  color:var(--card-text-muted);
  align-self:center;
  margin-right:4px;
}
.share-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:'Inter',sans-serif;
  font-size:.8rem;
  font-weight:600;
  padding:8px 14px;
  border-radius:20px;
  border:1px solid var(--line);
  color:var(--ink);
  background:var(--parchment);
  transition:.2s;
}
.share-btn:hover{border-color:var(--marigold);color:var(--sindoor);}
.share-btn.copied{background:var(--marigold);color:var(--parchment);border-color:var(--marigold);}

/* ---------- RASHIFAL BAND ---------- */
.rashifal-band{background:var(--dusk);padding:56px 24px;}
.rashifal-inner{max-width:1180px;margin:0 auto;}
.rashifal-inner .eyebrow{color:var(--marigold);}
.rashifal-inner h2{font-family:'Yatra One',cursive;color:var(--chrome-text);font-size:1.9rem;margin:6px 0 26px;}
.rashi-finder{
  max-width:620px;margin:0 0 30px;
  background:color-mix(in srgb, var(--chrome-text) 5%, transparent);
  border:1px solid color-mix(in srgb, var(--marigold) 22%, transparent);
  border-radius:10px;padding:18px 20px;
}
.rashi-finder label{display:block;font-size:.9rem;color:var(--chrome-text);margin-bottom:10px;font-weight:600;}
.rashi-finder-row{display:flex;gap:10px;flex-wrap:wrap;}
.rashi-finder-row input[type="date"],
.rashi-finder-row input[type="time"],
.rashi-finder-row input[type="text"]{
  flex:1;min-width:130px;
  background:color-mix(in srgb, var(--chrome-text) 8%, transparent);
  border:1px solid color-mix(in srgb, var(--marigold) 30%, transparent);
  border-radius:5px;padding:10px 12px;color:var(--chrome-text);
  font-family:'Inter',sans-serif;font-size:.88rem;color-scheme:dark;
}
html[data-theme="light"] .rashi-finder-row input{color-scheme:light;}
.rashi-finder-row button{
  background:var(--marigold);color:var(--parchment);font-weight:700;
  border:none;border-radius:5px;padding:10px 22px;font-size:.88rem;
  cursor:pointer;transition:opacity .15s ease;flex:none;
}
.rashi-finder-row button:hover{opacity:.88;}
.rashi-finder-result{
  margin:14px 0 0;font-size:.92rem;font-weight:600;color:var(--marigold);
  font-family:'Inter',sans-serif;
}
.rashi-finder-note{margin:8px 0 0;font-size:.74rem;color:var(--card-text-muted);font-family:'Inter',sans-serif;line-height:1.5;}

.zodiac-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;}
.zodiac-strip::-webkit-scrollbar{display:none;}
.zchip{flex:0 0 auto;background:color-mix(in srgb, var(--chrome-text) 6%, transparent);border:1px solid color-mix(in srgb, var(--marigold) 25%, transparent);border-radius:6px;padding:16px 20px;text-align:center;min-width:96px;transition:.2s;}
.zchip .sym{font-size:1.3rem;color:var(--marigold);}
.zchip .rname{font-size:.85rem;color:var(--chrome-text);margin-top:6px;}
.zchip.is-you{
  border-color:var(--marigold);
  background:color-mix(in srgb, var(--marigold) 16%, transparent);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--marigold) 40%, transparent);
  transform:translateY(-3px);
}

/* ---------- ABOUT / TRUST STRIP ---------- */
.trust{background:var(--parchment-2);border-top:1px solid var(--line);}
.trust-inner{max-width:1180px;margin:0 auto;padding:44px 24px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;}
.trust-inner p{color:var(--card-text-muted);line-height:1.75;font-size:.92rem;margin:8px 0 0;}
.stat .n{font-family:'Yatra One',cursive;font-size:1.8rem;color:var(--sindoor);font-variant-numeric:tabular-nums;}
.stat .l{font-family:'Inter',sans-serif;font-size:.75rem;color:var(--card-text-muted);letter-spacing:.04em;}

/* ---------- TESTIMONIALS ---------- */
.testimonials{background:var(--dusk);padding:56px 24px;}
.testimonials-inner{max-width:760px;margin:0 auto;text-align:center;}
.testimonials .eyebrow{color:var(--marigold);}
.testimonials h2{font-family:'Yatra One',cursive;color:var(--chrome-text);font-size:1.9rem;margin:6px 0 30px;}
.testi-track{display:flex;transition:transform .5s ease;}
.testi-card{flex:0 0 100%;padding:0 8px;}
.testi-quote{font-family:'Yatra One',cursive;font-size:2.6rem;color:var(--marigold);opacity:.5;line-height:1;margin-bottom:4px;}
.testi-text{font-size:1.05rem;color:var(--chrome-text);line-height:1.75;margin:0 0 16px;}
.testi-who{display:flex;flex-direction:column;gap:2px;}
.testi-name{font-weight:700;color:var(--marigold);font-size:.92rem;}
.testi-meta{font-family:'Inter',sans-serif;font-size:.72rem;color:color-mix(in srgb, var(--chrome-text) 60%, transparent);}
.testi-dots{display:flex;justify-content:center;gap:8px;margin-top:26px;}
.testi-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;cursor:pointer;background:color-mix(in srgb, var(--chrome-text) 20%, transparent);transition:.2s;}
.testi-dot.is-active{background:var(--marigold);transform:scale(1.25);}

/* ---------- FOOTER ---------- */
footer.site-footer{background:var(--dusk);color:color-mix(in srgb, var(--chrome-text) 75%, transparent);padding:56px 24px 26px;}
.footer-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:26px;}
.footer-grid h5{font-family:'Inter',sans-serif;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--marigold);margin:0 0 16px;}
.footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:.9rem;}
.footer-grid ul a:hover{color:var(--marigold);}
.footer-brand .logo{margin-bottom:12px;}
.footer-brand p{font-size:.85rem;line-height:1.7;color:color-mix(in srgb, var(--chrome-text) 55%, transparent);max-width:34ch;}
.footer-bottom{max-width:1180px;margin:40px auto 0;padding-top:20px;border-top:1px solid color-mix(in srgb, var(--chrome-text) 12%, transparent);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem;color:color-mix(in srgb, var(--chrome-text) 50%, transparent);font-family:'Inter',sans-serif;}

/* ---------- GENERIC PAGE / SINGLE / ARCHIVE ---------- */
.page-hero{background:var(--dusk);padding:44px 24px;}
.page-hero-inner{max-width:900px;margin:0 auto;}
.page-hero h1{font-family:'Yatra One',cursive;color:var(--chrome-text);font-size:2.1rem;margin:6px 0 0;}
.content-wrap{max-width:900px;margin:0 auto;padding:48px 24px 80px;}
.content-wrap article{background:var(--parchment-2);border:1px solid var(--line);border-radius:6px;padding:36px;}
/* Featured image on single posts — force full width + natural height,
   in case something (a plugin, stale attachment metadata, etc.) is
   otherwise constraining it. */
.content-wrap article > img{width:100% !important;height:auto !important;max-width:100%;}
.content-wrap .entry-content{line-height:1.9;font-size:1.05rem;}
.content-wrap .entry-content h2, .content-wrap .entry-content h3{color:var(--heading);font-family:'Yatra One',cursive;}
.content-wrap .entry-content img{border-radius:6px;margin:16px 0;}
.archive-list{display:flex;flex-direction:column;gap:14px;}
.archive-list .article-card{width:100%;}

/* ---------- Category preview grid (front page) ---------- */
.cat-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px;}
.cat-preview-head{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line);}
.cat-preview-head a{font-family:'Yatra One',cursive;font-size:1.15rem;color:var(--heading);}
.cat-preview-list{list-style:none;margin:0;padding:0;}
.cat-preview-list li{border-bottom:1px dashed var(--line);}
.cat-preview-list li:last-child{border-bottom:none;}
.cat-preview-list a{display:block;padding:10px 2px;}
.cat-preview-list .t{display:block;font-weight:700;font-size:.95rem;line-height:1.4;}
.cat-preview-list .e{display:block;font-size:.8rem;color:var(--card-text-muted);margin-top:3px;line-height:1.5;}
.cat-preview-list a:hover .t{color:var(--sindoor);}
@media(max-width:900px){
  .cat-preview-grid{grid-template-columns:1fr;}
}
.pagination-row{display:flex;gap:10px;justify-content:center;margin-top:30px;font-family:'Inter',sans-serif;font-size:.9rem;}
.pagination-row a, .pagination-row span{padding:8px 14px;border:1px solid var(--line);border-radius:4px;}
.pagination-row .current{background:var(--marigold);border-color:var(--marigold);}

/* ---------- Header icon buttons: favourites + notification ---------- */
.icon-btn{
  position:relative;
  background:transparent;border:none;cursor:pointer;
  color:var(--chrome-text);font-size:1.05rem;opacity:.85;
  display:inline-flex;align-items:center;gap:4px;padding:2px;
}
.icon-btn:hover{opacity:1;color:var(--marigold);}
.icon-badge{
  background:var(--sindoor);color:#fff;font-family:'Inter',sans-serif;font-weight:700;
  font-size:.62rem;min-width:16px;height:16px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;padding:0 4px;
}

/* ---------- Favourite (❤) toggle button on cards/posts ---------- */
.fav-btn{
  background:var(--parchment);border:1px solid var(--line);border-radius:50%;
  width:34px;height:34px;flex-shrink:0;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:1.05rem;color:var(--sindoor);transition:.2s;
}
.fav-btn:hover{border-color:var(--sindoor);}
.fav-btn.active{background:var(--sindoor);color:#fff;border-color:var(--sindoor);}
.feature-lead .fav-btn, article .fav-btn{position:absolute;top:14px;right:14px;z-index:2;}
.feature-lead{position:relative;}
article{position:relative;}
.article-card{position:relative;}
.article-card .fav-btn{position:absolute;top:10px;right:10px;width:30px;height:30px;font-size:.95rem;}

/* ---------- Favourites slide-out panel ---------- */
.fav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:998;}
.fav-panel{
  position:fixed;top:0;right:0;height:100vh;width:min(340px,90vw);
  background:var(--parchment-2);z-index:999;padding:24px;overflow-y:auto;
  box-shadow:-8px 0 28px rgba(0,0,0,.18);
}
.fav-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.fav-panel-head h3{font-family:'Yatra One',cursive;color:var(--heading);font-size:1.2rem;margin:0;}
.fav-panel-head button{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--ink);}
.fav-panel-list{list-style:none;margin:0;padding:0;}
.fav-panel-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:12px 0;}
.fav-panel-list a{font-weight:600;font-size:.92rem;line-height:1.4;}
.fav-panel-list a:hover{color:var(--sindoor);}
.fav-remove{background:none;border:none;color:var(--card-text-muted);cursor:pointer;flex-shrink:0;}
.fav-panel-empty{font-size:.88rem;color:var(--card-text-muted);}
.fav-panel-note{font-family:'Inter',sans-serif;font-size:.7rem;color:var(--card-text-muted);margin-top:20px;}

/* ---------- TOOL SPOTLIGHT (Panchang Darshan / Rashifal Darshan) ---------- */
.tool-spotlight{background:var(--dusk);padding:56px 24px;position:relative;overflow:hidden;}
.tool-spotlight::before{
  content:'';position:absolute;top:-40%;right:-10%;width:500px;height:500px;
  background:radial-gradient(circle, rgba(232,163,61,0.18), transparent 70%);
  pointer-events:none;
}
.tool-spotlight-inner{max-width:1180px;margin:0 auto;position:relative;}
.tool-spotlight .eyebrow{color:var(--marigold);}
.tool-spotlight h2{font-family:'Yatra One',cursive;color:var(--chrome-text);font-size:1.9rem;margin:6px 0 28px;}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.tool-card{
  background:var(--parchment-2);
  border:1px solid var(--line);
  border-radius:10px;
  padding:28px;
  display:flex;
  gap:18px;
  align-items:flex-start;
  transition:.25s;
  position:relative;
}
.tool-card:hover{border-color:var(--marigold);transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,0,0,0.25);}
.tool-card .tool-icon{
  flex-shrink:0;
  width:56px;height:56px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(232,163,61,0.3), rgba(232,163,61,0.06));
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;
}
.tool-card h3{color:var(--heading);font-size:1.2rem;margin:0 0 8px;font-weight:700;}
.tool-card p{color:var(--card-text-muted);font-size:.9rem;line-height:1.6;margin:0 0 14px;}
.tool-card .tool-cta{
  font-family:'Inter',sans-serif;
  font-size:.8rem;
  font-weight:700;
  color:var(--marigold);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.tool-card .tool-badge{
  position:absolute;top:16px;right:16px;
  font-family:'Inter',sans-serif;
  font-size:.62rem;font-weight:700;letter-spacing:.06em;
  background:var(--marigold);color:var(--ink);
  padding:3px 10px;border-radius:20px;
}
.tool-preview{
  display:flex;align-items:center;gap:8px;
  font-family:'Inter',sans-serif;font-size:.8rem;font-weight:600;
  color:var(--heading);
  background:color-mix(in srgb, var(--marigold) 10%, transparent);
  border:1px solid color-mix(in srgb, var(--marigold) 25%, transparent);
  border-radius:20px;padding:6px 12px;
  margin:0 0 14px;width:fit-content;
}
.tool-preview .tp-dot{
  width:6px;height:6px;border-radius:50%;flex:none;
  background:var(--marigold);
  box-shadow:0 0 0 0 color-mix(in srgb, var(--marigold) 55%, transparent);
  animation:tp-pulse 2s ease-in-out infinite;
}
@keyframes tp-pulse{
  0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--marigold) 45%, transparent);}
  70%{box-shadow:0 0 0 6px transparent;}
  100%{box-shadow:0 0 0 0 transparent;}
}
@media(max-width:700px){ .tool-grid{grid-template-columns:1fr;} }

/* ---------- SEVA GRID (हमारी ज्योतिष सेवाएं — homepage full-service directory) ---------- */
.seva-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.seva-card{
  position:relative;
  background:var(--parchment-2);
  border:1px solid var(--line);
  border-radius:10px;
  padding:24px 20px;
  transition:.25s;
  display:block;
}
.seva-card:hover{border-color:var(--marigold);transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.18);}
.seva-card .seva-icon{
  width:44px;height:44px;border-radius:8px;margin-bottom:14px;
  background:color-mix(in srgb, var(--marigold) 12%, transparent);
  border:1px solid color-mix(in srgb, var(--marigold) 30%, transparent);
  display:flex;align-items:center;justify-content:center;color:var(--marigold);
}
.seva-card h3{margin:0 0 6px;font-size:1.05rem;font-weight:700;color:var(--heading);}
.seva-card p{margin:0 0 14px;font-size:.85rem;line-height:1.5;color:var(--card-text-muted);min-height:38px;}
.seva-card .status-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'Inter',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.03em;
  padding:4px 10px;border-radius:999px;
  background:color-mix(in srgb, var(--marigold) 16%, transparent);color:var(--maroon);
}
.seva-card .status-tag .dot{width:6px;height:6px;border-radius:50%;background:currentColor;}
@media(max-width:960px){ .seva-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .seva-grid{grid-template-columns:1fr;} }

@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;}
  .diya-wrap{height:200px;order:-1;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .feature-lead{grid-template-columns:1fr;}
  .feature-lead .img-block{min-height:140px;}
  .article-row-list{grid-template-columns:1fr;}
  .trust-inner{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .content-wrap article{padding:22px;}
}

/* ==========================================================================
   SIDEBAR — Category & Post pages (inspired by bhaktibharat.com layout)
   ========================================================================== */
.content-wrap--with-sidebar{ max-width:1180px; }

.content-layout{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:36px;
  align-items:start;
}
.main-col{ min-width:0; }

.site-sidebar{
  display:flex;
  flex-direction:column;
  gap:22px;
  position:sticky;
  top:24px;
}

.site-sidebar .widget{
  background:var(--parchment-2);
  border:1px solid var(--line);
  border-radius:6px;
  padding:20px;
}
.site-sidebar .widget-title{
  font-family:'Yatra One',cursive;
  color:var(--heading);
  font-size:1.15rem;
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:2px solid var(--line);
}

/* Search widget */
.site-sidebar .search-form{
  display:flex;
  gap:8px;
}
.site-sidebar .search-form label{ flex:1; margin:0; }
.site-sidebar .search-form .search-field{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:4px;
  background:var(--parchment);
  color:var(--ink);
  font-family:'Noto Sans Devanagari',sans-serif;
}
.site-sidebar .search-form .search-submit{
  padding:10px 16px;
  border:none;
  border-radius:4px;
  background:var(--maroon);
  color:#fff;
  font-weight:600;
  cursor:pointer;
}

/* Categories widget */
.sidebar-cat-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.sidebar-cat-list li a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 8px;
  border-radius:4px;
  color:var(--ink);
  text-decoration:none;
  font-size:.95rem;
  transition:background .15s ease;
}
.sidebar-cat-list li a:hover{ background:var(--line); }
.sidebar-cat-list .cat-icon{ font-size:1.05rem; }
.sidebar-cat-list .cat-name{ flex:1; }
.sidebar-cat-list .cat-count{
  font-family:'Inter',sans-serif;
  font-size:.75rem;
  color:var(--card-text-muted);
  background:var(--parchment);
  border:1px solid var(--line);
  border-radius:20px;
  padding:1px 9px;
}

/* Popular posts widget */
.sidebar-popular-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.sidebar-popular-post{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--ink);
}
.sidebar-popular-post .pop-num{
  font-family:'Yatra One',cursive;
  font-size:1.3rem;
  color:var(--marigold);
  width:22px;
  flex-shrink:0;
}
.sidebar-popular-post .pop-thumb{
  width:72px;aspect-ratio:3/2;flex-shrink:0;
  border-radius:4px;overflow:hidden;
  display:block;
}
.sidebar-popular-post .pop-thumb img{ width:100%;height:100%;object-fit:cover; }
.sidebar-popular-post .pop-info{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.sidebar-popular-post .pop-title{
  font-size:.9rem;
  font-weight:600;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.sidebar-popular-post .pop-date{ font-size:.72rem; color:var(--card-text-muted); }
.sidebar-popular-post:hover .pop-title{ color:var(--sindoor); }

/* Social follow widget */
.sidebar-social{ display:flex; flex-direction:column; gap:10px; }
.sidebar-social-btn{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 14px;
  border-radius:4px;
  text-decoration:none;
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:.85rem;
  border:1px solid var(--line);
  color:var(--ink);
}
.sidebar-social-btn strong{ font-family:'Yatra One',cursive; color:var(--marigold); font-size:1rem; }
.sidebar-social-btn.fb:hover{ border-color:#1877f2; }
.sidebar-social-btn.ig:hover{ border-color:#e1306c; }

/* Tag cloud widget */
.sidebar-tagcloud{ display:flex; flex-wrap:wrap; gap:8px; }
.sidebar-tagcloud a{
  font-size:.78rem !important;
  padding:5px 12px;
  border:1px solid var(--line);
  border-radius:20px;
  color:var(--heading);
  text-decoration:none;
}
.sidebar-tagcloud a:hover{ background:var(--maroon); color:#fff; border-color:var(--maroon); }

@media(max-width:960px){
  .content-layout{ grid-template-columns:1fr; }
  .site-sidebar{ position:static; margin-top:8px; }
}
