/* Data Sources page — hero + table styling for /data-sources */

/* Matches the news page hero proportions. */
.page-hero { min-height:45vh; background:linear-gradient(135deg, var(--navy) 0%, #1a3a52 100%); display:flex; align-items:center; padding:120px 5% 80px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(120deg, rgba(255,255,255,0.04) 0%, transparent 70%); }
.page-hero-inner { max-width:900px; margin:0 auto; width:100%; position:relative; z-index:1; text-align:center; }
.page-hero h1 { font-family:'Playfair Display',serif; font-size:clamp(2rem,3.5vw,3.2rem); font-weight:400; color:var(--white); line-height:1.15; margin-bottom:1.25rem; }
.hero-sub { font-size:1.05rem; color:rgba(255,255,255,0.7); line-height:1.7; margin-bottom:0; max-width:560px; }
.page-hero-inner.centered h1 { margin-left:auto; margin-right:auto; }
.page-hero-inner.centered .hero-sub { margin-left:auto; margin-right:auto; }

.data-sources-section {
  padding: 2.5rem 1.5rem 4rem;
  background: var(--white, #fff);
}

.data-sources-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.ds-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.ds-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  min-width: 880px;
}

.ds-table thead th {
  background: var(--bg-soft, #f7f8fa);
  color: var(--text-primary, #111);
  font-weight: 600;
  text-align: left;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--border, #e5e7eb);
  white-space: nowrap;
}

.ds-table tbody td,
.ds-table tbody th {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--border-soft, #f0f1f3);
  vertical-align: top;
  text-align: left;
  font-weight: 400;
  line-height: 1.45;
}

.ds-table tbody tr:last-child td,
.ds-table tbody tr:last-child th {
  border-bottom: 0;
}

.ds-table tbody tr:hover {
  background: var(--bg-hover, #fafbfc);
}

.ds-role {
  font-weight: 600;
  color: var(--text-primary, #111);
  white-space: nowrap;
}

.ds-value {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: var(--text-primary, #111);
}

.ds-source {
  color: var(--text-secondary, #555);
  font-size: 0.88rem;
  max-width: 28rem;
}

.ds-source-link {
  color: var(--accent, #0B7EA2);
  white-space: nowrap;
  text-decoration: none;
  font-weight: 500;
}

.ds-source-link:hover,
.ds-source-link:focus-visible {
  text-decoration: underline;
}

.ds-source-empty {
  color: var(--text-muted, #888);
  font-style: italic;
}

.ds-empty {
  text-align: center;
  color: var(--text-secondary, #555);
  padding: 2rem;
}

.data-sources-footnote {
  max-width: 800px;
  margin: 2rem auto 0;
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--text-muted, #666);
}

@media (max-width: 720px) {
  .data-sources-section { padding: 2rem 1rem 3.5rem; }
  .ds-table { font-size: 0.85rem; }
  .ds-table thead th,
  .ds-table tbody td,
  .ds-table tbody th { padding: 0.65rem 0.8rem; }
}

