/* Floating hearts animation */
@keyframes float {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translateY(-100vh) rotate(360deg);
        opacity: 0;
    }
}

.heart {
    position: absolute;
    pointer-events: none;
    animation: float linear forwards;
    filter: drop-shadow(0 0 5px rgba(225, 29, 72, 0.3));
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: rgba(251, 113, 133, 0.1);
}

::-webkit-scrollbar-thumb {
    background: rgba(225, 29, 72, 0.5);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(225, 29, 72, 0.7);
}

/* Smooth transitions */
* {
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Button focus states */
button:focus {
    outline: none;
    ring: 2px;
    ring-opacity: 50%;
    ring-color: primary;
}