/* =========================================
   Osiedle Hover Map Pro — front.css v2.5
   ========================================= */

.ohm-map {
    position: relative;
    display: block;
    max-width: 100%;
    line-height: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.12);
}
.ohm-map-img {
    display: block;
    width: 100%;
    height: auto;
}
.ohm-map-svg {
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 100%;
}

/* ─── Polygony ─── */
.ohm-area {
    fill: rgba(46,204,113,.18);
    stroke: rgba(255,255,255,.7);
    stroke-width: 2;
    cursor: pointer;
    transition: fill .18s, filter .18s;
    filter: drop-shadow(0 0 0 transparent);
}
.ohm-area:hover {
    fill: rgba(46,204,113,.52);
    stroke: #fff;
    filter: drop-shadow(0 0 6px rgba(46,204,113,.55));
}
.ohm-area.ohm-active {
    fill: rgba(46,204,113,.65) !important;
    stroke: #fff !important;
    stroke-width: 2.5 !important;
    filter: drop-shadow(0 0 8px rgba(46,204,113,.7)) !important;
}

.ohm-status-reserved             { fill: rgba(243,156,18,.22); }
.ohm-status-reserved:hover       { fill: rgba(243,156,18,.52); filter: drop-shadow(0 0 6px rgba(243,156,18,.5)); }
.ohm-status-reserved.ohm-active  { fill: rgba(243,156,18,.65) !important; filter: drop-shadow(0 0 8px rgba(243,156,18,.65)) !important; }

.ohm-status-sold                 { fill: rgba(231,76,60,.22); }
.ohm-status-sold:hover           { fill: rgba(231,76,60,.42); filter: drop-shadow(0 0 6px rgba(231,76,60,.42)); }
.ohm-status-sold.ohm-active      { fill: rgba(231,76,60,.55) !important; filter: drop-shadow(0 0 8px rgba(231,76,60,.55)) !important; }

/* ─── Tooltip ─── */
.ohm-tooltip {
    display: none;
    position: absolute;
    z-index: 20;
    pointer-events: none;   /* hover-mode: mysz "przelatuje" przez tooltip */
}

/* Tryb przypięty — tooltip klikalny */
.ohm-tooltip.ohm-pinned {
    pointer-events: auto;
    animation: ohmPin .15s ease;
}

@keyframes ohmPin {
    from { opacity: 0; transform: translateY(calc(-50% - 6px)); }
    to   { opacity: 1; }
}

.ohm-tooltip-inner {
    background: #fff;
    color: #1a1a1a;
    border-radius: 10px;
    padding: 14px 16px 13px;
    box-shadow: 0 8px 28px rgba(0,0,0,.18), 0 1px 4px rgba(0,0,0,.08);
    min-width: 190px;
    max-width: 240px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 13px;
    line-height: 1.5;
    border-top: 3px solid var(--ohm-sc, #2ecc71);
}

.ohm-tooltip-title {
    font-size: 15px;
    font-weight: 700;
    color: #111;
    margin-bottom: 6px;
}

.ohm-tooltip-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 20px;
    margin-bottom: 9px;
    background: var(--ohm-sb, #e8faf2);
    color: var(--ohm-sc, #1a8a4a);
}
.ohm-tooltip-badge::before {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: currentColor;
    display: inline-block;
}

.ohm-tooltip-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 9px;
}
.ohm-tooltip-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: #444;
}
.ohm-tooltip-row svg { flex-shrink: 0; opacity: .45; }

.ohm-tooltip-desc {
    font-size: 12px;
    color: #666;
    line-height: 1.45;
    border-top: 1px solid #f0f0f0;
    padding-top: 8px;
    margin-bottom: 10px;
}

.ohm-tooltip-btn {
    display: block;
    width: 100%;
    text-align: center;
    background: #1a1a1a;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 7px;
    padding: 9px 12px;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .02em;
    transition: background .15s;
    box-sizing: border-box;
    margin-top: 4px;
}
.ohm-tooltip-btn:hover { background: #333 !important; }

.ohm-status-label-free     { color: #1a8a4a; background: #e8faf2; }
.ohm-status-label-reserved { color: #b06800; background: #fef5e4; }
.ohm-status-label-sold     { color: #c0392b; background: #fdecea; }

/* ─── Legenda ─── */
.ohm-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 12px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 13px;
}
.ohm-legend-item  { display: flex; align-items: center; gap: 7px; color: #555; }
.ohm-legend-dot   { width: 12px; height: 12px; border-radius: 3px; }
.ohm-legend-free     .ohm-legend-dot { background: rgba(46,204,113,.75); }
.ohm-legend-reserved .ohm-legend-dot { background: rgba(243,156,18,.75); }
.ohm-legend-sold     .ohm-legend-dot { background: rgba(231,76,60,.75);  }
