/* Bessemer City - Modern Events Calendar design integration
 * Scope: MEC archive, shortcodes, and single-event views only.
 */

.mec-wrap {
  --bc-forest: #003928;
  --bc-leaf: #1F8765;
  --bc-olive: #A1A437;
  --bc-mint: #61C3AB;
  --bc-chartreuse: #E8E880;
  --bc-surface: #F5F7F6;
  --bc-ink: #232323;
  --bc-white: #FFFFFF;
}

.post-type-archive-mec-events,
.single-mec-events {
  background-color: #F5F7F6;
}

.post-type-archive-mec-events .entry-title,
.single-mec-events .entry-title,
.mec-wrap h1,
.mec-wrap h2,
.mec-wrap h3,
.mec-wrap h4,
.mec-wrap h5,
.mec-wrap h6 {
  color: #003928;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1.15;
}

.mec-wrap,
.mec-wrap p,
.mec-wrap li,
.mec-wrap dd,
.mec-wrap input,
.mec-wrap select,
.mec-wrap textarea {
  color: #232323;
  font-family: "Noto Serif", Georgia, serif;
}

.mec-wrap a {
  color: #003928;
}

.mec-wrap a:hover {
  color: #1F8765;
}

.mec-wrap a:focus-visible,
.mec-wrap button:focus-visible,
.mec-wrap [role="button"]:focus-visible {
  outline: 3px solid #E8E880;
  outline-offset: 3px;
}

/* MEC shared accent utilities */
.mec-wrap .mec-color,
.mec-wrap .mec-color-hover:hover,
.mec-wrap .mec-color-before::before,
.mec-wrap .mec-color-after::after {
  color: #1F8765 !important;
}

.mec-wrap .mec-bg-color,
.mec-wrap .mec-bg-color-hover:hover,
.mec-wrap .mec-bg-color-before::before,
.mec-wrap .mec-bg-color-after::after {
  background-color: #003928 !important;
}

.mec-wrap .mec-border-color,
.mec-wrap .mec-border-color-hover:hover {
  border-color: #1F8765 !important;
}

/* Event archive and list skins */
.mec-wrap .mec-month-divider {
  margin: 40px 0 24px;
}

.mec-wrap .mec-month-divider::before,
.mec-wrap .mec-month-divider::after {
  background-color: rgba(0, 57, 40, 0.18);
}

.mec-wrap .mec-month-divider h5 {
  color: #003928;
  font-family: "Montserrat", sans-serif;
  font-size: 22px;
  letter-spacing: 0.02em;
}

.mec-wrap .mec-event-article {
  background: #FFFFFF;
  border-left: 4px solid #1F8765;
  margin-bottom: 14px;
  padding: 18px 22px;
}

.mec-wrap .mec-event-article:hover {
  border-left-color: #A1A437;
}

.mec-wrap .mec-event-date {
  color: #1F8765 !important;
  font-family: "Noto Serif", Georgia, serif;
  font-size: 14px;
  font-weight: 700;
}

.mec-wrap .mec-event-title,
.mec-wrap .mec-event-title a {
  color: #003928;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}

.mec-wrap .mec-event-title a:hover {
  color: #1F8765;
}

.mec-wrap .mec-load-more-button {
  background: #003928;
  border: 2px solid #003928;
  border-radius: 4px;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.mec-wrap .mec-load-more-button:hover {
  background: #1F8765;
  border-color: #1F8765;
  color: #FFFFFF;
}

/* Calendar, search, and filter controls */
.mec-wrap .mec-calendar .mec-calendar-topsec,
.mec-wrap .mec-search-form,
.mec-wrap .mec-event-search-form {
  border-color: rgba(0, 57, 40, 0.16);
}

.mec-wrap .mec-calendar .mec-selected-day,
.mec-wrap .mec-calendar .mec-calendar-d-table .mec-selected-day {
  background-color: #003928;
  color: #FFFFFF;
}

.mec-wrap .mec-calendar .mec-has-event::after,
.mec-wrap .mec-calendar .mec-has-event-for-booking::after {
  background-color: #A1A437;
}

.mec-wrap input[type="text"],
.mec-wrap input[type="search"],
.mec-wrap select,
.mec-wrap textarea {
  background: #FFFFFF;
  border: 1px solid rgba(0, 57, 40, 0.24);
  border-radius: 4px;
}

.mec-wrap input:focus,
.mec-wrap select:focus,
.mec-wrap textarea:focus {
  border-color: #1F8765;
  box-shadow: 0 0 0 3px rgba(31, 135, 101, 0.18);
  outline: 0;
}

/* Single-event layout */
.mec-single-event .mec-frontbox,
.mec-single-modern .mec-frontbox,
.mec-single-event .mec-events-meta-group-booking,
.mec-single-event .mec-event-meta {
  background: #FFFFFF;
  border: 1px solid rgba(0, 57, 40, 0.14);
  border-radius: 4px;
  box-shadow: none;
}

.mec-single-event .mec-events-button {
  background: #003928 !important;
  border: 2px solid #003928 !important;
  border-radius: 4px;
  color: #FFFFFF !important;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}

.mec-single-event .mec-events-button:hover {
  background: #1F8765 !important;
  border-color: #1F8765 !important;
  color: #FFFFFF !important;
}

.mec-single-event .mec-event-meta h3,
.mec-single-event .mec-event-meta h4,
.mec-single-event .mec-event-meta h5,
.mec-single-event .mec-event-meta dt {
  color: #003928;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}

.mec-single-event [class*="mec-sl-"],
.mec-single-event i::before {
  color: #1F8765 !important;
}

.mec-single-event .countdown-w .block-w .inn,
.mec-single-event .mec-countdown-details .countdown-w .block-w .inn {
  background: #1F8765 !important;
  color: #FFFFFF !important;
  box-shadow: none;
}

.mec-single-event .countdown-w .block-w span,
.mec-single-event .mec-countdown-details .countdown-w .block-w span {
  color: #003928;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}

.mec-single-event .mec-event-content {
  color: #232323;
  font-family: "Noto Serif", Georgia, serif;
  font-size: 18px;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .mec-wrap .mec-month-divider {
    margin: 28px 0 18px;
  }

  .mec-wrap .mec-month-divider h5 {
    font-size: 19px;
    margin: 0 12px;
  }

  .mec-wrap .mec-event-article {
    padding: 16px;
  }

  .mec-single-event .mec-events-button {
    display: block;
    margin-bottom: 10px;
    text-align: center;
    width: 100%;
  }
}

/* MEC flip-clock countdown uses its own nested markup. */
.mec-single-event .mec-events-meta-group-countdown .flip-clock-wrapper .inn {
  background: #1F8765 !important;
  color: #FFFFFF !important;
}

.mec-single-event .mec-events-meta-group-countdown .flip-clock-divider .flip-clock-label {
  color: #003928;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}