/* planets.css — styles for the /planets (planet-in-house) section.
   Kept separate from astro.css so it inherits the live theme variables. */
.ph-bc{font-size:.82rem;color:var(--muted);margin:0 0 .8rem}
.ph-bc a{color:var(--maroon)}
.ph-bc span{color:var(--muted)}

.ph-head{margin-bottom:1.4rem}
.ph-sub{color:var(--muted);margin:.3rem 0 0}
.ph-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.ph-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--panel);border:1px solid var(--edge);border-radius:999px;padding:.4rem .85rem;font-size:.82rem;color:var(--ink);box-shadow:var(--shadow)}
.ph-chip b{color:var(--maroon);font-weight:600}

.ph-lead{font-size:1.08rem;color:var(--ink);background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-left:4px solid var(--saffron);border-radius:14px;padding:1.1rem 1.2rem;box-shadow:var(--shadow);margin:0 0 1.6rem}

.ph-sec{margin:1.7rem 0}
.ph-sec h2{font-family:var(--serif);color:var(--maroon);font-size:clamp(1.25rem,3vw,1.6rem);margin:0 0 .5rem;padding-bottom:.35rem;border-bottom:2px solid var(--edge)}
.ph-sec p{margin:.5rem 0;color:var(--ink);line-height:1.75}

.ph-split{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.ph-card{background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:1.1rem;box-shadow:var(--shadow)}
.ph-card h2{border:0;padding:0;margin:0 0 .4rem;font-size:1.15rem}
.ph-card--good{background:linear-gradient(165deg,rgba(47,110,63,.1),var(--panel));border-color:rgba(47,110,63,.4)}
.ph-card--good h2{color:#2f6e3f}
.ph-card--bad{background:linear-gradient(165deg,rgba(142,36,24,.1),var(--panel));border-color:rgba(142,36,24,.4)}
.ph-card--bad h2{color:#8e2418}
@media(max-width:720px){.ph-split{grid-template-columns:1fr}}

.ph-remedy{background:linear-gradient(165deg,rgba(138,106,31,.12),var(--panel));border:1px solid var(--edge);border-radius:14px;padding:1.1rem 1.2rem;box-shadow:var(--shadow)}
.ph-remedy ul{margin:.4rem 0 0;padding-left:1.1rem}
.ph-remedy li{margin:.35rem 0;color:var(--ink)}
.ph-remedy__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}

.ph-faq{display:grid;gap:.6rem}
.ph-faq details{background:var(--panel);border:1px solid var(--edge);border-radius:12px;box-shadow:var(--shadow)}
.ph-faq summary{cursor:pointer;padding:.8rem 1rem;font-family:var(--serif);color:var(--maroon);font-size:1.02rem;list-style:none}
.ph-faq summary::-webkit-details-marker{display:none}
.ph-faq summary::after{content:"+";float:right;color:var(--saffron);font-weight:700}
.ph-faq details[open] summary::after{content:"–"}
.ph-faq p{margin:0 1rem .9rem;color:var(--ink);font-size:.95rem;line-height:1.65}

/* grids of cards (hubs + related) */
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.85rem;margin-top:1rem}
.ph-tile{display:flex;flex-direction:column;gap:.2rem;background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:14px;padding:1rem;box-shadow:var(--shadow);transition:transform .16s,border-color .16s}
.ph-tile:hover{transform:translateY(-4px);border-color:var(--maroon)}
.ph-tile__g{font-size:1.5rem;line-height:1}
.ph-tile b{font-family:var(--serif);color:var(--maroon);font-size:1.08rem}
.ph-tile span{font-size:.8rem;color:var(--muted)}

.ph-related{margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid var(--edge)}
.ph-related h2{font-family:var(--serif);color:var(--maroon);font-size:1.3rem;margin:0 0 .3rem}
.ph-houselinks{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}
.ph-houselinks a{font-size:.85rem;background:var(--panel);border:1px solid var(--edge);border-radius:999px;padding:.4rem .8rem;color:var(--ink);transition:background .15s,border-color .15s}
.ph-houselinks a:hover{background:rgba(122,36,26,.08);border-color:var(--maroon)}
.ph-houselinks a.on{background:var(--maroon);color:#fff6e6;border-color:var(--maroon)}

.ph-cta{margin-top:1.6rem;text-align:center;background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:16px;padding:1.4rem;box-shadow:var(--shadow)}
.ph-cta h2{font-family:var(--serif);color:var(--maroon);margin:0 0 .5rem}
.ph-note{font-size:.82rem;color:var(--muted);margin-top:1.4rem}

/* ── two-planet blend banner ── */
.ph-blend{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.4rem 0 1.2rem}
.ph-blend__p{display:inline-flex;align-items:center;gap:.4rem;background:var(--panel);border:1px solid var(--edge);border-radius:999px;padding:.4rem .9rem;box-shadow:var(--shadow)}
.ph-blend__p b{color:var(--maroon)}
.ph-blend__plus{font-size:1.3rem;color:var(--saffron);font-weight:700}

/* ── MCQ quiz ── */
.bq-wrap{margin-top:2rem;background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:16px;padding:1.3rem;box-shadow:var(--shadow)}
.bq-wrap > h2{font-family:var(--serif);color:var(--maroon);margin:0 0 .3rem}
.bq-wrap > p.bq-intro{margin:0 0 1rem;color:var(--muted);font-size:.9rem}
.bq-q{background:var(--paper);border:1px solid var(--edge);border-radius:12px;padding:1rem;margin-bottom:.8rem}
.bq-q__head{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.7rem}
.bq-q__n{flex:none;background:var(--maroon);color:#fff6e6;font-weight:700;font-size:.78rem;border-radius:8px;padding:.2rem .5rem;margin-top:.15rem}
.bq-q__text{margin:0;color:var(--ink);font-weight:600}
.bq-opts{display:grid;gap:.5rem}
.bq-opt{display:flex;align-items:center;gap:.6rem;text-align:left;width:100%;background:var(--panel);border:1.5px solid var(--edge);border-radius:10px;padding:.6rem .8rem;cursor:pointer;font-size:.95rem;color:var(--ink);font-family:inherit;transition:border-color .15s,background .15s;min-height:44px}
.bq-opt:hover:not(:disabled){border-color:var(--maroon)}
.bq-opt__l{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--paper2);border:1px solid var(--edge);font-weight:700;font-size:.8rem;color:var(--maroon)}
.bq-opt.sel{border-color:var(--maroon);background:rgba(122,36,26,.07)}
.bq-opt.sel .bq-opt__l{background:var(--maroon);color:#fff6e6}
.bq-opt.correct{border-color:#2f6e3f;background:rgba(47,110,63,.12)}
.bq-opt.correct .bq-opt__l{background:#2f6e3f;color:#fff}
.bq-opt.wrong{border-color:#8e2418;background:rgba(142,36,24,.12)}
.bq-opt.wrong .bq-opt__l{background:#8e2418;color:#fff}
.bq-opt:disabled{cursor:default}
.bq-explain{margin-top:.7rem;font-size:.9rem;line-height:1.6;border-radius:10px;padding:.6rem .8rem}
.bq-explain.ok{background:rgba(47,110,63,.1);color:#2f6e3f}
.bq-explain.no{background:rgba(142,36,24,.1);color:#8e2418}
.bq-explain b{color:inherit}
.bq-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
.bq-hint{font-size:.82rem;color:var(--muted)}
.bq-hint.warn{color:#8e2418;font-weight:600}
.bq-score{display:flex;flex-direction:column}
.bq-score b{font-family:var(--serif);color:var(--maroon);font-size:1.2rem}
.bq-score span{font-size:.85rem;color:var(--muted)}

/* ── nakshatra hub grid + attributes + padas ── */
.nk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;margin-top:1rem}
.nk-card{position:relative;display:flex;flex-direction:column;gap:.12rem;background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:14px;padding:1rem .9rem;box-shadow:var(--shadow);transition:transform .16s,border-color .16s}
.nk-card:hover{transform:translateY(-4px);border-color:var(--maroon)}
.nk-card__n{position:absolute;top:.55rem;right:.7rem;font-size:.75rem;font-weight:700;color:var(--saffron)}
.nk-card b{font-family:var(--serif);color:var(--maroon);font-size:1.1rem;line-height:1.15}
.nk-card__meta{font-size:.72rem;color:var(--muted)}
.nk-card__lord{font-size:.76rem;color:var(--ink)}

.nk-attrs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem;margin:0 0 1.6rem}
.nk-attrs div{background:var(--panel);border:1px solid var(--edge);border-radius:11px;padding:.6rem .8rem;box-shadow:var(--shadow)}
.nk-attrs span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.nk-attrs b{font-family:var(--serif);color:var(--ink);font-size:.98rem;font-weight:400}

.nk-padanote{font-size:.86rem;color:var(--muted);margin:.2rem 0 .9rem}
.nk-padas{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.nk-pada{background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:14px;padding:1rem;box-shadow:var(--shadow)}
.nk-pada__h{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.4rem;flex-wrap:wrap}
.nk-pada__n{font-family:var(--serif);color:var(--maroon);font-size:1.05rem}
.nk-pada__nav{font-size:.72rem;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.nk-pada p{margin:0;font-size:.92rem;color:var(--ink);line-height:1.6}
@media(max-width:600px){.nk-padas{grid-template-columns:1fr}}

/* ── Learn Astrology course ── */
.cx-progress{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 0 1.6rem;font-size:.9rem;color:var(--muted)}
.cx-progress b{color:var(--maroon)}
.cx-bar{flex:1;min-width:160px;height:8px;background:var(--paper3);border-radius:99px;overflow:hidden;border:1px solid var(--edge)}
.cx-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--saffron),var(--maroon))}
.cx-modgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start}
@media(max-width:760px){.cx-modgrid{grid-template-columns:1fr}}
/* masonry-style flow for courses with very uneven module sizes (packs tightly, no row gaps) */
.cx-modgrid--cols{display:block;column-count:2;column-gap:1.2rem}
.cx-modgrid--cols .cx-module{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 1.2rem;width:100%}
@media(max-width:760px){.cx-modgrid--cols{column-count:1}}
.cx-module{margin:0;background:var(--panel);border:1px solid var(--edge);border-radius:16px;padding:1.1rem 1.2rem;box-shadow:var(--shadow)}
.cx-module__h{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:.7rem}
.cx-module__n{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--maroon);color:#fff6e6;font-family:var(--serif);font-size:1.05rem}
.cx-module__h h2{font-family:var(--serif);color:var(--maroon);font-size:1.3rem;margin:0}
.cx-module__h p{margin:.1rem 0 0;font-size:.86rem;color:var(--muted)}
.cx-lessons{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.cx-lessons a,.cx-soon{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:10px;border:1px solid transparent}
.cx-lessons a{background:var(--paper);border-color:var(--edge);color:var(--ink);transition:border-color .15s,transform .15s}
.cx-lessons a:hover{border-color:var(--maroon);transform:translateX(3px)}
.cx-l-n{flex:none;width:26px;text-align:center;font-size:.8rem;font-weight:700;color:var(--saffron)}
.cx-l-t{flex:1}
.cx-soon{color:var(--muted);opacity:.7}
.cx-tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;background:rgba(138,106,31,.18);color:var(--gold);border-radius:6px;padding:.1rem .4rem}
.cx-tag--soon{background:rgba(110,90,48,.15);color:var(--muted)}

.cx-reuse{background:linear-gradient(165deg,rgba(138,106,31,.12),var(--panel));border:1px solid var(--edge);border-radius:14px;padding:1.1rem 1.2rem;margin:0 0 1.4rem;box-shadow:var(--shadow)}
.cx-reuse p{margin:0 0 .7rem;color:var(--ink)}
.cx-takeaways{background:linear-gradient(165deg,rgba(47,110,63,.1),var(--panel));border:1px solid rgba(47,110,63,.4);border-radius:14px;padding:1rem 1.2rem;margin:1.4rem 0;box-shadow:var(--shadow)}
.cx-takeaways h2{font-family:var(--serif);color:#2f6e3f;margin:0 0 .5rem;font-size:1.15rem}
.cx-takeaways ul{margin:0;padding-left:1.1rem}.cx-takeaways li{margin:.3rem 0;color:var(--ink)}
.cx-testcta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:16px;padding:1.1rem 1.3rem;box-shadow:var(--shadow)}
.cx-testcta b{display:block;font-family:var(--serif);color:var(--maroon);font-size:1.1rem}
.cx-testcta span{font-size:.88rem;color:var(--muted)}

/* ── kundli matching (Guna Milan) ── */
.mt-form{background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:18px;padding:1.3rem;box-shadow:var(--shadow);margin-bottom:1.8rem}
.mt-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.mt-person{border:1px solid var(--edge);border-radius:14px;padding:1rem 1.1rem;background:var(--paper);margin:0}
.mt-person legend{font-family:var(--serif);color:var(--maroon);font-size:1.1rem;padding:0 .4rem}
.mt-person .aa-field{margin:.5rem 0 0;display:block}
.mt-person .aa-field span{display:block;font-size:.72rem;color:var(--muted);margin-bottom:.2rem}
.mt-person input,.mt-person select{width:100%;background:#fffaf0;border:1.5px solid var(--edge);border-radius:9px;padding:.5rem .6rem;color:var(--ink);font-family:var(--sans);font-size:.92rem;min-height:42px}
.mt-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}
.mt-row2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.mt-form__foot{text-align:center;margin-top:1.2rem}
@media(max-width:680px){.mt-form__grid{grid-template-columns:1fr}}

.mt-score{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:18px;padding:1.4rem;box-shadow:var(--shadow);margin-bottom:1.4rem}
.mt-score__num{flex:none;width:120px;height:120px;border-radius:50%;display:grid;place-content:center;text-align:center;border:5px solid var(--edge);background:var(--paper)}
.mt-score__num b{font-family:var(--serif);font-size:2.4rem;line-height:1;color:var(--maroon)}
.mt-score__num span{font-size:.8rem;color:var(--muted)}
.mt-score__v{flex:1;min-width:240px}
.mt-score__v h2{font-family:var(--serif);font-size:1.5rem;margin:0 0 .5rem}
.mt-score__v p{margin:.6rem 0 0;color:var(--ink);font-size:.92rem}
.mt-bar{height:10px;background:var(--paper3);border:1px solid var(--edge);border-radius:99px;overflow:hidden}
.mt-bar i{display:block;height:100%}
.mt-great,.mt-bar i.mt-great{color:#2f6e3f;background:#2f6e3f}
.mt-good,.mt-bar i.mt-good{color:#5a8a2f;background:#5a8a2f}
.mt-ok,.mt-bar i.mt-ok{color:var(--saffron);background:var(--saffron)}
.mt-low,.mt-bar i.mt-low{color:#8e2418;background:#8e2418}
.mt-score__num.mt-great{border-color:#2f6e3f}.mt-score__num.mt-good{border-color:#5a8a2f}.mt-score__num.mt-ok{border-color:var(--saffron)}.mt-score__num.mt-low{border-color:#8e2418}
.mt-table td:last-child{text-align:right;white-space:nowrap}
.mt-pts{font-weight:700;border-radius:6px;padding:.1rem .5rem;font-size:.85rem}
.mt-pts--ok{background:rgba(47,110,63,.15);color:#2f6e3f}
.mt-pts--low{background:rgba(142,36,24,.15);color:#8e2418}
.mt-total-row td{background:rgba(122,36,26,.07);font-size:1rem}
.mt-total-row td b{color:var(--maroon)}

/* ── daily horoscope ── */
.hz-moon{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:14px;padding:.8rem 1.1rem;box-shadow:var(--shadow);margin:0 0 1.4rem}
.hz-moon b{color:var(--maroon)}
.hz-moon .hz-auto{margin-left:auto;font-size:.74rem;color:var(--muted)}
.hz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem}
.hz-card{display:flex;align-items:center;gap:.8rem;background:linear-gradient(165deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:14px;padding:.9rem 1rem;box-shadow:var(--shadow);transition:transform .16s,border-color .16s}
.hz-card:hover{transform:translateY(-4px);border-color:var(--maroon)}
.hz-card__med{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 38% 32%,#f7eecb,#e7d29a);border:1px solid var(--edge);box-shadow:inset 0 0 0 3px rgba(243,230,192,.85),inset 0 0 0 4px var(--saffron)}
.hz-card__med span{font-size:1.45rem;color:var(--maroon);font-family:'Segoe UI Symbol','Noto Sans Symbols',serif}
.hz-card__b{min-width:0}
.hz-card__b b{display:block;font-family:var(--serif);color:var(--maroon);font-size:1.05rem}
.hz-card__stars{color:var(--saffron);font-size:.9rem;letter-spacing:1px}
.hz-card__focus{display:block;font-size:.76rem;color:var(--muted)}
.hz-ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:0 0 1.4rem}
.hz-rating{background:var(--panel);border:1px solid var(--edge);border-radius:12px;padding:.7rem;text-align:center;box-shadow:var(--shadow)}
.hz-rating span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.hz-rating b{color:var(--saffron);font-size:1.05rem;letter-spacing:1px}
.hz-lucky{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}
@media(max-width:560px){.hz-ratings{grid-template-columns:1fr 1fr}}

/* ── two-column course layout: sticky module sidebar + lesson content ── */
.cx-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.6rem;align-items:start;max-width:1180px}
.cx-main{min-width:0}
.cx-side{position:sticky;top:84px;max-height:calc(100vh - 104px);overflow-y:auto;background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:.7rem;box-shadow:var(--shadow)}
.cx-side__head{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem .6rem;border-bottom:1px solid var(--edge);margin-bottom:.4rem}
.cx-side__head a{font-family:var(--serif);color:var(--maroon);font-size:1.05rem}
.cx-side__head span{font-size:.72rem;color:var(--muted);background:var(--paper);border:1px solid var(--edge);border-radius:999px;padding:.1rem .5rem}
.cx-side__nav{display:flex;flex-direction:column;gap:.15rem}
.cx-mod{border-radius:10px}
.cx-mod>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.55rem .6rem;border-radius:10px;font-family:var(--serif);color:var(--ink);font-size:.95rem;transition:background .15s}
.cx-mod>summary::-webkit-details-marker{display:none}
.cx-mod>summary::after{content:"›";margin-left:auto;color:var(--saffron);font-weight:700;transition:transform .18s}
.cx-mod[open]>summary::after{transform:rotate(90deg)}
.cx-mod>summary:hover{background:var(--paper)}
.cx-mod__n{flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:var(--maroon);color:#fff6e6;font-size:.72rem;font-weight:700}
.cx-mod__lessons{list-style:none;margin:.1rem 0 .4rem;padding:0 0 0 .3rem}
.cx-mod__lessons li{margin:0}
.cx-mod__lessons a,.cx-side__soon{display:flex;gap:.5rem;padding:.4rem .55rem;border-radius:8px;font-size:.86rem;color:var(--ink);border-left:2px solid transparent;line-height:1.35}
.cx-mod__lessons a:hover{background:var(--paper);border-left-color:var(--saffron)}
.cx-mod__lessons a.on{background:rgba(122,36,26,.1);border-left-color:var(--maroon);color:var(--maroon);font-weight:600}
.cx-side__soon{color:var(--muted);opacity:.65}
.cx-ln{flex:none;width:24px;text-align:right;color:var(--saffron);font-weight:700;font-size:.78rem}

/* lesson pager */
.cx-pager{display:flex;justify-content:space-between;gap:1rem;margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid var(--edge)}
.cx-pager a{flex:1;max-width:48%;background:var(--panel);border:1px solid var(--edge);border-radius:12px;padding:.7rem .9rem;box-shadow:var(--shadow);transition:transform .15s,border-color .15s}
.cx-pager a:hover{transform:translateY(-2px);border-color:var(--maroon)}
.cx-pager__next{text-align:right;margin-left:auto}
.cx-pager span{display:block;font-size:.72rem;color:var(--saffron);font-weight:700}
.cx-pager b{display:block;font-family:var(--serif);color:var(--maroon);font-size:.96rem;margin-top:.1rem}

@media(max-width:900px){
  .cx-layout{grid-template-columns:1fr}
  .cx-side{position:static;max-height:60vh;top:0}
}

/* ── LMS: auth, dashboard, account nav, progress controls ─────────────────────── */
.aa-auth{max-width:520px;margin:0 auto}
.aa-auth__card{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-lg);padding:32px 28px;box-shadow:var(--shadow)}
.aa-auth__title{font-family:var(--serif);color:var(--maroon);font-size:clamp(1.5rem,4vw,2rem);margin:0 0 6px}
.aa-auth__sub{color:var(--ink2);margin:0 0 18px;line-height:1.5}
.aa-auth__err{background:#fdeceb;border:1px solid var(--rose);color:var(--rose);border-radius:var(--r);padding:10px 14px;margin-bottom:16px;font-weight:600}
.aa-auth__form{display:flex;flex-direction:column;gap:6px}
.aa-auth__form label{font-weight:600;color:var(--ink);margin-top:10px;font-size:.95rem}
.aa-auth__form input{padding:12px 14px;border:1px solid var(--edge);border-radius:var(--r);background:#fffaf0;color:var(--ink);font-size:16px;min-height:44px}
.aa-auth__form input:focus{outline:2px solid var(--maroon);outline-offset:1px;border-color:var(--maroon)}
.aa-auth__go{margin-top:18px;width:100%;justify-content:center;min-height:48px}
.aa-auth__alt{margin:18px 0 0;text-align:center;color:var(--ink2)}
.aa-auth__alt a,.aa-auth__sub a{color:var(--maroon);font-weight:600}
.aa-auth__fine{margin:10px 0 0;text-align:center;color:var(--muted);font-size:.82rem}

/* account area in the top nav */
.aa-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--maroon);color:#fff;font-weight:700;font-size:.8rem;margin-right:6px;vertical-align:middle}
.aa-sub--right{right:0;left:auto}

/* lesson completion + login hint */
.cx-complete{margin:0 0 18px}
.cx-complete button{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;min-height:44px;border-radius:999px;border:1px solid var(--maroon);background:#fff;color:var(--maroon);font-weight:700;cursor:pointer;font-size:.95rem}
.cx-complete button:hover{background:var(--maroon);color:#fff}
.cx-complete.is-done button{background:#eaf7ea;border-color:#3a8a3a;color:#236b23}
.cx-complete.is-done button:hover{background:#dff0df}
.cx-loginhint{margin:0 0 18px;padding:10px 14px;background:var(--panel);border:1px dashed var(--edge);border-radius:var(--r);color:var(--ink2)}
.cx-loginhint a{color:var(--maroon);font-weight:600}

/* sidebar done tick */
.cx-mod__lessons a.done .cx-ln{background:#3a8a3a;color:#fff;border-color:#3a8a3a}
.cx-mod__lessons a.done{color:var(--muted)}

/* quiz "saved" pill */
.bq-saved{display:inline-block;margin-left:10px;color:#236b23;font-weight:700;font-size:.9rem}

/* dashboard */
.dash-top{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:18px}
.dash-ring{display:flex;align-items:center;gap:22px;background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow)}
.dash-ring__dial{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.dash-ring__hole{width:88px;height:88px;border-radius:50%;background:var(--paper);display:grid;place-items:center;text-align:center}
.dash-ring__hole b{font-family:var(--serif);font-size:1.6rem;color:var(--maroon);line-height:1}
.dash-ring__hole span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.dash-ring__txt strong{display:block;font-family:var(--serif);color:var(--ink);font-size:1.15rem;margin-bottom:4px}
.dash-ring__txt p{margin:0;color:var(--ink2);font-size:.9rem;line-height:1.45}
.dash-tiles{display:grid;grid-template-rows:repeat(3,1fr);gap:12px}
.dash-tile{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r);padding:12px 16px;display:flex;align-items:baseline;gap:12px}
.dash-tile b{font-family:var(--serif);font-size:1.5rem;color:var(--maroon);min-width:48px}
.dash-tile span{color:var(--ink2);font-size:.9rem}
.dash-continue{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,var(--maroon),var(--maroon-d));color:#fff;border-radius:var(--r-lg);padding:18px 24px;margin-bottom:22px;text-decoration:none;box-shadow:var(--shadow)}
.dash-continue:hover{transform:translateY(-2px)}
.dash-continue__k{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;opacity:.85}
.dash-continue b{font-family:var(--serif);font-size:1.25rem}
.dash-continue__go{white-space:nowrap;font-weight:700;background:rgba(255,255,255,.16);padding:10px 16px;border-radius:999px}
.dash-continue--done{background:var(--panel);color:var(--ink)}
.dash-continue--done .dash-continue__k{color:var(--muted)}
.dash-continue--done .dash-continue__go{background:var(--maroon);color:#fff}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
.dash-card{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--shadow)}
.dash-card__h{font-family:var(--serif);color:var(--maroon);font-size:1.15rem;margin:0 0 14px}
.dash-mods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.dash-mods__row{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px}
.dash-mods__t{color:var(--ink);font-size:.92rem;font-weight:600}
.dash-mods__n{color:var(--muted);font-size:.85rem;white-space:nowrap}
.dash-prog{height:8px;background:var(--paper3);border-radius:999px;overflow:hidden}
.dash-prog span{display:block;height:100%;background:var(--maroon);border-radius:999px;transition:width .4s}
.dash-tests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.dash-tests li{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px dashed var(--edge);padding-bottom:8px}
.dash-tests li:last-child{border-bottom:0}
.dash-tests a{color:var(--ink);font-weight:600;text-decoration:none}
.dash-tests a:hover{color:var(--maroon)}
.dash-tests__s{font-weight:700;border-radius:999px;padding:3px 12px;font-size:.85rem}
.dash-tests__s.ok{background:#eaf7ea;color:#236b23}
.dash-tests__s.low{background:#fdeee9;color:var(--rose)}
.dash-empty{color:var(--ink2);line-height:1.5;margin:0}
.dash-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:820px){.dash-top{grid-template-columns:1fr}.dash-grid{grid-template-columns:1fr}.aa-sub--right{right:auto}}

/* ── AI Astrology page ───────────────────────────────────────────────────────── */
.ai-form{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;align-items:start;margin-bottom:8px}
.ai-birth,.ai-ask{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--shadow)}
.ai-birth legend{font-family:var(--serif);color:var(--maroon);font-weight:700;padding:0 8px}
.ai-row3{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px}
.ai-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.aa-field{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.aa-field span{font-weight:600;color:var(--ink);font-size:.9rem}
.aa-field input,.aa-field select,.aa-field textarea{padding:11px 13px;border:1px solid var(--edge);border-radius:var(--r);background:#fffaf0;color:var(--ink);font-size:16px;min-height:44px;font-family:inherit}
.aa-field input:focus,.aa-field select:focus,.aa-field textarea:focus{outline:2px solid var(--maroon);outline-offset:1px;border-color:var(--maroon)}
.ai-qfield textarea{resize:vertical;line-height:1.5}
.ai-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.ai-chip{border:1px solid var(--edge);background:#fffaf0;color:var(--ink2);border-radius:999px;padding:7px 13px;font-size:.85rem;cursor:pointer;min-height:36px;transition:all .15s}
.ai-chip:hover{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.ai-go{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.aa-error{color:var(--rose);font-weight:600;margin:0}

.ai-answer{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-lg);padding:24px 26px;box-shadow:var(--shadow);margin-top:22px}
.ai-asked{display:flex;flex-direction:column;gap:2px;border-left:4px solid var(--maroon);padding:4px 0 4px 14px;margin-bottom:18px}
.ai-asked span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ai-asked b{font-family:var(--serif);font-size:1.2rem;color:var(--ink)}
.ai-snap{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.ai-snap__cell{background:var(--paper);border:1px solid var(--edge);border-radius:var(--r);padding:10px 14px;text-align:center}
.ai-snap__cell span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.ai-snap__cell b{color:var(--maroon);font-weight:700;font-size:.95rem}
.ai-answer__h{font-family:var(--serif);color:var(--maroon);font-size:1.4rem;margin:0 0 12px}
.ai-para{color:var(--ink);line-height:1.7;margin:0 0 14px}
.ai-remedies{background:var(--paper);border:1px solid var(--edge);border-radius:var(--r);padding:16px 20px;margin:6px 0 18px}
.ai-remedies h3,.ai-sources h3{font-family:var(--serif);color:var(--maroon);font-size:1.05rem;margin:0 0 10px}
.ai-remedies ul{margin:0;padding-left:20px;line-height:1.6;color:var(--ink2)}
.ai-remedies li{margin-bottom:6px}
.ai-sources{margin:6px 0 18px}
.ai-sources__links{display:flex;flex-wrap:wrap;gap:10px}
.ai-sources__links a{display:inline-block;background:#fffaf0;border:1px solid var(--edge);border-radius:999px;padding:8px 15px;color:var(--maroon);font-weight:600;text-decoration:none;font-size:.88rem}
.ai-sources__links a:hover{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.ai-disc{margin-top:8px}
.ai-how{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-lg);padding:22px 26px;box-shadow:var(--shadow);margin-top:22px}
.ai-how h2{font-family:var(--serif);color:var(--maroon);font-size:1.25rem;margin:0 0 12px}
.ai-how ol{margin:0;padding-left:22px;line-height:1.7;color:var(--ink2)}
.ai-how li{margin-bottom:10px}
.ai-how b{color:var(--ink)}
@media(max-width:820px){.ai-form{grid-template-columns:1fr}.ai-snap{grid-template-columns:1fr}}

/* ── Daily horoscope — engagement enhancements ──────────────────────────────── */
.hz-sym{font-family:'Segoe UI Symbol','Noto Sans Symbols',serif;color:var(--saffron)}
.hz-mood{color:var(--maroon);font-weight:700}
.hz-ratings--6{grid-template-columns:repeat(6,1fr)}
@media(max-width:680px){.hz-ratings--6{grid-template-columns:repeat(3,1fr)}}

/* today's sky theme banner */
.hz-theme{display:flex;gap:1.1rem;align-items:stretch;background:linear-gradient(160deg,var(--panel),var(--paper2));border:1px solid var(--edge);border-radius:16px;padding:1rem 1.2rem;box-shadow:var(--shadow);margin:0 0 1.4rem}
.hz-theme__moon{flex:none;min-width:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 40% 30%,#f7eecb,#e7d29a);border:1px solid var(--edge);border-radius:14px;padding:.7rem .9rem}
.hz-theme__sym{font-size:1.9rem;color:var(--maroon);font-family:'Segoe UI Symbol','Noto Sans Symbols',serif;line-height:1}
.hz-theme__moon span{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:.3rem}
.hz-theme__moon b{font-family:var(--serif);color:var(--maroon);font-size:1.15rem}
.hz-theme__moon small{color:var(--ink2);font-size:.78rem}
.hz-theme__body{display:flex;flex-direction:column;justify-content:center;gap:.35rem}
.hz-theme__line{margin:0;color:var(--ink);font-size:1rem}
.hz-theme__line b{color:var(--maroon)}
.hz-theme__nak{margin:0;color:var(--ink2);font-size:.92rem;line-height:1.5}
.hz-theme .hz-auto{font-size:.74rem;color:var(--muted)}
@media(max-width:560px){.hz-theme{flex-direction:column}.hz-theme__moon{min-width:0}}

.hz-card__mood{display:inline-block;margin-top:.25rem;font-size:.68rem;font-weight:700;color:var(--maroon);background:var(--paper);border:1px solid var(--edge);border-radius:999px;padding:1px 9px}

/* do / avoid */
.hz-doavoid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin:1.4rem 0}
.hz-da{border:1px solid var(--edge);border-radius:12px;padding:.9rem 1.05rem;box-shadow:var(--shadow)}
.hz-da span{display:block;font-weight:700;font-size:.82rem;margin-bottom:.3rem}
.hz-da p{margin:0;color:var(--ink);line-height:1.5}
.hz-da--do{background:#eaf7ea;border-color:#bfe0bf}
.hz-da--do span{color:#236b23}
.hz-da--avoid{background:#fdeee9;border-color:#f0c9bf}
.hz-da--avoid span{color:var(--rose)}
@media(max-width:560px){.hz-doavoid{grid-template-columns:1fr}}

/* lucky panel */
.hz-lucky-panel{background:var(--panel);border:1px solid var(--edge);border-radius:16px;padding:1.1rem 1.2rem;box-shadow:var(--shadow);margin:1.4rem 0}
.hz-lucky-panel h2{font-family:var(--serif);color:var(--maroon);font-size:1.15rem;margin:0 0 .9rem}
.hz-lucky-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.hz-luck{background:var(--paper);border:1px solid var(--edge);border-radius:12px;padding:.7rem .8rem;text-align:center}
.hz-luck span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.hz-luck b{color:var(--maroon);font-size:.98rem}
.hz-luck b a{color:var(--maroon);text-decoration:none}
.hz-luck b a:hover{text-decoration:underline}
@media(max-width:560px){.hz-lucky-grid{grid-template-columns:1fr 1fr}}

/* mantra line */
.hz-mantra{display:flex;flex-direction:column;gap:2px;border-top:1px dashed var(--edge);padding-top:.7rem;margin:.4rem 0 0}
.hz-mantra span{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.hz-mantra b{font-family:var(--serif);color:var(--maroon);font-size:1.05rem}

/* ── Yearly Ascendant Horoscope ─────────────────────────────────────────────── */
.yo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.yo-card{display:block;background:var(--panel);border:1px solid var(--edge);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);text-decoration:none;transition:transform .16s,border-color .16s}
.yo-card:hover{transform:translateY(-4px);border-color:var(--maroon)}
.yo-card__img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;background:var(--paper2)}
.yo-card__b{display:flex;flex-direction:column;padding:.7rem .9rem}
.yo-card__b b{font-family:var(--serif);color:var(--maroon);font-size:1.05rem}
.yo-card__b>span:last-child{font-size:.82rem;color:var(--muted)}
.yo-card__sym{font-family:'Segoe UI Symbol','Noto Sans Symbols',serif;color:var(--saffron)}

.yo-hero{margin:0 0 1.2rem;border-radius:16px;overflow:hidden;border:1px solid var(--edge);box-shadow:var(--shadow)}
.yo-hero img{display:block;width:100%;height:auto}
.yo-highlights{background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:1rem 1.2rem;box-shadow:var(--shadow);margin:1.2rem 0}
.yo-highlights h2{font-family:var(--serif);color:var(--maroon);font-size:1.2rem;margin:0 0 .6rem}
.yo-highlights ul{margin:0;padding-left:1.1rem;line-height:1.65;color:var(--ink2)}
.yo-highlights li{margin-bottom:.5rem}

.yo-months{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.2rem 0}
.yo-months a{display:inline-block;background:var(--panel);border:1px solid var(--edge);border-radius:999px;padding:.35rem .8rem;color:var(--maroon);font-weight:700;font-size:.82rem;text-decoration:none}
.yo-months a:hover{background:var(--maroon);color:#fff}

.yo-month{background:var(--panel);border:1px solid var(--edge);border-radius:14px;margin:0 0 .9rem;box-shadow:var(--shadow);overflow:hidden}
.yo-month>summary{display:flex;align-items:center;gap:.8rem;cursor:pointer;list-style:none;padding:1rem 1.2rem;font-family:var(--serif)}
.yo-month>summary::-webkit-details-marker{display:none}
.yo-month__n{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--maroon);color:#fff;font-size:.85rem;font-weight:700}
.yo-month__t{font-size:1.2rem;color:var(--maroon)}
.yo-month[open]>summary{border-bottom:1px solid var(--edge);background:linear-gradient(165deg,var(--panel),var(--paper2))}
.yo-month__body{padding:1rem 1.2rem 1.3rem}
.yo-month__body h3{font-family:var(--serif);color:var(--maroon);font-size:1.1rem;margin:1.3rem 0 .5rem;padding-top:.6rem;border-top:1px dashed var(--edge)}
.yo-month__body h3:first-child{border-top:0;padding-top:0;margin-top:.3rem}
.yo-month__body p{color:var(--ink);line-height:1.7;margin:0 0 .8rem}
.yo-transits{list-style:none;margin:.4rem 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.45rem}
.yo-transits li{background:var(--paper);border:1px solid var(--edge);border-radius:10px;padding:.55rem .8rem;font-size:.92rem;color:var(--ink2);line-height:1.5}
.yo-transits li b{color:var(--maroon)}
.yo-remedies{margin:.3rem 0 0;padding-left:1.3rem;line-height:1.6;color:var(--ink2)}
.yo-remedies li{margin-bottom:.5rem}
.yo-remedies li b{color:var(--maroon)}
@media(max-width:560px){.yo-month__t{font-size:1.05rem}}

/* ── Yearly / Monthly blog blocks + navs ────────────────────────────────────── */
.yo-block{margin:1.6rem 0}
.yo-block>h2{font-family:var(--serif);color:var(--maroon);font-size:1.3rem;margin:0 0 .7rem;padding-top:.9rem;border-top:1px dashed var(--edge)}
.yo-block p{color:var(--ink);line-height:1.75;margin:0 0 .9rem}
.yo-monthnav{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:1rem 0 1.4rem}
.yo-monthnav a{background:var(--panel);border:1px solid var(--edge);border-radius:999px;padding:.45rem 1rem;color:var(--maroon);font-weight:700;text-decoration:none;font-size:.9rem}
.yo-monthnav a.all{background:var(--maroon);color:#fff}
.yo-monthnav a:hover{border-color:var(--maroon)}
.yo-monthtabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.4rem}
.yo-monthtabs a{background:var(--panel);border:1px solid var(--edge);border-radius:999px;padding:.35rem .8rem;color:var(--maroon);font-weight:700;font-size:.82rem;text-decoration:none}
.yo-monthtabs a:hover,.yo-monthtabs a.on{background:var(--maroon);color:#fff}
.yo-hub-h{font-family:var(--serif);color:var(--maroon);font-size:1.4rem;margin:1.2rem 0 .9rem}
.yo-monthrow{margin:1.4rem 0;padding-top:1rem;border-top:1px dashed var(--edge)}
.yo-monthrow h3{font-family:var(--serif);color:var(--maroon);font-size:1.15rem;margin:0 0 .6rem}

/* ── Planetary transit pages ────────────────────────────────────────────────── */
.tr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.tr-card{background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:1rem 1.1rem;box-shadow:var(--shadow)}
.tr-card__head{display:flex;align-items:center;gap:.8rem;margin-bottom:.7rem}
.tr-card__med{flex:none;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 38% 32%,#f7eecb,#e7d29a);border:1px solid var(--edge)}
.tr-card__med span{font-size:1.4rem;color:var(--maroon);font-family:'Segoe UI Symbol','Noto Sans Symbols',serif}
.tr-card__head b{display:block;font-family:var(--serif);color:var(--maroon);font-size:1.1rem}
.tr-card__v{font-size:.8rem;color:var(--muted)}
.tr-years{display:flex;flex-wrap:wrap;gap:.4rem}
.tr-years a{background:var(--paper);border:1px solid var(--edge);border-radius:999px;padding:.35rem .85rem;color:var(--maroon);font-weight:700;text-decoration:none;font-size:.9rem}
.tr-years a:hover{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.tr-table th,.tr-table td{text-align:left;vertical-align:top}
.tr-table td:first-child{color:var(--muted);width:2.4rem}
.tr-vedic{color:var(--muted);font-size:.85rem}
.tr-retro{display:inline-block;background:#fdeee9;color:var(--rose);border:1px solid #f0c9bf;border-radius:999px;padding:1px 9px;font-size:.74rem;font-weight:700;margin-left:.3rem}

/* ── Reading typography — international-grade long-form (horoscope & transit blogs) ── */
.yo-block, .yo-month__body { font-family:'Lora', Georgia, 'Times New Roman', serif; }
.yo-block { max-width:44rem; margin-left:auto; margin-right:auto; }
.yo-block p, .yo-month__body p {
  font-size:1.19rem; line-height:1.85; color:#352711; margin:0 0 1.05rem; letter-spacing:.002em;
}
.yo-block > h2 { font-size:clamp(1.5rem,3.4vw,1.8rem); line-height:1.25; margin-bottom:.85rem; letter-spacing:.01em; }
.yo-month__body > h3 { font-size:1.3rem; line-height:1.3; }
.yo-transits li { font-size:1.04rem; line-height:1.7; }
.yo-remedies { font-size:1.12rem; line-height:1.8; }
.yo-remedies li { margin-bottom:.7rem; }
.yo-highlights { font-family:'Lora', Georgia, serif; }
.yo-highlights ul { font-size:1.12rem; line-height:1.85; }
/* bigger, easier lead + sub on article pages */
.ph-lead { font-size:1.22rem; line-height:1.7; }
.ph-sub { font-size:1.05rem; }
@media (max-width:560px){
  .yo-block p, .yo-month__body p { font-size:1.1rem; line-height:1.8; }
  .ph-lead { font-size:1.12rem; }
}

/* ── Reading typography for course lessons (astrology + numerology) ── */
.cx-main .ph-sec p, .cx-main .ph-lead, .cx-main .cx-takeaways li {
  font-family:'Lora', Georgia, 'Times New Roman', serif;
}
.cx-main .ph-sec p { font-size:1.13rem; line-height:1.85; color:#352711; margin:.55rem 0 .9rem; }
.cx-main .ph-sec h2 { font-size:clamp(1.3rem,3vw,1.6rem); }
.cx-main .ph-lead { font-size:1.2rem; line-height:1.75; }
.cx-main .cx-takeaways li { font-size:1.08rem; line-height:1.7; }
@media (max-width:560px){ .cx-main .ph-sec p { font-size:1.06rem; } }

/* ── Numerology calculator suite ────────────────────────────────────────────── */
.nt-form{background:var(--panel);border:1px solid var(--edge);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow);margin-bottom:18px}
.nt-fs{border:1px solid var(--edge);border-radius:12px;padding:.6rem 1rem 1rem;margin:0 0 1rem}
.nt-fs legend{font-weight:700;color:var(--maroon);padding:0 .5rem;font-family:var(--serif)}
.nt-go{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}
.nt-result{background:var(--panel);border:1px solid var(--edge);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow);margin-bottom:18px}
.nt-badges{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.nt-badge{min-width:96px;text-align:center;background:radial-gradient(circle at 40% 32%,#fff7e0,#f2cf73);border:1px solid var(--edge);border-radius:14px;padding:.7rem 1rem}
.nt-badge b{display:block;font-family:var(--serif);font-size:2rem;color:var(--maroon);line-height:1}
.nt-badge span{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.nt-result__h{font-family:var(--serif);color:var(--maroon);font-size:1.35rem;margin:.2rem 0 .7rem}
.nt-result p{font-family:'Lora',Georgia,serif;font-size:1.1rem;line-height:1.75;color:#352711;margin:0 0 .8rem}
.nt-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 .6rem}
.nt-chip{background:var(--paper);border:1px solid var(--edge);border-radius:999px;padding:.3rem .8rem;font-size:.86rem;color:var(--ink2)}
.nt-chip b{color:var(--maroon)}
.nt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.nt-tcard{display:flex;flex-direction:column;gap:.35rem;background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:1.1rem 1.2rem;box-shadow:var(--shadow);text-decoration:none;transition:transform .16s,border-color .16s}
.nt-tcard:hover{transform:translateY(-4px);border-color:var(--maroon)}
.nt-tcard__ico{font-size:1.8rem}
.nt-tcard b{font-family:var(--serif);color:var(--maroon);font-size:1.08rem}
.nt-tcard span:last-child{color:var(--ink2);font-size:.9rem;line-height:1.45}

/* ── Horoscope blog two-column layout (content + engagement sidebar) ── */
.hb-layout{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:2rem;align-items:start;max-width:1160px}
.hb-main{min-width:0}
.hb-main .yo-block{max-width:none;margin-left:0;margin-right:0}
.hb-side{position:sticky;top:84px;display:flex;flex-direction:column;gap:1rem}
.hb-widget{background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:1rem 1.1rem;box-shadow:var(--shadow)}
.hb-widget h3{font-family:var(--serif);color:var(--maroon);font-size:1.05rem;margin:0 0 .7rem}
.hb-asclist{display:flex;flex-wrap:wrap;gap:.4rem}
.hb-asclist a{font-size:.82rem;background:var(--paper);border:1px solid var(--edge);border-radius:999px;padding:.32rem .7rem;color:var(--ink);text-decoration:none}
.hb-asclist a:hover{border-color:var(--maroon);color:var(--maroon)}
.hb-asclist a.on{background:var(--maroon);color:#fff6e6;border-color:var(--maroon)}
.hb-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.hb-links a{color:var(--ink);text-decoration:none;font-size:.92rem;display:block}
.hb-links a:hover{color:var(--maroon)}
.hb-cta{background:linear-gradient(160deg,var(--panel),var(--paper2));text-align:center}
.hb-cta p{font-size:.9rem;color:var(--ink2);margin:0 0 .8rem;line-height:1.5}
@media(max-width:1000px){.hb-layout{grid-template-columns:1fr}.hb-side{position:static;flex-direction:row;flex-wrap:wrap}.hb-widget{flex:1 1 240px}}

/* ── transit rasi chart ── */
.hb-chartcard{margin:1.2rem 0;background:var(--panel);border:1px solid var(--edge);border-radius:16px;padding:1.1rem 1.2rem;box-shadow:var(--shadow);text-align:center}
.hb-chartcard figcaption{font-family:var(--serif);color:var(--maroon);font-size:1.1rem;margin:0 0 .7rem}
.hb-chart{max-width:360px;margin:0 auto}
.hb-chart svg.rasi-chart{width:100%;height:auto;display:block;border-radius:10px}
.hb-chartlegend{font-size:.8rem;color:var(--muted);line-height:1.5;margin:.8rem 0 0}

/* ── Lesson hero illustration ── */
.lx-banner{margin:0 0 1.3rem}
.lx-banner svg.lx-art{width:100%;height:auto;display:block;border-radius:14px;box-shadow:var(--shadow)}

/* ── Q&A Forum (/answers) ─────────────────────────────────────────────── */
.fx-bar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0 0 1.25rem}
.fx-search{display:flex;gap:.5rem;flex:1 1 320px;min-width:0}
.fx-search input{flex:1 1 auto;min-width:0;padding:.7rem .9rem;border:1px solid var(--edge);border-radius:var(--r);background:var(--panel);color:var(--ink);font:inherit}
.fx-search input:focus{outline:2px solid var(--maroon);outline-offset:1px}
.fx-ask{white-space:nowrap}
.fx-resultnote{margin:.25rem 0 1rem;color:var(--muted);font-size:.95rem}
.fx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}
.fx-card{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-lg);padding:1rem 1.15rem;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.fx-card:hover{border-color:var(--maroon);transform:translateY(-1px)}
.fx-card__t{display:block;font-family:var(--serif);font-size:1.2rem;line-height:1.35;color:var(--maroon);text-decoration:none;font-weight:600}
.fx-card__t:hover{text-decoration:underline}
.fx-card__x{margin:.4rem 0 .55rem;color:var(--ink2);font-size:.97rem;line-height:1.55}
.fx-card__m{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:0;font-size:.85rem;color:var(--muted)}
.fx-ans{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border:1px solid var(--edge);border-radius:999px;background:var(--paper2)}
.fx-ans.has{color:var(--maroon);border-color:var(--maroon)}
.fx-by{margin-left:auto}
.fx-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;border-radius:999px;background:var(--maroon);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.01em}
.fx-pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.5rem 0 .5rem;font-size:.95rem}
.fx-pager a{color:var(--maroon);text-decoration:none;font-weight:600;padding:.4rem .8rem;border:1px solid var(--edge);border-radius:var(--r)}
.fx-pager a:hover{background:var(--paper2)}
.fx-pager .off{color:var(--muted);opacity:.5;padding:.4rem .8rem}
.fx-pager__n{color:var(--muted)}
.fx-empty{padding:1.25rem;text-align:center;color:var(--muted);background:var(--paper2);border:1px dashed var(--edge);border-radius:var(--r-lg)}
.fx-empty a{color:var(--maroon);font-weight:600}

/* thread page */
.fx-qtitle{font-size:clamp(1.4rem,3.4vw,2rem);line-height:1.25}
.fx-q{background:var(--paper2);border:1px solid var(--edge);border-left:4px solid var(--maroon);border-radius:var(--r-lg);padding:1.1rem 1.25rem;margin:0 0 1.25rem;font-family:var(--serif);font-size:1.08rem;line-height:1.7;color:var(--ink)}
.fx-q p{margin:0 0 .7rem}.fx-q p:last-child{margin:0}
.fx-ansh{font-family:var(--serif);color:var(--maroon);margin:1.5rem 0 1rem;padding-bottom:.4rem;border-bottom:2px solid var(--edge)}
.fx-answers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}
.fx-answer{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-lg);padding:1.1rem 1.25rem;box-shadow:var(--shadow)}
.fx-answer.is-expert{border-color:var(--maroon);background:linear-gradient(0deg,var(--panel),var(--paper2))}
.fx-answer__h{display:flex;align-items:center;gap:.6rem;margin:0 0 .6rem;flex-wrap:wrap}
.fx-avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--paper3,var(--paper2));color:var(--maroon);font-weight:700;border:1px solid var(--edge)}
.fx-avatar.is-expert{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.fx-answer__by{font-weight:600;color:var(--ink)}
.fx-answer__d{color:var(--muted);font-size:.85rem;margin-left:auto}
.fx-answer__b{font-size:1.02rem;line-height:1.72;color:var(--ink2)}
.fx-answer__b p{margin:0 0 .7rem}.fx-answer__b p:last-child{margin:0}
.fx-reply{margin:1.75rem 0 1rem;background:var(--paper2);border:1px solid var(--edge);border-radius:var(--r-lg);padding:1.1rem 1.25rem}
.fx-reply h3{font-family:var(--serif);color:var(--maroon);margin:0 0 .75rem}
.fx-login{margin:0;color:var(--ink2)}.fx-login a{color:var(--maroon);font-weight:600}
.fx-form .aa-field{display:block;margin:0 0 .9rem}
.fx-form .aa-field span{display:block;margin:0 0 .35rem;font-weight:600;color:var(--ink)}
.fx-form .aa-field em{color:var(--muted);font-weight:400;font-style:normal}
.fx-form input[type=text],.fx-form textarea{width:100%;box-sizing:border-box;padding:.7rem .9rem;border:1px solid var(--edge);border-radius:var(--r);background:var(--panel);color:var(--ink);font:inherit;line-height:1.6}
.fx-form input:focus,.fx-form textarea:focus{outline:2px solid var(--maroon);outline-offset:1px}
.fx-note{margin:.6rem 0 0;font-size:.85rem;color:var(--muted)}
.fx-related{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.fx-related a{color:var(--maroon);text-decoration:none}.fx-related a:hover{text-decoration:underline}
.fx-cta{margin:1.75rem 0 .5rem;padding:1.25rem;text-align:center;background:var(--paper2);border:1px solid var(--edge);border-radius:var(--r-lg)}
.fx-cta p{margin:0 0 .75rem;font-family:var(--serif);font-size:1.1rem;color:var(--ink)}
.fx-mod{margin:.4rem 0 0}
.fx-del{background:transparent;border:1px solid var(--edge);color:var(--muted);font-size:.8rem;padding:.25rem .6rem;border-radius:var(--r);cursor:pointer}
.fx-del:hover{border-color:#b3261e;color:#b3261e}
@media (max-width:560px){.fx-ask{flex:1 1 100%;text-align:center}.fx-by{margin-left:0;width:100%}}

/* ── CAPTCHA + honeypot (security) ───────────────────────────────────── */
.hp-field{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
.cap-block{margin:.25rem 0 1rem}
.cap-block>label{display:block;margin:0 0 .4rem;font-weight:600;color:var(--ink,#2b2118)}
.cap-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.cap-svg{display:inline-flex;line-height:0;border-radius:8px;overflow:hidden;flex:0 0 auto}
.cap-svg svg{display:block}
.cap-row input{flex:1 1 130px;min-width:0;padding:.65rem .8rem;border:1px solid var(--edge,#e3d2ad);border-radius:var(--r,8px);background:var(--panel,#fff);color:var(--ink,#2b2118);font:inherit;letter-spacing:.18em;text-transform:uppercase}
.cap-row input:focus{outline:2px solid var(--maroon,#7a241a);outline-offset:1px}
