/*
 * Neutral PieX public Leaflet marker presentation shared by Accommodation and Trades.
 */
.pxab-map-marker{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    box-sizing:border-box;
    border:2px solid var(--pxab-map-marker-border,#fff);
    border-radius:999px;
    background:var(--pxab-map-marker-bg,#111827);
    color:var(--pxab-map-marker-icon,#fff);
    box-shadow:0 10px 24px var(--pxab-map-marker-shadow,rgba(15,23,42,.28));
    font-size:17px;
}
.pxab-map-marker__icon{
    display:block;
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
    overflow:visible;
}
.pxab-map-marker--anim-pulse{animation:pxabMapMarkerPulse 1.8s ease-in-out infinite}
.pxab-map-marker--anim-bounce{animation:pxabMapMarkerBounce 1.6s ease-in-out infinite}
.pxab-map-marker--anim-drop{animation:pxabMapMarkerDrop .48s cubic-bezier(.2,.9,.25,1.15) both}
.pxab-map-marker--anim-glow{animation:pxabMapMarkerGlow 2.1s ease-in-out infinite}
.pxab-map-marker--has-ripple::after{
    content:"";
    position:absolute;
    inset:-10px;
    border:2px solid var(--pxab-map-marker-animation,rgba(17,24,39,.18));
    border-radius:999px;
    opacity:.28;
    pointer-events:none;
    animation:pxabMapMarkerRipple 1.55s ease-out infinite;
}
@keyframes pxabMapMarkerPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes pxabMapMarkerBounce{0%,100%{transform:translateY(0)}45%{transform:translateY(-8px)}65%{transform:translateY(0)}82%{transform:translateY(-3px)}}
@keyframes pxabMapMarkerDrop{from{opacity:0;transform:translateY(-18px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pxabMapMarkerGlow{
    0%,100%{box-shadow:0 10px 24px var(--pxab-map-marker-shadow,rgba(15,23,42,.28))}
    50%{box-shadow:0 0 0 8px var(--pxab-map-marker-animation,rgba(17,24,39,.18)),0 16px 34px var(--pxab-map-marker-shadow,rgba(15,23,42,.3))}
}
@keyframes pxabMapMarkerRipple{from{opacity:.32;transform:scale(.65)}to{opacity:0;transform:scale(1.45)}}
@media(prefers-reduced-motion:reduce){
    .pxab-map-marker--anim-pulse,
    .pxab-map-marker--anim-bounce,
    .pxab-map-marker--anim-drop,
    .pxab-map-marker--anim-glow,
    .pxab-map-marker--has-ripple::after{animation:none!important}
}
