.wwrof-financial-charts {
  --wwrof-fin-card-bg: var(--wwrof-bg);
  --wwrof-fin-card-border: var(--wwrof-border);
  --wwrof-fin-card-divider: var(--wwrof-border);
  --wwrof-fin-title: var(--wwrof-text);
  --wwrof-fin-value: var(--wwrof-text);
  --wwrof-fin-year: var(--wwrof-muted);
  --wwrof-fin-grid: #d8dee7;
  --wwrof-fin-axis: var(--wwrof-muted);
  --wwrof-fin-bar: #d7dde6;
  --wwrof-fin-bar-active: #667386;
  --wwrof-fin-bar-active-outline: #4f5a6a;

  display: grid;
  gap: 1rem;
  margin: 1rem 0 1.5rem;
}

html.dark .wwrof-financial-charts {
  --wwrof-fin-grid: #2b3649;
  --wwrof-fin-bar: #2f3a4a;
  --wwrof-fin-bar-active: #9aa6b8;
  --wwrof-fin-bar-active-outline: #c1cada;
}

.wwrof-financial-charts.is-grid-2x2 {
  grid-template-columns: 1fr 1fr;
}

.wwrof-financial-charts.is-grid-1x4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* 1x4 can get tight before it collapses; reduce typography density early. */
.wwrof-financial-charts.is-grid-1x4 .wwrof-financial-card__title {
  font-size: 1.05rem;
}

.wwrof-financial-charts.is-grid-1x4 .wwrof-financial-card__value-number {
  font-size: 1.5rem;
}

.wwrof-financial-charts.is-grid-1x4 .wwrof-financial-card__value-year {
  font-size: 0.88rem;
}

.wwrof-financial-charts.is-grid-1x4 .wwrof-financial-card__header {
  padding: 0.75rem 0.75rem 0.6rem;
}

.wwrof-financial-charts.is-grid-1x4 .wwrof-financial-card__chart {
  padding: 0.55rem 0.55rem 0.35rem;
}

.wwrof-financial-card {
  border: 1px solid var(--wwrof-fin-card-border);
  border-radius: 10px;
  background: var(--wwrof-fin-card-bg);
  overflow: hidden;
}

.wwrof-financial-card__header {
  padding: 1rem 1rem 0.75rem;
  border-bottom: 1px solid var(--wwrof-fin-card-divider);
}

.wwrof-financial-card__title {
  margin: 0 0 0.25rem;
  font-size: 1.25rem;
  line-height: 1.2;
  color: var(--wwrof-fin-title);
}

.wwrof-financial-card__value {
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}

.wwrof-financial-card__value-number {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--wwrof-fin-value);
}

.wwrof-financial-card__value-year {
  font-size: 1rem;
  color: var(--wwrof-fin-year);
}

.wwrof-financial-card__chart {
  padding: 0.75rem 0.75rem 0.5rem;
}

.wwrof-financial-card__chart svg {
  display: block;
  width: 100%;
  height: auto;
}

.wwrof-financial-gridline {
  stroke: var(--wwrof-fin-grid);
  stroke-width: 1;
}

.wwrof-financial-axis-label {
  fill: var(--wwrof-fin-axis);
  font-size: 11px;
}

.wwrof-financial-bar {
  fill: var(--wwrof-fin-bar);
  cursor: pointer;
  transition: fill 140ms ease-out, stroke 140ms ease-out;
  stroke: transparent;
  stroke-width: 1;
}

.wwrof-financial-bar:hover,
.wwrof-financial-bar:focus {
  fill: var(--wwrof-fin-bar);
  outline: none;
}

.wwrof-financial-bar.is-active {
  fill: var(--wwrof-fin-bar-active);
  stroke: var(--wwrof-fin-bar-active-outline);
}

.wwrof-financial-empty {
  margin: 1rem 0;
  color: var(--wwrof-fin-axis);
}

/* Back-compat alias for older Financials page content. */
.wwrof-financials-hero {
  padding-top: clamp(44px, 7vw, 84px);
  padding-bottom: clamp(32px, 6vw, 64px);
}

/* Form 990 year list: 4 columns desktop, 2 tablet, 1 mobile. */
.wwrof-financials-years-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, 2vw, 20px) clamp(16px, 4vw, 56px);
  align-items: start;
}

.wwrof-financials-years-grid > .wp-block-column {
  margin: 0 !important;
  min-width: 0;
}

/* Auto-generated year list with natural top-to-bottom multi-column flow. */
.wwrof-financials-years-list {
  margin: 0;
  padding: 0;
  list-style: none;
  column-count: 4;
  column-gap: clamp(16px, 4vw, 56px);
  column-fill: balance;
}

.wwrof-financials-years-list__item {
  break-inside: avoid;
  margin: 0 0 clamp(16px, 2vw, 24px);
}

.wwrof-financials-years-list__year {
  display: inline-block;
  color: var(--wwrof-text);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  background-image: linear-gradient(var(--wwrof-accent), var(--wwrof-accent));
  background-position: 0 calc(100% - 2px);
  background-repeat: no-repeat;
  background-size: 0 2px;
  transition: background-size 0.18s ease;
}

.wwrof-financials-years-list__link {
  display: block;
  text-decoration: none;
  color: inherit;
  text-align: center;
}

.wwrof-financials-years-list__link:hover .wwrof-financials-years-list__year,
.wwrof-financials-years-list__link:focus-visible .wwrof-financials-years-list__year {
  background-size: 100% 2px;
}

/* Space between chart module and the PDF download section. */
.wwrof-financials-pdfs {
  margin-top: clamp(28px, 5vw, 56px);
}

@media (max-width: 640px) {
  .wwrof-financial-charts.is-grid-2x2 {
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  .wwrof-financial-charts.is-grid-1x4 {
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  .wwrof-financial-card__header {
    padding: 0.625rem 0.625rem 0.5rem;
  }

  .wwrof-financial-card__title {
    font-size: 1rem;
  }

  .wwrof-financial-card__value-number {
    font-size: 1.35rem;
  }

  .wwrof-financial-card__value-year {
    font-size: 0.8rem;
  }

  .wwrof-financial-card__chart {
    padding: 0.4rem 0.35rem 0.25rem;
  }
}

@media (max-width: 922px) {
  .wwrof-financial-charts.is-grid-1x4 {
    grid-template-columns: 1fr 1fr;
  }

  .wwrof-financial-card__title {
    font-size: 1rem;
  }

  .wwrof-financial-card__value-number {
    font-size: 1.35rem;
  }

  .wwrof-financial-card__value-year {
    font-size: 0.8rem;
  }

  .wwrof-financial-card__header {
    padding: 0.625rem 0.625rem 0.5rem;
  }

  .wwrof-financial-card__chart {
    padding: 0.45rem 0.4rem 0.25rem;
  }

  .wwrof-financials-years-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wwrof-financials-years-list {
    column-count: 2;
  }
}
