.inspection-pricing-map {
  margin: 30px auto 38px;
  max-width: 1100px;
  color: var(--text-primary, #fff);
}
.inspection-pricing-map__heading { text-align: center; margin-bottom: 18px; }
.inspection-pricing-map__heading h2 { margin: 0 0 8px; font-size: clamp(1.45rem, 3vw, 2rem); }
.inspection-pricing-map__heading p { margin: 0 auto; max-width: 700px; color: var(--text-secondary, #aaa); line-height: 1.6; }
.inspection-pricing-map__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px 22px; margin: 0 0 18px; font-size: .9rem; }
.inspection-pricing-map__legend span { display: inline-flex; align-items: center; gap: 8px; }
.inspection-pricing-map__swatch { display: inline-block; width: 16px; height: 16px; border: 1px solid rgba(255,255,255,.65); border-radius: 4px; }
.inspection-pricing-map__swatch--150 { background: #9549bf; }
.inspection-pricing-map__swatch--180 { background: #d8892f; }
.inspection-pricing-map__swatch--200 { background: #267d9c; }
.inspection-pricing-map__swatch--250 { background: #2d7b57; }
.inspection-pricing-map__swatch--quote { background: #83939c; }
.inspection-pricing-map__layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(270px, .8fr); gap: 18px; align-items: stretch; }
.inspection-pricing-map__canvas { border: 1px solid var(--border, rgba(255,255,255,.14)); border-radius: 18px; background: radial-gradient(circle at 37% 40%, #eef5ef 0, #dde8e1 50%, #cbdedb 100%); padding: 12px 12px 6px; min-width: 0; }
.inspection-pricing-map__canvas svg { display: block; width: 100%; max-height: 540px; }
.inspection-pricing-map__zone { fill-opacity: .82; stroke: #172733; stroke-width: 1.4; stroke-linejoin: round; cursor: pointer; transition: fill-opacity .15s, stroke-width .15s, filter .15s; }
.inspection-pricing-map__zone--150 { fill: #9549bf; }
.inspection-pricing-map__zone--180 { fill: #d8892f; }
.inspection-pricing-map__zone--200 { fill: #267d9c; }
.inspection-pricing-map__zone--250 { fill: #2d7b57; }
.inspection-pricing-map__zone--quote { fill: #83939c; }
.inspection-pricing-map__zone:hover, .inspection-pricing-map__zone:focus-visible, .inspection-pricing-map__zone[aria-pressed="true"] { fill-opacity: 1; stroke: #fff; stroke-width: 3; filter: drop-shadow(0 0 5px rgba(0,0,0,.45)); outline: none; }
.inspection-pricing-map__label { pointer-events: none; text-anchor: middle; font: 700 26px/1.2 Inter, sans-serif; paint-order: stroke; stroke: #fff; stroke-width: 3px; fill: #172733; }
.inspection-pricing-map__source { margin: 2px 10px 6px; font-size: 11px; text-align: right; }
.inspection-pricing-map__source a { color: #284b54; }
.inspection-pricing-map__panel { display: flex; flex-direction: column; align-items: stretch; padding: 24px; border: 1px solid var(--border, rgba(255,255,255,.14)); border-radius: 18px; background: var(--bg-card, #1c2130); }
.inspection-pricing-map__panel label { font-weight: 600; margin-bottom: 8px; }
.inspection-pricing-map__panel select { display: block; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 52px; height: 52px; flex-shrink: 0; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--border, #596071); background: var(--bg-primary, #121725); color: var(--text-primary, #fff); font: inherit; font-size: 16px; line-height: 1.5; }
.inspection-pricing-map__panel select:focus-visible { outline: 2px solid var(--accent, #f0c040); outline-offset: 2px; }
.inspection-pricing-map__panel select + label { margin-top: 18px; }
.inspection-pricing-map__result { margin-top: 22px; padding: 18px; border-radius: 12px; border: 1px solid rgba(240,192,64,.5); background: rgba(240,192,64,.07); }
.inspection-pricing-map__result span { display: block; color: var(--text-secondary, #aaa); font-size: .88rem; }
.inspection-pricing-map__result strong { display: block; margin: 5px 0 2px; font-size: clamp(2rem, 5vw, 2.8rem); color: var(--accent, #f0c040); }
.inspection-pricing-map__result p { margin: 0; font-size: 1rem; }
.inspection-pricing-map__lift, .inspection-pricing-map__quote { color: var(--text-secondary, #aaa); font-size: .88rem; line-height: 1.55; }
.inspection-pricing-map__lift { margin: 18px 0 0; }
.inspection-pricing-map__quote { margin: 10px 0 0; }
.inspection-pricing-map__panel .btn { margin-top: auto; text-align: center; white-space: normal; line-height: 1.3; }
@media (max-width: 900px) {
  .inspection-pricing-map__layout { grid-template-columns: 1fr; }
  .inspection-pricing-map__canvas svg { max-height: 440px; }
  .inspection-pricing-map__panel { padding: 18px; }
  .inspection-pricing-map__panel .btn { margin-top: 18px; }
  .inspection-pricing-map__label { font-size: 26px; }
}
