@font-face {
    font-family: 'Omaaa Devanagari';
    src: url('../fonts/NotoSansDevanagari.woff2') format('woff2'), url('../fonts/NotoSansDevanagari.ttf') format('truetype');
    font-weight: 100 900;
    font-display: swap;
}
:root {
    --brand: #c34716; --brand-dark: #9e330d; --brand-light: #e56b31;
    --ink: #17324d; --ink-soft: #42576b; --muted: #56697a;
    --bg: #fffaf5; --bg-alt: #fff3e7; --line: #e6e2dc;
    --font-devanagari: 'Omaaa Devanagari', 'Nirmala UI', 'Mangal', sans-serif;
}
body { background: #fffaf5; color: var(--ink); font-size: 17px; line-height: 1.75; }
html[lang="hi"] body, html[lang="mr"] body, html[lang="hng"] body {
    font-family: 'Omaaa Devanagari', system-ui, sans-serif; font-weight: 450;
}
button, input, select, textarea { font: inherit; }
.section-head p, .horoscope-hero p, .prose, .article-body, .reading-body, .aside-card p { font-size: 17px; line-height: 1.8; }
.section-head h1, .section-head h2, h2, h3 { font-weight: 700; }
.site-header { top: 0; margin: 0; border-radius: 0; border: 0; border-bottom: 1px solid var(--line); background: #fff; box-shadow: 0 2px 12px #17324d08; }
.site-nav a, .knowledge-menu summary, .knowledge-menu > ul a { font-size: 15px; font-weight: 600; }
.site-nav a[aria-current="page"] { color: var(--brand); box-shadow: inset 0 -3px var(--brand); }
.brand-tagline { font-size: 11px; }
.btn, .period-strip a { min-height: 44px; font-size: 15px; font-weight: 650; }
.btn-primary, .hero-actions .btn-primary { background: var(--brand); color: #fff; border-color: var(--brand); }
.btn-primary:hover, .hero-actions .btn-primary:hover { background: var(--brand-dark); border-color: var(--brand-dark); }
.btn-ghost { border-color: #d7c9ba; }
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="submit"]), select, textarea {
    width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid #b5bfca;
    border-radius: 10px; color: #17324d; background: #fff; font-size: 16px;
}
input[type="checkbox"], input[type="radio"] { accent-color: var(--brand); }
label { color: #17324d; font-weight: 600; }
:is(input, select, textarea, button, a):focus-visible { outline: 3px solid #247d88; outline-offset: 3px; }
.site-footer, .site-footer p, .site-footer a, .footer-links a { font-size: 15px; line-height: 1.8; }
.breadcrumbs, .result-meta, .hint { font-size: 14px; color: var(--muted); }
.period-strip a.is-active { background: #17324d; color: #fff; }
.permission-option { display: flex; gap: 10px; align-items: center; margin-block: 9px; }
.admin { background: #f4f7fa; font-size: 15px; }
.admin .card { border: 1px solid #e1e7ef; }
@media (max-width: 640px) {
    body { font-size: 16px; }
    .section-head p, .prose, .article-body { font-size: 16px; }
    .site-header { top: 0; margin: 0; border-radius: 0; }
    .brand-text { font-size: 22px; }
    .knowledge-menu > ul { max-width: min(320px, 90vw); }
}
:root { --forecast-note-bg: #fff8e8; }
.forecast-method { background: var(--forecast-note-bg); border-inline-start: 4px solid #c45b16; padding: 14px 18px; color: #344454; font-size: 1rem; line-height: 1.85; border-radius: 10px; margin: 18px 0 24px; }
.editorial-prose { line-height: 1.9; overflow-wrap: anywhere; }
.install-help { width: min(480px, calc(100% - 32px)); max-height: 85dvh; overflow: auto; border: 1px solid var(--line); border-radius: 18px; padding: 24px; color: var(--ink); background: #fffaf5; box-shadow: 0 16px 60px #17324d33; }
.install-help::backdrop { background: #17324d88; }
.install-help:not([open]) { display: none; }
.install-help p { line-height: 1.8; }
.page-share-bar { display: flex; justify-content: flex-end; padding-top: 16px; }
.page-share-dialog { width: min(720px, calc(100% - 24px)); max-height: 90dvh; overflow: auto; border: 1px solid var(--line); border-radius: 18px; padding: 24px; color: var(--ink); background: #fffaf5; }
.page-share-dialog::backdrop { background: #17324d88; }
.page-share-dialog:not([open]) { display: none; }
.page-share-dialog p { line-height: 1.75; }
.page-share-heading { font-weight: 700; }
.page-share-actions { display: flex; flex-wrap: wrap; gap: 10px; }
[data-share-previews] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
[data-share-previews] figure { margin: 0; min-width: 0; }
[data-share-previews] img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--line); margin-bottom: 8px; }
.page-share-dialog textarea { width: 100%; min-height: 180px; }
@media (max-width: 480px) { [data-share-previews] { grid-template-columns: 1fr; } }
@media print { .page-share-bar, .page-share-dialog { display: none; } }
/* Topic artwork and authored infographic summaries. */
.puja-card { transition: transform .18s ease, box-shadow .18s ease; }
.puja-card:hover { transform: translateY(-3px); box-shadow: 0 14px 34px #19374716; }
.puja-card:focus-within { outline: 3px solid #df8d38; outline-offset: 3px; }
.puja-card-art { aspect-ratio: 1.5; }
.puja-card-art img { display: block; transition: transform .25s ease; }
.puja-card-art:hover img { transform: scale(1.025); }
.knowledge-visual { margin-block: 26px 38px; border: 1px solid var(--line); padding: clamp(16px,3vw,30px); background: #fff; border-radius: 22px; }
.knowledge-visual-head h2 { margin: 8px 0 22px; font-size: clamp(22px,3vw,28px); }
.knowledge-hero { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); margin: 0 0 24px; background: #fff8ef; border-radius: 16px; overflow: hidden; }
.knowledge-hero a { display: block; min-width: 0; }
.knowledge-hero img { display: block; width: 100%; height: 100%; object-fit: cover; }
.knowledge-hero figcaption { padding: 24px; align-self: center; }
.knowledge-hero figcaption span { color: var(--saffron); font-size: 13px; font-weight: 650; }
.knowledge-hero figcaption p { font-size: 17px; line-height: 1.85; margin: 12px 0 0; }
.knowledge-points { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; list-style: none; padding: 0; margin: 22px 0 0; counter-reset: none; }
.knowledge-points li { display: flex; gap: 16px; align-items: start; padding: 20px; border: 1px solid #e8e3d9; border-radius: 16px; background: #fffdf8; }
.knowledge-points h3 { font-size: 19px; margin: 0 0 8px; line-height: 1.55; }
.knowledge-points p { font-size: 16px; margin: 0; line-height: 1.85; overflow-wrap: anywhere; }
.knowledge-point-symbol { position: relative; display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; color: #b45421; background: #ffedda; border-radius: 13px; }
.knowledge-point-symbol .ui-icon { width: 26px; height: 26px; }
.knowledge-point-symbol b { position: absolute; inset-inline-end: -5px; top: -7px; width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; color: white; background: #193747; font-size: 12px; }
.knowledge-card-image { display: block; width: 100%; height: auto; aspect-ratio: 1.5; object-fit: cover; border-radius: 12px; margin-bottom: 16px; }
.vastu-diagram { margin: 24px 0; border: 1px solid #eedfcb; border-radius: 16px; overflow: hidden; background: #fcf3e4; }
.vastu-diagram svg { display: block; width: 100%; height: auto; max-height: 360px; }
.vastu-diagram-key { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 18px; background: #fffaf2; }
.vastu-diagram-key span { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.vastu-diagram-key b { border-radius: 50%; width: 26px; height: 26px; flex: 0 0 26px; display: grid; place-items: center; background: #193747; color: white; font-size: 14px; }
.vastu-diagram-note { padding: 0 18px 18px; color: var(--text-muted, #596a77); font-size: 14px; line-height: 1.7; }
@media (max-width: 620px) { .knowledge-hero,.knowledge-points { grid-template-columns: 1fr; } .knowledge-hero img { height: auto; } .knowledge-hero figcaption { padding: 18px; } .knowledge-points li { padding: 16px; gap: 12px; } .knowledge-points h3 { font-size: 18px; } .knowledge-points p { font-size: 16px; } }
@media (prefers-reduced-motion: reduce) { .puja-card,.puja-card-art img { transition: none; } .puja-card:hover,.puja-card-art:hover img { transform: none; } }

.puja-detail-figure { margin: 0 0 24px; }
.puja-detail-figure a { display: block; }
.puja-detail-figure figcaption { margin-top: 8px; color: var(--text-muted, #596a77); font-size: 14px; }
/* Devotional readings keep the Sanskrit text prominent on small screens. */
.mantra-readings blockquote { font-size: clamp(1.2rem, 2.2vw, 1.55rem); font-weight: 600; line-height: 1.9; font-style: normal; overflow-wrap: anywhere; }
.mantra-search label { font-weight: 600; }
.mantra-search input { flex: 1 1 260px; min-width: 0; padding: 12px 14px; border: 1px solid var(--line, #e5d8ce); border-radius: 12px; font: inherit; color: var(--ink, #193747); background: #fff; }
@media (max-width: 600px) { .mantra-search label, .mantra-search input { flex-basis: 100%; } }
