body {
    font-family: 'Inter', sans-serif;
    /* Default background gradient */
    background: linear-gradient(to top, #1e3c72, #2a5298);
    /* Smooth transition for background changes */
    transition: background 1s ease-in-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* New animation for the card appearing */
.fade-in-up {
    animation: fadeInUp 0.7s ease-in-out forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Enhanced glassmorphism effect */
.glass-card {
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}

/* Custom focus ring for input */
#city-input:focus {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5);
}

/* Enhanced button styles */
.search-button {
    background: linear-gradient(45deg, #3b82f6, #60a5fa);
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.search-button:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.6);
}

/* Styling for the detail tiles */
.detail-tile {
    transition: transform 0.3s ease, background 0.3s ease;
}

.detail-tile:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.1);
}