/* ——— Event Calendar ——— */
.event-calendar {
  background: #fff;
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto 2em;
  box-sizing: border-box;
}
.event-calendar * { box-sizing: inherit; }

.event-calendar{
  width: 100%;
}

.event-calendar .event_row:nth-of-type(odd){ background: #f4ecec; }
.event-calendar .event_row:nth-of-type(even){ background: #fff; }

/* Month header bar */
.month-header{
  background: #3c3232 !important;
  color: #fff;
  padding: 0.6rem 1rem;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.9rem;
}

/* Cells */
.event_row{
  display:flex;
  align-items: center;
  gap:.5rem;
  padding: 0.8rem 1rem;
  vertical-align: middle;
  border: none;
  overflow: hidden; /* prevent painting outside fixed table cells */
}

/* Date column */
.event-calendar .event-date {
  width: 18ch;
  color: #222;
  font-size: 1rem;
  font-weight: 900;
}
.event-calendar .event-day {
  margin-left: 0.25rem;
  color: #666;
  font-size: 0.85rem;
}

/* Title column */
.event-calendar .event-title {
  width: 55%;
  color: #111;
  font-size: 1rem;
  min-width: 0; /* allow shrink */
}

/* Button column */
.event-calendar .event-btn {
  width: 50%;
  text-align: right;
  min-width: 0; /* allow shrink */
  padding-left: 0.5rem;
}

/* Two-button layout */
.event-calendar .btn-pair {
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  gap: 0.5rem;
  flex-wrap: wrap;
  max-width: 100%;
}
.event-calendar .btn-pair a {
  flex: 1 1 0;              /* equal widths in the row */
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}


/* Stack the two-button pair when tight (but keep fit-content) */
@media (max-width: 900px) {
  .event-calendar .btn-pair {
    flex-direction: column;
    align-items: flex-end;  /* right aligned */
  }
  .event-calendar .btn-pair a {
    flex: 0 0 auto;
    width: auto;            /* fit content */
    align-self: flex-end;
    border-radius: 6px;
  }
}

/* Mobile layout */
@media (max-width: 600px) {
  .event-calendar{
    display: block;
    width: 100%;
  }

  .event-calendar .month-header {
    display: block;
    padding: 0.75rem 1rem;
    background: #3c3232;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
  }

  .event-calendar .event_row{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
    background: #fff;
    padding: 0.75rem 1rem;
  }


  .event-calendar .event-date {
    flex:1 1 auto;
    align-self: center;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 700;
    color: #222;
    text-align: center;
  }
  .event-calendar .event-day {
    font-size: 0.8rem;
    margin-top: 0.25rem;
  }

  .event-calendar .event-title {
    flex: 1 1 auto;
    padding: 0 1rem;
    line-height: 1.3;
    text-align: center;
  }

  .event-calendar .event-btn {
    flex: 1 1 auto;
    margin-top: 0.5rem;
    text-align: center;
    padding-left: 0;
  }

  /* on mobile, center the stacked pair & keep fit-content */
  .event-calendar .btn-pair {
    justify-content: center;
    align-items: center;
  }
  .event-calendar .btn-pair a {
    width: auto;
    align-self: center;
  }
}

.event-calendar .btn-left,
.event-calendar .btn-right {
  padding: 12px 20px !important; /* equal L/R padding */
}

