/* IAN Panchangam: the rail box, the festival list, the full page and the week table.
   Headings reuse the site's rail heading style (.ian-rail-heading) so the box sits with Most read. */

.ian-panchangam { font-family: var(--newspack-theme-font-heading, inherit); }
.ian-panchangam .ian-rail-heading { font-size: 16px; line-height: 1.2; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: #003da5; border-bottom: 4px solid #ccc; padding-bottom: 6px; margin: 0 0 12px; }
.ian-pan-title { display: flex; align-items: center; gap: 8px; }
.ian-pan-moon { width: 18px; height: 18px; flex: 0 0 18px; }
.ian-pan-place { margin-left: auto; font-size: 12px; letter-spacing: 0.08em; color: #5c5c6b; }
.ian-pan-date { margin: 0 0 8px; font-size: 14px; color: #16161d; }
.ian-pan-vara { color: #5c5c6b; }
.ian-pan-script { color: #5c5c6b; font-weight: 400; margin-left: 4px; }

.ian-pan-limbs { margin: 0; padding: 0; }
.ian-pan-row { display: flex; gap: 12px; padding: 6px 0; border-bottom: 1px solid #e2e2e8; font-size: 14px; line-height: 1.35; }
.ian-pan-row dt { flex: 0 0 90px; margin: 0; color: #5c5c6b; }
.ian-pan-row dd { flex: 1 1 auto; margin: 0; font-weight: 700; color: #16161d; }
.ian-pan-until { font-weight: 400; color: #5c5c6b; font-size: 13px; margin-left: 4px; }

.ian-pan-sub { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #c8102e; font-weight: 800; margin: 12px 0 4px; }
.ian-pan-festivals { list-style: none; margin: 0; padding: 0; }
.ian-pan-festivals li { display: flex; gap: 12px; padding: 6px 0; border-bottom: 1px solid #e2e2e8; font-size: 14px; line-height: 1.3; align-items: baseline; }
.ian-pan-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
.ian-pan-fdate { flex: 0 0 52px; font-weight: 700; color: #003da5; }
.ian-pan-fname { font-weight: 700; color: #16161d; }
.ian-pan-pin { color: #c8102e; font-weight: 700; cursor: help; }
.ian-pan-source { margin: 10px 0 0; font-size: 12px; color: #5c5c6b; }
.ian-pan-source a { color: inherit; }
.ian-pan-more { display: inline-block; margin-left: 8px; font-weight: 700; color: #003da5 !important; }

/* The full list on the page */
.ian-pan-festivals-full li { flex-wrap: wrap; padding: 10px 0; }
.ian-pan-festivals-full .ian-pan-fdate { flex: 0 0 200px; }
.ian-pan-festivals-full .ian-pan-fname { flex: 1 1 auto; font-size: 16px; }
.ian-pan-festivals-full .ian-pan-also { font-weight: 400; color: #5c5c6b; }
.ian-pan-what, .ian-pan-pinnote { flex: 0 0 100%; font-size: 13px; color: #5c5c6b; padding-left: 212px; }
.ian-pan-pinnote { color: #c8102e; }
.ian-pan-festivals-full li.is-past { opacity: 0.55; }

/* The page */
.ian-pan-pick { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 20px; font-size: 14px; }
.ian-pan-pick input[type="date"] { padding: 6px 8px; border: 1px solid #c8c8d0; border-radius: 4px; }
.ian-pan-pick button { padding: 7px 14px; border: 0; border-radius: 4px; background: #003da5; color: #fff; font-weight: 700; cursor: pointer; }
.ian-pan-h { font-size: 24px; margin: 24px 0 8px; }
.ian-pan-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.ian-pan-note { font-size: 13px; color: #5c5c6b; margin: 16px 0; }

/* The week table */
.ian-pan-week { width: 100%; border-collapse: collapse; font-size: 14px; }
.ian-pan-week th, .ian-pan-week td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #e2e2e8; vertical-align: top; }
.ian-pan-week th { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #5c5c6b; }

@media (max-width: 600px) {
  .ian-pan-cols { grid-template-columns: minmax(0, 1fr); }
  .ian-pan-two { grid-template-columns: minmax(0, 1fr); }
  .ian-pan-festivals-full .ian-pan-fdate { flex-basis: 100%; }
  .ian-pan-what, .ian-pan-pinnote { padding-left: 0; }
  .ian-pan-week { display: block; overflow-x: auto; }
}
