/* tables.css — scorecard, payment-methods matrix, offers list, methodology table */

/* Universal table scroll wrapper — prevents horizontal overflow on small screens */
.wh-table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.wh-table-scroll table { min-width: 640px; }
.wh-table-scroll.wh-table-scroll--wide table { min-width: 900px; }

.wh-scorecard {
  width: 100%; max-width: 58ch;
  margin: var(--space-block) auto;
  border-collapse: collapse;
  font-family: var(--f-body);
  font-feature-settings: "tnum" 1, "lnum" 1;
}
.wh-scorecard caption {
  text-align: left;
  font-family: var(--f-body); font-weight: 600;
  font-size: var(--f-label); letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--c-accent);
  padding-bottom: 12px;
}
.wh-scorecard th, .wh-scorecard td {
  text-align: left;
  padding: 11px 12px;
  border-bottom: 1px solid var(--c-stone);
  font-size: 15px;
  vertical-align: baseline;
}
.wh-scorecard th {
  font-weight: 500; color: var(--c-ink-muted);
  font-size: 14px; letter-spacing: 0.02em;
}
.wh-scorecard td { color: var(--c-ink); }
.wh-scorecard .wh-sc-verdict {
  font-weight: 600; color: var(--c-ink);
}
.wh-scorecard .wh-sc-note { color: var(--c-ink-muted); font-size: 14px; }
.wh-scorecard tr:last-child th,
.wh-scorecard tr:last-child td {
  border-bottom: 0;
  padding-top: 20px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 13px;
}

/* 14-metric methodology table */
.wh-method-table {
  width: 100%; border-collapse: collapse;
  font-family: var(--f-body);
}
.wh-method-table th, .wh-method-table td {
  text-align: left; padding: 14px 12px;
  border-bottom: 1px solid var(--c-stone);
  font-size: 15px; vertical-align: top;
}
.wh-method-table thead th {
  font-weight: 600; color: var(--c-accent);
  font-size: var(--f-label); letter-spacing: 0.12em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--c-accent);
}
.wh-method-table .wh-mt-weight {
  font-feature-settings: "tnum" 1; width: 80px; text-align: right;
  font-weight: 600;
}

/* Payment methods matrix */
.wh-pm-matrix {
  width: 100%; border-collapse: collapse;
  font-family: var(--f-body);
}
.wh-pm-matrix th, .wh-pm-matrix td {
  text-align: center;
  padding: 10px 8px;
  border-bottom: 1px solid var(--c-stone);
  font-size: 14px;
  font-feature-settings: "tnum";
}
.wh-pm-matrix thead th {
  font-weight: 600; color: var(--c-accent);
  font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  border-bottom: 1px solid var(--c-accent);
  white-space: nowrap;
}
.wh-pm-matrix th:first-child, .wh-pm-matrix td:first-child { text-align: left; font-weight: 500; }
.wh-pm-matrix .wh-pm-op { display: inline-flex; align-items: center; gap: 8px; }
.wh-pm-matrix .wh-pm-op .wh-op-icon { width: 20px; height: 20px; border-radius: 3px; }
.wh-pm-matrix .yes { color: var(--c-ink); }
.wh-pm-matrix .no  { color: var(--c-stone); }

/* Offers list (editorial rows) */
.wh-offers-list {
  border-top: 1px solid var(--c-stone);
}
.wh-offer-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) auto 2.2fr auto;
  gap: var(--space-item);
  padding: 22px 0;
  border-bottom: 1px solid var(--c-stone);
  align-items: center;
}
.wh-offer-row .wh-offer-name {
  font-family: var(--f-body); font-weight: 600;
  font-size: 18px; letter-spacing: 0.01em;
  display: inline-flex; align-items: center; gap: 12px;
}
.wh-offer-row .wh-offer-name .wh-op-icon { width: 24px; height: 24px; border-radius: 4px; }
.wh-offer-row .wh-offer-copy { font-size: 15px; color: var(--c-ink); }
.wh-offer-row .wh-offer-tcs-link { font-size: 12px; color: var(--c-warn); margin-top: 4px; display: block; }

@media (max-width: 900px) {
  .wh-offer-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* Responsible gambling operator table */
.wh-rg-table {
  width: 100%; border-collapse: collapse; font-family: var(--f-body);
}
.wh-rg-table th, .wh-rg-table td {
  padding: 12px 10px; border-bottom: 1px solid var(--c-stone);
  font-size: 14px; text-align: left; vertical-align: top;
}
.wh-rg-table thead th {
  font-weight: 600; color: var(--c-accent);
  font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  border-bottom: 1px solid var(--c-accent);
}
.wh-rg-table .wh-rg-op { display: inline-flex; align-items: center; gap: 10px; }
.wh-rg-table .wh-rg-op .wh-op-icon { width: 18px; height: 18px; border-radius: 3px; }
