/* .98 final visual-truth, repetition and customer-copy refinement. */
body[data-zmx-route="/residential/"] .zmx-res-coverage-map--dot98 {
  border-radius: 30px;
  background: linear-gradient(145deg, #082f2a 0%, #0d5148 100%);
}

.zmx98-map-panels {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 14px;
  padding: 14px;
}

.zmx98-map-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 22px;
  background: rgba(255, 253, 248, .96);
  box-shadow: 0 16px 34px rgba(2, 24, 21, .16);
}

.zmx98-map-panel header {
  display: grid;
  gap: 3px;
  padding: 14px 16px 0;
  color: #102520;
}

.zmx98-map-panel header strong { font-size: .9rem; }
.zmx98-map-panel header span { color: #576b64; font-size: .72rem; font-weight: 750; }
.zmx98-map-panel svg { display: block; width: 100%; height: 245px; }
.zmx98-map-panel--overview svg { height: 270px; }
.zmx98-map-field { fill: #f8f2e5; stroke: rgba(13, 93, 83, .2); stroke-width: 1.5; }
.zmx98-map-corridor,
.zmx98-map-branch,
.zmx98-map-links path { fill: none; stroke: #83a79e; stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 1 10; }
.zmx98-map-node circle { fill: #d4aa49; stroke: #fffdf8; stroke-width: 4; }
.zmx98-map-node text { fill: #173c34; font-size: 15px; font-weight: 850; }
.zmx98-map-node .zmx98-map-base { fill: #07564c; r: 13px; }
.zmx98-map-node .zmx98-map-base-label { fill: #073f38; font-size: 17px; font-weight: 950; }
.zmx98-map-north path { fill: none; stroke: #0b5b51; stroke-width: 3; stroke-linecap: round; }
.zmx98-map-north text { fill: #0b5b51; font-size: 14px; font-weight: 950; }
.zmx98-map-water { fill: #79978f; font-size: 14px; font-style: italic; font-weight: 750; }

.zmx98-map-places {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 14px 14px;
}

.zmx98-map-places span {
  padding: 6px 9px;
  border: 1px solid rgba(13, 93, 83, .2);
  border-radius: 999px;
  background: #edf4f0;
  color: #0b443c;
  font-size: .68rem;
  font-weight: 850;
}

body[data-zmx-route="/residential/"] .zmx-res-coverage-map--dot98 figcaption {
  padding: 16px 20px 18px;
}

@media (max-width: 760px) {
  .zmx98-map-panels { grid-template-columns: 1fr; padding: 10px; }
  .zmx98-map-panel svg,
  .zmx98-map-panel--overview svg { height: 230px; }

  body[data-zmx-route="/residential/transformations/roofpower-home/"] .zmx94-transformation-comparison .zmx92-comparison-grid figure {
    display: flex !important;
    flex-direction: column !important;
  }

  body[data-zmx-route="/residential/transformations/roofpower-home/"] .zmx94-transformation-comparison .zmx92-comparison-grid img {
    flex: 0 0 250px !important;
    width: 100% !important;
    height: 250px !important;
    min-height: 250px !important;
    object-fit: cover !important;
  }

  body[data-zmx-route="/residential/transformations/roofpower-home/"] .zmx94-transformation-comparison .zmx92-comparison-grid figcaption {
    position: static !important;
    z-index: 2;
    min-height: 100px !important;
    padding: 18px !important;
    background: #fffdf8 !important;
    color: #334c44 !important;
  }

  body[data-zmx-route="/residential/transformations/roofpower-home/"] .zmx94-transformation-comparison .zmx92-comparison-grid figcaption span {
    color: #4d5e58 !important;
  }

  body[data-zmx-route="/residential/guides/"] .zmx94-guide-filter {
    flex-wrap: wrap !important;
    overflow: visible !important;
    padding-right: 0 !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
}
