#rexharge-ev-map {
    width: 100%;
    height: min(70vh, 680px);
    min-height: 420px;
    border-radius: 16px;
    overflow: hidden;
    background: #edf2ef;
    /* Stop touch gestures on the map (panning, tapping to open/close a popup) from leaking out to the
       page and triggering the mobile browser's native pull-to-refresh / rubber-band bounce. */
    overscroll-behavior: contain;
}

.rexharge-pin-wrap { background: transparent; border: 0; }
.rexharge-pin {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 3px solid #fff;
    border-radius: 50% 50% 50% 0;
    background: #29b84d;
    box-shadow: 0 3px 10px rgba(16, 74, 32, .35);
    transform: rotate(-45deg);
}
.rexharge-pin img {
    position: relative;
    /* The lightning tail makes the logo look left-heavy; this offsets its visual centre. */
    left: 3px;
    top: 3px;
    display: block !important;
    width: 27px !important;
    min-width: 27px !important;
    max-width: 27px !important;
    height: 27px !important;
    min-height: 27px !important;
    max-height: 27px !important;
    object-fit: contain !important;
    transform: rotate(45deg);
}
.rexharge-popup-close { cursor: pointer; z-index: 1; }
.rexharge-popup h3 { margin: 0 0 8px; color: #157832; font-size: 16px; }
.rexharge-popup p { margin: 5px 0; }
.rexharge-popup table { width: 100%; margin-top: 10px; border-collapse: collapse; font-size: 12px; }
.rexharge-popup th, .rexharge-popup td { padding: 5px; border-bottom: 1px solid #e4ebe6; text-align: left; vertical-align: top; }
.rexharge-popup th { color: #28743b; }
/* Keep the header/address always visible; only the charger list scrolls when it's long (e.g. stations with many chargers). */
.rexharge-charger-list { max-height: 45vh; max-height: 45svh; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.rexharge-charger-list table { margin-top: 0; }
.rexharge-charger-list thead th { position: sticky; top: 0; background: #fff; }
.marker-cluster-small, .marker-cluster-medium, .marker-cluster-large { background-color: rgba(41, 184, 77, .28); }
.marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div { background-color: #29b84d; color: #fff; font-weight: 700; }
