/*
 * BestPropertyPlug — Developer Locations Premium V9.4
 * Approved redesign:
 * - remove oversized location illustration
 * - compact premium horizontal location carousel
 * - small navigation controls
 * - no vertical swipe/help text
 * - responsive on desktop/tablet/mobile
 */

.bpp54-developer .bpp54-location-card.bpp-dev-locations-v94 {
    position: relative !important;
    overflow: hidden !important;
    min-width: 0 !important;
    padding-bottom: 18px !important;
}

/* Old location UI from V9.3/V9.3.1 must never reappear. */
.bpp54-developer .bpp54-location-card .bpp-dev-location-shell-v93,
.bpp54-developer .bpp54-location-card .bpp-dev-location-hint-v93,
.bpp54-developer .bpp54-location-card .bpp-dev-location-shell-v931,
.bpp54-developer .bpp54-location-card .bpp-dev-location-hint-v931,
.bpp54-developer .bpp54-location-card .bpp-dev-location-source-v931,
.bpp54-developer .bpp54-location-card .bpp-dev-location-decorative-v931,
.bpp54-developer .bpp54-location-card .bpp-dev-location-large-icon-v93 {
    display: none !important;
}

/* Original location source is hidden only after V9.4 successfully builds. */
.bpp54-developer .bpp54-location-card .bpp-dev-location-source-v94 {
    display: none !important;
}

/* Oversized decorative icon is explicitly removed. */
.bpp54-developer .bpp54-location-card .bpp-dev-location-oversized-v94 {
    display: none !important;
}

/* Premium body */
.bpp54-developer .bpp54-location-card .bpp-dev-location-premium-v94 {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-top: 15px !important;
}

/* Carousel controls */
.bpp54-developer .bpp54-location-card .bpp-dev-location-controls-v94 {
    position: absolute !important;
    top: -57px !important;
    right: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    z-index: 4 !important;
}

.bpp54-developer .bpp54-location-card .bpp-dev-location-control-v94 {
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 1px solid #d9e7df !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #20473a !important;
    font: inherit !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 5px 14px rgba(10, 64, 43, .06) !important;
    transition: border-color .16s ease, color .16s ease, transform .16s ease !important;
}

.bpp54-developer .bpp54-location-card .bpp-dev-location-control-v94:hover:not(:disabled) {
    border-color: #079455 !important;
    color: #079455 !important;
    transform: translateY(-1px) !important;
}

.bpp54-developer .bpp54-location-card .bpp-dev-location-control-v94:disabled {
    opacity: .32 !important;
    cursor: default !important;
    transform: none !important;
}

/* Scroll row */
.bpp54-developer .bpp54-location-card .bpp-dev-location-scroll-v94 {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scroll-behavior: smooth !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    padding: 2px 1px 7px !important;
}

.bpp54-developer .bpp54-location-card .bpp-dev-location-scroll-v94::-webkit-scrollbar {
    display: none !important;
}

/* Premium location chip */
.bpp54-developer .bpp54-location-card .bpp-dev-location-chip-v94 {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 40px !important;
    max-width: 245px !important;
    padding: 9px 13px !important;
    border: 1px solid #dce9e2 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #40584d !important;
    font: inherit !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
    white-space: nowrap !important;
    scroll-snap-align: start !important;
    box-shadow: 0 3px 10px rgba(9, 60, 41, .035) !important;
}

.bpp54-developer .bpp54-location-card .bpp-dev-location-chip-v94:first-child {
    background: linear-gradient(180deg, #eff9f4 0%, #e8f5ef 100%) !important;
    border-color: #d4e9de !important;
    color: #25493b !important;
}

.bpp54-developer .bpp54-location-card .bpp-dev-location-chip-v94 svg {
    flex: 0 0 auto !important;
    width: 15px !important;
    height: 15px !important;
    stroke: #079455 !important;
}

/* Thin premium progress track */
.bpp54-developer .bpp54-location-card .bpp-dev-location-progress-v94 {
    position: relative !important;
    width: 100% !important;
    height: 5px !important;
    margin-top: 5px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #e8f2ed !important;
}

.bpp54-developer .bpp54-location-card .bpp-dev-location-progress-thumb-v94 {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 100% !important;
    min-width: 34px !important;
    border-radius: 999px !important;
    background: #69b595 !important;
    transform: translateX(0) !important;
}

/* Balance with sibling cards without forcing large empty area. */
@media (min-width: 768px) {
    .bpp54-developer .bpp54-bottom-grid {
        align-items: stretch !important;
    }

    .bpp54-developer .bpp54-bottom-grid > .bpp54-card {
        min-height: 205px !important;
    }

    .bpp54-developer .bpp54-location-card.bpp-dev-locations-v94 {
        min-height: 205px !important;
    }
}

/* Tablet */
@media (max-width: 1100px) and (min-width: 768px) {
    .bpp54-developer .bpp54-location-card .bpp-dev-location-chip-v94 {
        max-width: 220px !important;
        font-size: 11.5px !important;
    }

    .bpp54-developer .bpp54-location-card .bpp-dev-location-controls-v94 {
        top: -54px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .bpp54-developer .bpp54-location-card.bpp-dev-locations-v94 {
        min-height: 0 !important;
        padding-bottom: 16px !important;
    }

    .bpp54-developer .bpp54-location-card .bpp-dev-location-premium-v94 {
        margin-top: 13px !important;
    }

    .bpp54-developer .bpp54-location-card .bpp-dev-location-controls-v94 {
        display: none !important;
    }

    .bpp54-developer .bpp54-location-card .bpp-dev-location-scroll-v94 {
        gap: 8px !important;
        width: calc(100% + 8px) !important;
        margin-right: -8px !important;
        padding-right: 8px !important;
    }

    .bpp54-developer .bpp54-location-card .bpp-dev-location-chip-v94 {
        min-height: 39px !important;
        max-width: 225px !important;
        padding: 8px 12px !important;
        font-size: 11.5px !important;
    }

    .bpp54-developer .bpp54-location-card .bpp-dev-location-progress-v94 {
        margin-top: 4px !important;
    }
}
