/* ------------------------------------------------------------
   PIH Events list and Latest News carousel (depends on pih-programs.css
   for tokens, bands, buttons, and the carousel).
   ------------------------------------------------------------ */

/* ---------- Upcoming events ---------- */
.pih-events-section {
  max-inline-size: 56rem;
  margin-inline: auto;
  gap: 2.5rem;
}
.pih-events-art { max-inline-size: 22rem; margin-block-start: 1rem; }
.pih-events-art img { inline-size: 100%; block-size: auto; }
/* No image picked yet: an empty Image block renders nothing, so draw the gray
   circle placeholder in the heading column instead. Goes away once an <img> exists. */
.pih-events-section > .wp-block-column:first-child:not(:has(img))::after {
  content: "";
  display: block;
  inline-size: min(100%, 22rem);
  aspect-ratio: 1;
  margin-block-start: 1rem;
  border-radius: 50%;
  background: #d9d9d9;
}

.pih-events {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  font-family: Lato, sans-serif;
}
.pih-event {
  display: flex;
  gap: 1rem;
  margin: 0 0 1.5rem;
}
.pih-event-date {
  flex: 0 0 3rem;
  display: grid;
  justify-items: center;
  align-content: start;
  color: var(--pih-ink);
  line-height: 1;
}
.pih-event-month {
  font: 700 12px/1 Lato, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pih-muted);
}
.pih-event-day { font: 400 26px/1.1 Lato, sans-serif; }

.pih-event-body { flex: 1 1 0; min-inline-size: 0; }
.pih-event-title {
  margin: 0 0 4px;
  font: 700 16px/1.3 Lato, sans-serif;
  color: var(--pih-ink);
}
.pih-event-meta {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--pih-muted);
}
.pih-event .pih-btn { margin-block-start: 8px; }

/* View Calendar: left, lined up with the event titles (past the date badge) */
.pih-events-cta { margin-inline-start: 4rem; }
@media (width <= 768px) { .pih-events-cta { margin-inline-start: 0; } }

/* Outline button (Event Details) */
a.pih-btn-outline {
  padding: 5px 12px;
  border: 1.5px solid var(--pih-ink);
  border-radius: 3px;
  background: transparent;
  color: var(--pih-ink);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
a.pih-btn-outline:hover { background: var(--pih-ink); color: #fff; }
a.pih-btn-outline:focus-visible { outline: 3px solid var(--pih-legacy); outline-offset: 2px; }

.pih-events-empty { font-family: Lato, sans-serif; color: var(--pih-muted); }

/* ---------- Latest News carousel ---------- */
.pih-news-wrap .pih-featured { background: var(--pih-pnw); }
.pih-news-card { padding-block-end: 1rem; }
.pih-news-card .pih-card-media {
  display: block;
  aspect-ratio: 16 / 10;
  margin: 0 0 12px;
  background: #d9d9d9;
}
.pih-news-card .pih-card-media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.pih-card-kicker {
  margin: 0 0 6px;
  padding-inline: 12px;
  font: 600 11px/1.3 Lato, sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pih-muted);
}
.pih-band .pih-card .pih-card-kicker { color: var(--pih-muted); }
.pih-card-excerpt {
  margin: 0 0 6px;
  padding-inline: 12px;
  font: 400 13px/1.5 Lato, sans-serif;
  color: var(--pih-muted);
}
.pih-news-all {
  margin: 12px 0 0;
  font: 700 13px/1.3 Lato, sans-serif;
}
.pih-band .pih-news-all a { color: #fff; text-decoration: none; }
.pih-band .pih-news-all a:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (width <= 768px) {
  .pih-events-art { max-inline-size: 14rem; margin-inline: auto; }
  .pih-events-section > .wp-block-column:first-child:not(:has(img))::after { inline-size: 14rem; margin-inline: auto; }
}
