.bizmap-map {
    --bizmap-surface: var(--kj-surface, var(--dk-surface, #fff));
    --bizmap-surface-soft: var(--kj-bg-soft, var(--dk-bg-soft, #f6f7f9));
    --bizmap-text: var(--kj-text, var(--dk-text, #14181f));
    --bizmap-text-soft: var(--kj-text-soft, var(--dk-text-soft, #5a6472));
    --bizmap-border: var(--kj-border, var(--dk-border, #e2e5ea));
    --bizmap-brand: var(--kj-brand, var(--dk-brand, #168463));
    --bizmap-brand-ink: var(--kj-brand-ink, var(--dk-brand-ink, #245c49));
    --bizmap-text-on-brand: var(--kj-text-on-brand, var(--dk-text-on-brand, #fff));
    min-height: 22rem;
    width: 100%;
    overflow: hidden;
    color: var(--bizmap-text);
    background: var(--bizmap-surface-soft);
    border-radius: 1rem;
    isolation: isolate;
}

.bizmap-map .leaflet-popup-content-wrapper,
.bizmap-map .leaflet-popup-tip,
.bizmap-map .leaflet-bar,
.bizmap-map .leaflet-bar a,
.bizmap-map .leaflet-bar a:hover {
    color: var(--bizmap-text);
    background: var(--bizmap-surface);
    border-color: var(--bizmap-border);
}

.bizmap-map .leaflet-control-attribution {
    color: var(--bizmap-text-soft);
    background: var(--bizmap-surface);
}

.bizmap-map .leaflet-control-attribution {
    font-size: 10px;
}

.bizmap-map .leaflet-control-attribution a {
    color: var(--bizmap-brand-ink);
}

.bizmap-pin-icon,
.bizmap-cluster-icon {
    background: transparent;
    border: 0;
}

.bizmap-pin {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    color: #fff;
    background: #168463;
    border: 2px solid #fff;
    border-radius: 50% 50% 50% 0;
    box-shadow: 0 2px 7px rgb(15 40 30 / 28%);
    font: 700 12px/1 system-ui, sans-serif;
    transform: rotate(-45deg);
}

.bizmap-pin__glyph {
    display: block;
    transform: rotate(45deg);
}

.bizmap-pin.is-approx {
    background: #64756d;
    border-style: dashed;
}

.bizmap-pin.is-featured {
    background: #b26c12;
}

.bizmap-pin.is-business {
    background: #3958a6;
}

.bizmap-pin.is-prd { background: #8b5aa6; }
.bizmap-pin.is-prp { background: #9b5549; }
.bizmap-pin.is-srv { background: #087f8c; }
.bizmap-pin.is-evt { background: #a04f86; }
.bizmap-pin.is-com { background: #536f9e; }
.bizmap-pin.is-veh { background: #566c3d; }
.bizmap-pin.is-pet { background: #b3643d; }

.bizmap-cluster {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: #fff;
    background: #155b49;
    border: 3px solid rgb(255 255 255 / 88%);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgb(15 40 30 / 28%);
    font: 700 12px/1 system-ui, sans-serif;
}

.bizmap-card {
    width: min(17rem, 70vw);
    color: var(--bizmap-text);
    font: 14px/1.45 system-ui, sans-serif;
}

.bizmap-card__photo {
    display: block;
    width: 100%;
    height: 8rem;
    margin: 0 0 .65rem;
    object-fit: cover;
    border-radius: .55rem;
}

.bizmap-card__title {
    margin: 0 0 .25rem;
    color: var(--bizmap-text);
    font-size: 1rem;
    line-height: 1.3;
}

.bizmap-card__details {
    margin: .25rem 0;
    color: var(--bizmap-text-soft);
}

.bizmap-card__link {
    display: inline-flex;
    margin-top: .5rem;
    padding: .45rem .7rem;
    color: var(--bizmap-text-on-brand) !important;
    background: var(--bizmap-brand);
    border-radius: .45rem;
    font-weight: 700;
    text-decoration: none;
}

.bizmap-card__link:focus-visible {
    outline: 2px solid var(--bizmap-brand-ink);
    outline-offset: 2px;
}

.bizmap-card__favorite {
    display: inline-grid;
    width: 2.15rem;
    height: 2.15rem;
    margin: .45rem 0 0 .45rem;
    place-items: center;
    color: var(--bizmap-brand-ink);
    background: var(--bizmap-surface);
    border: 1px solid var(--bizmap-border);
    border-radius: 50%;
    cursor: pointer;
}

.bizmap-card__favorite svg {
    width: 1.1rem;
    height: 1.1rem;
}

.bizmap-map__data-attribution {
    margin: .35rem 0 .75rem;
    color: var(--bizmap-text-soft);
    font-size: .75rem;
}

@media (max-width: 640px) {
    .bizmap-map {
        min-height: 18rem;
        border-radius: .7rem;
    }
}
