/* County Weather Forecast — frontend styles
   Design intent: read like an official meteorological bulletin —
   calm, legible, data-first. Row tinting is semantic (time of day /
   rainfall / hazard), not decorative. */

.cwf-wrapper {
	--cwf-ink: #1F2A33;
	--cwf-ink-soft: #55636B;
	--cwf-border: #D9E0E3;
	--cwf-header-bg: #1B4B66;
	--cwf-header-text: #F4F8FA;
	--cwf-morning-tint: #FBF1DD;
	--cwf-afternoon-tint: #E4F0F8;
	--cwf-night-tint: #E6E7F4;
	--cwf-rainfall-tint: #E4F3EF;
	--cwf-hazard-tint: #FBEAE8;
	--cwf-hazard-ink: #9A2E22;
	--cwf-accent: #3579B0;

	font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: var(--cwf-ink);
	max-width: 100%;
	margin: 1.75em 0;
}

.cwf-title {
	font-size: 1.15rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	margin: 0 0 0.85em;
	color: var(--cwf-ink);
}

.cwf-table-scroll {
	overflow-x: auto;
	border: 1px solid var(--cwf-border);
	border-radius: 4px;
}

.cwf-table {
	border-collapse: collapse;
	width: 100%;
	min-width: 640px;
	font-size: 0.92rem;
}

.cwf-table th,
.cwf-table td {
	border: 1px solid var(--cwf-border);
	padding: 0.65em 0.75em;
	text-align: center;
	vertical-align: middle;
}

.cwf-table thead th {
	background: var(--cwf-header-bg);
	color: var(--cwf-header-text);
	font-weight: 500;
	white-space: nowrap;
}

.cwf-corner {
	background: var(--cwf-header-bg);
}

.cwf-weekday {
	display: block;
	font-weight: 600;
	font-size: 0.94rem;
}

.cwf-date {
	display: block;
	font-family: 'IBM Plex Mono', ui-monospace, Menlo, monospace;
	font-size: 0.76rem;
	opacity: 0.85;
	margin-top: 0.15em;
}

.cwf-table tbody th {
	background: #F2F4F5;
	text-align: left;
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--cwf-ink-soft);
	white-space: nowrap;
}

.cwf-row--morning td { background: var(--cwf-morning-tint); }
.cwf-row--afternoon td { background: var(--cwf-afternoon-tint); }
.cwf-row--night td { background: var(--cwf-night-tint); }
.cwf-row--rainfall td { background: var(--cwf-rainfall-tint); }

.cwf-cell--hazard {
	background: var(--cwf-hazard-tint);
	color: var(--cwf-hazard-ink);
	font-weight: 500;
}

.cwf-condition {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2em;
	line-height: 1.2;
}

.cwf-condition svg {
	display: block;
}

.cwf-condition-label {
	font-size: 0.74rem;
	color: var(--cwf-ink-soft);
}

.cwf-temp {
	font-family: 'IBM Plex Mono', ui-monospace, Menlo, monospace;
	font-weight: 600;
	font-size: 0.98rem;
}

.cwf-dash {
	color: #B7C0C4;
}

/* Rainfall distribution "pie" glyph */
.cwf-raindist {
	display: inline-block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1.5px solid var(--cwf-accent);
	vertical-align: middle;
	background: conic-gradient(var(--cwf-fill, var(--cwf-accent)) 0% var(--cwf-pct, 0%), transparent var(--cwf-pct, 0%) 100%);
}

.cwf-legend {
	margin-top: 1em;
	font-size: 0.82rem;
	color: var(--cwf-ink-soft);
	line-height: 1.9;
}

.cwf-legend .cwf-raindist {
	margin: 0 0.15em 0 0.6em;
}

.cwf-additional-info {
	margin-top: 1.25em;
	padding: 1em 1.15em;
	background: #F7F9F8;
	border-left: 3px solid var(--cwf-header-bg);
	border-radius: 2px;
	font-size: 0.92rem;
	line-height: 1.6;
}

.cwf-additional-info p:first-child {
	margin-top: 0;
}

.cwf-additional-info p:last-child {
	margin-bottom: 0;
}

.cwf-empty {
	font-style: italic;
	color: #7A868D;
}

@media (max-width: 600px) {
	.cwf-table {
		font-size: 0.82rem;
	}
	.cwf-condition svg {
		width: 26px;
		height: 26px;
	}
	.cwf-condition-label {
		display: none; /* icon alone is enough at small sizes */
	}
}
