.wcsdm-ml-locator-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
    height: auto;
}

#wcsdm-ml-map {
    width: 100%;
    height: var(--wcsdm-map-height, 400px);
    border: 1px solid #ddd;
    border-radius: 4px;
}

.wcsdm-ml-shops-list {
    width: 100%;
    height: auto;
    /* Limit height on mobile so it scrolls instead of creating a huge page */
    max-height: var(--wcsdm-map-height, 400px);
    overflow-y: auto;
    border: 1px solid #eee;
    padding: 15px;
    border-radius: 4px;
}

.wcsdm-ml-shops-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wcsdm-shop-item {
    padding: 10px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    transition: background-color 0.2s;
}

.wcsdm-shop-item:hover {
    background-color: #f9f9f9;
}

.wcsdm-shop-item:last-child {
    border-bottom: none;
}

/* Responsive */
@media (min-width: 768px) {
    .wcsdm-ml-locator-wrapper {
        flex-wrap: nowrap;
        height: var(--wcsdm-map-height, 400px);
    }

    #wcsdm-ml-map {
        flex: 2;
        height: 100%;
    }

    .wcsdm-ml-shops-list {
        flex: 1;
        height: 100%;
    }
}