/* ============================================================
   oceanparksm.com — /now/ live conditions board
   Tokens only (shared.css). Blue accents, no yellow.
   ============================================================ */

.live-wrap{max-width:1080px;margin:0 auto;padding:34px 24px 60px}
/* Designed board: 2×2 on desktop, single column on phones —
   never auto-fit (no accidental arrangements). */
.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:760px){.live-grid{grid-template-columns:1fr}}
.live-card{
  background:var(--op-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);
  border-top:6px solid var(--lc-c, var(--op-ocean));padding:20px 22px;
}
.live-card h2{
  font-size:var(--fs-h3);font-weight:var(--fw-h3);margin-bottom:2px;
  display:flex;align-items:center;gap:8px;
}
.live-card .lc-sub{
  font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:color-mix(in srgb, var(--op-ink) 50%, var(--op-foam));margin-bottom:14px;
}
.live-card .lc-src{
  margin-top:14px;font-size:.72rem;font-weight:700;
  color:color-mix(in srgb, var(--op-ink) 45%, var(--op-foam));
}
.live-card .lc-stale{color:var(--op-sunset);font-weight:800}
.live-card .lc-none{
  font-weight:800;color:color-mix(in srgb, var(--op-ink) 55%, var(--op-foam));
  padding:10px 0;
}

/* collapsible "rest of the week" — the summary is a clickable header row */
.wx-more summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;margin-top:2px;
  border-top:1px solid color-mix(in srgb, var(--op-ink) 10%, transparent);
  font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  color:var(--op-ocean);
}
.wx-more summary::-webkit-details-marker{display:none}
.wx-more summary:hover{color:color-mix(in srgb, var(--op-ocean) 70%, var(--op-ink))}
.wx-caret{transition:transform .2s ease}
.wx-more[open] .wx-caret{transform:rotate(180deg)}

/* air quality category */
.aq-cat{
  display:inline-block;font-weight:900;font-size:.95rem;
  border-radius:var(--radius-pill);padding:.15em .9em;color:var(--op-white);
}
.aq-good{background:var(--op-palm)}
.aq-moderate{background:var(--op-ocean)}
.aq-bad{background:var(--op-sunset)}

/* wide band (the Weekend spans both columns) */
.live-wide{grid-column:1/-1}
/* odd paired-card count: the unpaired tail card takes the full row instead
   of half. Counts ONLY paired cards — the wide band and alert strip are
   conditional and must not flip the parity. */
.live-grid > .live-card:not(.live-wide):nth-child(odd of .live-card:not(.live-wide)):last-child{grid-column:1/-1}
.wknd-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px 30px}
@media (max-width:680px){.wknd-cols{grid-template-columns:1fr}}

/* plan-your-visit links under the board */
.live-next{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px;
}
@media (max-width:760px){.live-next{grid-template-columns:1fr 1fr}}
.live-next a{
  display:block;text-align:center;text-decoration:none;font-weight:900;font-size:.95rem;
  color:var(--op-white);background:var(--op-ocean);border-radius:var(--radius-pill);
  padding:13px 10px;box-shadow:var(--shadow-card);
}
.live-next a:hover{background:color-mix(in srgb, var(--op-ocean) 80%, var(--op-ink))}
.live-next a[href$="stay/"]{background:var(--op-sunset)}

/* weather-alert strip (full width, coral when active, quiet when clear) */
.alert-strip{
  border-radius:var(--radius-card);padding:14px 20px;
  font-size:var(--fs-small);font-weight:700;line-height:1.6;
}
.alert-strip.has-alerts{
  background:color-mix(in srgb, var(--op-sunset) 14%, var(--op-white));
  border:1px solid var(--op-sunset);color:var(--op-ink);
}
.alert-strip.all-clear{
  background:color-mix(in srgb, var(--op-palm) 10%, var(--op-white));
  border:1px solid color-mix(in srgb, var(--op-palm) 40%, transparent);
  color:color-mix(in srgb, var(--op-ink) 70%, var(--op-foam));
}
.alert-strip .as-src{
  display:inline-block;margin-left:10px;font-size:.72rem;font-weight:800;
  color:color-mix(in srgb, var(--op-ink) 45%, var(--op-foam));
}

/* market change badges */
.mkt-chg{font-size:.75rem;font-weight:900;margin-left:6px}
.mkt-up{color:var(--op-palm)}
.mkt-down{color:var(--op-sunset)}

/* news / events lists */
.news-item{
  display:block;text-decoration:none;
  padding:9px 0;border-bottom:1px solid color-mix(in srgb, var(--op-ink) 10%, transparent);
}
.news-item:last-of-type{border-bottom:none}
.news-title{display:block;font-weight:800;font-size:.95rem;line-height:1.35;color:var(--op-ink)}
.news-item:hover .news-title{color:var(--op-ocean)}
.news-ago{display:block;font-size:.76rem;font-weight:700;margin-top:2px;
  color:color-mix(in srgb, var(--op-ink) 50%, var(--op-foam))}

/* weather */
.wx-now{display:flex;align-items:center;gap:16px;padding:6px 0 14px}
.wx-temp{font-size:3.2rem;font-weight:900;line-height:1;color:var(--op-ink)}
.wx-cond{font-weight:800;font-size:1rem;line-height:1.35}
.wx-det{font-size:.8rem;font-weight:700;color:color-mix(in srgb, var(--op-ink) 55%, var(--op-foam))}
.wx-row{
  display:flex;align-items:baseline;gap:10px;
  padding:9px 0;border-bottom:1px solid color-mix(in srgb, var(--op-ink) 10%, transparent);
  font-size:var(--fs-small);font-weight:700;
}
.wx-row:last-of-type{border-bottom:none}
.wx-name{width:5.6em;font-weight:900}
.wx-short{flex:1;color:color-mix(in srgb, var(--op-ink) 70%, var(--op-foam))}
.wx-t{font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.wx-lo{color:color-mix(in srgb, var(--op-ink) 50%, var(--op-foam))}

/* tide rows */
.tide-row{
  display:flex;align-items:baseline;gap:12px;
  padding:9px 0;border-bottom:1px solid color-mix(in srgb, var(--op-ink) 10%, transparent);
  font-size:var(--fs-body);font-weight:700;
}
.tide-row:last-of-type{border-bottom:none}
.tide-row .t-arrow{font-weight:900;width:1.2em;text-align:center}
.tide-row.t-high .t-arrow{color:var(--op-ocean)}
.tide-row.t-low .t-arrow{color:var(--op-palm)}
.tide-row .t-kind{width:3.2em;font-weight:900;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}
.tide-row .t-time{flex:1}
.tide-row .t-day{
  font-size:.75rem;font-weight:800;color:color-mix(in srgb, var(--op-ink) 50%, var(--op-foam));
  text-transform:uppercase;letter-spacing:.05em;
}
.tide-row .t-ft{font-weight:900;color:var(--op-ink);font-variant-numeric:tabular-nums}
