.imp-objects > .imp-object-poly,
.imp-objects > .imp-object-rect,
.imp-objects > .imp-object-oval {
    opacity: var(--imp-object-opacity, .6) !important;
    visibility: visible !important;
}

.imp-objects > .imp-object-poly:hover,
.imp-objects > .imp-object-rect:hover,
.imp-objects > .imp-object-oval:hover,
.imp-objects > .imp-object-poly.imp-logical-hover,
.imp-objects > .imp-object-rect.imp-logical-hover,
.imp-objects > .imp-object-oval.imp-logical-hover {
    opacity: var(--imp-object-hover-opacity, 1) !important;
}

.imp-objects > .imp-object-poly.imp-logical-secondary:not(.imp-logical-hover):not(:hover),
.imp-objects > .imp-object-rect.imp-logical-secondary:not(.imp-logical-hover):not(:hover),
.imp-objects > .imp-object-oval.imp-logical-secondary:not(.imp-logical-hover):not(:hover) {
    opacity: var(--imp-secondary-opacity, .33) !important;
}

.imp-objects > .imp-object.imp-logical-group-member {
    cursor: pointer;
}

.imp-tooltip.imp-logical-static-tooltip {
    position: fixed !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    z-index: 999999 !important;
    pointer-events: auto !important;
    transform: translate(-50%, calc(-100% - 12px)) !important;
    margin: 0 !important;
    max-width: 360px;
}

.imp-tooltip.imp-logical-static-tooltip.is-visible {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.imp-tooltip.imp-logical-static-tooltip .imp-tooltip-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.imp-tooltip.imp-logical-static-tooltip .info-div {
    display: block !important;
}

.imp-tooltip.imp-logical-static-tooltip .hs-arrow-bottom {
    position: absolute;
    left: 50%;
    bottom: -8px;
    transform: translateX(-50%);
}

.imp-tooltip.imp-logical-native-tooltip-disabled,
[data-tooltip-id].imp-logical-native-tooltip-disabled {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.imp-objects > .imp-object-poly polygon {
    opacity: 1 !important;
}

#imp-turn-right,
#imp-turn-left,
#imp-back {
    cursor: pointer;
}

.imp-animation-container {
    overflow: hidden;
    pointer-events: none;
}

.imp-animation-container img {
    object-fit: cover;
}

#imp-back {
    background: var(--imp-back-bg) !important;
    border-radius: var(--imp-back-radius) !important;
    cursor: pointer !important;
    color: var(--imp-back-text) !important;
    font-family: var(--imp-back-font) !important;
    font-weight: var(--imp-back-weight) !important;
    text-transform: var(--imp-back-transform) !important;
    border: var(--imp-back-border-width) var(--imp-back-border-style) var(--imp-back-border) !important;
    box-shadow: var(--imp-back-box-shadow, none) !important;
    text-shadow: var(--imp-back-text-shadow, none) !important;
    font-size: 16px !important;
    width: fit-content !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px !important;
    line-height: 150% !important;
    z-index: 9;
    position: relative;
    flex: 0 0 auto !important;
    margin: 10px;
    box-sizing: border-box;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: background .3s ease, color .3s ease, border-color .3s ease, opacity .3s ease;
    will-change: background, color, border-color, opacity;
}

#imp-back:hover {
    background: var(--imp-back-hover-bg) !important;
    color: var(--imp-back-hover-text) !important;
    border-color: var(--imp-back-hover-border) !important;
    opacity: var(--imp-back-hover-opacity) !important;
    filter: none;
    transform: translateZ(0);
}

@media (max-width: 600px) {
    #imp-back {
        font-size: 12px !important;
        height: 22px;
        line-height: 100%;
        padding: 0 16px !important;
    }
}

.imp-tooltip,
.imp-tooltip-content {
    background: var(--imp-tooltip-bg) !important;
    text-shadow: var(--imp-tooltip-text-shadow, none) !important;
    border-radius: var(--imp-tooltip-radius) !important;
    padding: var(--imp-tooltip-padding) !important;
    color: var(--imp-tooltip-text) !important;
    font-family: var(--imp-tooltip-font) !important;
    font-weight: var(--imp-tooltip-weight) !important;
    text-transform: var(--imp-tooltip-transform) !important;
    border: var(--imp-tooltip-border-width) var(--imp-tooltip-border-style) var(--imp-tooltip-border) !important;
}

.imp-tooltip {
    box-shadow: var(--imp-tooltip-box-shadow, none) !important;
}

.imp-tooltip .hs-arrow-bottom {
    border-top-color: var(--imp-tooltip-arrow) !important;
}

.imp-tooltip-content div:first-child:empty,
.imp-tooltip-content p:first-child:empty {
    display: none !important;
}

.imp-ui-top-right {
    display: none !important;
}

@media (max-width: 620px) {
    .imp-ui-layers-menu-wrap {
        display: none;
    }
}

.building-layer-icon {
    pointer-events: none !important;
}

.lokal-price,
.info-div {
    text-align: center;
}

.status-badge {
    background: var(--imp-status-bg);
    color: var(--imp-status-text);
    border: var(--imp-status-border-width) var(--imp-status-border-style) var(--imp-status-border);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-family: var(--imp-status-font);
    font-size: 16px;
    font-weight: var(--imp-status-weight);
    border-radius: var(--imp-status-radius);
    padding: 8px 18px;
    line-height: 1.4;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: unset !important;
    box-shadow: var(--imp-status-box-shadow, none) !important;
    text-shadow: var(--imp-status-text-shadow, none) !important;
}

.status-available { color: var(--imp-status-available-color); }
.status-reserved { color: var(--imp-status-reserved-color); }
.status-sold { color: var(--imp-status-sold-color); }
.status-unavailable { color: var(--imp-status-unavailable-color); }
.status-unknown,
.status-none { color: var(--imp-status-none-color); }

.status-tooltip {
    background: var(--imp-status-bg);
    border: var(--imp-status-border-width) var(--imp-status-border-style) var(--imp-status-border);
    font-family: var(--imp-status-font);
    display: inline-flex;
    font-weight: var(--imp-status-weight);
    padding: 4px 8px;
    border-radius: var(--imp-status-radius);
    box-shadow: var(--imp-status-box-shadow, none) !important;
    text-shadow: var(--imp-status-text-shadow, none) !important;
}

.status-tooltip.available { color: var(--imp-status-available-color) !important; }
.status-tooltip.reserved { color: var(--imp-status-reserved-color) !important; }
.status-tooltip.sold { color: var(--imp-status-sold-color) !important; }
.status-tooltip.unavailable { color: var(--imp-status-unavailable-color) !important; }
.status-tooltip.none { color: var(--imp-status-none-color) !important; }

.info-title {
    font-family: var(--imp-tooltip-font);
    font-size: 20px;
    font-weight: var(--imp-tooltip-weight);
    line-height: 1;
    color: var(--imp-tooltip-text);
    margin-bottom: 18px;
    padding: 0;
}

.info-text {
    font-family: var(--imp-tooltip-font);
    font-size: 12px;
    font-weight: var(--imp-tooltip-weight);
    line-height: 1;
    color: var(--imp-tooltip-text);
    margin: 0;
    padding: 6px;
    text-transform: var(--imp-tooltip-transform);
}

.info-text.small {
    font-size: 12px;
}

.info-button {
    background: var(--imp-info-bg) !important;
    border-radius: var(--imp-info-radius) !important;
    border: var(--imp-info-border-width) var(--imp-info-border-style) var(--imp-info-border);
    font-family: var(--imp-info-font);
    font-weight: var(--imp-info-weight) !important;
    text-transform: var(--imp-info-transform) !important;
    font-size: 14px !important;
    line-height: 17px !important;
    color: var(--imp-info-text) !important;
    width: 100% !important;
    height: unset !important;
    text-align: center !important;
    display: inline-block !important;
    padding: 10px 20px !important;
    margin: 10px auto !important;
    text-decoration: none !important;
    box-shadow: var(--imp-info-box-shadow, none) !important;
    text-shadow: var(--imp-info-text-shadow, none) !important;
    box-sizing: border-box;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: background .3s ease, color .3s ease, border-color .3s ease, opacity .3s ease;
    will-change: background, color, border-color, opacity;
}

.info-button:hover {
    background: var(--imp-info-hover-bg) !important;
    color: var(--imp-info-hover-text) !important;
    border-color: var(--imp-info-hover-border) !important;
    opacity: var(--imp-info-hover-opacity) !important;
    filter: none;
    transform: translateZ(0);
}

.imp-investments-loader[data-imp-investments-loader="1"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--imp-loader-overlay, #ffffffcc);
    backdrop-filter: blur(10px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

@keyframes imp-investments-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.imp-investments-loader[data-imp-investments-loader="1"]::before {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    margin-left: -20px;
    border-radius: 50%;
    border: 3px solid var(--imp-loader-color);
    border-top: 3px solid transparent;
    animation: imp-investments-spin 1s linear infinite;
}
