.kpizz-event-drop-photo {
    position: fixed;
    top: -8%;
    pointer-events: none;
    user-select: none;
    width: clamp(16px, 2.4vw, 30px);
    height: clamp(16px, 2.4vw, 30px);
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
    z-index: 2147482000;
    will-change: transform, opacity;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.82), 0 2px 5px rgba(0,0,0,0.22);
    animation-name: kpizzRoseFall;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
}

@keyframes kpizzRoseFall {
    0%   { transform: translate3d(0, -10vh, 0); opacity: 0; }
    10%  { opacity: var(--rose-opacity, 0.9); }
    50%  { transform: translate3d(var(--rose-sway, 20px), 55vh, 0); }
    90%  { opacity: var(--rose-opacity, 0.9); }
    100% { transform: translate3d(0, 120vh, 0); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .kpizz-event-drop-photo { display: none !important; }
}


/* Compatibilite pour un evenement hors mapping utilisant encore type=octobre_rose. */
.kpizz-rose-drop {
    position: fixed;
    top: -8%;
    pointer-events: none;
    user-select: none;
    width: clamp(16px, 2.4vw, 30px);
    height: auto;
    z-index: 2147482000;
    will-change: transform, opacity;
    animation-name: kpizzRoseFall;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
}

@media (prefers-reduced-motion: reduce) {
    .kpizz-rose-drop { display: none !important; }
}
