.asia-map-widget {
    width: 100%;
    display: block
}

.asia-map-widget .map-container {
    position: relative;
    width: 100%;
    /* height: 600px; */
    overflow: hidden;
}

body:not(.home) .map-container:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(#fff 4%, #0000 21%);
    pointer-events: none;
    z-index: 1;
}

.asia-map-widget .map-container .map-bg {
    vertical-align: middle;
    max-width: 100%;
    display: inline-block;
}

.asia-map-widget .marker {
    position: absolute;
    width: 1vw;
    height: 1vw;
    border-radius: 50%;
    background: var(--marker-color, #ff4d4f);
    cursor: pointer;
    transform: translate(-100%, -100%) !important;
    z-index: 2;
    transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
}

.asia-map-widget .marker:hover {
    transform: translate3d(0px, 0px, 0px) scale3d(1.2, 1.2, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
}

.asia-map-widget .marker:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--marker-color, #ff4d4f);
    opacity: .15;
}

.asia-map-widget .marker:after {
    content: "";
    position: absolute;
    left: 0%;
    top: 0%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: var(--marker-color, #ff4d4f);
    animation: asia-im-pulse 2s infinite ease-in-out;
    z-index: -1;
}

@keyframes asia-im-pulse {
    0% {
        transform: scale(1);
        opacity: .6;
    }

    50% {
        transform: scale(1.5);
        opacity: .15;
    }

    100% {
        transform: scale(2);
        opacity: 0;
    }
}


.asia-map-widget .tooltip {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -100%);
    min-width: auto;
    max-width: fit-content;
    background: #fff;
    color: var(--dark-blue);
    border-radius: 100vw;
    box-shadow: 0 2px 10px #0003;
    padding: .5vw 1vw;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
    z-index: 3;
    margin-bottom: 2.5vw;
}

body.home .marker[aria-label="Lagos"] .tooltip,
body.home.marker[aria-label="Dubai"] .tooltip,
body.home.marker[aria-label="Singapore"] .tooltip {
    top: unset;
    bottom: 0;
    margin-bottom: unset;
    margin-top: 2.5vw;
    transform: translate(-50%, 100%);
}

body:not(.home) .asia-map-widget .tooltip {
    z-index: var(--hotspotindex);
    opacity: 0;
    pointer-events: none;
    background-color: #fff;
    border: 1px solid #fff;
    border-radius: 1vw;
    width: 20vw;
    max-width: none;
    padding: 1.5vw;
    display: block;
    position: absolute;
    top: 3vw;
    box-shadow: 0 2px 20px #0000001a;
    transform: translate(-50%, 0);
    margin-bottom: 0;
}

.marker:has(.tooltip[aria-hidden="false"]) {
    z-index: 10 !important;
}

.asia-map-widget .tooltip h4 {
    margin: 0;
    text-align: center;
    font-size: 1.8vw;
    line-height: 1.2em;
}

body.home .asia-map-widget .tooltip h4 {
    font-size: 1vw;
    line-height: 1.3em;
}

body:not(.home) .asia-map-widget .tooltip h4 {
    z-index: 2;
    color: var(--dark-blue);
    letter-spacing: -.06em;
    font-family: Aboreto, sans-serif;
    font-size: 1.8vw;
    line-height: 1.2em;
    position: relative;
    margin-bottom: 1vw;
    text-align: start;
}

.asia-map-widget .tooltip p {
    margin: 0 0 6px;
    font-size: 14px;
    line-height: 1.5;
}

.asia-map-widget .tooltip .icon-wrap:has(.address, .email) {
    margin-bottom: .5vw;
}

.asia-map-widget .tooltip a {
    display: inline-block;
    color: #1677ff;
    text-decoration: none;
    font-size: 14px;
    margin-right: 10px;
}

body.home .asia-map-widget .marker:hover .tooltip {
    opacity: 1;
    transform: translate(-50%, -110%);
}

body.home .marker[aria-label="Lagos"]:hover .tooltip,
body.home .marker[aria-label="Dubai"]:hover .tooltip,
body.home .marker[aria-label="Singapore"]:hover .tooltip {
    transform: translate(-50%, 110%);
}

body:not(.home) .asia-map-widget .marker:hover .tooltip {
    opacity: 1;
    transform: translate(-50%, 0%);
}

body:not(.home) .asia-map-widget .marker:hover .tooltip .icon-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: .8vw;
}

body:not(.home) .asia-map-widget .marker:hover .tooltip .icon-wrap img {
    z-index: 4;
    padding-top: .1vw;
    position: relative;
}

/* Mobile slider */
.asia-map-widget .map-mobile-slider {
    display: none !important;
    margin-top: 12px;
}

.asia-map-widget .map-mobile-slider .swiper-slide {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
    padding: 14px;
}

.asia-map-widget .map-mobile-slider h4 {
    margin: 0 0 6px;
    font-size: 3vw;
}

.asia-map-widget .map-mobile-slider p {
    margin: 0 0 6px;
}

.asia-map-widget .map-mobile-slider a {
    color: #1677ff;
    text-decoration: none;
}

body.home .map-mobile-slider {
    display: none !important;
}

.map-stats-container {
    grid-column-gap: 2.5vw;
    grid-row-gap: 2.5vw;
    justify-content: flex-start;
    align-items: center;
    display: flex;
    position: absolute;
    inset: auto auto 12vw 5vw;
}

body:not(.home) .map-stats-container {
    inset: auto auto 9vw 0;
}

body:not(.home) .stat-item {
    grid-column-gap: 1vw;
    grid-row-gap: 1vw;
    flex-flow: column;
    width: 100%;
    display: flex;
    flex: none;
    justify-content: center;
    align-items: flex-start;
    width: 10vw;
    position: relative;
}

body:not(.home) .map-stats-container .stat-item:not(:first-child)::before {
    content: "";
    background: url("/wp-content/uploads/2025/10/home-page-map-divider.webp");
    width: 1px;
    height: 9vw;
    position: absolute;
    left: -1.25vw;
    translate: -50% 0;
    background-position: center center;
    background-size: contain;
}

body:not(.home) .stat-number {
    color: var(--dark-blue);
    text-align: center;
    letter-spacing: -.07em;
    font-family: Aboreto, sans-serif;
    font-size: 6vw;
    line-height: .8em;
}

body:not(.home) .stat-title {
    color: var(--dark-blue);
    text-align: center;
    letter-spacing: -.06em;
    font-family: Aboreto, sans-serif;
    font-size: 1vw;
    line-height: 1.2em;
}

body:not(.home) .address,
body:not(.home) .email,
body:not(.home) .phone {
    z-index: 2;
    color: var(--dark-blue);
    font-size: .9vw;
    position: relative;
}

@media (max-width:991px) {

    .asia-map-widget .marker {
        width: 1.5vw;
        height: 1.5vw;
    }
}

/* Show only title on mobile inside tooltip */
@media (max-width:767px) {
    .asia-map-widget .marker {
        width: 2vw;
        height: 2vw;
    }
}

@media (max-width:479px) {
    .maps-container {
        width: 100%;
        margin-top: 5vw;
        margin-right: 0;
        position: relative;
    }

    .asia-map-widget .marker {
        width: 2.5vw;
        height: 2.5vw;
    }

    .asia-map-widget .tooltip {
        padding: 1.5vw 3vw;
        margin-bottom: 6vw;
    }

    body:not(.home) .asia-map-widget .tooltip {
        max-width: 48vw;
        padding: 3vw;
    }

    body.home .asia-map-widget .tooltip h4 {
        font-size: 2vw;
        line-height: 1.3em;
    }

    body:not(.home) .stat-item {
        grid-column-gap: 2vw;
        grid-row-gap: 2vw;
        width: 100%;
    }

    body:not(.home) .stat-number {
        font-size: 6vw;
    }

    body:not(.home) .stat-title {
        font-size: 3.5vw;
    }

    .asia-map-widget .map-mobile-slider {
        display: block !important;
    }

    .asia-map-widget .tooltip .address,
    .asia-map-widget .tooltip .email,
    .asia-map-widget .tooltip .phone {
        display: none;
    }

    .asia-map-widget .marker:hover .tooltip {
        opacity: 0;
    }

    body.home .asia-map-widget .marker:hover .tooltip {
        opacity: 1;
    }

    body:not(.home) .map-stats-container,
    body:not(.home) .asia-map-widget .tooltip {
        display: none !important;
    }

    body:not(.home) .maps-card-slider {
        flex-flow: column;
        justify-content: flex-end;
        align-items: flex-start;
        display: flex;
        grid-column-gap: 4vw;
        grid-row-gap: 4vw;
        background-color: #fff;
        border-radius: 10px;
        width: 100%;
        height: auto;
        padding: 5vw;
        box-shadow: 0 4px 20px #0000001a;
    }

    body:not(.home) .maps-card-slider h4 {
        letter-spacing: -.06em;
        font-family: Aboreto, sans-serif;
        line-height: 1.2em;
        color: var(--dark-blue);
        width: 100%;
        font-size: 6vw;
        margin-bottom: 5vw !important;
    }

    body:not(.home) .maps-card-slider .more-details {
        grid-column-gap: 2vw;
        grid-row-gap: 2vw;
        flex-flow: column;
        display: flex;
    }

    body:not(.home) .maps-card-slider .more-details .icon-wrap {
        grid-column-gap: 3vw;
        grid-row-gap: 3vw;
        justify-content: flex-start;
        align-items: flex-start;
        display: flex;
    }

    body:not(.home) .maps-card-slider .more-details .icon-wrap img {
        object-fit: contain;
        flex: none;
        width: 4vw;
        height: 5vw;
    }

    body:not(.home) .maps-card-slider .more-details .icon-wrap .address,
    body:not(.home) .maps-card-slider .more-details .icon-wrap .email,
    body:not(.home) .maps-card-slider .more-details .icon-wrap .phone {
        color: var(--dark-blue);
        flex: 0 auto;
        width: 100%;
        font-size: 4vw;
        line-height: 1.3em;
        letter-spacing: .03em;
        font-family: Ppneuemontreal Book, Arial, sans-serif;
        position: relative;
        z-index: 2;
    }

    body:not(.home) .asia-map-widget .map-mobile-slider .swiper-slide {
        box-shadow: unset !important;
    }

    body:not(.home) .asia-map-widget .map-mobile-slider .swiper-pagination-bullet {
        margin: 0 4px !important;
    }

    body:not(.home) .asia-map-widget .map-mobile-slider .swiper-pagination-bullet-active {
        background-color: #0e2043 !important;
    }
}

.home .map-stats-container {
    display: none !important;
}