.page-contact .ct2-map__canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: #191b1e;
    font-family: mont, Arial, sans-serif;
    color: #181d24;
}
.page-contact .ct2-map__switch {
    position: absolute;
    z-index: 1000;
    top: 16px;
    left: 16px;
    right: 16px;
    display: flex;
    width: fit-content;
    max-width: calc(100% - 32px);
    padding: 4px;
    border: 1px solid #373e49;
    border-radius: 9px;
    background: #181d24;
    box-shadow: 0 3px 14px #11151b26;
}
.page-contact .ct2-map__switch button {
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #dedfe4;
    padding: 12px 16px;
    min-height: 44px;
    font: 600 13px/1.2 mont, Arial, sans-serif;
    cursor: pointer;
}
.page-contact .ct2-map__switch button[aria-pressed="true"] {
    background: #f1f0eb;
    color: #11151b;
}
.page-contact .ct2-map button:focus-visible,
.page-contact .ct2-map .leaflet-marker-icon:focus-visible {
    outline: 3px solid #5477ff;
    outline-offset: 3px;
}
.page-contact .ct2-map .leaflet-tile-pane {
    filter: none;
}
.page-contact .ct2-map .leaflet-tile {
    max-width: none !important;
    max-height: none !important;
}
.page-contact .ct2-map__pin {
    background: none;
    border: none;
}
.page-contact .ct2-map__pin span {
    display: block;
    width: 32px;
    height: 32px;
    transform: rotate(-45deg);
    border: 3px solid #fff;
    border-radius: 50% 50% 50% 3px;
    background: #5477ff;
    box-shadow: -2px 3px 8px #11151b40;
}
.page-contact .ct2-map__pin span::after {
    content: '';
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    background: #fff;
}
.page-contact .ct2-map__label {
    border: 0;
    border-radius: 5px;
    padding: 7px 10px;
    background: #181d24;
    color: #fff;
    font: 700 11px/1 mont, Arial, sans-serif;
    letter-spacing: .08em;
    box-shadow: none;
}
.page-contact .ct2-map__label::before { border-top-color: #181d24; }
.page-contact .ct2-map .leaflet-popup-content-wrapper { border-radius: 12px; }
.page-contact .ct2-map .leaflet-popup-content { margin: 22px 24px; }
.page-contact .ct2-map__popup strong { display: block; color: #f3f3f0; font-size: 16px; line-height: 1.3; }
.page-contact .ct2-map__popup p { margin: 12px 0 8px; color: #c9cdd5 !important; font-size: 13px; line-height: 1.5; }
.page-contact .ct2-map__popup small { display: block; font-size: 11px; color: #a7aeb9; }
.page-contact .ct2-map__popup a { display: inline-block; margin-top: 14px; color: #a9b8ff; font-size: 12px; text-decoration: underline; }
.page-contact .ct2-map .leaflet-popup-close-button { color: #f3f3f0; width: 32px; height: 32px; font-size: 23px; }
.page-contact .ct2-map .leaflet-control-attribution { max-width: 100%; font: 11px/1.5 Arial, sans-serif; background: #181d24ed; color: #c9cdd5; }
.page-contact .ct2-map .leaflet-control-attribution a { color: #d7def5; }
.page-contact .ct2-map .leaflet-control-zoom a { background: #232933; color: #f3f3f0; border-color: #3a4250; }
.page-contact .ct2-map__notice {
    position: absolute;
    z-index: 1000;
    bottom: 40px;
    left: 16px;
    max-width: calc(100% - 80px);
    padding: 12px 15px;
    border-radius: 8px;
    background: #181d24;
    color: #fff;
    font: 12px/1.5 mont, Arial, sans-serif;
    pointer-events: none;
}
.page-contact .ct2-map__notice[hidden] { display: none; }
@media (max-width: 420px) {
    .page-contact .ct2-map__switch { top: 10px; left: 10px; right: 10px; max-width: calc(100% - 20px); }
    .page-contact .ct2-map__switch button { padding: 10px 11px; font-size: 12px; }
}

.page-contact .ct2-map .leaflet-popup-content-wrapper,
.page-contact .ct2-map .leaflet-popup-tip { background: #232933; color: #f3f3f0; }
.page-contact .ct2-map .leaflet-popup-content-wrapper { border: 1px solid #3a4250; }
.page-contact .ct2-map__mapbox-logo { display: block; width: 88px; height: 23px; margin-bottom: 22px !important; }
.page-contact .ct2-map__mapbox-logo img { display: block; width: 88px; height: 23px; object-fit: contain; }
.page-contact .ct2-map .leaflet-control-attribution { font-size: 10px; }
