/**
 * Panchang — Dawn Vedic
 * Cream paper · maroon #8C2A3A · gold #C89B3C · bronze kickers · sage/rose status
 * Loaded last on panchang.html so page paint wins over mono / cosmic.
 */

.panchang-page {
  --pn-ink: #2A2117;
  --pn-ink-deep: #3C1219;
  --pn-muted: #6B5A44;
  --pn-soft: #9C8D75;
  --pn-kicker: #854F0B;
  --pn-maroon: #8C2A3A;
  --pn-maroon-deep: #6E1F2B;
  --pn-gold: #C89B3C;
  --pn-saffron: #E8A33D;
  --pn-sage: #5D7A4E;
  --pn-sage-bg: #E7F0E1;
  --pn-rose: #A33B3B;
  --pn-rose-bg: #F7E7E3;
  --pn-amber: #C97A2B;
  --pn-amber-bg: #FBEEDB;
  --pn-indigo: #3D4A7A;
  --pn-indigo-bg: #E8EAF4;
  --pn-line: #E6DCC6;
  --pn-line-strong: #D8C9A8;
  --pn-paper: #FFFDF8;
  --pn-cream: #F6F1E7;
  --pn-ivory: #FFF8EC;
  --pn-sand: #FBF3E4;
  --pn-shadow: 0 10px 28px rgba(58, 42, 18, 0.08);
  --pn-shadow-lg: 0 16px 40px rgba(58, 42, 18, 0.12);
  color: var(--pn-ink);
  background:
    radial-gradient(circle at 14% -8%, rgba(232, 163, 61, 0.14), transparent 30rem),
    radial-gradient(circle at 90% 14%, rgba(140, 42, 58, 0.07), transparent 26rem),
    linear-gradient(180deg, #F6F1E7 0%, #FBF6EC 48%, #F6F1E7 100%);
}

.panchang-page .page-shell,
.panchang-page main {
  background: transparent;
}

/* ── Hero ─────────────────────────────────────────────────────────────── */
.panchang-page .pn-hero {
  padding: clamp(2.5rem, 6vw, 4rem) 0 1.5rem !important;
  border-bottom: 1px solid var(--pn-line);
  background: linear-gradient(165deg, #FFFDF8 0%, #FBF3E4 100%);
}

.panchang-page .pn-hero .eyebrow {
  margin: 0 0 0.55rem;
  color: var(--pn-kicker) !important;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.panchang-page .pn-hero h1 {
  margin: 0 !important;
  max-width: none !important;
  color: var(--pn-ink-deep) !important;
  font: 700 clamp(2.5rem, 5vw, 3.75rem)/1.05 "Cormorant Garamond", Georgia, serif !important;
  letter-spacing: -0.02em;
}

.panchang-page .pn-lead {
  max-width: 46rem;
  margin: 0.75rem 0 0 !important;
  color: var(--pn-muted) !important;
  font-size: 1.05rem;
  line-height: 1.55;
}

/* ── Layout ───────────────────────────────────────────────────────────── */
.panchang-page .pn-main {
  padding-top: 1.5rem;
  padding-bottom: clamp(3rem, 6vw, 5rem);
  background: transparent;
}

.panchang-page .pn-layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.5rem;
  width: 100%;
  max-width: 72rem;
}

.panchang-page .pn-form {
  position: static;
  padding: clamp(1.25rem, 3vw, 1.5rem);
  border: 1px solid var(--pn-line) !important;
  border-radius: 18px;
  background: var(--pn-paper) !important;
  box-shadow: var(--pn-shadow) !important;
}

.panchang-page .pn-form h2 {
  color: var(--pn-ink-deep) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

.panchang-page .pn-form-note {
  color: var(--pn-muted) !important;
}

/* ── Results ──────────────────────────────────────────────────────────── */
.panchang-page .pn-results {
  display: grid;
  gap: 1.25rem;
}

.panchang-page .pn-results-head {
  padding: clamp(1.15rem, 2.5vw, 1.5rem);
  border: 1px solid var(--pn-line);
  border-radius: 18px;
  background: var(--pn-paper);
  box-shadow: var(--pn-shadow);
}

.panchang-page .pn-results-head .eyebrow {
  margin: 0;
  color: var(--pn-kicker) !important;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.panchang-page .pn-results-head h2 {
  margin: 0.35rem 0 0.4rem !important;
  color: var(--pn-ink-deep) !important;
  font: 700 clamp(1.65rem, 3.2vw, 2.25rem)/1.15 "Cormorant Garamond", Georgia, serif !important;
}

.panchang-page .pn-sub {
  margin: 0 !important;
  color: var(--pn-muted) !important;
  font-size: 0.95rem;
  line-height: 1.5;
}

/* ── Blocks ───────────────────────────────────────────────────────────── */
.panchang-page .pn-block {
  padding: clamp(1.15rem, 3vw, 1.5rem) !important;
  border: 1px solid var(--pn-line) !important;
  border-radius: 18px !important;
  background: var(--pn-paper) !important;
  box-shadow: var(--pn-shadow);
  color: var(--pn-ink);
}

.panchang-page .pn-block h3 {
  margin: 0 0 0.75rem !important;
  color: var(--pn-ink-deep) !important;
  font: 700 1.35rem/1.2 "Cormorant Garamond", Georgia, serif !important;
}

.panchang-page .pn-muted {
  margin: -0.15rem 0 0.85rem !important;
  color: var(--pn-muted) !important;
  font-size: 0.9rem;
  line-height: 1.5;
}

.panchang-page .pn-block a {
  color: var(--pn-maroon);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.panchang-page .pn-block a:hover {
  color: var(--pn-maroon-deep);
}

/* Calendar details summary */
.panchang-page .pn-calendar-details {
  padding: 0 !important;
  overflow: hidden;
}

.panchang-page .pn-calendar-details > summary {
  list-style: none;
  cursor: pointer;
  padding: clamp(1.1rem, 2.5vw, 1.35rem) clamp(1.15rem, 3vw, 1.5rem);
  color: var(--pn-ink-deep);
  font: 700 1.2rem/1.25 "Cormorant Garamond", Georgia, serif;
  border-bottom: 1px solid transparent;
  background: linear-gradient(165deg, #FFFDF8 0%, #FFF8EC 100%);
  user-select: none;
}

.panchang-page .pn-calendar-details > summary::-webkit-details-marker {
  display: none;
}

.panchang-page .pn-calendar-details > summary::after {
  content: "+";
  float: right;
  color: var(--pn-gold);
  font: 700 1.1rem/1 "Work Sans", system-ui, sans-serif;
}

.panchang-page .pn-calendar-details[open] > summary {
  border-bottom-color: var(--pn-line);
}

.panchang-page .pn-calendar-details[open] > summary::after {
  content: "−";
}

.panchang-page .pn-calendar-details .pn-calendar-section {
  padding: clamp(1rem, 2.5vw, 1.35rem) clamp(1.15rem, 3vw, 1.5rem) clamp(1.25rem, 3vw, 1.5rem);
}

/* ── Limb cards ───────────────────────────────────────────────────────── */
.panchang-page .pn-limbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.85rem;
}

.panchang-page .pn-limb-card {
  padding: 1rem 1.05rem !important;
  border: 1px solid var(--pn-line) !important;
  border-radius: 14px !important;
  background: var(--pn-ivory) !important;
  box-shadow: none !important;
}

.panchang-page .pn-limb-title {
  margin: 0 0 0.35rem !important;
  color: var(--pn-kicker) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
}

.panchang-page .pn-limb-card h3 {
  margin: 0 0 0.35rem !important;
  color: var(--pn-ink-deep) !important;
  font: 700 1.15rem/1.25 "Cormorant Garamond", Georgia, serif !important;
}

.panchang-page .pn-limb-meta {
  margin: 0 !important;
  color: var(--pn-muted) !important;
  font-size: 0.86rem;
  line-height: 1.4;
}

/* ── Stat cards ───────────────────────────────────────────────────────── */
.panchang-page .pn-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.75rem;
}

.panchang-page .pn-stat {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem 1rem !important;
  border-radius: 14px !important;
  border: 1px solid var(--pn-line) !important;
  background: var(--pn-ivory) !important;
  box-shadow: none !important;
}

.panchang-page .pn-stat.is-careful {
  border-color: rgba(163, 59, 59, 0.35) !important;
  background: var(--pn-rose-bg) !important;
}

.panchang-page .pn-stat.is-good {
  border-color: rgba(93, 122, 78, 0.4) !important;
  background: var(--pn-sage-bg) !important;
}

.panchang-page .pn-stat-label {
  color: var(--pn-kicker) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

.panchang-page .pn-stat-value {
  color: var(--pn-ink-deep) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.3;
}

.panchang-page .pn-stat.is-good .pn-stat-value {
  color: var(--pn-sage) !important;
}

.panchang-page .pn-stat.is-careful .pn-stat-value {
  color: var(--pn-rose) !important;
}

.panchang-page .pn-stat-meta {
  color: var(--pn-muted) !important;
  font-size: 0.84rem;
  line-height: 1.4;
}

/* ── Guidance / pills / chips ─────────────────────────────────────────── */
.panchang-page .pn-guidance .pn-para {
  margin: 0 0 0.65rem;
  color: var(--pn-ink) !important;
  line-height: 1.6;
}

.panchang-page .pn-tone-pill,
.panchang-page .pn-score-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: capitalize;
  border: 1px solid var(--pn-line);
}

.panchang-page .pn-score-pill {
  background: var(--pn-ivory) !important;
  color: var(--pn-maroon-deep) !important;
  border-color: rgba(140, 42, 58, 0.28);
}

.panchang-page .pn-tone-pill.is-highly-supportive,
.panchang-page .pn-tone-pill.is-supportive {
  background: var(--pn-sage-bg) !important;
  color: var(--pn-sage) !important;
  border-color: rgba(93, 122, 78, 0.4);
}

.panchang-page .pn-tone-pill.is-mixed {
  background: var(--pn-amber-bg) !important;
  color: var(--pn-amber) !important;
  border-color: rgba(201, 122, 43, 0.4);
}

.panchang-page .pn-tone-pill.is-careful,
.panchang-page .pn-tone-pill.is-restricted {
  background: var(--pn-rose-bg) !important;
  color: var(--pn-rose) !important;
  border-color: rgba(163, 59, 59, 0.35);
}

.panchang-page .pn-summary {
  font-weight: 600;
  color: var(--pn-ink-deep) !important;
}

.panchang-page .pn-verdict {
  padding: 0.75rem 0.9rem;
  border-radius: 12px;
  background: linear-gradient(165deg, #FFF8EC 0%, #F7E3C6 100%) !important;
  border: 1px solid rgba(200, 155, 60, 0.35) !important;
  border-left: 3px solid var(--pn-gold) !important;
  color: var(--pn-ink);
}

.panchang-page .pn-subhead {
  margin: 1rem 0 0.45rem;
  color: var(--pn-ink-deep) !important;
  font: 700 1.05rem/1.25 "Cormorant Garamond", Georgia, serif !important;
}

.panchang-page .pn-analysis-list {
  color: var(--pn-ink) !important;
}

.panchang-page .pn-analysis-list strong {
  color: var(--pn-ink-deep) !important;
}

/* Time windows */
.panchang-page .pn-time-window-cell {
  border: 1px solid var(--pn-line) !important;
  border-radius: 14px !important;
  background: var(--pn-paper) !important;
  box-shadow: none !important;
}

.panchang-page .pn-time-window-cell.is-good {
  border-color: rgba(93, 122, 78, 0.4) !important;
  background: var(--pn-sage-bg) !important;
}

.panchang-page .pn-time-window-cell.is-careful {
  border-color: rgba(163, 59, 59, 0.35) !important;
  background: var(--pn-rose-bg) !important;
}

.panchang-page .pn-time-window-status {
  color: var(--pn-kicker) !important;
}

.panchang-page .pn-time-window-cell.is-good .pn-time-window-status {
  color: var(--pn-sage) !important;
}

.panchang-page .pn-time-window-cell.is-careful .pn-time-window-status {
  color: var(--pn-rose) !important;
}

.panchang-page .pn-time-window-name {
  color: var(--pn-ink-deep) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

.panchang-page .pn-time-window-time {
  color: var(--pn-maroon-deep) !important;
  font: 700 1.05rem/1.3 "Cormorant Garamond", Georgia, serif !important;
}

.panchang-page .pn-time-window-guidance {
  color: var(--pn-muted) !important;
}

.panchang-page .pn-chip-list li {
  border: 1px solid var(--pn-line);
  background: var(--pn-ivory);
  color: var(--pn-ink);
}

.panchang-page .pn-chip-list.is-good li {
  background: var(--pn-sage-bg) !important;
  color: var(--pn-sage) !important;
  border: 1px solid rgba(93, 122, 78, 0.4) !important;
}

.panchang-page .pn-chip-list.is-careful li {
  background: var(--pn-rose-bg) !important;
  color: var(--pn-rose) !important;
  border: 1px solid rgba(163, 59, 59, 0.35) !important;
}

.panchang-page .pn-caution {
  color: var(--pn-rose) !important;
  font-weight: 600;
}

.panchang-page .pn-footnote {
  margin: 0;
  color: var(--pn-soft) !important;
  font-size: 0.85rem;
  line-height: 1.5;
}

/* Feedback */
.panchang-page #pn-feedback.form-feedback {
  color: var(--pn-muted);
}

/* ── Calendar ─────────────────────────────────────────────────────────── */
.panchang-page .pn-calendar-section {
  display: grid;
  gap: 0.9rem;
}

.panchang-page .pn-cal-toolbar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.75rem;
  align-items: center;
}

.panchang-page .pn-cal-heading {
  text-align: center;
}

.panchang-page .pn-cal-heading h3 {
  margin: 0 !important;
  color: var(--pn-ink-deep) !important;
  font: 700 1.4rem/1.2 "Cormorant Garamond", Georgia, serif !important;
}

.panchang-page .pn-cal-heading .pn-muted {
  margin: 0.3rem 0 0 !important;
  color: var(--pn-muted) !important;
}

.panchang-page .pn-cal-nav {
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding-left: 0.65rem !important;
  padding-right: 0.65rem !important;
  font-size: 1.35rem !important;
  line-height: 1;
  color: var(--pn-maroon-deep) !important;
  background: var(--pn-ivory) !important;
  border: 1px solid rgba(140, 42, 58, 0.28) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.panchang-page .pn-cal-nav:hover {
  background: #FFF4E3 !important;
  border-color: rgba(140, 42, 58, 0.4) !important;
}

.panchang-page .pn-cal-hint {
  margin: 0 !important;
  color: var(--pn-muted) !important;
  font-size: 0.88rem;
  line-height: 1.45;
}

.panchang-page .pn-cal-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 14px !important;
  border: 1px solid var(--pn-line) !important;
  background: var(--pn-paper) !important;
  box-shadow: none !important;
}

.panchang-page .pn-cal-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  table-layout: fixed;
}

.panchang-page .pn-cal-table thead th {
  padding: 0.7rem 0.35rem !important;
  background: linear-gradient(165deg, #8C2A3A 0%, #6E1F2B 100%) !important;
  color: #FBEEE8 !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  border-bottom: 1px solid var(--pn-maroon-deep) !important;
}

.panchang-page .pn-cal-table td {
  vertical-align: top;
  padding: 0;
  border: 1px solid var(--pn-line) !important;
  background: var(--pn-paper) !important;
}

.panchang-page .pn-cal-table td.is-empty {
  background: var(--pn-sand) !important;
}

.panchang-page .pn-cal-day {
  display: grid;
  gap: 0.2rem;
  width: 100%;
  min-height: 7.75rem;
  padding: 0.55rem 0.5rem 0.65rem !important;
  border: 0;
  background: transparent !important;
  text-align: left;
  cursor: pointer;
  color: var(--pn-ink);
  transition: background 160ms ease, box-shadow 160ms ease;
}

.panchang-page .pn-cal-day:hover,
.panchang-page .pn-cal-day:focus-visible {
  background: var(--pn-ivory) !important;
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(200, 155, 60, 0.55) !important;
}

.panchang-page .pn-cal-day.is-selected {
  background: linear-gradient(165deg, #FFF8EC 0%, #F7E3C6 100%) !important;
  box-shadow: inset 0 0 0 2px var(--pn-maroon) !important;
}

.panchang-page .pn-cal-day.is-today .pn-cal-date {
  background: var(--pn-maroon) !important;
  color: #FBEEE8 !important;
}

.panchang-page .pn-cal-day.is-careful {
  background: rgba(247, 231, 227, 0.55) !important;
}

.panchang-page .pn-cal-day.is-careful:not(.is-selected) {
  box-shadow: inset 0 0 0 1.5px rgba(201, 122, 43, 0.55) !important;
}

.panchang-page .pn-cal-day.is-purnima:not(.is-selected) {
  box-shadow: inset 0 0 0 2px var(--pn-gold) !important;
  background: linear-gradient(165deg, #FFFDF8 0%, #FFF4E0 100%) !important;
}

.panchang-page .pn-cal-day.is-amavasya:not(.is-selected) {
  box-shadow: inset 0 0 0 2px var(--pn-indigo) !important;
  background: linear-gradient(165deg, #FFFDF8 0%, #E8EAF4 100%) !important;
}

.panchang-page .pn-cal-day.is-selected.is-purnima,
.panchang-page .pn-cal-day.is-selected.is-amavasya {
  box-shadow: inset 0 0 0 2px var(--pn-maroon) !important;
}

.panchang-page .pn-cal-date {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  margin-bottom: 0.15rem;
  border-radius: 999px;
  color: var(--pn-maroon-deep) !important;
  font-weight: 800;
  font-size: 0.92rem;
  background: transparent;
}

.panchang-page .pn-cal-tithi {
  color: var(--pn-ink-deep) !important;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25;
}

.panchang-page .pn-cal-nak {
  color: var(--pn-maroon-deep) !important;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.25;
}

.panchang-page .pn-cal-yoga {
  color: var(--pn-muted) !important;
  font-size: 0.75rem;
  line-height: 1.25;
}

.panchang-page .pn-cal-loading {
  padding: 1.5rem 1rem;
  text-align: center;
  color: var(--pn-muted) !important;
  font-size: 0.95rem;
}

.panchang-page .pn-cal-loading.is-error {
  color: var(--pn-rose) !important;
}

.panchang-page .pn-cal-table-title {
  margin: 0.5rem 0 0 !important;
  color: var(--pn-ink-deep) !important;
  font: 700 1.15rem/1.25 "Cormorant Garamond", Georgia, serif !important;
}

/* Month list table */
.panchang-page .pn-cal-list-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 12px !important;
  border: 1px solid var(--pn-line) !important;
  background: var(--pn-paper);
}

.panchang-page .pn-month-list-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.panchang-page .pn-month-list-table thead th {
  padding: 0.7rem 0.65rem !important;
  background: linear-gradient(165deg, #8C2A3A 0%, #6E1F2B 100%) !important;
  color: #FBEEE8 !important;
  text-align: left;
  font-size: 0.75rem !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 0 !important;
}

.panchang-page .pn-month-list-table td {
  padding: 0.55rem 0.65rem !important;
  border-bottom: 1px solid var(--pn-line) !important;
  color: var(--pn-ink) !important;
  vertical-align: top;
  background: var(--pn-paper);
}

.panchang-page .pn-month-list-table tbody tr {
  cursor: pointer;
  transition: background 140ms ease;
}

.panchang-page .pn-month-list-table tbody tr:hover,
.panchang-page .pn-month-list-table tbody tr:focus-visible {
  background: var(--pn-ivory) !important;
  outline: none;
}

.panchang-page .pn-month-list-table tbody tr:hover td,
.panchang-page .pn-month-list-table tbody tr:focus-visible td {
  background: var(--pn-ivory) !important;
}

.panchang-page .pn-month-list-table tbody tr.is-selected td {
  background: linear-gradient(165deg, #FFF8EC 0%, #F7E3C6 100%) !important;
}

.panchang-page .pn-month-list-table tbody tr.is-today .pn-list-date {
  font-weight: 800;
  color: var(--pn-maroon) !important;
}

.panchang-page .pn-month-list-table tbody tr.is-careful td {
  background: rgba(247, 231, 227, 0.45) !important;
}

.panchang-page .pn-month-list-table tbody tr.is-purnima td:first-child {
  box-shadow: inset 3px 0 0 var(--pn-gold) !important;
}

.panchang-page .pn-month-list-table tbody tr.is-amavasya td:first-child {
  box-shadow: inset 3px 0 0 var(--pn-indigo) !important;
}

.panchang-page .pn-list-date {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: var(--pn-ink-deep);
  font-weight: 700;
}

.panchang-page .pn-day-detail-anchor {
  scroll-margin-top: 5.5rem;
}

/* ── Mobile calendar sizing ───────────────────────────────────────────── */
@media (max-width: 900px) {
  .panchang-page .pn-time-window-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .panchang-page .pn-time-window-cell {
    min-height: 8.75rem;
  }
}

@media (max-width: 720px) {
  /* Wider day cells for thumb tap + readable tithi/nak lines */
  .panchang-page .pn-cal-table {
    min-width: 640px;
  }

  .panchang-page .pn-cal-day {
    min-height: 7.25rem !important;
    padding: 0.5rem 0.4rem 0.55rem !important;
    gap: 0.18rem;
  }

  .panchang-page .pn-cal-date {
    width: 1.85rem;
    height: 1.85rem;
    font-size: 0.95rem;
  }

  .panchang-page .pn-cal-tithi {
    font-size: 0.78rem !important;
    font-weight: 700;
  }

  .panchang-page .pn-cal-nak {
    font-size: 0.8rem !important;
  }

  .panchang-page .pn-cal-yoga {
    font-size: 0.76rem !important;
  }

  .panchang-page .pn-cal-table thead th {
    padding: 0.75rem 0.3rem !important;
    font-size: 0.75rem !important;
  }

  .panchang-page .pn-cal-toolbar {
    gap: 0.5rem;
  }

  .panchang-page .pn-cal-nav {
    min-width: 2.85rem;
    min-height: 2.85rem;
  }

  .panchang-page .pn-cal-heading h3 {
    font-size: 1.25rem !important;
  }

  .panchang-page .pn-cal-hint {
    font-size: 0.82rem;
  }

  .panchang-page .pn-month-list-table {
    min-width: 580px;
    font-size: 0.88rem;
  }

  .panchang-page .pn-limbs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .panchang-page .pn-hero {
    padding: 2rem 0 1.15rem !important;
  }

  .panchang-page .pn-hero h1 {
    font-size: clamp(2.1rem, 9vw, 2.6rem) !important;
  }

  .panchang-page .pn-form,
  .panchang-page .pn-block {
    padding: 1rem !important;
  }

  .panchang-page .pn-calendar-details > summary {
    padding: 1rem 1.05rem;
    font-size: 1.1rem;
  }

  .panchang-page .pn-calendar-details .pn-calendar-section {
    padding: 0.95rem 1rem 1.15rem;
  }

  /* Roomier calendar cells on phone; keep horizontal scroll for full week */
  .panchang-page .pn-cal-table {
    min-width: 560px;
  }

  .panchang-page .pn-cal-day {
    min-height: 6.85rem !important;
    padding: 0.45rem 0.32rem 0.5rem !important;
  }

  .panchang-page .pn-cal-date {
    width: 1.7rem;
    height: 1.7rem;
    font-size: 0.9rem;
  }

  .panchang-page .pn-cal-tithi,
  .panchang-page .pn-cal-nak,
  .panchang-page .pn-cal-yoga {
    font-size: 0.75rem !important;
    line-height: 1.22;
    /* Allow multi-line without crushing cell */
    overflow-wrap: anywhere;
  }

  .panchang-page .pn-cal-scroll,
  .panchang-page .pn-cal-list-scroll {
    /* Subtle edge fade cue that more content scrolls sideways */
    mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 1.25rem), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 1.25rem), transparent 100%);
  }

  .panchang-page .pn-time-window-row {
    grid-template-columns: 1fr;
  }

  .panchang-page .pn-time-window-cell {
    min-height: 0;
  }

  .panchang-page .pn-stat-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 400px) {
  .panchang-page .pn-limbs {
    grid-template-columns: 1fr;
  }

  .panchang-page .pn-stat-grid {
    grid-template-columns: 1fr;
  }

  .panchang-page .pn-cal-table {
    min-width: 520px;
  }

  .panchang-page .pn-cal-day {
    min-height: 6.5rem !important;
  }
}
