/* =========================
   WPBAKERY / MOBILE SPACING
   ========================= */
@media (max-width: 768px) {
  .vc_row { margin-bottom: 16px !important; }
  .promo-tile { margin-bottom: 18px !important; }
  .promo-tile img { display: block; }
}

/* =========================
   FIX: HEADING WRAP / OVERSIZED HEADINGS (PAGES)
   ========================= */
body.page h1,
body.page h2,
body.page h3,
body.page h4,
body.page h5,
body.page h6 {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.page .entry-content h1,
body.page .wpb_wrapper h1,
body.page .vc_column-inner h1,
body.page main#primary h1 {
  font-size: 52px !important;
  line-height: 1.1 !important;
  margin: 0.6em 0 !important;
}

body.page .entry-content h2,
body.page .wpb_wrapper h2,
body.page .vc_column-inner h2,
body.page main#primary h2 {
  font-size: 34px !important;
  line-height: 1.2 !important;
  margin: 1.1em 0 0.5em !important;
}

@media (max-width: 768px) {
  body.page .entry-content h1,
  body.page .wpb_wrapper h1,
  body.page .vc_column-inner h1,
  body.page main#primary h1 {
    font-size: 34px !important;
    line-height: 1.15 !important;
  }

  body.page .entry-content h2,
  body.page .wpb_wrapper h2,
  body.page .vc_column-inner h2,
  body.page main#primary h2 {
    font-size: 26px !important;
    line-height: 1.25 !important;
  }
}

/* =========================
   RENTALS GRID — FORCE 4 ACROSS
   Add "rentals-grid" to the INNER ROW extra class
   Works for:
   - .vc_row.vc_inner
   - .vc_row_inner
   ========================= */

/* Break out of any theme grid width constraints */
.qodef-row-grid-section {
  max-width: 100% !important;
  width: 100% !important;
}

.vc_row.vc_inner.rentals-grid,
.vc_row_inner.rentals-grid {
  width: 100% !important;
  max-width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;

  /* Stop WPBakery gutters/negative margins */
  margin-left: 0 !important;
  margin-right: 0 !important;

  min-width: 0 !important;
}

/* Make grid children behave (disable floats/flex widths WPBakery may apply) */
.vc_row.vc_inner.rentals-grid > .wpb_column,
.vc_row.vc_inner.rentals-grid > .vc_column_container,
.vc_row.vc_inner.rentals-grid > .vc_column_inner,
.vc_row_inner.rentals-grid > .wpb_column,
.vc_row_inner.rentals-grid > .vc_column_container,
.vc_row_inner.rentals-grid > .vc_column_inner {
  width: auto !important;
  float: none !important;
  flex: none !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Remove inner padding that steals width */
.vc_row.vc_inner.rentals-grid > .wpb_column > .vc_column-inner,
.vc_row.vc_inner.rentals-grid > .vc_column_container > .vc_column-inner,
.vc_row.vc_inner.rentals-grid > .vc_column_inner > .vc_column-inner,
.vc_row_inner.rentals-grid > .wpb_column > .vc_column-inner,
.vc_row_inner.rentals-grid > .vc_column_container > .vc_column-inner,
.vc_row_inner.rentals-grid > .vc_column_inner > .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  min-width: 0 !important;
}

/* Ensure cards don't force width */
.vc_row.vc_inner.rentals-grid .property-card,
.vc_row_inner.rentals-grid .property-card {
  width: 100% !important;
  margin: 0 !important;
  min-width: 0 !important;
}

/* Tablet: 2 across */
@media (max-width: 1024px) {
  .vc_row.vc_inner.rentals-grid,
  .vc_row_inner.rentals-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

/* Mobile: 1 across */
@media (max-width: 768px) {
  .vc_row.vc_inner.rentals-grid,
  .vc_row_inner.rentals-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* =========================
   CF7 POPUP — EMAIL FIELD VISIBILITY
   ========================= */
.wpcf7-form input.wpcf7-form-control.wpcf7-email,
.wpcf7 form input[type="email"] {
  background: #f2f2f2 !important;
  border: 1px solid #111 !important;
  padding: 14px 16px !important;
  border-radius: 4px !important;
  font-size: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.wpcf7-form input.wpcf7-form-control.wpcf7-email:focus,
.wpcf7 form input[type="email"]:focus {
  background: #fff !important;
  border-color: #ff9900 !important;
  outline: none !important;
}