.k9cal{--b:#e5e7eb;--ink:#111827;--muted:#6b7280;--card:#fff;--soft:#f8fafc;--special:#f59e0b;--holiday:#ef4444;--today:#2563eb;--temple:#0f766e;max-width:1120px;margin:24px auto;font-family:system-ui,-apple-system,"Noto Sans Malayalam",sans-serif;color:var(--ink);line-height:1.4}
.k9cal *{box-sizing:border-box}
.k9cal-toolbar,.k9cal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.k9cal-title{text-align:center;display:flex;flex-direction:column;gap:2px}
.k9cal-title strong{font-size:1.35rem}.k9cal-title span{color:var(--muted);font-size:.92rem}
.k9cal-nav,.k9cal-today,.k9cal-close,.k9cal-detail-nav button,.k9cal-detail-nav a,.k9cal-filters button{border:1px solid var(--b);background:#fff;border-radius:10px;padding:8px 14px;cursor:pointer;color:var(--ink);font:inherit}
.k9cal-nav{font-size:1.4rem}.k9cal-nav:hover,.k9cal-today:hover,.k9cal-detail-nav button:hover,.k9cal-detail-nav a:hover,.k9cal-filters button:hover{background:var(--soft)}
.k9cal-jump-wrap{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}
.k9cal-date-jump{border:1px solid var(--b);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink)}
.k9cal-legend{display:flex;gap:16px;flex-wrap:wrap;padding:9px 12px;background:var(--soft);border:1px solid var(--b);border-radius:10px;margin-bottom:9px;font-size:.78rem;color:var(--muted)}
.k9cal-legend span{display:flex;align-items:center;gap:6px}.k9cal-dot{width:9px;height:9px;border-radius:999px;display:inline-block}.k9cal-dot-special{background:var(--special)}.k9cal-dot-holiday{background:var(--holiday)}.k9cal-dot-today{background:var(--today)}.k9cal-dot-temple{background:var(--temple)}
.k9cal-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 9px}
.k9cal-filters button{padding:6px 10px;font-size:.76rem;color:var(--muted)}
.k9cal-filters button.is-active{border-color:#cbd5e1;background:#f1f5f9;color:var(--ink);font-weight:700}
.k9cal-weekheads,.k9cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;min-width:0}
.k9cal-weekheads>div{font-weight:700;text-align:center;padding:9px 4px;font-size:.92rem;min-width:0}.k9cal-weekheads span{font-size:.72rem;color:var(--muted);font-weight:500}
.k9cal-cell{text-decoration:none!important;min-height:150px;min-width:0;width:100%;max-width:100%;background:var(--card);border:1px solid var(--b);border-radius:12px;padding:9px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px;position:relative;transition:.15s ease;overflow:hidden;font:inherit;color:inherit}
.k9cal-cell:hover{box-shadow:0 4px 18px rgba(0,0,0,.08);transform:translateY(-1px)}
.k9cal-cell:focus{outline:none}.k9cal-cell:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:1px}
.k9cal-empty{border:none;background:transparent;cursor:default;min-height:0}
.k9cal-gdate{font-size:1.75rem;font-weight:800;line-height:1}
.k9cal-mdate{position:absolute;top:9px;right:10px;font-weight:800;font-size:.9rem}
.k9cal-mmonth{font-size:.78rem;color:var(--muted);font-weight:600}
.k9cal-weekday-mobile{display:none;font-size:.7rem;color:var(--muted);font-weight:650}
.k9cal-mini{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k9cal-mini b{color:var(--ink);font-weight:650}
.k9cal-tag{font-size:.68rem;display:inline-block;border-radius:999px;padding:3px 7px;margin-top:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k9cal-tag-special{background:#fff7ed}.k9cal-tag-holiday{background:#fef2f2}.k9cal-tag-temple{background:#ecfdf5;color:#065f46}
.k9cal-has-special{border-top:3px solid var(--special)}.k9cal-has-holiday{background:#fffafa}.k9cal-has-temple{box-shadow:inset 3px 0 0 rgba(15,118,110,.72)}
.k9cal-is-today{outline:3px solid rgba(37,99,235,.25);border-color:var(--today)}
.k9cal-selected{outline:3px solid rgba(37,99,235,.45);outline-offset:1px;border-color:var(--today)}
.k9cal-filter-dim{opacity:.28;filter:saturate(.55)}.k9cal-filter-dim:hover{opacity:.58}
.k9cal-detail{margin-top:18px;border:1px solid var(--b);border-radius:14px;padding:18px;background:#fff;position:relative;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.k9cal-close{position:absolute;right:12px;top:12px;font-size:1.25rem;z-index:2}
.k9cal-detail-head{display:flex;justify-content:space-between;gap:18px;padding-right:42px;align-items:flex-start}
.k9cal-detail-date{font-size:1.3rem;font-weight:800}.k9cal-detail-ml{color:var(--muted);margin-top:4px}
.k9cal-detail-nav{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.k9cal-detail-nav button,.k9cal-detail-nav a{font-size:.76rem;padding:6px 9px;text-decoration:none!important}
.k9cal-share{border-color:#cbd5e1!important}
.k9cal-glance{margin-top:16px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff;padding:12px}
.k9cal-glance h3{margin:0 0 10px;font-size:.9rem}
.k9cal-glance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.k9cal-glance-grid>div{min-width:0;background:#fff;border:1px solid #e5edf8;border-radius:9px;padding:9px}
.k9cal-glance-grid span{display:block;color:var(--muted);font-size:.69rem;margin-bottom:3px}.k9cal-glance-grid strong{display:block;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k9cal-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.k9cal-detail-grid section,.k9cal-wide{border:1px solid var(--b);border-radius:10px;padding:11px;background:#fff}
.k9cal-detail h3{font-size:.88rem;margin:0 0 6px}.k9cal-detail h4{font-size:.84rem;margin:14px 0 8px}.k9cal-detail p{margin:0;line-height:1.6}
.k9cal-wide{margin-top:10px}.k9cal-accent-special{border-left:4px solid var(--special)}.k9cal-accent-note{border-left:4px solid var(--today);background:#f8fbff}.k9cal-accent-holiday{border-left:4px solid var(--holiday)}.k9cal-accent-temple{border-left:4px solid var(--temple);background:#fbfffd}
.k9cal-empty-state{color:var(--muted);font-size:.86rem}
.k9cal-temple-panel{margin-top:10px;border:1px solid #cfe8df;border-left:4px solid var(--temple);border-radius:10px;padding:13px;background:#fbfffd}
.k9cal-temple-head h3{margin:0 0 3px}.k9cal-temple-head p{font-size:.78rem;color:var(--muted)}
.k9cal-temple-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.k9cal-temple-time{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;border:1px solid #d9eee7;border-radius:8px;background:#fff;padding:8px;min-width:0}
.k9cal-temple-time strong{font-size:.78rem;color:#0f766e;white-space:nowrap}.k9cal-temple-time span{font-size:.78rem;line-height:1.45}
.k9cal-temple-details{margin-top:12px;border-top:1px solid #d9eee7;padding-top:10px}
.k9cal-temple-details summary{cursor:pointer;font-weight:700;font-size:.84rem;color:#115e59}
.k9cal-temple-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.k9cal-alert,.k9cal-error,.k9cal-loading{padding:14px;border-radius:10px;background:var(--soft);color:var(--muted);grid-column:1/-1}.k9cal-missing{opacity:.7}
@media(max-width:980px){.k9cal-glance-grid{grid-template-columns:repeat(3,1fr)}.k9cal-temple-main{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){.k9cal-cell{min-height:142px}.k9cal-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.k9cal-weekheads{display:none}.k9cal-grid{grid-template-columns:repeat(2,1fr)}.k9cal-cell{min-height:132px}.k9cal-empty{display:none}.k9cal-weekday-mobile{display:block}.k9cal-detail-head{flex-direction:column}.k9cal-detail-nav{width:100%;justify-content:flex-start}.k9cal-glance-grid{grid-template-columns:repeat(2,1fr)}.k9cal-temple-schedule{grid-template-columns:1fr}}
@media(max-width:460px){.k9cal-grid,.k9cal-detail-grid,.k9cal-temple-main,.k9cal-glance-grid{grid-template-columns:1fr}.k9cal-actions{align-items:stretch;flex-direction:column}.k9cal-jump-wrap{justify-content:space-between}.k9cal-cell{min-height:122px}.k9cal-legend{gap:10px}.k9cal-filters button{flex:1 1 calc(50% - 7px)}.k9cal-temple-time{grid-template-columns:88px 1fr}}


.k9cal-guruvayur-event{margin:10px 0 13px;border:1px solid #a7d9ca;border-radius:9px;background:#f0fdfa;padding:10px 11px}
.k9cal-guruvayur-event h4{margin:0 0 5px;color:#115e59;font-size:.88rem}
.k9cal-guruvayur-event p{margin:0;font-size:.92rem;line-height:1.55}
.k9cal-guruvayur-event .k9cal-empty-state{color:var(--muted);font-size:.82rem}
.k9cal-other-temples{background:#fff}
.k9cal-temple-note{margin:9px 0 0;color:var(--muted);font-size:.72rem;line-height:1.45}


.k9cal-route-intro{margin:0 0 14px;padding:13px 15px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.k9cal-route-intro h1{font-size:1.2rem;margin:0 0 5px}.k9cal-route-intro p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.55}
.k9cal-ssr-day .k9cal-detail-date{margin:0;font-size:1.3rem}
.k9cal-browse{margin-top:16px;border:1px solid var(--b);border-radius:12px;background:#fff;padding:10px 12px}
.k9cal-browse>summary{cursor:pointer;font-weight:700;font-size:.84rem;color:#374151}
.k9cal-browse-months,.k9cal-browse-days{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.k9cal-browse-months a,.k9cal-browse-days a{display:inline-flex;align-items:center;border:1px solid var(--b);border-radius:999px;padding:5px 9px;background:#fff;color:var(--ink);text-decoration:none!important;font-size:.75rem;line-height:1.2}
.k9cal-browse-months a:hover,.k9cal-browse-days a:hover{background:var(--soft);border-color:#cbd5e1}

/* v0.4.0 — Rahu Kalam Today SEO page + calendar cross-links */
.k9cal-today-glance{margin:0 0 16px;padding:14px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}
.k9cal-today-glance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.k9cal-today-glance-head span{display:block;color:var(--muted);font-size:.74rem;font-weight:700}
.k9cal-today-glance-head h2{margin:2px 0 0;font-size:1.08rem}
.k9cal-today-glance-head>a,.k9cal-today-full,.k9cal-rahu-cta a{display:inline-flex;align-items:center;border:1px solid #bfdbfe;border-radius:999px;padding:7px 10px;background:#fff;color:#1d4ed8;text-decoration:none!important;font-size:.78rem;font-weight:700}
.k9cal-today-glance-head>a:hover,.k9cal-today-full:hover,.k9cal-rahu-cta a:hover{background:#eff6ff}
.k9cal-today-glance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}
.k9cal-today-glance-grid>div{min-width:0;border:1px solid #e5edf8;border-radius:10px;background:#fff;padding:9px}
.k9cal-today-glance-grid span{display:block;color:var(--muted);font-size:.69rem;margin-bottom:3px}
.k9cal-today-glance-grid strong{display:block;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k9cal-today-full{margin-top:10px}
.k9cal-rahu-cta{margin:10px 0 0}
.k9cal-disclaimer{margin-top:18px;padding-top:12px;border-top:1px solid var(--b,#e5e7eb);color:var(--muted,#6b7280);font-size:.7rem;line-height:1.55}
.k9cal-disclaimer strong{color:#4b5563}

.k9rahu{--b:#e5e7eb;--ink:#111827;--muted:#6b7280;--soft:#f8fafc;--accent:#0f766e;--accent-soft:#f0fdfa;max-width:980px;margin:24px auto;font-family:system-ui,-apple-system,"Noto Sans Malayalam",sans-serif;color:var(--ink);line-height:1.5}
.k9rahu *{box-sizing:border-box}
.k9rahu-hero{border:1px solid #cfe8df;border-radius:16px;background:linear-gradient(180deg,#f0fdfa 0%,#ffffff 100%);padding:24px;text-align:center}
.k9rahu-eyebrow{font-size:.75rem;color:#0f766e;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.k9rahu-hero h1{margin:5px 0 4px;font-size:2rem;line-height:1.2;color:var(--ink)}
.k9rahu-date{margin:0;color:var(--muted);font-size:.95rem}
.k9rahu-primary{display:inline-flex;flex-direction:column;gap:3px;margin-top:16px;padding:12px 22px;border:1px solid #a7d9ca;border-radius:13px;background:#fff;min-width:280px}
.k9rahu-primary span{font-size:.78rem;color:#475569}
.k9rahu-primary strong{font-size:1.55rem;color:#115e59;letter-spacing:.01em}
.k9rahu-timing-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
.k9rahu-timing{border:1px solid var(--b);border-radius:12px;background:#fff;padding:13px;min-width:0}
.k9rahu-timing-main{border-color:#99d5c3;background:#f0fdfa}
.k9rahu-timing span{display:block;color:var(--muted);font-size:.72rem;margin-bottom:5px}
.k9rahu-timing strong{display:block;font-size:1rem;white-space:nowrap}
.k9rahu-panchang,.k9rahu-weekly,.k9rahu-about,.k9rahu-unavailable{margin-top:14px;border:1px solid var(--b);border-radius:14px;background:#fff;padding:18px}
.k9rahu-panchang h2,.k9rahu-weekly h2,.k9rahu-about h2,.k9rahu-unavailable h2{margin:0 0 10px;font-size:1.12rem}
.k9rahu-panchang-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.k9rahu-panchang-grid>div{border:1px solid #eef2f7;border-radius:10px;background:#f8fafc;padding:10px;min-width:0}
.k9rahu-panchang-grid span{display:block;color:var(--muted);font-size:.7rem;margin-bottom:4px}
.k9rahu-panchang-grid strong{display:block;font-size:.88rem;overflow-wrap:anywhere}
.k9rahu-calendar-link,.k9rahu-related a,.k9rahu-unavailable a{display:inline-flex;margin-top:12px;border:1px solid #cbd5e1;border-radius:999px;padding:7px 11px;color:#0f766e;background:#fff;text-decoration:none!important;font-size:.8rem;font-weight:700}
.k9rahu-calendar-link:hover,.k9rahu-related a:hover,.k9rahu-unavailable a:hover{background:#f0fdfa}
.k9rahu-day-nav{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:14px}
.k9rahu-day-nav a{border:1px solid var(--b);border-radius:10px;padding:8px 11px;background:#fff;color:var(--ink);text-decoration:none!important;font-size:.78rem}
.k9rahu-day-nav a:hover{background:var(--soft)}
.k9rahu-day-nav .is-current{font-weight:800;border-color:#99d5c3;background:#f0fdfa;color:#115e59}
.k9rahu-section-intro{margin:-2px 0 12px;color:var(--muted);font-size:.82rem}
.k9rahu-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.k9rahu table{width:100%;border-collapse:collapse;min-width:650px;font-size:.82rem}
.k9rahu th,.k9rahu td{padding:10px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}
.k9rahu thead th{background:#f8fafc;color:#475569;font-size:.74rem}
.k9rahu tbody th{font-weight:700;white-space:nowrap}
.k9rahu-about p{margin:0 0 9px;color:#374151;font-size:.9rem;line-height:1.7}
.k9rahu-about p:last-child{margin-bottom:0}
.k9rahu-related{text-align:center}
.k9rahu .k9cal-disclaimer{--b:#e5e7eb;--muted:#6b7280}

@media(max-width:820px){
  .k9cal-today-glance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .k9rahu-timing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .k9rahu-panchang-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .k9cal-today-glance-head{flex-direction:column}
  .k9cal-today-glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k9rahu{margin:16px auto}
  .k9rahu-hero{padding:18px 14px}
  .k9rahu-hero h1{font-size:1.55rem}
  .k9rahu-primary{width:100%;min-width:0;padding:11px 14px}
  .k9rahu-primary strong{font-size:1.35rem}
  .k9rahu-timing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .k9rahu-panchang,.k9rahu-weekly,.k9rahu-about,.k9rahu-unavailable{padding:14px}
  .k9rahu-day-nav{display:grid;grid-template-columns:1fr 1fr}
  .k9rahu-day-nav .is-current{grid-column:1/-1;order:-1;text-align:center}
}
@media(max-width:390px){
  .k9cal-today-glance-grid,.k9rahu-timing-grid,.k9rahu-panchang-grid{grid-template-columns:1fr}
}
.k9rahu-summary{margin:9px auto 0;max-width:680px;color:#475569;font-size:.82rem}


/* v0.4.1 — Malayalam Calendar search-intent content */
.k9cal-seo-content{margin-top:18px;display:grid;gap:12px}
.k9cal-seo-block{border:1px solid var(--b);border-radius:14px;background:#fff;padding:18px}
.k9cal-seo-block h2{margin:0 0 9px;font-size:1.12rem;line-height:1.35;color:var(--ink)}
.k9cal-seo-block p{margin:0 0 9px;color:#374151;font-size:.88rem;line-height:1.7}
.k9cal-seo-block p:last-child{margin-bottom:0}
.k9cal-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0;padding:0;list-style:none}
.k9cal-feature-list li{border:1px solid #e8edf3;border-radius:9px;background:#f8fafc;padding:8px 10px;color:#374151;font-size:.78rem;line-height:1.45}
.k9cal-month-names{font-weight:600;word-spacing:.08em}
.k9cal-faq{display:grid;gap:10px}
.k9cal-faq>h2{margin-bottom:0}
.k9cal-faq-item{border-top:1px solid #edf0f4;padding-top:10px}
.k9cal-faq-item h3{margin:0 0 4px;font-size:.9rem;color:var(--ink)}
.k9cal-faq-item p{font-size:.84rem}
.k9cal-faq-item a{color:#0f766e;font-weight:700;text-decoration:none!important}
.k9cal-faq-item a:hover{text-decoration:underline!important}
.k9cal-route-intro p+p{margin-top:5px}
@media(max-width:760px){.k9cal-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}.k9cal-seo-block{padding:14px}}
@media(max-width:460px){.k9cal-feature-list{grid-template-columns:1fr}}


/* v0.4.2 — explicit page-level calendar headings */
.k9cal-page-heading{margin:0 0 14px;text-align:center}
.k9cal-page-heading h1{margin:0;font-size:1.55rem;line-height:1.25;color:var(--ink);font-weight:800}
.k9cal-page-heading p{margin:5px 0 0;color:var(--muted);font-size:.82rem}
@media(max-width:560px){.k9cal-page-heading h1{font-size:1.3rem}.k9cal-page-heading p{font-size:.76rem}}
