/* Offer intelligence (Lot 5): status chips, verification freshness, verified history.
   Presentation only — every fact is published by the legacy engine. States carry text, never colour alone. */

.offer-intel-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0; padding: 0; list-style: none; }
.offer-intel-chip { display: inline-flex; align-items: center; gap: 0.3rem; min-height: 1.7rem; padding: 0.2rem 0.6rem; border: 1px solid #dce4ef; border-radius: var(--radius-pill); background: #f7f9fc; color: var(--color-navy); font-size: var(--text-xs); font-weight: 700; line-height: 1.2; }
.offer-intel-chip small { color: #52647a; font-weight: 600; }
.offer-intel-chip--status { background: #edf5ff; border-color: #c5dbf7; color: var(--color-navy); }
.offer-intel-chip--rating { padding: 0; border: 0; background: transparent; }
.offer-intel-chip--rating .quality-badge { margin: 0; }
.offer-intel-chip--changed { background: #fff6e5; border-color: #f2d9a6; color: #7a4d00; }
.offer-intel-chip--changed::before { content: "●"; font-size: var(--text-xs); color: #d98a00; }
.offer-intel-chip--freshness-fresh { background: #f2fbf6; border-color: #cfe9dc; color: #1f5c3d; }
.offer-intel-chip--freshness-aging { background: #f7f9fc; border-color: #dce4ef; color: #344b66; }
.offer-intel-chip--freshness-stale { background: #fff1f1; border-color: #f1c8c8; color: #8a2c2c; }
.offer-intel-chips--lead { margin-bottom: 0.85rem; }
.offer-intel-chips--lead .offer-intel-chip { font-size: var(--text-xs); min-height: 1.9rem; }

.offer-intel { margin-top: 1rem; padding: 1rem 1.1rem; border: 1px solid #dce4ef; border-radius: var(--radius-md); background: #fff; }
.offer-intel__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 0.65rem 1rem; margin: 0; }
.offer-intel__facts > div { min-width: 0; padding: 0.6rem 0.75rem; border: 1px solid #e6edf5; border-radius: var(--radius-sm); background: #f7f9fc; }
.offer-intel__facts dt { color: #52647a; font-size: var(--text-xs); font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.offer-intel__facts dd { margin: 0.2rem 0 0; color: var(--color-navy); font-size: 0.9rem; font-weight: 650; overflow-wrap: anywhere; }
.offer-intel__facts dd small { display: block; color: #52647a; font-size: var(--text-xs); font-weight: 600; }
.offer-intel__fact--freshness dd { display: flex; flex-wrap: wrap; gap: 0.25rem 0.4rem; align-items: baseline; }
.offer-intel__freshness { font-size: var(--text-xs); font-weight: 700; }
.offer-intel__fact--fresh .offer-intel__freshness { color: #1f5c3d; }
.offer-intel__fact--aging .offer-intel__freshness { color: #7a4d00; }
.offer-intel__fact--stale { border-color: #f1c8c8; background: #fff6f6; }
.offer-intel__fact--stale .offer-intel__freshness { color: #8a2c2c; }
.offer-intel__change { margin: 0.85rem 0 0; padding: 0.6rem 0.8rem; border-radius: var(--radius-sm); background: #f7f9fc; color: #344b66; font-size: 0.86rem; }
.offer-intel__change--recent { background: #fff6e5; color: #5b3a00; }
.offer-intel__history { margin-top: 1rem; padding-top: 0.85rem; border-top: 1px solid #e6edf5; }
.fintech-site .offer-intel__history h3 { margin: 0 0 0.3rem; font-size: 0.95rem; font-weight: 700; }
.offer-intel__history-summary { margin: 0; color: #344b66; font-size: 0.9rem; line-height: 1.5; }
.offer-intel__history-facts { margin: 0.5rem 0 0; padding-left: 1.1rem; color: #52647a; font-size: 0.82rem; line-height: 1.5; }
.offer-intel__timeline { display: grid; gap: 0.5rem; margin: 0.6rem 0 0; padding: 0; list-style: none; }
.offer-intel__timeline li { display: grid; grid-template-columns: minmax(7rem, 9rem) minmax(0, 1fr); gap: 0.6rem; padding: 0.5rem 0.65rem; border: 1px solid #e6edf5; border-radius: var(--radius-sm); background: #fff; }
.offer-intel__timeline li.is-current { border-color: #93bceb; background: #edf5ff; }
.offer-intel__timeline-date { color: #52647a; font-size: var(--text-xs); font-weight: 700; }
.offer-intel__timeline-body { display: grid; gap: 0.1rem; min-width: 0; font-size: 0.84rem; color: var(--color-navy); }
.offer-intel__timeline-body small { color: #52647a; }
.offer-intel__timeline-body em { color: #0052b8; font-style: normal; font-size: var(--text-xs); font-weight: 800; text-transform: uppercase; }
.offer-intel__note { margin: 0.85rem 0 0; color: #52647a; font-size: var(--text-xs); line-height: 1.45; }
.offer-intel__empty { margin: 0; color: var(--color-navy); font-weight: 700; }
.offer-intel__empty small { display: block; margin-top: 0.2rem; color: #52647a; font-weight: 600; }

.offer-alert-form__triggers { margin: 0 0 1rem; padding: 0.9rem 1rem; border: 1px solid #dce4ef; border-radius: var(--radius-md); }
.offer-alert-form__triggers legend { padding: 0 0.3rem; color: var(--color-navy); font-weight: 750; }
.offer-alert-form__triggers > p { margin: 0.25rem 0 0.6rem; font-size: 0.82rem; }
.offer-alert-form__trigger { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.45rem 0; cursor: pointer; }
.offer-alert-form__trigger input { margin-top: 0.25rem; }
.offer-alert-form__trigger span { display: grid; gap: 0.1rem; }
.offer-alert-form__trigger strong { font-size: 0.9rem; color: var(--color-navy); }
.offer-alert-form__trigger small { color: #52647a; font-size: var(--text-xs); line-height: 1.4; }

@media (max-width: 767px) {
  .offer-intel { padding: 0.85rem; }
  .offer-intel__timeline li { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; }
}

/* Offer barometer (press page, 8 Nov. 2026): the paragraph to quote, three figures, the median over time, then the
   tables. Every panel is one white surface with a hairline; figures use tabular numerals. */
.offer-barometer .guide-breadcrumb { margin: 0.25rem 0 0.75rem; }
.fintech-site .offer-barometer .offers-hero h1 span { color: #9ec5ff; white-space: nowrap; }
.offer-barometer > section, .offer-barometer__changes { margin-top: 2.75rem; }
.fintech-site .offer-barometer h2 { margin: 0; text-wrap: balance; }
.offer-barometer__note { margin: 0.3rem 0 0; color: var(--color-muted); font-size: var(--text-sm); }
.offer-barometer__fineprint { max-width: 46rem; margin: 0.7rem 0 0; color: var(--color-muted); font-size: var(--text-xs); }
.offer-barometer__more { margin: 0.8rem 0 0; font-size: var(--text-sm); }
.offer-barometer__panel { margin: 1rem 0 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }

.offer-barometer > .offer-barometer__summary { margin-top: 1.75rem; }
.offer-barometer__lead { max-width: 44rem; margin: 0.6rem 0 0; color: var(--color-navy); font-size: 1.2rem; line-height: 1.5; letter-spacing: -0.01em; }
.offer-barometer__lead strong { font-weight: 750; }
.offer-barometer__figures { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); font-variant-numeric: tabular-nums; }
.offer-barometer__figures > div { padding: 1.1rem 1.4rem 1.2rem; }
.offer-barometer__figures > div + div { border-left: 1px solid var(--color-border-subtle); }
.offer-barometer__figures dt { color: var(--color-muted); font-size: var(--text-xs); font-weight: 600; }
.offer-barometer__figures dd { margin: 0.15rem 0 0; }
.offer-barometer__figures dd strong { display: block; color: var(--color-navy); font-size: 2rem; font-weight: 800; letter-spacing: -0.04em; line-height: 1.15; }
.offer-barometer__figures dd span { display: block; margin-top: 0.2rem; font-size: var(--text-sm); }

.barometer-chart { padding: 1.25rem 1.4rem 1rem; }
.barometer-chart__frame { display: grid; grid-template-columns: 3.6rem minmax(0, 1fr) 4rem; grid-template-rows: 15rem 1.6rem; padding-top: 0.6rem; }
.barometer-chart__scale, .barometer-chart__end, .barometer-chart__dates { position: relative; color: var(--color-muted); font-size: var(--text-xs); font-variant-numeric: tabular-nums; white-space: nowrap; }
.barometer-chart__scale span { position: absolute; right: 0.6rem; transform: translateY(-50%); }
.barometer-chart__plot { position: relative; border-radius: 2px; cursor: crosshair; }
.barometer-chart__plot:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.barometer-chart__plot svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.barometer-chart__grid { stroke: var(--color-border-subtle); stroke-width: 1; vector-effect: non-scaling-stroke; }
.barometer-chart__area { fill: var(--color-blue); opacity: 0.1; }
.barometer-chart__line { fill: none; stroke: var(--color-blue); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.barometer-chart__dot { position: absolute; width: 0.5rem; height: 0.5rem; margin: -0.25rem 0 0 -0.25rem; border-radius: 50%; background: var(--color-blue); box-shadow: 0 0 0 2px var(--color-surface); transition: transform 120ms ease-out; }
.barometer-chart__dot.is-last { width: 0.625rem; height: 0.625rem; margin: -0.3125rem 0 0 -0.3125rem; }
.barometer-chart__dot.is-quiet { opacity: 0; }
.barometer-chart__dot.is-active { opacity: 1; transform: scale(1.45); }
.barometer-chart__cross { position: absolute; top: 0; bottom: 0; width: 1px; background: #9aa9bd; }
.barometer-chart__tip { position: absolute; top: 0; left: 0; z-index: 1; margin: 0; padding: 0.4rem 0.65rem; border-radius: var(--radius-sm); background: var(--color-navy); box-shadow: var(--elevation-2); color: #fff; font-size: var(--text-xs); line-height: 1.35; white-space: nowrap; pointer-events: none; }
.barometer-chart__tip strong { display: block; font-size: 0.9375rem; font-weight: 750; }
.barometer-chart__end strong { position: absolute; left: 0.75rem; transform: translateY(-50%); color: var(--color-navy); font-size: var(--text-sm); font-weight: 750; }
.barometer-chart__dates { grid-column: 2; margin-top: 0.5rem; }
.barometer-chart__dates span { position: absolute; top: 0; transform: translateX(-50%); }
.barometer-chart__dates span.is-start { transform: none; }
.barometer-chart__dates span.is-end { transform: translateX(-100%); }
.barometer-chart__foot { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem 1.5rem; margin-top: 0.9rem; padding-top: 0.75rem; border-top: 1px solid var(--color-border-subtle); font-size: var(--text-sm); }
.barometer-chart__foot details { flex: 1 1 18rem; }
.barometer-chart__foot summary { width: fit-content; color: var(--color-blue-dark); cursor: pointer; text-decoration: underline; text-underline-offset: 0.16em; }
.barometer-chart__foot table { margin-top: 0.6rem; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.barometer-chart__foot :is(th, td) { padding: 0.3rem 0 0.3rem 1.75rem; border-bottom: 1px solid var(--color-border-subtle); font-weight: 400; text-align: right; }
.barometer-chart__foot :is(th, td):first-child { padding-left: 0; text-align: left; }
.barometer-chart__foot thead th { color: var(--color-muted); font-size: var(--text-xs); font-weight: 600; }
.barometer-chart__foot td { font-weight: 600; }
@media (prefers-reduced-motion: no-preference) {
  .barometer-chart__line, .barometer-chart__area { animation: barometer-chart-reveal 900ms cubic-bezier(0.16, 1, 0.3, 1) 120ms both; }
}
@keyframes barometer-chart-reveal { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }

.offer-barometer__leaders { margin-top: 1rem; }
.offer-barometer__leaders .data-table { font-variant-numeric: tabular-nums; }
.offer-barometer__leaders .data-table :is(th, td) { padding: 0.75rem 0.9rem; vertical-align: top; }
.offer-barometer__leaders .data-table thead th { padding-block: 0.6rem; white-space: nowrap; }
.offer-barometer__leaders .data-table thead th:nth-child(2), .offer-barometer__leaders .data-table thead th:nth-child(3) { width: 26%; }
.offer-barometer__leaders .data-table tbody :is(th, td) { border-top: 1px solid var(--color-border-subtle); }
.offer-barometer__leaders .data-table .is-number { text-align: right; white-space: nowrap; }
.offer-barometer__leaders .data-table tbody th span { display: block; color: var(--color-muted); font-size: var(--text-xs); font-weight: 400; }
.offer-barometer__leaders time { white-space: nowrap; }
.offer-barometer__leaders .offer-barometer__rank { width: 2.5rem; color: var(--color-muted); font-weight: 700; }
.offer-barometer__leaders .offer-barometer__value { color: var(--color-navy); font-size: 1rem; font-weight: 800; letter-spacing: -0.02em; }

.offer-barometer__changes { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2rem; align-items: start; }
.fintech-site .offer-barometer__changes h2 { font-size: 1.2rem; }
.offer-barometer__balance { padding: 1rem 1.25rem 1.1rem; font-variant-numeric: tabular-nums; }
.offer-barometer__balance table { width: 100%; border-collapse: collapse; }
.offer-barometer__balance table:first-child { table-layout: fixed; }
.offer-barometer__balance table:first-child thead th { padding-bottom: 0.3rem; color: var(--color-muted); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.035em; text-transform: uppercase; }
.offer-barometer__balance table:first-child thead th:first-child { width: 4.4rem; }
.offer-barometer__balance table:first-child thead th:nth-child(2) { padding-right: 0.5rem; text-align: right; }
.offer-barometer__balance table:first-child thead th:nth-child(3) { padding-left: 0.5rem; text-align: left; }
.offer-barometer__balance table:first-child tbody :is(th, td) { padding: 0.55rem 0; white-space: nowrap; }
.offer-barometer__balance table:first-child tbody tr + tr :is(th, td) { border-top: 1px solid var(--color-border-subtle); }
.offer-barometer__balance tbody th { color: var(--color-navy); font-size: var(--text-sm); font-weight: 650; text-align: left; }
.offer-barometer__balance tbody th small { display: block; color: var(--color-muted); font-size: var(--text-xs); font-weight: 400; }
.offer-barometer__balance td.is-reduced { border-right: 1px solid #9aa9bd; text-align: right; }
.offer-barometer__balance td :is(span, i) { display: inline-block; vertical-align: middle; }
.offer-barometer__balance td span { min-width: 1.4rem; color: var(--color-navy); font-size: var(--text-sm); font-weight: 700; }
.offer-barometer__balance td i { width: calc(var(--share) * (100% - 2.4rem)); height: 0.875rem; }
/* The site's own « positive » blue against an orange: a pair that stays apart for colour-blind readers; the count beside each bar carries the value. */
.offer-barometer__balance td.is-reduced i { margin-left: 0.4rem; border-radius: 4px 0 0 4px; background: #e8894a; }
.offer-barometer__balance td.is-improved i { margin-right: 0.4rem; border-radius: 0 4px 4px 0; background: var(--color-positive); }
.offer-barometer__balance td.is-improved span { text-align: left; }
.offer-barometer__balance .offer-barometer__also { margin-top: 0.9rem; border-top: 1px solid var(--color-border-subtle); font-size: var(--text-sm); }
.offer-barometer__also :is(th, td) { padding: 0.15rem 0 0.15rem 0.75rem; font-weight: 600; text-align: right; }
.offer-barometer__also :is(th, td):first-child { padding-left: 0; font-weight: 400; text-align: left; }
.offer-barometer__also thead th { padding-top: 0.8rem; color: var(--color-muted); font-size: var(--text-xs); font-weight: 600; }

.offer-barometer__log { padding: 0.35rem 1.25rem 0.6rem; }
.fintech-site .offer-barometer__log h3 { margin: 0; padding: 0.8rem 0 0.25rem; color: var(--color-muted); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0; }
.offer-barometer__log ul { margin: 0; padding: 0; list-style: none; }
.offer-barometer__log li { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.45rem 0; border-top: 1px solid var(--color-border-subtle); font-size: var(--text-sm); }
.offer-barometer__log h3 + ul li:first-child, .offer-barometer__log > ul:first-child li:first-child { border-top: 0; }
.offer-barometer__log li a { font-weight: 600; }
.offer-barometer__log li time { flex: none; color: var(--color-muted); }
.offer-barometer__tag { display: inline-flex; flex: none; align-items: center; gap: 0.3rem; padding: 0.25rem 0.7rem; border-radius: var(--radius-pill); background: var(--color-surface-alt); color: var(--color-text); font-size: var(--text-xs); font-weight: 650; }
.offer-barometer__tag svg { width: 0.8rem; height: 0.8rem; margin-left: -0.15rem; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.offer-barometer__tag--improved { background: var(--ciq-mint-soft); color: var(--ciq-mint-text); }
.offer-barometer__tag--reduced { background: var(--ciq-coral); color: var(--ciq-coral-text); }
.offer-barometer__tag--new { background: var(--ciq-lavender); color: var(--ciq-lavender-text); }

.offer-barometer__method { display: grid; grid-template-columns: 1fr 1fr; }
.offer-barometer__method > div { padding: 1.05rem 1.4rem 1.15rem; border-top: 1px solid var(--color-border-subtle); }
.offer-barometer__method > div:nth-child(-n+2) { border-top: 0; }
.offer-barometer__method > div:nth-child(even) { border-left: 1px solid var(--color-border-subtle); }
.offer-barometer__method dt { color: var(--color-navy); font-size: var(--text-sm); font-weight: 750; }
.offer-barometer__method dd { max-width: 34rem; margin: 0.2rem 0 0; font-size: 0.9375rem; }

.offer-barometer__cite { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2rem; margin-top: 1rem; padding: 1.5rem 1.6rem; border-radius: var(--radius-md); background: var(--color-information-surface); }
.offer-barometer__cite p { max-width: 34rem; margin: 0.75rem 0 0; font-size: 0.9375rem; }
.offer-barometer__quote { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.85rem 1rem; border: 1px solid #c9dcf7; border-radius: var(--radius-sm); background: var(--color-surface); }
.offer-barometer__quote p { flex: 1; margin: 0; color: var(--color-navy); font-weight: 600; }
.offer-barometer__quote button { flex: none; min-height: 2rem; padding: 0 0.8rem; border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-navy); font: inherit; font-size: var(--text-xs); font-weight: 650; cursor: pointer; }
.offer-barometer__quote button:hover { border-color: var(--color-field-border); background: var(--color-surface-alt); }
.offer-barometer__cite .offer-barometer__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
.fintech-site .offer-barometer__cite h3 { margin: 0; color: var(--color-navy); font-size: var(--text-sm); font-weight: 750; letter-spacing: 0; }
.offer-barometer__cite h3 + p { margin-top: 0.25rem; }
.offer-barometer__cite p + h3 { margin-top: 1.1rem; }

@media (max-width: 760px) {
  .offer-barometer__lead { font-size: 1.0625rem; }
  .offer-barometer__figures { grid-auto-flow: row; }
  .offer-barometer__figures > div + div { border-top: 1px solid var(--color-border-subtle); border-left: 0; }
  .offer-barometer__figures dd strong { font-size: 1.75rem; }
  .barometer-chart { padding: 1rem 0.9rem 0.9rem; }
  .barometer-chart__frame { grid-template-columns: 3.3rem minmax(0, 1fr) 3.6rem; grid-template-rows: 12.5rem 1.6rem; }
  .offer-barometer__changes, .offer-barometer__cite, .offer-barometer__method { grid-template-columns: minmax(0, 1fr); }
  .offer-barometer__changes { gap: 2.75rem; }
  .offer-barometer__cite { gap: 1.5rem; padding: 1.25rem 1.1rem; }
  .offer-barometer__quote { flex-direction: column; }
  .offer-barometer__method > div:nth-child(2) { border-top: 1px solid var(--color-border-subtle); }
  .offer-barometer__method > div:nth-child(even) { border-left: 0; }
  /* The ranking becomes a list: one offer per block, each figure with its label. */
  .offer-barometer__leaders .data-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .offer-barometer__leaders .data-table tbody tr { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr) auto; gap: 0.1rem 0.6rem; padding: 0.9rem; border-top: 1px solid var(--color-border-subtle); }
  .offer-barometer__leaders .data-table tbody tr:first-child { border-top: 0; }
  .offer-barometer__leaders .data-table tbody :is(th, td) { display: block; padding: 0; border: 0; }
  .offer-barometer__leaders .offer-barometer__rank { width: auto; }
  .offer-barometer__leaders .offer-barometer__value { grid-row: 1; grid-column: 3; }
  .offer-barometer__leaders .data-table .offer-barometer__detail { grid-column: 2 / -1; text-align: left; white-space: normal; }
  .offer-barometer__leaders .offer-barometer__detail[data-label]::before { content: attr(data-label) " "; color: var(--color-muted); }
}
.offer-alert-explainer { margin-top: var(--space-6, 2rem); max-width: 42rem; }
