.map-curated-landmark-marker {
    position: relative;
    width: 68px;
    height: 68px;
    z-index: 5;
    transition: width 180ms ease, height 180ms ease, opacity 160ms ease;
}

.map-curated-landmark-marker[hidden] { display: none !important; }
.map-curated-landmark-marker.is-compact { width: 52px; height: 52px; }

.map-curated-landmark-marker__button {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: visible;
    border: 4px solid rgba(255,255,255,.96);
    border-radius: 999px;
    background: #152028;
    box-shadow: 0 8px 26px rgba(15,23,42,.28), 0 0 0 2px rgba(255,100,46,.78);
    cursor: pointer;
    transform-origin: center;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.map-curated-landmark-marker__button::before {
    content: "";
    position: absolute;
    inset: -8px;
    z-index: -1;
    border: 2px solid rgba(255,100,46,.38);
    border-radius: 999px;
    opacity: 0;
    transform: scale(.78);
    transition: opacity 180ms ease, transform 180ms ease;
}

.map-curated-landmark-marker__button:hover,
.map-curated-landmark-marker__button:focus-visible {
    outline: none;
    transform: translateY(-3px) scale(1.055);
    box-shadow: 0 14px 34px rgba(15,23,42,.34), 0 0 0 3px rgba(255,100,46,.9);
}
.map-curated-landmark-marker__button:hover::before,
.map-curated-landmark-marker__button:focus-visible::before { opacity: 1; transform: scale(1); }

.map-curated-landmark-marker__button img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
}

.map-curated-landmark-marker__badge {
    position: absolute;
    right: -7px;
    bottom: -4px;
    min-width: 27px;
    padding: 4px 5px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #ff642e;
    color: #fff;
    box-shadow: 0 4px 12px rgba(15,23,42,.26);
    font: 800 8px/1 Manrope, Inter, system-ui, sans-serif;
    letter-spacing: .04em;
    text-align: center;
}

.map-curated-landmark-marker.is-compact .map-curated-landmark-marker__button { border-width: 3px; }
.map-curated-landmark-marker.is-compact .map-curated-landmark-marker__badge { right: -8px; bottom: -6px; transform: scale(.86); }

@media (max-width: 640px) {
    .map-curated-landmark-marker { width: 58px; height: 58px; }
    .map-curated-landmark-marker.is-compact { width: 46px; height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
    .map-curated-landmark-marker,
    .map-curated-landmark-marker__button,
    .map-curated-landmark-marker__button::before { transition: none; }
}
