/* Barton Hill V2.7 — aerial-aligned, vector-only estate map. Every override
   remains scoped to the existing interactive explorer. */

.estate-digital-map[data-vector-revision="v27"] {
  width: 98%;
  height: 97%;
  top: 52%;
  transform: translate(-50%, -50%) perspective(1700px) rotateX(9deg) rotate(-0.5deg) scale(0.94);
}

.estate-digital-map[data-vector-revision="v27"] .estate-vector-base,
.estate-digital-map[data-vector-revision="v27"] .estate-road-layer,
.estate-digital-map[data-vector-revision="v27"] .estate-entry,
.estate-digital-map[data-vector-revision="v27"] .estate-road-labels,
.estate-digital-map[data-vector-revision="v27"] .estate-compass {
  pointer-events: none;
}

.estate-digital-map[data-vector-revision="v27"] .estate-site-pad {
  fill: rgba(5, 48, 35, 0.58);
  stroke: rgba(246, 241, 230, 0.08);
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
}

.estate-digital-map[data-vector-revision="v27"] .estate-road-shadow,
.estate-digital-map[data-vector-revision="v27"] .estate-road-edge,
.estate-digital-map[data-vector-revision="v27"] .estate-road,
.estate-digital-map[data-vector-revision="v27"] .estate-road-center {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.estate-digital-map[data-vector-revision="v27"] .estate-road-shadow {
  stroke: rgba(0, 10, 7, 0.72);
  stroke-width: 62;
  transform: translate(6px, 9px);
}

.estate-digital-map[data-vector-revision="v27"] .estate-road-edge {
  stroke: rgba(173, 181, 177, 0.38);
  stroke-width: 60;
}

.estate-digital-map[data-vector-revision="v27"] .estate-road {
  stroke: #69726e;
  stroke-width: 54;
  opacity: 0.96;
}

.estate-digital-map[data-vector-revision="v27"] .estate-road-spine.estate-road-shadow {
  stroke-width: 54;
}

.estate-digital-map[data-vector-revision="v27"] .estate-road-spine.estate-road-edge {
  stroke-width: 52;
}

.estate-digital-map[data-vector-revision="v27"] .estate-road-spine.estate-road {
  stroke-width: 46;
}

.estate-digital-map[data-vector-revision="v27"] .estate-road-center {
  stroke: rgba(246, 241, 230, 0.42);
  stroke-width: 1.6;
  stroke-dasharray: 11 12;
}

.estate-digital-map[data-vector-revision="v27"] .estate-yard-shadow,
.estate-digital-map[data-vector-revision="v27"] .estate-yard-edge,
.estate-digital-map[data-vector-revision="v27"] .estate-yard,
.estate-digital-map[data-vector-revision="v27"] .estate-yard-ring {
  vector-effect: non-scaling-stroke;
}

.estate-digital-map[data-vector-revision="v27"] .estate-yard-shadow {
  fill: rgba(0, 10, 7, 0.72);
  transform: translate(6px, 9px);
}

.estate-digital-map[data-vector-revision="v27"] .estate-yard-edge {
  fill: rgba(173, 181, 177, 0.38);
}

.estate-digital-map[data-vector-revision="v27"] .estate-yard {
  fill: #69726e;
}

.estate-digital-map[data-vector-revision="v27"] .estate-yard-ring {
  fill: none;
  stroke: rgba(246, 241, 230, 0.32);
  stroke-width: 1.5;
  stroke-dasharray: 8 10;
}

.estate-digital-map[data-vector-revision="v27"] .estate-unit-depth {
  transform: translate(3px, 4px);
}

.estate-digital-map[data-vector-revision="v27"] .estate-unit-top {
  fill-opacity: 0.98;
}

.estate-digital-map[data-vector-revision="v27"] .estate-unit.is-muted {
  opacity: 0.64;
}

.estate-digital-map[data-vector-revision="v27"] .estate-road-labels text,
.estate-digital-map[data-vector-revision="v27"] .estate-entry text,
.estate-digital-map[data-vector-revision="v27"] .estate-compass text {
  fill: rgba(246, 241, 230, 0.52);
  font: 600 8px/1 Inter, sans-serif;
  letter-spacing: 0.16em;
}

.estate-digital-map[data-vector-revision="v27"] .estate-entry circle {
  fill: #e83359;
  filter: drop-shadow(0 0 5px rgba(232, 51, 89, 0.65));
}

.estate-digital-map[data-vector-revision="v27"] .estate-entry path {
  fill: none;
  stroke: rgba(246, 241, 230, 0.34);
  stroke-width: 1.2;
}

.estate-digital-map[data-vector-revision="v27"] .estate-compass path {
  fill: rgba(246, 241, 230, 0.48);
  stroke: rgba(246, 241, 230, 0.24);
  stroke-width: 1;
}

.estate-digital-map[data-vector-revision="v27"] .estate-shared-badge {
  pointer-events: none;
  opacity: 0.58;
  transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.estate-digital-map[data-vector-revision="v27"] .estate-shared-badge path {
  fill: none;
  stroke: rgba(246, 241, 230, 0.42);
  stroke-width: 1.2;
  stroke-dasharray: 3 3;
}

.estate-digital-map[data-vector-revision="v27"] .estate-shared-badge rect {
  fill: rgba(3, 23, 16, 0.94);
  stroke: rgba(246, 241, 230, 0.34);
  stroke-width: 1;
}

.estate-digital-map[data-vector-revision="v27"] .estate-shared-badge text {
  fill: rgba(246, 241, 230, 0.88);
  font: 600 8px/1 Inter, sans-serif;
  letter-spacing: 0.14em;
}

.estate-digital-map[data-vector-revision="v27"] .estate-unit[data-unit="19"].is-active ~ .estate-shared-badge,
.estate-digital-map[data-vector-revision="v27"] .estate-unit[data-unit="19"].is-mobile-active ~ .estate-shared-badge {
  opacity: 1;
  transform: translateY(-4px);
}

.estate-panel-unit[data-shared-occupiers]::after {
  content: attr(data-shared-occupiers);
  display: block;
  width: fit-content;
  margin-top: 9px;
  padding: 6px 9px;
  border: 1px solid rgba(246, 241, 230, 0.16);
  border-radius: 999px;
  background: rgba(246, 241, 230, 0.055);
  color: rgba(246, 241, 230, 0.66);
  font: 600 7px/1 Inter, sans-serif;
  letter-spacing: 0.15em;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .estate-digital-map[data-vector-revision="v27"] {
    width: 105%;
    height: 105%;
    top: 51.5%;
    transform: translate(-50%, -50%) perspective(1350px) rotateX(6deg) rotate(-0.35deg) scale(0.91);
  }

  .estate-digital-map[data-vector-revision="v27"] .estate-unit-label {
    font-size: 14px;
  }

  .estate-digital-map[data-vector-revision="v27"] .estate-road-labels text,
  .estate-digital-map[data-vector-revision="v27"] .estate-entry text,
  .estate-digital-map[data-vector-revision="v27"] .estate-compass text {
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .estate-digital-map[data-vector-revision="v27"] .estate-road-center {
    animation: none !important;
  }
}
