/* You're Welcome - Tableau responsive, version 0.5.
   Design validated: flat, no shadows, no yellow rule under the header.
   Scoped rules: existing site components remain unchanged.
*/
.yw-table {
  --yw-table-blue: #005894;
  --yw-table-text: #243746;
  --yw-table-muted: #506677;
  --yw-table-line: #dce6ec;
  --yw-table-alternate: #f7f9fa;
  --yw-table-min-width: 0px;
  width: 100%;
  max-width: 100%;
  margin: 0 0 56px;
  color: var(--yw-table-text);
}
.yw-table, .yw-table * { box-sizing: border-box; }
/* No custom H2 rules: the heading uses the site's existing .title.is-2. */
.yw-table .yw-table__hint {
  display: none;
  margin: 0 0 10px;
  color: var(--yw-table-muted);
  font-size: 14px;
  line-height: 1.5;
}
.yw-table .yw-table__scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--yw-table-line);
  border-radius: 8px;
}
.yw-table .yw-table__scroll:focus-visible {
  outline: 3px solid var(--yw-table-blue);
  outline-offset: 3px;
}
.yw-table .yw-table__table {
  display: table;
  width: 100%;
  min-width: 0;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  background: #fff;
  color: var(--yw-table-text);
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
}
.yw-table .yw-table__table th,
.yw-table .yw-table__table td {
  padding: 16px 17px;
  vertical-align: top;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--yw-table-line);
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}
.yw-table .yw-table__table thead th {
  background: var(--yw-table-blue);
  color: #fff;
  font-weight: 700;
  border-bottom: 0;
}
.yw-table .yw-table__table tbody tr:nth-child(odd) > * {
  background: #fff;
}
.yw-table .yw-table__table tbody tr:nth-child(even) > * {
  background: var(--yw-table-alternate);
}
.yw-table .yw-table__table tbody th {
  color: var(--yw-table-blue);
  font-weight: 700;
}
.yw-table .yw-table__table tbody tr:last-child > * {
  border-bottom: 0;
}
.yw-table .yw-table__note {
  margin: 10px 0 0;
  color: var(--yw-table-muted);
  font-size: 14px;
  line-height: 1.5;
}
.yw-table .yw-table__visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0;
}
/* Wide tables keep their own horizontal scroll area, never the full page. */
.yw-table--cols-3 { --yw-table-min-width: 600px; }
.yw-table--cols-4 { --yw-table-min-width: 720px; }
.yw-table--cols-5 { --yw-table-min-width: 880px; }
.yw-table--cols-6 { --yw-table-min-width: 1040px; }
.yw-table--cols-7 { --yw-table-min-width: 1200px; }
.yw-table--cols-8 { --yw-table-min-width: 1360px; }
.yw-table--wide .yw-table__table {
  min-width: max(100%, var(--yw-table-min-width));
}
.yw-table--wide .yw-table__table tr > :first-child {
  border-right: 1px solid var(--yw-table-line);
}
/* On desktop, three columns use a balanced 30 / 35 / 35 layout. */
@media (min-width: 761px) {
  .yw-table--cols-3 .yw-table__table tr > :first-child {
    width: 30%;
  }
}
/* Two columns always use the available width. */
.yw-table--simple .yw-table__table { min-width: 0; }
@media (max-width: 760px) {
  .yw-table { margin-bottom: 42px; }
  .yw-table .yw-table__table th,
  .yw-table .yw-table__table td { padding: 13px 12px; }
  /* Keep criteria visible only when horizontal scrolling is needed on mobile. */
  .yw-table--wide .yw-table__table tr > :first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    width: 145px;
    min-width: 145px;
  }
  .yw-table--wide .yw-table__table thead th:first-child { z-index: 2; }
  .yw-table--wide .yw-table__hint { display: block; }
}
@media print {
  .yw-table .yw-table__hint { display: none; }
  .yw-table .yw-table__scroll { overflow: visible; border-radius: 0; }
  .yw-table--wide .yw-table__table { min-width: 0; }
  .yw-table--wide .yw-table__table tr > :first-child { position: static; }
  .yw-table .yw-table__table tr { break-inside: avoid; }
}
