/* DubaiHome Clean Homepage Test Route v2.3.148
   Route-only bridge styles for the independent exact-copy shell. */
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page),
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dh-clean-home-test-shell,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dh-clean-home-live-shell,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dh-clean-home-main,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) {
  margin: 0;
  color: #102033;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 25px;
  overflow-x: hidden;
}

body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) a {
  color: inherit;
  text-decoration: none;
}

body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) *,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) *::before,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) *::after {
  box-sizing: border-box;
}

body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .container {
  width: calc(100% - 32px);
  max-width: 1310px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 992px) {
  body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .container {
    width: calc(100% - 128px);
    max-width: 1390px;
    padding-left: 0;
    padding-right: 0;
  }
}

/* Bootstrap utility replacements used by the approved footer markup. */
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .mb-0 { margin-bottom: 0 !important; }
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .mb-4 { margin-bottom: 1.5rem !important; }
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .me-1 { margin-right: .25rem !important; }
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .list-unstyled { padding-left: 0; list-style: none; }
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .d-flex { display: flex !important; }
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .flex-column { flex-direction: column !important; }
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .gap-2 { gap: .5rem !important; }


/* v2.3.148: exact footer color/spacing bridge for the independent route. */














body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .pt-4 { padding-top: 1.5rem !important; }
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .pb-4 { padding-bottom: 1.5rem !important; }
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .mb-3 { margin-bottom: 1rem !important; }
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .justify-content-between { justify-content: space-between !important; }
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .align-items-center { align-items: center !important; }

@media (min-width: 768px) {
  body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .flex-md-row { flex-direction: row !important; }
  body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .mb-md-0 { margin-bottom: 0 !important; }
}



/* Neutral footer icons for the clean source. */












body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-home-skip-link:focus {
  left: 16px;
  top: 16px;
  z-index: 100000;
}



/* v2.3.149: remove rough contact glyphs from the clean footer; keep text links clean. */


/* v2.3.149: contrast/accessibility polish for homepage project cards. */
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dh-project-card .dh-project-card-developer,
body.dhhfe-ultimate-homepage .dh-project-card .dh-project-card-developer {
  color: rgba(16,32,51,0.78) !important;
}
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dh-project-card .dh-project-card-price-prefix,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dh-project-card .dh-project-card-price-to,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dh-project-card .dh-project-card-fact-label,
body.dhhfe-ultimate-homepage .dh-project-card .dh-project-card-price-prefix,
body.dhhfe-ultimate-homepage .dh-project-card .dh-project-card-price-to,
body.dhhfe-ultimate-homepage .dh-project-card .dh-project-card-fact-label {
  color: rgba(16,32,51,0.74) !important;
}

/* v2.3.150: remaining small homepage count/meta contrast fixes for Lighthouse accessibility. */
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-image-card-body em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-dev-card-meta em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-link-card em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-guide-card-body em,
body.dhhfe-ultimate-homepage .dhhfe-image-card-body em,
body.dhhfe-ultimate-homepage .dhhfe-dev-card-meta em,
body.dhhfe-ultimate-homepage .dhhfe-link-card em,
body.dhhfe-ultimate-homepage .dhhfe-guide-card-body em {
  color: rgba(16,32,51,0.78) !important;
}

/* v2.3.151: final contrast pass for small homepage meta/count text flagged by Lighthouse. */
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-image-card-body em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-area-card .dhhfe-image-card-body em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-dev-card-meta em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-dev-card-meta-v270 em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-dev-card-meta-v271 em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-dev-card-explore,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-link-card em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-guide-card-body em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-blog-meta-v116,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-blog-meta-v116 span,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-image-card-body em,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-area-card .dhhfe-image-card-body em,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-dev-card-meta em,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-dev-card-meta-v270 em,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-dev-card-meta-v271 em,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-dev-card-explore,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-link-card em,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-guide-card-body em,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-blog-meta-v116,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-blog-meta-v116 span {
  color: #2f4053 !important;
  font-weight: 620 !important;
}

/* v2.3.154: final safe contrast polish only.
   Built from stable v2.3.152; no below-fold rendering experiment and no search/menu logic changes. */
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-section-subtitle,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-feature-card p,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-promise-card p,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-insight-card p,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-story-card p,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-step-card p,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-abroad-list p,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-blog-card p,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-faq-item p,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-final-contact-panel p {
  color: #2f4053 !important;
}

body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-help-number-v275 {
  color: #8b6231 !important;
  border-color: rgba(139,98,49,0.45) !important;
}

/* v2.3.155: mobile-only hero image removal.
   The mobile search panel covers most of the photo, so use a branded CSS background instead.
   Desktop keeps the approved premium hero image through the <picture> desktop source. */
@media (max-width: 767px) {
  body.dh-clean-home-page .dh-clean-home-hero {
    background-color: #102033 !important;
    background-image: linear-gradient(180deg, #0e5f6a 0%, #0b3a45 48%, #102033 100%) !important;
    background-position: center center !important;
    background-size: cover !important;
  }

  body.dh-clean-home-page .dh-clean-home-hero-media {
    background: linear-gradient(180deg, #0e5f6a 0%, #0b3a45 48%, #102033 100%) !important;
  }

  body.dh-clean-home-page .dh-clean-home-hero-picture,
  body.dh-clean-home-page .dh-clean-home-hero-img {
    display: none !important;
  }

  body.dh-clean-home-page .dh-clean-home-hero-overlay {
    background: linear-gradient(180deg, rgba(16,32,51,0.06) 0%, rgba(16,32,51,0.14) 52%, rgba(16,32,51,0.28) 100%) !important;
  }

  body.dh-clean-home-page .dh-clean-home-hero .dhgs {
    --dhgs-field-height-mobile: 40px !important;
    --dhgs-gap-mobile: 6px !important;
  }

  body.dh-clean-home-page .dh-clean-home-hero .dhgs-shell {
    padding: 7px !important;
  }

  body.dh-clean-home-page .dh-clean-home-copy-zone {
    padding-top: 4px !important;
  }
}

@media (max-width: 767px) and (max-height: 680px) {
  body.dh-clean-home-page .dh-clean-home-hero .dhgs {
    --dhgs-field-height-mobile: 36px !important;
    --dhgs-gap-mobile: 5px !important;
  }

  body.dh-clean-home-page .dh-clean-home-hero .dhgs-shell {
    padding: 6px !important;
  }
}

/* v2.3.157 final clean-home badge spacing bridge: loaded after card CSS to make homepage badge separation visible. */
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dh-project-card-image-badge-row,
body.dh-clean-home-page .dh-project-card-image-badge-row,
body.dhhfe-ultimate-homepage .dh-project-card-image-badge-row {
  gap: 0 !important;
  column-gap: 0 !important;
}
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dh-project-card-image-badge-row > .dh-project-card-image-badge + .dh-project-card-image-badge,
body.dh-clean-home-page .dh-project-card-image-badge-row > .dh-project-card-image-badge + .dh-project-card-image-badge,
body.dhhfe-ultimate-homepage .dh-project-card-image-badge-row > .dh-project-card-image-badge + .dh-project-card-image-badge {
  margin-left: 8px !important;
}
@media (max-width: 767px) {
  body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dh-project-card-image-badge-row > .dh-project-card-image-badge + .dh-project-card-image-badge,
  body.dh-clean-home-page .dh-project-card-image-badge-row > .dh-project-card-image-badge + .dh-project-card-image-badge,
  body.dhhfe-ultimate-homepage .dh-project-card-image-badge-row > .dh-project-card-image-badge + .dh-project-card-image-badge {
    margin-left: 6px !important;
  }
}


/* v2.3.158 final homepage color polish: clean route only. */
body.dh-clean-home-page .dhhfe-home-developer-strip .dhhfe-section-subtitle,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-home-developer-strip .dhhfe-section-subtitle,
body.dh-clean-home-page .dhhfe-home-final-cta .dhhfe-section-subtitle,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-home-final-cta .dhhfe-section-subtitle {
  color: #ffffff !important;
}

body.dh-clean-home-page .dhhfe-area-card .dhhfe-image-card-body em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-area-card .dhhfe-image-card-body em,
body.dh-clean-home-page .dhhfe-developer-card .dhhfe-dev-card-meta em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-developer-card .dhhfe-dev-card-meta em {
  color: #CFA35A !important;
  font-weight: 800 !important;
}

/* v2.3.159: final area project-count gold override.
   The homepage area cards render counts as direct em children inside .dhhfe-image-card-body. */
body.dh-clean-home-page .dhhfe-homepage .dhhfe-home-areas .dhhfe-area-card em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-home-areas .dhhfe-area-card em,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-home-areas .dhhfe-area-card em,
body.dh-clean-home-page .dhhfe-homepage .dhhfe-home-areas-v269 .dhhfe-area-card .dhhfe-image-card-body > em,
body:is(.dh-clean-home-test-page,.dh-clean-home-live-page) .dhhfe-homepage .dhhfe-home-areas-v269 .dhhfe-area-card .dhhfe-image-card-body > em,
body.dhhfe-ultimate-homepage .dhhfe-homepage .dhhfe-home-areas-v269 .dhhfe-area-card .dhhfe-image-card-body > em {
  color: #CFA35A !important;
  font-weight: 800 !important;
}
