/*
 * /browse — crawler-facing stylesheet.
 *
 * Intentionally small and dependency-free: no Bootstrap, no Tailwind, no
 * webfonts. These pages are built to be fetched hundreds of thousands of
 * times by robots, so every byte and every extra request is multiplied.
 * System fonts only; one file; no JavaScript anywhere on the surface.
 */

:root {
  --bw-ink:    #16181d;
  --bw-ink-2:  #565b66;
  --bw-line:   #e3e6ec;
  --bw-bg:     #ffffff;
  --bw-bg-2:   #f7f8fa;
  --bw-accent: #1a56b8;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bw-bg);
  color: var(--bw-ink);
  font: 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

a { color: var(--bw-accent); }

.bw-wrap {
  max-width: 820px;
  margin: 0 auto;
  padding: 24px 16px 64px;
}

h1 { font-size: 1.75rem; line-height: 1.25; margin: 0 0 8px; }
h2 { font-size: 1.15rem; line-height: 1.3; margin: 28px 0 8px; }

.bw-lede { color: var(--bw-ink-2); margin: 0 0 28px; }

/* Breadcrumbs */
.bw-crumbs { max-width: 820px; margin: 0 auto; padding: 16px 16px 0; font-size: .85rem; }
.bw-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.bw-crumbs li:not(:last-child)::after { content: "›"; margin-left: 6px; color: var(--bw-ink-2); }
.bw-crumbs span { color: var(--bw-ink-2); }

/* Employer index */
.bw-colist { list-style: none; margin: 0; padding: 0; }
.bw-colist li { border-bottom: 1px solid var(--bw-line); }
.bw-colist a {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 12px 4px; text-decoration: none; color: var(--bw-ink);
}
.bw-colist a:hover .bw-coname { text-decoration: underline; }
.bw-coname { font-weight: 600; }
.bw-cocount { color: var(--bw-ink-2); font-size: .9rem; white-space: nowrap; }

/* Job list */
.bw-joblist { list-style: none; margin: 0; padding: 0; }
.bw-jobcard { padding: 16px 0; border-bottom: 1px solid var(--bw-line); }
.bw-jobcard h2 { margin: 0 0 6px; font-size: 1.1rem; }
.bw-jobcard h2 a { text-decoration: none; }
.bw-jobcard h2 a:hover { text-decoration: underline; }
.bw-sum { margin: 8px 0 0; color: var(--bw-ink-2); font-size: .95rem; }

.bw-meta {
  display: flex; flex-wrap: wrap; gap: 8px 14px;
  margin: 0; color: var(--bw-ink-2); font-size: .9rem;
}
.bw-meta .bw-pay { color: var(--bw-ink); font-weight: 600; }

/* Job detail */
.bw-job .bw-meta { margin-bottom: 20px; }
.bw-section { margin-top: 8px; }
.bw-rich { overflow-wrap: anywhere; }
.bw-rich img { max-width: 100%; height: auto; }
.bw-rich ul, .bw-rich ol { padding-left: 22px; }
.bw-rich table { display: block; overflow-x: auto; max-width: 100%; }

.bw-highlights { margin: 0; }
.bw-highlights dt { font-weight: 600; margin-top: 10px; }
.bw-highlights dd { margin: 2px 0 0; color: var(--bw-ink-2); }

.bw-cta { margin: 24px 0; }
.bw-apply {
  display: inline-block; padding: 12px 22px; border-radius: 6px;
  background: var(--bw-accent); color: #fff; font-weight: 600; text-decoration: none;
}

/* Pagination */
.bw-pager { display: flex; gap: 16px; align-items: center; margin-top: 28px; }
.bw-pager span { color: var(--bw-ink-2); font-size: .9rem; }

.bw-back { margin-top: 32px; }

.bw-foot {
  border-top: 1px solid var(--bw-line);
  background: var(--bw-bg-2);
  padding: 20px 16px;
  font-size: .9rem;
}
.bw-foot p { max-width: 820px; margin: 0 auto; }

@media (max-width: 540px) {
  h1 { font-size: 1.45rem; }
  .bw-colist a { flex-direction: column; gap: 2px; }
}
