/* cal-today.css: the "today" widget (§4.4). Ground is .panel; modelled on .wotd-widget. Gold only on the
   large headline scripts, as a plain colour, so no background-clip and no leading hazard. */
.cal-today { display: grid; gap: 1.1rem; justify-items: start; }
.cal-today__date, .cal-today__foot { justify-self: stretch; }
.cal-today__eyebrow, .cal-today__fallback, .cal-today__err, .cal-today__greg { margin: 0; }
.cal-today__eyebrow { font-family: var(--font-sans); font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cream-muted); }
.cal-today__eyebrow .gur, .cal-today__eyebrow .shah { font-size: 1.05rem; letter-spacing: 0; }
.cal-today__fallback { font-family: var(--font-serif); color: var(--cream-muted); }
.cal-today[data-state="ready"] .cal-today__fallback { display: none; }
.cal-today__err { font-family: var(--font-sans); font-size: .88rem; color: var(--cream-muted); }

/* loading reserves the ready height; see calendar.css */
.cal-today[data-state="loading"] { min-height: 40rem; align-content: start; }
@media (max-width: 720px) { .cal-today[data-state="loading"] { min-height: 50rem; } }
@media (max-width: 479px) { .cal-today[data-state="loading"] { min-height: 55rem; } }

.cal-today__date { display: grid; gap: 1.2rem 2.2rem; }
@media (min-width: 721px) { .cal-today__date { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); } }
.cal-today__greg { font-family: var(--font-sans); font-size: .9rem; color: var(--cream-muted); margin-bottom: .5rem; }
.cal-today__desi { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .9rem; }
.cal-today__num { font-family: var(--font-display); font-weight: 560; font-size: clamp(3.2rem, 8vw, 4.8rem); line-height: 1; letter-spacing: -.02em; color: var(--cream); }
.cal-today__name { display: grid; }
.cal-today__name .cal-today__scripts { font-size: clamp(1.6rem, 4vw, 2.2rem); line-height: 1.35; color: var(--gold-300); }
.cal-today__name .shah { font-size: .85em; }
.cal-today__roman { font-family: var(--font-serif); font-style: italic; font-size: 1.2rem; color: var(--cream); }

.cal-today__rows { margin: 0; display: grid; gap: .55rem; }
.cal-today__row { display: grid; grid-template-columns: 8.2rem minmax(0, 1fr); gap: .15rem 1rem; padding-top: .55rem; border-top: 1px solid var(--line-dark); }
.cal-today__row:first-child { border-top: 0; padding-top: 0; }
.cal-today__row dt { font-family: var(--font-sans); font-size: .8rem; color: var(--cream-muted); padding-top: .2em; }
.cal-today__row dd { margin: 0; font-family: var(--font-serif); font-size: 1.04rem; line-height: 1.55; color: var(--cream); }
.cal-today__row .shah { font-size: .92em; white-space: nowrap; }
.cal-today__note { font-family: var(--font-sans); font-size: .8rem; color: var(--cream-muted); }
@media (max-width: 720px) { .cal-today__row { grid-template-columns: 1fr; } }

.cal-today__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1.2rem; }
.cal-today__anchor { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--font-sans); font-size: .88rem; color: var(--cream-muted); }
.cal-today__anchor select { font: inherit; font-size: .95rem; color: var(--cream); background: var(--indigo-900); border: 1px solid var(--line-dark); border-radius: var(--radius-sm); padding: .5rem .65rem; }
.cal-today__anchor select:focus-visible { outline: 2px solid var(--gold-300); outline-offset: 2px; }
