/* Vedic Kathas festival calendar. Colours come from the site tokens, so dark mode follows automatically. */
.vkc-hero{padding-top:20px!important;padding-bottom:14px!important}
.vkc-hero .vk-h1{margin-bottom:8px}
.vkc-leadbox{display:flex;align-items:baseline;gap:6px;max-width:860px}
.vkc-lead{flex:1;min-width:0;margin:0!important;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.vkc-leadbox.open{flex-wrap:wrap}
.vkc-leadbox.open .vkc-lead{display:block;flex-basis:100%;-webkit-line-clamp:unset}
.vkc-readmore{appearance:none;flex:none;padding:2px 0;border:0;background:none;color:var(--rose);font:700 15px/1.4 var(--sans);cursor:pointer;white-space:nowrap}
.vkc-readmore:hover{text-decoration:underline}
.vkc{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;padding-top:8px;padding-bottom:40px}
.vkc-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:16px 18px 12px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.vkc-bar{display:flex;align-items:center;gap:8px}
.vkc-spacer{flex:1}
.vkc-sel{position:relative;display:inline-flex;min-width:0}
.vkc-sel select{appearance:none;-webkit-appearance:none;height:42px;max-width:100%;padding:0 36px 0 16px;border:1px solid var(--line);border-radius:999px;background-color:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:15px;color:var(--ink);font:800 17px/1 var(--sans);cursor:pointer}
.vkc-sel select:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
.vkc-nav{appearance:none;width:42px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer}
.vkc-nav:hover{background:var(--sunk)}
.vkc-nav svg,.vkc-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.vkc-wds,.vkc-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.vkc-wds{margin-top:14px;padding:6px 0 8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:center;color:var(--muted)}
.vkc-days{gap:4px;min-height:420px}
.vkc-day{appearance:none;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:96px;padding:6px 4px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);font:inherit;text-align:center;cursor:default;overflow:hidden}
.vkc-day.fest{cursor:pointer;background:var(--rose-soft,rgba(150,30,60,.08));border-color:var(--rose-line,rgba(150,30,60,.22))}
.vkc-day.fest:hover{filter:brightness(.97)}
.vkc-day .n{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:999px;font-size:15px;font-weight:600}
.vkc-day.out{color:var(--muted);opacity:.45}
.vkc-day.fest .n{color:var(--rose);font-weight:800}
.vkc-day.today .n{background:var(--rose);color:#fff}
.vkc-day.sel{box-shadow:0 0 0 2px var(--rose)}
.vkc-day:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
.vkc-day .vkc-fn{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;max-width:100%;margin:0;padding:0 2px;border:0;border-radius:0;background:none;box-shadow:none;overflow:hidden;white-space:normal;font-size:12px;font-weight:700;line-height:1.25;color:var(--rose);text-align:center;word-break:break-word}
.vkc-day .more{font-size:11px;font-weight:600;line-height:1;color:var(--muted)}
.vkc-day .dots{display:none}
.vkc-hint{display:none;margin:10px 0 0;font-size:12px;text-align:center;color:var(--muted)}
.vkc-days.slide-l{animation:vkc-l .25s ease}
.vkc-days.slide-r{animation:vkc-r .25s ease}
@keyframes vkc-l{from{transform:translateX(28px);opacity:.3}to{transform:none;opacity:1}}
@keyframes vkc-r{from{transform:translateX(-28px);opacity:.3}to{transform:none;opacity:1}}
.vkc-agenda{margin-top:28px}
.vkc-agenda h2,.vkc-side-h{margin:0 0 6px;font-size:20px;font-weight:800;color:var(--ink)}
.vkc-list{list-style:none;margin:0;padding:0}
.vkc-empty{padding:14px 0;color:var(--muted);font-size:14px}
.vkc-side{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}
.vkc-side .vkc-sheet-h{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.vkc-sidesep{margin:18px 0 6px;padding-top:16px;border-top:1px solid var(--line)}
.vkc-fest{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.vkc-list .vkc-fest:first-child,.vkc-side .vkc-fest:first-of-type,.vkc-sheet-body .vkc-fest:first-of-type{border-top:0}
.vkc-fdate{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:58px;border-radius:14px;background:var(--rose-soft,rgba(150,30,60,.08));color:var(--rose);line-height:1}
.vkc-fdate span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.vkc-fdate b{margin-top:3px;font-size:22px;font-weight:800}
.vkc-fbody{min-width:0}
.vkc-fbody h3{margin:2px 0;font-size:17px;font-weight:800;line-height:1.3;color:var(--ink)}
.vkc-fbody h3 a{color:var(--ink);text-decoration:none}
.vkc-fbody h3 a:hover{color:var(--rose)}
.vkc-hi{margin:0;font-family:"Noto Serif Devanagari",serif;font-size:14px;color:var(--muted)}
.vkc-when{margin:4px 0 0;font-size:13px;font-weight:600;color:var(--muted)}
.vkc-fbody .s{margin:6px 0 8px;font-size:14px;line-height:1.55;color:var(--ink)}
.vkc-more{font-size:14px;font-weight:700;color:var(--rose);text-decoration:none}
.vkc-more:hover{text-decoration:underline}
.vkc-sheet{position:fixed;inset:0;z-index:400}
.vkc-sheet[hidden]{display:none}
.vkc-scrim{position:absolute;inset:0;background:rgba(10,10,10,.4);opacity:0;transition:opacity .25s ease}
.vkc-panel{position:absolute;left:0;right:0;bottom:0;max-width:640px;max-height:80vh;margin:0 auto;overflow:auto;overscroll-behavior:contain;padding:8px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:var(--surface);color:var(--ink);box-shadow:0 -12px 40px rgba(0,0,0,.22);transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);outline:none}
.vkc-sheet.open .vkc-scrim{opacity:1}
.vkc-sheet.open .vkc-panel{transform:none}
.vkc-handle{width:42px;height:5px;margin:4px auto 10px;border-radius:999px;background:var(--line)}
.vkc-x{appearance:none;position:absolute;top:10px;right:12px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:999px;background:var(--sunk);color:var(--ink);cursor:pointer}
.vkc-sheet-body .vkc-sheet-h{margin:6px 44px 2px 0;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
html.vkc-lock,html.vkc-lock body{overflow:hidden}
.vkc-all{padding:12px 0 64px}
.vkc-all>h2{margin:0 0 4px;font-size:22px;font-weight:800}
.vkc-mo{margin:24px 0 4px;font-size:16px;font-weight:800;color:var(--rose)}
.vkc-alllist{list-style:none;margin:0;padding:0}
.vkc-alllist li{display:flex;gap:14px;padding:10px 0;border-top:1px solid var(--line);font-size:15px}
.vkc-alllist time{flex:none;width:118px;font-weight:700;color:var(--ink)}
.vkc-alllist span{min-width:0}
.vkc-alllist a,.vkc-alllist strong{font-weight:700;color:var(--ink);text-decoration:none}
.vkc-alllist a:hover{color:var(--rose)}
.vkc-alllist em{font-style:normal;color:var(--muted)}
.vkc-alllist small{display:block;margin-top:2px;font-size:13px;line-height:1.5;color:var(--muted)}
@media (max-width:1023px){
  .vkc{grid-template-columns:minmax(0,1fr)}
  .vkc-side{display:none}
}
@media (max-width:767px){
  .vkc-hero{padding-top:14px!important;padding-bottom:10px!important}
  .vkc-readmore{font-size:14px}
  .vkc-card{padding:12px 10px 10px;border-radius:20px}
  .vkc-bar{gap:6px}
  .vkc-sel select{height:38px;padding:0 30px 0 12px;background-position:right 10px center;font-size:15px}
  .vkc-nav{width:38px;height:38px}
  .vkc-days{gap:3px;min-height:300px}
  .vkc-day{min-height:0;aspect-ratio:1/1.08;gap:2px;padding:2px;border-radius:12px}
  .vkc-day .vkc-fn,.vkc-day .more{display:none}
  .vkc-day .n{width:30px;height:30px;font-size:15px}
  .vkc-day .dots{display:flex;gap:3px;justify-content:center;height:5px}
  .vkc-day .dots i{width:5px;height:5px;border-radius:50%;background:var(--rose)}
  .vkc-day.today .dots i{background:var(--rose)}
  .vkc-hint{display:block}
  .vkc-alllist time{width:96px}
}
@media (max-width:360px){
  .vkc-sel select{padding:0 26px 0 10px;font-size:14px}
  .vkc-nav{width:34px;height:34px}
}
@media (prefers-reduced-motion:reduce){
  .vkc-panel,.vkc-scrim{transition:none}
  .vkc-days.slide-l,.vkc-days.slide-r{animation:none}
}
