.noesia-swa-weather-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
	align-items: stretch;
	width: 100%;
}

.noesia-swa-weather-current-box,
.noesia-swa-forecast-box {
	min-width: 0;
	min-height: 220px;
	height: 100%;
	box-sizing: border-box;
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 16px 14px;
}

.noesia-swa-weather-current-box {
	grid-column: span 1;
}

.noesia-swa-forecast-box {
	grid-column: span 1;
}

#noesia-swa-weather-current-main,
.noesia-swa-weather-today-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	min-height: 100%;
}

.noesia-swa-weather-day {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.8;
	margin-bottom: 6px;
}

.noesia-swa-weather-place {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	margin-bottom: 10px;
	opacity: 0.92;
}

.noesia-swa-weather-big {
	font-size: 30px;
	font-weight: 800;
	line-height: 1.1;
	margin-bottom: 10px;
}

.noesia-swa-weather-condition {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	margin-bottom: 14px;
	opacity: 0.92;
}

.noesia-swa-weather-today-meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: auto;
}

.noesia-swa-weather-meta-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 10px 8px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
}

.noesia-swa-weather-meta-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.75;
}

.noesia-swa-weather-meta-value {
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
}

#noesia-swa-weather-forecast {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	align-items: stretch;
	width: 100%;
}

.noesia-swa-forecast-top {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 12px;
}

.noesia-swa-forecast-day {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.noesia-swa-forecast-date {
	font-size: 12px;
	opacity: 0.78;
}

.noesia-swa-forecast-icon {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 14px;
}

.noesia-swa-forecast-icon-emoji {
	font-size: 28px;
	line-height: 1;
}

.noesia-swa-forecast-condition {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	min-height: 38px;
}

.noesia-swa-forecast-temp {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-top: auto;
	margin-bottom: 10px;
}

.noesia-swa-forecast-high {
	font-size: 18px;
	font-weight: 800;
	line-height: 1.1;
}

.noesia-swa-forecast-low {
	font-size: 14px;
	font-weight: 600;
	opacity: 0.8;
}

.noesia-swa-forecast-rain {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	opacity: 0.86;
}

@media (max-width: 1400px) {
	.noesia-swa-weather-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	#noesia-swa-weather-forecast {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.noesia-swa-weather-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#noesia-swa-weather-forecast {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.noesia-swa-weather-today-meta {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.noesia-swa-weather-grid,
	#noesia-swa-weather-forecast {
		grid-template-columns: 1fr;
	}
}