/**
 * Anemone Site Map - Frontend Styles
 */

.anemone-site-map-container {
    width: 100%;
    max-width: 100%;
    margin: 20px 0;
}

.anemone-site-map {
    position: relative;
    width: 100%;
    max-width: 100%;
    background: #f5f5f5;
    border-radius: 4px;
    overflow: hidden;
}

.anemone-site-map-image-wrapper {
    position: relative;
    width: 100%;
    display: block;
}

.anemone-site-map-image {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

.anemone-site-map-pins {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.anemone-site-map-pin {
    position: absolute;
    width: 24px;
    height: 40px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23d63638"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    pointer-events: all;
    transform: translate(-50%, -100%);
    transition: transform 0.2s ease, filter 0.2s ease;
    z-index: 10;
    filter: drop-shadow(0 0 2px white) drop-shadow(0 0 2px white) drop-shadow(0 0 1px white);
}

.anemone-site-map-pin:hover {
    transform: translate(-50%, -100%) scale(1.15);
    filter: brightness(1.2) drop-shadow(0 0 2px white) drop-shadow(0 0 2px white) drop-shadow(0 0 1px white);
    z-index: 11;
}

.anemone-site-map-pin:active {
    transform: translate(-50%, -100%) scale(1.05);
}

.anemone-map-error {
    padding: 20px;
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 4px;
    color: #856404;
    text-align: center;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    .anemone-site-map-pin {
        width: 20px;
        height: 32px;
    }
}
