/* animations.css — entry animations disabled for clean load */
/* Keyframes kept but not applied to avoid opacity:0 freeze */
@keyframes fade-up {
    from { opacity: 0; transform: translateY(22px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes scale-in {
    from { opacity: 0; transform: scale(0.93); }
    to   { opacity: 1; transform: scale(1); }
}
@keyframes slide-down {
    from { opacity: 0; transform: translateY(-14px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes heart-pulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.4); }
    100% { transform: scale(1); }
}
.like-heart-animate {
    animation: heart-pulse 0.4s ease-out;
}
/* Card lift on hover */
.premium-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
/* Button press */
button:active:not(:disabled) {
    transform: scale(0.96) !important;
}
/* Image hover zoom */
.group\/gallery img,
.group\/campus img {
    transition: transform 0.4s ease;
}
.group\/gallery:hover img,
.group\/campus:hover img {
    transform: scale(1.05);
}
/* Global transitions */
a, button {
    transition: color 0.18s ease, background-color 0.22s ease,
                box-shadow 0.22s ease, transform 0.18s ease,
                border-color 0.18s ease, opacity 0.18s ease !important;
}
/* Modal open */
[id^="modal-"]:not(.hidden) > div {
    animation: scale-in 0.28s cubic-bezier(0.16,1,0.3,1) both;
}
