.weather-page .weather-nav{background:#f4f4f4;border-radius:16px;padding:9px;margin-bottom:1.5rem;border:1px solid #e9ecef}.weather-page .weather-nav .nav{margin:0;display:flex;gap:8px}.weather-page .weather-nav .nav-link{color:#495057;background:transparent;border-radius:10px;padding:.5rem 1rem;transition:all .2s ease;font-weight:600;font-size:.95rem}.weather-page .weather-nav .nav-link i{color:#1738b8}.weather-page .weather-nav .nav-link:hover{background:#e9ecef;color:#1738b8}.weather-page .weather-nav .nav-link.active{background:#1738b8;color:#fff}.weather-page .weather-nav .nav-link.active i{color:#fff}.weather-page .weather-alert{background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:16px;border:none;padding:1rem 1.2rem;margin-bottom:1rem;box-shadow:0 4px 16px rgba(243,156,18,.25);color:#fff}.weather-page .weather-alert .alert-header{display:flex;align-items:center;justify-content:space-between}.weather-page .weather-alert .btn-link{border:none;background:none;outline:none}.weather-page .weather-alert .btn-link:focus{box-shadow:none}.weather-page .current-weather-card{background:linear-gradient(135deg,#1e3a8a,#3b82f6);border-radius:20px;border:none;padding:2rem;box-shadow:0 8px 24px rgba(30,58,138,.3);color:#fff}.weather-page .current-weather-card .weather-icon{font-size:5rem}.weather-page .current-weather-card .temperature-display{font-size:3.5rem;font-weight:700;line-height:1}.weather-page .current-weather-card .weather-stat{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;color:hsla(0,0%,100%,.9)}.weather-page .current-weather-card .weather-stat .stat-label{flex:1}.weather-page .current-weather-card .weather-stat .stat-value{font-weight:600}.weather-page .current-weather-card .next-hour-timeline{padding-top:1rem;border-top:1px solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.95)}.weather-page .current-weather-card .next-hour-timeline .timeline-labels .timeline-label{flex:1}.weather-page .current-weather-card .next-hour-timeline .timeline-labels .timeline-label .time-text{font-size:.75rem;font-weight:500;opacity:.9}.weather-page .current-weather-card .next-hour-timeline .timeline-bar{height:40px}.weather-page .current-weather-card .next-hour-timeline .timeline-bar .timeline-line{position:absolute;top:50%;left:0;right:0;height:2px;background:hsla(0,0%,100%,.3);transform:translateY(-50%)}.weather-page .current-weather-card .next-hour-timeline .timeline-bar .timeline-dots{position:relative;height:100%;align-items:center}.weather-page .current-weather-card .next-hour-timeline .timeline-bar .timeline-dots .timeline-dot{width:12px;height:12px;background:hsla(0,0%,100%,.9);border-radius:50%;position:relative;z-index:1}.weather-page .current-weather-card .next-hour-timeline .timeline-bar .timeline-dots .timeline-dot.timeline-dot-moon{width:32px;height:32px;background:hsla(0,0%,100%,.15);display:flex;align-items:center;justify-content:center}.weather-page .current-weather-card .next-hour-timeline .timeline-bar .timeline-dots .timeline-dot.timeline-dot-moon i{font-size:24px;color:hsla(0,0%,100%,.9)}.weather-page .current-weather-card .next-hour-timeline .timeline-temps .temp-text{flex:1;font-size:.85rem;font-weight:600}.weather-page .forecast-card{background:#fff;border:1px solid #e9ecef;margin-bottom:1rem;box-shadow:0 2px 12px rgba(17,24,39,.04);transition:all .2s ease;text-decoration:none;color:inherit;display:block}.weather-page .forecast-card:hover{box-shadow:0 4px 20px rgba(17,24,39,.08);transform:translateY(-2px);text-decoration:none;color:inherit}.weather-page .hourly-forecast{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.weather-page .hourly-forecast .hour-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:1rem .5rem;text-align:center;transition:all .2s ease}.weather-page .hourly-forecast .hour-card:hover{background:#e7f1ff;border-color:#1e88e5}.weather-page .hourly-forecast .hour-card .hour-time{font-weight:600;font-size:.9rem;margin-bottom:.5rem;color:#495057}.weather-page .hourly-forecast .hour-card .hour-icon{font-size:2rem;margin:.5rem 0;color:#1e88e5}.weather-page .hourly-forecast .hour-card .hour-temp{font-weight:600;color:#495057}.weather-page .card{border-radius:16px;border:1px solid #e9ecef;box-shadow:0 2px 12px rgba(17,24,39,.04)}.weather-page .card .card-header{background:#f8f9fa;border-bottom:1px solid #edf0f2;padding:.8rem 1rem;border-radius:16px 16px 0 0}.weather-page .card .card-body{padding:1.2rem}.weather-page .weather-cards-row{margin-left:-.5rem;margin-right:-.5rem}.weather-page .weather-cards-row>[class*=col-]{padding-left:.5rem;padding-right:.5rem}.weather-page .forecast-cards-row{margin-left:-.4rem;margin-right:-.4rem}.weather-page .forecast-cards-row>[class*=col-]{padding-left:.4rem;padding-right:.4rem}.weather-page .forecast-card{background:linear-gradient(135deg,rgba(30,130,229,.05),rgba(59,130,246,.05));border:1px solid rgba(30,130,229,.15);border-radius:16px;padding:1.5rem;transition:all .3s ease;box-shadow:0 2px 12px rgba(0,0,0,.08)}.weather-page .forecast-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(30,130,229,.15);border-color:rgba(30,130,229,.3)}@media (max-width:991.98px){.weather-page .hourly-forecast{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem}}@media (max-width:767.98px){.weather-page .weather-nav{padding:6px}.weather-page .weather-nav .nav{flex-direction:column;gap:4px}.weather-page .weather-nav .nav-link{padding:.6rem 1rem;text-align:left;font-size:.9rem;display:flex;align-items:center}.weather-page .weather-nav .nav-link i{width:20px;text-align:center}.weather-page .hourly-forecast{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.weather-page .current-weather-card{padding:1.5rem}.weather-page .current-weather-card .temperature-display{font-size:2.5rem}.weather-page .current-weather-card .weather-icon{font-size:4rem}.weather-page .forecast-card{padding:1rem}}@media (max-width:575.98px){.weather-page .weather-nav .nav-link{padding:.75rem 1rem;justify-content:flex-start}}