/* Vacancy cards — shared by /vacancies/ and /vacancies/add/. Renderer: brand/vacancies.js.
   Colours are palette tokens only; --k is the kind's colour, set per card. */
.vj-list{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);list-style:none;}
@media (min-width:760px){.vj-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1100px){.vj-list{grid-template-columns:repeat(3,minmax(0,1fr));}}

.vj{--k:var(--green);display:flex;flex-direction:column;gap:6px;background:var(--ground-alt);border-radius:18px;
  padding:20px 20px 16px;border-top:5px solid var(--k);min-width:0;scroll-margin-top:110px;}
.vj:target,.vj.hl{outline:3px solid var(--accent);outline-offset:3px;}
.vj-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;}
.vj-kind{display:inline-flex;align-items:center;gap:7px;font-weight:600;}
.vj-kind i{width:10px;height:10px;border-radius:50%;background:var(--k);}
.vj-close{color:var(--text-soft);}
.vj h3{font-family:var(--font-display);font-weight:600;font-size:21px;line-height:1.2;margin-top:6px;overflow-wrap:anywhere;}
.vj-where{font-size:15px;font-weight:500;overflow-wrap:anywhere;}
.vj-pay{font-size:15px;color:var(--text);}
.vj-desc{font-size:14.5px;color:var(--text-soft);white-space:pre-line;overflow-wrap:anywhere;margin-top:4px;}
.vj-act{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:auto;padding-top:12px;}
.vj-apply{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:99px;background:var(--dark);
  color:var(--on-dark);font:600 15px var(--font-display);text-decoration:none;}
.vj-apply:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.vj-ghost{opacity:.5;}
.vj-how{font-size:14px;color:var(--text-soft);white-space:nowrap;}
.vj-inperson{font-size:14.5px;overflow-wrap:anywhere;}
.vj-never{font-size:12.5px;color:var(--text-soft);margin-top:6px;}
.vj-foot{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid color-mix(in srgb,var(--text-soft) 25%,transparent);
  margin-top:8px;padding-top:10px;font-size:13px;}
.vj-foot a{color:var(--text-soft);}
.vj-foot a[data-vj]{color:var(--accent);font-weight:500;}
.vj-t{color:inherit;text-decoration:none;}
.vj-t:hover,.vj-t:focus-visible{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;}
.vj-where a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;}
