/* Climate vital-signs hub + indicator pages. */

.climate-page { max-width: 860px; margin: 0 auto; padding: 0 20px 40px; }
.cl-crumbs { font-size: 0.85rem; color: var(--muted, #5b6b8c); margin: 0.6rem 0 1.1rem; }
.cl-crumbs a { color: var(--accent, #6a4bff); text-decoration: none; }

.cl-hero { margin-bottom: 1.4rem; }
.cl-hero h1 { font-size: clamp(1.9rem, 4.5vw, 2.8rem); margin: 0 0 0.6rem; }
.cl-big {
  display: flex; align-items: baseline; gap: 0.6rem; flex-wrap: wrap;
  font-size: clamp(2.4rem, 7vw, 3.6rem); font-weight: 800; line-height: 1;
  color: var(--accent, #6a4bff); font-variant-numeric: tabular-nums;
}
.cl-through { font-size: 0.95rem; font-weight: 600; color: var(--muted, #5b6b8c); }
.cl-key { font-size: 1.1rem; line-height: 1.55; margin: 0.9rem 0 0; color: var(--text, #1a2540); }

.cl-card {
  background: var(--surface, #fff); border: 1px solid var(--border, #e3e7f7);
  border-radius: 16px; padding: 1.3rem 1.4rem; margin-bottom: 1.2rem;
  box-shadow: var(--shadow, 0 1px 3px rgba(20, 21, 46, 0.08));
}
.cl-card h2 { font-size: 1.2rem; margin: 0 0 0.8rem; }
.cl-card p { line-height: 1.65; margin: 0 0 0.85rem; }
.cl-card p:last-child { margin-bottom: 0; }
.cl-why { color: var(--text, #1a2540); }
.cl-source { font-size: 0.85rem; color: var(--muted, #5b6b8c); margin-top: 0.7rem !important; }
.cl-source a { color: var(--accent, #6a4bff); }
.cl-related p { margin: 0; color: var(--muted, #5b6b8c); }
.cl-related a { color: var(--accent, #6a4bff); font-weight: 600; }

/* Chart */
.cc-chart { width: 100%; }
.cc-chart.chart-error::before { content: "Chart data could not be loaded."; color: var(--muted, #5b6b8c); font-size: 0.9rem; }
.cc-svg { width: 100%; height: auto; display: block; }
.cc-grid { stroke: rgba(120, 140, 200, 0.18); stroke-width: 1; }
.cc-ylabel, .cc-xlabel { fill: var(--muted, #5b6b8c); font-size: 12px; font-family: 'JetBrains Mono', monospace; }
.cc-area { fill: color-mix(in srgb, var(--accent, #6a4bff) 14%, transparent); stroke: none; }
.cc-line { fill: none; stroke: var(--accent, #6a4bff); stroke-width: 2.2; stroke-linejoin: round; stroke-linecap: round; }
.cc-dot { fill: var(--accent, #6a4bff); stroke: #fff; stroke-width: 1.5; }
.cc-spark { width: 100%; height: 48px; display: block; }

/* Prev / next */
.cl-prevnext { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.8rem; }
.cl-pn { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.7rem 1rem; border-radius: 12px; text-decoration: none; background: var(--surface, #fff); border: 1px solid var(--border, #e3e7f7); color: var(--text, #1a2540); transition: border-color 0.15s, transform 0.15s; }
.cl-pn:hover { border-color: var(--accent, #6a4bff); transform: translateY(-1px); }
.cl-pn span { font-size: 0.75rem; color: var(--muted, #5b6b8c); }
.cl-pn strong { font-size: 1rem; }
.cl-next { text-align: right; }
.cl-hub { text-align: center; }

/* Hub grid */
.climate-grid { max-width: 860px; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1rem; }
.climate-card { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.2rem; border-radius: 16px; text-decoration: none; background: var(--surface, #fff); border: 1px solid var(--border, #e3e7f7); box-shadow: var(--shadow, 0 1px 3px rgba(20, 21, 46, 0.08)); transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s; }
.climate-card:hover { transform: translateY(-2px); border-color: var(--accent, #6a4bff); box-shadow: 0 10px 26px rgba(20, 21, 46, 0.14); }
.climate-card-spark { width: 120px; flex: none; }
.climate-card-body { flex: 1; min-width: 0; }
.climate-card-body h2 { margin: 0 0 0.3rem; font-size: 1.05rem; }
.climate-card-value { font-size: 1.5rem; font-weight: 800; color: var(--accent, #6a4bff); font-variant-numeric: tabular-nums; display: flex; align-items: baseline; gap: 0.45rem; flex-wrap: wrap; }
.climate-card-value span { font-size: 0.75rem; font-weight: 600; color: var(--muted, #5b6b8c); }
.climate-card-go { color: var(--accent, #6a4bff); font-size: 1.3rem; opacity: 0.5; flex: none; }
.climate-card:hover .climate-card-go { opacity: 1; }

@media (max-width: 480px) {
  .climate-card-spark { width: 80px; }
  .climate-grid { grid-template-columns: 1fr; }
}
