:root {
    --amx-map-pin-font: 12px;
    --amx-map-pin-height: 24px;
    --amx-map-pin-pad-x: 9px;
    --amx-map-pin-dot: 15px;
    --amx-map-pin-sale: #bd2f2a;
    --amx-map-pin-sale-deep: #9f231f;
    --amx-map-pin-sale-edge: #86201d;
    --amx-map-pin-rent: #1458c8;
    --amx-map-pin-rent-deep: #0d429c;
    --amx-map-pin-rent-edge: #0b367e;
    --amx-map-pin-sold: #6b7280;
    --amx-map-pin-sold-deep: #4b5563;
    --amx-map-pin-sold-edge: #374151;
    --amx-map-pin-pending: #b7791f;
    --amx-map-pin-pending-deep: #975a16;
    --amx-map-pin-pending-edge: #7c4511;
    --amx-map-pin-offmarket: #253044;
    --amx-map-pin-offmarket-deep: #111827;
    --amx-map-pin-offmarket-edge: #0f172a;
    --amx-map-pin-active: #2b7f50;
    --amx-map-pin-active-deep: #1f6b42;
    --amx-map-pin-active-edge: #185334;
}

html.amx-map-pins-managed .wpestate_marker,
html.amx-map-pins-managed .wpestate_marker .interior_pin_price {
    opacity: 1 !important;
    visibility: visible !important;
}

html.amx-map-pins-stabilizing .wpestate_marker .interior_pin_price,
html.amx-map-pins-drawing .wpestate_marker .interior_pin_price {
    animation: none !important;
    transition: none !important;
}

#googleMap .wpestate_marker,
#google_map_prop_list_wrapper .wpestate_marker,
.leaflet-marker-icon .wpestate_marker,
.wpestate_marker {
    --amx-map-pin-bg: var(--amx-map-pin-sale);
    --amx-map-pin-bg-deep: var(--amx-map-pin-sale-deep);
    --amx-map-pin-edge: var(--amx-map-pin-sale-edge);
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-family: var(--wp-estate-menu-font-family-option, var(--wp-estate-menu-font-family, Roboto, Arial, sans-serif));
    font-size: var(--amx-map-pin-font);
    font-weight: 500;
    line-height: 1;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    text-align: center;
    transform: translate(-50%, -100%);
    white-space: nowrap;
    width: auto !important;
}

#googleMap .wpestate_marker::before,
#google_map_prop_list_wrapper .wpestate_marker::before,
.leaflet-marker-icon .wpestate_marker::before,
.wpestate_marker::before {
    display: none !important;
}

.wpestate_marker[class*="rent"] {
    --amx-map-pin-bg: var(--amx-map-pin-rent);
    --amx-map-pin-bg-deep: var(--amx-map-pin-rent-deep);
    --amx-map-pin-edge: var(--amx-map-pin-rent-edge);
}

.wpestate_marker[class*="sold"],
.wpestate_marker[class*="status-sold"],
.wpestate_marker[class*="is-sold"] {
    --amx-map-pin-bg: var(--amx-map-pin-sold);
    --amx-map-pin-bg-deep: var(--amx-map-pin-sold-deep);
    --amx-map-pin-edge: var(--amx-map-pin-sold-edge);
}

.wpestate_marker[class*="pending"],
.wpestate_marker[class*="under-contract"],
.wpestate_marker[class*="under-offer"] {
    --amx-map-pin-bg: var(--amx-map-pin-pending);
    --amx-map-pin-bg-deep: var(--amx-map-pin-pending-deep);
    --amx-map-pin-edge: var(--amx-map-pin-pending-edge);
}

.wpestate_marker[class*="off-market"],
.wpestate_marker[class*="unlisted"],
.wpestate_marker[class*="expired"] {
    --amx-map-pin-bg: var(--amx-map-pin-offmarket);
    --amx-map-pin-bg-deep: var(--amx-map-pin-offmarket-deep);
    --amx-map-pin-edge: var(--amx-map-pin-offmarket-edge);
}

.wpestate_marker[class*="sale"],
.wpestate_marker[class*="sales"],
.wpestate_marker[class*="for-sale"] {
    --amx-map-pin-bg: var(--amx-map-pin-sale);
    --amx-map-pin-bg-deep: var(--amx-map-pin-sale-deep);
    --amx-map-pin-edge: var(--amx-map-pin-sale-edge);
}

body.amx-map-pins-sale #googleMap .wpestate_marker,
body.amx-map-pins-sale #google_map_prop_list_wrapper .wpestate_marker,
body.amx-map-pins-sale .leaflet-marker-icon .wpestate_marker,
body.amx-map-pins-sale .wpestate_marker {
    --amx-map-pin-bg: var(--amx-map-pin-sale);
    --amx-map-pin-bg-deep: var(--amx-map-pin-sale-deep);
    --amx-map-pin-edge: var(--amx-map-pin-sale-edge);
}

body.amx-map-pins-rent #googleMap .wpestate_marker,
body.amx-map-pins-rent #google_map_prop_list_wrapper .wpestate_marker,
body.amx-map-pins-rent .leaflet-marker-icon .wpestate_marker,
body.amx-map-pins-rent .wpestate_marker {
    --amx-map-pin-bg: var(--amx-map-pin-rent);
    --amx-map-pin-bg-deep: var(--amx-map-pin-rent-deep);
    --amx-map-pin-edge: var(--amx-map-pin-rent-edge);
}

.wpestate_marker .interior_pin_price {
    align-items: center;
    background: linear-gradient(180deg, var(--amx-map-pin-bg) 0%, var(--amx-map-pin-bg-deep) 100%) !important;
    border: 1px solid var(--amx-map-pin-edge) !important;
    border-top-color: color-mix(in srgb, var(--amx-map-pin-bg) 70%, #ffffff 30%) !important;
    border-radius: 999px !important;
    box-shadow:
        0 6px 13px rgba(15, 23, 42, 0.26),
        0 2px 4px rgba(15, 23, 42, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    box-sizing: border-box;
    color: #ffffff !important;
    display: inline-flex;
    font-size: var(--amx-map-pin-font) !important;
    font-weight: 500;
    height: var(--amx-map-pin-height);
    justify-content: center;
    letter-spacing: 0;
    line-height: 1;
    min-width: 44px;
    padding: 2px var(--amx-map-pin-pad-x);
    position: relative;
    text-shadow: none;
    transform: none;
    transform-origin: 50% 100%;
    transition: background 100ms ease, border-color 100ms ease, box-shadow 100ms ease, filter 100ms ease, transform 100ms ease;
    white-space: nowrap;
}

.wpestate_marker .interior_pin_price span,
.wpestate_marker .interior_pin_price .infocur,
.wpestate_marker .interior_pin_price .infocur_first {
    color: #ffffff !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

.wpestate_marker .interior_pin_price::after {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid var(--amx-map-pin-bg-deep);
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    top: calc(100% - 1px);
    transform: translateX(-50%);
    width: 0;
}

.wpestate_marker:hover,
.wpestate_marker:focus-within,
.wpestate_marker.hover_z_pin,
.wpestate_marker.amx-list-hover-marker,
.wpestate_marker.openstreet_price_marker_on_click,
.openstreet_price_marker_on_click_parent .wpestate_marker {
    --amx-map-pin-bg: var(--amx-map-pin-active) !important;
    --amx-map-pin-bg-deep: var(--amx-map-pin-active-deep) !important;
    --amx-map-pin-edge: var(--amx-map-pin-active-edge) !important;
    z-index: 9999 !important;
}

.wpestate_marker:hover .interior_pin_price,
.wpestate_marker:focus-within .interior_pin_price,
.wpestate_marker .interior_pin_price:hover,
.wpestate_marker.hover_z_pin .interior_pin_price,
.wpestate_marker.amx-list-hover-marker .interior_pin_price,
.wpestate_marker.openstreet_price_marker_on_click .interior_pin_price,
.openstreet_price_marker_on_click_parent .wpestate_marker .interior_pin_price {
    --amx-map-pin-bg: var(--amx-map-pin-active) !important;
    --amx-map-pin-bg-deep: var(--amx-map-pin-active-deep) !important;
    --amx-map-pin-edge: var(--amx-map-pin-active-edge) !important;
    background: linear-gradient(180deg, var(--amx-map-pin-active) 0%, var(--amx-map-pin-active-deep) 100%) !important;
    border-radius: 999px !important;
    border-color: var(--amx-map-pin-active-edge) !important;
    border-top-color: color-mix(in srgb, var(--amx-map-pin-active) 70%, #ffffff 30%) !important;
    box-shadow:
        0 10px 18px rgba(15, 23, 42, 0.30),
        0 3px 7px rgba(15, 23, 42, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
    filter: saturate(1.08);
    font-size: var(--amx-map-pin-font) !important;
    height: var(--amx-map-pin-height) !important;
    min-width: 44px !important;
    padding: 2px var(--amx-map-pin-pad-x) !important;
    text-indent: 0;
    transform: translateY(-3px) scale(1.045);
    width: auto !important;
}

.wpestate_marker:where(:not(:hover):not(:focus-within):not(.hover_z_pin):not(.amx-list-hover-marker):not(.openstreet_price_marker_on_click)) .interior_pin_price:not(.amx-price),
.wpestate_marker .interior_pin_price.amx-circle,
.wpestate_marker .interior_pin_price:not(.amx-price) {
    border-radius: 50% !important;
    box-shadow:
        0 4px 9px rgba(15, 23, 42, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
    font-size: 0 !important;
    height: var(--amx-map-pin-dot) !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-indent: -999px;
    transform: none;
    width: var(--amx-map-pin-dot) !important;
}

.wpestate_marker:where(:not(:hover):not(:focus-within):not(.hover_z_pin):not(.amx-list-hover-marker):not(.openstreet_price_marker_on_click)) .interior_pin_price:not(.amx-price)::after,
.wpestate_marker .interior_pin_price.amx-circle::after,
.wpestate_marker .interior_pin_price:not(.amx-price)::after {
    display: none !important;
}

.wpestate_marker:hover .interior_pin_price::after,
.wpestate_marker:focus-within .interior_pin_price::after,
.wpestate_marker .interior_pin_price:hover::after,
.wpestate_marker.hover_z_pin .interior_pin_price::after,
.wpestate_marker.amx-list-hover-marker .interior_pin_price::after,
.wpestate_marker.openstreet_price_marker_on_click .interior_pin_price::after,
.openstreet_price_marker_on_click_parent .wpestate_marker .interior_pin_price::after {
    display: block !important;
}

.wpestate_marker:hover .interior_pin_price.amx-circle,
.wpestate_marker:hover .interior_pin_price:not(.amx-price),
.wpestate_marker:focus-within .interior_pin_price.amx-circle,
.wpestate_marker:focus-within .interior_pin_price:not(.amx-price),
.wpestate_marker.hover_z_pin .interior_pin_price.amx-circle,
.wpestate_marker.hover_z_pin .interior_pin_price:not(.amx-price),
.wpestate_marker.amx-list-hover-marker .interior_pin_price.amx-circle,
.wpestate_marker.amx-list-hover-marker .interior_pin_price:not(.amx-price),
.wpestate_marker.openstreet_price_marker_on_click .interior_pin_price.amx-circle,
.wpestate_marker.openstreet_price_marker_on_click .interior_pin_price:not(.amx-price),
.openstreet_price_marker_on_click_parent .wpestate_marker .interior_pin_price.amx-circle,
.openstreet_price_marker_on_click_parent .wpestate_marker .interior_pin_price:not(.amx-price),
.wpestate_marker .interior_pin_price.amx-circle:hover,
.wpestate_marker .interior_pin_price:not(.amx-price):hover {
    --amx-map-pin-bg: var(--amx-map-pin-active) !important;
    --amx-map-pin-bg-deep: var(--amx-map-pin-active-deep) !important;
    --amx-map-pin-edge: var(--amx-map-pin-active-edge) !important;
    background: linear-gradient(180deg, var(--amx-map-pin-active) 0%, var(--amx-map-pin-active-deep) 100%) !important;
    border-radius: 999px !important;
    border-color: var(--amx-map-pin-active-edge) !important;
    border-top-color: color-mix(in srgb, var(--amx-map-pin-active) 70%, #ffffff 30%) !important;
    box-shadow:
        0 10px 18px rgba(15, 23, 42, 0.30),
        0 3px 7px rgba(15, 23, 42, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
    filter: saturate(1.08);
    font-size: var(--amx-map-pin-font) !important;
    height: var(--amx-map-pin-height) !important;
    min-width: 44px !important;
    padding: 2px var(--amx-map-pin-pad-x) !important;
    text-indent: 0;
    transform: translateY(-3px) scale(1.045);
    width: auto !important;
}

.wpestate_marker:hover .interior_pin_price.amx-circle::after,
.wpestate_marker:hover .interior_pin_price:not(.amx-price)::after,
.wpestate_marker:focus-within .interior_pin_price.amx-circle::after,
.wpestate_marker:focus-within .interior_pin_price:not(.amx-price)::after,
.wpestate_marker.hover_z_pin .interior_pin_price.amx-circle::after,
.wpestate_marker.hover_z_pin .interior_pin_price:not(.amx-price)::after,
.wpestate_marker.amx-list-hover-marker .interior_pin_price.amx-circle::after,
.wpestate_marker.amx-list-hover-marker .interior_pin_price:not(.amx-price)::after,
.wpestate_marker.openstreet_price_marker_on_click .interior_pin_price.amx-circle::after,
.wpestate_marker.openstreet_price_marker_on_click .interior_pin_price:not(.amx-price)::after,
.openstreet_price_marker_on_click_parent .wpestate_marker .interior_pin_price.amx-circle::after,
.openstreet_price_marker_on_click_parent .wpestate_marker .interior_pin_price:not(.amx-price)::after,
.wpestate_marker .interior_pin_price.amx-circle:hover::after,
.wpestate_marker .interior_pin_price:not(.amx-price):hover::after {
    display: block !important;
}

@supports not (color: color-mix(in srgb, #000 50%, #fff 50%)) {
    .wpestate_marker .interior_pin_price {
        border-top-color: rgba(255, 255, 255, 0.24) !important;
    }
}

@media (max-width: 767.98px) {
    :root {
        --amx-map-pin-font: 11px;
        --amx-map-pin-height: 22px;
        --amx-map-pin-pad-x: 8px;
        --amx-map-pin-dot: 14px;
    }
}
