.pmb-map,
.pmb-map * {
    box-sizing: border-box;
}

.pmb-map {
    padding: var(--pmb-map-pt, 0rem) 0 var(--pmb-map-pb, 0rem);
    background: var(--pmb-map-bg, #fff);
    color: #333;
}

.pmb-map__heading-wrap {
    display: flex;
    align-items: center;
    width: 1460rem;
    max-width: calc(100% - 80rem);
    height: 138rem;
    margin: 0 auto;
}

.pmb-map__heading {
    width: var(--pmb-map-heading-width-desktop, 38%);
    max-width: 100%;
    margin: 0;
    font-family: Jost, Arial, sans-serif;
    font-size: var(--pmb-map-heading-desktop, 64rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: .455rem;
    color: #333;
}

.pmb-map__canvas {
    position: relative;
    width: 100%;
    height: 704rem;
    overflow: hidden;
    background: #eef0f5;
}

.pmb-map__canvas > iframe,
.pmb-map__canvas > ymaps,
.pmb-map__canvas > div:not(.pmb-map__notice):not(.pmb-map__empty) {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    border: 0 !important;
}

.pmb-map__canvas > iframe {
    display: block;
}

.pmb-map__notice {
    position: absolute;
    z-index: 5;
    top: 49rem;
    left: max(20rem, calc((100% - 1460rem) / 2));
    display: flex;
    align-items: center;
    gap: 12rem;
    width: 518rem;
    min-height: 80rem;
    padding: 16rem 22rem;
    border-radius: 15rem;
    background: rgba(0,0,0,.7);
    font: 400 16rem/1.45 Jost, Arial, sans-serif;
    color: rgba(255,255,255,.8);
    pointer-events: none;
}

.pmb-map__notice-icon {
    display: inline-flex;
    flex: 0 0 36rem;
    align-items: center;
    justify-content: center;
    width: 36rem;
    height: 36rem;
    border: 2rem solid #949aa4;
    border-radius: 50%;
    font: 400 23rem/1 Jost, Arial, sans-serif;
    color: #949aa4;
}

.pmb-map__empty {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 30rem;
    font: 500 18rem/1.4 Jost, Arial, sans-serif;
    text-align: center;
    color: #666;
}

@media (max-width: 767px) {
    .pmb-map {
        padding: var(--pmb-map-pt-mobile, 0rem) 0 var(--pmb-map-pb-mobile, 0rem);
    }

    .pmb-map__heading-wrap {
        width: calc(100% - 32rem);
        max-width: none;
        height: 92rem;
    }

    .pmb-map__heading {
        width: var(--pmb-map-heading-width-mobile, 100%);
        font-size: var(--pmb-map-heading-mobile, 28rem);
        line-height: 1.08;
        letter-spacing: 0;
    }

    .pmb-map__canvas {
        height: 430rem;
    }

    .pmb-map__notice {
        top: 16rem;
        left: 16rem;
        gap: 10rem;
        width: calc(100% - 32rem);
        min-height: 66rem;
        padding: 12rem 14rem;
        border-radius: 12rem;
        font-size: 12rem;
        line-height: 1.35;
    }

    .pmb-map__notice-icon {
        flex-basis: 28rem;
        width: 28rem;
        height: 28rem;
        border-width: 1.5rem;
        font-size: 17rem;
    }
}
