/* Westlanddre survey embed — layout polish (iframe markup untouched) */

.westlanddre-survey-embed {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0, 14, 68, 0.1);
}

.westlanddre-survey-embed iframe {
  display: block;
  width: 100% !important;
  max-width: 100%;
  border: 0;
  vertical-align: top;
}

/* Inline shortcode / Elementor form columns */
.elementor-shortcode > .westlanddre-survey-embed,
.elementor-widget-shortcode .westlanddre-survey-embed {
  margin: 0 auto;
}

.mb-form-maker > .westlanddre-survey-embed,
#mb-contact-page .mb-form-maker > .westlanddre-survey-embed {
  margin-top: 8px;
  border-radius: 12px;
}

/* Contact / specialties form panels — tighten space around survey */
#mb-contact-page .mb-form,
#mb-specialties .mb-form {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

#mb-contact-page .mb-form-maker,
#mb-specialties .mb-form-maker {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

/* Popup Maker appointment modal */
.pum-content .westlanddre-survey-embed,
.popmake-content .westlanddre-survey-embed {
  border-radius: 12px;
  box-shadow: none;
  background: #fff;
}

.pum-container .pum-content {
  overflow-x: hidden;
}

/* Other homepage / service form columns — top-align, no floating gaps */
.elementor-127 .elementor-element.elementor-element-53469e3a.elementor-column > .elementor-widget-wrap,
.elementor-127 .elementor-element.elementor-element-53469e3a.elementor-column > .elementor-widget-wrap.elementor-element-populated {
  align-items: flex-start !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
}

/* ---------- Homepage feature-grid + form (restored Elementor composition) ----------
   Source of truth for proportions: wp-content/uploads/elementor/css/post-127.css
   - Parent 45c5212: flex row, margin-top:-133px (hero overlap)
   - Left column wrapper: 70% (grid 3×2 + next-steps)
   - Form accaf35: --width:30%
   Do NOT sync column heights or rewrite the grid to 2×3. */
.elementor-127 .elementor-element.elementor-element-45c5212 {
  /* Keep Elementor gutters/container; only stop equal-height stretch */
  --align-items: flex-start !important;
  align-items: flex-start !important;
}

/* Left column: feature grid + next-steps, same width as Elementor 70% */
.elementor-127 .elementor-element.elementor-element-45c5212 .mb-home-left-col {
  --width: 70%;
  width: 70%;
  max-width: 70%;
  flex-grow: 0;
  flex-shrink: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-self: flex-start;
  min-width: 0;
}

/* Feature grid fills left column; keep Elementor 3×2 compact tiles */
.elementor-127 .mb-home-left-col .elementor-element.elementor-element-eb49ba7,
.elementor-127 .elementor-element.elementor-element-eb49ba7 {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  align-self: flex-start !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* Form column: Elementor 30% width — natural height for navy header + survey */
.elementor-127 .elementor-element.elementor-element-accaf35 {
  align-self: flex-start !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  background: transparent !important;
  /* Kill Elementor's heavy black blur (0 0 10px 9px rgba(0,0,0,.5)) that
     bleeds onto the left column / What Happens Next panel */
  box-shadow: none !important;
  /* Pull-in was for the old hard shadow; keep a small overlap without the blob */
  --margin-left: 0px;
  margin-left: 0 !important;
  position: relative;
  z-index: 2;
}

.elementor-127 .elementor-element.elementor-element-accaf35 .elementor-widget-container,
.elementor-127 .elementor-element.elementor-element-accaf35 .elementor-shortcode {
  height: auto !important;
  max-height: none !important;
}

/* Neutralize legacy hero-crop rules if markup is stale */
.elementor-127 .elementor-element.elementor-element-accaf35 .westlanddre-survey-embed--hero-crop {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

.elementor-127 .elementor-element.elementor-element-accaf35 .westlanddre-survey-embed--hero-crop iframe {
  margin-top: 0 !important;
  height: auto !important;
}

/* ---- What Happens Next (left column only) ---- */
.mb-next-steps {
  margin-top: 24px;
  padding: 22px 24px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  background: #f0f6fb;
  border: 1px solid rgba(0, 14, 68, 0.1);
  border-radius: 12px;
  color: #000e44;
  box-shadow: none;
  position: relative;
  z-index: 1;
  isolation: isolate;
}

.mb-next-steps__eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #00e5cc;
  line-height: 1.3;
}

.mb-next-steps__heading {
  margin: 0 0 16px;
  font-size: clamp(1.05rem, 1.4vw, 1.25rem); /* smaller than major page headings */
  font-weight: 700;
  line-height: 1.25;
  color: #000e44;
}

.mb-next-steps__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 20px;
}

.mb-next-steps__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.mb-next-steps__num {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #00e5cc;
  line-height: 1.2;
}

.mb-next-steps__copy {
  min-width: 0;
}

.mb-next-steps__title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: #000e44;
}

.mb-next-steps__desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #1a2a5c;
  text-align: left;
}

/* Stack steps when three columns get cramped; keep Elementor 70/30 until mobile */
@media (max-width: 1024px) {
  .mb-next-steps__list {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .mb-next-steps__item {
    flex-direction: row;
    gap: 12px;
  }
}

@media (max-width: 767px) {
  .westlanddre-survey-embed {
    border-radius: 10px;
  }

  /* Match Elementor mobile: columns stack full-width */
  .elementor-127 .elementor-element.elementor-element-45c5212 .mb-home-left-col {
    width: 100%;
    max-width: 100%;
    --width: 100%;
  }

  .mb-next-steps {
    margin-top: 20px;
    padding: 18px;
  }

  .mb-next-steps__title {
    font-size: 15px;
  }

  .mb-next-steps__desc {
    font-size: 13px;
  }
}

/* ==========================================================================
   Signature Navy cards (.mb-ghl-card)
   Includes homepage hero VrxgTdTpa5xuUXhJ5KB9 via .mb-ghl-card--hero.

   Specificity is intentionally above theme/Elementor heading rules such as
   `.elementor-kit-98 h3` and page scopes like `#mb-contact-page h3` /
   `#mb-specialties h3`, which otherwise paint titles navy-on-navy.
   ========================================================================== */

.mb-ghl-card {
  --mb-ghl-navy: #000E44;
  --mb-ghl-teal: #00E5CC;
  --mb-ghl-white: #ffffff;
  --mb-ghl-muted: rgba(255, 255, 255, 0.88);
  --mb-ghl-radius: 16px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--mb-ghl-white);
  border-radius: var(--mb-ghl-radius);
  box-shadow: 0 14px 36px rgba(0, 14, 68, 0.14);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.mb-ghl-card > .mb-ghl-card__header {
  background-color: #000E44;
  background: #000E44;
  color: #ffffff;
  padding: 28px;
  border-bottom: 3px solid #00E5CC;
  box-sizing: border-box;
}

.mb-ghl-card > .mb-ghl-card__header > .mb-ghl-card__eyebrow,
.mb-ghl-card .mb-ghl-card__eyebrow {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #00E5CC;
  line-height: 1.3;
}

/* Beat `.elementor-kit-* h3` (0,1,1) and page `#… h3` (1,0,1) without !important */
.mb-ghl-card h3.mb-ghl-card__title,
.mb-ghl-card > .mb-ghl-card__header > h3.mb-ghl-card__title,
#mb-contact-page .mb-ghl-card h3.mb-ghl-card__title,
#mb-specialties .mb-ghl-card h3.mb-ghl-card__title,
.elementor-kit-98 .mb-ghl-card h3.mb-ghl-card__title,
.elementor-127 .mb-ghl-card h3.mb-ghl-card__title,
.pum-content .mb-ghl-card h3.mb-ghl-card__title,
.popmake-content .mb-ghl-card h3.mb-ghl-card__title {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: normal;
}

.mb-ghl-card > .mb-ghl-card__header > .mb-ghl-card__text,
.mb-ghl-card .mb-ghl-card__text,
#mb-contact-page .mb-ghl-card .mb-ghl-card__text,
#mb-specialties .mb-ghl-card .mb-ghl-card__text,
.elementor-127 .mb-ghl-card .mb-ghl-card__text {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.95rem;
  line-height: 1.45;
  max-width: 36em;
}

.mb-ghl-card > .mb-ghl-card__body {
  background: #ffffff;
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  line-height: 0; /* avoid inline-gap under iframe */
}

/* Nested embed: no second card chrome; mild top crop for GHL padding */
.mb-ghl-card .westlanddre-survey-embed,
.mb-ghl-card .mb-ghl-card__embed {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  max-width: 100%;
  line-height: 0;
}

.mb-ghl-card .westlanddre-survey-embed iframe,
.mb-ghl-card iframe[src*="link.westlanddre.com/widget/survey"] {
  display: block;
  width: 100% !important;
  max-width: 100%;
  border: 0 !important;
  margin: 0 !important;
  margin-top: -40px !important;
  vertical-align: top;
}

/* Homepage hero: compact navy header only (no supporting paragraph) */
.mb-ghl-card--hero {
  box-shadow: 0 10px 28px rgba(0, 14, 68, 0.12);
  border: 0;
  background: #ffffff;
}

.mb-ghl-card--hero > .mb-ghl-card__header {
  padding: 18px 20px;
}

.mb-ghl-card--hero > .mb-ghl-card__header > .mb-ghl-card__eyebrow,
.mb-ghl-card--hero .mb-ghl-card__eyebrow {
  margin: 0 0 6px;
}

.mb-ghl-card--hero h3.mb-ghl-card__title,
.elementor-127 .mb-ghl-card--hero h3.mb-ghl-card__title {
  font-size: clamp(1.15rem, 1.5vw, 1.35rem);
  margin: 0;
}

.mb-ghl-card--hero > .mb-ghl-card__body {
  background: #ffffff;
  padding: 0;
  box-shadow: none;
  border: 0;
}

.mb-ghl-card--hero .westlanddre-survey-embed,
.mb-ghl-card--hero .mb-ghl-card__embed {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.mb-ghl-card--hero .westlanddre-survey-embed iframe,
.mb-ghl-card--hero iframe[src*="link.westlanddre.com/widget/survey"],
.mb-ghl-card--hero iframe#VrxgTdTpa5xuUXhJ5KB9 {
  margin: 0 !important;
  margin-top: 0 !important;
  transform: none !important;
}

/* Contact / specialties panels: card fills form column */
#mb-contact-page .mb-form .mb-ghl-card,
#mb-specialties .mb-form .mb-ghl-card,
.mb-form-maker > .mb-ghl-card {
  margin-top: 0;
}

#mb-contact-page .mb-form-maker,
#mb-specialties .mb-form-maker,
#mb-contact-page .mb-form-maker:has(.mb-ghl-card),
#mb-specialties .mb-form-maker:has(.mb-ghl-card) {
  overflow: visible !important;
  max-width: 100%;
}

/* Popup Maker: accommodate header + scroll; avoid nested white chrome */
.pum-container:has(.mb-ghl-card),
.popmake:has(.mb-ghl-card) {
  max-height: min(92vh, 860px) !important;
  height: auto !important;
  overflow: hidden;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}

.pum-content:has(.mb-ghl-card),
.popmake-content:has(.mb-ghl-card) {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: min(88vh, 820px);
  -webkit-overflow-scrolling: touch;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.pum-content .mb-ghl-card,
.popmake-content .mb-ghl-card {
  box-shadow: 0 14px 36px rgba(0, 14, 68, 0.22);
  border-radius: 16px;
  max-width: 100%;
}

.pum-container:has(.mb-ghl-card) .pum-close,
.popmake:has(.mb-ghl-card) .popmake-close {
  z-index: 5;
  top: 10px !important;
  right: 10px !important;
}

@media (max-width: 767px) {
  .mb-ghl-card {
    border-radius: 14px;
  }

  .mb-ghl-card > .mb-ghl-card__header {
    padding: 20px 18px 18px;
  }

  .mb-ghl-card--hero > .mb-ghl-card__header {
    padding: 18px;
  }

  .mb-ghl-card h3.mb-ghl-card__title,
  .mb-ghl-card > .mb-ghl-card__header > h3.mb-ghl-card__title {
    font-size: 1.2rem;
  }

  .mb-ghl-card--hero h3.mb-ghl-card__title,
  .elementor-127 .mb-ghl-card--hero h3.mb-ghl-card__title {
    font-size: 1.1rem;
  }

  .mb-ghl-card > .mb-ghl-card__header > .mb-ghl-card__text,
  .mb-ghl-card .mb-ghl-card__text {
    font-size: 0.9rem;
  }

  .pum-content:has(.mb-ghl-card),
  .popmake-content:has(.mb-ghl-card) {
    max-height: 85vh;
  }
}

@media (max-width: 375px) {
  .mb-ghl-card > .mb-ghl-card__header {
    padding: 18px 16px 16px;
  }

  .mb-ghl-card--hero > .mb-ghl-card__header {
    padding: 16px;
  }
}
