/* Plantas piloto: mismo hover y encuadre aprobado de U-401. */
.unit-plan-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 20;
    pointer-events: none;
    overflow: hidden;
    display: none;
}

:is(.unit-plan-overlay, [data-plan-unit], .uni-depto[data-plan-unit], #ficha-unidad[data-pilot-unit])[data-unit-status="available"] {
    --unit-status-color: #16a34a;
}
:is(.unit-plan-overlay, [data-plan-unit], .uni-depto[data-plan-unit], #ficha-unidad[data-pilot-unit])[data-unit-status="reserved"] {
    --unit-status-color: #eab308;
}
:is(.unit-plan-overlay, [data-plan-unit], .uni-depto[data-plan-unit], #ficha-unidad[data-pilot-unit])[data-unit-status="sold"] {
    --unit-status-color: #dc2626;
}

.unit-plan-overlay polygon {
    fill: var(--unit-status-color, #64748b);
    fill-opacity: 0;
    pointer-events: all;
    cursor: pointer;
    outline: none;
    transition: fill-opacity 180ms ease;
    touch-action: manipulation;
}
@media (hover: hover) and (pointer: fine) {
    .unit-plan-overlay polygon:hover,
    .unit-plan-overlay[data-hotspot-hover="true"] polygon {
        fill-opacity: 0.28;
    }
}
.unit-plan-overlay polygon:focus-visible {
    fill-opacity: 0.28;
    stroke: var(--unit-status-color, #64748b);
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
}
[data-plan-unit][data-unit-status] .dot {
    background: var(--unit-status-color, #64748b);
    box-shadow: 0 0 5px var(--unit-status-color, #64748b);
}
.uni-depto[data-plan-unit][data-unit-status] .uni-badge,
#ficha-unidad[data-pilot-unit] .badge-disponible {
    background: var(--unit-status-color, #64748b);
    color: white;
}
.uni-depto[data-plan-unit][data-unit-status="reserved"] .uni-badge,
#ficha-unidad[data-pilot-unit][data-unit-status="reserved"] .badge-disponible {
    color: #422006;
}
@media (prefers-reduced-motion: reduce) {
    .unit-plan-overlay polygon { transition: none; }
}
