/* Program page announcements (assets/js/program-announcements.js): a list in date order, the date on the left and
   what happens on the right, the way the Hifz calendar notice is laid out. No calendar grid. */
.pa-section { padding-top: 8px; }
.pa-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 24px; margin-bottom: 8px; }
.pa-head .section-title { margin: 0; }
.pa-head p { margin: 0; font-size: 16px; color: var(--muted); max-width: 46ch; }
.pa-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.pa-list:empty { display: none; }
.pa-item { display: grid; grid-template-columns: minmax(200px, 0.85fr) minmax(0, 2fr); gap: 6px 40px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.pa-when time { display: block; font-family: var(--serif); font-size: clamp(19px, 1.7vw, 22px); line-height: 1.3; color: var(--ink); font-variant-numeric: lining-nums tabular-nums; }
.pa-days { display: block; margin-top: 4px; font-size: 14px; color: var(--muted); }
.pa-what h3 { font-size: 19px; font-weight: 600; line-height: 1.35; color: var(--ink); }
.pa-what p { margin-top: 4px; font-size: 16px; line-height: 1.55; color: var(--muted); max-width: 60ch; }
.pa-chip { display: inline-block; margin-bottom: 8px; padding: 3px 11px; border-radius: 999px; font-size: 13px; font-weight: 600; background: var(--paper-2); border: 1px solid var(--line); color: var(--gold-text); }
.pa-item.is-now .pa-chip { background: var(--green); border-color: var(--green); color: var(--on-green); }
.pa-item.is-now .pa-when time, .pa-item.is-next .pa-when time { color: var(--green-ink, var(--ink)); }
.pa-item.is-now { position: relative; }
.pa-item.is-now::before { content: ''; position: absolute; left: -18px; top: 26px; bottom: 26px; width: 3px; border-radius: 3px; background: var(--gold); }
.pa-empty { margin: 0; padding: 30px 24px; border: 1px dashed var(--line); border-radius: 18px; background: var(--paper-2); color: var(--muted); font-size: 16px; text-align: center; }
.pa-past { margin-top: 18px; }
.pa-past summary { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 15px; font-weight: 600; color: var(--muted); padding: 8px 0; list-style: none; }
.pa-past summary::-webkit-details-marker { display: none; }
.pa-past summary::before { content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform 200ms var(--ease-out, ease); }
.pa-past[open] summary::before { transform: rotate(45deg); }
.pa-past summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; border-radius: 6px; }
.pa-past .pa-item { opacity: 0.62; }
.pa-past .pa-item .pa-chip { display: none; }
.pa-note { margin: 28px 0 0; }
.pa-note .text-link { margin-top: 6px; }

@media (max-width: 720px) {
  .pa-item { grid-template-columns: 1fr; padding: 18px 0; }
  .pa-item.is-now::before { left: -12px; }
}
@media (prefers-reduced-motion: reduce) {
  .pa-past summary::before { transition: none; }
}
