#mapWrapper {
    position:relative;
    z-index:1;
}


#mapChooseRelation {
    z-index:1000;
    width:70%;
    position: relative;
    margin:auto;
}


#mapChooseCategory {
    z-index:1000;
    width:50%;
    display:none;
}

#mapContainer {
    width: 100%;
    margin-top: 1rem;
    height: 100%;
    max-width: 1400px;
    position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
#mapContainer > * {
  grid-area: 1 / 1;
}
#mapItemContainer {
    position:relative;
    z-index:2;
    width:50vw;
    max-width: 600px;
    display: flex;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
    opacity: 0;

    & .map-item-header {
        display:grid;
        gap:1rem;
        grid-template-columns: 1fr;
    }


    & .map-persona {
        display:flex;
        flex-direction: row;
        gap:1rem;
        margin-bottom:1rem;

        & .image {
            & img {
                width: 60px;
                height: 60px;
                border-radius: 999px;
                object-fit: cover;
                border: 4px solid var(--color-medium);
            }
        }
        &  .info {
            flex: 1;
            display:flex;
            flex-direction: column;
            & h2 {
                font-weight: 600;
                font-size: 1.25rem;
                color: #1f2937;
            }
            & .span {
                font-size: 0.875rem;
                color: #4b5563;
            }
        }
    }

    &.show {
        pointer-events: auto;
        opacity: 1;
    }

    & .map-item-close-icon {
        position: absolute;
        top: 1.5rem;
        right: 2rem;
        cursor: pointer;
        z-index: 1002;
    }
    &::after {
        content:'';
        position:absolute;
        inset:0;
        background-color: #ffffffe0;
        opacity:0.90;
        z-index:-1;
        /* gradient the first 10 pixels in top from --primary to transparent */
    }
    & #mapItemContent {
        flex:1;
        margin:1rem;
        overflow:hidden;
        & .map-item-header  {
            & .map-persona {
                width:100%;
                margin-bottom:1rem;
            }
            & 

        }
    }
    & #map-location-items {
        padding: 1rem;
        background-color: var(--color-subtle);
        border-radius: var(--border-radius);
        display:flex;
        flex-direction:column;
        gap:1rem;
        
        & .map-location-item {
            display:flex;
            flex-direction:row;
            gap:1rem;
            cursor: pointer;
            padding:1rem;
            border-radius: 0.5rem;
            /* shadow as border */
            box-shadow: 0 0 0 1px var(--color-subtle);
            border: 1px solid var(--color-medium);
            background-color: #fff;
            &:hover {
                box-shadow: 0 0 0 1px var(--color-hard);
                border: 1px solid var(--color-hard);
            }

            & .map-item-icon-type {
                width: 50px;
                height: 50px;
                border-radius: 10px;
                background-color: var(--color-subtle);
                flex-shrink: 0;
                display:flex;
                align-items:center;
                justify-content:center;
                & span {
                    width:70%;
                    aspect-ratio:1/1;
                    display:inline-block;
                    mask-size: contain;
                    mask-repeat: no-repeat;
                    mask-position: center;
                    mask-image: var(--micon-mask);
                    -webkit-mask-size: contain;
                    -webkit-mask-repeat: no-repeat;
                    -webkit-mask-position: center;
                    -webkit-mask-image: var(--micon-mask);
                    background-color: var(--color-hard);
                }
            }
            & .map-item-info {
                flex:1;
                display:flex;
                align-content:center;
                justify-content: space-between;
                flex-wrap:wrap;

                & .item-category {
                    font-weight: 500;
                    color: #1f2937;
                }

                & .item-price {
                    font-weight: 500;
                }
                & .item-pill {
                    padding: 0.25rem 0.75rem;
                    background-color: var(--color-subtle);
                    color: var(--color-hard);
                    border-radius: 9999px;
                    font-size: 0.75rem;
                    font-weight: 500;
                }
                & .item-name {
                    width:100%;
                    font-size: 0.875rem;
                    color: #4b5563;
                }
            }
        }
    }
}





#hs-grayscale-leaflet {
    overflow: hidden;
    width: 100%;
    z-index: 1;
    /*opacity: 0;
    animation: fadeIn .5s 0s ease-in forwards;*/
}

@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

.hs-leaflet {
    background-color: #f3f4f6;

}

.hs-leaflet.leaflet-touch .leaflet-control-layers,
.hs-leaflet.leaflet-touch .leaflet-bar {
    border-width: 0px;
}

.hs-leaflet.leaflet-touch .leaflet-bar a {
    line-height: 1.5;
    background-color: rgba(255,255,255,.8);
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

.hs-leaflet.leaflet-touch .leaflet-bar a:first-child,
.hs-leaflet.leaflet-touch .leaflet-bar a:last-child {
    border-radius: 8px;
}

.hs-leaflet .leaflet-control-zoom-in,
.hs-leaflet .leaflet-control-zoom-out {
    font-weight: 400;
    font-size: 18px;
    color: #1f2937;
    text-indent: 0px;
}

.hs-leaflet .leaflet-bar {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hs-leaflet .leaflet-bar a {
    border-width: 0;
}

.hs-leaflet .leaflet-bar a:hover,
.hs-leaflet .leaflet-bar a:focus {
    background-color: #e5e7eb;
}

.hs-leaflet .leaflet-popup-content-wrapper,
.hs-leaflet .leaflet-popup-tip {
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

.hs-leaflet .leaflet-popup-tip {
    border-radius: 1px;
}

.hs-leaflet.leaflet-container a.leaflet-popup-close-button {
    top: -10px;
    right: -10px;
    border-radius: 9999px;
    background-color: #333;
    color: #eee;
    font-size: 14px;
    line-height: 1.6;
}

.hs-leaflet.leaflet-container a.leaflet-popup-close-button:hover {
    background-color: #000;
}

.hs-leaflet-unstyled-popover .leaflet-popup-content-wrapper {
    display: flex;
}

.hs-leaflet-unstyled-popover .leaflet-popup-content {
    padding: 0;
    margin: 0;
    background: none;
    line-height: normal;
    border-radius: 0;
    font-size: inherit;
    min-height: auto;
}

.leaflet-control-zoom,
.leaflet-control-attribution {
    display: none;
}

#hs-grayscale-leaflet {
    height: 800px;
    border-radius: var(--border-radius-xl);
    max-height: 90vh;
}

#hs-grayscale-leaflet .leaflet-bottom.leaflet-left {
    width: 100%;
    display: flex;
    justify-content: center;
    pointer-events: none;
}
#hs-grayscale-leaflet .leaflet-bottom.leaflet-left .leaflet-control {
    pointer-events: auto;
}