/* Single Event Page Styles */

/* Hide empty Elementor containers completely */
.cns-booking-box.cns-empty-mec-box,
.cns-rsvp-box.cns-empty-mec-box {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* Weather and Map */
.cns-empty-side-section {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* Event description — restore readable formatting; body size for custom fields to match. */
.mec-single-event-description.mec-events-content,
.elementor-widget-event_content .mec-events-content {
  font-size: 15px;
  line-height: 1.65;
}

.mec-single-event-description.mec-events-content p,
.elementor-widget-event_content .mec-events-content p {
  margin: 0 0 1em;
}

.mec-single-event-description.mec-events-content ul,
.mec-single-event-description.mec-events-content ol,
.elementor-widget-event_content .mec-events-content ul,
.elementor-widget-event_content .mec-events-content ol {
  margin: 0 0 1em 1.4em;
  padding: 0;
  list-style-position: outside;
}

.mec-single-event-description.mec-events-content ul,
.elementor-widget-event_content .mec-events-content ul {
  list-style-type: disc;
}

.mec-single-event-description.mec-events-content ol,
.elementor-widget-event_content .mec-events-content ol {
  list-style-type: decimal;
}

.mec-single-event-description.mec-events-content li,
.elementor-widget-event_content .mec-events-content li {
  margin: 0 0 0.45em;
}

.mec-single-event-description.mec-events-content h3,
.mec-single-event-description.mec-events-content h4,
.elementor-widget-event_content .mec-events-content h3,
.elementor-widget-event_content .mec-events-content h4 {
  margin: 1.25em 0 0.6em;
  font-weight: 600;
  line-height: 1.3;
}

.mec-single-event-description.mec-events-content > :first-child,
.elementor-widget-event_content .mec-events-content > :first-child {
  margin-top: 0;
}

/* Custom field values — match description body typography (keep link color). */
.mec-single-event .mec-event-data,
.mec-single-event .mec-events-meta-group-data,
.mec-single-event .mec-single-event-data,
.elementor-widget-event_data,
.elementor-widget-event_data .mec-event-data,
.elementor-widget-event_data .mec-events-meta-group-data {
  font-size: 15px;
  line-height: 1.65;
}

.mec-single-event .mec-event-data .mec-event-data-field,
.mec-single-event .mec-event-data li,
.mec-single-event .mec-events-meta-group-data .mec-event-data-field,
.mec-single-event .mec-events-meta-group-data li,
.elementor-widget-event_data .mec-event-data-field,
.elementor-widget-event_data li,
.elementor-widget-event_data p,
.elementor-widget-event_data span,
.elementor-widget-event_data .mec-events-meta-group-data,
.mec-single-event .mec-event-data-field-name,
.mec-single-event .mec-event-data-field-value,
.elementor-widget-event_data .mec-event-data-field-name,
.elementor-widget-event_data .mec-event-data-field-value,
body.single-mec-events .mec-event-data-field-name,
body.single-mec-events .mec-event-data-field-value,
body.single-mec-events .elementor-widget-event_data .mec-event-data-field-name,
body.single-mec-events .elementor-widget-event_data .mec-event-data-field-value {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* Field values: match description weight (500 looks oversized next to 400 body). */
.mec-single-event .mec-event-data-field-value,
.elementor-widget-event_data .mec-event-data-field-value,
body.single-mec-events .mec-event-data-field-value {
  font-weight: 400 !important;
}

.mec-single-event .mec-event-data .mec-event-data-field-name,
.mec-single-event .mec-events-meta-group-data .mec-event-data-field-name,
.elementor-widget-event_data .mec-event-data-field-name,
.elementor-widget-event_data strong {
  font-weight: 600;
}

/* Tighten gaps around category label + event title (not the Past Events breadcrumb).
   Applies desktop + mobile — Elementor puts breadcrumbs/title in separate padded containers. */
.elementor-widget-event_breadcrumbs,
.elementor-widget-event_breadcrumbs > .elementor-widget-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.single-mec-events .e-con:has(.elementor-widget-event_breadcrumbs) > .e-con-inner {
  padding-bottom: 0 !important;
}

body.single-mec-events .e-con:has(> .elementor-widget-event_title) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  gap: 8px !important;
  row-gap: 8px !important;
}

body.single-mec-events .e-con:has(> .e-con:has(> .elementor-widget-event_title)) {
  padding-top: 0 !important;
  gap: 8px !important;
  row-gap: 8px !important;
}

body.single-mec-events .e-con:has(.elementor-widget-event_title) > .e-con-inner {
  padding-top: 0 !important;
}

.elementor-widget-event_title,
.elementor-widget-event_title > .elementor-widget-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.mec-single-event .mec-single-title,
.mec-single-event h1.mec-single-title,
.mec-single-event .mec-events-title,
.mec-single-event .entry-title,
.single-mec-events .entry-title,
.single-mec-events h1.elementor-heading-title,
.elementor-widget-event_title h1,
.elementor-widget-theme-post-title .elementor-heading-title,
.elementor-widget-theme-post-title h1 {
  margin-top: 0 !important;
  margin-bottom: 0.25em !important;
}

.mec-breadcrumbs {
  margin-bottom: 0.1em !important;
}

@media (max-width: 767px) {
  .cns-mec-breadcrumb-label {
    margin: 2px 0 2px !important;
  }

  body.single-mec-events .e-con:has(> .elementor-widget-event_title) {
    gap: 6px !important;
    row-gap: 6px !important;
  }
}

