/* Site-wide tweaks for Bootstrap pages (non-hamweather app) */

body {
	background: #0b1220;
	color: #e6edf3;
}

/* Brighter header treatment */
.hw-navbar{
	background:
		radial-gradient(900px 260px at 15% 0%, rgba(93,214,255,.32), transparent 55%),
		radial-gradient(800px 260px at 85% 0%, rgba(61,220,151,.24), transparent 60%),
		linear-gradient(180deg, rgba(15,23,42,.92), rgba(11,18,32,.92));
	border-bottom: 1px solid rgba(255,255,255,.10);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.hw-brand-logo{
	height: 44px;
	width: auto;
	border-radius: 10px;
	filter: drop-shadow(0 10px 18px rgba(0,0,0,.40));
}

@media (max-width: 575.98px) {
	.hw-brand-logo{ height: 38px; }
}

.hw-navbar .nav-link{
	color: rgba(231, 237, 243, .88);
}

.hw-navbar .nav-link:hover{
	color: rgba(231, 237, 243, 1);
}

.hw-navbar .nav-link.active{
	color: #e6edf3;
	position: relative;
}

.hw-navbar .nav-link.active::after{
	content: "";
	position: absolute;
	left: .5rem;
	right: .5rem;
	bottom: .35rem;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(93,214,255,.95), rgba(61,220,151,.95));
}

.hw-hero {
	background: radial-gradient(900px 450px at 20% 0%, rgba(93,214,255,.18), transparent 60%),
				radial-gradient(700px 420px at 80% 10%, rgba(61,220,151,.12), transparent 60%),
				rgba(17,26,46,.65);
}

.hw-footer {
	color: rgba(231, 237, 243, .70);
}

.navbar {
	box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

.card {
	border: 1px solid rgba(255,255,255,.10);
	background: rgba(17,26,46,.65);
}

.form-control, .form-select {
	background-color: rgba(15,23,42,.85);
	border-color: rgba(255,255,255,.12);
	color: #e6edf3;
}

.form-control:focus, .form-select:focus {
	background-color: rgba(15,23,42,.95);
	border-color: rgba(93,214,255,.6);
	box-shadow: 0 0 0 .2rem rgba(93,214,255,.15);
	color: #e6edf3;
}

.text-muted {
	color: rgba(231, 237, 243, .70) !important;
}

.alert {
	border-color: rgba(255,255,255,.12);
}

/* --- Home: Local Weather (NOAA/NWS) --- */

.hww-grid {
	display: grid;
	grid-template-columns: 1.35fr 0.65fr;
	gap: 1rem;
}

@media (max-width: 991.98px) {
	.hww-grid { grid-template-columns: 1fr; }
}

.hww-icon {
	background: rgba(255,255,255,.08);
	border-radius: 14px;
	padding: 6px;
}

.hww-temp {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
}

.hww-summary {
	font-size: 1.1rem;
}

.hww-strip {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: .5rem;
	margin-top: 1rem;
}

@media (max-width: 575.98px) {
	.hww-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.hww-day {
	border: 1px solid rgba(255,255,255,.10);
	background: rgba(15,23,42,.55);
	border-radius: 14px;
	padding: .65rem;
	text-align: center;
}

.hww-day-name {
	font-size: .85rem;
	color: rgba(231, 237, 243, .75);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.hww-day-icon {
	width: 42px;
	height: 42px;
	object-fit: contain;
	margin: .25rem auto .15rem;
	filter: drop-shadow(0 6px 12px rgba(0,0,0,.35));
}

.hww-day-temp {
	font-weight: 600;
}

.hww-hourly {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: .5rem;
	margin-top: .75rem;
}

@media (max-width: 575.98px) {
	.hww-hourly { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.hww-hour {
	border: 1px solid rgba(255,255,255,.10);
	background: rgba(15,23,42,.40);
	border-radius: 14px;
	padding: .55rem .5rem;
	text-align: center;
}

.hww-hour-time {
	font-size: .8rem;
	color: rgba(231, 237, 243, .75);
}

.hww-hour-temp {
	font-weight: 650;
	margin-top: .15rem;
}

.hww-metric {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.1;
}

.hww-sun-time {
	font-size: 1.5rem;
	font-weight: 700;
}

#hww-search-form .form-control {
	max-width: 260px;
}

.hww-search-wrap {
	position: relative;
}

.hww-suggest {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	background: rgba(15,23,42,.98);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 14px;
	box-shadow: 0 18px 45px rgba(0,0,0,.45);
	overflow: hidden;
	z-index: 20;
}

.hww-suggest .hww-suggest-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: .75rem;
	padding: .55rem .75rem;
	cursor: pointer;
}

.hww-suggest .hww-suggest-item:hover,
.hww-suggest .hww-suggest-item[aria-selected="true"] {
	background: rgba(93,214,255,.12);
}

.hww-suggest .hww-suggest-label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.hww-suggest .hww-suggest-meta {
	color: rgba(231, 237, 243, .65);
	font-size: .8rem;
	white-space: nowrap;
}
