/* DubaiHome main Single Property independent document shell.
 * Route-only foundation. Component visuals remain in their authoritative files.
 */
body.dhhfe-single-property-independent-shell {
  margin: 0;
  overflow-x: hidden;
  background: #fff;
  color: #102033;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 25px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.dhhfe-single-property-independent-shell *,
body.dhhfe-single-property-independent-shell *::before,
body.dhhfe-single-property-independent-shell *::after {
  box-sizing: border-box;
}

:where(body.dhhfe-single-property-independent-shell a) {
  color: inherit;
  text-decoration: none;
}

:where(
  body.dhhfe-single-property-independent-shell button,
  body.dhhfe-single-property-independent-shell input,
  body.dhhfe-single-property-independent-shell select,
  body.dhhfe-single-property-independent-shell textarea
) {
  font: inherit;
}

body.dhhfe-single-property-independent-shell .dhhfe-single-property-shell,
body.dhhfe-single-property-independent-shell .dhhfe-single-property-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: #fff;
}

/* Match the former visual content canvas without retaining Elementor wrappers. */
body.dhhfe-single-property-independent-shell .dhhfe-single-property-main > .dh-rhb-detail {
  width: calc(100% - 20px);
  max-width: 1140px;
  margin: 0 auto;
  padding: 0;
  background: #fff;
}

/* Elementor previously supplied this neutral image reset around the shortcode.
 * :where() keeps specificity low so authoritative component heights still win. */
:where(body.dhhfe-single-property-independent-shell .dh-rhb-detail) img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

body.dhhfe-single-property-independent-shell .dhhfe-single-property-main {
  display: block;
  min-height: 1px;
  margin-bottom: 30px;
  overflow: clip;
}

/* Preserve the approved Single Property footer rhythm previously inherited from
 * the theme shell; the Footer renderer and authoritative Footer CSS stay intact. */
body.dhhfe-single-property-independent-shell .dhhfe-footer-wrap {
  line-height: 25px;
}

/* Small compatibility utilities retained by the centralized Footer markup. */
body.dhhfe-single-property-independent-shell .mb-0 { margin-bottom: 0 !important; }
body.dhhfe-single-property-independent-shell .mb-3 { margin-bottom: 1rem !important; }
body.dhhfe-single-property-independent-shell .mb-4 { margin-bottom: 1.5rem !important; }
body.dhhfe-single-property-independent-shell .pt-4 { padding-top: 1.5rem !important; }
body.dhhfe-single-property-independent-shell .pb-4 { padding-bottom: 1.5rem !important; }
body.dhhfe-single-property-independent-shell .list-unstyled { padding-left: 0; list-style: none; }
body.dhhfe-single-property-independent-shell .d-flex { display: flex !important; }
body.dhhfe-single-property-independent-shell .flex-column { flex-direction: column !important; }
body.dhhfe-single-property-independent-shell .gap-2 { gap: .5rem !important; }
body.dhhfe-single-property-independent-shell .justify-content-between { justify-content: space-between !important; }
body.dhhfe-single-property-independent-shell .align-items-center { align-items: center !important; }

@media (min-width: 768px) {
  body.dhhfe-single-property-independent-shell .flex-md-row { flex-direction: row !important; }
  body.dhhfe-single-property-independent-shell .mb-md-0 { margin-bottom: 0 !important; }
}
