*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --red: #8B1A1A; --red-dark: #5C0F0F; --gold: #C8820A; --gold-lt: #F5C842;
  --cream: #FDF6E3; --cream-dk: #F5EDD4; --text: #2C1810; --text-lt: #5C3D2A;
  --white: #ffffff; --shadow: 0 2px 12px rgba(139,26,26,0.12); --radius: 10px;
  --font-main: 'Noto Serif', Georgia, 'Times New Roman', serif;
  --font-symbol: 'Segoe UI Symbol', 'Apple Color Emoji', 'Noto Sans Symbols', 'Noto Emoji', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--font-main); background: var(--cream); color: var(--text); line-height: 1.7; }
a { color: var(--red); text-decoration: none; transition: color .2s; }
a:hover { color: var(--gold); }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.topbar { background: var(--red-dark); color: #FFD9A0; font-size: 13px; padding: 6px 0; }
.topbar .container { display: flex; gap: 24px; flex-wrap: wrap; }
.site-header { background: var(--red); box-shadow: var(--shadow); position: sticky; top: 0; z-index: 100; }
.header-inner { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; gap: 16px; }
.logo { display: flex; align-items: center; gap: 12px; color: var(--gold-lt) !important; }
.logo-om { font-size: 36px; line-height: 1; }
.logo-title { font-size: 22px; font-weight: 700; color: var(--gold-lt); }
.logo-sub { font-size: 12px; color: rgba(255,255,255,0.75); letter-spacing: 1px; }
.main-nav { display: flex; gap: 4px; flex-wrap: wrap; }
.main-nav a { color: rgba(255,255,255,0.9); padding: 8px 14px; border-radius: 6px; font-size: 14px; font-weight: 500; transition: background .2s; }
.main-nav a:hover { background: rgba(255,255,255,0.15); color: var(--gold-lt); }
.nav-dropdown { position: relative; display: inline-flex; align-items: center; }
.nav-dropdown-btn { color: rgba(255,255,255,0.9); padding: 8px 14px; border-radius: 6px; font-size: 14px; font-weight: 500; cursor: pointer; transition: background .2s; white-space: nowrap; }
.nav-dropdown:hover .nav-dropdown-btn { background: rgba(255,255,255,0.15); color: var(--gold-lt); }
.nav-dropdown-menu { display: none; position: absolute; top: 100%; left: 0; background: #5C0F0F; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,0.4); min-width: 200px; z-index: 300; padding: 6px 0; }
.nav-dropdown:hover .nav-dropdown-menu { display: flex; flex-direction: column; }
.nav-dropdown-menu a { color: rgba(255,255,255,0.9) !important; padding: 10px 18px !important; border-radius: 0 !important; font-size: 14px; white-space: nowrap; border-bottom: 1px solid rgba(255,255,255,0.08); }
.nav-dropdown-menu a:hover { background: rgba(255,255,255,0.15) !important; color: var(--gold-lt) !important; }
.nav-toggle { display: none; background: none; border: 2px solid rgba(255,255,255,0.5); color: white; padding: 6px 12px; border-radius: 6px; cursor: pointer; font-size: 18px; }
.flash-success { background: #D4EDDA; border: 1px solid #A8D5B5; color: #1A5C2A; padding: 12px 20px; border-radius: var(--radius); margin: 16px auto; max-width: 1200px; }
.hero { position: relative; overflow: hidden; padding: 60px 0; }
.hero-bg { position: absolute; inset: 0; background: linear-gradient(135deg, var(--red-dark) 0%, var(--red) 50%, #A0280A 100%); z-index: 0; }
.hero-inner { position: relative; z-index: 1; }
.hero-text h1 { font-size: 48px; color: var(--gold-lt); text-shadow: 0 2px 8px rgba(0,0,0,0.4); line-height: 1.2; }
.hero-sub { color: rgba(255,255,255,0.88); font-size: 18px; margin: 16px 0 24px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.hero-stats { display: flex; gap: 24px; }
.hero-stats .stat { text-align: center; color: white; }
.hero-stats .stat strong { display: block; font-size: 28px; color: var(--gold-lt); font-weight: 700; }
.hero-stats .stat span { font-size: 12px; opacity: 0.8; }
.btn-primary { display: inline-block; background: linear-gradient(135deg, var(--red), var(--red-dark)); color: white !important; padding: 12px 24px; border-radius: 8px; font-weight: 600; border: none; cursor: pointer; font-size: 15px; font-family: var(--font-main); transition: transform .2s, box-shadow .2s; box-shadow: 0 3px 10px rgba(139,26,26,0.35); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(139,26,26,0.45); }
.btn-outline { display: inline-block; border: 2px solid var(--red); color: var(--red) !important; padding: 10px 22px; border-radius: 8px; font-weight: 600; font-size: 15px; background: transparent; cursor: pointer; font-family: var(--font-main); transition: all .2s; }
.btn-outline:hover { background: var(--red); color: white !important; }
.hero .btn-outline { border-color: rgba(255,255,255,0.85); color: white !important; }
.hero .btn-outline:hover { background: rgba(255,255,255,0.2); border-color: white; color: white !important; }
.hero .btn-primary { border: 2px solid rgba(255,255,255,0.7); }
.hero .btn-primary:hover { border-color: white; }
.full-width { width: 100%; text-align: center; }
.btn-large { padding: 16px 32px; font-size: 17px; }
.form-input { width: 100%; padding: 10px 14px; border: 1.5px solid #D5C5A0; border-radius: 8px; font-size: 14px; font-family: var(--font-main); background: white; color: var(--text); transition: border-color .2s, box-shadow .2s; }
.form-input:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(139,26,26,0.12); }
select.form-input { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238B1A1A' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 34px; }
.form-group { margin-bottom: 18px; }
.form-group label { display: block; font-weight: 600; margin-bottom: 6px; color: var(--text); font-size: 14px; }
.radio-group { display: flex; gap: 24px; }
.radio-label { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 15px; }
.select-row-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.validation-summary { background: #FFE5E5; border: 1px solid #FFB3B3; padding: 10px 14px; border-radius: 8px; margin-bottom: 16px; color: #8B0000; }
.field-error { color: #C0392B; font-size: 12px; margin-top: 4px; display: block; }
.help-text { display: block; font-size: 12px; color: var(--text-lt); margin-top: 6px; }
.section-header { text-align: center; margin-bottom: 40px; }
.section-header h2 { font-size: 32px; color: var(--red-dark); margin-bottom: 8px; }
.section-header p { color: var(--text-lt); font-size: 16px; }
.services-section { padding: 60px 0; background: white; }
.services-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.service-card { display: block; background: var(--cream); border: 1px solid #E5D8B8; border-radius: 12px; padding: 28px; text-align: center; transition: all .25s; color: var(--text) !important; }
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--red); }
.service-icon { font-size: 48px; margin-bottom: 14px; }
.service-card h3 { color: var(--red-dark); font-size: 18px; margin-bottom: 10px; }
.service-card p { color: var(--text-lt); font-size: 14px; line-height: 1.6; }
.rasi-section { padding: 60px 0; }
.rasi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; }
.rasi-card { display: block; background: white; border: 1.5px solid #E5D8B8; border-radius: 12px; padding: 20px 12px; text-align: center; transition: all .25s; color: var(--text) !important; }
.rasi-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--gold); }
.rasi-symbol { font-size: 36px; margin-bottom: 8px; }
.rasi-name { font-size: 16px; font-weight: 700; color: var(--red-dark); }
.rasi-name-eng { font-size: 12px; color: var(--text-lt); margin: 2px 0; }
.articles-section { padding: 60px 0; background: var(--cream-dk); }
.articles-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.article-card { display: block; background: white; border-radius: 12px; padding: 24px; border: 1px solid #E5D8B8; transition: all .25s; color: var(--text) !important; }
.article-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.article-cat { display: inline-block; background: var(--red); color: white; font-size: 11px; padding: 3px 10px; border-radius: 20px; margin-bottom: 10px; }
.article-card h3 { font-size: 16px; color: var(--red-dark); margin-bottom: 10px; line-height: 1.5; }
.article-card p { color: var(--text-lt); font-size: 13px; margin-bottom: 12px; line-height: 1.6; }
.page-hero { background: linear-gradient(135deg, var(--red-dark), var(--red)); color: white; padding: 48px 0; text-align: center; }
.page-hero h1 { font-size: 36px; color: var(--gold-lt); margin-bottom: 10px; }
.page-hero p { color: rgba(255,255,255,0.85); font-size: 16px; }
/* Breadcrumb trail rendered inside the hero band. Lives here rather than in
   _PanchangamStyles because the detail pages do not include that stylesheet. */
.breadcrumb-hero { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 2px; font-size: 13px; margin-bottom: 14px; }
.breadcrumb-hero a { color: rgba(255,255,255,0.85); text-decoration: none; }
.breadcrumb-hero a:hover { color: var(--gold-lt, #ffd700); text-decoration: underline; }
.breadcrumb-hero span[aria-hidden] { color: rgba(255,255,255,0.6); margin: 0 2px; }
.breadcrumb-hero span[aria-current] { color: var(--gold-lt, #ffd700); font-weight: 600; }
.page-hero-gold { background: linear-gradient(135deg, #4A1A00, var(--red-dark)) !important; }
.article-cat-badge { display: inline-block; background: var(--gold); color: white; padding: 4px 14px; border-radius: 20px; font-size: 13px; margin-bottom: 12px; }
.page-content { padding: 40px 20px; }
.content-layout { display: grid; grid-template-columns: 1fr 280px; gap: 32px; align-items: start; }
.content-sidebar { position: sticky; top: 80px; }
.card { background: white; border: 1px solid #E5D8B8; border-radius: 12px; overflow: hidden; }
.card-header { background: var(--cream-dk); border-bottom: 1px solid #E5D8B8; padding: 16px 20px; font-size: 17px; font-weight: 700; color: var(--red-dark); }
.card-body { padding: 20px; }
.mt-2 { margin-top: 16px; }
.mt-3 { margin-top: 24px; }
.seo-content-block { background: white; border: 1px solid #E5D8B8; border-radius: 12px; padding: 24px 28px; }
.seo-content-block h2 { font-size: 20px; color: var(--red-dark); margin-bottom: 12px; }
.seo-content-block p { font-size: 14px; color: var(--text-lt); line-height: 1.8; margin: 0; }
.sidebar-links { list-style: none; }
.sidebar-links li { border-bottom: 1px solid #F0E8D0; }
.sidebar-links li:last-child { border-bottom: none; }
.sidebar-links a { display: block; padding: 8px 0; color: var(--text-lt); font-size: 14px; transition: color .2s; }
.sidebar-links a:hover { color: var(--red); padding-left: 4px; }
.active-link a { color: var(--red) !important; font-weight: 700; }
.small-text { font-size: 13px; color: var(--text-lt); line-height: 1.7; }
.info-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 28px; }
.info-card { background: white; border: 1px solid #E5D8B8; border-radius: 10px; padding: 16px; text-align: center; }
.ic-label { font-size: 12px; color: var(--text-lt); margin-bottom: 6px; }
.ic-value { font-size: 18px; font-weight: 700; color: var(--red-dark); }
.charts-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 28px; }
/* ── Parchment-style South Indian Jathagam Chart ── */
.si-chart-wrap { background: #fff; border: 3px solid #B91C1C; border-radius: 6px; padding: 5px; box-shadow: 0 4px 18px rgba(185,28,28,0.18); position: relative; }
/* CSS pseudo-element removed — replaced with real <img class="vina-wm"> for print compatibility */
.vina-wm { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 60%; height: auto; pointer-events: none; z-index: 2; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.si-chart { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(92px, auto); border: 2px solid #B91C1C; overflow: hidden; }
.si-cell { border: 1px solid #F87171; padding: 6px 5px 4px 5px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; background: #fff; min-height: 92px; position: relative; transition: background 0.15s; }
.si-cell:hover { background: #FFF1F1; }
.si-num { font-size: 9px; color: #B91C1C; font-weight: 800; line-height: 1; }
.si-rasi { display: none; }
.si-planets { font-size: 13px; font-weight: 700; color: #1E293B; line-height: 1.5; display: flex; flex-direction: column; gap: 0; width: 100%; margin-top: 2px; }
.si-planet-item { white-space: nowrap; }
.si-lagna-item { color: #DC2626 !important; font-weight: 800 !important; }
.si-center { background: linear-gradient(135deg, #FFF7ED 0%, #FEF3C7 100%); display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; font-weight: 700; color: #92400E; font-size: 11px; border: 1px solid #FCD34D; line-height: 1.6; }
.si-center-label { font-size: 13px; font-weight: 800; color: #7C2D12; }
.si-center-sub { font-size: 10px; color: #B45309; margin-top: 2px; }
.si-watermark { text-align: right; font-size: 9px; color: #F87171; margin-top: 3px; letter-spacing: 0.3px; }
.chart-legend { margin-top: 8px; padding: 8px; background: var(--cream); border-radius: 6px; }
.chart-legend small { color: var(--text-lt); font-size: 11px; line-height: 1.7; }
.result-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 28px; }
.result-card { background: white; border: 1px solid #E5D8B8; border-radius: 12px; overflow: hidden; }
.result-card-header { background: linear-gradient(135deg, var(--red-dark), var(--red)); color: var(--gold-lt); padding: 12px 16px; font-weight: 700; font-size: 15px; }
.result-card-body { padding: 16px; color: var(--text-lt); font-size: 14px; line-height: 1.9; }
.result-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 24px; }
.disclaimer { background: #FFF8E0; border: 1px solid #F0D88A; border-radius: 10px; padding: 16px; font-size: 13px; color: #7A5C00; line-height: 1.7; }
.rasi-facts { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.rasi-facts span { background: var(--cream-dk); padding: 6px 14px; border-radius: 20px; font-size: 13px; color: var(--text-lt); }
.admin-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.admin-table th { text-align: left; padding: 10px 12px; background: var(--cream-dk); border-bottom: 2px solid #E5D8B8; color: var(--text-lt); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.admin-table td { padding: 10px 12px; border-bottom: 1px solid #F0E8D0; vertical-align: middle; color: var(--text-lt); }
.admin-table tr:last-child td { border-bottom: none; }
.admin-table tr:hover td { background: #FAF6E8; }
.rasi-detail-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; margin-bottom: 40px; }
.rasi-detail-card { display: block; background: white; border: 1.5px solid #E5D8B8; border-radius: 12px; padding: 24px; text-align: center; transition: all .25s; color: var(--text) !important; }
.rasi-detail-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--gold); }
.rdc-symbol { font-size: 44px; margin-bottom: 10px; }
.rdc-name { font-size: 20px; font-weight: 700; color: var(--red-dark); }
.rdc-eng { font-size: 14px; color: var(--text-lt); }
.rdc-ruler { font-size: 13px; color: var(--gold); font-weight: 600; margin: 4px 0 10px; }
.rdc-desc { font-size: 13px; color: var(--text-lt); line-height: 1.6; }
.rdc-link { display: inline-block; margin-top: 10px; color: var(--red); font-size: 13px; font-weight: 600; }
.nakshatra-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; margin-bottom: 40px; }
.nakshatra-card { display: block; background: white; border: 1.5px solid #E5D8B8; border-radius: 10px; padding: 16px; text-align: center; transition: all .25s; color: var(--text) !important; }
.nakshatra-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--gold); }
.nk-num { width: 28px; height: 28px; background: var(--red); color: white; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; margin-bottom: 8px; }
.nk-name { font-size: 15px; font-weight: 700; color: var(--red-dark); }
.nk-eng { font-size: 12px; color: var(--text-lt); margin: 3px 0; }
.nk-meta { font-size: 11px; color: #888; margin: 6px 0; }
.nk-link { font-size: 12px; color: var(--red); font-weight: 600; }
.articles-list { display: flex; flex-direction: column; gap: 16px; }
.article-list-card { display: block; background: white; border: 1px solid #E5D8B8; border-radius: 12px; padding: 20px; transition: all .2s; color: var(--text) !important; }
.article-list-card:hover { box-shadow: var(--shadow); border-color: var(--red); }
.alc-cat { display: inline-block; background: var(--red); color: white; font-size: 11px; padding: 2px 10px; border-radius: 20px; margin-bottom: 8px; }
.article-list-card h3 { font-size: 17px; color: var(--red-dark); margin-bottom: 8px; }
.article-list-card p { font-size: 14px; color: var(--text-lt); margin-bottom: 10px; }
.alc-meta { display: flex; gap: 16px; font-size: 12px; color: #888; align-items: center; }
.alc-read { color: var(--red); font-weight: 600; margin-left: auto; }
.pagination { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; margin-top: 24px; }
.page-link { background: white; border: 1.5px solid #E5D8B8; color: var(--text-lt); padding: 6px 12px; border-radius: 8px; font-size: 13px; }
.page-active { background: var(--red); border-color: var(--red); color: white; padding: 6px 12px; border-radius: 8px; font-size: 13px; display: inline-block; }
.article-content h2 { font-size: 20px; color: var(--red-dark); margin: 28px 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--cream-dk); }
.article-content h2:first-child { margin-top: 0; }
.article-content h3 { font-size: 17px; color: var(--gold); margin: 20px 0 8px; font-weight: 700; }
.article-content p { margin-bottom: 14px; line-height: 1.9; color: var(--text-lt); }
.article-content ul, .article-content ol { padding-left: 24px; margin-bottom: 14px; }
.article-content li { margin-bottom: 6px; color: var(--text-lt); line-height: 1.7; }
.article-content strong { color: var(--red-dark); }
.related-article { display: block; padding: 12px 0; border-bottom: 1px solid #EEE; color: var(--text) !important; }
.related-article:last-child { border-bottom: none; }
.related-article small { color: var(--text-lt); font-size: 12px; }
.contact-layout { display: grid; grid-template-columns: 1fr 300px; gap: 32px; }
.success-box { background: #D4EDDA; border: 1px solid #A8D5B5; color: #1A5C2A; padding: 24px; border-radius: 12px; text-align: center; font-size: 17px; }
.site-footer { background: var(--red-dark); color: rgba(255,255,255,0.85); margin-top: 60px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 2fr 1fr; gap: 40px; padding: 48px 20px; }
.footer-logo { font-size: 22px; font-weight: 700; color: var(--gold-lt); margin-bottom: 14px; }
.site-footer p { font-size: 14px; line-height: 1.7; color: rgba(255,255,255,0.7); }
.footer-col h4, .footer-col .footer-h { color: var(--gold-lt); font-size: 15px; margin: 0 0 14px; line-height: 1.4; font-weight: 700; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul a { color: rgba(255,255,255,0.7); font-size: 14px; }
.footer-col ul a:hover { color: var(--gold-lt); }
.footer-rasi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.footer-rasi-grid a { color: rgba(255,255,255,0.7); font-size: 13px; padding: 3px 0; }
.footer-rasi-grid a:hover { color: var(--gold-lt); }
.footer-disclaimer { margin-top: 16px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.1); }
.footer-bottom { background: rgba(0,0,0,0.2); padding: 16px 0; font-size: 13px; }
.footer-bottom .container { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.footer-bottom p { color: rgba(255,255,255,0.6); margin: 0; }
.footer-bottom a { color: rgba(255,255,255,0.6); }
.footer-bottom a:hover { color: var(--gold-lt); }

/* ── मूल विवरण table ──────────────────────────────────── */
.adipadai-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.adipadai-table th { width: 22%; padding: 9px 14px; background: var(--cream-dk); color: var(--text-lt); font-size: 12px; font-weight: 700; text-align: left; border: 1px solid #E5D8B8; vertical-align: top; white-space: nowrap; }
.adipadai-table td { width: 28%; padding: 9px 14px; color: var(--text); font-size: 14px; border: 1px solid #E5D8B8; vertical-align: top; }
.adipadai-table tr:nth-child(even) { background: #FAFAF7; }
.adipadai-table tr:nth-child(even) th { background: #EDE5C8; }

/* ── Dasa Accordion ─────────────────────────────────────────────── */
.dasa-accordion { display: flex; flex-direction: column; gap: 6px; }
.dasa-accordion-item { border: 1px solid #E5D8B8; border-radius: 8px; overflow: hidden; }
.dasa-accordion-item[open] { border-color: var(--gold); }
.dasa-accordion-summary { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; cursor: pointer; background: var(--cream-dk); list-style: none; font-weight: 600; color: var(--text); font-size: 14px; gap: 12px; }
.dasa-accordion-summary::-webkit-details-marker { display: none; }
.dasa-accordion-summary::marker { display: none; }
.dasa-accordion-summary:hover { background: #EDE5C8; }
.dasa-current-summary { background: linear-gradient(135deg, #5C0F0F, var(--red)) !important; color: white !important; }
.dasa-current-row { background: #FFF8E0 !important; font-weight: 600; }
.dasa-accordion-body { padding: 12px 16px; }
.dasa-label { font-size: 11px; color: rgba(255,255,255,0.7); }

/* ── FAQ page ────────────────────────────────────────────────────── */
.faq-category-nav { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 32px; }
.faq-category-nav a { background: white; border: 1.5px solid #E5D8B8; color: var(--text-lt); padding: 8px 16px; border-radius: 20px; font-size: 14px; font-weight: 500; transition: all .2s; text-decoration: none; }
.faq-category-nav a:hover, .faq-category-nav a.active { background: var(--red); border-color: var(--red); color: white; }
.faq-section { margin-bottom: 48px; }
.faq-section-title { font-size: 22px; color: var(--red-dark); margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid var(--cream-dk); }
.faq-item { border: 1px solid #E5D8B8; border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
.faq-q { width: 100%; text-align: left; background: var(--cream-dk); border: none; padding: 16px 20px; font-size: 15px; font-family: var(--font-main); color: var(--text); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; font-weight: 600; line-height: 1.5; transition: background .2s; }
.faq-q:hover { background: #EDE5C8; }
.faq-q.open { background: linear-gradient(135deg, var(--red-dark), var(--red)); color: white; }
.faq-q::after { content: '▼'; font-size: 12px; flex-shrink: 0; transition: transform .3s; }
.faq-q.open::after { transform: rotate(180deg); }
.faq-a { display: none; padding: 20px; background: white; border-top: 1px solid #E5D8B8; font-size: 14px; line-height: 1.9; color: var(--text-lt); }
.faq-a.open { display: block; }
.faq-a p { margin-bottom: 12px; }
.faq-a p:last-child { margin-bottom: 0; }
.faq-detail-link { display: inline-block; margin-top: 8px; color: var(--red); font-size: 13px; font-weight: 600; }

/* ── Mobile Responsive ───────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Nav */
  .nav-toggle { display: block; }
  .main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--red-dark);
    flex-direction: column;
    padding: 12px 0;
    z-index: 200;
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
  }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 12px 20px; border-radius: 0; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .nav-dropdown { display: contents; }
  .nav-dropdown-btn { display: none; }
  .nav-dropdown-menu { display: contents; position: static; background: none; box-shadow: none; padding: 0; }
  .nav-dropdown-menu a { padding: 12px 20px 12px 32px !important; border-radius: 0 !important; font-size: 14px !important; }
  .site-header { position: relative; }
  .header-inner { position: relative; }

  /* Hero */
  .hero { padding: 36px 0; }
  .hero-text h1 { font-size: 28px; }
  .hero-sub { font-size: 15px; }
  .hero-stats { gap: 16px; flex-wrap: wrap; }
  .hero-stats .stat strong { font-size: 22px; }

  /* Grids → single column */
  .services-grid { grid-template-columns: 1fr; }
  .rasi-grid { grid-template-columns: repeat(3, 1fr); }
  .articles-grid { grid-template-columns: 1fr; }
  .content-layout { grid-template-columns: minmax(0, 1fr); }  /* minmax(0,…): one long row must not push the column wider than the screen */
  .content-sidebar { position: static; }
  .contact-layout { grid-template-columns: 1fr; }
  .result-sections { grid-template-columns: 1fr; }
  .charts-row { grid-template-columns: 1fr; }
  .info-cards { grid-template-columns: repeat(2, 1fr); }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 24px; padding: 32px 16px; }

  /* Select row 3 */
  .select-row-3 { grid-template-columns: 1fr; }

  /* Page hero */
  .page-hero h1 { font-size: 24px; }
  .page-hero { padding: 32px 16px; }

  /* Section header */
  .section-header h2 { font-size: 24px; }

  /* FAQ nav wrap */
  .faq-category-nav { gap: 6px; }
  .faq-category-nav a { font-size: 12px; padding: 6px 12px; }

  /* Tables */
  .admin-table { font-size: 12px; }
  .admin-table th, .admin-table td { padding: 8px 8px; }
  .adipadai-table th { white-space: normal; }

  /* Topbar */
  .topbar .container { gap: 12px; font-size: 12px; }

  /* Button */
  .btn-large { padding: 14px 24px; font-size: 15px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn-primary,
  .hero-actions .btn-outline { text-align: center; }

  /* Result actions */
  .result-actions { flex-direction: column; align-items: center; }

  /* Rasi detail / nakshatra grids */
  .rasi-detail-grid { grid-template-columns: repeat(2, 1fr); }
  .nakshatra-grid { grid-template-columns: repeat(2, 1fr); }

  /* Dasa accordion body table */
  .dasa-accordion-body { overflow-x: auto; }
}

@media (max-width: 480px) {
  .rasi-grid { grid-template-columns: repeat(2, 1fr); }
}

@media print {
  .topbar { display: none !important; }
  .site-header { display: none !important; }
  footer { display: none !important; }
  nav { display: none !important; }
  .page-hero { display: none !important; }
}asi-detail-grid { grid-template-columns: 1fr; }
  .nakshatra-grid { grid-template-columns: repeat(2, 1fr); }
  .info-cards { grid-template-columns: repeat(2, 1fr); }
  .hero-text h1 { font-size: 24px; }
  .logo-title { font-size: 18px; }
  .logo-om { font-size: 28px; }
  .footer-rasi-grid { grid-template-columns: repeat(3, 1fr); }
  .si-chart { font-size: 12px; }
  .si-planets { font-size: 12px; }
  .faq-q { font-size: 14px; padding: 13px 16px; }
}

/* ── Jathagam page UX (Oct 2026, from Clarity recordings) ───────────────────── */
/* the skip link is for keyboards; on phones it gets tapped by accident */
@media (hover: none) and (pointer: coarse) { .skip-link { display: none !important; } }
@media (max-width: 600px) {
  /* 16px stops iPhones zooming into the field; 44px is a comfortable tap target */
  .form-input { font-size: 16px; min-height: 44px; }
  select.form-input { padding-left: 10px; padding-right: 26px; }
  .radio-label { min-height: 44px; }
  /* result page: name and birth details without the tall banner */
  .page-hero.page-hero-gold { padding: 18px 14px; }
  /* label–value tables: one pair per line instead of four columns running off the screen */
  .adipadai-table, .adipadai-table tbody { display: block; width: 100%; }
  .adipadai-table tr { display: flex; flex-wrap: wrap; }
  .adipadai-table th { flex: 0 0 38%; width: auto; padding: 8px 10px; }
  .adipadai-table td { flex: 1 0 62%; width: auto; max-width: 62%; padding: 8px 10px; overflow-wrap: anywhere; }
}

/* ── Jathagam page UX, part 2 (Oct 2026) ─────────────────────────────────────── */
/* chart buttons: one clear main action, two secondary ones */
.chart-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 12px 0 6px; }
.chart-actions .btn-primary { font-size: 14px; padding: 12px 18px; min-height: 46px; }
.chart-actions .ca-main { background: #5C0F0F; color: #fff; flex: 1 1 100%; max-width: 420px; font-size: 15px; }
.chart-actions .ca-alt { background: #fff !important; color: #5C0F0F !important; border: 1.5px solid #c9b48a; box-shadow: none; flex: 1 1 150px; max-width: 205px; font-size: 13.5px; padding: 10px 8px; }
@media (max-width: 600px) {
  /* jathagam form page: the form, not the banner, should fill the first screen */
  .page-hero.hero-form { padding: 16px 14px; }
  .page-hero.hero-form h1 { font-size: 22px; margin-bottom: 4px; }
  .page-hero.hero-form p { font-size: 13.5px; line-height: 1.5; }
  .page-hero.hero-form h2 { display: none; }
}

/* phones: a table or grid wider than the screen scrolls inside its card (was: cut off, or the whole page became wider than the screen) */
@media screen and (max-width: 768px) {
  main .card { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* place/city autocomplete dropdown: always-dark text + a clearer border so the box stands out on the cream page */
.place-suggestions .suggestion-item{color:#2C1810 !important}
.place-suggestions{border:2px solid #C9A94E !important;box-shadow:0 10px 30px rgba(0,0,0,.25) !important}

/* footer: wrap the long quick-links list into columns + give it room, so the footer isn't one tall scroll */
.footer-col ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:7px 18px;align-content:start}
.footer-col ul li{margin:0}
@media (min-width:769px){.footer-grid{grid-template-columns:1.6fr 2.2fr 1.3fr 1.5fr}}

/* footer contact: collapsible disclaimer so it isn't a tall wall of text */
.footer-disc{margin-top:2px}
.footer-disc>summary{cursor:pointer;color:var(--gold-lt);font-size:15px;font-weight:600;list-style:none;padding:4px 0}
.footer-disc>summary::-webkit-details-marker{display:none}
.footer-disc>summary::after{content:"  \25BE";opacity:.8;font-size:12px}
.footer-disc[open]>summary::after{content:"  \25B4"}

/* ── English edition page components (palette variables are mapped below) ── */
img{max-width:100%;height:auto}
.skip{position:absolute;left:-9999px} .skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:10}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}


/* page */
.page{padding-top:20px;padding-bottom:40px}
h1,h2,h3{font-family:var(--serif);line-height:1.25;color:var(--brand)}
h1{font-size:clamp(28px,4vw,40px);margin:.2em 0 .4em}
h2{font-size:24px;margin:1.6em 0 .5em}
h3{font-size:19px;margin:1.4em 0 .4em}
.lead{font-size:18px;color:#36334a;max-width:72ch}
.prose{max-width:76ch}
.prose li{margin:.3em 0}
.small{font-size:14px;color:var(--muted)}
.crumbs{font-size:14px;color:var(--muted)} .crumbs a{color:var(--muted)}
.actions{display:flex;gap:10px;flex-wrap:wrap}

/* cards, buttons, forms */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:20px 0;box-shadow:0 1px 2px rgba(20,17,39,.04)}
.btn{display:inline-block;background:var(--gold);color:#1a1300;border:0;border-radius:10px;padding:12px 20px;font:600 16px/1.2 var(--sans);text-decoration:none;cursor:pointer;min-height:44px}
.btn:hover{background:#cf9a37;color:#1a1300}
.btn.ghost{background:transparent;color:inherit;border:1.5px solid currentColor}
fieldset.birth{border:0;padding:0;margin:0 0 12px}
legend{font-family:var(--serif);font-size:19px;color:var(--brand);margin-bottom:8px}
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;position:relative}
label{font-weight:600;font-size:15px}
.opt{font-weight:400;color:var(--muted);font-size:13px}
input,select{font:16px var(--sans);padding:10px 12px;border:1.5px solid #cfc8b6;border-radius:8px;background:#fff;color:var(--ink);min-height:44px;width:100%}
input[aria-invalid=true]{border-color:var(--no)}
.err{color:var(--no);font-size:14px;min-height:0}
.err:empty{display:none}
.check{display:flex;gap:8px;align-items:center;font-weight:400;margin:-4px 0 12px}
.check input{width:auto;min-height:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:700px){.row2,.two-col{grid-template-columns:1fr}}
.star-alt summary{cursor:pointer;color:var(--brand-2);margin:4px 0 10px}
.ac-list{position:absolute;left:0;right:0;top:100%;z-index:20;background:#fff;border:1.5px solid #cfc8b6;border-radius:8px;max-height:240px;overflow:auto;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.ac-list[hidden]{display:none}
.ac-list div{padding:9px 12px;cursor:pointer;border-bottom:1px solid #f0ebde}
.ac-list div:hover,.ac-list div[aria-selected=true]{background:var(--gold-soft)}

/* results */
.result h2{margin-top:0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 20px;margin:0 0 12px}
.facts div{display:flex;flex-direction:column}
.facts dt{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.facts dd{margin:0}
.keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0}
.keys>div{background:var(--gold-soft);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column}
.keys span{font-size:13px;color:var(--muted)}
.keys strong{font-family:var(--serif);font-size:22px;color:var(--brand)}
.keys small{color:var(--muted)}
.warn,.ok,.note,.callout{border-radius:8px;padding:10px 14px}
.warn{background:var(--warn-bg);color:var(--warn)}
.ok{background:var(--ok-bg);color:var(--ok)}
.note{background:#f1eefc;color:#3a3360}
.callout{background:var(--gold-soft)}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{border-collapse:collapse;width:100%;font-size:15px;margin:8px 0 12px}
.tbl caption{text-align:left;color:var(--muted);font-size:14px;padding-bottom:6px}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.tbl thead th{background:#f4f0e6;font-size:14px}
.tbl tr.now{background:var(--gold-soft)}
.badge{display:inline-block;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700;white-space:nowrap}
.badge.ag{background:var(--ok-bg);color:var(--ok)} .badge.pa{background:var(--warn-bg);color:var(--warn)} .badge.no{background:var(--no-bg);color:var(--no)}

/* South Indian chart */
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:12px 0}
.chart{margin:0}
.chart-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,minmax(64px,auto));border:2px solid var(--brand);max-width:420px;aspect-ratio:1/1;background:#fff}
.chart-cell{border:1px solid #cfc8b6;padding:4px;font-size:13px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:2px 6px;position:relative}
.chart-cell .sign{width:100%;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.chart-cell .pl{font-weight:700;color:var(--brand)}
.chart-cell.asc{background:var(--gold-soft)}
.asc-tag{color:var(--gold);font-size:12px}
.chart-center{display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);color:var(--muted);padding:8px}

/* lists, nav */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:8px 0 10px}
.tile{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-decoration:none;color:var(--ink)}
.tile strong{font-family:var(--serif);font-size:19px;color:var(--brand)}
.tile:hover{border-color:var(--gold)}
.nak-links{columns:3 160px;padding-left:18px}
.factbox{max-width:760px}
.prevnext{display:flex;justify-content:space-between;gap:10px;margin-top:24px;flex-wrap:wrap}
.cta{background:var(--gold-soft);border-color:#ecd9ad}



/* Western edition additions (18 Oct 2026) */
.field.narrow{max-width:320px}
.gl{font-family:"Segoe UI Symbol","Noto Sans Symbols","Noto Sans Symbols 2","Apple Symbols",var(--sans)}
.chart-layout{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:24px;align-items:start;margin:12px 0}
@media (max-width:820px){.chart-layout{grid-template-columns:1fr}}
.wheel-wrap{margin:0}
.wheel{width:100%;max-width:420px;height:auto;display:block}
.wheel text{font-family:"Segoe UI Symbol","Noto Sans Symbols","Noto Sans Symbols 2","Apple Symbols",var(--sans)}
.w-outer{fill:#fff;stroke:var(--brand);stroke-width:2}
.w-ring{fill:none;stroke:#cfc8b6;stroke-width:1}
.w-inner{fill:#fbf8f1;stroke:#cfc8b6;stroke-width:1}
.w-tick{stroke:#cfc8b6;stroke-width:1}
.w-sign{font-size:17px}
.w-el0{fill:#b23a1e} .w-el1{fill:#4d7a2a} .w-el2{fill:#8a6d00} .w-el3{fill:#1f5f8b}
.w-cusp{stroke:#d9d2c0;stroke-width:1}
.w-angle{stroke:var(--brand);stroke-width:2}
.w-house{font-size:10px;fill:var(--muted)}
.w-mark{stroke:var(--brand);stroke-width:1.5}
.w-planet{font-size:15px;fill:var(--brand)}
.w-asp{stroke-width:1;opacity:.75}
.w-trine,.w-sextile{stroke:#2563a8}
.w-square,.w-opposition{stroke:#b02525}
.tiles.signs .tile span{font-size:14px}
.now{background:var(--gold-soft);border-color:#ecd9ad}
/* ── horoscopes, calendars, articles, FAQ (19 Oct 2026) ── */
.sign-picker{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0}
.sign-picker a,.sign-picker .cur{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;font-size:14px;color:var(--brand-2)}
.sign-picker .cur{background:var(--gold);border-color:var(--gold);color:#1a1300;font-weight:700}
.tabs,.daynav{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px}
.tabs a,.daynav a{padding:8px 14px;border-radius:8px;background:#fff;border:1px solid var(--line);text-decoration:none;font-size:15px}
.tabs a[aria-current=page],.daynav a[aria-current=page]{background:var(--brand);border-color:var(--brand);color:#fff}
.horo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:16px 0}
.horo-card{margin:0}
.horo-card h2{margin:0 0 4px;font-size:21px} .horo-card h2 a{text-decoration:none}
.horo-card .links{font-size:14px;margin-bottom:0}
.horo-item{border-left:3px solid var(--gold);padding:2px 0 2px 14px;margin:14px 0}
.horo-item h3{margin:0 0 4px;font-size:18px}
.horo-item p{margin:4px 0}
.when{font:400 13px var(--sans);color:var(--muted);margin-left:6px;white-space:nowrap}
ul.plain{list-style:none;padding-left:0} ul.plain li{margin:6px 0}
.toc{max-width:76ch} .toc ol{margin:6px 0 0;padding-left:20px} .toc li{margin:3px 0}
.faq details{border-bottom:1px solid var(--line);padding:10px 0;max-width:80ch}
.faq summary{cursor:pointer;font-weight:600;color:var(--brand)}
.faq details p{margin:8px 0 4px}
.results li{margin:10px 0}
.searchform{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap} .searchform .field{flex:1;min-width:220px;margin:0}
textarea{font:16px/1.5 var(--sans);padding:10px 12px;border:1.5px solid #cfc8b6;border-radius:8px;background:#fff;color:var(--ink);width:100%;resize:vertical}
textarea[aria-invalid=true]{border-color:var(--no)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media (max-width:760px){ .horo-grid{grid-template-columns:1fr} .when{display:block;margin-left:0} }

/* ═══ English edition (/en/) – same theme as the Indian editions (colours, header, footer from above);
   the rules below style the English pages' own components in that palette. ═══ */
:root{
  --ink:var(--text); --muted:var(--text-lt); --line:#E5D8B8; --paper:var(--cream); --card:#fff;
  --brand:var(--red-dark); --brand-2:var(--red); --gold-soft:var(--cream-dk);
  --ok:#1A5C2A; --ok-bg:#D4EDDA; --warn:#7A5C00; --warn-bg:#FFF8E0; --no:#a32222; --no-bg:#fbe7e7;
  --serif:var(--font-main); --sans:'Noto Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}
body{overflow-x:hidden}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px} .skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:1000}
/* page banner: the breadcrumb and h1 of every page form the red band the Indian editions use (.page-hero) */
.page{padding-top:0;padding-bottom:40px}
.page > .crumbs{margin:0 calc(50% - 50vw);padding:22px calc(50vw - 50%) 0;background:linear-gradient(135deg,var(--red-dark),var(--red));color:rgba(255,255,255,.75);text-align:center;font-size:13px}
.page > .crumbs a{color:rgba(255,255,255,.85)} .page > .crumbs span{color:var(--gold-lt);font-weight:600}
.page > h1{margin:0 calc(50% - 50vw) 24px;padding:8px calc(50vw - 50%) 34px;background:linear-gradient(135deg,var(--red-dark),var(--red));color:var(--gold-lt);text-align:center;font-size:clamp(26px,4vw,36px)}
.page > h1 .gl{color:var(--gold-lt)}
.page > h1:first-child{padding-top:34px}
h1,h2,h3{font-family:var(--font-main);line-height:1.3;color:var(--red-dark)}
h2{font-size:24px;margin:1.6em 0 .55em} h3{font-size:19px;margin:1.3em 0 .4em}
.page p,.page ul,.page ol,.page dl,.page table{margin-bottom:1em}
.page ul,.page ol{padding-left:1.4em} .page li{margin:.3em 0}
ul.plain,.sign-picker,.tabs,.daynav{padding-left:0}
.lead{font-size:18px;color:var(--text-lt);max-width:80ch}
.prose{max-width:80ch} .prose p{color:var(--text-lt);line-height:1.85}
/* home hero */
.hero{background:linear-gradient(135deg,var(--red-dark) 0%,var(--red) 50%,#A0280A 100%);padding:56px 0;color:#fff}
.hero h1{font-size:44px;color:var(--gold-lt);text-shadow:0 2px 8px rgba(0,0,0,.4);margin:0 0 14px}
.hero .lead{color:rgba(255,255,255,.88)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
@media (max-width:768px){.hero h1{font-size:28px}}
/* cards, buttons, forms in the theme's style */
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin:20px 0;overflow:visible}
.btn{display:inline-block;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff !important;border:none;border-radius:8px;padding:12px 24px;font:600 15px/1.2 var(--font-main);cursor:pointer;box-shadow:0 3px 10px rgba(139,26,26,.35);min-height:44px;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(139,26,26,.45);color:#fff !important}
.btn.ghost{background:transparent;border:2px solid var(--red);color:var(--red) !important;box-shadow:none}
.hero .btn{border:2px solid rgba(255,255,255,.7)} .hero .btn.ghost{border-color:rgba(255,255,255,.85);color:#fff !important}
label{color:var(--text)}
input,select,textarea{font-family:var(--font-main) !important;border-color:#D5C5A0 !important}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red) !important;box-shadow:0 0 0 3px rgba(139,26,26,.12)}
.result{border-top:4px solid var(--red)}
.tile{background:var(--cream);border:1px solid var(--line);border-radius:12px;transition:all .25s;color:var(--text) !important}
.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--red)}
.tile strong{color:var(--red-dark)}
.tbl thead th{background:var(--cream-dk);color:var(--text-lt);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.tbl th,.tbl td{border-bottom:1px solid #F0E8D0}
.tbl tr.now td,.tbl tr.now th{background:#FFF3D6}
.keys>div{background:var(--cream-dk);border:1px solid var(--line)}
.keys strong{color:var(--red-dark)}
.note{background:#FFF8E0;color:#7A5C00;border:1px solid #F0D88A}
.callout{background:var(--cream-dk);border:1px solid var(--line)}
.tabs a[aria-current=page],.daynav a[aria-current=page]{background:linear-gradient(135deg,var(--red),var(--red-dark));border-color:var(--red-dark);color:#fff}
.sign-picker .cur{background:var(--gold);border-color:var(--gold);color:#fff}
.horo-item{border-left-color:var(--gold)}
.faq summary{color:var(--red-dark)}
.faq details[open] summary{color:var(--red)}
.w-outer,.w-angle,.w-mark{stroke:var(--red-dark)} .w-planet{fill:var(--red-dark)} .w-inner{fill:var(--cream)}
.footer-search input{margin-top:10px;max-width:260px;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.3) !important;background:rgba(255,255,255,.1);color:#fff;min-height:0}
.footer-search input::placeholder{color:rgba(255,255,255,.6)}
.site-footer ul{list-style:none}
.footer-col ul li{margin:4px 0}
@media print{.lang-switch,.topbar,.site-header,.site-footer,form,.actions{display:none}.card{box-shadow:none;border:0}.page > h1,.page > .crumbs{background:none;color:#000}}
/* ── premium report, payment, account (20 Oct 2026) ── */
.en-offer{border:2px solid var(--gold);background:linear-gradient(180deg,#FFF8E6,#fff)}
.en-offer h2{margin-top:0}
.en-offer-list{columns:2 260px;margin:8px 0 14px}
.en-offer-list li{break-inside:avoid}
.en-offer-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.en-keep{border:2px solid #16a34a;background:#f3fbf5} .en-keep h2{margin-top:0;color:#14532d}
.en-tools{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 20px}
.en-report h2{margin-top:0}
/* locked part of a report section, Tamil jathagam style: taste lines fading out, then a blurred area with a centred card */
.en-lock{position:relative;margin:14px 0 4px}
.en-taste{position:relative;max-height:150px;overflow:hidden;margin:14px 0 0}
.en-taste::after{content:"";position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none}
.en-lock-area{position:relative;height:150px;margin:6px 0 0;overflow:hidden}
.en-lock-skel{position:absolute;inset:0;padding:10px 4px;display:flex;flex-direction:column;gap:13px;filter:blur(5px);opacity:.55;pointer-events:none}
.en-lock-skel span{display:block;height:13px;border-radius:7px;background:linear-gradient(90deg,#d9c9a3,#efe4c9)}
.en-lock-skel span:nth-child(1){width:96%}.en-lock-skel span:nth-child(2){width:88%}.en-lock-skel span:nth-child(3){width:93%}
.en-lock-skel span:nth-child(4){width:71%}.en-lock-skel span:nth-child(5){width:90%}.en-lock-skel span:nth-child(6){width:64%}
.en-lock-hit{position:absolute;inset:0;z-index:1}
.en-pstrip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 0;padding:12px 16px;border:1.5px solid #e2c98f;border-left:4px solid var(--gold);border-radius:10px;background:#fff8e6}
.en-pstrip-x{min-width:0}
.en-lock .en-pstrip-h{margin:0;font:700 13px/1.3 var(--sans,inherit);letter-spacing:.06em;text-transform:uppercase;color:var(--red-dark)}
.en-lock .en-pstrip-t{margin:3px 0 0;font-size:14.5px;line-height:1.5;color:#5b4a2a}
.btn.en-buy,.en-ubar-b{background:#16a34a;box-shadow:0 4px 14px rgba(22,163,74,.35);color:#fff !important}
.btn.en-buy:hover,.en-ubar-b:hover{background:#15803d;box-shadow:0 6px 18px rgba(22,163,74,.45)}
.btn.en-buy{flex:0 0 auto;font-size:15px;font-weight:700;padding:11px 22px;white-space:nowrap}
/* fixed unlock bar at the bottom of the report page (shown while scrolling, hidden while an offer card's own button is on screen) */
.en-ubar{display:none}
.en-ubar.on{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:8500;align-items:center;justify-content:center;gap:16px;padding:10px 16px;background:var(--red-dark);color:#fff;box-shadow:0 -4px 16px rgba(0,0,0,.25)}
.en-ubar-t{font-size:15px;font-weight:600;line-height:1.35;max-width:640px}
.en-ubar-b{flex:0 0 auto;text-decoration:none;font-weight:800;font-size:15px;padding:10px 18px;border-radius:8px;white-space:nowrap}
body.en-has-ubar{padding-bottom:64px}
body.en-has-ubar .fbw{bottom:76px !important}
@media (max-width:600px){.en-lock-area{height:120px}.en-pstrip{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.btn.en-buy{width:100%;box-sizing:border-box;text-align:center}.en-ubar.on{justify-content:space-between;gap:10px;padding:10px 12px}.en-ubar-t{font-size:13.5px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
.en-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.en-plan{margin:0;text-align:center}
.en-plan.sel{border:2px solid var(--gold);box-shadow:var(--shadow)}
.en-price{font:700 34px/1.1 var(--font-main);color:var(--red-dark);margin:6px 0 10px}
.en-balance th{width:110px}
.en-bar{display:inline-block;height:10px;border-radius:5px;background:var(--red);vertical-align:middle;margin-right:6px;min-width:2px;max-width:60%}
.en-bar.mode{background:var(--gold)}
.en-acc{max-width:620px;margin:20px auto}
.en-acc-me{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border:1px solid #bfe3c9;border-radius:10px;background:#f3fbf5;margin:0 0 10px}
.en-acc-me form{margin:0}
.en-acc-item h2{margin-top:0;font-size:20px}
.en-tag{display:inline-block;font-size:12px;font-weight:700;border-radius:20px;padding:3px 10px;background:#dcfce7;color:#14532d}
.en-tag.gold{background:#c9962e;color:#fff} .en-tag.grey{background:#e5e7eb;color:#374151}
@media print{.no-print,.en-lock-acts,.en-ubar,.fbw{display:none !important}.en-taste{max-height:none}.en-taste::after,.en-lock-area{display:none}.en-pstrip{border:1px solid #ccc;background:none}}

/* report contents and collapsible sections */
.en-toc ol{margin:6px 0 10px 20px;padding:0;columns:2;column-gap:28px}
.en-toc li{margin:3px 0;break-inside:avoid}
.en-toc .small{color:#777}
details.en-report>summary{cursor:pointer;list-style:none;position:relative;padding-right:28px}
details.en-report>summary::-webkit-details-marker{display:none}
details.en-report>summary::after{content:"▾";position:absolute;right:4px;top:2px;font-size:20px;color:var(--gold,#b8860b);transition:transform .15s}
details.en-report:not([open])>summary::after{transform:rotate(-90deg)}
details.en-report>summary h2{display:inline;margin:0}
details.en-report:not([open]){padding-bottom:12px}
.en-top{text-align:right;margin:8px 0 0;font-size:14px}
@media (max-width:640px){.en-toc ol{columns:1}}
@media print{.en-toc .btn,.en-top{display:none}details.en-report>summary::after{display:none}}

/* Vedic section: South Indian chart grid, North Indian chart, sub-navigation */
.vedic-nav{flex-wrap:wrap}
.vedic-note{margin:6px 0 14px}
.vchart{margin:0;max-width:420px;width:100%}
.vchart-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,minmax(70px,auto));border:2px solid #8B1A1A;background:#fffdf7}
.vchart-cell{border:1px solid #d9c9a3;padding:4px 5px;display:flex;flex-direction:column;gap:2px;min-height:70px}
.vchart-cell.asc{background:#fff3d6}
.vchart-sign{font-size:10.5px;color:#8a7458}
.vchart-pl{font-size:13px;font-weight:700;color:#2C1810;line-height:1.35}
.vchart-centre{grid-column:2/4;grid-row:2/4;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;color:#8B1A1A;padding:8px;border:1px solid #d9c9a3}
.vchart-north{margin:0;max-width:340px;width:100%}
.vnorth{width:100%;height:auto;background:#fffdf7}
.vcharts{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;margin:14px 0}
.dasha-now{background:#fff3d6}
/* Vedic kundli report: ashtakavarga table */
.tbl.av th, .tbl.av td { text-align: center; padding: .3rem .4rem; }
.tbl.av td.av-hi { background: #e6f4ea; }
.tbl.av td.av-lo { background: #fdecea; }

/* sign illustrations (images/signs/*.svg) beside the page heading */
.page > .sign-art{float:right;width:96px;height:96px;margin:4px 0 10px 18px}
.page > .sign-art-pair{width:auto;height:auto;display:flex;gap:6px}
.page > .sign-art-pair img{width:80px;height:80px}
.page > .sign-art ~ aside, .page > .sign-art ~ section, .page > .sign-art ~ nav, .page > .sign-art ~ div, .page > .sign-art ~ form, .page > .sign-art ~ details{clear:both}
@media (max-width:600px){.page > .sign-art{width:64px;height:64px;margin-left:12px}.page > .sign-art-pair{width:auto;height:auto}.page > .sign-art-pair img{width:56px;height:56px}}
