/* ForecastsPro landing: /pricing, /facts and /whats-new (3 November 2026).
 *
 * Loaded after site.css on those three pages only (site.css keeps its size budget). Tokens
 * only, no inline styles (the CSP). The pricing card itself is site.css's, as on the home page.
 */

/* Links inside a sentence or a list item are underlined, as site.css does for its own text. */
.pay-note a, .facts a { text-decoration: underline; text-underline-offset: 3px; }
/* Each change on /whats-new is one link: in the text colour, with a quiet underline. */
.news-list a { color: var(--text-primary); text-decoration: underline; text-decoration-color: rgba(174, 183, 255, 0.45); text-underline-offset: 4px; }
.news-list a:hover { color: var(--text-link); text-decoration-color: currentColor; }

/* ---------- /pricing: the home page's card beside what you pay; stacked below 900 px ---------- */

/* Two equal columns, as the home page's .pricing: the card as wide as there (512 px from 1160 px). */
.price-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}
.pay-facts h2 { font-size: var(--lp-h3); }
.pay-list { display: grid; gap: 10px; margin: 12px 0 28px; list-style: none; }
.pay-list li { position: relative; padding-left: 20px; font-size: var(--lp-card-text); line-height: 1.55; }
.pay-list li::before,
.facts li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.66em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-text);
}
.pay-note { color: var(--text-muted); font-size: var(--lp-small); line-height: 1.6; }
.pay-facts .cta-row { margin-top: 20px; }
@media (max-width: 900px) {
  .price-page-grid { grid-template-columns: minmax(0, 1fr); max-width: 608px; }
}

/* ---------- /facts and /whats-new: one narrow column ---------- */

.facts,
.news { max-width: calc(var(--lp-narrow) + 2 * var(--lp-gutter)); padding-top: clamp(32px, 5vw, 56px); padding-bottom: var(--lp-section-y); }
.page-updated { margin-top: 14px; color: var(--text-muted); font-size: var(--lp-small); }
.facts section + section { margin-top: clamp(28px, 4vw, 40px); }
.facts h2 { font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem); letter-spacing: -0.02em; }
.facts h3 { margin-top: 18px; font-size: var(--lp-h3); }
.facts ul { display: grid; gap: 8px; margin-top: 12px; list-style: none; }
.facts li { position: relative; padding-left: 20px; line-height: 1.6; }
.facts li strong { color: var(--text-primary); font-weight: 600; }
/* The official links: the topic, then its address (stacked on phones). */
.facts-links { display: grid; gap: 8px; margin: 12px 0 0; }
.facts-links div { display: grid; grid-template-columns: 11em minmax(0, 1fr); gap: 4px 16px; }
.facts-links dt { color: var(--text-muted); }
.facts-links dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 520px) {
  .facts-links div { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

/* What's new: the date, then the change (which links to where it is explained). */
.news-list { display: grid; gap: 0; list-style: none; }
.news-list li {
  display: grid;
  grid-template-columns: 7.5em minmax(0, 1fr);
  gap: 4px 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--border-soft);
  line-height: 1.55;
}
.news-list time { color: var(--text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 520px) {
  .news-list li { grid-template-columns: minmax(0, 1fr); }
}
