/* Reset & basic styling */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(135deg, #1a1a1a, #2b2b2b, #1a1a1a);
    color: #fff;
}

/* Header */
header {
    padding: 40px 20px;
    text-align: center;
}

header h1 {
    font-size: 2.5rem;
    color: #f55a69; 
    letter-spacing: 2px;
    text-shadow: 0 2px 5px rgba(0,0,0,0.5);
    font-weight: 700;
}

/* Album Gallery */
.album-gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 35px;
    padding: 20px;
}

.album {
    width: 200px;
    perspective: 1000px;
    opacity: 0;
    transform: translateY(50px);
    animation: albumFadeIn 0.8s ease forwards;
}

.album:nth-child(1) { animation-delay: 0.2s; }
.album:nth-child(2) { animation-delay: 0.35s; }
.album:nth-child(3) { animation-delay: 0.5s; }
.album:nth-child(4) { animation-delay: 0.65s; }
.album:nth-child(5) { animation-delay: 0.8s; }
.album:nth-child(6) { animation-delay: 0.95s; }

.album img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 20px;
    transition: transform 0.5s ease, box-shadow 0.5s ease;
    cursor: pointer;
    animation: float 3s ease-in-out infinite alternate;
}

/* Hover effect */
.album img:hover {
    transform: scale(1.12) rotateY(12deg);
    box-shadow: 0 25px 50px rgba(254, 46, 98, 0.579);
}

.album-title {
    text-align: center;
    margin-top: 10px;
    font-weight: 600;
    color: #fff;
}

/* Floating animation */
@keyframes float {
    from { transform: translateY(0px); }
    to { transform: translateY(-8px); }
}

/* Album fade-in animation */
@keyframes albumFadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Footer */
footer {
    width: 100%;
    padding: 15px 0;
    text-align: center;
    background-color: #1a1a1a;
    color: #bbb;
    font-size: 0.9rem;
    margin-top: 30px;

    opacity: 0;
    transform: translateY(50px);
    animation: slideUpFooter 1s ease forwards;
    animation-delay: 1.2s;
    transition: color 0.3s, text-shadow 0.3s;
}

/* Footer hover glow */
footer:hover {
    color: #ff70a9;
    text-shadow: 0 0 10px #64766b;
}

/* Footer animation keyframes */
@keyframes slideUpFooter {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive */
@media (max-width: 600px) {
    .album {
        width: 150px;
    }
    .album img {
        height: 150px;
    }
}