/* Building overlay */
.bfv-wrapper { font-family: inherit; }
.bfv-building-overlay polygon { fill: rgba(0,0,0,0.08); stroke: #333; stroke-width: 2; cursor: pointer; transition: fill 0.2s ease, stroke 0.2s ease; }
.bfv-building-overlay polygon:hover { fill: rgba(0, 123, 255, 0.25); stroke: #007bff; }

/* Floor overlay apartments */
.bfv-floor-overlay polygon { stroke: #333; stroke-width: 1.5; cursor: pointer; transition: opacity 0.15s ease; }
.bfv-floor-overlay polygon[data-status="available"] { fill: rgba(0, 158, 47, 0.45); }
.bfv-floor-overlay polygon[data-status="reserved"]  { fill: rgba(255, 193, 7, 0.45); }
.bfv-floor-overlay polygon[data-status="sold"]      { fill: rgba(220, 38, 38, 0.45); }
.bfv-floor-overlay polygon:hover { opacity: 0.8; }

.bfv-legend { margin-top: 10px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.bfv-dot { display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:6px; vertical-align:middle; }
.bfv-available { background:#0f9d3d; }
.bfv-reserved  { background:#ffc107; }
.bfv-sold      { background:#dc2626; }

.bfv-floor-title { font-weight:600; margin-bottom:8px; font-size:1.1rem; }
.bfv-error { color:#b00020; }

/* Hover tooltip (very light) */
.bfv-tooltip { position:absolute; background:#111; color:#fff; padding:4px 8px; border-radius:4px; font-size:12px; pointer-events:none; opacity:0; transform:translate(-50%, -120%); white-space:nowrap; }