.world-map-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 8;
    background: var(--color-white);
    border: 1px solid var(--color-light-gray);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    padding: var(--space-lg);
}

.world-map-base {
    width: 100%;
    height: 100%;
    background-color: #123524;
    -webkit-mask-image: url('../../images/site/world-map.svg');
    mask-image: url('../../images/site/world-map.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.world-map-markers {
    position: absolute;
    inset: var(--space-lg);
}

.map-marker {
    position: absolute;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.map-marker-tooltip {
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    background: var(--color-white);
    color: var(--color-primary);
    padding: 0.5rem 0.9rem;
    border-radius: var(--radius-sm);
    font-size: 0.8rem;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: var(--shadow-md);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.map-marker:hover .map-marker-tooltip,
.map-marker.is-active .map-marker-tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

@media (max-width: 700px) {
    .world-map-wrap { aspect-ratio: 4 / 5; padding: var(--space-md); }
}
