.card-maps {
    height: auto;
    overflow: visible;
    margin-bottom: 0;
    border-top: 1px solid #dce0e0;
    padding: 50px 0;
}

.card-maps h3 {
    font-size: 22px;
    font-weight: normal;
}
.card-maps__subtitle {
    font-size: 16px;
}
.card-maps__note {
    font-size: 16px;
    margin-top: 20px;
    margin-bottom: 0;
    padding: 0
}

.card-maps #map {
    position: relative;
    inset: auto;
    width: 100%;
    height: 480px;
    overflow: hidden;
    border-radius: 20px;
    background: transparent !important;
}

.map__canvas { width: 100%; height: 100%; }
.map__controls { position: absolute; top: 15px; right: 15px; z-index: 2; display: flex; flex-direction: column; gap: 10px; }
.map__zoom { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: #fff; }
.map__control { display: block; width: 20px; height: 20px; padding: 20px; border: 0; border-radius: 20px; background-color: #fff; background-position: center; background-repeat: no-repeat; cursor: pointer; }
.map__control--resize { background-image: url('/images/map/resize.svg'); }
.map__control--plus { background-image: url('/images/map/plus.svg'); border-radius: 20px 20px 0 0; }
.map__control--minus { background-image: url('/images/map/minus.svg'); border-radius: 0 0 20px 20px; }
.map__control:focus-visible, .map__marker:focus-visible { outline: 2px solid #222; outline-offset: 2px; }

.map__marker { position: relative; display: flex; align-items: center; justify-content: center; width: 130px; height: 130px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; transform: translate(-50%, -50%); }
.map__marker::before { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--map-marker-color); opacity: .1; }
.map__marker::after { content: ''; position: relative; width: 50px; height: 50px; border-radius: 50%; background: var(--map-marker-color) var(--map-marker-icon) center / 24px 24px no-repeat; }
.map__marker--apartment { --map-marker-color: #f9133b; --map-marker-icon: url('/images/map/building.svg'); }
.map__marker--visit { --map-marker-color: #222222; --map-marker-icon: url('/images/map/car.svg'); }

body.map-fullscreen { overflow: hidden; }
.card-maps #map.map--fullscreen { position: fixed; inset: 0; z-index: 100000; width: 100vw; height: 100vh; height: 100dvh; border-radius: 0; }

@media (max-width: 767px) {
    .card-maps #map { height: 432px; }
    .map__control--resize { background-image: url('/images/map/maximize.svg'); }
    .map__zoom { display: none; }
    .card-maps #map.map--fullscreen { height: 100vh; height: 100dvh; }
}
.gm-style .gm-style-iw-t {
    bottom: 38px !important;
}
.gm-style-iw.gm-style-iw-c {
    padding: 16px !important;
}
.gm-style-iw-chr{
    display: none !important
}
.gm-style .gm-style-iw-d  {
    overflow: inherit !important;
    max-width: 224px;
    font-size: 16px;
    font-weight: 400;
}