/* Site-wide tweaks for Bootstrap pages (non-hamweather app) */

body {
	background: #0b1220;
	color: #e6edf3;
}

/* Brighter header treatment */
.hw-navbar{
	position: sticky;
	top: 0;
	z-index: 1030;
	background:
		radial-gradient(900px 260px at 15% 0%, #1f6a8c 0%, #0f172a 55%),
		radial-gradient(800px 260px at 85% 0%, #1c5b4a 0%, #0f172a 60%),
		linear-gradient(180deg, #0f172a, #0b1220);
	border-bottom: 1px solid rgba(255,255,255,.10);
}

.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, #5dd6ff, #3ddc97);
}

.hw-hero {
	background:
		radial-gradient(900px 450px at 20% 0%, #163b57 0%, #0f172a 60%),
		radial-gradient(700px 420px at 80% 10%, #143d33 0%, #0f172a 60%),
		linear-gradient(180deg, #111a2e, #0f172a);
}

.hw-key-indices-bar {
	background: #0b1220;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Home page: Space Weather Key Indices */
.hw-indices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
@media (max-width: 576px) {
	.hw-indices { grid-template-columns: 1fr; }
}

.hw-index {
	background: #0f172a;
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 12px;
	padding: 12px;
}

.hw-index .label {
	font-size: 12px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.65);
	margin-bottom: 6px;
}

.hw-index .value {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.1;
}

.hw-tag {
	display: inline-block;
	min-width: 3.25ch;
	text-align: center;
	padding: 2px 8px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.16);
	background: #111827;
	color: #ffffff;
	text-shadow: -1px 0 rgba(0,0,0,.92), 0 1px rgba(0,0,0,.92), 1px 0 rgba(0,0,0,.92), 0 -1px rgba(0,0,0,.92);
	font-variant-numeric: tabular-nums;
}

.hw-tag-good {
	background: #0b3b2a;
	border-color: #1a7f5a;
	color: #3ddc97;
}

.hw-tag-warn {
	background: #3b2b0b;
	border-color: #8a6a1e;
	color: #ffcc66;
}

.hw-tag-bad {
	background: #3b1010;
	border-color: #9a2d2d;
	color: #ff6b6b;
}

.hw-footer {
	color: rgba(231, 237, 243, .70);
}

.navbar {
	box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

/* Ensure dropdowns layer above page content */
.navbar .dropdown-menu {
	z-index: 1040;
}

.card {
	border: 1px solid rgba(255,255,255,.10);
	background: #111a2e;
	color: #ffffff;
}

.form-control, .form-select {
	background-color: #0f172a;
	border-color: rgba(255,255,255,.12);
	color: #e6edf3;
}

.form-control:focus, .form-select:focus {
	background-color: #0b1220;
	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);
}

/* --- Tables (Bootstrap pages) --- */

.table{
	--hw-table-border: #1f2a44;
	color: #e6edf3;
}

.table > :not(caption) > * > *{
	border-bottom-color: var(--hw-table-border);
}

.table thead th{
	color: rgba(231, 237, 243, .90);
	font-weight: 750;
	letter-spacing: .3px;
	text-transform: uppercase;
	font-size: .78rem;
	background:
		radial-gradient(900px 180px at 18% 0%, #1a4b66 0%, #0f172a 55%),
		radial-gradient(800px 180px at 82% 0%, #164a3c 0%, #0f172a 60%),
		linear-gradient(180deg, #111a2e, #0f172a);
}

.table-striped > tbody > tr:nth-of-type(odd) > *{
	background-color: #0b1426;
	color: inherit;
}

/* --- 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: #0f172a;
	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: #0f172a;
	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: #0f172a;
	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: #0f172a;
	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: #10314a;
}

.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;
}
