/* ================== OJS HTML Galley — Publisher grade =======================
   Shared filename required by OJS: html-galley.css
   Type system: Source Serif 4 (body) + Inter (headings), with system fallbacks.
============================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@600;700&display=swap');

:root{
  --measure: 72ch;
  --base: 18px;
  --lh: 1.65;
  --rule: #c8ccd0;
  --ink: #111;
  --muted: #555;
  --link: #1545a5;
  --link-visited: #6b2fbf;
  --sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --serif: "Source Serif 4", "Times New Roman", Times, serif;
}

html, body{
  font-family: var(--serif) !important;
  font-size: var(--base);
  line-height: var(--lh);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main.article{
  max-width: var(--measure);
  padding: 1.5rem 1rem 4rem;
  margin: 0 auto;
  hyphens: auto;
}

main.article::before{
  content: "";
  display: block;
  height: 4lh;
}

p{ margin: 0 0 .95em; orphans: 3; widows: 3; }
p:empty{ display: none; }

a{ color: var(--link); text-decoration: underline; }
a:visited{ color: var(--link-visited); }
a:focus{ outline: 2px solid var(--link); outline-offset: 2px; }

strong, b{ font-weight: 700; }
em, i{ font-style: italic; }

.frontmatter{ margin-bottom: 1.25rem; }

.frontmatter .journal-line{
  font-style: italic;
  color: var(--muted);
  margin: 0 0 .35rem;
  text-align: left;
}

.frontmatter .article-title{
  font-family: var(--sans) !important;
  font-size: 1.9rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .002em;
  margin: 0 0 .75rem;
  color: var(--ink);
}

.frontmatter .article-title.translated{
  font-size: 1.9rem;
  margin-top: .25rem;
}

.byline{
  margin: 0 0 1.1rem;
  color: var(--muted);
}

.byline .author-name{
  font-size: 1.1em;
  font-weight: 700;
}

.byline br{ display: block; content: ""; }

main.article h1,
main.article h2,
main.article h3{
  font-family: var(--sans) !important;
  font-weight: 700;
  letter-spacing: .0015em;
  color: var(--ink);
}

main.article h1{ font-size: 1.65rem; line-height: 1.25; margin: 1.1em 0 .5em; }
main.article h2{ font-size: 1.35rem; line-height: 1.30; margin: 1.2em 0 .55em; }
main.article h3{ font-size: 1.20rem; line-height: 1.30; margin: 1em 0 .45em; }

main.article h1 em,
main.article h1 i,
main.article h2 em,
main.article h2 i,
main.article h3 em,
main.article h3 i{
  font-style: normal;
}

ul, ol{
  margin: 0 0 1rem 1.25rem;
  padding-left: 1.25rem;
}

li{ margin: .25rem 0; }

.long-quote{
  margin: 1rem 0;
  padding-left: 1rem;
  border-left: 3px solid #999;
}

img{ max-width: 100%; height: auto; }

.references-heading{ margin-bottom: .35rem; }

.references-list .ref-entry{
  padding-left: 2em;
  text-indent: -2em;
  margin-bottom: .65em;
}

/* --------------------------- Tables --------------------------------------- */

.table-scroll{
  display: block;
  max-width: 100%;
  margin: 1.15rem 0 .35rem;
  padding-bottom: .25rem;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.table-scroll:focus{
  outline: 2px solid var(--link);
  outline-offset: 2px;
}

.table-scroll > table{
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

.table-scroll th,
.table-scroll td{
  padding: .5rem .65rem;
  vertical-align: top;
  border-top: 1px solid var(--rule);
}

.table-scroll thead th{
  background: #f3f3f2;
  color: var(--ink);
  font-style: italic;
  font-weight: 400;
  letter-spacing: .004em;
  vertical-align: bottom;
  border-top: 1px solid var(--rule);
  border-bottom: 2px solid var(--rule);
}

.table-scroll tbody tr:nth-child(even) td{
  background: #fafafa;
}

.table-scroll th p,
.table-scroll td p{
  margin: 0;
  text-align: inherit;
}

.table-scroll th,
.table-scroll td,
.table-scroll th p,
.table-scroll td p{
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.table-scroll th.align-left,
.table-scroll td.align-left{ text-align: left; }

.table-scroll th.align-center,
.table-scroll td.align-center{ text-align: center; }

.table-scroll th.align-right,
.table-scroll td.align-right{ text-align: right; }

/* Numerical cells only: stable digit widths and no broken percentages/ranges. */
.table-scroll th.numeric-cell,
.table-scroll td.numeric-cell{
  font-variant-numeric: tabular-nums lining-nums;
  white-space: nowrap;
}

/* Table 1: demographic distribution. */
.table-scroll.table-1 > table{
  min-width: 42rem;
}

.table-scroll.table-1 th:nth-child(1),
.table-scroll.table-1 td:nth-child(1){ width: 18%; }

.table-scroll.table-1 th:nth-child(2),
.table-scroll.table-1 td:nth-child(2),
.table-scroll.table-1 th:nth-child(3),
.table-scroll.table-1 td:nth-child(3),
.table-scroll.table-1 th:nth-child(4),
.table-scroll.table-1 td:nth-child(4){ width: 14%; }

.table-scroll.table-1 th:nth-child(5),
.table-scroll.table-1 td:nth-child(5){ width: 40%; }

/* Table 2: employment outcomes. */
.table-scroll.table-2 > table{
  min-width: 48rem;
}

.table-scroll.table-2 th:nth-child(1),
.table-scroll.table-2 td:nth-child(1){ width: 12%; }

.table-scroll.table-2 th:nth-child(n+2),
.table-scroll.table-2 td:nth-child(n+2){ width: 17.6%; }

/* Table 3: seven practice-informed levers. */
.table-scroll.table-3 > table{
  min-width: 62rem;
  table-layout: fixed;
}

.table-scroll.table-3 th:nth-child(1),
.table-scroll.table-3 td:nth-child(1){ width: 7%; }

.table-scroll.table-3 th:nth-child(2),
.table-scroll.table-3 td:nth-child(2){ width: 18%; }

.table-scroll.table-3 th:nth-child(3),
.table-scroll.table-3 td:nth-child(3){ width: 50%; }

.table-scroll.table-3 th:nth-child(4),
.table-scroll.table-3 td:nth-child(4){ width: 25%; }

.table-caption{
  margin: .25rem 0 1.35rem;
  font-size: .95em;
  line-height: 1.45;
  color: #333;
}

/* ------------------- Internal navigation ---------------------------------- */

:target,
main.article h1[id],
main.article h2[id],
main.article h3[id],
.table-scroll[id],
.ref-entry[id],
.table-caption[id]{
  scroll-margin-top: 2.5rem;
}

.internal-xref{
  text-decoration-thickness: .08em;
  text-underline-offset: .12em;
}

/* --------------------------- Print ---------------------------------------- */

@media print{
  a{ color: inherit; text-decoration: none; }

  main.article{
    max-width: none;
    padding: 0;
  }

  main.article::before{ display: none; }

  .table-scroll{
    overflow: visible;
    padding-bottom: 0;
  }

  .table-scroll > table{
    width: 100%;
    min-width: 0;
  }

  .table-scroll th,
  .table-scroll td{
    white-space: normal !important;
  }
}
