/* FBLTWX · warning banner and floating warning bar (assets/np/warnings.js), on every np.css page. It uses only --red,
   --t80, --ink and --gutter. */
.np-warn{margin-top:14px}
.np-warn[hidden],.np-warnfloat[hidden]{display:none}   /* .np-warnfloat sets display:flex */
.np-warnbanner{--wc:var(--red);background:var(--wc);color:#fff;padding:14px 18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px}
.np-warnbanner+.np-warnbanner{margin-top:6px}
.np-warnbanner.ffw{--wc:var(--t80);color:var(--ink)}
.np-warnbanner h2{margin:0;font-size:32px;font-weight:900;line-height:1.1}
.np-warnbanner .until{font-size:18px;font-weight:700}
.np-warnbanner .left{margin-left:auto;font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}
.np-warnbanner .where{flex-basis:100%;font-size:16px;font-weight:800}
.np-warnbanner .more{flex-basis:100%;font-size:15px;font-weight:700;color:inherit;text-decoration:underline}   /* radar and models pages: details live on the home page */
/* floating warning bar: pinned to the top of the window while a warning is active and its banner is scrolled away */
.np-warnfloat{--wc:var(--red);position:fixed;left:0;right:0;top:0;z-index:50;display:flex;align-items:center;gap:10px 14px;padding:8px max(16px,calc((100vw - 1280px) / 2 + var(--gutter)));background:var(--wc);color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.np-warnfloat.ffw{--wc:var(--t80);color:var(--ink)}
.np-warnfloat p{margin:0;flex:1 1 auto;min-width:0;font-size:15px;font-weight:700;line-height:1.3}
.np-warnfloat strong{font-size:17px;font-weight:900}
.np-warnfloat button{flex:none;font:800 14px 'Libre Franklin','LF Fallback','LF Fallback Roboto',system-ui,sans-serif;color:inherit;background:transparent;border:2px solid currentColor;padding:6px 12px;cursor:pointer}
.np-warnfloat button.x{padding:4px 10px;font-size:18px;line-height:1}
.np-warnfloat button:focus-visible{outline:3px solid currentColor;outline-offset:2px}
@media (max-width:720px){ .np-warnfloat{padding:8px 12px} .np-warnfloat p{font-size:13px} .np-warnfloat strong{font-size:15px;display:block} }
/* watch bars and the other alert rows (advisories, freeze and frost warnings) */
.np-alerts{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.np-alert{display:flex;gap:14px;align-items:baseline;padding:12px 16px;font-size:15px;color:#fff;background:var(--red)}
.np-alert strong{font-weight:900;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.np-alert a{color:inherit;text-decoration:underline;margin-left:auto;white-space:nowrap}
.np-alert.watch{background:var(--ink)}
.np-alert.adv{background:#fff;color:var(--red);border:2px solid var(--red)}
.np-alert.stmt{background:#fff;color:var(--ink);border:2px solid var(--ink)}   /* Round P9: a statement (the NWS's Special Weather Statement and the like) */
/* watches: a slim orange bar, no layout change */
.np-watches{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.np-watchbar{background:var(--t80);color:var(--ink);padding:8px 16px;font-size:15px;font-weight:700}
.np-watchbar strong{font-weight:900;margin-right:8px}
.np-watches[hidden],.np-alerts[hidden]{display:none}
@media (max-width:720px){ .np-alert{flex-wrap:wrap} .np-alert a{margin-left:0} }
