.floorplan-canvas { background: #f8fafc; }
.floorplan-canvas > img {
  opacity: 1;
  filter: none;
}
.floorplan-canvas .unit-cell {
  width: var(--cell-width, 32px);
  min-width: var(--cell-width, 32px);
  height: 25px;
  padding: 0 6px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: color-mix(in srgb, var(--unit-color) 92%, transparent) !important;
  color: #fff;
  box-shadow: 0 2px 7px #14233f66;
  text-shadow: 0 1px 2px #102030cc;
  text-decoration: none;
}

/* El CAD nuevo contiene muchas más celdas en una superficie horizontal.
   Mantiene el enlace legible sin ocultar las líneas ni las celdas vecinas. */
.floorplan-canvas .unit-marker.unit-cell {
  min-width: max(var(--map-diameter, .32%), 12px);
  width: max(var(--map-diameter, .32%), 12px);
  height: auto;
  aspect-ratio: 1;
  padding: 0;
  border-width: 1px;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 0 0 1px #ffffffcc, 0 2px 5px #15233d66;
  text-shadow: 0 1px 1px #0009;
  opacity: .96;
  transform: none !important;
}
.floorplan-canvas .unit-marker.unit-cell::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: max(28px, 180%);
  height: max(28px, 180%);
  translate: -50% -50%;
  border-radius: 50%;
}
.floorplan-canvas .unit-marker.unit-cell span {
  position: relative;
  z-index: 2;
  opacity: 1;
  font: inherit;
  letter-spacing: -.04em;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
.floorplan-canvas .unit-marker.unit-cell:hover,
.floorplan-canvas .unit-marker.unit-cell.active {
  z-index: 8;
  width: max(var(--map-diameter, .32%), 18px);
  min-width: max(var(--map-diameter, .32%), 18px);
  height: auto;
  padding: 0;
  border-radius: 50%;
  scale: 1.7;
  font-size: 10px;
  opacity: 1;
  box-shadow: 0 0 0 2px #ffffffb0, 0 5px 12px #14233f66;
}
.floorplan-canvas .unit-marker.unit-cell:hover span,
.floorplan-canvas .unit-marker.unit-cell.active span { opacity: 1; }
.floorplan-canvas .unit-cell:hover,
.floorplan-canvas .unit-cell.active {
  z-index: 6;
  background: color-mix(in srgb, var(--unit-color) 78%, transparent) !important;
  box-shadow: 0 0 0 3px #fff, 0 4px 12px #14233f66;
}
.floorplan-canvas .unit-cell span { opacity: 1; }
.floorplan-canvas .unit-cell:focus-visible { outline: 3px solid #0b63ce; outline-offset: 2px; }
.home-map-callout .home-map-copy { padding: 42px; }
.home-map-open { color: #fff; font-weight: 750; text-decoration: none; }
.home-map-callout > .home-map-preview{position:relative;align-self:stretch;width:100%;min-width:0;padding:0;background:#f8fafc}
.home-map-preview .home-mini-map{position:absolute;inset:0;overflow:hidden;min-height:310px;background:#eef1f5;cursor:grab;touch-action:none}
.home-map-preview .home-mini-map.is-dragging{cursor:grabbing;user-select:none}
.home-mini-map-canvas{position:relative;width:300%;transform-origin:0 0;will-change:transform}
.home-map-callout .home-mini-map-canvas>img{display:block;width:100%;height:auto;min-height:0;pointer-events:none;user-select:none;-webkit-user-drag:none}
.home-map-zoom{position:absolute;top:12px;right:12px;z-index:12;display:flex;border:1px solid #d7deea;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 4px 14px #17345c24}
.home-map-zoom button{min-width:36px;height:34px;padding:0 8px;border:0;border-right:1px solid #d7deea;background:#fff;color:#1761bd;font-weight:700}
.home-map-zoom button:last-child{border-right:0}
.home-map-cell { position: absolute; left: var(--x); top: var(--y); translate: -50% -50%; z-index: 2; display: grid; place-items: center; width: max(var(--map-diameter, .32%), 5px); min-width: max(var(--map-diameter, .32%), 5px); height: auto; aspect-ratio: 1; padding: 0; border: 1px solid #fff; border-radius: 50%; background: color-mix(in srgb, var(--unit-color) 92%, transparent); color: #fff; font-size: 3px; font-weight: 850; line-height: 1; text-decoration: none; text-shadow: 0 1px 1px #102030; box-shadow: 0 1px 3px #14233f55; transition: .16s ease; }
.home-map-cell:hover,.home-map-cell:focus-visible,.home-map-cell.active { z-index: 5; scale: 1.7; background: var(--unit-color); color: #fff; outline: none; box-shadow: 0 0 0 2px #ffffffb0,0 4px 10px #14233f77; }
.home-map-callout .home-map-cell span { color:#fff;font-size:8px;letter-spacing:-.04em;line-height:1;opacity:1; }
.home-map-cell:hover span,.home-map-cell:focus-visible span,.home-map-cell.active span { opacity: 1; }
.home-map-tooltip { position: absolute; right: 14px; bottom: 14px; z-index: 8; display: grid; min-width: 170px; padding: 10px 13px; border: 1px solid #ffffffaa; border-radius: 12px; background: #111b2edb; color: #fff; pointer-events: none; backdrop-filter: blur(7px); }
.home-map-tooltip small { color: #dce7fb; }
@media(max-width:700px){.home-map-callout .home-map-copy{padding:28px}.home-map-callout>.home-map-preview{min-height:250px}.home-map-preview .home-mini-map{min-height:250px}.home-map-tooltip{right:10px;bottom:10px;min-width:145px;padding:8px 10px}.home-map-cell{min-width:5px}}
