/* ===============================
   Events (dates in top bar; strict alignment)
   =============================== */

.events-section { padding: 4rem 0; background: #f5f7fa; }
.events-section__header { margin-bottom: 2rem; text-align: center; }
.events-section__title { margin: 0; font-size: clamp(1.8rem, 2.6vw, 2.3rem); color: var(--ink, #1b1f24); }

/* Grid */
.event-cards{
  --gap: var(--comp-gap, 24px);
  list-style:none; margin:0; padding:0;
  display:grid; gap:var(--gap);
  grid-template-columns:repeat(auto-fill, minmax(340px,1fr));
  align-items:stretch;
}

/* Card */
.event-card { height:100%; }
.event-card__inner{
  position:relative;
  height:100%;
  display:flex; flex-direction:column;
  border: var(--pill-border, 1px solid rgba(0,0,0,.08));
  border-radius: var(--pill-radius, 18px);
  background:#fff;
  box-shadow: var(--pill-shadow-soft, 0 4px 18px rgba(0,0,0,.08));
  overflow:hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.event-card__inner:hover{ transform:translateY(-2px); box-shadow: var(--pill-shadow, 0 8px 30px rgba(0,0,0,.12)); }

/* Top bar shows the date for ALL cards */
.event-card__topbar{
  min-height: 44px;
  display:flex; align-items:center; gap:.5rem;
  padding:.6rem 1rem;
  background: var(--brand-bg); /* neutral topbar */
  color: var(--ink, #1b1f24);
  border-bottom: 1px solid rgba(0,0,0,.06);
  font: 600 13px/1 Inter, system-ui, sans-serif;
}
.event-card__topbar--next{
  background: color-mix(in srgb, var(--brand) 14%, #f1f8f3); /* soft brand tint */
  color: var(--brand-ink, #0d3c2a);
}
.event-card__topbar-prefix{ font-weight:800; }
.event-card__topbar-date{ white-space: nowrap; }

/* Content rows: Title / Price / Spacer / CTA */
.event-card__content{
  display:grid;
  grid-template-rows: auto auto 1fr auto;
  gap:.7rem;
  padding: 1.05rem 1.15rem 1.15rem;
  color: var(--ink, #1b1f24);
}

/* Title (clamp to 2 lines for identical heights) */
.event-card__title{ margin:0; font-size:1.125rem; line-height:1.28; }
.event-card__title,
.event-card__link{
  display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;
  -webkit-line-clamp:2; line-clamp:2;
}
.event-card__link{ color: var(--brand-ink, #0d3c2a); text-decoration:none; }
.event-card__link:hover{ color: var(--brand, #198a2e); }
.event-card__link:focus-visible{ outline:none; box-shadow: var(--ring); border-radius:6px; }

/* Price row */
.event-card__price{
  display:inline-flex; align-items:center; gap:.5rem;
  font-weight:700; color: var(--brand-ink, #0d3c2a);
}
.event-card__price-label{ font-weight:800; }
.event-card__price-val{
  background: var(--brand-tr, #bbfec8da);
  padding:.25rem .6rem;
  border-radius:999px;
}

/* Spacer forces CTA to last row for all cards */
.event-card__spacer{ min-height: 1px; }

/* CTA row */
.event-card__actions{ align-self:start; }

/* Empty state */
.events-section__empty{ text-align:center; color:#6b7280; padding:2rem 0; }

/* Small screens */
@media (max-width: 560px){
  .event-cards{ grid-template-columns: 1fr; }
  .event-card__content{ padding: 1rem; }
  .event-card__topbar-date{ white-space: normal; }
}
