/**
 * UPE Ilm Pro – pagrindiniai stiliai (mobile-first).
 */

.upew {
	--upew-bg: #ffffff;
	--upew-surface: #f5f7fa;
	--upew-border: #e2e8f0;
	--upew-text: #1a2230;
	--upew-muted: #5b6779;
	--upew-accent: #0b6bcb;
	--upew-radius: 14px;
	--upew-gap: 16px;

	color: var(--upew-text);
	display: block;
	margin: 0 auto;
	max-width: 1100px;
	width: 100%;
}

.upew-page__inner {
	margin: 0 auto;
	max-width: 1180px;
	padding: 24px 16px 56px;
}

.upew *,
.upew *::before,
.upew *::after {
	box-sizing: border-box;
}

.upew ul,
.upew ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.upew a {
	color: var(--upew-accent);
}

/* Breadcrumbs */
.upew-breadcrumbs {
	font-size: 0.875rem;
	margin-bottom: 12px;
}

.upew-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.upew-breadcrumbs li + li::before {
	color: var(--upew-muted);
	content: "→";
	margin-right: 6px;
}

.upew-breadcrumbs [aria-current="page"] {
	color: var(--upew-muted);
}

/* Virsraksts */
.upew__header {
	margin-bottom: var(--upew-gap);
}

.upew__title {
	font-size: clamp(1.6rem, 4vw, 2.4rem);
	line-height: 1.15;
	margin: 0 0 4px;
}

.upew__region {
	color: var(--upew-muted);
	margin: 0;
}

.upew-section-title {
	font-size: clamp(1.15rem, 2.4vw, 1.5rem);
	margin: 28px 0 12px;
}

/* Teated */
.upew-notice {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	margin: 12px 0;
	padding: 12px 16px;
}

.upew-notice--warning {
	background: #fff8e6;
	border-color: #f0d68a;
}

.upew-notice--error {
	background: #fdeceb;
	border-color: #f3b7b3;
}

/* Praegused ilmaolud */
.upew-current {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	padding: 20px;
}

.upew-current__main {
	align-items: center;
	display: flex;
	gap: 16px;
}

.upew-current__icon {
	font-size: 3.4rem;
	line-height: 1;
}

.upew-current__values p {
	margin: 0;
}

.upew-current__temp {
	font-size: clamp(2.2rem, 7vw, 3.2rem);
	font-weight: 700;
	line-height: 1.05;
}

.upew-current__min {
	color: var(--upew-muted);
	font-size: 0.5em;
	font-weight: 500;
	margin-left: 8px;
}

.upew-current__condition {
	font-size: 1.05rem;
	font-weight: 600;
}

.upew-current__feels {
	color: var(--upew-muted);
	font-size: 0.95rem;
}

/* Statistikakaardid */
.upew-stats {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 18px;
}

.upew-stat {
	background: var(--upew-bg);
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 10px 12px;
}

.upew-stat__label {
	color: var(--upew-muted);
	font-size: 0.8rem;
}

.upew-stat__value {
	font-size: 1.05rem;
	font-weight: 600;
}

/* Kas tasub välja minna */
.upew-outdoor {
	border: 1px solid var(--upew-border);
	border-left-width: 6px;
	border-radius: var(--upew-radius);
	margin-top: 20px;
	padding: 18px 20px;
}

.upew-outdoor--great {
	background: #eefaf0;
	border-left-color: #1f9d55;
}

.upew-outdoor--good {
	background: #fdf8e3;
	border-left-color: #c9a227;
}

.upew-outdoor--fair {
	background: #fdf1e5;
	border-left-color: #d9722b;
}

.upew-outdoor--poor {
	background: #fdecec;
	border-left-color: #c0392b;
}

.upew-outdoor__heading {
	font-size: 1.15rem;
	margin: 0 0 8px;
}

.upew-outdoor__status {
	align-items: center;
	display: flex;
	gap: 8px;
	margin: 0 0 6px;
}

.upew-outdoor__icon {
	font-size: 1.3rem;
}

.upew-outdoor__message,
.upew-outdoor__advice {
	margin: 0 0 6px;
}

.upew-outdoor__scale,
.upew-outdoor__note {
	color: var(--upew-muted);
	font-size: 0.85rem;
	margin: 0;
}

/* Tabai */
.upew-tabs {
	margin: 22px 0 8px;
	overflow-x: auto;
}

.upew-tabs ul {
	display: flex;
	gap: 8px;
	min-width: max-content;
}

.upew-tabs__link {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 999px;
	display: inline-block;
	font-size: 0.95rem;
	padding: 8px 14px;
	text-decoration: none;
	white-space: nowrap;
}

.upew-tabs__link.is-active {
	background: var(--upew-accent);
	border-color: var(--upew-accent);
	color: #fff;
	font-weight: 600;
}

.upew-tabs__link:focus-visible,
.upew a:focus-visible,
.upew input:focus-visible {
	outline: 3px solid #0b6bcb;
	outline-offset: 2px;
}

/* Stundu prognoze */
.upew-hourly__scroll {
	overflow-x: auto;
	padding-bottom: 8px;
}

.upew-hourly__list {
	display: flex;
	gap: 10px;
	min-width: max-content;
}

.upew-hour {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 108px;
	padding: 12px 10px;
	text-align: center;
}

.upew-hour__time {
	font-weight: 700;
}

.upew-hour__icon {
	font-size: 1.6rem;
}

.upew-hour__temp {
	font-size: 1.15rem;
	font-weight: 600;
}

.upew-hour__feels,
.upew-hour__precip,
.upew-hour__wind {
	color: var(--upew-muted);
	font-size: 0.8rem;
}

.upew-hour__dir {
	font-weight: 600;
}

/* Dienas */
.upew-daily__list {
	display: grid;
	gap: 12px;
}

.upew-day {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	display: grid;
	gap: 10px;
	padding: 16px;
}

.upew-day__weekday {
	display: block;
	font-weight: 700;
}

.upew-day__date {
	color: var(--upew-muted);
	font-size: 0.9rem;
}

.upew-day__cond {
	align-items: center;
	display: flex;
	gap: 8px;
}

.upew-day__icon {
	font-size: 1.6rem;
}

.upew-day__temps {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.upew-day__max {
	font-size: 1.3rem;
	font-weight: 700;
}

.upew-day__min {
	color: var(--upew-muted);
	font-size: 1.05rem;
}

.upew-day__feels {
	color: var(--upew-muted);
	font-size: 0.85rem;
}

.upew-day__meta {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upew-day__meta-label {
	color: var(--upew-muted);
	display: block;
	font-size: 0.78rem;
}

.upew-day__meta-value {
	font-weight: 600;
}

.upew-day__more {
	margin: 0;
}

/* Paros dalys */
.upew-dayparts__list {
	display: grid;
	gap: 12px;
}

.upew-daypart {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	padding: 16px;
}

.upew-daypart__title {
	align-items: baseline;
	display: flex;
	font-size: 1.05rem;
	gap: 8px;
	margin: 0 0 8px;
}

.upew-daypart__range {
	color: var(--upew-muted);
	font-size: 0.85rem;
	font-weight: 400;
}

.upew-daypart__cond {
	align-items: center;
	display: flex;
	gap: 8px;
	margin: 0 0 6px;
}

.upew-daypart__icon {
	font-size: 1.5rem;
}

.upew-daypart__temp {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0 0 8px;
}

.upew-daypart__meta {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upew-daypart__meta span {
	color: var(--upew-muted);
	display: block;
	font-size: 0.78rem;
}

/* Grafikai */
.upew-chart {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	margin-bottom: 16px;
	padding: 16px;
}

.upew-chart__title {
	font-size: 1rem;
	margin: 0 0 10px;
}

.upew-chart__canvas {
	height: 260px;
	position: relative;
	width: 100%;
}

.upew-charts__note {
	color: var(--upew-muted);
	font-size: 0.85rem;
}

/* Otsing */
.upew-search {
	margin: 16px 0;
	position: relative;
}

.upew-search__label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.upew-search__input,
.upew-filter__input {
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	font-size: 1rem;
	padding: 12px 14px;
	width: 100%;
}

.upew-search__results {
	background: #fff;
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
	left: 0;
	margin-top: 4px;
	max-height: 320px;
	overflow-y: auto;
	position: absolute;
	right: 0;
	z-index: 30;
}

.upew-search__results li a {
	display: block;
	padding: 10px 14px;
	text-decoration: none;
}

.upew-search__results li a:hover,
.upew-search__results li a:focus,
.upew-search__results li.is-active a {
	background: var(--upew-surface);
}

.upew-search__region {
	color: var(--upew-muted);
	font-size: 0.8rem;
	margin-left: 6px;
}

/* Linnade kaardid */
.upew-featured__grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upew-city-card__link {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	display: flex;
	flex-direction: column;
	gap: 2px;
	height: 100%;
	padding: 14px;
	text-decoration: none;
}

.upew-city-card__name {
	color: var(--upew-text);
	font-weight: 700;
}

.upew-city-card__icon {
	font-size: 1.6rem;
}

.upew-city-card__temp {
	color: var(--upew-text);
	font-size: 1.35rem;
	font-weight: 700;
}

.upew-city-card__cond {
	color: var(--upew-muted);
	font-size: 0.85rem;
}

/* Linnade loend */
.upew-filter {
	margin-bottom: 12px;
}

.upew-filter__label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.upew-city-list {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upew-city-list__item a {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	display: block;
	padding: 10px 12px;
	text-decoration: none;
}

.upew-city-list__name {
	color: var(--upew-text);
	display: block;
	font-weight: 600;
}

.upew-city-list__region {
	color: var(--upew-muted);
	font-size: 0.78rem;
}

/* Seotud linnad */
.upew-related__lead {
	color: var(--upew-muted);
	margin: 0 0 12px;
}

.upew-related__list {
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1fr);
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
}

@media (min-width: 420px) {
	.upew-related__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.upew-related__item,
.upew-related__list > li {
	list-style: none;
	min-width: 0;
}

.upew a.upew-related__card,
.upew .upew-related__card,
.upew .upew-related__list > li > a {
	align-items: center;
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 12px;
	color: var(--upew-text);
	display: flex;
	gap: 10px;
	justify-content: space-between;
	min-height: 56px;
	padding: 10px 14px;
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.upew a.upew-related__card:hover,
.upew a.upew-related__card:focus-visible,
.upew .upew-related__list > li > a:hover,
.upew .upew-related__list > li > a:focus-visible {
	border-color: var(--upew-accent);
	box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
	text-decoration: none;
	transform: translateY(-1px);
}

.upew-related__body {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.upew-related__name {
	font-weight: 600;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.upew-related__meta {
	color: var(--upew-muted);
	font-size: 0.78rem;
	line-height: 1.3;
}

.upew-related__now {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 6px;
}

.upew-related__icon {
	font-size: 1.15rem;
	line-height: 1;
}

.upew-related__temp {
	font-weight: 700;
	white-space: nowrap;
}

.upew-related__arrow {
	color: var(--upew-accent);
	flex: 0 0 auto;
	font-size: 1.1rem;
	line-height: 1;
}

.upew-related__all {
	margin-top: 14px;
}

/* Karte */
.upew-map-wrap {
	margin: 12px 0;
}

.upew-map {
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	overflow: hidden;
	width: 100%;
}

.upew-map-marker {
	background: none;
	border: 0;
}

.upew-map-marker__inner {
	background: #ffffff;
	border: 1px solid #0b6bcb;
	border-radius: 999px;
	color: #1a2230;
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	padding: 2px 8px;
	white-space: nowrap;
}

.upew-map-popup__name {
	font-weight: 700;
}

.upew-map-popup__temp {
	font-size: 1.2rem;
	font-weight: 700;
}

/* Attribution */
.upew-attribution {
	color: var(--upew-muted);
	font-size: 0.8rem;
	margin-top: 24px;
}

/* Abiklassid */
.upew .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Desktop */
@media (min-width: 782px) {
	.upew-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.upew-current {
		align-items: center;
		display: grid;
		gap: 24px;
		grid-template-columns: minmax(220px, 1fr) 2fr;
	}

	.upew-stats {
		margin-top: 0;
	}

	.upew-day {
		align-items: center;
		grid-template-columns: 160px 200px 190px 1fr auto;
	}

	.upew-day__meta {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.upew-dayparts__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.upew-featured__grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.upew-city-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.upew-related__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.upew-chart__canvas {
		height: 320px;
	}
}

/* ===================================================================
   3.1 – paneel, hoiatused, radar, ajalugu, tegevused, võrdlus
   =================================================================== */

/* Paneeli pealkiri */
.upew-hero-head {
	margin-bottom: 20px;
	text-align: center;
}

.upew-hero-head__title {
	font-size: clamp(1.8rem, 5vw, 2.6rem);
	margin: 0 0 8px;
}

.upew-hero-head__sub {
	color: var(--upew-muted);
	margin: 0 auto 12px;
	max-width: 620px;
}

.upew-hero-head .upew-search {
	margin-left: auto;
	margin-right: auto;
	max-width: 560px;
	text-align: left;
}

/* Hoiatuste riba */
.upew-alert-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.upew-alert-chip {
	align-items: center;
	background: #fff8e6;
	border: 1px solid #f0d68a;
	border-radius: 999px;
	color: var(--upew-text);
	display: inline-flex;
	font-size: 0.88rem;
	gap: 6px;
	padding: 6px 14px;
	text-decoration: none;
}

.upew-alert-chip--high {
	background: #fdeceb;
	border-color: #e4a19c;
}

.upew-alert-chip--more {
	background: var(--upew-surface);
	border-color: var(--upew-border);
	color: var(--upew-accent);
}

.upew-alert-chip__city {
	color: var(--upew-muted);
}

/* Dashboard tinklelis */
.upew-dash {
	display: grid;
	gap: 18px;
}

.upew-hero {
	background: linear-gradient(135deg, #4361ee 0%, #4895ef 100%);
	border-radius: 18px;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	padding: 26px 24px;
}

.upew-hero__city {
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0 0 4px;
}

.upew-hero__date {
	margin: 0;
	opacity: 0.9;
}

.upew-hero__right {
	align-items: center;
	display: flex;
	gap: 14px;
}

.upew-hero__icon {
	font-size: 2.8rem;
	line-height: 1;
}

.upew-hero__temp {
	font-size: clamp(2.6rem, 8vw, 4rem);
	font-weight: 800;
	line-height: 1;
}

.upew-dash__summary {
	color: var(--upew-muted);
	margin: 14px 0;
}

.upew-tiles {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upew-tile {
	background: var(--upew-bg);
	border: 1px solid var(--upew-border);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px 16px;
}

.upew-tile__label {
	color: var(--upew-muted);
	font-size: 0.82rem;
}

.upew-tile__value {
	font-size: 1.5rem;
	font-weight: 600;
}

.upew-dash__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0;
}

.upew-button {
	background: var(--upew-accent);
	border: 1px solid var(--upew-accent);
	border-radius: 10px;
	color: #fff;
	display: inline-block;
	font-weight: 600;
	padding: 10px 18px;
	text-decoration: none;
}

.upew-button--ghost {
	background: transparent;
	color: var(--upew-accent);
}

.upew-daily-strip__list {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.upew-daily-strip__item {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px 8px;
	text-align: center;
}

.upew-daily-strip__day {
	font-weight: 700;
}

.upew-daily-strip__icon {
	font-size: 1.5rem;
}

.upew-daily-strip__max {
	font-weight: 700;
}

.upew-daily-strip__min {
	color: var(--upew-muted);
	font-size: 0.85rem;
}

/* Tundide külgriba */
.upew-dash__side {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 16px;
	padding: 16px;
}

.upew-dash__side .upew-section-title {
	margin-top: 0;
}

.upew-hourly-side {
	display: grid;
	gap: 8px;
	max-height: 460px;
	overflow-y: auto;
}

.upew-hourly-side__item {
	align-items: center;
	background: var(--upew-bg);
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	display: grid;
	gap: 10px;
	grid-template-columns: 28px 1fr auto;
	padding: 10px 12px;
}

.upew-hourly-side__icon {
	font-size: 1.2rem;
}

.upew-hourly-side__temp {
	font-weight: 600;
}

/* Automaatne tekst */
.upew-summary__text {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-left: 4px solid var(--upew-accent);
	border-radius: 12px;
	margin: 0;
	padding: 14px 18px;
}

/* Hoiatused */
.upew-alerts__list,
.upew-alert-list {
	display: grid;
	gap: 10px;
}

.upew-alert {
	align-items: flex-start;
	background: #fff8e6;
	border: 1px solid #f0d68a;
	border-radius: 12px;
	display: grid;
	gap: 10px;
	grid-template-columns: 28px 1fr auto;
	padding: 12px 14px;
}

.upew-alert--high {
	background: #fdeceb;
	border-color: #e4a19c;
}

.upew-alert--low {
	background: var(--upew-surface);
	border-color: var(--upew-border);
}

.upew-alert__icon {
	font-size: 1.3rem;
}

.upew-alert__title {
	display: block;
}

.upew-alert__severity {
	color: var(--upew-muted);
	font-size: 0.78rem;
	text-transform: uppercase;
}

.upew-alert-group__count {
	color: var(--upew-muted);
	font-size: 0.85rem;
	font-weight: 400;
}

.upew-alert-item a {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	display: grid;
	gap: 4px;
	padding: 10px 14px;
	text-decoration: none;
}

.upew-alert-item span {
	color: var(--upew-text);
}

.upew-alert-item--high a {
	border-left: 4px solid #c0392b;
}

.upew-alert-item--medium a {
	border-left: 4px solid #d9822b;
}

.upew-alert-disclaimer,
.upew-activity-disclaimer,
.upew-history-source,
.upew-compare-note {
	color: var(--upew-muted);
	font-size: 0.85rem;
}

/* Nowcast */
.upew-nowcast {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 12px;
	padding: 14px 18px;
}

.upew-nowcast--wet {
	background: #e8f1fd;
	border-color: #9fc3ef;
}

.upew-nowcast--soon {
	background: #fff8e6;
	border-color: #f0d68a;
}

.upew-nowcast__status {
	align-items: center;
	display: flex;
	gap: 8px;
	margin: 0 0 4px;
}

.upew-nowcast__icon {
	font-size: 1.4rem;
}

.upew-nowcast__detail,
.upew-nowcast__link {
	color: var(--upew-muted);
	margin: 0;
}

/* Radaras */
.upew-radar__controls {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 14px 0;
}

.upew-radar__play {
	background: var(--upew-accent);
	border: 0;
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
	font-weight: 600;
	padding: 10px 16px;
}

.upew-radar__play[disabled] {
	background: #b6bfcc;
	cursor: not-allowed;
}

.upew-radar__time {
	font-weight: 600;
	min-width: 150px;
}

.upew-radar__slider-label {
	color: var(--upew-muted);
	font-size: 0.85rem;
}

.upew-radar__slider {
	flex: 1 1 180px;
	min-width: 140px;
}

.upew-radar__legend {
	color: var(--upew-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.8rem;
	gap: 12px;
	margin-top: 10px;
}

.upew-radar__legend-item::before {
	border-radius: 3px;
	content: "";
	display: inline-block;
	height: 12px;
	margin-right: 6px;
	vertical-align: -2px;
	width: 18px;
}

.upew-radar__legend-label {
	font-weight: 600;
}

.upew-radar__legend-item--light::before {
	background: #a9dcf5;
}

.upew-radar__legend-item--mid::before {
	background: #1f7fd0;
}

.upew-radar__legend-item--strong::before {
	background: #f2c200;
}

.upew-radar__legend-item--heavy::before {
	background: #d64545;
}

.upew-radar__hint {
	color: var(--upew-muted);
	font-size: 0.85rem;
	margin: 8px 0 0;
}

.upew-radar-cities__list {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upew-radar-city a {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	display: grid;
	gap: 2px;
	padding: 10px 14px;
	text-decoration: none;
}

.upew-radar-city span {
	color: var(--upew-muted);
	font-size: 0.85rem;
}

/* Kaardikihid */
.upew-map-layers {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.upew-map-layers__button {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 999px;
	cursor: pointer;
	font-size: 0.9rem;
	padding: 7px 14px;
}

.upew-map-layers__button.is-active {
	background: var(--upew-accent);
	border-color: var(--upew-accent);
	color: #fff;
	font-weight: 600;
}

.upew-map-marker__inner.is-warm {
	border-color: #d9534f;
}

.upew-map-marker__inner.is-mild {
	border-color: #e0a100;
}

.upew-map-marker__inner.is-cold {
	border-color: #2f86e0;
}

.upew-map-marker__inner.is-high {
	border-color: #c0392b;
}

.upew-map-marker__inner.is-mid {
	border-color: #d9822b;
}

.upew-map-marker__inner.is-low {
	border-color: #2f855a;
}

/* Istorija */
.upew-history__grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upew-history-card {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	padding: 16px;
}

.upew-history-card__title {
	font-size: 1rem;
	margin: 0 0 2px;
}

.upew-history-card__date,
.upew-history-card__empty,
.upew-history-card__precip,
.upew-history-card__diff {
	color: var(--upew-muted);
	font-size: 0.85rem;
	margin: 0 0 6px;
}

.upew-history-card__temp {
	font-size: 1.3rem;
	margin: 6px 0;
}

.upew-history-card__temp span {
	color: var(--upew-muted);
	font-size: 1rem;
	margin-left: 6px;
}

.upew-history-card__cond {
	margin: 0 0 4px;
}

/* Tabulas */
.upew-table-scroll {
	overflow-x: auto;
}

.upew-table {
	border-collapse: collapse;
	min-width: 560px;
	width: 100%;
}

.upew-table th,
.upew-table td {
	border-bottom: 1px solid var(--upew-border);
	padding: 10px 12px;
	text-align: left;
}

.upew-table thead th {
	background: var(--upew-surface);
	font-size: 0.85rem;
}

.upew-table tr.is-current {
	background: #eef5ff;
	font-weight: 600;
}

.upew-table--compare td.is-better {
	color: #1f7a34;
	font-weight: 700;
}

/* Nodarbes */
.upew-activity-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upew-activity-card__link {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-left: 5px solid var(--upew-border);
	border-radius: 12px;
	display: grid;
	gap: 4px;
	height: 100%;
	padding: 14px 16px;
	text-decoration: none;
}

.upew-activity-card--great .upew-activity-card__link {
	border-left-color: #1f9d55;
}

.upew-activity-card--good .upew-activity-card__link {
	border-left-color: #c9a227;
}

.upew-activity-card--fair .upew-activity-card__link {
	border-left-color: #d9722b;
}

.upew-activity-card--poor .upew-activity-card__link {
	border-left-color: #c0392b;
}

.upew-activity-card__icon {
	font-size: 1.6rem;
}

.upew-activity-card__name {
	color: var(--upew-text);
	font-weight: 700;
}

.upew-activity-card__status,
.upew-activity-card__score {
	color: var(--upew-muted);
	font-size: 0.85rem;
}

.upew-activity-score {
	border: 1px solid var(--upew-border);
	border-left: 6px solid var(--upew-border);
	border-radius: var(--upew-radius);
	padding: 18px 20px;
}

.upew-activity-score--great {
	background: #eefaf0;
	border-left-color: #1f9d55;
}

.upew-activity-score--good {
	background: #fdf8e3;
	border-left-color: #c9a227;
}

.upew-activity-score--fair {
	background: #fdf1e5;
	border-left-color: #d9722b;
}

.upew-activity-score--poor {
	background: #fdecec;
	border-left-color: #c0392b;
}

.upew-activity-score .upew-section-title {
	margin-top: 0;
}

.upew-activity-score__head {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 10px;
}

.upew-activity-score__icon {
	font-size: 1.4rem;
}

.upew-activity-score__value {
	color: var(--upew-muted);
}

.upew-activity-score__bar {
	background: rgba(15, 23, 42, 0.08);
	border-radius: 999px;
	height: 10px;
	margin-bottom: 12px;
	overflow: hidden;
}

.upew-activity-score__fill {
	background: currentColor;
	display: block;
	height: 100%;
	width: 0;
}

.upew-activity-score--great .upew-activity-score__fill { background: #1f9d55; }
.upew-activity-score--good .upew-activity-score__fill { background: #c9a227; }
.upew-activity-score--fair .upew-activity-score__fill { background: #d9722b; }
.upew-activity-score--poor .upew-activity-score__fill { background: #c0392b; }

.upew-activity-text {
	margin: 0 0 8px;
}

.upew-activity-ai {
	color: var(--upew-muted);
	font-size: 0.8rem;
	margin: 0;
}

.upew-hourly__list--static {
	flex-wrap: wrap;
	min-width: 0;
}

.upew-activity-tomorrow__value {
	align-items: center;
	display: flex;
	gap: 10px;
}

/* Saule */
.upew-golden__list {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upew-golden__item {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 12px;
	display: grid;
	gap: 4px;
	padding: 14px;
}

.upew-golden__icon {
	font-size: 1.4rem;
}

.upew-golden__label {
	color: var(--upew-muted);
	font-size: 0.85rem;
}

.upew-golden__value {
	font-size: 1.1rem;
	font-weight: 600;
}

.upew-sun-note {
	color: var(--upew-muted);
	font-size: 0.88rem;
}

.upew-uv--low { color: #1f7a34; }
.upew-uv--moderate { color: #8a6800; }
.upew-uv--high { color: #a2521a; }
.upew-uv--very-high { color: #c0392b; }
.upew-uv--extreme { color: #7b1fa2; }

/* Palyginimas */
.upew-compare-cards {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upew-compare-card {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	padding: 18px;
	text-align: center;
}

.upew-compare-card__name {
	font-size: 1.1rem;
	margin: 0 0 6px;
}

.upew-compare-card__icon {
	font-size: 2.4rem;
	margin: 0;
}

.upew-compare-card__temp {
	font-size: 2rem;
	font-weight: 700;
	margin: 4px 0;
}

.upew-compare-card__cond {
	color: var(--upew-muted);
	margin: 0;
}

/* Desktop */
@media (min-width: 782px) {
	.upew-dash {
		grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
	}

	.upew-tiles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.upew-daily-strip__list {
		grid-template-columns: repeat(7, minmax(0, 1fr));
	}

	.upew-history__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.upew-activity-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.upew-golden__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.upew-radar-cities__list {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

/* ===================================================================
   Mobilaus vaizdo taisymai (3.1.1)
   =================================================================== */

/*
 * 1. Spetsiifilisus: `.upew a` (0,1,1) võitis `.upew-button` (0,1,0) üle,
 *    seetõttu muutus nupu tekst siniseks sinisel taustal.
 */
.upew a.upew-button,
.upew .upew-button {
	color: #ffffff;
}

.upew a.upew-button--ghost,
.upew .upew-button--ghost {
	color: var(--upew-accent);
}

.upew a.upew-alert-chip,
.upew .upew-alert-chip {
	color: var(--upew-text);
}

.upew a.upew-city-card__link,
.upew a.upew-activity-card__link,
.upew a.upew-city-list__item,
.upew .upew-city-list__item a {
	color: var(--upew-text);
}

.upew-button:hover,
.upew-button:focus-visible {
	background: #0a559f;
	border-color: #0a559f;
}

.upew-button--ghost:hover,
.upew-button--ghost:focus-visible {
	background: rgba(11, 107, 203, 0.08);
}

/*
 * 2. Horisontaalne ületäitumine: grid-/flex-lapselemendid ei saa vaikimisi tõmbuda
 *    kitsamaks kui nende sisu (min-width: auto), seetõttu
 *    horisontaalselt keritavad plokid venitasid kogu lehe laiali.
 */
.upew-dash,
.upew-dash > *,
.upew-dash__main,
.upew-dash__side,
.upew-dash__main > *,
.upew-dash__side > * {
	min-width: 0;
}

.upew,
.upew section,
.upew article,
.upew header,
.upew aside {
	max-width: 100%;
	min-width: 0;
}

.upew-hourly,
.upew-daily-strip,
.upew-charts,
.upew-chart,
.upew-table-scroll,
.upew-tabs,
.upew-map-wrap {
	max-width: 100%;
	min-width: 0;
}

/*
 * Kerimiskonteinerid ei veni kunagi laiali ei vanemelementi ega dokumenti.
 *
 * Ainult `overflow-x: auto` ei piisa: Chromiumis loetakse sellise
 * konteineri sisu sellest hoolimata juurdekuuluvaks juurelemendi kerimislaiusesse, seetõttu
 * mobiiliekraanil vähendati kogu lehte ja paremale jäi
 * valge riba. `contain: paint` sulgeb ületäitumise konteineri sisse.
 */
.upew-hourly__scroll,
.upew-table-scroll,
.upew-tabs,
.upew-daily-strip__list,
.upew-hourly-side,
.upew-chart__canvas {
	contain: paint;
	max-width: 100%;
	overscroll-behavior-x: contain;
}

/* Chart.js lõuendil on kuni JS-i laadimiseni 300 px vaikelaius. */
.upew canvas,
.upew-chart__canvas canvas {
	display: block;
	max-width: 100%;
}

/* Pikad sõnad (nt linnade nimed) ei lükka kaarte välja. */
.upew-hero__city,
.upew-city-card__name,
.upew-city-list__name,
.upew-compare-card__name,
.upew__title,
.upew-section-title {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

/* Kaitse: isegi kui teema või mõni teine plugin midagi laiali venitaks,
   ilmaleht ei põhjusta kunagi lehe horisontaalset kerimist. */
.upew-page {
	overflow-x: clip;
	max-width: 100%;
}

@supports not (overflow-x: clip) {
	.upew-page {
		overflow-x: hidden;
	}
}

/* 3. Puutesihtmärgid – vähemalt 40 px kõrgused. */
.upew-tabs__link,
.upew-button,
.upew-map-layers__button,
.upew-radar__play {
	min-height: 40px;
}

.upew-button {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	text-align: center;
}

/* Radari liugur – mugav sõrmega puudutada. */
.upew-radar__slider {
	appearance: auto;
	height: 40px;
	min-height: 40px;
}

.upew-radar__slider::-webkit-slider-thumb {
	height: 22px;
	width: 22px;
}

.upew-search__input,
.upew-filter__input {
	min-height: 44px;
}

/* BUJ un vietas apraksts */
.upew-faq__list {
	display: grid;
	gap: 8px;
}

.upew-faq__item {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 12px;
	padding: 12px 16px;
}

.upew-faq__question {
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	padding-right: 24px;
	position: relative;
}

.upew-faq__question::-webkit-details-marker {
	display: none;
}

.upew-faq__question::after {
	content: "+";
	font-size: 1.2rem;
	position: absolute;
	right: 0;
	top: -2px;
}

.upew-faq__item[open] .upew-faq__question::after {
	content: "−";
}

.upew-faq__answer {
	color: var(--upew-text);
	padding-top: 8px;
}

.upew-faq__answer p {
	margin: 0;
}

.upew-about p {
	margin: 0 0 10px;
}

.upew-about p:last-child {
	margin-bottom: 0;
}

/* ===================================================================
   3.4 – selgitav sisu (guide), linnade kaardid, radar
   =================================================================== */

.upew-guide {
	display: grid;
	gap: 8px;
	margin-top: 24px;
}

.upew-guide__block {
	border-top: 1px solid var(--upew-border);
	padding-top: 16px;
}

.upew-guide__block:first-child {
	border-top: 0;
	padding-top: 0;
}

.upew-guide__block p {
	margin: 0 0 10px;
	max-width: 72ch;
}

.upew-guide__block p:last-child {
	margin-bottom: 0;
}

.upew-guide__list {
	display: grid;
	gap: 12px;
	margin: 4px 0 0;
}

.upew-guide__row {
	background: var(--upew-surface);
	border-radius: 10px;
	padding: 12px 14px;
}

.upew-guide__row dt {
	font-weight: 600;
	margin: 0 0 4px;
}

.upew-guide__row dd {
	color: var(--upew-muted);
	margin: 0;
	max-width: 72ch;
}

/* Selgitavad tabelid on tekstilised – neid murtakse, mitte ei kerita. */
.upew-guide__table {
	min-width: 0;
}

.upew-guide__table th[scope="row"] {
	font-weight: 600;
	white-space: normal;
	width: 30%;
}

/* Kitsal ekraanil muutuvad selgitavad tabelid kaartideks – kolm tekstilist
   veerud muutuksid telefonis üheks sõnaks reas. */
@media (max-width: 560px) {
	.upew-guide__table,
	.upew-guide__table tbody,
	.upew-guide__table tr,
	.upew-guide__table th,
	.upew-guide__table td {
		display: block;
		width: auto;
	}

	.upew-guide__table thead {
		clip: rect(0, 0, 0, 0);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.upew-guide__table tr {
		background: var(--upew-surface);
		border: 1px solid var(--upew-border);
		border-radius: 10px;
		margin-bottom: 10px;
		padding: 12px 14px;
	}

	.upew-guide__table th[scope="row"] {
		border-bottom: 0;
		font-size: 1rem;
		font-weight: 700;
		padding: 0 0 4px;
		width: auto;
	}

	.upew-guide__table td {
		border-bottom: 0;
		color: var(--upew-muted);
		padding: 0 0 2px;
	}

	.upew-guide__table td:last-child {
		padding-bottom: 0;
	}
}

.upew-compare-analysis p {
	margin: 0 0 10px;
	max-width: 72ch;
}

.upew-compare-analysis p:last-child {
	margin-bottom: 0;
}

@media (min-width: 1080px) {
	.upew-related__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ===================================================================
   3.5 – Dienas laiks (ikdienas apskats)
   =================================================================== */

.upew-journal-featured {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	margin: 16px 0 8px;
	padding: 20px;
}

.upew-journal-featured__label {
	color: var(--upew-accent);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.upew-journal-featured__title {
	font-size: clamp(1.3rem, 3.4vw, 1.9rem);
	line-height: 1.2;
	margin: 0 0 6px;
}

.upew .upew-journal-featured__title a {
	color: var(--upew-text);
	text-decoration: none;
}

.upew .upew-journal-featured__title a:hover,
.upew .upew-journal-featured__title a:focus-visible {
	color: var(--upew-accent);
	text-decoration: underline;
}

.upew-journal-featured__meta {
	color: var(--upew-muted);
	font-size: 0.85rem;
	margin: 0 0 10px;
}

.upew-journal-featured__lead {
	font-size: 1.05rem;
	margin: 0 0 12px;
	max-width: 68ch;
}

/* Arvukaardid */
.upew-journal-stats {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 14px 0;
}

@media (min-width: 782px) {
	.upew-journal-stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.upew-journal-stat {
	background: var(--upew-bg);
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	padding: 10px 12px;
}

.upew-journal-stat__label {
	color: var(--upew-muted);
	font-size: 0.78rem;
}

.upew-journal-stat__value {
	font-size: 1.15rem;
	font-weight: 700;
}

.upew-journal-stat__meta {
	color: var(--upew-muted);
	font-size: 0.8rem;
	overflow-wrap: anywhere;
}

/* Arhiivi loend */
.upew-journal-list {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 782px) {
	.upew-journal-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.upew-journal-list__item {
	list-style: none;
	min-width: 0;
}

.upew a.upew-journal-card,
.upew .upew-journal-card {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 12px;
	color: var(--upew-text);
	display: grid;
	gap: 6px;
	height: 100%;
	padding: 16px 18px;
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.upew a.upew-journal-card:hover,
.upew a.upew-journal-card:focus-visible {
	border-color: var(--upew-accent);
	box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
	text-decoration: none;
	transform: translateY(-1px);
}

.upew-journal-card__date {
	color: var(--upew-muted);
	font-size: 0.8rem;
}

.upew-journal-card__title {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.25;
}

.upew-journal-card__lead {
	color: var(--upew-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

.upew-journal-card--teaser {
	margin-top: 4px;
}

/* Viens ieraksts */
.upew-journal-entry__kicker {
	margin: 0 0 6px;
	text-transform: uppercase;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.upew-journal-entry__lead {
	border-left: 4px solid var(--upew-accent);
	font-size: 1.1rem;
	line-height: 1.55;
	margin: 16px 0;
	max-width: 68ch;
	padding-left: 14px;
}

.upew-journal-entry__body p {
	font-size: 1.02rem;
	line-height: 1.7;
	margin: 0 0 16px;
	max-width: 68ch;
}

.upew-journal-entry__alert-list {
	display: grid;
	gap: 6px;
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
}

.upew-journal-entry__alert-list li {
	background: #fff8e6;
	border: 1px solid #f0d68a;
	border-radius: 8px;
	padding: 8px 12px;
}

.upew-journal-entry__source {
	border-top: 1px solid var(--upew-border);
	color: var(--upew-muted);
	font-size: 0.85rem;
	margin: 24px 0 0;
	padding-top: 12px;
}

/* Eelmine / järgmine päev */
.upew-journal-nav {
	display: grid;
	gap: 10px;
	margin: 20px 0;
}

@media (min-width: 600px) {
	.upew-journal-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.upew .upew-journal-nav__link {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	color: var(--upew-text);
	display: grid;
	gap: 2px;
	min-height: 56px;
	min-width: 0;
	padding: 12px 14px;
	text-decoration: none;
}

.upew .upew-journal-nav__link:hover,
.upew .upew-journal-nav__link:focus-visible {
	border-color: var(--upew-accent);
}

.upew-journal-nav__link--next {
	text-align: right;
}

.upew-journal-nav__label {
	color: var(--upew-accent);
	font-size: 0.85rem;
	font-weight: 600;
}

.upew-journal-nav__date {
	color: var(--upew-muted);
	font-size: 0.85rem;
}

.upew-journal-teaser {
	margin-top: 8px;
}

/* ===================================================================
   3.6 – päevaartikli illustratsioon, peatükid ja lingid
   =================================================================== */

.upew-journal-entry__figure {
	margin: 18px 0 20px;
}

.upew-journal-entry__image {
	border-radius: var(--upew-radius);
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.upew-journal-entry__credit {
	color: var(--upew-muted);
	font-size: 0.8rem;
	margin-top: 6px;
}

.upew-journal-entry__heading {
	font-size: clamp(1.2rem, 2.6vw, 1.55rem);
	line-height: 1.25;
	margin: 30px 0 12px;
	max-width: 68ch;
}

.upew-journal-entry__heading:first-child {
	margin-top: 8px;
}

.upew-journal-entry__body a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.upew-journal-entry__body a:hover,
.upew-journal-entry__body a:focus-visible {
	text-decoration-thickness: 2px;
}

/* Pisipildiga kaardid */
.upew-journal-card__media {
	border-radius: 10px;
	display: block;
	overflow: hidden;
}

.upew-journal-card__media img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.upew-journal-featured__media {
	border-radius: var(--upew-radius);
	display: block;
	margin: 12px 0;
	overflow: hidden;
}

.upew-journal-featured__media img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* ===================================================================
   3.7 – päevaartikli paigutus arvutis
   ===================================================================
   Teema võib .upew { max-width } üle kirjutada, seetõttu kasutame artikli
   konteineri jaoks suurema kaaluga selektorit. Ilma selleta venisid pilt ja
   kaardid 1150 px laiuseks, tekst jäi aga 617 px veergu vasakule –
   leht nägi laialivalguv välja.
   =================================================================== */

@media (min-width: 900px) {
	.upew.upew--journal-entry {
		margin-left: auto;
		margin-right: auto;
		max-width: 820px;
	}

	/* Konteiner annab juba loetava laiuse – eraldi piirang lõikudele ei ole enam vajalik. */
	.upew--journal-entry .upew-journal-entry__body p,
	.upew--journal-entry .upew-journal-entry__heading,
	.upew--journal-entry .upew-journal-entry__lead {
		max-width: none;
	}

	.upew--journal-entry .upew-journal-stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Hero-pilt ei võta kunagi kogu ekraani kõrgust. */
.upew-journal-entry__image {
	aspect-ratio: 16 / 9;
	max-height: 460px;
	object-fit: cover;
}

/* Arhiivikaartide ruudustikku piiratakse samuti loetava laiusega. */
@media (min-width: 900px) {
	.upew.upew--journal {
		margin-left: auto;
		margin-right: auto;
		max-width: 980px;
	}
}
/* =====================================================================
   3.8 – õhukvaliteet, õietolm, virmalised, märgised
   ===================================================================== */

/* Õhukvaliteedi indeks */
.upew-aqi {
	align-items: center;
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-left: 6px solid var(--upew-muted);
	border-radius: var(--upew-radius);
	display: flex;
	flex-wrap: wrap;
	gap: var(--upew-gap);
	margin: var(--upew-gap) 0;
	padding: 18px 20px;
}

.upew-aqi__value {
	align-items: center;
	display: flex;
	flex-direction: column;
	min-width: 84px;
}

.upew-aqi__number {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.1;
}

.upew-aqi__scale {
	color: var(--upew-muted);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.upew-aqi__body {
	flex: 1 1 240px;
	min-width: 0;
}

.upew-aqi__label {
	font-size: 1.15rem;
	margin: 0 0 4px;
}

.upew-aqi__advice {
	color: var(--upew-muted);
	margin: 0;
}

.upew-aqi--good { border-left-color: #1a7f4b; }
.upew-aqi--fair { border-left-color: #4f9c2f; }
.upew-aqi--moderate { border-left-color: #b8860b; }
.upew-aqi--poor { border-left-color: #c2410c; }
.upew-aqi--very-poor { border-left-color: #b91c1c; }
.upew-aqi--extreme { border-left-color: #7f1d1d; }

/* Linna lehe kaart */
.upew-air-card {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	margin: var(--upew-gap) 0;
	padding: 18px 20px;
}

.upew-air-card__body {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: var(--upew-gap);
}

.upew-air-card__index {
	align-items: center;
	border-radius: 12px;
	background: var(--upew-bg);
	border: 1px solid var(--upew-border);
	display: flex;
	flex-direction: column;
	min-width: 92px;
	padding: 10px 14px;
}

.upew-air-card__number {
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.1;
}

.upew-air-card__label {
	color: var(--upew-muted);
	font-size: 0.85rem;
	text-align: center;
}

.upew-air-card__text {
	flex: 1 1 260px;
	min-width: 0;
}

.upew-air-card__text p {
	margin: 0 0 8px;
}

.upew-air-card__pollen {
	color: var(--upew-muted);
}

.upew-air-card__link {
	font-weight: 600;
}

/* Saasteainete punktid */
.upew-air-dot {
	border-radius: 50%;
	display: inline-block;
	height: 10px;
	margin-right: 6px;
	vertical-align: baseline;
	width: 10px;
}

.upew-air-dot--good { background: #1a7f4b; }
.upew-air-dot--moderate { background: #b8860b; }
.upew-air-dot--bad { background: #b91c1c; }

/* Mõõtejaam */
.upew-station {
	background: var(--upew-bg);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	margin: var(--upew-gap) 0;
	padding: 16px 20px;
}

.upew-station__meta,
.upew-station__source {
	color: var(--upew-muted);
	font-size: 0.9rem;
	margin: 0 0 10px;
}

.upew-station__source {
	margin: 10px 0 0;
}

.upew-station__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.upew-station__item {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	min-width: 0;
	padding: 8px 12px;
}

.upew-station__name {
	color: var(--upew-muted);
	display: block;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
}

.upew-station__number {
	font-size: 1.1rem;
	font-weight: 700;
}

.upew-station__unit {
	color: var(--upew-muted);
	font-size: 0.8rem;
}

/* Õietolm */
.upew-pollen {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.upew-pollen__item {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-left: 5px solid var(--upew-muted);
	border-radius: 12px;
	min-width: 0;
	padding: 12px 14px;
}

.upew-pollen__item--low { border-left-color: #4f9c2f; }
.upew-pollen__item--moderate { border-left-color: #b8860b; }
.upew-pollen__item--high { border-left-color: #b91c1c; }

.upew-pollen__name {
	display: block;
	font-weight: 600;
}

.upew-pollen__level {
	display: block;
	font-size: 0.95rem;
}

.upew-pollen__value,
.upew-pollen__season {
	color: var(--upew-muted);
	display: block;
	font-size: 0.82rem;
}

.upew-air-source {
	color: var(--upew-muted);
	font-size: 0.85rem;
	margin: var(--upew-gap) 0 0;
}

/* Virmalised */
.upew-aurora-hero {
	background: linear-gradient(135deg, #0f172a, #1e293b);
	border-radius: var(--upew-radius);
	color: #f8fafc;
	display: flex;
	flex-wrap: wrap;
	gap: var(--upew-gap);
	justify-content: space-between;
	margin: var(--upew-gap) 0;
	padding: 22px 24px;
}

.upew-aurora-hero--active {
	background: linear-gradient(135deg, #052e2b, #0f766e);
}

.upew-aurora-hero__main {
	min-width: 0;
}

.upew-aurora-hero__label {
	color: #cbd5e1;
	display: block;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.upew-aurora-hero__value {
	display: block;
	font-size: 2rem;
	line-height: 1.15;
}

.upew-aurora-hero__where {
	color: #cbd5e1;
	display: block;
	font-size: 0.95rem;
}

.upew-aurora-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.upew-aurora-hero__stats .upew-tile__label {
	color: #cbd5e1;
	display: block;
	font-size: 0.78rem;
}

.upew-aurora-hero__stats .upew-tile__value {
	display: block;
	font-size: 1.35rem;
	font-weight: 700;
}

.upew-aurora-score {
	border-radius: 999px;
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 600;
	padding: 3px 10px;
}

.upew-aurora-score--none { background: #e2e8f0; color: #334155; }
.upew-aurora-score--low { background: #fef3c7; color: #78350f; }
.upew-aurora-score--high { background: #bbf7d0; color: #14532d; }

.upew-aurora-cme {
	list-style: none;
	margin: 0;
	padding: 0;
}

.upew-aurora-cme li {
	border-bottom: 1px solid var(--upew-border);
	padding: 8px 0;
}

.upew-aurora-cme li:last-child {
	border-bottom: 0;
}

.upew-aurora-cme strong {
	margin-right: 8px;
}

/* NASA päeva pilt */
.upew-apod__figure {
	margin: 0;
}

.upew-apod__image {
	aspect-ratio: 16 / 9;
	border-radius: var(--upew-radius);
	display: block;
	max-height: 420px;
	max-width: 100%;
	object-fit: cover;
	width: 100%;
}

.upew-apod__caption {
	color: var(--upew-muted);
	font-size: 0.9rem;
	padding-top: 8px;
}

.upew-apod__credit {
	display: block;
}

/* Lisatav märgis */
.upew-badge-link,
.upew-badge-img {
	display: inline-block;
	max-width: 100%;
	vertical-align: middle;
}

.upew-badge-link {
	line-height: 0;
	text-decoration: none;
}

/* Apkures un CO₂ bloks */
.upew-carbon {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	margin: var(--upew-gap) 0;
	padding: 18px 20px;
}

.upew-carbon__stats {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.upew-carbon__stats li {
	background: var(--upew-bg);
	border: 1px solid var(--upew-border);
	border-radius: 12px;
	min-width: 0;
	padding: 10px 14px;
}

.upew-carbon__compare {
	color: var(--upew-muted);
	margin: 12px 0 0;
}

/* Kuu kaart */
.upew-moon {
	background: var(--upew-surface);
	border: 1px solid var(--upew-border);
	border-radius: var(--upew-radius);
	margin: var(--upew-gap) 0;
	padding: 18px 20px;
}

.upew-moon__body {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--upew-gap);
}

.upew-moon__disc {
	background: radial-gradient(circle at 50% 50%, #1e293b, #0f172a);
	border-radius: 50%;
	flex: 0 0 auto;
	line-height: 0;
	padding: 6px;
}

.upew-moon__svg {
	display: block;
	height: auto;
	max-width: 100%;
}

.upew-moon__info {
	flex: 1 1 240px;
	min-width: 0;
}

.upew-moon__phase {
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0;
}

.upew-moon__lit {
	color: var(--upew-muted);
	margin: 2px 0 10px;
}

.upew-moon__age {
	white-space: nowrap;
}

.upew-moon__times {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.upew-moon__times li {
	background: var(--upew-bg);
	border: 1px solid var(--upew-border);
	border-radius: 10px;
	min-width: 0;
	padding: 8px 12px;
}

.upew-moon__label {
	color: var(--upew-muted);
	display: block;
	font-size: 0.78rem;
}

.upew-moon__value {
	display: block;
	font-size: 1.05rem;
	font-weight: 600;
}
