




/* Recent listing photo marker */
.recent-property-photo-ring{
    border: 3px solid #ffffff !important;
    box-shadow:
        0 2px 8px rgba(0,0,0,.28),
        0 0 0 1px rgba(0,0,0,.15);
    box-sizing: border-box;
}

.recent-property-photo-ring img{
    display:block;
}


/* Recent listing photo marker */
.recent-property-photo-marker{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#ffffff;
    box-shadow:
        0 3px 10px rgba(0,0,0,.30);
    transform:translate(-50%,-50%);
    cursor:pointer;
}

.recent-property-photo-ring{
    width:42px;
    height:42px;
    border-radius:50%;
    overflow:hidden;
    border:3px solid #ffffff !important;
    box-shadow:
        0 0 0 1px rgba(0,0,0,.18);
    box-sizing:border-box;
}

.recent-property-photo-ring img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    border-radius:50%;
}


/* Recent listing photo marker - visible circle */
.recent-property-photo-marker{
    width:52px !important;
    height:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    background:#fff !important;
    padding:3px !important;
    box-sizing:border-box !important;
    box-shadow:0 3px 12px rgba(0,0,0,.35) !important;
    cursor:pointer !important;
}

.recent-property-photo-ring{
    width:46px !important;
    height:46px !important;
    border:3px solid #fff !important;
    border-radius:50% !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

.recent-property-photo-ring img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    border-radius:50% !important;
}



/* ============================================================
   PURPLE PROPERTY CLUSTERS
   Same soft/faded ball concept — purple only
   ============================================================ */

.purple-cluster-marker {
    display: flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255,255,255,.42) 0%,
            rgba(255,255,255,.14) 20%,
            rgba(124,58,237,.72) 48%,
            rgba(91,33,182,.82) 100%
        );

    border:
        4px solid rgba(196,181,253,.72);

    box-shadow:
        0 3px 12px rgba(76,29,149,.30),
        inset 0 0 10px rgba(255,255,255,.18);

    color: #fff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 13px;
    font-weight: 700;

    text-shadow:
        0 1px 2px rgba(0,0,0,.28);

    cursor: pointer;
}

.purple-cluster-marker span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;
}

/* ============================================================
   WHITE PROPERTY PRICE PILL
   ============================================================ */

.price-marker {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 0 !important;
    height: 24px !important;
    padding: 0 6px !important;

    box-sizing: border-box !important;

    background: #ffffff !important;
    color: #111827 !important;

    border: 1px solid rgba(17,24,39,.14) !important;
    border-radius: 18px !important;

    box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;

    font-size: 8px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    white-space: nowrap !important;
    cursor: pointer !important;

    text-shadow: none !important;
    backdrop-filter: none !important;

    transform-origin: center !important;
}

.price-marker:hover {
    transform: scale(1.06) !important;
}

.price-marker.active {
    transform: scale(1.06) !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.24) !important;
}

/* ============================================================
   FINAL PURPLE CLUSTER BALL
   Match the old blue/red faded-ball appearance.
   ============================================================ */

.purple-cluster-marker {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;

    width: 46px !important;
    height: 46px !important;

    border-radius: 50% !important;

    background:
        radial-gradient(
            circle at 32% 28%,
            rgba(255,255,255,.42) 0%,
            rgba(255,255,255,.18) 18%,
            rgba(139,92,246,.55) 48%,
            rgba(91,33,182,.68) 100%
        ) !important;

    border: 3px solid rgba(196,181,253,.62) !important;

    box-shadow:
        0 3px 12px rgba(76,29,149,.22),
        inset 0 1px 7px rgba(255,255,255,.20) !important;

    color: #fff !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-shadow:
        0 1px 2px rgba(0,0,0,.25) !important;

    cursor: pointer !important;
}

.purple-cluster-marker span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;
}

.purple-cluster-marker:hover {
    transform: scale(1.06);
}

/* FINAL: remove any blue/red cluster stroke */
.purple-cluster-marker,
.purple-cluster-marker * {
    border-color: rgba(196,181,253,.45) !important;
    outline: none !important;
}

.purple-cluster-marker {
    border: 2px solid rgba(196,181,253,.45) !important;

    background:
        radial-gradient(
            circle at 32% 28%,
            rgba(255,255,255,.38) 0%,
            rgba(255,255,255,.12) 20%,
            rgba(139,92,246,.48) 50%,
            rgba(91,33,182,.62) 100%
        ) !important;

    box-shadow:
        0 2px 10px rgba(76,29,149,.20),
        inset 0 1px 6px rgba(255,255,255,.18) !important;
}

/* ============================================================
   PURPLE CLUSTER ORBS
   Dark center + 2 soft fading outer rings
   ============================================================ */

.purple-cluster-marker {
    position: relative !important;

    width: 48px !important;
    height: 48px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 50% !important;

    background:
        radial-gradient(
            circle,
            #4c1d95 0%,
            #5b21b6 42%,
            rgba(109,40,217,.88) 58%,
            rgba(124,58,237,.52) 72%,
            rgba(139,92,246,.20) 84%,
            rgba(196,181,253,0) 100%
        ) !important;

    box-shadow:
        0 0 0 5px rgba(109,40,217,.20),
        0 0 0 10px rgba(109,40,217,.11),
        0 4px 14px rgba(55,20,110,.28) !important;

    color: #fff !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-shadow:
        0 1px 2px rgba(0,0,0,.30) !important;

    overflow: visible !important;
}

.purple-cluster-marker::before {
    content: "" !important;

    position: absolute !important;

    inset: 3px !important;

    border-radius: 50% !important;

    background:
        radial-gradient(
            circle at 35% 28%,
            rgba(255,255,255,.32),
            rgba(255,255,255,0) 48%
        ) !important;

    pointer-events: none !important;
}

.purple-cluster-marker span {
    position: relative !important;
    z-index: 2 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;
}

.purple-cluster-marker:hover {
    transform: scale(1.06) !important;
}


/* ============================================================
   MAP PROPERTY BUBBLES
   ============================================================ */

.map-price-marker,
.map-building-marker {

    display: flex;

    align-items: center;

    justify-content: center;

    min-width: 64px;

    height: 34px;

    padding: 0 13px;

    background: #ffffff;

    color: #111827;

    border: 1px solid rgba(17,24,39,.14);

    border-radius: 18px;

    box-shadow:
        0 2px 8px rgba(0,0,0,.18);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: 13px;

    font-weight: 700;

    white-space: nowrap;

    cursor: pointer;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        background .15s ease;

}


.map-price-marker:hover,
.map-price-marker.active {

    transform: scale(1.06);

    box-shadow:
        0 4px 14px rgba(0,0,0,.24);

}


/* ============================================================
   SAME-BUILDING COUNT BUBBLE
   ============================================================ */

.map-building-marker {

    min-width: 38px;

    width: 38px;

    height: 38px;

    padding: 0;

    border-radius: 50%;

    background: #7C3AED;

    color: #ffffff;

    border: 3px solid #ffffff;

    box-shadow:
        0 3px 12px rgba(0,0,0,.25);

}


.map-building-marker span {

    font-size: 13px;

    font-weight: 800;

}


/* ============================================================
   SAME BUILDING NUMBER BUBBLE
   ============================================================ */

.map-building-marker {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 38px;

    height: 38px;

    border-radius: 50%;

    background: #7C3AED;

    color: #ffffff;

    border: 3px solid #ffffff;

    box-shadow:
        0 3px 12px rgba(0,0,0,.25);

    cursor: pointer;

}

.map-building-marker span {

    font-size: 13px;

    font-weight: 800;

}

.map-preview-building-count {

    margin-top: 7px;

    color: #6b7280;

    font-size: 12px;

    font-weight: 600;

}


/* ============================================================
   MAP PROPERTY PREVIEW IMAGE FIX
   ============================================================ */

#map-property-preview .property-card-image {
    position: relative;
    width: 100%;
    height: 190px;
    overflow: hidden;
    background: #f3f3f3;
}

#map-property-preview .mobile-slider {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#map-property-preview .mobile-slider img {
    display: block;
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#map-property-preview .property-card {
    cursor: pointer;
}

#map-property-preview .property-card-info {
    display: block;
}

.map-desktop-property-preview .property-card {
    margin: 0;
}

.map-desktop-property-preview .property-card-image {
    position: relative;
    overflow: hidden;
}

.map-desktop-property-preview .property-card-main-image {
    display: block;
}





/* ============================================================
   FINAL DESKTOP MAP PROPERTY PREVIEW CARD
   ============================================================ */

@media (min-width: 901px){

    #map-desktop-property-preview{
        position: fixed !important;

        left: 0 !important;
        right: auto !important;
        top: 0 !important;
        bottom: auto !important;

        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;

        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        display: block !important;

        z-index: 2147483647 !important;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transform: translateY(6px);

        transition:
            opacity .18s ease,
            transform .18s ease,
            visibility .18s ease;
    }


    #map-desktop-property-preview.show{
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0);
    }


    #map-desktop-property-preview .map-preview-card{
        position: relative !important;

        display: block !important;

        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;

        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        background: #ffffff !important;
        color: #111827 !important;

        border-radius: 12px !important;
        border: 1px solid rgba(0,0,0,.08) !important;

        box-shadow:
            0 8px 24px rgba(0,0,0,.20) !important;

        cursor: pointer;
    }


    /* 180px card -> 100px image */
    #map-desktop-property-preview .map-preview-image{
        position: relative !important;

        width: 100% !important;

        height: 100px !important;
        min-height: 100px !important;

        background: #e5e7eb !important;

        overflow: hidden !important;
    }


    #map-desktop-property-preview .property-card-main-image{
        display: block !important;

        width: 100% !important;
        height: 100% !important;

        object-fit: cover !important;

        background: #e5e7eb !important;
    }


    #map-desktop-property-preview .map-preview-placeholder{
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        height: 100% !important;

        background:
            linear-gradient(
                135deg,
                #e5e7eb,
                #d1d5db
            ) !important;

        color: #6b7280 !important;

        font-size: 9px !important;
        font-weight: 600 !important;
    }


    #map-desktop-property-preview .property-badge{
        position: absolute !important;

        top: 6px !important;
        left: 6px !important;

        z-index: 2 !important;

        padding: 3px 6px !important;

        border-radius: 999px !important;

        background: rgba(17,24,39,.82) !important;
        color: #ffffff !important;

        font-size: 8px !important;
        line-height: 1 !important;
        font-weight: 700 !important;
    }


    #map-desktop-property-preview .map-preview-info{
        display: block !important;

        padding: 7px 8px 8px !important;

        background: #ffffff !important;
        color: #111827 !important;
    }


    /*
     * DETAILS + PRICE
     *
     * Details on left.
     * Price on right.
     */
    #map-desktop-property-preview .property-card-header{
        display: flex !important;

        align-items: center !important;
        justify-content: space-between !important;

        gap: 4px !important;

        width: 100% !important;

        margin: 0 !important;
    }


    #map-desktop-property-preview .property-card-header h3{
        flex: 1 1 auto !important;

        min-width: 0 !important;

        margin: 0 !important;

        color: #374151 !important;

        font-size: 8px !important;
        line-height: 1.2 !important;
        font-weight: 600 !important;

        overflow: hidden !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }


    #map-desktop-property-preview .property-card-header strong{
        flex: 0 0 auto !important;

        margin: 0 !important;

        color: #111827 !important;

        font-size: 9px !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;

        white-space: nowrap !important;
    }


    /*
     * MLS details.
     *
     * This is the line:
     * 2 bd · 2 ba · 1,438 sqft
     */
    #map-desktop-property-preview .map-preview-details{
        margin-top: 0 !important;

        color: #374151 !important;

        font-size: 8px !important;
        line-height: 1.2 !important;

        font-weight: 600 !important;

        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }


    /*
     * Address:
     *
     * 4101 Ocean Unit D-1605
     * Boca Raton, FL 33431
     */
    #map-desktop-property-preview .property-card-address{
        display: block !important;

        margin-top: 4px !important;

        color: #6b7280 !important;

        font-size: 8px !important;
        line-height: 1.25 !important;

        overflow: hidden !important;
    }


    #map-desktop-property-preview .property-card-address-line1,
    #map-desktop-property-preview .property-card-address-line2{
        display: block !important;

        margin: 0 !important;

        color: #6b7280 !important;

        font-size: 8px !important;
        line-height: 1.25 !important;

        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

}

@media (max-width: 900px){

    #map-desktop-property-preview{

        display: none !important;
    }

}


/* ============================================================
   DESKTOP MAP PREVIEW — FINAL OVERRIDE
   ============================================================ */

@media (min-width: 901px){

    body > #map-desktop-property-preview{

        position: fixed !important;

        left: 0 !important;
        top: 0 !important;

        right: auto !important;
        bottom: auto !important;

        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;

        height: auto !important;

        display: block !important;

        z-index: 2147483647 !important;

        margin: 0 !important;
        padding: 0 !important;

        opacity: 0;
        visibility: hidden;

        pointer-events: none;

        transform: translateY(8px);

        transition:
            opacity .18s ease,
            transform .18s ease,
            visibility .18s ease;
    }


    body > #map-desktop-property-preview.show{

        opacity: 1 !important;

        visibility: visible !important;

        pointer-events: auto !important;

        transform: translateY(0);
    }


    body > #map-desktop-property-preview
    .map-preview-card{

        display: block !important;

        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;

        background: #ffffff !important;

        color: #111827 !important;

        border: 1px solid #e5e7eb !important;

        border-radius: 16px !important;

        overflow: hidden !important;

        box-shadow:
            0 14px 40px rgba(0,0,0,.28) !important;

        opacity: 1 !important;

        visibility: visible !important;
    }


    body > #map-desktop-property-preview
    .map-preview-image{

        display: block !important;

        position: relative !important;

        width: 320px !important;
        height: 175px !important;

        min-height: 175px !important;

        background: #e5e7eb !important;

        overflow: hidden !important;
    }


    body > #map-desktop-property-preview
    .property-card-main-image{

        display: block !important;

        width: 100% !important;
        height: 100% !important;

        object-fit: cover !important;

        background: #e5e7eb !important;
    }


    body > #map-desktop-property-preview
    .map-preview-placeholder{

        display: flex !important;

        align-items: center !important;

        justify-content: center !important;

        width: 100% !important;
        height: 100% !important;

        background:
            linear-gradient(
                135deg,
                #e5e7eb,
                #cbd5e1
            ) !important;

        color: #64748b !important;

        font-size: 14px !important;
        font-weight: 700 !important;
    }


    body > #map-desktop-property-preview
    .property-card-info{

        display: block !important;

        width: 100% !important;

        box-sizing: border-box !important;

        padding: 14px 16px 16px !important;

        background: #ffffff !important;

        color: #111827 !important;
    }


    body > #map-desktop-property-preview
    .property-card-header{

        display: flex !important;

        align-items: flex-start !important;

        justify-content: space-between !important;

        gap: 12px !important;

        margin: 0 !important;
    }


    body > #map-desktop-property-preview
    .property-card-header h3{

        flex: 1 1 auto !important;

        margin: 0 !important;

        color: #111827 !important;

        font-size: 16px !important;

        line-height: 1.25 !important;

        font-weight: 700 !important;
    }


    body > #map-desktop-property-preview
    .property-card-header strong{

        flex: 0 0 auto !important;

        color: #111827 !important;

        font-size: 15px !important;

        line-height: 1.25 !important;

        font-weight: 800 !important;

        white-space: nowrap !important;
    }


    body > #map-desktop-property-preview
    .map-preview-details{

        margin-top: 8px !important;

        color: #374151 !important;

        font-size: 14px !important;

        line-height: 1.4 !important;

        font-weight: 600 !important;
    }


    body > #map-desktop-property-preview
    .property-card-address{

        margin-top: 7px !important;

        color: #6b7280 !important;

        font-size: 13px !important;

        line-height: 1.35 !important;
    }


    body > #map-desktop-property-preview
    .property-card-address-line1{

        color: #374151 !important;

        font-weight: 600 !important;
    }


    body > #map-desktop-property-preview
    .property-card-address-line2{

        margin-top: 2px !important;

        color: #6b7280 !important;
    }


    body > #map-desktop-property-preview
    .property-badge{

        position: absolute !important;

        top: 10px !important;
        left: 10px !important;

        z-index: 5 !important;

        padding: 5px 9px !important;

        border-radius: 999px !important;

        background: rgba(17,24,39,.86) !important;

        color: #ffffff !important;

        font-size: 11px !important;

        line-height: 1 !important;

        font-weight: 700 !important;
    }

}


/* ============================================================
   MAP PREVIEW — JS POSITIONED DIRECTLY FROM MARKER
   ============================================================ */

@media (min-width: 901px){

    body > #map-desktop-property-preview{
        position: fixed !important;

        left: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;

        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;

        margin: 0 !important;
        z-index: 2147483647 !important;

        transform: none !important;
    }

    body > #map-desktop-property-preview.show{
        transform: none !important;
    }
}

/* ============================================================
   MAP PREVIEW — SINGLE FINAL DESKTOP OVERRIDE
   ============================================================ */

@media (min-width: 901px){

    body > #map-desktop-property-preview{
        position: fixed !important;

        display: block !important;

        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;

        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        z-index: 2147483647 !important;

        opacity: 1 !important;
        visibility: visible !important;

        pointer-events: auto !important;

        transform: none !important;

        left: 100px !important;
        top: 100px !important;

        right: auto !important;
        bottom: auto !important;
    }

    body > #map-desktop-property-preview.show{
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body > #map-desktop-property-preview .map-preview-card{
        display: block !important;

        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;

        height: auto !important;

        background: #ffffff !important;
        color: #111827 !important;

        opacity: 1 !important;
        visibility: visible !important;
    }

}



/* ============================================================
   DESKTOP MAP PREVIEW POSITIONING — JS CONTROLLED
   ============================================================ */

@media (min-width: 901px){

    body > #map-desktop-property-preview{

        position: fixed !important;

        left: 0 !important;
        top: 0 !important;

        right: auto !important;
        bottom: auto !important;

        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;

        z-index: 2147483647 !important;

        margin: 0 !important;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transform: none !important;
    }

    body > #map-desktop-property-preview.show{

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

    }

}

/* ============================================================
   MAP PREVIEW — CONTAINER ANCHORED
   ============================================================ */

@media (min-width: 901px){

    #desktop-map #map-desktop-property-preview{

        position: absolute !important;

        left: 0 !important;
        top: 0 !important;

        right: auto !important;
        bottom: auto !important;

        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;

        z-index: 2147483647 !important;

        margin: 0 !important;

        transform: none !important;
    }

    #desktop-map #map-desktop-property-preview.show{

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

    }

}


/* ============================================================
   DESKTOP MAP PREVIEW — MEDIA LOADING
   ============================================================ */

#map-desktop-property-preview .map-preview-image-loading {
    width: 100%;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    color: #777;
    font-size: 13px;
}

#map-desktop-property-preview .map-preview-image-loading span {
    opacity: .75;
}

#map-desktop-property-preview .property-card-main-image {
    width: 100%;
    height: 180px;
    display: block;
    object-fit: cover;
}


/* ============================================================
   MAP PREVIEW — STABLE DIMENSIONS
   Reserve image space before MLS media arrives.
   ============================================================ */

#map-desktop-property-preview .map-preview-card {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #fff !important;
}

#map-desktop-property-preview .map-preview-image {
    width: 280px !important;
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    overflow: hidden !important;
    background: #f3f4f6 !important;
}

#map-desktop-property-preview .map-preview-image-loading {
    width: 280px !important;
    height: 180px !important;
    min-height: 180px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f3f4f6 !important;
}

#map-desktop-property-preview .property-card-main-image {
    width: 280px !important;
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    display: block !important;
    object-fit: cover !important;
}


/* ============================================================
   MAP PREVIEW — MATCH GRID CARD 4:3 IMAGE
   ============================================================ */

#map-desktop-property-preview .map-preview-card {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #fff !important;
}

#map-desktop-property-preview .map-preview-image {
    width: 280px !important;
    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;
    overflow: hidden !important;
    background: #f3f4f6 !important;
}

#map-desktop-property-preview .map-preview-image-loading {
    width: 280px !important;
    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f3f4f6 !important;
}

#map-desktop-property-preview .property-card-main-image {
    width: 280px !important;
    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;
    display: block !important;
    object-fit: cover !important;
}


/* ============================================================
   MAP PREVIEW — MATCH GRID CARD IMAGE SIZE
   ============================================================ */

.gm-style .map-preview-card {
    width: 431.72px !important;
    max-width: 431.72px !important;
    min-width: 431.72px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    box-sizing: border-box !important;
}

.gm-style .map-preview-image {
    width: 431.72px !important;
    height: 323.78px !important;

    min-width: 431.72px !important;
    min-height: 323.78px !important;
    max-width: 431.72px !important;
    max-height: 323.78px !important;

    overflow: hidden !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.gm-style .map-preview-image img,
.gm-style .map-preview-image .property-card-main-image {
    width: 100% !important;
    height: 100% !important;

    min-width: 0 !important;
    min-height: 0 !important;

    max-width: none !important;
    max-height: none !important;

    display: block !important;
    object-fit: cover !important;
}

.gm-style .map-preview-image-loading {
    width: 100% !important;
    height: 100% !important;

    min-height: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f3f4f6 !important;
}

.gm-style .map-preview-info {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}


/* ============================================================
   MAP PROPERTY PREVIEW — COMPACT SIZE
   ============================================================ */

.gm-style .map-preview-card {
    width: 360px !important;
    max-width: 360px !important;
    min-width: 360px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.gm-style .map-preview-image {
    width: 360px !important;
    height: 270px !important;
    max-width: 360px !important;
    max-height: 270px !important;
    min-width: 360px !important;
    min-height: 270px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    position: relative !important;
}

.gm-style .map-preview-image img,
.gm-style .map-preview-image .property-card-main-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.gm-style .map-preview-image-loading {
    width: 100% !important;
    height: 100% !important;
}


/* ============================================================
   MAP PREVIEW GALLERY
   ============================================================ */

.map-preview-gallery {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.map-preview-gallery-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.map-preview-gallery-prev,
.map-preview-gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 50%;
    background: rgba(0,0,0,.55);
    color: #fff;
    font-size: 24px;
    line-height: 26px;
    padding: 0;
    cursor: pointer;
    z-index: 5;
}

.map-preview-gallery-prev {
    left: 8px;
}

.map-preview-gallery-next {
    right: 8px;
}

.map-preview-gallery-prev:hover,
.map-preview-gallery-next:hover {
    background: rgba(0,0,0,.75);
}

.map-preview-gallery-counter {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 5;
    padding: 3px 7px;
    border-radius: 10px;
    background: rgba(0,0,0,.6);
    color: #fff;
    font-size: 11px;
    line-height: 16px;
}

.map-preview-image-loading {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    color: #777;
}

#map-property-preview .mobile-slider {
    width: 100%;
    height: 100%;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

#map-property-preview .mobile-slider::-webkit-scrollbar {
    display: none;
}

#map-property-preview .mobile-slider img {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    scroll-snap-align: start;
}

#map-property-preview .map-preview-image-loading {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    color: #777;
}


/* SEARCH MAP PRICE MARKERS */
@media (max-width: 900px){
    .price-marker{
        height:22px !important;
        padding:0 5px !important;
        font-size:7px !important;
        border-radius:12px !important;
    }
}

/* ============================================================
   FINAL MAP PREVIEW SIZE OVERRIDE
   Must be LAST so Google Maps / older preview rules cannot
   enlarge the desktop preview card.
   ============================================================ */

@media (min-width: 901px){

    body > #map-desktop-property-preview,
    #map-desktop-property-preview{

        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        padding: 0 !important;
        margin: 0 !important;
    }


    body > #map-desktop-property-preview .map-preview-card,
    #map-desktop-property-preview .map-preview-card,
    .gm-style .map-preview-card{

        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        padding: 0 !important;
        margin: 0 !important;

        box-sizing: border-box !important;

        overflow: hidden !important;
    }


    body > #map-desktop-property-preview .map-preview-image,
    #map-desktop-property-preview .map-preview-image,
    .gm-style .map-preview-image{

        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;

        height: 100px !important;
        min-height: 100px !important;
        max-height: 100px !important;

        box-sizing: border-box !important;
    }


    body > #map-desktop-property-preview .property-card-main-image,
    #map-desktop-property-preview .property-card-main-image,
    .gm-style .map-preview-image .property-card-main-image{

        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;

        height: 100px !important;
        min-height: 100px !important;
        max-height: 100px !important;

        object-fit: cover !important;

        box-sizing: border-box !important;
    }


    body > #map-desktop-property-preview .map-preview-info,
    #map-desktop-property-preview .map-preview-info{

        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;

        padding: 6px 7px 7px !important;

        box-sizing: border-box !important;
    }


    body > #map-desktop-property-preview .property-card-header h3,
    #map-desktop-property-preview .property-card-header h3{

        font-size: 9px !important;
        line-height: 1.15 !important;

        margin: 0 !important;
    }


    body > #map-desktop-property-preview .property-card-header strong,
    #map-desktop-property-preview .property-card-header strong{

        font-size: 9px !important;
        line-height: 1.15 !important;
    }


    body > #map-desktop-property-preview .map-preview-details,
    #map-desktop-property-preview .map-preview-details{

        margin-top: 3px !important;

        font-size: 8px !important;
        line-height: 1.15 !important;
    }


    body > #map-desktop-property-preview .property-card-address,
    #map-desktop-property-preview .property-card-address{

        margin-top: 3px !important;

        font-size: 7px !important;
        line-height: 1.15 !important;
    }


    body > #map-desktop-property-preview .property-badge,
    #map-desktop-property-preview .property-badge{

        top: 5px !important;
        left: 5px !important;

        padding: 3px 5px !important;

        font-size: 7px !important;
        line-height: 1 !important;
    }

}


/* ============================================================
   DESKTOP MAP PREVIEW — FINAL COMPACT CARD
   ============================================================ */

@media (min-width: 901px){

    /* Card */
    body > #map-desktop-property-preview,
    #map-desktop-property-preview,
    .gm-style #map-desktop-property-preview{
        width: 230px !important;
        min-width: 230px !important;
        max-width: 230px !important;
    }

    body > #map-desktop-property-preview .map-preview-card,
    #map-desktop-property-preview .map-preview-card,
    .gm-style .map-preview-card{
        width: 230px !important;
        min-width: 230px !important;
        max-width: 230px !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;
        box-sizing: border-box !important;

        border-radius: 12px !important;
        border: 1px solid rgba(0,0,0,.10) !important;

        background: #fff !important;

        /* no heavy shadow */
        box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;

        position: relative !important;
    }


    /* Image flush against card edges */
    body > #map-desktop-property-preview .map-preview-image,
    #map-desktop-property-preview .map-preview-image,
    .gm-style .map-preview-image{

        width: 230px !important;
        min-width: 230px !important;
        max-width: 230px !important;

        height: 145px !important;
        min-height: 145px !important;
        max-height: 145px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        overflow: hidden !important;
        position: relative !important;

        box-sizing: border-box !important;

        background: #f3f4f6 !important;

        box-shadow: none !important;
    }


    /* Image itself */
    body > #map-desktop-property-preview
    .property-card-main-image,
    #map-desktop-property-preview .property-card-main-image,
    .gm-style .map-preview-image img,
    .gm-style .map-preview-image .property-card-main-image{

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        display: block !important;

        object-fit: cover !important;

        border: 0 !important;

        box-shadow: none !important;
    }


    /* Loading image */
    body > #map-desktop-property-preview
    .map-preview-image-loading,
    #map-desktop-property-preview .map-preview-image-loading,
    .gm-style .map-preview-image-loading{

        width: 100% !important;
        height: 100% !important;

        min-width: 0 !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        box-shadow: none !important;
    }


    /* ========================================================
       GALLERY CONTROLS
       Hidden until card hover
       ======================================================== */

    #map-desktop-property-preview
    .map-preview-gallery-prev,

    #map-desktop-property-preview
    .map-preview-gallery-next,

    #map-desktop-property-preview
    .map-preview-gallery-counter{

        opacity: 0 !important;
        visibility: hidden !important;

        transition:
            opacity .15s ease,
            visibility .15s ease !important;
    }


    #map-desktop-property-preview .map-preview-card:hover
    .map-preview-gallery-prev,

    #map-desktop-property-preview .map-preview-card:hover
    .map-preview-gallery-next,

    #map-desktop-property-preview .map-preview-card:hover
    .map-preview-gallery-counter{

        opacity: 1 !important;
        visibility: visible !important;
    }


    /* Previous / next arrows */
    #map-desktop-property-preview
    .map-preview-gallery-prev,

    #map-desktop-property-preview
    .map-preview-gallery-next{

        position: absolute !important;

        top: 50% !important;

        transform: translateY(-50%) !important;

        z-index: 20 !important;

        width: 24px !important;
        height: 24px !important;

        min-width: 24px !important;
        min-height: 24px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        border: 0 !important;
        border-radius: 50% !important;

        background: rgba(0,0,0,.55) !important;

        color: #fff !important;

        font-size: 16px !important;
        line-height: 1 !important;

        cursor: pointer !important;

        box-shadow: none !important;
    }


    #map-desktop-property-preview
    .map-preview-gallery-prev{
        left: 7px !important;
    }


    #map-desktop-property-preview
    .map-preview-gallery-next{
        right: 7px !important;
    }


    /* Close X */
    #map-desktop-property-preview
    .map-preview-close{

        opacity: 0 !important;
        visibility: hidden !important;

        transition:
            opacity .15s ease,
            visibility .15s ease !important;
    }


    #map-desktop-property-preview .map-preview-card:hover
    .map-preview-close{

        opacity: 1 !important;
        visibility: visible !important;
    }


    /* ========================================================
       INFO — PRICE + ADDRESS TOP ALIGNED
       ======================================================== */

    body > #map-desktop-property-preview .map-preview-info,
    #map-desktop-property-preview .map-preview-info,
    .gm-style .map-preview-info{

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;

        padding: 7px 8px 8px !important;

        box-sizing: border-box !important;

        background: #fff !important;

        color: #111827 !important;

        box-shadow: none !important;
    }


    #map-desktop-property-preview .property-card-header{

        display: flex !important;

        align-items: flex-start !important;
        justify-content: space-between !important;

        gap: 6px !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Price */
    #map-desktop-property-preview
    .property-card-header strong{

        order: 1 !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 11px !important;
        line-height: 1.15 !important;

        font-weight: 800 !important;

        white-space: nowrap !important;

        color: #111827 !important;
    }


    /* Address/title */
    #map-desktop-property-preview
    .property-card-header h3{

        order: 0 !important;

        flex: 1 1 auto !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 10px !important;
        line-height: 1.2 !important;

        font-weight: 700 !important;

        color: #111827 !important;

        text-align: left !important;

        overflow: hidden !important;

        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
    }


    /* Details immediately underneath */
    #map-desktop-property-preview
    .map-preview-details{

        margin: 3px 0 0 !important;
        padding: 0 !important;

        font-size: 8px !important;
        line-height: 1.2 !important;

        font-weight: 600 !important;

        color: #374151 !important;
    }


    /* Address */
    #map-desktop-property-preview
    .property-card-address{

        margin: 3px 0 0 !important;
        padding: 0 !important;

        font-size: 8px !important;
        line-height: 1.2 !important;

        color: #6b7280 !important;

        text-align: left !important;
    }


    #map-desktop-property-preview
    .property-card-address-line1,
    #map-desktop-property-preview
    .property-card-address-line2{

        margin: 0 !important;
        padding: 0 !important;

        color: #6b7280 !important;
    }


    /* Badge */
    #map-desktop-property-preview
    .property-badge{

        top: 6px !important;
        left: 6px !important;

        padding: 3px 5px !important;

        font-size: 7px !important;
        line-height: 1 !important;

        border-radius: 999px !important;

        box-shadow: none !important;
    }

}


/* ============================================================
   DESKTOP MAP PREVIEW — FINAL CARD LAYOUT
   280px CARD / 280x220 IMAGE
   ============================================================ */

body > #map-desktop-property-preview .map-preview-card,
#map-desktop-property-preview .map-preview-card,
.gm-style .map-preview-card {

    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    overflow: visible !important;

    position: relative !important;

    font-size: 11px !important;
}


/* IMAGE — TOUCHES TOP / LEFT / RIGHT OF CARD */

body > #map-desktop-property-preview .map-preview-image,
#map-desktop-property-preview .map-preview-image,
.gm-style .map-preview-image {

    width: 280px !important;
    height: 220px !important;

    min-width: 280px !important;
    max-width: 280px !important;

    min-height: 220px !important;
    max-height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;

    box-sizing: border-box !important;

    overflow: visible !important;

    background: #f3f4f6 !important;
}


/* ACTUAL PHOTO */

body > #map-desktop-property-preview
.map-preview-image > img,
body > #map-desktop-property-preview
.map-preview-gallery-image,
.gm-style .map-preview-image .property-card-main-image {

    width: 280px !important;
    height: 220px !important;

    min-width: 280px !important;
    max-width: 280px !important;

    min-height: 220px !important;
    max-height: 220px !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    object-fit: cover !important;

    box-sizing: border-box !important;
}


/* GALLERY MUST HAVE EXACT IMAGE SIZE */

body > #map-desktop-property-preview .map-preview-gallery {

    position: relative !important;

    width: 280px !important;
    height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    box-sizing: border-box !important;
}


/* INFO AREA */

body > #map-desktop-property-preview .map-preview-info,
#map-desktop-property-preview .map-preview-info,
.gm-style .map-preview-info {

    width: 280px !important;
    max-width: 280px !important;

    margin: 0 !important;
    padding: 8px 9px 9px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border: 0 !important;

    box-shadow: none !important;

    font-size: 11px !important;
}


/* SPECS LEFT / PRICE RIGHT */

body > #map-desktop-property-preview .map-preview-bottom-row {

    width: 100% !important;

    display: flex !important;

    align-items: flex-start !important;
    justify-content: space-between !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


body > #map-desktop-property-preview .map-preview-left {

    flex: 1 1 auto !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* BEDS / BATHS / SQFT */

body > #map-desktop-property-preview .map-preview-details {

    margin: 0 0 3px !important;
    padding: 0 !important;

    color: #111827 !important;

    font-size: 11px !important;
    line-height: 14px !important;

    font-weight: 700 !important;

    white-space: nowrap !important;
}


/* PRICE RIGHT */

body > #map-desktop-property-preview .map-preview-price {

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #111827 !important;

    font-size: 11px !important;
    line-height: 14px !important;

    font-weight: 700 !important;

    text-align: right !important;

    white-space: nowrap !important;
}


/* ADDRESS UNDER SPECS */

body > #map-desktop-property-preview .property-card-address {

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #6b7280 !important;

    font-size: 11px !important;
    line-height: 14px !important;

    font-weight: 400 !important;
}


body > #map-desktop-property-preview
.property-card-address-line1,
body > #map-desktop-property-preview
.property-card-address-line2 {

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #6b7280 !important;

    font-size: 11px !important;
    line-height: 14px !important;

    font-weight: 400 !important;

    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
}


/* REMOVE OLD TITLE IF ANY OLD CSS TRIES TO SHOW IT */

body > #map-desktop-property-preview .property-card-header {
    display: none !important;
}


/* ============================================================
   X — SMALL WHITE BUTTON OVER IMAGE TOP-RIGHT
   ============================================================ */

body > #map-desktop-property-preview .map-preview-close {

    position: absolute !important;

    top: 6px !important;
    right: 6px !important;

    z-index: 100 !important;

    width: 20px !important;
    height: 20px !important;

    min-width: 20px !important;
    min-height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #fff !important;

    color: #111827 !important;

    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;

    line-height: 20px !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;

    cursor: pointer !important;

    box-shadow: none !important;

    transition:
        opacity .12s ease,
        visibility .12s ease !important;
}


body > #map-desktop-property-preview
.map-preview-card:hover
.map-preview-close {

    opacity: 1 !important;

    visibility: visible !important;

    pointer-events: auto !important;
}


/* ============================================================
   ARROWS — OVER IMAGE, HOVER ONLY
   ============================================================ */

body > #map-desktop-property-preview
.map-preview-gallery-prev,
body > #map-desktop-property-preview
.map-preview-gallery-next {

    position: absolute !important;

    top: 50% !important;

    z-index: 90 !important;

    width: 24px !important;
    height: 24px !important;

    min-width: 24px !important;
    min-height: 24px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    transform: translateY(-50%) !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #111827 !important;

    font-family: Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;

    line-height: 24px !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;

    cursor: pointer !important;

    box-shadow: none !important;

    transition:
        opacity .12s ease,
        visibility .12s ease !important;
}


body > #map-desktop-property-preview
.map-preview-gallery-prev {

    left: 6px !important;
}


body > #map-desktop-property-preview
.map-preview-gallery-next {

    right: 6px !important;
}


body > #map-desktop-property-preview
.map-preview-card:hover
.map-preview-gallery-prev,
body > #map-desktop-property-preview
.map-preview-card:hover
.map-preview-gallery-next {

    opacity: 1 !important;

    visibility: visible !important;

    pointer-events: auto !important;
}


/* COUNTER */

body > #map-desktop-property-preview
.map-preview-gallery-counter {

    position: absolute !important;

    right: 7px !important;
    bottom: 7px !important;

    z-index: 80 !important;

    margin: 0 !important;
    padding: 3px 5px !important;

    border-radius: 999px !important;

    background: rgba(0,0,0,.55) !important;

    color: #fff !important;

    font-size: 9px !important;
    line-height: 11px !important;

    opacity: 0 !important;

    transition: opacity .12s ease !important;
}


body > #map-desktop-property-preview
.map-preview-card:hover
.map-preview-gallery-counter {

    opacity: 1 !important;
}


/* STATUS BADGE */

body > #map-desktop-property-preview
.property-badge {

    position: absolute !important;

    top: 7px !important;
    left: 7px !important;

    z-index: 80 !important;

    margin: 0 !important;
    padding: 3px 6px !important;

    border-radius: 999px !important;

    background: rgba(17,24,39,.78) !important;

    color: #fff !important;

    font-size: 9px !important;
    line-height: 10px !important;

    font-weight: 700 !important;
}



/* ============================================================
   DESKTOP PREVIEW — IMAGE MUST TOUCH CARD EDGES
   ============================================================ */

/* Remove Google Maps InfoWindow spacing around the card */
.gm-style .gm-style-iw-c {
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.gm-style .gm-style-iw-d {
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
}

.gm-style .gm-style-iw {
    padding: 0 !important;
    margin: 0 !important;
}

/* Remove the default InfoWindow close button/spacing */
.gm-style .gm-style-iw-tc {
    display: none !important;
}

/* Card itself starts exactly where the image starts */
body > #map-desktop-property-preview .map-preview-card,
#map-desktop-property-preview .map-preview-card,
.gm-style .map-preview-card {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #fff !important;
    box-shadow: none !important;

    overflow: visible !important;
}

/* Image is literally the first element and fills the width */
body > #map-desktop-property-preview .map-preview-image,
#map-desktop-property-preview .map-preview-image,
.gm-style .map-preview-image {
    display: block !important;

    width: 280px !important;
    height: 220px !important;

    min-width: 280px !important;
    max-width: 280px !important;

    min-height: 220px !important;
    max-height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    box-sizing: border-box !important;

    position: relative !important;

    overflow: visible !important;

    background: transparent !important;
}

/* Gallery also starts at absolute top-left */
body > #map-desktop-property-preview .map-preview-gallery,
#map-desktop-property-preview .map-preview-gallery {
    width: 280px !important;
    height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;

    overflow: visible !important;

    box-sizing: border-box !important;
}

/* Photo fills every pixel of image area */
body > #map-desktop-property-preview .map-preview-gallery-image,
body > #map-desktop-property-preview .map-preview-image > img,
#map-desktop-property-preview .property-card-main-image,
.gm-style .map-preview-image .property-card-main-image {
    display: block !important;

    width: 280px !important;
    height: 220px !important;

    min-width: 280px !important;
    max-width: 280px !important;

    min-height: 220px !important;
    max-height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    object-fit: cover !important;

    box-sizing: border-box !important;
}

/* Info/content starts ONLY underneath the 220px image */
body > #map-desktop-property-preview .map-preview-info,
#map-desktop-property-preview .map-preview-info {
    width: 280px !important;

    margin: 0 !important;

    box-sizing: border-box !important;

    background: #fff !important;
}


/* ============================================================
   FINAL DESKTOP PREVIEW — IMAGE FIRST / OVERLAY CONTROLS
   ============================================================ */

/* Card has rounded corners but does NOT clip overlay controls */
body > #map-desktop-property-preview .map-preview-card,
#map-desktop-property-preview .map-preview-card,
.gm-style .map-preview-card {

    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 8px !important;

    background: #fff !important;

    box-shadow: none !important;

    overflow: visible !important;

    position: relative !important;
}


/* IMAGE IS THE VERY FIRST PIXEL OF THE CARD */

body > #map-desktop-property-preview .map-preview-image,
#map-desktop-property-preview .map-preview-image,
.gm-style .map-preview-image {

    width: 280px !important;
    height: 220px !important;

    min-width: 280px !important;
    max-width: 280px !important;

    min-height: 220px !important;
    max-height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;

    display: block !important;

    box-sizing: border-box !important;

    overflow: visible !important;

    background: transparent !important;

    border-radius: 8px 8px 0 0 !important;
}


/* GALLERY DOES NOT CREATE ANY TOP SPACING */

body > #map-desktop-property-preview .map-preview-gallery,
#map-desktop-property-preview .map-preview-gallery {

    position: relative !important;

    width: 280px !important;
    height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: block !important;

    box-sizing: border-box !important;

    overflow: visible !important;

    border-radius: 8px 8px 0 0 !important;
}


/* IMAGE ITSELF */

body > #map-desktop-property-preview
.map-preview-gallery-image,
body > #map-desktop-property-preview
.map-preview-image > img,
#map-desktop-property-preview .property-card-main-image,
.gm-style .map-preview-image .property-card-main-image {

    width: 280px !important;
    height: 220px !important;

    min-width: 280px !important;
    max-width: 280px !important;

    min-height: 220px !important;
    max-height: 220px !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    box-sizing: border-box !important;

    object-fit: cover !important;

    border-radius: 8px 8px 0 0 !important;
}


/* ============================================================
   X IS AN OVERLAY — IT TAKES ZERO LAYOUT SPACE
   ============================================================ */

body > #map-desktop-property-preview .map-preview-close {

    position: absolute !important;

    top: 6px !important;
    right: 6px !important;

    z-index: 999 !important;

    width: 19px !important;
    height: 19px !important;

    min-width: 19px !important;
    min-height: 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #fff !important;

    color: #111827 !important;

    font-family: Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;

    line-height: 19px !important;

    box-shadow: none !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;

    cursor: pointer !important;

    transition:
        opacity .12s ease,
        visibility .12s ease !important;
}


/* SHOW X ONLY WHEN CARD IS HOVERED */

body > #map-desktop-property-preview
.map-preview-card:hover
.map-preview-close {

    opacity: 1 !important;

    visibility: visible !important;

    pointer-events: auto !important;
}


/* ============================================================
   ARROWS ALSO OVERLAY THE IMAGE
   ============================================================ */

body > #map-desktop-property-preview
.map-preview-gallery-prev,
body > #map-desktop-property-preview
.map-preview-gallery-next {

    position: absolute !important;

    top: 50% !important;

    z-index: 998 !important;

    width: 23px !important;
    height: 23px !important;

    min-width: 23px !important;
    min-height: 23px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateY(-50%) !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #111827 !important;

    font-size: 17px !important;
    line-height: 23px !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;

    cursor: pointer !important;

    box-shadow: none !important;
}


body > #map-desktop-property-preview
.map-preview-gallery-prev {

    left: 6px !important;
}


body > #map-desktop-property-preview
.map-preview-gallery-next {

    right: 6px !important;
}


body > #map-desktop-property-preview
.map-preview-card:hover
.map-preview-gallery-prev,
body > #map-desktop-property-preview
.map-preview-card:hover
.map-preview-gallery-next {

    opacity: 1 !important;

    visibility: visible !important;

    pointer-events: auto !important;
}


/* CONTENT UNDER IMAGE */

body > #map-desktop-property-preview .map-preview-info,
#map-desktop-property-preview .map-preview-info {

    width: 280px !important;

    margin: 0 !important;
    padding: 8px 9px 9px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border-radius: 0 0 8px 8px !important;

    box-shadow: none !important;
}


/* =========================================================
   DESKTOP MAP PREVIEW — TRUE EDGE-TO-EDGE CARD
   ========================================================= */

/* Remove Google Maps InfoWindow shell/padding */
.gm-style .gm-style-iw-c {
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 10px !important;
}

.gm-style .gm-style-iw-d {
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide Google's default InfoWindow close button */
.gm-style .gm-style-iw-chr {
    display: none !important;
}

/* Card itself */
body > #map-desktop-property-preview .map-preview-card,
#map-desktop-property-preview .map-preview-card,
.gm-style .map-preview-card {

    position: relative !important;

    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    height: 280px !important;
    min-height: 280px !important;
    max-height: 280px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    background: #fff !important;

    border-radius: 10px !important;

    box-sizing: border-box !important;

    box-shadow: 0 4px 18px rgba(0,0,0,.18) !important;
}

/* IMAGE MUST START AT ABSOLUTE TOP/LEFT/RIGHT */
body > #map-desktop-property-preview .map-preview-image,
#map-desktop-property-preview .map-preview-image,
.gm-style .map-preview-image {

    position: relative !important;

    display: block !important;

    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    top: 0 !important;
    left: 0 !important;
    right: 0 !important;

    overflow: hidden !important;

    border-radius: 10px 10px 0 0 !important;

    background: #eee !important;
}

/* Actual photo */
.gm-style .map-preview-image img,
.gm-style .map-preview-image .property-card-main-image,
.gm-style .map-preview-gallery-image {

    display: block !important;

    width: 280px !important;
    height: 220px !important;

    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;

    border: 0 !important;
}

/* Gallery must also touch all edges */
.gm-style .map-preview-gallery {

    position: relative !important;

    width: 280px !important;
    height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}

/* INFO AREA */
body > #map-desktop-property-preview .map-preview-info,
#map-desktop-property-preview .map-preview-info,
.gm-style .map-preview-info {

    width: 280px !important;

    height: 60px !important;

    margin: 0 !important;
    padding: 6px 9px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border-radius: 0 0 10px 10px !important;
}

/* Do not create a title row */
.gm-style .map-preview-info .property-card-header {

    display: flex !important;

    align-items: flex-start !important;
    justify-content: space-between !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Specs on LEFT */
.gm-style .map-preview-details {

    position: absolute !important;

    left: 9px !important;
    bottom: 32px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 13px !important;

    font-weight: 700 !important;

    color: #111827 !important;
}

/* PRICE on RIGHT */
.gm-style .property-card-header strong {

    position: absolute !important;

    right: 9px !important;
    bottom: 32px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 13px !important;

    font-weight: 700 !important;

    color: #111827 !important;
}

/* Hide title in this compact map card */
.gm-style .map-preview-info .property-card-header h3 {
    display: none !important;
}

/* ADDRESS UNDER SPECS */
.gm-style .map-preview-info .property-card-address {

    position: absolute !important;

    left: 9px !important;
    right: 9px !important;
    bottom: 6px !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 13px !important;

    font-weight: 400 !important;

    color: #6b7280 !important;
}

/* Two address lines */
.gm-style .property-card-address-line1,
.gm-style .property-card-address-line2 {

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 13px !important;

    font-weight: 400 !important;
}

/* SMALL WHITE X — OVER IMAGE CORNER */
.gm-style .map-preview-close {

    position: absolute !important;

    top: 7px !important;
    right: 7px !important;

    z-index: 9999 !important;

    display: flex !important;

    width: 20px !important;
    height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #fff !important;

    color: #111827 !important;

    font-size: 14px !important;
    line-height: 20px !important;

    cursor: pointer !important;

    box-shadow: 0 1px 4px rgba(0,0,0,.20) !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;
}

/* X appears when card is hovered */
.gm-style .map-preview-card:hover .map-preview-close {

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: auto !important;
}

/* ARROWS OVER IMAGE */
.gm-style .map-preview-gallery-prev,
.gm-style .map-preview-gallery-next {

    position: absolute !important;

    top: 110px !important;

    z-index: 9998 !important;

    width: 24px !important;
    height: 24px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    transform: translateY(-50%) !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #111827 !important;

    font-size: 18px !important;
    line-height: 1 !important;

    cursor: pointer !important;

    pointer-events: auto !important;
}

.gm-style .map-preview-gallery-prev {
    left: 7px !important;
}

.gm-style .map-preview-gallery-next {
    right: 7px !important;
}


/* =========================================================
   DESKTOP PREVIEW — FINAL COMPACT CARD
   280 x 210 / IMAGE 280 x 150
   ========================================================= */

.gm-style .map-preview-card,
#map-desktop-property-preview .map-preview-card {

    position: relative !important;

    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    background: #fff !important;

    border-radius: 10px !important;

    box-sizing: border-box !important;
}

/* IMAGE — FLUSH TO TOP/LEFT/RIGHT */

.gm-style .map-preview-image,
#map-desktop-property-preview .map-preview-image {

    position: relative !important;

    width: 280px !important;
    height: 150px !important;

    margin: 0 !important;
    padding: 0 !important;

    top: 0 !important;
    left: 0 !important;

    overflow: hidden !important;

    border-radius: 10px 10px 0 0 !important;

    background: #eee !important;
}

.gm-style .map-preview-gallery {

    position: relative !important;

    width: 280px !important;
    height: 150px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}

.gm-style .map-preview-image img,
.gm-style .map-preview-image .property-card-main-image,
.gm-style .map-preview-gallery-image {

    display: block !important;

    width: 280px !important;
    height: 150px !important;

    margin: 0 !important;
    padding: 0 !important;

    max-width: none !important;

    object-fit: cover !important;

    border: 0 !important;
}

/* REMOVE STATUS PILL */

.gm-style .map-preview-image .property-badge,
#map-desktop-property-preview .map-preview-image .property-badge {

    display: none !important;
}

/* INFO AREA */

.gm-style .map-preview-info,
#map-desktop-property-preview .map-preview-info {

    position: relative !important;

    width: 280px !important;
    height: 60px !important;

    margin: 0 !important;
    padding: 6px 9px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border-radius: 0 0 10px 10px !important;
}

/* DON'T SHOW PROPERTY TITLE */

.gm-style .map-preview-info .property-card-header h3 {

    display: none !important;
}

/* HEADER HAS NO EXTRA SPACING */

.gm-style .map-preview-info .property-card-header {

    display: block !important;

    width: 100% !important;

    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* BEDS / BATHS / SQFT — LEFT */

.gm-style .map-preview-details {

    position: absolute !important;

    top: 6px !important;
    left: 9px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 13px !important;

    font-weight: 700 !important;

    color: #111827 !important;

    white-space: nowrap !important;
}

/* PRICE — RIGHT */

.gm-style .map-preview-info .property-card-header strong {

    position: absolute !important;

    top: 6px !important;
    right: 9px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 13px !important;

    font-weight: 700 !important;

    color: #111827 !important;

    white-space: nowrap !important;
}

/* ADDRESS — UNDER SPECS */

.gm-style .map-preview-info .property-card-address {

    position: absolute !important;

    left: 9px !important;
    right: 9px !important;
    top: 23px !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 13px !important;

    font-weight: 400 !important;

    color: #6b7280 !important;
}

/* TWO ADDRESS LINES */

.gm-style .map-preview-info .property-card-address-line1,
.gm-style .map-preview-info .property-card-address-line2 {

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 13px !important;

    font-weight: 400 !important;

    color: #6b7280 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* =========================================================
   X — OVERLAPPING IMAGE CORNER
   ========================================================= */

.gm-style .map-preview-close {

    position: absolute !important;

    top: 6px !important;
    right: 6px !important;

    z-index: 99999 !important;

    width: 19px !important;
    height: 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #fff !important;

    color: #111827 !important;

    font-size: 13px !important;
    line-height: 19px !important;

    box-shadow: 0 1px 4px rgba(0,0,0,.2) !important;

    cursor: pointer !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;
}

.gm-style .map-preview-card:hover .map-preview-close {

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: auto !important;
}

/* =========================================================
   ARROWS — OVER IMAGE
   ========================================================= */

.gm-style .map-preview-gallery-prev,
.gm-style .map-preview-gallery-next {

    position: absolute !important;

    top: 75px !important;

    z-index: 99998 !important;

    width: 23px !important;
    height: 23px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    transform: translateY(-50%) !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #111827 !important;

    font-size: 17px !important;
    line-height: 1 !important;

    cursor: pointer !important;

    opacity: 0 !important;

    pointer-events: none !important;
}

.gm-style .map-preview-gallery-prev {
    left: 7px !important;
}

.gm-style .map-preview-gallery-next {
    right: 7px !important;
}

.gm-style .map-preview-card:hover .map-preview-gallery-prev,
.gm-style .map-preview-card:hover .map-preview-gallery-next {

    opacity: 1 !important;

    pointer-events: auto !important;
}

/* GOOGLE INFO WINDOW — NO WHITE SHELL ABOVE CARD */

.gm-style .gm-style-iw-c {

    padding: 0 !important;
    overflow: visible !important;

    border-radius: 10px !important;
}

.gm-style .gm-style-iw-d {

    padding: 0 !important;
    margin: 0 !important;

    overflow: visible !important;
}

.gm-style .gm-style-iw-chr {

    display: none !important;
}


/* ============================================================
   DESKTOP MAP PREVIEW — FINAL CLEAN 4:3
   IMAGE: 250 x 188
   NO CARD-IN-CARD SHELL
   ============================================================ */

@media (min-width: 901px) {

    /* Google Maps outer shell */
    .gm-style .gm-style-iw-c {
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        overflow: visible !important;
    }

    .gm-style .gm-style-iw-d {
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .gm-style .gm-style-iw {
        padding: 0 !important;
        margin: 0 !important;
    }

    .gm-style .gm-style-iw-tc,
    .gm-style .gm-style-iw-chr {
        display: none !important;
    }


    /* ========================================================
       CARD — NO EXTRA FRAME
       ======================================================== */

    #map-desktop-property-preview .map-preview-card,
    .gm-style .map-preview-card {

        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 10px !important;

        background: #fff !important;

        box-shadow: 0 4px 16px rgba(0,0,0,.16) !important;

        overflow: hidden !important;

        box-sizing: border-box !important;

        position: relative !important;
    }


    /* ========================================================
       IMAGE — EXACT 250 x 188 / 4:3
       ======================================================== */

    #map-desktop-property-preview .map-preview-image,
    .gm-style .map-preview-image {

        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;

        height: 188px !important;
        min-height: 188px !important;
        max-height: 188px !important;

        margin: 0 !important;
        padding: 0 !important;

        position: relative !important;

        overflow: hidden !important;

        box-sizing: border-box !important;

        border-radius: 10px 10px 0 0 !important;

        background: #eee !important;
    }


    /* Actual image */

    #map-desktop-property-preview .property-card-main-image,
    .gm-style .map-preview-image img,
    .gm-style .map-preview-image .property-card-main-image,
    .gm-style .map-preview-gallery-image {

        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;

        height: 188px !important;
        min-height: 188px !important;
        max-height: 188px !important;

        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        object-fit: cover !important;

        box-sizing: border-box !important;
    }


    /* Gallery */

    #map-desktop-property-preview .map-preview-gallery,
    .gm-style .map-preview-gallery {

        width: 250px !important;
        height: 188px !important;

        margin: 0 !important;
        padding: 0 !important;

        position: relative !important;

        overflow: hidden !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       INFO — SAME TEXT, JUST UNDER IMAGE
       ======================================================== */

    #map-desktop-property-preview .map-preview-info,
    .gm-style .map-preview-info {

        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;

        padding: 8px 9px 9px !important;

        box-sizing: border-box !important;

        background: #fff !important;

        border: 0 !important;

        border-radius: 0 0 10px 10px !important;

        box-shadow: none !important;
    }


    /* Specs left / price right */

    #map-desktop-property-preview .map-preview-bottom-row,
    .gm-style .map-preview-bottom-row {

        display: flex !important;

        align-items: flex-start !important;
        justify-content: space-between !important;

        width: 100% !important;

        gap: 8px !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;
    }


    #map-desktop-property-preview .map-preview-left,
    .gm-style .map-preview-left {

        flex: 1 1 auto !important;

        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Details */

    #map-desktop-property-preview .map-preview-details,
    .gm-style .map-preview-details {

        margin: 0 0 3px !important;
        padding: 0 !important;

        font-size: 11px !important;
        line-height: 14px !important;

        font-weight: 700 !important;

        color: #111827 !important;

        white-space: nowrap !important;

        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }


    /* Price */

    #map-desktop-property-preview .map-preview-price,
    .gm-style .map-preview-price {

        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 11px !important;
        line-height: 14px !important;

        font-weight: 700 !important;

        color: #111827 !important;

        white-space: nowrap !important;

        text-align: right !important;
    }


    /* Address */

    #map-desktop-property-preview .property-card-address,
    .gm-style .property-card-address {

        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 11px !important;
        line-height: 14px !important;

        font-weight: 400 !important;

        color: #6b7280 !important;
    }


    #map-desktop-property-preview .property-card-address-line1,
    #map-desktop-property-preview .property-card-address-line2,
    .gm-style .property-card-address-line1,
    .gm-style .property-card-address-line2 {

        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 11px !important;
        line-height: 14px !important;

        font-weight: 400 !important;

        color: #6b7280 !important;

        white-space: nowrap !important;

        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }


    /* ========================================================
       HIDE TITLE — PREVIEW USES SPECS + PRICE + ADDRESS
       ======================================================== */

    #map-desktop-property-preview .property-card-header h3,
    .gm-style .map-preview-info .property-card-header h3 {

        display: none !important;
    }


    /* ========================================================
       STATUS — HIDDEN
       ======================================================== */

    #map-desktop-property-preview .property-badge,
    .gm-style .map-preview-image .property-badge {

        display: none !important;
    }


    /* ========================================================
       CLOSE BUTTON — OVER IMAGE
       ======================================================== */

    #map-desktop-property-preview .map-preview-close,
    .gm-style .map-preview-close {

        position: absolute !important;

        top: 6px !important;
        right: 6px !important;

        z-index: 100 !important;

        width: 19px !important;
        height: 19px !important;

        min-width: 19px !important;
        min-height: 19px !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        border: 0 !important;
        border-radius: 50% !important;

        background: #fff !important;

        color: #111827 !important;

        font-size: 13px !important;
        line-height: 19px !important;

        box-shadow: 0 1px 4px rgba(0,0,0,.18) !important;
    }


    /* ========================================================
       GALLERY ARROWS — OVERLAY ONLY
       ======================================================== */

    #map-desktop-property-preview .map-preview-gallery-prev,
    #map-desktop-property-preview .map-preview-gallery-next,
    .gm-style .map-preview-gallery-prev,
    .gm-style .map-preview-gallery-next {

        position: absolute !important;

        top: 50% !important;

        width: 23px !important;
        height: 23px !important;

        min-width: 23px !important;
        min-height: 23px !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        transform: translateY(-50%) !important;

        border: 0 !important;
        border-radius: 50% !important;

        background: rgba(255,255,255,.94) !important;

        color: #111827 !important;

        font-size: 17px !important;
        line-height: 23px !important;

        z-index: 90 !important;
    }


    #map-desktop-property-preview .map-preview-gallery-prev,
    .gm-style .map-preview-gallery-prev {
        left: 6px !important;
    }


    #map-desktop-property-preview .map-preview-gallery-next,
    .gm-style .map-preview-gallery-next {
        right: 6px !important;
    }

}

/* ============================================================
   FINAL OVERRIDE — DESKTOP PROPERTY MAP PREVIEW
   Card: 280px wide
   Image: 280px × 220px
   Info: auto height
   ============================================================ */

body > #map-desktop-property-preview .map-preview-card,
#map-desktop-property-preview .map-preview-card,
.gm-style .map-preview-card {

    position: relative !important;

    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    overflow: visible !important;

    background: #fff !important;

    border: 0 !important;
    border-radius: 10px !important;

    box-shadow: 0 4px 18px rgba(0,0,0,.18) !important;
}


/* IMAGE */

body > #map-desktop-property-preview .map-preview-image,
#map-desktop-property-preview .map-preview-image,
.gm-style .map-preview-image {

    position: relative !important;

    display: block !important;

    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    overflow: hidden !important;

    background: #eee !important;

    border-radius: 10px 10px 0 0 !important;
}


/* GALLERY */

body > #map-desktop-property-preview .map-preview-gallery,
#map-desktop-property-preview .map-preview-gallery,
.gm-style .map-preview-gallery {

    position: relative !important;

    display: block !important;

    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    overflow: hidden !important;

    border-radius: 10px 10px 0 0 !important;
}


/* ACTUAL IMAGE */

body > #map-desktop-property-preview .map-preview-image > img,
body > #map-desktop-property-preview .map-preview-gallery-image,
#map-desktop-property-preview .property-card-main-image,
.gm-style .map-preview-image img,
.gm-style .map-preview-image .property-card-main-image,
.gm-style .map-preview-gallery-image {

    display: block !important;

    width: 280px !important;
    min-width: 280px !important;
    max-width: none !important;

    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    border: 0 !important;

    object-fit: cover !important;
}


/* INFO */

body > #map-desktop-property-preview .map-preview-info,
#map-desktop-property-preview .map-preview-info,
.gm-style .map-preview-info {

    position: relative !important;

    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;

    padding: 8px 9px 9px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border-radius: 0 0 10px 10px !important;

    box-shadow: none !important;
}


/* BOTTOM ROW */

body > #map-desktop-property-preview .map-preview-bottom-row,
#map-desktop-property-preview .map-preview-bottom-row,
.gm-style .map-preview-bottom-row {

    display: flex !important;

    align-items: flex-start !important;
    justify-content: space-between !important;

    width: 100% !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* LEFT SPECS */

body > #map-desktop-property-preview .map-preview-left,
#map-desktop-property-preview .map-preview-left,
.gm-style .map-preview-left {

    flex: 1 1 auto !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* DETAILS */

body > #map-desktop-property-preview .map-preview-details,
#map-desktop-property-preview .map-preview-details,
.gm-style .map-preview-details {

    margin: 0 0 3px !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 14px !important;

    font-weight: 700 !important;

    color: #111827 !important;

    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
}


/* PRICE */

body > #map-desktop-property-preview .map-preview-price,
#map-desktop-property-preview .map-preview-price,
.gm-style .map-preview-price {

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 14px !important;

    font-weight: 700 !important;

    color: #111827 !important;

    white-space: nowrap !important;

    text-align: right !important;
}


/* ADDRESS */

body > #map-desktop-property-preview .property-card-address,
#map-desktop-property-preview .property-card-address,
.gm-style .property-card-address {

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 14px !important;

    font-weight: 400 !important;

    color: #6b7280 !important;
}


body > #map-desktop-property-preview .property-card-address-line1,
body > #map-desktop-property-preview .property-card-address-line2,
#map-desktop-property-preview .property-card-address-line1,
#map-desktop-property-preview .property-card-address-line2,
.gm-style .property-card-address-line1,
.gm-style .property-card-address-line2 {

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 14px !important;

    font-weight: 400 !important;

    color: #6b7280 !important;

    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
}


/* HIDE TITLE */

body > #map-desktop-property-preview .property-card-header h3,
#map-desktop-property-preview .property-card-header h3,
.gm-style .map-preview-info .property-card-header h3 {

    display: none !important;
}


/* HIDE STATUS */

body > #map-desktop-property-preview .property-badge,
#map-desktop-property-preview .property-badge,
.gm-style .map-preview-image .property-badge {

    display: none !important;
}


/* CLOSE BUTTON — OVER IMAGE */

body > #map-desktop-property-preview .map-preview-close,
#map-desktop-property-preview .map-preview-close,
.gm-style .map-preview-close {

    position: absolute !important;

    top: 6px !important;
    right: 6px !important;

    z-index: 1000 !important;

    width: 19px !important;
    height: 19px !important;

    min-width: 19px !important;
    min-height: 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #fff !important;

    color: #111827 !important;

    font-size: 13px !important;
    line-height: 19px !important;

    box-shadow: 0 1px 4px rgba(0,0,0,.18) !important;
}


/* GALLERY ARROWS — OVER IMAGE */

body > #map-desktop-property-preview .map-preview-gallery-prev,
body > #map-desktop-property-preview .map-preview-gallery-next,
#map-desktop-property-preview .map-preview-gallery-prev,
#map-desktop-property-preview .map-preview-gallery-next,
.gm-style .map-preview-gallery-prev,
.gm-style .map-preview-gallery-next {

    position: absolute !important;

    top: 50% !important;

    width: 23px !important;
    height: 23px !important;

    min-width: 23px !important;
    min-height: 23px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    transform: translateY(-50%) !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #111827 !important;

    font-size: 17px !important;
    line-height: 23px !important;

    z-index: 900 !important;
}


body > #map-desktop-property-preview .map-preview-gallery-prev,
#map-desktop-property-preview .map-preview-gallery-prev,
.gm-style .map-preview-gallery-prev {

    left: 6px !important;
}


body > #map-desktop-property-preview .map-preview-gallery-next,
#map-desktop-property-preview .map-preview-gallery-next,
.gm-style .map-preview-gallery-next {

    right: 6px !important;
}


/* GOOGLE INFOWINDOW SHELL */

.gm-style .gm-style-iw-c {

    padding: 0 !important;
    margin: 0 !important;

    border-radius: 10px !important;

    box-shadow: none !important;
}


.gm-style .gm-style-iw-d {

    overflow: visible !important;

    padding: 0 !important;
    margin: 0 !important;
}


.gm-style .gm-style-iw {

    padding: 0 !important;
    margin: 0 !important;
}


.gm-style .gm-style-iw-tc {

    display: none !important;
}


.gm-style .gm-style-iw-chr {

    display: none !important;
}


/* =========================================================
   FINAL MAP PREVIEW OVERRIDE
   Card: 280 x 210
   Image: 280 x 130
   Info: 280 x 80
   ========================================================= */

.gm-style .map-preview-card,
#map-desktop-property-preview .map-preview-card {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    background: #fff !important;
    border-radius: 10px !important;
    position: relative !important;
}

.gm-style .map-preview-image,
#map-desktop-property-preview .map-preview-image {
    width: 280px !important;
    height: 130px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    min-height: 130px !important;
    max-height: 130px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 10px 10px 0 0 !important;
    background: #eee !important;
}

.gm-style .map-preview-gallery,
#map-desktop-property-preview .map-preview-gallery {
    width: 280px !important;
    height: 130px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    min-height: 130px !important;
    max-height: 130px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.gm-style .map-preview-image img,
.gm-style .map-preview-image .property-card-main-image,
.gm-style .map-preview-gallery-image,
#map-desktop-property-preview .map-preview-image img,
#map-desktop-property-preview .map-preview-gallery-image {
    display: block !important;
    width: 280px !important;
    height: 130px !important;
    min-width: 280px !important;
    max-width: none !important;
    min-height: 130px !important;
    max-height: 130px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: cover !important;
    box-sizing: border-box !important;
}

.gm-style .map-preview-info,
#map-desktop-property-preview .map-preview-info {
    width: 280px !important;
    height: 80px !important;
    min-height: 80px !important;
    max-height: 80px !important;
    margin: 0 !important;
    padding: 7px 9px 8px !important;
    box-sizing: border-box !important;
    display: block !important;
    background: #fff !important;
    border-radius: 0 0 10px 10px !important;
    overflow: hidden !important;
}

.gm-style .map-preview-bottom-row,
#map-desktop-property-preview .map-preview-bottom-row {
    width: 100% !important;
    height: 16px !important;
    min-height: 16px !important;
    margin: 0 0 3px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    box-sizing: border-box !important;
}

.gm-style .map-preview-left,
#map-desktop-property-preview .map-preview-left {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gm-style .map-preview-details,
#map-desktop-property-preview .map-preview-details {
    display: block !important;
    width: 100% !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.gm-style .map-preview-price,
#map-desktop-property-preview .map-preview-price {
    flex: 0 0 auto !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    white-space: nowrap !important;
    text-align: right !important;
}

.gm-style .property-card-address,
#map-desktop-property-preview .property-card-address {
    display: block !important;
    width: 100% !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 15px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
    overflow: hidden !important;
}

.gm-style .property-card-address-line1,
.gm-style .property-card-address-line2,
#map-desktop-property-preview .property-card-address-line1,
#map-desktop-property-preview .property-card-address-line2 {
    display: block !important;
    width: 100% !important;
    height: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 15px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.gm-style .map-preview-info .property-card-header h3,
#map-desktop-property-preview .property-card-header h3,
.gm-style .map-preview-image .property-badge,
#map-desktop-property-preview .map-preview-image .property-badge {
    display: none !important;
}

.gm-style .map-preview-close,
#map-desktop-property-preview .map-preview-close {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    z-index: 1000 !important;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    min-height: 19px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 19px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.18) !important;
}


/* =========================================================
   MAP PREVIEW - SHORTER IMAGE / SAME CARD WIDTH
   ========================================================= */

.gm-style .map-preview-card,
#map-desktop-property-preview .map-preview-card {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
}

/* Shorter image, same 280px card width */
.gm-style .map-preview-image,
#map-desktop-property-preview .map-preview-image,
.gm-style .map-preview-gallery,
#map-desktop-property-preview .map-preview-gallery {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    height: 110px !important;
    min-height: 110px !important;
    max-height: 110px !important;
}

/* Actual image */
.gm-style .map-preview-image img,
.gm-style .map-preview-image .property-card-main-image,
.gm-style .map-preview-gallery-image,
#map-desktop-property-preview .map-preview-image img,
#map-desktop-property-preview .map-preview-gallery-image {
    width: 280px !important;
    min-width: 280px !important;
    max-width: none !important;
    height: 110px !important;
    min-height: 110px !important;
    max-height: 110px !important;
    object-fit: cover !important;
}

/* Info remains 80px */
.gm-style .map-preview-info,
#map-desktop-property-preview .map-preview-info {
    width: 280px !important;
    height: 80px !important;
    min-height: 80px !important;
    max-height: 80px !important;
    padding: 7px 9px 8px !important;
    box-sizing: border-box !important;
}

/* Specs + address should stack vertically */
.gm-style .map-preview-info .map-preview-bottom-row,
#map-desktop-property-preview .map-preview-info .map-preview-bottom-row {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 8px !important;
    row-gap: 2px !important;
    align-items: start !important;
}

/* Left side contains specs + address */
.gm-style .map-preview-info .map-preview-left,
#map-desktop-property-preview .map-preview-info .map-preview-left {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
}

/* Specs */
.gm-style .map-preview-info .map-preview-details,
#map-desktop-property-preview .map-preview-info .map-preview-details {
    width: 100% !important;
    height: 16px !important;
    min-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 16px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Address */
.gm-style .map-preview-info .property-card-address,
#map-desktop-property-preview .map-preview-info .property-card-address {
    width: 100% !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 15px !important;
    overflow: hidden !important;
}

/* Address lines */
.gm-style .map-preview-info .property-card-address-line1,
.gm-style .map-preview-info .property-card-address-line2,
#map-desktop-property-preview .map-preview-info .property-card-address-line1,
#map-desktop-property-preview .map-preview-info .property-card-address-line2 {
    width: 100% !important;
    height: 15px !important;
    min-height: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 15px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Price stays at the top-right */
.gm-style .map-preview-info .map-preview-price,
#map-desktop-property-preview .map-preview-info .map-preview-price {
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 16px !important;
    white-space: nowrap !important;
    text-align: right !important;
}


/* ============================================================
   DESKTOP MAP INFOWINDOW — FINAL WIDTH CONTROL
   ============================================================ */

.gm-style .map-preview-card {
    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.gm-style .map-preview-image {
    width: 298px !important;
    height: 190px !important;
    box-sizing: border-box !important;
}

.gm-style .map-preview-info {
    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;
    box-sizing: border-box !important;
}

.gm-style .map-preview-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}


/* ============================================================
   DESKTOP MAP PREVIEW — CARD / GALLERY
   ============================================================ */

.gm-style .map-preview-card {
    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
    overflow: hidden !important;

    background: #fff !important;
}

/* 2/3 IMAGE */

.gm-style .map-preview-image {
    position: relative !important;

    width: 298px !important;
    height: 190px !important;

    min-width: 298px !important;
    max-width: 298px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: #f3f3f3 !important;

    box-sizing: border-box !important;
}

.gm-style .map-preview-image .property-card-main-image {
    display: block !important;

    width: 298px !important;
    height: 190px !important;

    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;

    user-select: none !important;
    -webkit-user-drag: none !important;
}

/* 1/3 WHITE CONTENT */

.gm-style .map-preview-info {
    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;

    min-height: 95px !important;

    margin: 0 !important;
    padding: 9px 10px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border-radius: 0 !important;

    box-shadow: none !important;
}

/* CLOSE BUTTON — IMAGE HOVER */

.gm-style .map-preview-close {
    position: absolute !important;

    top: 7px !important;
    right: 7px !important;

    z-index: 20 !important;

    width: 24px !important;
    height: 24px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #111827 !important;

    font-size: 16px !important;
    line-height: 24px !important;

    opacity: 0 !important;
    pointer-events: none !important;

    cursor: pointer !important;

    box-shadow: 0 1px 5px rgba(0,0,0,.22) !important;

    transition: opacity .15s ease !important;
}

.gm-style .map-preview-image:hover .map-preview-close {
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* GALLERY ARROWS */

.gm-style .map-preview-gallery-prev,
.gm-style .map-preview-gallery-next {
    position: absolute !important;

    top: 50% !important;

    z-index: 15 !important;

    width: 26px !important;
    height: 26px !important;

    min-width: 26px !important;
    min-height: 26px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    transform: translateY(-50%) !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #111827 !important;

    font-size: 23px !important;
    line-height: 24px !important;

    cursor: pointer !important;

    box-shadow: 0 1px 5px rgba(0,0,0,.20) !important;
}

.gm-style .map-preview-gallery-prev {
    left: 7px !important;
}

.gm-style .map-preview-gallery-next {
    right: 7px !important;
}

.gm-style .map-preview-gallery-prev:hover,
.gm-style .map-preview-gallery-next:hover {
    background: #fff !important;
}

/* PHOTO COUNTER */

.gm-style .map-preview-gallery-counter {
    position: absolute !important;

    left: 50% !important;
    bottom: 7px !important;

    z-index: 15 !important;

    transform: translateX(-50%) !important;

    padding: 3px 7px !important;

    border-radius: 10px !important;

    background: rgba(0,0,0,.62) !important;

    color: #fff !important;

    font-size: 10px !important;
    line-height: 13px !important;

    pointer-events: none !important;
}

/* BADGE HIDDEN — CLEAN GALLERY */

.gm-style .map-preview-image .property-badge {
    display: none !important;
}


/* ============================================================
   DESKTOP MAP PREVIEW — FINAL DIMENSIONS
   ============================================================ */

.gm-style .map-preview-card {
    width: 298px !important;
    height: 285px !important;
    min-height: 285px !important;
    max-height: 285px !important;
}

.gm-style .map-preview-image {
    width: 298px !important;
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
}

.gm-style .map-preview-info {
    width: 298px !important;
    height: 95px !important;
    min-height: 95px !important;
    max-height: 95px !important;

    overflow: hidden !important;
}

.gm-style .map-preview-image img.property-card-main-image {
    width: 298px !important;
    height: 190px !important;

    object-fit: cover !important;
}


/* ============================================================
   FINAL — DESKTOP MAP PREVIEW CARD DESIGN
   ============================================================ */

.gm-style .map-preview-card,
#map-desktop-property-preview .map-preview-card {
    position: relative !important;

    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;

    height: 285px !important;
    min-height: 285px !important;
    max-height: 285px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
    overflow: hidden !important;

    background: #fff !important;

    border: 0 !important;
    border-radius: 12px !important;

    box-shadow: 0 6px 22px rgba(0,0,0,.20) !important;
}


/* ------------------------------------------------------------
   IMAGE AREA
   ------------------------------------------------------------ */

.gm-style .map-preview-image,
#map-desktop-property-preview .map-preview-image {

    position: relative !important;

    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;

    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
    overflow: hidden !important;

    background: #f3f4f6 !important;

    border-radius: 12px 12px 0 0 !important;
}


/* Gallery wrapper */

.gm-style .map-preview-gallery,
#map-desktop-property-preview .map-preview-gallery {

    position: relative !important;

    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;

    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
    overflow: hidden !important;

    border-radius: 12px 12px 0 0 !important;
}


/* Actual property image */

.gm-style .map-preview-image img,
.gm-style .map-preview-image .property-card-main-image,
.gm-style .map-preview-gallery-image,
#map-desktop-property-preview .map-preview-image img,
#map-desktop-property-preview .property-card-main-image,
#map-desktop-property-preview .map-preview-gallery-image {

    display: block !important;

    width: 298px !important;
    min-width: 298px !important;
    max-width: none !important;

    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    border: 0 !important;

    object-fit: cover !important;

    user-select: none !important;
    -webkit-user-drag: none !important;
}


/* ------------------------------------------------------------
   INFO AREA
   ------------------------------------------------------------ */

.gm-style .map-preview-info,
#map-desktop-property-preview .map-preview-info {

    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;

    height: 95px !important;
    min-height: 95px !important;
    max-height: 95px !important;

    margin: 0 !important;
    padding: 9px 11px 8px !important;

    box-sizing: border-box !important;

    display: block !important;

    background: #fff !important;

    border-radius: 0 0 12px 12px !important;

    overflow: hidden !important;
}


/* ------------------------------------------------------------
   DETAILS + PRICE
   ------------------------------------------------------------ */

.gm-style .map-preview-bottom-row,
#map-desktop-property-preview .map-preview-bottom-row {

    width: 100% !important;
    height: 18px !important;
    min-height: 18px !important;

    margin: 0 0 4px !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 8px !important;

    box-sizing: border-box !important;
}


.gm-style .map-preview-left,
#map-desktop-property-preview .map-preview-left {

    flex: 1 1 auto !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


.gm-style .map-preview-details,
#map-desktop-property-preview .map-preview-details {

    display: block !important;

    width: 100% !important;

    height: 18px !important;
    min-height: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 12px !important;
    line-height: 18px !important;

    font-weight: 700 !important;

    color: #111827 !important;

    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
}


.gm-style .map-preview-price,
#map-desktop-property-preview .map-preview-price {

    flex: 0 0 auto !important;

    height: 18px !important;
    min-height: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 12px !important;
    line-height: 18px !important;

    font-weight: 700 !important;

    color: #111827 !important;

    white-space: nowrap !important;

    text-align: right !important;
}


/* ------------------------------------------------------------
   ADDRESS
   ------------------------------------------------------------ */

.gm-style .property-card-address,
#map-desktop-property-preview .property-card-address {

    display: block !important;

    width: 100% !important;

    height: 34px !important;
    min-height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 16px !important;

    font-weight: 400 !important;

    color: #6b7280 !important;

    overflow: hidden !important;
}


.gm-style .property-card-address-line1,
.gm-style .property-card-address-line2,
#map-desktop-property-preview .property-card-address-line1,
#map-desktop-property-preview .property-card-address-line2 {

    display: block !important;

    width: 100% !important;

    height: 16px !important;
    min-height: 16px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 16px !important;

    font-weight: 400 !important;

    color: #6b7280 !important;

    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
}


/* Hide old title/badge inside the preview */

.gm-style .map-preview-info .property-card-header h3,
#map-desktop-property-preview .map-preview-info .property-card-header h3,
.gm-style .map-preview-image .property-badge,
#map-desktop-property-preview .map-preview-image .property-badge {

    display: none !important;
}


/* ------------------------------------------------------------
   CLOSE BUTTON
   ------------------------------------------------------------ */

.gm-style .map-preview-close,
#map-desktop-property-preview .map-preview-close {

    position: absolute !important;

    top: 8px !important;
    right: 8px !important;

    z-index: 1000 !important;

    width: 25px !important;
    height: 25px !important;

    min-width: 25px !important;
    min-height: 25px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.95) !important;

    color: #111827 !important;

    font-size: 17px !important;
    line-height: 25px !important;

    cursor: pointer !important;

    box-shadow: 0 1px 6px rgba(0,0,0,.22) !important;

    opacity: 0 !important;
    pointer-events: none !important;

    transition:
        opacity .15s ease,
        transform .15s ease !important;
}


.gm-style .map-preview-image:hover .map-preview-close,
#map-desktop-property-preview .map-preview-image:hover .map-preview-close {

    opacity: 1 !important;
    pointer-events: auto !important;
}


.gm-style .map-preview-close:hover,
#map-desktop-property-preview .map-preview-close:hover {

    transform: scale(1.05) !important;

    background: #fff !important;
}


/* ------------------------------------------------------------
   GALLERY ARROWS
   ------------------------------------------------------------ */

.gm-style .map-preview-gallery-prev,
.gm-style .map-preview-gallery-next,
#map-desktop-property-preview .map-preview-gallery-prev,
#map-desktop-property-preview .map-preview-gallery-next {

    position: absolute !important;

    top: 50% !important;

    z-index: 900 !important;

    width: 28px !important;
    height: 28px !important;

    min-width: 28px !important;
    min-height: 28px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    transform: translateY(-50%) !important;

    box-sizing: border-box !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #111827 !important;

    font-size: 23px !important;
    line-height: 28px !important;

    cursor: pointer !important;

    box-shadow: 0 1px 5px rgba(0,0,0,.20) !important;
}


.gm-style .map-preview-gallery-prev,
#map-desktop-property-preview .map-preview-gallery-prev {
    left: 8px !important;
}


.gm-style .map-preview-gallery-next,
#map-desktop-property-preview .map-preview-gallery-next {
    right: 8px !important;
}


.gm-style .map-preview-gallery-prev:hover,
.gm-style .map-preview-gallery-next:hover,
#map-desktop-property-preview .map-preview-gallery-prev:hover,
#map-desktop-property-preview .map-preview-gallery-next:hover {

    background: #fff !important;
}


/* ------------------------------------------------------------
   PHOTO COUNTER
   ------------------------------------------------------------ */

.gm-style .map-preview-gallery-counter,
#map-desktop-property-preview .map-preview-gallery-counter {

    position: absolute !important;

    left: 50% !important;
    bottom: 8px !important;

    z-index: 900 !important;

    transform: translateX(-50%) !important;

    padding: 3px 8px !important;

    border-radius: 10px !important;

    background: rgba(0,0,0,.62) !important;

    color: #fff !important;

    font-size: 10px !important;
    line-height: 13px !important;

    pointer-events: none !important;

    white-space: nowrap !important;
}


/* ============================================================
   DESKTOP MAP PREVIEW — AUTHORITATIVE FINAL DESIGN
   ============================================================ */

.gm-style .map-preview-card,
#map-desktop-property-preview .map-preview-card {
    position: relative !important;

    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;

    height: 285px !important;
    min-height: 285px !important;
    max-height: 285px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    overflow: hidden !important;

    background: #fff !important;

    border: 0 !important;
    border-radius: 10px !important;

    box-shadow: 0 4px 18px rgba(0,0,0,.18) !important;
}


/* IMAGE */

.gm-style .map-preview-image,
#map-desktop-property-preview .map-preview-image {
    position: relative !important;

    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;

    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    overflow: hidden !important;

    background: #f3f4f6 !important;

    border-radius: 10px 10px 0 0 !important;
}


/* GALLERY */

.gm-style .map-preview-gallery,
#map-desktop-property-preview .map-preview-gallery {
    position: relative !important;

    width: 298px !important;
    height: 190px !important;

    min-width: 298px !important;
    max-width: 298px !important;

    min-height: 190px !important;
    max-height: 190px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    overflow: hidden !important;
}


/* MAIN IMAGE */

.gm-style .map-preview-image img,
.gm-style .map-preview-image .property-card-main-image,
.gm-style .map-preview-gallery-image,
#map-desktop-property-preview .map-preview-image img,
#map-desktop-property-preview .map-preview-gallery-image {
    display: block !important;

    width: 298px !important;
    min-width: 298px !important;
    max-width: none !important;

    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    border: 0 !important;

    object-fit: cover !important;
}


/* INFO */

.gm-style .map-preview-info,
#map-desktop-property-preview .map-preview-info {
    width: 298px !important;
    min-width: 298px !important;
    max-width: 298px !important;

    height: 95px !important;
    min-height: 95px !important;
    max-height: 95px !important;

    margin: 0 !important;
    padding: 9px 10px !important;

    box-sizing: border-box !important;

    display: block !important;

    background: #fff !important;

    border-radius: 0 0 10px 10px !important;

    overflow: hidden !important;
}


/* CLOSE BUTTON */

.gm-style .map-preview-close,
#map-desktop-property-preview .map-preview-close {
    position: absolute !important;

    top: 7px !important;
    right: 7px !important;

    z-index: 1000 !important;

    width: 24px !important;
    height: 24px !important;

    min-width: 24px !important;
    min-height: 24px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #111827 !important;

    font-size: 16px !important;
    line-height: 24px !important;

    cursor: pointer !important;

    box-shadow: 0 1px 5px rgba(0,0,0,.22) !important;
}


/* GALLERY ARROWS */

.gm-style .map-preview-gallery-prev,
.gm-style .map-preview-gallery-next,
#map-desktop-property-preview .map-preview-gallery-prev,
#map-desktop-property-preview .map-preview-gallery-next {
    position: absolute !important;

    top: 50% !important;

    z-index: 900 !important;

    width: 28px !important;
    height: 28px !important;

    min-width: 28px !important;
    min-height: 28px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    transform: translateY(-50%) !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255,255,255,.94) !important;

    color: #111827 !important;

    font-size: 22px !important;
    line-height: 28px !important;

    cursor: pointer !important;

    box-shadow: 0 1px 5px rgba(0,0,0,.20) !important;
}

.gm-style .map-preview-gallery-prev,
#map-desktop-property-preview .map-preview-gallery-prev {
    left: 7px !important;
}

.gm-style .map-preview-gallery-next,
#map-desktop-property-preview .map-preview-gallery-next {
    right: 7px !important;
}


/* PHOTO COUNTER */

.gm-style .map-preview-gallery-counter,
#map-desktop-property-preview .map-preview-gallery-counter {
    position: absolute !important;

    left: 50% !important;
    bottom: 7px !important;

    z-index: 900 !important;

    transform: translateX(-50%) !important;

    padding: 3px 8px !important;

    border-radius: 10px !important;

    background: rgba(0,0,0,.62) !important;

    color: #fff !important;

    font-size: 10px !important;
    line-height: 13px !important;

    pointer-events: none !important;

    white-space: nowrap !important;
}


/* CLEAN IMAGE */

.gm-style .map-preview-image .property-badge,
#map-desktop-property-preview .map-preview-image .property-badge {
    display: none !important;
}

/* ============================================================
   CANONICAL DESKTOP SEARCH-MAP PROPERTY PREVIEW
   ============================================================ */

@media (min-width: 901px) {

    /* CARD */

    .gm-style .map-preview-card,
    #map-desktop-property-preview .map-preview-card {

        position: relative !important;

        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;

        overflow: hidden !important;

        background: #fff !important;

        border: 1px solid rgba(17,24,39,.10) !important;
        border-radius: 12px !important;

        box-shadow: 0 4px 18px rgba(0,0,0,.16) !important;
    }


    /* IMAGE */

    .gm-style .map-preview-image,
    #map-desktop-property-preview .map-preview-image,
    .gm-style .map-preview-gallery,
    #map-desktop-property-preview .map-preview-gallery {

        position: relative !important;

        display: block !important;

        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;

        height: 190px !important;
        min-height: 190px !important;
        max-height: 190px !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;

        overflow: hidden !important;

        background: #f3f4f6 !important;

        border-radius: 11px 11px 0 0 !important;
    }


    /* IMAGE ELEMENT */

    .gm-style .map-preview-image img,
    .gm-style .map-preview-image .property-card-main-image,
    .gm-style .map-preview-gallery-image,
    #map-desktop-property-preview .map-preview-image img,
    #map-desktop-property-preview .map-preview-image .property-card-main-image,
    #map-desktop-property-preview .map-preview-gallery-image {

        display: block !important;

        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;

        height: 190px !important;
        min-height: 190px !important;
        max-height: 190px !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;

        border: 0 !important;

        object-fit: cover !important;
    }


    /* INFORMATION AREA */

    .gm-style .map-preview-info,
    #map-desktop-property-preview .map-preview-info {

        display: block !important;

        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 9px 11px 10px !important;

        box-sizing: border-box !important;

        background: #fff !important;

        border-radius: 0 0 11px 11px !important;

        overflow: hidden !important;
    }


    /* OLD ELEMENTS — NOT PART OF THE NEW CARD */

    .gm-style .map-preview-info .property-card-header h3,
    #map-desktop-property-preview .map-preview-info .property-card-header h3,
    .gm-style .map-preview-image .property-badge,
    #map-desktop-property-preview .map-preview-image .property-badge {

        display: none !important;
    }


    /* BOTTOM ROW */

    .gm-style .map-preview-bottom-row,
    #map-desktop-property-preview .map-preview-bottom-row {

        display: flex !important;

        align-items: flex-start !important;
        justify-content: space-between !important;

        gap: 10px !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;
    }


    /* LEFT SIDE */

    .gm-style .map-preview-left,
    #map-desktop-property-preview .map-preview-left {

        flex: 1 1 auto !important;

        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* DETAILS */

    .gm-style .map-preview-details,
    #map-desktop-property-preview .map-preview-details {

        margin: 0 0 4px !important;

        color: #374151 !important;

        font-size: 12px !important;
        line-height: 16px !important;

        font-weight: 500 !important;

        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }


    /* ADDRESS */

    .gm-style .property-card-address,
    #map-desktop-property-preview .property-card-address {

        margin: 0 !important;

        color: #111827 !important;

        font-size: 11px !important;
        line-height: 15px !important;

        overflow: hidden !important;
    }


    .gm-style .property-card-address-line1,
    .gm-style .property-card-address-line2,
    #map-desktop-property-preview .property-card-address-line1,
    #map-desktop-property-preview .property-card-address-line2 {

        overflow: hidden !important;

        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }


    .gm-style .property-card-address-line2,
    #map-desktop-property-preview .property-card-address-line2 {

        color: #6b7280 !important;

        margin-top: 1px !important;
    }


    /* PRICE */

    .gm-style .map-preview-price,
    #map-desktop-property-preview .map-preview-price {

        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #111827 !important;

        font-size: 14px !important;
        line-height: 18px !important;

        font-weight: 700 !important;

        white-space: nowrap !important;
    }


    /* CLOSE BUTTON */

    .gm-style .map-preview-close,
    #map-desktop-property-preview .map-preview-close {

        position: absolute !important;

        top: 8px !important;
        right: 8px !important;

        z-index: 1000 !important;

        width: 26px !important;
        height: 26px !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        border: 0 !important;
        border-radius: 50% !important;

        background: rgba(255,255,255,.94) !important;

        color: #111827 !important;

        font-size: 18px !important;
        line-height: 26px !important;

        box-shadow: 0 1px 5px rgba(0,0,0,.22) !important;

        cursor: pointer !important;
    }


    /* GALLERY ARROWS */

    .gm-style .map-preview-gallery-prev,
    .gm-style .map-preview-gallery-next,
    #map-desktop-property-preview .map-preview-gallery-prev,
    #map-desktop-property-preview .map-preview-gallery-next {

        position: absolute !important;

        top: 50% !important;

        transform: translateY(-50%) !important;

        z-index: 900 !important;

        width: 28px !important;
        height: 28px !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        border: 0 !important;
        border-radius: 50% !important;

        background: rgba(255,255,255,.92) !important;

        color: #111827 !important;

        font-size: 20px !important;
        line-height: 28px !important;

        box-shadow: 0 1px 5px rgba(0,0,0,.20) !important;

        cursor: pointer !important;
    }


    .gm-style .map-preview-gallery-prev,
    #map-desktop-property-preview .map-preview-gallery-prev {
        left: 8px !important;
    }


    .gm-style .map-preview-gallery-next,
    #map-desktop-property-preview .map-preview-gallery-next {
        right: 8px !important;
    }


    /* GALLERY COUNTER */

    .gm-style .map-preview-gallery-counter,
    #map-desktop-property-preview .map-preview-gallery-counter {

        position: absolute !important;

        right: 8px !important;
        bottom: 8px !important;

        z-index: 900 !important;

        padding: 3px 7px !important;

        border-radius: 10px !important;

        background: rgba(0,0,0,.62) !important;

        color: #fff !important;

        font-size: 10px !important;
        line-height: 13px !important;

        pointer-events: none !important;

        white-space: nowrap !important;
    }

}

/* ============================================================
   FINAL MAP PRICE MARKER SIZE OVERRIDE
   ============================================================ */

.price-marker {
    width: auto !important;
    min-width: 0 !important;
    max-width: 70px !important;

    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;

    padding: 0 6px !important;
    margin: 0 !important;

    box-sizing: border-box !important;

    font-size: 10px !important;
    line-height: 24px !important;
    font-weight: 600 !important;

    border-radius: 12px !important;
}

.price-marker.active,
.price-marker:hover {
    transform: scale(1.06) !important;
}

/* ============================================================
   LIGHTWEIGHT MAP DOT
   Normal listings use a tiny dot instead of a price pill.
   ============================================================ */

.map-dot-marker {
    width: 12px !important;
    height: 12px !important;

    min-width: 12px !important;
    min-height: 12px !important;

    padding: 0 !important;

    box-sizing: border-box !important;

    border-radius: 50% !important;

    background: rgba(124, 58, 237, 0.72) !important;

    border: 2px solid rgba(255, 255, 255, 0.92) !important;

    box-shadow:
        0 1px 5px rgba(0, 0, 0, 0.22) !important;

    cursor: pointer !important;

    transition:
        transform .12s ease,
        background .12s ease !important;
}

.map-dot-marker:hover,
.map-dot-marker.active {
    transform: scale(1.45) !important;

    background:
        rgba(124, 58, 237, 0.95) !important;
}


/* ============================================================
   NEW CONSTRUCTION MAP IMAGE MARKER
   Only listings with newConstruction === true use this.
   ============================================================ */

img.new-construction-photo-marker,
img.property-photo-map-marker {
    display: block !important;

    width: 54px !important;
    height: 54px !important;

    min-width: 54px !important;
    min-height: 54px !important;

    max-width: 54px !important;
    max-height: 54px !important;

    object-fit: cover !important;

    border-radius: 50% !important;

    border: 3px solid #ffffff !important;

    box-sizing: border-box !important;

    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.30) !important;

    background: #ffffff !important;

    cursor: pointer !important;
}

img.new-construction-photo-marker:hover,
img.property-photo-map-marker:hover {
    transform: scale(1.08) !important;
}


@media (max-width: 767px) {

/* Property Intelligence — plain text Show more/less */
.property-show-more,
.property-show-more:hover,
.property-show-more:focus,
.property-show-more:active {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    padding: 0 !important;
    margin: 8px 0 0 0 !important;
    outline: none !important;
    transform: none !important;
    transition: none !important;
    appearance: none !important;
    cursor: pointer;
}

.property-show-more:hover {
    text-decoration: none !important;
}

/* Property Intelligence — remove card hover effect */
.property-intelligence-layout .property-remarks-card,
.property-intelligence-layout .property-remarks-card:hover,
.property-intelligence-layout .property-remarks-card:focus,
.property-intelligence-layout .property-remarks-card:active {
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
}

.property-intelligence-layout .property-remarks-card::before,
.property-intelligence-layout .property-remarks-card::after {
    box-shadow: none !important;
}

/* Property Intelligence title — lowercase */
.property-intelligence-title,
.property-intelligence h2,
.property-intelligence h3 {
    text-transform: lowercase !important;
}


/* ==========================================================
   MAP PREVIEW FAVORITE
   Isolated from dashboard/property-card favorites
========================================================== */

#map-property-preview .map-preview-favorite,
#map-desktop-property-preview .map-preview-favorite {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #ffffff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    z-index: 20;
    box-sizing: border-box;
    text-shadow: 0 1px 3px rgba(0,0,0,.45);
}

#map-property-preview .property-card-image,
#map-desktop-property-preview .property-card-image {
    position: relative;
}


/* Heart only: dark fill inside the outline, solid white when saved. */
.map-preview-favorite {
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}
.map-preview-favorite svg {
    width: 22px;
    height: 22px;
    fill: rgba(0, 0, 0, .48);
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.map-preview-favorite.is-favorite svg { fill: #fff; stroke: #fff; }
#map-property-preview .map-preview-favorite { right:18px; }
.gm-style .map-preview-favorite { position:absolute; top:12px; right:54px; width:36px; height:36px; padding:0; display:flex; align-items:center; justify-content:center; z-index:20; cursor:pointer; }


/* Desktop preview card finish: spacing, arrows, and aligned facts. */
@media (min-width: 901px) {
    .gm-style .map-preview-info,
    #map-desktop-property-preview .map-preview-info {
        padding-top: 12px !important;
    }

    .gm-style .map-preview-bottom-row,
    #map-desktop-property-preview .map-preview-bottom-row {
        align-items: flex-start !important;
        gap: 8px !important;
    }

    .gm-style .map-preview-details,
    .gm-style .map-preview-price,
    #map-desktop-property-preview .map-preview-details,
    #map-desktop-property-preview .map-preview-price {
        height: 18px !important;
        min-height: 18px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #171717 !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 18px !important;
        align-self: flex-start !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    .gm-style .map-preview-details,
    #map-desktop-property-preview .map-preview-details {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .gm-style .map-preview-price,
    #map-desktop-property-preview .map-preview-price {
        flex: 0 0 auto !important;
    }

    .gm-style .map-preview-gallery-prev,
    .gm-style .map-preview-gallery-next,
    #map-desktop-property-preview .map-preview-gallery-prev,
    #map-desktop-property-preview .map-preview-gallery-next {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #fff !important;
        text-shadow: 0 1px 4px rgba(0, 0, 0, .75) !important;
    }

    .gm-style .map-preview-gallery-prev:hover,
    .gm-style .map-preview-gallery-next:hover,
    .gm-style .map-preview-gallery-prev:focus-visible,
    .gm-style .map-preview-gallery-next:focus-visible,
    #map-desktop-property-preview .map-preview-gallery-prev:hover,
    #map-desktop-property-preview .map-preview-gallery-next:hover,
    #map-desktop-property-preview .map-preview-gallery-prev:focus-visible,
    #map-desktop-property-preview .map-preview-gallery-next:focus-visible {
        background: transparent !important;
        color: #fff !important;
        box-shadow: none !important;
    }
}


/* Desktop map preview: enforce transparent gallery controls and taller top inset. */
@media (min-width: 901px) {
    .gm-style .map-preview-info,
    body > #map-desktop-property-preview .map-preview-info,
    #map-desktop-property-preview .map-preview-info {
        padding-top: 18px !important;
    }

    .gm-style .map-preview-gallery-prev,
    .gm-style .map-preview-gallery-next,
    body > #map-desktop-property-preview .map-preview-gallery-prev,
    body > #map-desktop-property-preview .map-preview-gallery-next,
    #map-desktop-property-preview .map-preview-gallery-prev,
    #map-desktop-property-preview .map-preview-gallery-next {
        appearance: none !important;
        -webkit-appearance: none !important;
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #fff !important;
        text-shadow: 0 1px 4px rgba(0, 0, 0, .75) !important;
    }

    .gm-style .map-preview-gallery-prev:hover,
    .gm-style .map-preview-gallery-next:hover,
    .gm-style .map-preview-gallery-prev:focus,
    .gm-style .map-preview-gallery-next:focus,
    .gm-style .map-preview-gallery-prev:active,
    .gm-style .map-preview-gallery-next:active {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
    }
}


/* Desktop map preview: extend the white details area for the city/state line. */
@media (min-width: 901px) {
    .gm-style .map-preview-info,
    body > #map-desktop-property-preview .map-preview-info,
    #map-desktop-property-preview .map-preview-info {
        height: 132px !important;
        min-height: 132px !important;
        max-height: 132px !important;
        overflow: visible !important;
    }
}


/* Desktop map preview: let the address breathe below its second line. */
@media (min-width: 901px) {
    .gm-style .map-preview-card,
    body > #map-desktop-property-preview .map-preview-card,
    #map-desktop-property-preview .map-preview-card {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .gm-style .map-preview-info,
    body > #map-desktop-property-preview .map-preview-info,
    #map-desktop-property-preview .map-preview-info {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding-bottom: 20px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .gm-style .map-preview-info .property-card-address,
    body > #map-desktop-property-preview .map-preview-info .property-card-address,
    #map-desktop-property-preview .map-preview-info .property-card-address {
        margin-bottom: 20px !important;
        overflow: visible !important;
    }
}


/* Desktop map preview: align facts and shrink the image counter to its text. */
@media (min-width: 901px) {
    .gm-style .map-preview-bottom-row,
    body > #map-desktop-property-preview .map-preview-bottom-row,
    #map-desktop-property-preview .map-preview-bottom-row {
        align-items: center !important;
    }

    .gm-style .map-preview-details,
    .gm-style .map-preview-price,
    body > #map-desktop-property-preview .map-preview-details,
    body > #map-desktop-property-preview .map-preview-price,
    #map-desktop-property-preview .map-preview-details,
    #map-desktop-property-preview .map-preview-price {
        display: inline-flex !important;
        align-items: center !important;
        align-self: center !important;
        height: 18px !important;
        min-height: 18px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #171717 !important;
        font-family: inherit !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 600 !important;
        letter-spacing: normal !important;
        line-height: 18px !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    .gm-style .map-preview-details,
    body > #map-desktop-property-preview .map-preview-details,
    #map-desktop-property-preview .map-preview-details {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .gm-style .map-preview-price,
    body > #map-desktop-property-preview .map-preview-price,
    #map-desktop-property-preview .map-preview-price {
        flex: 0 0 auto !important;
    }

    .gm-style .map-preview-gallery-counter,
    body > #map-desktop-property-preview .map-preview-gallery-counter,
    #map-desktop-property-preview .map-preview-gallery-counter {
        left: 50% !important;
        right: auto !important;
        width: max-content !important;
        min-width: 0 !important;
        max-width: calc(100% - 16px) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        transform: translateX(-50%) !important;
        box-sizing: content-box !important;
    }
}


/* Desktop map pin preview: rules for the actual Google InfoWindow wrapper. */
@media (min-width: 901px) {
    .gm-style-iw .map-preview-bottom-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        width: 100% !important;
        height: auto !important;
        min-height: 18px !important;
    }

    .gm-style-iw .map-preview-left {
        display: block !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        transform: none !important;
    }

    .gm-style-iw .map-preview-details,
    .gm-style-iw .map-preview-price {
        height: 18px !important;
        min-height: 18px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #171717 !important;
        font-family: inherit !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 600 !important;
        letter-spacing: normal !important;
        line-height: 18px !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    .gm-style-iw .map-preview-details {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .gm-style-iw .map-preview-price {
        display: block !important;
        flex: 0 0 auto !important;
    }

    .gm-style-iw .map-preview-gallery-counter {
        left: 50% !important;
        right: auto !important;
        width: max-content !important;
        min-width: 0 !important;
        max-width: calc(100% - 16px) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        transform: translateX(-50%) !important;
        box-sizing: content-box !important;
    }
}


/* Freehand boundary search controls and live polygon preview. */
.map-draw-host{position:relative}
.map-container.map-draw-host{position:sticky;top:0;isolation:isolate}
.mobile-map-layout.map-draw-host{position:fixed;inset:0}
.map-draw-host.is-drawing{touch-action:none}
.map-draw-host>#desktop-map,.map-draw-host>#mobile-map{z-index:0}
.map-draw-controls{position:absolute!important;top:14px;left:14px;display:flex!important;visibility:visible!important;opacity:1!important;gap:7px;align-items:center;margin:0;z-index:20000}
.map-draw-controls button{min-height:40px;padding:0 14px;border:1px solid rgba(20,20,20,.12);border-radius:999px;background:#fff;color:#171717;box-shadow:0 3px 12px rgba(0,0,0,.16);font:600 13px/1 Inter,Arial,sans-serif;cursor:pointer}
.map-draw-controls button[data-draw-start]{display:grid;place-items:center;width:42px;min-width:42px;padding:0}
.map-draw-controls button[data-draw-start] svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.map-draw-controls button[data-draw-start].is-active,.map-draw-controls button[data-draw-apply]{background:#171717;color:#fff}
.map-draw-controls button[hidden]{display:none!important}
.map-draw-overlay{position:absolute;inset:0;z-index:10001;overflow:visible;pointer-events:none}
.map-draw-overlay.is-drawing{pointer-events:auto;touch-action:none;cursor:crosshair}
.map-draw-outline{fill:rgba(31,41,55,.13);stroke:#171717;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}
@media(max-width:900px){.map-draw-controls{top:20px;left:16px}.map-draw-controls button{min-height:38px;padding:0 12px;font-size:12px}.map-draw-controls button[data-draw-start]{width:40px;min-width:40px;padding:0}}
