/* Bhagya Jyothi final shared design layer. Keep page CSS for layout only. */
:root {
  --bj-ink: #2b241b;
  --bj-muted: #746957;
  --bj-paper: #fffaf1;
  --bj-paper-deep: #f2e6d2;
  --bj-line: rgba(104, 75, 36, .18);
  --bj-gold: #ae7828;
  --bj-shadow: 0 18px 42px rgba(87, 60, 28, .12);
}
html { background: #f4ecdf; }
body, body.parchment-theme {
  background: linear-gradient(180deg, #fbf7ef 0%, #f0e4d2 100%) !important;
  color: var(--bj-ink) !important;
  font-family: Inter, system-ui, sans-serif !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  height: auto !important;
  min-height: 100%;
}
html { height: auto !important; min-height: 100%; overflow-x: clip !important; overflow-y: auto !important; }
body.parchment-theme main,
body.parchment-theme section,
body.parchment-theme .section-shell {
  height: auto;
  max-height: none;
  overflow-y: visible;
}
body.parchment-theme .birth-results,
body.parchment-theme .results-shell {
  scroll-margin-top: 72px;
}
body.parchment-theme,
body.parchment-theme h1,
body.parchment-theme h2,
body.parchment-theme h3,
body.parchment-theme h4,
body.parchment-theme h5,
body.parchment-theme h6,
body.parchment-theme p,
body.parchment-theme a,
body.parchment-theme button,
body.parchment-theme input,
body.parchment-theme select,
body.parchment-theme textarea,
body.parchment-theme label,
body.parchment-theme table {
  font-family: Inter, system-ui, sans-serif !important;
}
body.parchment-theme .site-header,
body.parchment-theme .top {
  background: rgba(255, 250, 241, .96) !important;
  border: 1px solid var(--bj-line) !important;
  box-shadow: 0 8px 24px rgba(87, 60, 28, .08) !important;
}
body.parchment-theme .brand,
body.parchment-theme .brand strong { color: var(--bj-ink) !important; }
body.parchment-theme .brand small { color: var(--bj-gold) !important; }
body.parchment-theme .nav a { color: var(--bj-ink) !important; }
body.parchment-theme .nav a:hover { color: var(--bj-gold) !important; }
body.parchment-theme h1,
body.parchment-theme h2,
body.parchment-theme h3,
body.parchment-theme h4 { color: var(--bj-ink) !important; }
body.parchment-theme p,
body.parchment-theme label,
body.parchment-theme .muted { color: var(--bj-muted); }
body.parchment-theme .hero h1 { font-size: clamp(42px, 5vw, 72px) !important; line-height: 1.02 !important; }
body.parchment-theme .section-heading h2,
body.parchment-theme .chart-panel h2,
body.parchment-theme .moon-copy h2,
body.parchment-theme .newsletter h2 { font-size: clamp(30px, 3.5vw, 48px) !important; line-height: 1.08 !important; }
body.parchment-theme .hero-card,
body.parchment-theme .hero-copy,
body.parchment-theme .hero-chart,
body.parchment-theme .chart-panel,
body.parchment-theme .mini-chart,
body.parchment-theme .horoscope-card,
body.parchment-theme .compatibility-card,
body.parchment-theme .consultation-panel,
body.parchment-theme .package-card,
body.parchment-theme .south-card,
body.parchment-theme .prediction-panel,
body.parchment-theme .planet-table-card,
body.parchment-theme .aspect-card,
body.parchment-theme .house-card,
body.parchment-theme .seo-card,
body.parchment-theme .faq-card,
body.parchment-theme .journal-card,
body.parchment-theme .portal-card {
  box-shadow: var(--bj-shadow) !important;
}
body.parchment-theme .hero-card,
body.parchment-theme .hero-copy,
body.parchment-theme .chart-panel,
body.parchment-theme .mini-chart,
body.parchment-theme .horoscope-card,
body.parchment-theme .compatibility-card,
body.parchment-theme .consultation-panel,
body.parchment-theme .package-card,
body.parchment-theme .south-card,
body.parchment-theme .prediction-panel,
body.parchment-theme .planet-table-card,
body.parchment-theme .aspect-card,
body.parchment-theme .house-card,
body.parchment-theme .seo-card,
body.parchment-theme .faq-card,
body.parchment-theme .journal-card,
body.parchment-theme .portal-card { border-color: var(--bj-line) !important; }
body.parchment-theme .btn,
body.parchment-theme button[type="submit"] { min-height: 42px; font-family: inherit !important; }
body.parchment-theme input,
body.parchment-theme select,
body.parchment-theme textarea { max-width: 100%; box-sizing: border-box !important; }
.mobile-nav-toggle { display: none; }
.nav-toggle { display: none !important; }
body.focused-page .sign-btn {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  min-height: 104px;
  padding: 14px !important;
}
body.focused-page .sign-btn b { grid-row: 1 / span 2; align-self: start; margin: 0 !important; }
body.focused-page .sign-btn span { display: block !important; min-width: 0; line-height: 1.25; }
body.focused-page .sign-btn span:first-of-type { font-weight: 700; color: var(--bj-ink); }
body.focused-page .sign-btn span:last-of-type { color: var(--bj-muted); font-size: 11px; }
@media (max-width: 700px) {
  body.parchment-theme .site-header,
  body.parchment-theme .top { width: calc(100% - 24px) !important; margin: 8px auto 0 !important; padding: 8px 10px !important; min-height: 50px; }
  body.parchment-theme .brand { min-width: 0; font-size: 18px !important; }
  body.parchment-theme .brand-text { min-width: 0; }
  body.parchment-theme .brand-text strong { white-space: nowrap; }
  body.parchment-theme .mobile-nav-toggle { display: inline-flex !important; flex: 0 0 36px; width: 36px; height: 34px; padding: 7px; flex-direction: column; justify-content: center; gap: 4px; border: 1px solid var(--bj-line); border-radius: 9px; background: var(--bj-paper) !important; color: var(--bj-ink); }
  body.parchment-theme .mobile-nav-toggle span { display: block; width: 18px; height: 2px; margin: 0 auto; border-radius: 2px; background: var(--bj-ink); }
  body.parchment-theme .site-header .nav,
  body.parchment-theme .top .nav { display: none !important; }
  body.parchment-theme .site-header .nav.mobile-open,
  body.parchment-theme .top .nav.mobile-open { display: grid !important; position: absolute !important; top: calc(100% + 8px) !important; left: 0 !important; right: 0 !important; z-index: 40 !important; gap: 4px !important; padding: 10px !important; background: var(--bj-paper) !important; border: 1px solid var(--bj-line) !important; border-radius: 14px !important; box-shadow: var(--bj-shadow) !important; }
  body.parchment-theme .site-header .nav.mobile-open a,
  body.parchment-theme .top .nav.mobile-open a { display: block !important; width: 100% !important; padding: 10px 12px !important; font-size: 13px !important; }
  body.parchment-theme .hero { min-height: auto !important; padding: 30px 0 24px !important; gap: 20px !important; }
  body.parchment-theme .hero h1 { font-size: clamp(36px, 10vw, 48px) !important; }
  body.parchment-theme .content-section { padding: 36px 0 !important; }
  body.parchment-theme .section-heading { margin-bottom: 16px !important; }
  body.parchment-theme .section-heading h2,
  body.parchment-theme .chart-panel h2,
  body.parchment-theme .moon-copy h2,
  body.parchment-theme .newsletter h2 { font-size: 28px !important; }
  body.parchment-theme .hero-chart .chart-panel,
  body.parchment-theme .chart-panel,
  body.parchment-theme .consultation-panel,
  body.parchment-theme .package-card { padding: 16px !important; }
  body.parchment-theme .site-footer { padding: 24px 0 36px !important; }
}

/* Keep feature-page labels and titles out of the oversized landing-page scale. */
body.parchment-theme .birth-chart-page .hero-kicker h1.eyebrow {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: .18em !important;
}
body.parchment-theme.kundli-page .section-page-title {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: clamp(30px, 3.2vw, 44px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}
@media (max-width: 700px) {
  body.parchment-theme.kundli-page .section-page-title {
    font-size: 30px !important;
    line-height: 1.1 !important;
  }
}

/* All public routes use the same light parchment surface. Page styles may
   still define geometry, but they must not reintroduce the retired navy UI. */
body.parchment-theme .hero-card,
body.parchment-theme .hero-copy,
body.parchment-theme .chart-panel,
body.parchment-theme .mini-chart,
body.parchment-theme .natal-wheel-card,
body.parchment-theme .horoscope-card,
body.parchment-theme .compatibility-card,
body.parchment-theme .consultation-panel,
body.parchment-theme .package-card,
body.parchment-theme .south-card,
body.parchment-theme .prediction-panel,
body.parchment-theme .planet-table-card,
body.parchment-theme .aspect-card,
body.parchment-theme .house-card,
body.parchment-theme .seo-card,
body.parchment-theme .faq-card,
body.parchment-theme .journal-card,
body.parchment-theme .portal-card,
body.parchment-theme .newsletter {
  background: linear-gradient(180deg, rgba(255,250,241,.98), rgba(245,232,210,.98)) !important;
  color: var(--bj-ink) !important;
}
body.parchment-theme .horoscope-card p,
body.parchment-theme .horoscope-card .muted,
body.parchment-theme .compatibility-card p,
body.parchment-theme .natal-wheel-card p,
body.parchment-theme .south-card p,
body.parchment-theme .prediction-panel p,
body.parchment-theme .package-card p,
body.parchment-theme .consultation-panel p,
body.parchment-theme .seo-card p,
body.parchment-theme .faq-card p,
body.parchment-theme .journal-card p,
body.parchment-theme .newsletter p {
  color: var(--bj-muted) !important;
}
body.parchment-theme .sign-btn,
body.parchment-theme .chart-view-tabs span,
body.parchment-theme .moon-phases span {
  color: var(--bj-ink) !important;
  background: rgba(255,250,241,.72) !important;
}
body.parchment-theme .natal-wheel-card,
body.parchment-theme .south-chart {
  border-color: var(--bj-line) !important;
  background: linear-gradient(180deg, #fffaf1, #f2e6d2) !important;
}
body.parchment-theme .south-cell {
  border-color: var(--bj-line) !important;
}
body.parchment-theme .south-cell .s-planets,
body.parchment-theme .chart-planet {
  color: var(--bj-ink) !important;
}
body.parchment-theme .planet-row,
body.parchment-theme .planet-sign,
body.parchment-theme .planet-house {
  color: var(--bj-ink) !important;
  border-color: var(--bj-line) !important;
}

@media (min-width: 360px) and (max-width: 700px) {
  body.parchment-theme .birth-chart-page .chart-form,
  body.parchment-theme #birth-chart.hero-chart .chart-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  body.parchment-theme .birth-chart-page .chart-form label:first-child,
  body.parchment-theme .birth-chart-page .chart-form label:nth-of-type(4),
  body.parchment-theme #birth-chart.hero-chart .chart-form label:first-child,
  body.parchment-theme #birth-chart.hero-chart .chart-form label:nth-of-type(4),
  body.parchment-theme .birth-chart-page .chart-form button,
  body.parchment-theme #birth-chart.hero-chart .chart-form button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  body.parchment-theme .birth-chart-page .chart-form,
  body.parchment-theme #birth-chart.hero-chart .chart-form {
    gap: 10px;
  }
  body.parchment-theme .birth-chart-page .chart-form label,
  body.parchment-theme #birth-chart.hero-chart .chart-form label {
    font-size: 12px;
  }
  body.parchment-theme .zodiac-compatibility-page .content-section,
  body.parchment-theme.focused-page:has(#signA) .content-section {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
  body.parchment-theme.focused-page:has(#signA) .section-heading {
    margin-bottom: 20px !important;
  }
  body.parchment-theme.focused-page:has(#signA) .section-heading h1 {
    font-size: 28px !important;
    line-height: 1.08 !important;
  }
  body.parchment-theme.focused-page:has(#signA) .compatibility-card {
    padding: 16px !important;
    gap: 12px !important;
  }
  body.parchment-theme.focused-page:has(#signA) .compatibility-card .btn {
    width: 100%;
  }
  body.parchment-theme.focused-page:has(#signA) .match-result {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  body.parchment-theme.focused-page:has(#signA) .match-score {
    font-size: 44px;
  }
  body.parchment-theme.panchang-page .hero-card-top {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.parchment-theme.panchang-page .hero-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Keep narrow content inside its component at tablet and phone widths. */
body.parchment-theme.panchang-page .summary-section,
body.parchment-theme.panchang-page .table-shell,
body.parchment-theme.panchang-page .results {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.parchment-theme.panchang-page .quick-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}
body.parchment-theme.panchang-page .quick-table th,
body.parchment-theme.panchang-page .quick-table td {
  min-width: 0 !important;
  overflow-wrap: anywhere;
  word-break: normal;
}
body.parchment-theme.kundli-page .match-form-shell,
body.parchment-theme.kundli-page .match-hero {
  box-sizing: border-box !important;
  min-width: 0 !important;
}
body.parchment-theme .moon-disc-wrap {
  overflow: clip;
}
body.parchment-theme.focused-page .sign-btn span {
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  body.parchment-theme.kundli-page .site-header,
  body.parchment-theme.kundli-page .site-footer {
    box-sizing: border-box !important;
  }
}
@media (max-width: 340px) {
  body.parchment-theme.panchang-page .brand-text {
    min-width: 0 !important;
  }
  body.parchment-theme.panchang-page .brand-text small {
    display: none !important;
  }
}
@media (max-width: 700px) {
  body.parchment-theme.panchang-page .wrap {
    width: 100% !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }
  body.parchment-theme.panchang-page .wrap > .site-header,
  body.parchment-theme.panchang-page .wrap > .hero,
  body.parchment-theme.panchang-page .wrap > .summary-section,
  body.parchment-theme.panchang-page .wrap > .site-footer {
    width: 100% !important;
  }
  body.parchment-theme.panchang-page .hero-card h1 {
    font-size: 28px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }
  body.parchment-theme.panchang-page .hero-card h2 {
    font-size: 20px !important;
    line-height: 1.15 !important;
  }
}

/* Generated charts must shrink with their grid column instead of contributing
   the desktop South Indian chart's minimum-content width on phones. */
body.parchment-theme .birth-chart-page .hero-chart,
body.parchment-theme .birth-chart-page .natal-layout,
body.parchment-theme .birth-chart-page .chart-panel,
body.parchment-theme .birth-chart-page .birth-results,
body.parchment-theme .birth-chart-page .birth-grid,
body.parchment-theme .birth-chart-page .big-three,
body.parchment-theme .birth-chart-page .vedic-block,
body.parchment-theme .birth-chart-page .south-card,
body.parchment-theme .birth-chart-page .prediction-panel {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.parchment-theme #birth-chart.hero-chart,
body.parchment-theme #birth-chart.hero-chart .natal-layout,
body.parchment-theme #birth-chart.hero-chart .chart-panel,
body.parchment-theme #birth-chart.hero-chart .birth-results,
body.parchment-theme #birth-chart.hero-chart .birth-grid,
body.parchment-theme #birth-chart.hero-chart .big-three,
body.parchment-theme #birth-chart.hero-chart .vedic-block,
body.parchment-theme #birth-chart.hero-chart .south-card,
body.parchment-theme #birth-chart.hero-chart .prediction-panel {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* One shared page shell for every public parchment route. */
body.parchment-theme > .wrap {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.parchment-theme .site-header {
  width: 100% !important;
  min-height: 76px;
  margin: 18px auto 0 !important;
  padding: 14px 18px !important;
  box-sizing: border-box !important;
  border-radius: 18px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  height: 76px !important;
}
body.parchment-theme .site-header .brand {
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
  font-size: 24px !important;
}
body.parchment-theme .site-header .nav {
  flex: 0 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px !important;
  white-space: nowrap;
}
body.parchment-theme .site-header .brand-mark { flex: 0 0 46px; width: 46px !important; height: 46px !important; }
body.parchment-theme .site-header .brand-text { width: 180px; min-width: 0; overflow: hidden; }
body.parchment-theme .site-header .brand-text strong,
body.parchment-theme .site-header .brand-text small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.parchment-theme .site-header .nav { height: 40px !important; flex-wrap: nowrap !important; align-items: center !important; }
body.parchment-theme .site-header .nav a { height: 40px !important; box-sizing: border-box !important; }
body.parchment-theme .site-footer { font-family: Inter, system-ui, sans-serif !important; font-size: 12px !important; }
body.parchment-theme .site-footer {
  width: 100% !important;
  box-sizing: border-box !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  padding: 30px 0 60px !important;
  gap: 25px !important;
}
body.parchment-theme > .site-header,
body.parchment-theme > .site-footer {
  width: min(1180px, calc(100% - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.parchment-theme > main > .site-footer {
  width: min(1180px, calc(100% - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 700px) {
  body.parchment-theme > .wrap {
    width: calc(100% - 24px) !important;
  }
  body.parchment-theme .site-header {
    min-height: 52px;
    height: 52px !important;
    margin: 8px auto 0 !important;
    padding: 8px 10px !important;
    gap: 10px !important;
    border-radius: 13px !important;
  }
  body.parchment-theme .site-header .brand {
    flex: 1 1 auto;
    font-size: 16px !important;
    overflow: hidden;
  }
  body.parchment-theme .site-header .brand-mark { flex-basis: 32px; width: 32px !important; height: 32px !important; }
  body.parchment-theme .site-header .brand-text { width: auto; }
  body.parchment-theme .site-header .brand-text { min-width: 0; overflow: hidden; }
  body.parchment-theme .site-header .brand-text small { display: none !important; }
  body.parchment-theme .site-header .nav {
    flex: 0 0 auto;
  }
  body.parchment-theme .site-footer {
    grid-template-columns: 1fr !important;
    padding: 24px 0 36px !important;
    gap: 12px !important;
  }
  body.parchment-theme > .site-header,
  body.parchment-theme > .site-footer {
    width: calc(100% - 24px) !important;
  }
  body.parchment-theme > main > .site-footer {
    width: calc(100% - 24px) !important;
  }
}


/* Live chart planets follow the KP lord-chain palette. */
body.parchment-theme .live-kundli-card .chart-planet { color: #7f622f !important; background: none !important; border: 0 !important; box-shadow: none !important; font-size: 11px !important; padding: 3px 5px !important; }
body.parchment-theme .live-kundli-card .chart-planet b { color: #b8893b !important; }
@media (max-width: 600px) { body.parchment-theme .live-kundli-card .chart-planet { font-size: 10px !important; padding: 2px 4px !important; } }



/* Generated chart abbreviations use the Live Chart readable scale. */
body.parchment-theme #birthChartResults .chart-planet { color: #7f622f !important; background: none !important; border: 0 !important; box-shadow: none !important; font-size: 11px !important; padding: 3px 5px !important; }
@media (max-width: 600px) { body.parchment-theme #birthChartResults .chart-planet { font-size: 10px !important; padding: 2px 4px !important; } }
