/* ==============================================
   MAP - Google Maps Container & Markers
   Airbnb-style modern styling
   ============================================== */

/* Map Container */
#searchMap {
    width: 100%;
    height: 100%;
    min-height: 400px;
    border-radius: 0;
    background: #e5e3df;
}

.search-map-container {
    width: 100%;
    height: 100%;
    min-height: 400px;
    position: relative;
    background: #e5e3df;
}

/* Loading State */
.map-loading-state {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f5f5f5;
    z-index: 10;
}

.map-loading-state .spinner-border {
    width: 40px;
    height: 40px;
    border-width: 3px;
    color: #ff385c;
}

/* Custom Google Maps Styling */
.gm-style {
    font-family: inherit !important;
}

/* Hide default Google UI elements we don't need */
.gm-style-cc,
.gm-svpc {
    display: none !important;
}

/* Custom Zoom Controls styling */
.gm-bundled-control {
    margin: 12px !important;
}

.gm-bundled-control button {
    border-radius: 8px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
}

/* Info Window Styling */
.gm-style-iw {
    border-radius: 12px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

.gm-style-iw-d {
    overflow: hidden !important;
    max-height: none !important;
}

.gm-style-iw-c {
    padding: 0 !important;
    border-radius: 12px !important;
}

.gm-style-iw-t::after {
    display: none !important;
}

/* Close Button */
.gm-ui-hover-effect {
    top: 4px !important;
    right: 4px !important;
    width: 28px !important;
    height: 28px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    border-radius: 50% !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Mobile Map adjustments */
@media (max-width: 768px) {
    #searchMap {
        border-radius: 0;
    }

    .gm-bundled-control {
        margin: 8px !important;
    }

    /* Position zoom controls better on mobile */
    .gm-bundled-control-on-bottom {
        right: 8px !important;
        bottom: 60px !important;
    }
}

/* Dark Mode */
[data-theme="dark"] .map-loading-state {
    background: #2a2a2a;
}