/* Shared "safety cluster" styles (severe, flood, winter, heat) */
.risk-bar{
  display:grid;grid-template-columns:repeat(5,1fr);
  border:1px solid var(--ink);background:var(--white);margin-top:1.5rem;
}
.risk-bar .risk{
  padding:1rem 1.2rem;border-right:1px solid var(--rule);
  display:flex;flex-direction:column;gap:.3rem;position:relative;
}
.risk-bar .risk:last-child{border-right:0}
.risk-bar .risk__k{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--slate)}
.risk-bar .risk__v{font-family:var(--display);font-weight:800;font-size:1.4rem;line-height:1.1}
.risk-bar .risk.is-active{background:var(--ink);color:var(--paper)}
.risk-bar .risk.is-active .risk__k{color:var(--gold)}
.risk-bar .risk.is-active .risk__v{color:var(--paper)}

.outlook-days{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  border-top:1px solid var(--rule);border-left:1px solid var(--rule);
}
.outlook-day{
  padding:1.4rem 1.5rem;background:var(--paper);
  border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  position:relative;
}
.outlook-day__k{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--rust);margin:0 0 .3rem}
.outlook-day h3{font-family:var(--display);font-size:1.2rem;font-weight:600;margin:0 0 .6rem}
.outlook-day p{font-size:.9rem;color:var(--ink-soft);margin:.3rem 0;line-height:1.5}
.outlook-day__level{
  display:inline-block;padding:.25rem .55rem;
  border-radius:2px;background:var(--gold);color:var(--ink);
  font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;
}
.outlook-day__level[data-level="high"]{background:var(--rust-deep);color:var(--paper)}
.outlook-day__level[data-level="moderate"]{background:var(--rust);color:var(--paper)}
.outlook-day__level[data-level="enhanced"]{background:var(--gold)}
.outlook-day__level[data-level="slight"]{background:#d4c3a8}
.outlook-day__level[data-level="marginal"]{background:var(--paper-warm)}
.outlook-day__level[data-level="general"]{background:var(--paper)}

.gauge-list{
  list-style:none;margin:0;padding:0;
  border:1px solid var(--ink);background:var(--paper);
}
.gauge-list li{
  display:grid;grid-template-columns:1.2fr auto auto auto;gap:1.2rem;
  align-items:center;padding:1rem 1.3rem;
  border-bottom:1px solid var(--rule);
}
.gauge-list li:last-child{border-bottom:0}
.gauge-list li:hover{background:var(--white)}
.gauge-list__name{font-family:var(--display);font-weight:600;font-size:1.05rem}
.gauge-list__river{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--slate);margin:.1rem 0 0}
.gauge-list__level{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.gauge-list__level small{font-size:.8rem;font-weight:400;color:var(--slate)}
.gauge-list__status{
  padding:.3rem .7rem;border-radius:2px;background:var(--moss);color:var(--paper);
  font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;
}
.gauge-list__status[data-s="action"]{background:var(--gold);color:var(--ink)}
.gauge-list__status[data-s="minor"]{background:#c45a3a;color:var(--paper)}
.gauge-list__status[data-s="moderate"]{background:var(--rust);color:var(--paper)}
.gauge-list__status[data-s="major"]{background:var(--rust-deep);color:var(--paper)}
.gauge-list__flood{font-family:var(--mono);font-size:.72rem;color:var(--slate)}

.season-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.35rem .8rem;background:var(--ink);color:var(--paper);
  border-radius:20px;
  font-family:var(--mono);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.16em;
  margin-bottom:1rem;
}
.season-badge::before{content:"●";color:var(--gold)}
.season-badge.is-off{background:var(--paper-warm);color:var(--slate)}
.season-badge.is-off::before{color:var(--slate)}

@media (max-width:900px){
  .risk-bar{grid-template-columns:repeat(2,1fr)}
  .risk-bar .risk:nth-child(5){grid-column:span 2}
  .risk-bar .risk{border-right:0;border-bottom:1px solid var(--rule)}
  .gauge-list li{grid-template-columns:1fr auto;gap:.5rem}
  .gauge-list__level,.gauge-list__status{grid-column:2}
}
