/* ============================================================================
 * Overlap Hero — full-bleed image with a content card that overlaps the bottom
 * of the image and extends below it. Image height, overlap %, card width and the
 * padding below are editor-controlled (CSS vars set by the widget controls).
 * ========================================================================== */

.elementor-column
  > .elementor-element-populated:has(.elementor-widget-agency-overlap-hero),
.e-con:has(> .e-con-inner > .elementor-widget-agency-overlap-hero),
.e-con:has(.elementor-widget-agency-overlap-hero) {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  padding: 0 !important;
}

/* Full-bleed section (image + cream extend edge to edge). */
.aew-ovhero {
  --aew-ovhero-img-h: 700px;
  --aew-ovhero-overlap: 30;
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  background-color: #f8f5f1;
  box-sizing: border-box;
  overflow: hidden;
}

/* ── Image (top, full width) ─────────────────────────────────────────────── */
.aew-ovhero__media {
  width: 100%;
  height: var(--aew-ovhero-img-h, 700px);
  line-height: 0;
  background-color: #e1deda;
}

.aew-ovhero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ── Below: holds the card, pulled up over the image, padding underneath ──── */
.aew-ovhero__below {
  position: relative;
  z-index: 2;
  margin-top: calc(
    -1 * var(--aew-ovhero-img-h, 700px) * var(--aew-ovhero-overlap, 30) / 100
  );
  /* padding owned by bottom_padding control */
}

.aew-ovhero__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* ── Card ────────────────────────────────────────────────────────────────── */
.aew-ovhero__card {
  /* width owned by card_width control */
  max-width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  background-color: #f8f5f1;
  /* border-radius owned by card_radius control */
  /* padding owned by card_padding control */
  /* text-align owned by content_align control */
}

/* ── Content ─────────────────────────────────────────────────────────────── */
.aew-ovhero__eyebrow {
  margin: 0 0 16px;
  /* font-family, font-weight, font-size owned by eyebrow_typography control */
  letter-spacing: 1px;
  text-transform: uppercase;
  /* color owned by eyebrow_color control */
}

.aew-ovhero__heading {
  margin: 0 0 24px;
  /* font-family, font-weight, font-size owned by heading_typography control */
  line-height: 1.05;
  /* color owned by heading_color control */
}

.aew-ovhero__desc {
  margin: 0 0 32px;
  /* font-family, font-weight, font-size owned by desc_typography control */
  line-height: 1.6;
  /* color owned by desc_color control */
}

.aew-ovhero__desc p {
  margin: 0 0 1em;
}

.aew-ovhero__desc p:last-child {
  margin-bottom: 0;
}

.aew-ovhero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 28px;
  border: 0;
  /* border-radius owned by button_radius control */
  background-color: #f3c400;
  color: #252f37;
  /* font-family, font-weight, font-size owned by button_typography control */
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.aew-ovhero__btn:hover,
.aew-ovhero__btn:focus-visible {
  opacity: 0.92;
  color: #252f37;
}

.aew-ovhero__footnote {
  margin: 28px 0 0;
  /* font-family, font-weight, font-size owned by footnote_typography control */
  /* color owned by footnote_color control */
}

/* ── Tablet / mobile ─────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .aew-ovhero__inner {
    padding: 0;
  }
  .aew-ovhero__btn {
    width: 100%;
  }
}
