/* OnlineJyotish website theme: maroon, saffron and ivory.
   Screen only (see site-theme-head.php). Literal colours and ordinary selectors
   are the baseline; neither JavaScript nor CSS variables are required.
   Keep chart cells/SVGs, result status colours and compact form geometry intact. */
/* The legacy menu makes BODY a viewport-height scroller below 1024px.
   Retaining a desktop document scroll offset then moves that entire box off
   screen. Keep one document scroller at every width, including without JS. */
html { height: auto; min-height: 100%; overflow-x: hidden; overflow-y: auto; }
body.oj-site-theme { height: auto; min-height: 100%; overflow: visible; background: #fff8e9; color: #362e2b; line-height: 1.8; }
body.oj-site-theme .swichermainbx { max-width: 1180px; margin: 1rem auto; padding: 0; background: transparent; border: 0; box-shadow: none; }
/* Keep the main content's real height when navigating to an off-screen section. */
body.oj-site-theme .main { content-visibility: visible; box-sizing: border-box; width: auto; max-width: 1180px; margin: 1.25rem auto; padding: 1.25rem; color: #362e2b; background: #fffdf9; border: 1px solid #dcc8a5; border-radius: 12px; box-shadow: 0 3px 12px rgba(84,35,40,.04); }
body.oj-site-theme .main.oj-page-refresh { background: transparent; border: 0; box-shadow: none; padding: 0 12px; }
body.oj-site-theme .section-heading-page { margin: 1.25rem 0; padding: 1.25rem .75rem; background: #fffdf7; border: 1px solid #dcc8a5; border-top: 3px solid #bd7620; border-radius: 12px; }
body.oj-site-theme .section-heading-page h1,
body.oj-site-theme .section-heading-page .oj-page-title { color: #542328; background: none; border: 0; font-size: 2rem; font-weight: 700; line-height: 1.45; text-align: left; margin: 0 0 .65rem; padding: 0; word-wrap: break-word; }
body.oj-site-theme .section-heading-page p { margin-bottom: .5rem; }
body.oj-site-theme .section-heading-page .breadcrumb { padding: .4rem 0; margin: 0; background: transparent; font-size: .9rem; }
body.oj-site-theme .swichermainbx h1,
body.oj-site-theme .main h1 { color: #542328; background: none; border: 0; padding: 0; line-height: 1.45; text-align: left; }
body.oj-site-theme .swichermainbx h2,
body.oj-site-theme .main h2 { color: #542328; background: none; border: 0; border-radius: 0; padding: 0; margin: 1.6rem 0 .85rem; font-size: 1.6rem; font-weight: 700; line-height: 1.5; text-align: left; }
body.oj-site-theme .swichermainbx h3,
body.oj-site-theme .main h3 { color: #542328; background: none; border: 0; padding: 0; margin: 1.25rem 0 .65rem; font-size: 1.2rem; font-weight: 700; line-height: 1.55; text-align: left; }
/* Older language styles use !important for paragraph alignment. */
html body.oj-site-theme .oj-page-refresh p,
html body.oj-site-theme .main p,
html body.oj-site-theme .swichermainbx p { text-align: justify !important; text-align-last: start; line-height: 1.8; word-spacing: normal; letter-spacing: normal; word-wrap: break-word; overflow-wrap: break-word; }
body.oj-site-theme .main .row > *,
body.oj-site-theme .swichermainbx .row > * { min-width: 0; }
body.oj-site-theme .main img { max-width: 100%; height: auto; }
body.oj-site-theme .main a:not(.btn):not(.btn-tool):not(.btn-featured):not(.active):not([aria-current="page"]):not([aria-selected="true"]):not([aria-pressed="true"]),
body.oj-site-theme .section-heading-page a { color: #702635; }
body.oj-site-theme .main a:not(.btn):not(.btn-tool):not(.btn-featured):not(.active):not([aria-current="page"]):not([aria-selected="true"]):not([aria-pressed="true"]):hover { color: #542328; }
body.oj-site-theme .main a:focus,
body.oj-site-theme .main button:focus,
body.oj-site-theme .main input:focus,
body.oj-site-theme .main select:focus,
body.oj-site-theme .main textarea:focus,
body.oj-site-theme .swichermainbx summary:focus { outline: 3px solid #17638c; outline-offset: 3px; }
body.oj-site-theme .main [id] { scroll-margin-top: 90px; }

/* Forms: presentation only; retain native controls, validation and field sizes. */
body.oj-site-theme .swichermainbx form,
body.oj-site-theme .main form { background: #fffaf0; border: 1px solid #dcc8a5; border-radius: 8px; padding: 1rem; }
body.oj-site-theme .main .form-control,
body.oj-site-theme .main .form-select,
body.oj-site-theme .swichermainbx .form-control,
body.oj-site-theme .swichermainbx .form-select { background-color: #fff; color: #362e2b; border-color: #bda984; border-radius: 6px; font-size: 16px; min-height: 44px; max-width: 100%; }
body.oj-site-theme .main .form-control[readonly],
body.oj-site-theme .main .form-control:disabled { background-color: #f3eee5; color: #62584e; }
body.oj-site-theme .main .btn,
body.oj-site-theme .swichermainbx .btn { min-height: 44px; white-space: normal; line-height: 1.65; border-radius: 7px; }
body.oj-site-theme .main .btn-primary,
body.oj-site-theme .swichermainbx .btn-primary,
body.oj-site-theme .main .btn-tool,
body.oj-site-theme .main input[type="submit"] { background: #702635; border: 1px solid #702635; color: #fff; min-height: 44px; padding: .55rem 1rem; border-radius: 7px; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease; }
/* The old global stylesheet marks primary button colours !important. */
body.oj-site-theme .main .btn-primary,
body.oj-site-theme .swichermainbx .btn-primary { background: #702635 !important; border-color: #702635 !important; box-shadow: none; }
body.oj-site-theme .main .btn-primary:hover,
body.oj-site-theme .swichermainbx .btn-primary:hover { background: #542328 !important; border-color: #542328 !important; }
body.oj-site-theme .main .btn-primary:hover,
body.oj-site-theme .swichermainbx .btn-primary:hover,
body.oj-site-theme .main .btn-tool:hover,
body.oj-site-theme .main input[type="submit"]:hover { background: #542328; border-color: #542328; color: #fff; }
body.oj-site-theme .main .btn-outline-primary { color: #702635; border-color: #702635; background: #fffdf7; }
body.oj-site-theme .main .btn-outline-primary:hover { background: #f5e5c9; color: #542328; }
/* .btn-success, .btn-danger, alerts and coloured report cells retain meaning. */
/* Filled selections must keep the matching foreground, including nested labels. */
html body.oj-site-theme .main .oj-monthly-signs a[aria-current="page"],
html body.oj-site-theme .main .nav-pills .nav-link.active,
html body.oj-site-theme .main .nav-pills .nav-link[aria-selected="true"],
html body.oj-site-theme .main .btn-primary,
html body.oj-site-theme .main .btn-outline-primary.active,
html body.oj-site-theme .main .btn-outline-primary[aria-pressed="true"],
html body.oj-site-theme .main .btn-check:checked + .btn-outline-primary,
html body.oj-site-theme .main .pagination .active > .page-link {
 background: #702635 !important; border-color: #702635 !important; color: #fff !important;
}
html body.oj-site-theme .main .oj-monthly-signs a[aria-current="page"] span,
html body.oj-site-theme .main .nav-pills .nav-link.active span,
html body.oj-site-theme .main .nav-pills .nav-link[aria-selected="true"] span,
html body.oj-site-theme .main .btn-primary span,
html body.oj-site-theme .main .btn-outline-primary.active span,
html body.oj-site-theme .main .btn-outline-primary[aria-pressed="true"] span,
html body.oj-site-theme .main .btn-check:checked + .btn-outline-primary span { color: inherit !important; }
body.oj-site-theme .main .table-responsive,
body.oj-site-theme .main .oj-free-table { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.oj-site-theme .main .card { background-color: #fffdf9; border-color: #dcc8a5; border-radius: 10px; }
body.oj-site-theme .main .card-header,
body.oj-site-theme .main .card-footer { background-color: #fbf3e5; border-color: #eadbc1; }
body.oj-site-theme .main .card-title { color: #542328 !important; }
body.oj-site-theme .main .card h2,
body.oj-site-theme .main .card h3 { margin-top: .35rem; }
body.oj-site-theme .main .oj-language-guide { background: #fffaf0; border-color: #bd7620; }
body.oj-site-theme .main .oj-language-report-grid > article { background: #fffdf7; border-color: #dcc8a5; }
body.oj-site-theme .main .oj-language-report-grid a { border-color: #dcc8a5; }
/* Selected/hovered language and sample links need light text on their fill;
   override the general content-link colour above, including on keyboard focus. */
body.oj-site-theme .main .jk-lang-links a.active,
body.oj-site-theme .main .jk-lang-links a:hover,
body.oj-site-theme .main .jk-lang-links a:focus,
body.oj-site-theme .main .jk-sample-link:hover,
body.oj-site-theme .main .jk-sample-link:focus { color: #fff !important; background: #702635; border-color: #702635; }
body.oj-site-theme .oj-free-nav [aria-current="page"] { background: #f5e5c9; color: #542328; }
body.oj-site-theme .oj-style-help-hero { background: #fffdf7; border-color: #dcc8a5; border-top: 3px solid #bd7620; border-radius: 12px; box-shadow: none; }
body.oj-site-theme .oj-style-help-hero h1,
body.oj-site-theme .oj-style-card h2 { color: #542328; }
body.oj-site-theme .oj-style-card { background: #fffdf9; border-color: #dcc8a5; border-radius: 10px; }
body.oj-site-theme .oj-style-back a { background: #702635; color: #fff; border-radius: 7px; min-height: 44px; }
body.oj-site-theme .oj-style-back a:focus { outline: 3px solid #17638c; outline-offset: 3px; }

/* Directory families and service content share the approved card treatment. */
body.oj-site-theme .oj-hi-hub, body.oj-site-theme .oj-bn,
body.oj-site-theme .oj-horo-page {
 --p:#702635; --pd:#542328; --o:#bd7620; --g:#bd7620; --m:#62584e; --b:#dcc8a5; --s:#fffaf0;
 --oj-h-orange:#bd7620; --oj-h-orange-dark:#542328; --oj-h-purple:#702635; --oj-h-gold:#bd7620; --oj-h-muted:#62584e; --oj-h-border:#dcc8a5; --oj-h-soft:#fffaf0;
}
body.oj-site-theme .ojw { --ojw-ink:#362e2b; --ojw-muted:#62584e; --ojw-accent:#702635; --ojw-line:#dcc8a5; }
body.oj-site-theme .oj-hi-card, body.oj-site-theme .oj-bn-card,
body.oj-site-theme .oj-index-card, body.oj-site-theme .oj-index-feature,
body.oj-site-theme .oj-hub-card, body.oj-site-theme .oj-or-home article,
body.oj-site-theme .tool-card, body.oj-site-theme .oj-h-card,
body.oj-site-theme .oj-h-guide-card, body.oj-site-theme .oj-h-form,
body.oj-site-theme .ojw-index-card, body.oj-site-theme .ojw-topics > section,
body.oj-site-theme .oj-pr-intro, body.oj-site-theme .oj-pr-aside section,
body.oj-site-theme .jk-answer-card, body.oj-site-theme .jk-order-card {
 background: #fffdf9; border: 1px solid #dcc8a5; border-radius: 10px; color: #362e2b;
 box-shadow: 0 3px 12px rgba(84,35,40,.04); transition: border-color 160ms ease, box-shadow 160ms ease;
}
body.oj-site-theme .oj-hi-card:hover, body.oj-site-theme .oj-bn-card:hover,
body.oj-site-theme .oj-index-card:hover, body.oj-site-theme .oj-hub-card:hover,
body.oj-site-theme .tool-card:hover { transform: none; border-color: #a87735; box-shadow: 0 5px 16px rgba(84,35,40,.09); }
body.oj-site-theme .tool-card .card-footer { background: #fbf3e5; border-top: 1px solid #eadbc1; }
body.oj-site-theme .oj-hi-intro, body.oj-site-theme .oj-bn-intro,
body.oj-site-theme .oj-index-intro, body.oj-site-theme .oj-hub-intro,
body.oj-site-theme .oj-or-home .lead-box, body.oj-site-theme .oj-h-intro,
body.oj-site-theme .jk-hero { background: #fffdf7; border: 1px solid #dcc8a5; border-top: 3px solid #bd7620; border-radius: 12px; padding: 1.5rem; margin-bottom: 1.5rem; box-shadow: none; }
body.oj-site-theme .oj-hi-icon, body.oj-site-theme .oj-bn-icon { background: #f5e5c9; color: #795019; }
body.oj-site-theme .oj-hi-rashi, body.oj-site-theme .oj-bn-rashi,
body.oj-site-theme .rashi-tile, body.oj-site-theme .oj-daily-signs a,
body.oj-site-theme .ojw-signs a { background: #fffdf9; border-color: #dcc8a5; border-radius: 8px; color: #702635; }
body.oj-site-theme .oj-hi-info, body.oj-site-theme .oj-bn-info,
body.oj-site-theme .oj-hi-notice, body.oj-site-theme .oj-bn-notice,
body.oj-site-theme .oj-index-note, body.oj-site-theme .oj-hub-note,
body.oj-site-theme .oj-free-note, body.oj-site-theme .oj-or-home .note {
 background: #fff1d4; border-color: #dcc8a5; border-left: 3px solid #bd7620; border-radius: 8px; color: #62584e;
}
body.oj-site-theme .oj-free-nav,
body.oj-site-theme .oj-hi-faq details, body.oj-site-theme .oj-bn-faq details,
body.oj-site-theme .oj-index-faq details, body.oj-site-theme .oj-hub-faq details,
body.oj-site-theme .oj-h-faq details { background: #fffdf7; border: 1px solid #dcc8a5; border-radius: 8px; }
body.oj-site-theme .swichermainbx summary { color: #702635; cursor: pointer; min-height: 44px; padding: .5rem 0; font-weight: 600; }
body.oj-site-theme .oj-hi-link, body.oj-site-theme .oj-bn-link,
body.oj-site-theme .oj-index-card > a, body.oj-site-theme .oj-hub-card > a { display: inline-block; min-height: 44px; padding: .5rem 0; color: #702635; }
body.oj-site-theme .oj-hi-author, body.oj-site-theme .oj-bn-author,
body.oj-site-theme .oj-h-author, body.oj-site-theme .author-bio,
body.oj-site-theme .author-box, body.oj-site-theme .jk-author-box {
 background: #fffaf0; border-color: #dcc8a5; border-radius: 10px; flex-wrap: wrap;
}
body.oj-site-theme .author-bio .flex-grow-1 { min-width: 0; flex-basis: 240px; }
body.oj-site-theme .oj-or-home { color: #362e2b; }
body.oj-site-theme .oj-or-home h2, body.oj-site-theme .oj-or-home h3 { color: #542328; line-height: 1.5; }
body.oj-site-theme .oj-or-home a { color: #702635; min-height: 44px; display: inline-block; padding: .5rem 0; }

/* Fallbacks for the existing Grid-based directories; unsupported browsers
   get the same cards in a single column. Do not turn result tables into cards. */
body.oj-site-theme .oj-index-card, body.oj-site-theme .oj-hub-card,
body.oj-site-theme .oj-hi-card, body.oj-site-theme .oj-bn-card,
body.oj-site-theme .oj-or-home article { margin-bottom: 1rem; }
@supports (display: grid) {
 body.oj-site-theme .oj-index-card, body.oj-site-theme .oj-hub-card,
 body.oj-site-theme .oj-hi-card, body.oj-site-theme .oj-bn-card,
 body.oj-site-theme .oj-or-home article { margin-bottom: 0; }
}
@media (max-width: 599px) {
 body.oj-site-theme .main { padding: .85rem; margin: 1rem auto; }
 body.oj-site-theme .main.oj-page-refresh { padding: 0 6px; }
 body.oj-site-theme .section-heading-page { padding: 1rem .4rem; }
 body.oj-site-theme .section-heading-page h1,
 body.oj-site-theme .section-heading-page .oj-page-title { font-size: 1.55rem; }
 body.oj-site-theme .main h2, body.oj-site-theme .swichermainbx h2 { font-size: 1.35rem; }
 body.oj-site-theme .main h3, body.oj-site-theme .swichermainbx h3 { font-size: 1.15rem; }
 body.oj-site-theme .oj-hi-intro, body.oj-site-theme .oj-bn-intro,
 body.oj-site-theme .oj-index-intro, body.oj-site-theme .oj-hub-intro,
 body.oj-site-theme .oj-or-home .lead-box, body.oj-site-theme .oj-h-intro { padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
 body.oj-site-theme *, body.oj-site-theme *::before, body.oj-site-theme *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Distinguish text links without depending on colour perception. */
body.oj-site-theme .oj-author-bio-link { color: #702635 !important; text-decoration: underline; }
body.oj-site-theme .notice a { text-decoration: underline; }

/* Explicit dark surfaces need their own foreground, including card headings. */
html body.oj-site-theme .bg-dark h1,
html body.oj-site-theme .bg-dark h2,
html body.oj-site-theme .bg-dark h3,
html body.oj-site-theme .bg-dark h4,
html body.oj-site-theme .bg-dark h5,
html body.oj-site-theme .bg-dark h6,
html body.oj-site-theme .bg-dark .card-title,
html body.oj-site-theme .bg-dark .card-subtitle,
html body.oj-site-theme .bg-primary h1,
html body.oj-site-theme .bg-primary h2,
html body.oj-site-theme .bg-primary h3,
html body.oj-site-theme .bg-primary h4,
html body.oj-site-theme .bg-primary h5,
html body.oj-site-theme .bg-primary h6,
html body.oj-site-theme .bg-primary .card-title,
html body.oj-site-theme .bg-primary .card-subtitle,
html body.oj-site-theme .bg-secondary h1,
html body.oj-site-theme .bg-secondary h2,
html body.oj-site-theme .bg-secondary h3,
html body.oj-site-theme .bg-secondary h4,
html body.oj-site-theme .bg-secondary h5,
html body.oj-site-theme .bg-secondary h6,
html body.oj-site-theme .bg-secondary .card-title,
html body.oj-site-theme .bg-secondary .card-subtitle,
html body.oj-site-theme .bg-success h1,
html body.oj-site-theme .bg-success h2,
html body.oj-site-theme .bg-success h3,
html body.oj-site-theme .bg-success h4,
html body.oj-site-theme .bg-success h5,
html body.oj-site-theme .bg-success h6,
html body.oj-site-theme .bg-success .card-title,
html body.oj-site-theme .bg-success .card-subtitle,
html body.oj-site-theme .bg-danger h1,
html body.oj-site-theme .bg-danger h2,
html body.oj-site-theme .bg-danger h3,
html body.oj-site-theme .bg-danger h4,
html body.oj-site-theme .bg-danger h5,
html body.oj-site-theme .bg-danger h6,
html body.oj-site-theme .bg-danger .card-title,
html body.oj-site-theme .bg-danger .card-subtitle,
html body.oj-site-theme .text-bg-dark h1,
html body.oj-site-theme .text-bg-dark h2,
html body.oj-site-theme .text-bg-dark h3,
html body.oj-site-theme .text-bg-dark h4,
html body.oj-site-theme .text-bg-dark h5,
html body.oj-site-theme .text-bg-dark h6,
html body.oj-site-theme .text-bg-dark .card-title,
html body.oj-site-theme .text-bg-dark .card-subtitle,
html body.oj-site-theme .text-bg-primary h1,
html body.oj-site-theme .text-bg-primary h2,
html body.oj-site-theme .text-bg-primary h3,
html body.oj-site-theme .text-bg-primary h4,
html body.oj-site-theme .text-bg-primary h5,
html body.oj-site-theme .text-bg-primary h6,
html body.oj-site-theme .text-bg-primary .card-title,
html body.oj-site-theme .text-bg-primary .card-subtitle,
html body.oj-site-theme .text-bg-secondary h1,
html body.oj-site-theme .text-bg-secondary h2,
html body.oj-site-theme .text-bg-secondary h3,
html body.oj-site-theme .text-bg-secondary h4,
html body.oj-site-theme .text-bg-secondary h5,
html body.oj-site-theme .text-bg-secondary h6,
html body.oj-site-theme .text-bg-secondary .card-title,
html body.oj-site-theme .text-bg-secondary .card-subtitle,
html body.oj-site-theme .text-bg-success h1,
html body.oj-site-theme .text-bg-success h2,
html body.oj-site-theme .text-bg-success h3,
html body.oj-site-theme .text-bg-success h4,
html body.oj-site-theme .text-bg-success h5,
html body.oj-site-theme .text-bg-success h6,
html body.oj-site-theme .text-bg-success .card-title,
html body.oj-site-theme .text-bg-success .card-subtitle,
html body.oj-site-theme .text-bg-danger h1,
html body.oj-site-theme .text-bg-danger h2,
html body.oj-site-theme .text-bg-danger h3,
html body.oj-site-theme .text-bg-danger h4,
html body.oj-site-theme .text-bg-danger h5,
html body.oj-site-theme .text-bg-danger h6,
html body.oj-site-theme .text-bg-danger .card-title,
html body.oj-site-theme .text-bg-danger .card-subtitle { color:#fff !important; }
/* Filled state text can occur outside .main (for example a sidebar card). */
html body.oj-site-theme .nav-pills .nav-link.active,
html body.oj-site-theme .nav-pills .nav-link[aria-selected="true"],
html body.oj-site-theme .btn-primary { color:#fff !important; background-color:#702635 !important; border-color:#702635 !important; }
html body.oj-site-theme .nav-pills .nav-link.active span,
html body.oj-site-theme .btn-primary span { color:inherit !important; }
.oj-sidebar-ad { box-sizing:border-box; display:flex; flex-direction:column; width:100%; max-width:100%; margin:0 0 1.25rem; }
.oj-sidebar-ad-label { order:-1; display:block; margin:0 0 .3rem; color:#62584e; font-size:.75rem; text-align:center; }
.oj-sidebar-ad ins[data-ad-status="unfilled"], .oj-sidebar-ad ins[data-ad-status="unfilled"] + .oj-sidebar-ad-label { display:none !important; min-height:0 !important; }
@media print { .oj-sidebar-ad { display:none !important; } }

/* Outlined navigation buttons also appear in the page header, outside .main.
   Override the legacy brown fill and keep foreground/background paired. */
html body.oj-site-theme .btn-outline-primary,
html body.oj-site-theme .oj-daily-day-navigation a[data-daily-day] {
 color:#702635 !important; background-color:#fffdf7 !important; border-color:#702635 !important;
}
html body.oj-site-theme .btn-outline-primary:hover,
html body.oj-site-theme .btn-outline-primary:focus,
html body.oj-site-theme .btn-outline-primary.active,
html body.oj-site-theme .btn-outline-primary[aria-pressed="true"],
html body.oj-site-theme .btn-check:checked + .btn-outline-primary,
html body.oj-site-theme .oj-daily-day-navigation a[data-daily-day]:hover,
html body.oj-site-theme .oj-daily-day-navigation a[data-daily-day]:focus {
 color:#fff !important; background-color:#702635 !important; border-color:#702635 !important;
}
html body.oj-site-theme .card-title.h6 { font-size:1rem; line-height:1.6; }
html body.oj-site-theme .card-title.h5 { font-size:1.25rem; line-height:1.6; }

/* Pair text and fill on compact card headers and secondary form actions. */
html body.oj-site-theme .card-header.bg-primary,
html body.oj-site-theme .card-header.text-bg-primary { background-color:#702635 !important; color:#fff !important; }
html body.oj-site-theme .btn-secondary { background-color:#5c636a !important; border-color:#5c636a !important; color:#fff !important; }
html body.oj-site-theme .btn-secondary:hover,
html body.oj-site-theme .btn-secondary:focus { background-color:#454b50 !important; border-color:#454b50 !important; color:#fff !important; }
html body.oj-site-theme .oj-breadcrumb .breadcrumb-item.active,
html body.oj-site-theme .oj-breadcrumb [aria-current="page"] { color:#62584e; }

/* Keep yesterday/tomorrow on one row beneath the date on narrow phones. */
@media(max-width:575px) {
 html body.oj-site-theme .oj-daily-day-navigation > div { order:-1; flex:0 0 100%; margin-bottom:.35rem; }
}
