/* Event cards share the same five-row rhythm across English and Tamil. */
.schedule-event,
.schedule-event + .schedule-event {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 48px 58px 108px minmax(144px, 1fr) 96px;
  justify-items: center;
  align-items: start;
  min-width: 0;
  height: 100%;
  min-height: 0;
  padding: 33px clamp(18px, 2.15vw, 32px) 26px;
  text-align: center;
}
.schedule-event .event-icon {
  grid-row: 1;
  width: 37px;
  height: 37px;
  margin: 0 auto;
}
.schedule-event .event-name {
  grid-row: 2;
  margin: 0 auto;
  text-align: center;
}
.schedule-event .event-meta {
  grid-row: 3;
  width: 100%;
  margin: 0 auto;
  padding: 5px 0 0;
  text-align: center;
}
.schedule-event .event-location {
  grid-row: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  padding-top: 10px;
  text-align: center;
}
.schedule-event .event-location .event-venue:not(.event-venue--compact) {
  width: 100%;
  margin: 0 auto 5px;
  padding-top: 20px;
  text-align: center;
}
.schedule-event .event-location .event-venue--compact {
  width: 100%;
  max-width: 33ch;
  margin: 0 auto;
  text-align: center;
}
.schedule-event .ceremony-actions {
  grid-row: 5;
  align-self: start;
  justify-content: flex-start;
  width: 100%;
  min-height: 90px;
  margin: 0 auto;
  gap: 11px;
  text-align: center;
}
.schedule-event .ceremony-actions .directions-link {
  margin: 0 auto;
}
@media (max-width: 900px) {
  .schedule-event,
  .schedule-event + .schedule-event {
    grid-template-rows: 45px 58px 112px minmax(138px, 1fr) 94px;
    padding-block: 31px 22px;
  }
  .schedule-event .ceremony-actions { margin: 0 auto; }
}
@media (max-width: 430px) {
  .schedule-event,
  .schedule-event + .schedule-event {
    grid-template-rows: 44px 54px 123px minmax(132px, 1fr) 90px;
    padding: 29px 17px 22px;
  }
  html[lang="ta"] .schedule-event .event-date {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 49px;
  }
}
@media (min-width: 901px) and (max-width: 1150px) {
  html[lang="ta"] .schedule-event,
  html[lang="ta"] .schedule-event + .schedule-event {
    grid-template-rows: 48px 58px 118px minmax(144px, 1fr) 96px;
  }
  html[lang="ta"] .schedule-event .event-date {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
  }
}

/* Accommodate Reception #2's address without changing the card alignment. */
.schedule-event .event-location { padding-bottom: 18px; }
.schedule-event,
.schedule-event + .schedule-event {
  grid-template-rows: 48px 58px 108px minmax(auto, 1fr) 96px;
}
@media (max-width: 900px) {
  .schedule-event,
  .schedule-event + .schedule-event {
    grid-template-rows: 45px 58px 112px minmax(auto, 1fr) 94px;
    min-height: 530px;
  }
}
@media (max-width: 430px) {
  .schedule-event,
  .schedule-event + .schedule-event {
    grid-template-rows: 44px 54px 123px minmax(auto, 1fr) 90px;
    min-height: 540px;
  }
}
@media (min-width: 901px) and (max-width: 1150px) {
  html[lang="ta"] .schedule-event,
  html[lang="ta"] .schedule-event + .schedule-event {
    grid-template-rows: 48px 58px 118px minmax(auto, 1fr) 96px;
  }
}
