:root { --primary-color: #0984E3; --secondary-color: #2D3436; --accent-color: #FDCB6E; --bg-light: #F5F6FA; --text-dark: #2D3436; --glass-bg: rgba(255, 255, 255, 0.7); --glass-border: rgba(255, 255, 255, 0.3); } body { font-family: 'Inter', sans-serif; color: var(--text-dark); background-color: var(--bg-light); line-height: 1.6; } h1, h2, h3, h4, h5, .navbar-brand { font-family: 'Outfit', sans-serif; } /* Glassmorphism Card */ .weather-card { background: var(--glass-bg); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid var(--glass-border); border-radius: 24px; box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07); transition: transform 0.3s ease; } .weather-card:hover { transform: translateY(-5px); } /* Hero Section */ .hero-weather { background: linear-gradient(135deg, #0984E3 0%, #74b9ff 100%); color: white; padding: 80px 0; border-radius: 0 0 50px 50px; margin-bottom: -60px; } .current-temp { font-size: 5rem; font-weight: 700; line-height: 1; } /* Search Input */ .search-wrapper { max-width: 600px; margin: 0 auto; position: relative; z-index: 10; } .search-input { height: 60px; border-radius: 30px; padding-left: 30px; border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.1); font-size: 1.1rem; } .search-btn { position: absolute; right: 5px; top: 5px; height: 50px; border-radius: 25px; padding: 0 25px; background-color: var(--primary-color); border: none; color: white; font-weight: 600; } /* Forecast Grids */ .hourly-item { min-width: 100px; text-align: center; padding: 15px; } .day-item { display: flex; align-items: center; justify-content: space-between; padding: 15px 20px; border-bottom: 1px solid rgba(0,0,0,0.05); } .day-item:last-child { border-bottom: none; } /* Badges */ .badge-soft { padding: 6px 12px; border-radius: 8px; font-weight: 500; } .badge-soft-info { background-color: rgba(9, 132, 227, 0.1); color: var(--primary-color); }