/* Shop map rendered by assets/js/dealers-map.js. */

.dealers-map-wrap {
    position: relative;
}

#dealers-map {
    width: 100%;
    height: 100%;
    min-height: inherit;
    border-radius: inherit;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.03);
}

#dealers-map.is-failed {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    color: var(--muted);
    text-align: center;
}

/* The hint only appears when someone tries to zoom the way that no longer works. */
.dealers-map__hint {
    position: absolute;
    inset: auto 0 0 0;
    margin: 0 auto 14px;
    width: fit-content;
    max-width: calc(100% - 28px);
    padding: 9px 16px;
    border-radius: 999px;
    background: rgba(16, 16, 16, 0.88);
    color: #f5f5f5;
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    pointer-events: none;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 5;
}

.dealers-map__hint.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.dealers-map__cluster {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #101010;
    font-weight: 800;
    font-size: 14px;
    font-family: "Manrope", Arial, sans-serif;
}

/* Balloons are rendered by the maps API, so they are styled from the outside. */
.dealers-map__balloon {
    font-family: "Manrope", Arial, sans-serif;
    color: #101010;
    min-width: 180px;
}

.dealers-map__balloon p {
    margin: 4px 0 8px;
    font-size: 14px;
    line-height: 1.4;
}

.dealers-map__balloon a {
    font-size: 14px;
    color: #0b63c5;
}
