.leaflet-tooltip.spot-name-bubble {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
}
.leaflet-tooltip-top.spot-name-bubble::before { display: none; }
.spot-name-bubble-content {
    position: relative;
    display: block;
    padding: 0.45rem 0.65rem;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.94);
    color: #26312f;
    box-shadow: 0 5px 16px rgba(15, 23, 42, 0.16);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    animation: spot-bubble-breathe 2600ms ease-in-out infinite;
}
.spot-name-bubble-content::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -7px;
    width: 14px;
    height: 8px;
    background: rgba(255, 255, 255, 0.94);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: translateX(-50%);
}
@keyframes spot-bubble-breathe {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

#starRatingContainer [data-score],
#form-rating-stars [data-score] {
    display: inline-block;
    min-width: 1em;
    min-height: 1em;
    border-radius: 50%;
    transform-origin: center;
}
#starRatingContainer.has-five-star-rating [data-score],
#form-rating-stars.has-five-star-rating [data-score] { color: #f59e0b; }
#starRatingContainer [data-score]:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
    .spot-name-bubble-content { animation: none; }
}
