/* ═══════════════════════════════════════════════════════════════════════════
   LANTERN — the pieces only this template has.

   families/hospitality.css carries the chrome every template in this family
   would share: the porch, the split welcome, the alternating settings, the
   courses, the plates, the accordion, the footer. What is here is Lantern's
   own furniture — the service board, the shape of an hour, and the week.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── The week ───────────────────────────────────────────────────────────────
   Seven days as seven stacked lists rather than a grid of seven columns. A
   week grid is the obvious move and it is wrong here: the days are wildly
   uneven — Thursday has three entries and Friday has one — so a column layout
   spends most of its area on white space and forces 11px type to fit. */
.week {
  display: grid;
  gap: 0;
  max-inline-size: 52rem;
  margin-inline: auto;
}

.day {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-3);
  padding-block: var(--s-5);
  border-block-start: var(--hair);
}
.day:first-child { border-block-start: 0; padding-block-start: 0; }

.day__name {
  font-size: var(--t-md);
  color: var(--accent);
}

.day__items { list-style: none; margin: 0; padding: 0; }
.day__items > li {
  display: grid;
  grid-template-columns: minmax(5.5rem, auto) 1fr;
  gap: var(--s-1) var(--s-4);
  padding-block: var(--s-3);
  font-family: var(--font-ui);
}
.day__items > li + li { border-block-start: var(--hair); }

.day__time {
  font-size: var(--t-sm);
  font-variant-numeric: tabular-nums;
  color: var(--fg-muted);
  padding-block-start: 0.15em;
}
.day__what { font-size: var(--t-base); }
.day__note {
  grid-column: 2;
  font-size: var(--t-sm);
  color: var(--fg-muted);
}

@media (min-width: 42rem) {
  .day { grid-template-columns: 9rem 1fr; gap: var(--s-5); }
  .day__name { padding-block-start: 0.35em; }
}
@media (max-width: 26rem) {
  .day__items > li { grid-template-columns: 1fr; }
  .day__note { grid-column: 1; }
}

.week__note {
  max-inline-size: 52rem;
  margin-inline: auto;
  margin-block-start: var(--s-6);
  font-family: var(--font-ui);
  font-size: var(--t-sm);
  color: var(--fg-muted);
}

/* ── Entries ────────────────────────────────────────────────────────────── */
.entries { max-inline-size: 64rem; margin-inline: auto; }


/* Demo only — added by build/demo.mjs, not present in the downloadable zip. */
.photo-credit {
  padding-block: var(--s-4) var(--s-6);
  font-family: var(--font-ui);
  font-size: var(--t-xs);
  color: var(--fg-muted);
}
.photo-credit a { color: inherit; }
