/* Shared resilience and accessibility layer for every Diamond Home Buyers page. */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { max-width: 100%; overflow-x: hidden; }
img, picture, video, canvas, svg { max-width: 100%; }
img { height: auto; }
iframe { max-width: 100%; border: 0; }
.content-inner, .container, main { overflow-wrap: anywhere; }
.table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
input, select, textarea, button { font: inherit; }
a, button, summary { touch-action: manipulation; }
:focus-visible { outline: 3px solid #c9a24b; outline-offset: 3px; }

.dhb-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  margin-top: 10px;
}
.dhb-social-links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.88);
  text-decoration: none;
  font-weight: 600;
}
.dhb-social-links a:hover { color: #fff; text-decoration: underline; }
.dhb-social-icon {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #c9a24b;
  color: #0e1411;
  font: 800 15px/1 Arial, sans-serif;
}

/* City-page hero image: one consistent, real recently purchased property. */
.city-page .page-hero.has-form .hero-copy,
.city-page .hero .hero-copy {
  min-height: 650px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(36px, 5vw, 62px);
  color: #fff;
  background:
    linear-gradient(180deg, rgba(9,22,17,.08) 0%, rgba(9,22,17,.18) 34%, rgba(9,22,17,.88) 100%),
    linear-gradient(90deg, rgba(9,22,17,.42), transparent 72%),
    url('/images/recent-purchases/recent-purchase-florida-bungalow.webp') center / cover no-repeat;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  box-shadow: 0 28px 60px -24px rgba(9,22,17,.55);
}

.city-page .hero .hero-property-photo { display: none; }

.city-page .page-hero:not(.has-form) .page-hero-inner {
  overflow: hidden;
  padding: clamp(38px, 7vw, 76px);
  color: #fff;
  background:
    linear-gradient(180deg, rgba(9,22,17,.10), rgba(9,22,17,.84)),
    linear-gradient(90deg, rgba(9,22,17,.46), transparent 75%),
    url('/images/recent-purchases/recent-purchase-florida-bungalow.webp') center / cover no-repeat;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  box-shadow: 0 28px 60px -24px rgba(9,22,17,.55);
}

.city-page .page-hero .hero-copy h1,
.city-page .page-hero .hero-copy h2,
.city-page .page-hero:not(.has-form) h1,
.city-page .page-hero:not(.has-form) h2,
.city-page .hero .hero-copy h1 { color: #fff; }

.city-page .page-hero .hero-copy .lede,
.city-page .page-hero .hero-copy p,
.city-page .page-hero:not(.has-form) .lede,
.city-page .page-hero:not(.has-form) p,
.city-page .hero .hero-copy .lede { color: rgba(255,255,255,.9); }

.city-page .page-hero .hero-copy .eyebrow,
.city-page .page-hero:not(.has-form) .eyebrow,
.city-page .hero .hero-copy .eyebrow {
  width: fit-content;
  color: #fff;
  background: rgba(9,22,17,.72);
  border-color: rgba(255,255,255,.28);
  backdrop-filter: blur(8px);
}

.city-page .page-hero .hero-copy .meta,
.city-page .page-hero:not(.has-form) .meta {
  color: rgba(255,255,255,.84);
  border-top-color: rgba(255,255,255,.28);
}
.city-page .page-hero .hero-copy .meta strong,
.city-page .page-hero:not(.has-form) .meta strong { color: #fff; }

@media (max-width: 900px) {
  html.mobile-menu-open { overflow: hidden; }
  .nav-toggle { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  .mobile-nav[hidden] { display: none !important; }
  .mobile-nav.is-open {
    display: block !important;
    max-height: calc(100dvh - 62px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .mobile-nav a, .mobile-nav summary { min-height: 44px; display: flex; align-items: center; }
  input, select, textarea { font-size: 16px; }
  .data-table { min-width: 620px; }
  .dhb-social-links { justify-content: flex-start; }
  .city-page .page-hero.has-form .hero-copy,
  .city-page .hero .hero-copy {
    min-height: 540px;
    padding: 34px 26px;
    border-radius: 22px;
  }
  .city-page .page-hero:not(.has-form) .page-hero-inner {
    padding: 44px 26px;
    border-radius: 22px;
  }
}

@media (max-width: 520px) {
  .btn, .offer-card-btn, .m-cta { width: 100%; justify-content: center; text-align: center; }
  .btn-row, .cta-row { align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
