body {
    font-family: 'Inter', sans-serif;
    background-color: #1a1a1a;
}
.font-jp-serif {
    font-family: 'Noto Serif JP', serif;
}
.modal-backdrop {
    background-color: rgba(0, 0, 0, 0.7);
}
.toast-notification {
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    transform: translateY(100%);
    opacity: 0;
}
.toast-notification.show {
    transform: translateY(0);
    opacity: 1;
}
#image-carousel img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 1s ease-in-out;
    opacity: 0;
}
#image-carousel img.active {
    opacity: 1;
}
/* --- NUEVO: Animación para el parpadeo del precio --- */
@keyframes flash-effect {
    0%, 100% { 
        transform: scale(1); 
        opacity: 1; 
    }
    50% { 
        transform: scale(1.1); 
        opacity: 0.9; 
        color: #FBBF24; /* Color ámbar */
    }
}
.price-flash {
    animation: flash-effect 0.5s ease-in-out;
}