/* The full-width page template must also escape Astra's page wrapper.
 * Elementor's own container controls continue to set each section's width. */
body.csm-generated-event:is(.elementor-template-full-width, .csm-event-page-full-width) .site-content > .ast-container {
  width: 100%;
  max-width: none !important;
  padding-inline: 0;
}

body.csm-generated-event .elementor :is(.elementor-element-204b11, .elementor-element-555e92b8, .elementor-element-28b2bcc3) {
  box-sizing: border-box;
  min-width: 0;
}

body.csm-generated-event .elementor .elementor-element-6943bf67.event-details {
  display: grid !important;
  /* SHADED reference: 240px metadata, ~350px flyer and 520px details
   * at a 1440px viewport. Narrow desktop proportions are set below. */
  grid-template-columns: clamp(180px, 18vw, 240px) minmax(0, 560px) minmax(520px, 1fr) !important;
  column-gap: clamp(18px, 3vw, 56px) !important;
  row-gap: 0 !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0;
  padding: 40px 0 !important;
  border-right-width: 0 !important;
  border-left-width: 0 !important;
  border-bottom-width: 0 !important;
  border-radius: 0 !important;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 :is(.event-col1, .event-col2, .event-col3) {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .event-col1 {
  border-right: 1px solid #ffffff66 !important;
  padding: 6px 18px 0 0 !important;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .event-col3 {
  padding: 0 4px 0 18px !important;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .elementor-widget {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  border-right-width: 0 !important;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .elementor-widget-container {
  min-width: 0;
  padding-inline: 0 !important;
  border-right-width: 0 !important;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 :is(.elementor-heading-title, .elementor-widget-text-editor) {
  white-space: normal !important;
  overflow-wrap: anywhere;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .event-col1 .elementor-widget-heading + .elementor-widget-heading {
  margin-top: 12px;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .elementor-element-742d05c0 .elementor-heading-title {
  font-size: 32px !important;
  white-space: nowrap !important;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .event-col2 img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain;
  border-radius: 18px !important;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .elementor-element-4f6ab10c {
  gap: 8px !important;
  width: 100% !important;
  min-width: 0;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .elementor-element-23fd26fe .elementor-heading-title {
  font-size: clamp(28px, 3.2vw, 40.8px) !important;
  line-height: 1.2;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .elementor-widget-text-editor {
  text-align: left !important;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .elementor-widget-text-editor p {
  margin: 0 0 12px;
}

body.csm-generated-event .elementor .elementor-element-6943bf67 .event-col3 .elementor-button {
  box-sizing: border-box;
  width: min(100%, 240px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 44px;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  body.csm-generated-event .elementor .elementor-element-6943bf67.event-details {
    /* Scale the reference columns together instead of reserving 520px for
     * details and squeezing all of the remaining width out of the flyer. */
    grid-template-columns: minmax(0, .64fr) minmax(0, 1.04fr) minmax(0, 1.45fr) !important;
  }
}

@media (max-width: 1024px) {
  body.csm-generated-event .elementor .elementor-element-6943bf67.event-details {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) !important;
    gap: 24px !important;
  }

  body.csm-generated-event .elementor .elementor-element-6943bf67 .event-col1 {
    grid-column: 1 / -1 !important;
    border-right: 0 !important;
    padding: 0 0 18px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #ffffff33;
  }

  body.csm-generated-event .elementor .elementor-element-6943bf67 .event-col2 {
    grid-column: 1 !important;
  }

  body.csm-generated-event .elementor .elementor-element-6943bf67 .event-col3 {
    grid-column: 2 !important;
    padding: 0 !important;
  }

  body.csm-generated-event .elementor .elementor-element-6943bf67 .event-col1 .elementor-heading-title {
    text-align: left !important;
  }
}

@media (max-width: 767px) {
  body.csm-generated-event .elementor .elementor-element-6943bf67 .elementor-element-742d05c0 .elementor-heading-title {
    font-size: 24px !important;
  }

  body.csm-generated-event .elementor .elementor-element-6943bf67.event-details {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    padding-top: 24px !important;
  }

  body.csm-generated-event .elementor .elementor-element-6943bf67 .event-col2 {
    max-width: 480px !important;
    justify-self: center;
  }

  body.csm-generated-event .elementor .elementor-element-6943bf67 :is(.event-col2, .event-col3) {
    grid-column: 1 !important;
  }
}
