/* Zamax Website .101 — bounded owner switch, map, image and mobile closure. */

.zmx-res-coverage-map--dot101 {
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(10, 65, 57, .14) !important;
  border-radius: 28px !important;
  background: linear-gradient(145deg, #fffdf8 0%, #f0e7d4 100%) !important;
  box-shadow: 0 24px 55px rgba(10, 45, 39, .12) !important;
}
.zmx101-map-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr) !important;
  gap: clamp(16px, 2.4vw, 30px) !important;
  align-items: stretch !important;
  padding: clamp(18px, 3vw, 32px) !important;
}
.zmx101-map-canvas,
.zmx101-map-focus {
  min-width: 0 !important;
  border: 1px solid rgba(10, 65, 57, .13) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .82) !important;
}
.zmx101-map-canvas { padding: clamp(12px, 2vw, 20px) !important; }
.zmx101-map-canvas header {
  display: grid !important;
  gap: 3px !important;
  margin: 0 0 8px !important;
  color: #123e36 !important;
}
.zmx101-map-canvas header strong { font-size: 1.05rem !important; }
.zmx101-map-canvas header span { color: #6d675d !important; font-size: .8rem !important; }
.zmx101-map-canvas svg { width: 100% !important; height: auto !important; display: block !important; }
.zmx101-map-focus {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(22px, 3vw, 34px) !important;
  color: #173d36 !important;
  background: linear-gradient(150deg, #0b443c 0%, #17675d 100%) !important;
}
.zmx101-map-focus::before {
  content: "" !important;
  position: absolute !important;
  left: -15px !important;
  top: 50% !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #d7a54b !important;
  box-shadow: 0 8px 20px rgba(11, 61, 53, .18) !important;
  transform: translateY(-50%) !important;
}
.zmx101-map-focus .zmx-res-eyebrow { color: #f3dca8 !important; }
.zmx101-map-focus h3 { margin: 0 0 12px !important; color: #fffdf8 !important; font-size: clamp(1.55rem, 3vw, 2.35rem) !important; line-height: 1 !important; }
.zmx101-map-focus > p:not(.zmx-res-eyebrow) { margin: 0 !important; color: rgba(255, 255, 255, .82) !important; line-height: 1.55 !important; }
.zmx101-map-places { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 18px 0 0 !important; padding: 0 !important; list-style: none !important; }
.zmx101-map-places li { padding: 7px 10px !important; border: 1px solid rgba(255, 255, 255, .22) !important; border-radius: 999px !important; color: #fffdf8 !important; background: rgba(255, 255, 255, .08) !important; font-size: .78rem !important; font-weight: 800 !important; }
.zmx-res-coverage-map--dot101 .zmx-res-coverage-map__field { fill: #f8f4ea !important; stroke: rgba(11, 61, 53, .16) !important; }
.zmx-res-coverage-map--dot101 .zmx-res-coverage-map__region-shape { fill: #dce8e2 !important; stroke: #2a655c !important; stroke-width: 1.35 !important; }
.zmx-res-coverage-map--dot101 .zmx-res-coverage-map__county-shape { fill: #d7a54b !important; stroke: #0b443c !important; stroke-width: 2.2 !important; }
.zmx-res-coverage-map--dot101 .zmx-res-coverage-map__place circle { fill: #0b443c !important; stroke: #fffdf8 !important; stroke-width: 2 !important; }
.zmx-res-coverage-map--dot101 :is(.zmx-res-coverage-map__place text, .zmx-res-coverage-map__region, .zmx-res-coverage-map__county) { fill: #113d35 !important; stroke: none !important; font-family: Inter, Arial, sans-serif !important; font-weight: 850 !important; }
.zmx-res-coverage-map--dot101 .zmx-res-coverage-map__place text { font-size: 15px !important; }
.zmx-res-coverage-map--dot101 figcaption { display: grid !important; gap: 7px !important; padding: 0 clamp(20px, 3vw, 32px) clamp(22px, 3vw, 30px) !important; color: #2b423c !important; text-align: left !important; }
.zmx-res-coverage-map--dot101 figcaption strong { color: #0b443c !important; }
.zmx-res-coverage-map--dot101 .zmx-res-coverage-map__source { margin: 0 !important; color: #5f5b53 !important; font-size: .7rem !important; line-height: 1.45 !important; }

@media (max-width: 900px) {
  body[data-zmx-route="/services/"] .hero-copy .hero-actions,
  body[data-zmx-route="/resources/"] .hero .hero-actions,
  body[data-zmx-route="/referrals/"] .hero .hero-actions,
  body[data-zmx-route="/about/"] .about-proof-cta,
  body[data-zmx-audience="residential"] .zmx-res-hero__copy > .zmx-res-actions,
  body[data-zmx-audience="residential"] .zmx-res-service-tiles__actions,
  body[data-zmx-audience="residential"] .zmx-res-about-audience .zmx-res-route-buttons,
  body[data-zmx-audience="residential"] .zmx-res-hero-pills {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }
  body[data-zmx-route="/about/"] .about-proof-cta .primary-btn,
  body[data-zmx-audience="residential"] .zmx-res-home-path > .zmx-res-button,
  body[data-zmx-audience="residential"] .zmx-res-guide-gate .zmx-dot86-guide-request {
    align-self: center !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 980px) {
  .zmx101-map-layout { grid-template-columns: 1fr !important; }
  .zmx101-map-focus::before { left: 50% !important; top: -14px !important; transform: translateX(-50%) !important; }
}

@media (max-width: 620px) {
  .zmx101-map-layout { padding: 14px !important; }
  .zmx101-map-canvas { padding: 10px !important; }
  .zmx101-map-focus { padding: 24px 18px !important; }
  .zmx-res-coverage-map--dot101 .zmx-res-coverage-map__place text { font-size: 18px !important; }
}
