/* Map canvas */
.el-locationmap .el-map {
    width: 100%;
}

/* HTML marker (OverlayView; works with and without a Map ID).
   Override these in your own CSS to add a background, shape, border, shadow…
   e.g. .el-locationmap-marker { background:#fff; border-radius:50%; padding:6px;
   box-shadow:0 2px 6px rgba(0,0,0,.3); } */
.el-locationmap-marker {
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.el-locationmap-marker-img {
    display: block;
    height: var(--el-marker-h, 40px);
    width: auto;
}

/* Bounce the icon (not the wrapper, so the centring transform stays intact)
   while hovering its list item. */
.el-locationmap-marker.el-bounce .el-locationmap-marker-img {
    animation: el-locationmap-bounce .6s ease infinite;
}

@keyframes el-locationmap-bounce {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-8px); }
}

/* Panel: sidebar column */
.el-locationmap .el-panel {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Styled panels (card/tile) keep the box itself unpadded so the footer divider
   runs edge to edge; the inner padding is applied to the list and footer below.
   This also neutralises the intrinsic padding UIkit gives .uk-tile. */
.el-locationmap .el-panel.uk-card,
.el-locationmap .el-panel.uk-tile {
    padding: 0;
}

.el-locationmap .el-panel-pad-small  { --el-panel-padding: 15px; }
.el-locationmap .el-panel-pad-medium { --el-panel-padding: 30px; }
.el-locationmap .el-panel-pad-large  { --el-panel-padding: 40px; }

/* Location list */
.el-locationmap .el-list {
    flex: 1;
    overflow-y: auto;
    padding: 0;
    margin: 0;
    list-style: none;
}

.el-locationmap [class*="el-panel-pad-"] .el-list {
    padding: var(--el-panel-padding);
}

/* List item */
.el-locationmap .el-item {
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    transition: background .15s;
}

.el-locationmap .el-item.uk-flex-middle {
    align-items: center;
}

/* Icon */
.el-locationmap .el-icon {
    flex-shrink: 0;
    margin-right: 12px;
    opacity: .6;
}

/* Item content */
.el-locationmap .el-item-content {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.el-locationmap .el-address,
.el-locationmap .el-phone {
    display: block;
}

.el-locationmap .el-link {
    display: inline-block;
}

.el-locationmap .el-link:not(.uk-button) {
    display: block;
    font-size: .875em;
}

/* Panel footer: spans edge to edge; horizontal padding only aligns the button
   with the list items above it. */
.el-locationmap .el-panel-footer {
    padding: 12px 20px;
    border-top: 1px solid rgba(0, 0, 0, .08);
}

.el-locationmap [class*="el-panel-pad-"] .el-panel-footer {
    padding-left: var(--el-panel-padding);
    padding-right: var(--el-panel-padding);
}

.el-locationmap .el-reset {
    width: 100%;
}

/* Consent overlay */
.el-locationmap .el-consent-overlay {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    background: #f0f0f0;
}

.el-locationmap .el-consent-card {
    padding: 20px;
}
