/* -------------------------------------------------------------------------
   Careers Jobs — Figma 2670:2313 (+ intro 2670:2257)
   Open positions list: centered intro + 1160×98 pill rows on #e7e7e7 band.
   ------------------------------------------------------------------------- */
:root {
  --vp-careers-jobs-bg: #e7e7e7;
  --vp-careers-jobs-row: #f1f1f1;
  --vp-careers-jobs-text: #191919;
  --vp-careers-jobs-pin: #8f744c;
  --vp-careers-jobs-btn-primary: #090909;
  --vp-careers-jobs-btn-secondary: #a1a1a1;
  --vp-careers-jobs-btn-text: #ebebeb;
  --vp-careers-jobs-btn-empty: #e6bf55;
  --vp-careers-jobs-btn-empty-text: #262022;
  --vp-careers-jobs-max: 1160px;
  --vp-careers-jobs-pad-x: 140px;
  --vp-careers-jobs-pad-top: 48px;
  --vp-careers-jobs-pad-bottom: 90px;
  --vp-careers-jobs-intro-max: 667px;
  --vp-careers-jobs-intro-size: 16px;
  --vp-careers-jobs-intro-lh: 1.21;
  --vp-careers-jobs-intro-gap: 60px;
  --vp-careers-jobs-heading-size: 60px;
  --vp-careers-jobs-row-h: 98px;
  --vp-careers-jobs-row-gap: 19px;
  --vp-careers-jobs-row-radius: 30px;
  --vp-careers-jobs-row-pad-x: 30px;
  --vp-careers-jobs-title-size: 20px;
  --vp-careers-jobs-title-lh: 1.21;
  --vp-careers-jobs-meta-size: 20px;
  --vp-careers-jobs-meta-lh: 1.21;
  --vp-careers-jobs-btn-w: 198px;
  --vp-careers-jobs-btn-h: 55px;
  --vp-careers-jobs-btn-radius: 38px;
  --vp-careers-jobs-btn-size: 20px;
  --vp-careers-jobs-pin-w: 26px;
  --vp-careers-jobs-pin-h: 33px;
  --vp-careers-jobs-loc-gap: 8px;
  --vp-careers-jobs-col-title: minmax(0, 1.35fr);
  --vp-careers-jobs-col-dept: minmax(0, 0.72fr);
  --vp-careers-jobs-col-loc: minmax(0, 0.55fr);
}

.vp-careers-jobs {
  background: var(--vp-careers-jobs-bg);
  color: var(--vp-careers-jobs-text);
  padding: var(--vp-careers-jobs-pad-top) var(--vp-careers-jobs-pad-x) var(--vp-careers-jobs-pad-bottom);
  overflow: hidden;
}

.vp-careers-jobs__inner {
  width: 100%;
  max-width: var(--vp-careers-jobs-max);
  margin: 0 auto;
}

.vp-careers-jobs__intro {
  margin: 0 auto var(--vp-careers-jobs-intro-gap);
  max-width: var(--vp-careers-jobs-intro-max);
  font-family: "Catamaran", sans-serif;
  font-weight: 400;
  font-size: var(--vp-careers-jobs-intro-size);
  line-height: var(--vp-careers-jobs-intro-lh);
  letter-spacing: 0;
  text-align: center;
  color: var(--vp-careers-jobs-text);
  text-wrap: pretty;
  animation: vp-careers-jobs-fade-up 700ms var(--vp-menu-ease) both;
}

.vp-careers-jobs__heading {
  margin: 0 auto 24px;
  /* max-width: var(--vp-careers-jobs-intro-max); */
  font-family: "Catamaran", sans-serif;
  font-weight: 600;
  font-size: var(--vp-careers-jobs-heading-size, 60px);
  line-height: 1.21;
  letter-spacing: 0;
  text-align: center;
  color: var(--vp-careers-jobs-text);
  text-wrap: balance;
  animation: vp-careers-jobs-fade-up 700ms var(--vp-menu-ease) both;
}

.vp-careers-jobs__heading + .vp-careers-jobs__intro {
  margin-top: 0;
}

.vp-careers-jobs__empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  max-width: min(100%, 720px);
  margin: 0 auto;
}

.vp-careers-jobs__empty {
  margin: 0;
  text-align: center;
  font-family: "Catamaran", sans-serif;
  font-weight: 400;
  font-size: var(--vp-careers-jobs-intro-size);
  line-height: 1.4;
  color: var(--vp-careers-jobs-text);
  text-wrap: pretty;
  animation: vp-careers-jobs-fade-up 700ms var(--vp-menu-ease) both;
}

.vp-careers-jobs__btn--empty {
  justify-self: center;
  background: var(--vp-careers-jobs-btn-empty);
  color: var(--vp-careers-jobs-btn-empty-text);
  animation: vp-careers-jobs-fade-up 700ms var(--vp-menu-ease) both;
  animation-delay: 80ms;
}

.vp-careers-jobs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--vp-careers-jobs-row-gap);
}

.vp-careers-jobs__item {
  display: grid;
  grid-template-columns:
    var(--vp-careers-jobs-col-title)
    var(--vp-careers-jobs-col-dept)
    var(--vp-careers-jobs-col-loc)
    auto;
  align-items: center;
  column-gap: 16px;
  min-height: var(--vp-careers-jobs-row-h);
  padding: 12px var(--vp-careers-jobs-row-pad-x);
  background: var(--vp-careers-jobs-row);
  border-radius: var(--vp-careers-jobs-row-radius);
  animation: vp-careers-jobs-fade-up 700ms var(--vp-menu-ease) both;
}

.vp-careers-jobs__item:nth-child(1) { animation-delay: 60ms; }
.vp-careers-jobs__item:nth-child(2) { animation-delay: 120ms; }
.vp-careers-jobs__item:nth-child(3) { animation-delay: 180ms; }
.vp-careers-jobs__item:nth-child(4) { animation-delay: 240ms; }
.vp-careers-jobs__item:nth-child(n+5) { animation-delay: 280ms; }

.vp-careers-jobs__title {
  margin: 0;
  min-width: 0;
  font-family: "Catamaran", sans-serif;
  font-weight: 600;
  font-size: var(--vp-careers-jobs-title-size);
  line-height: var(--vp-careers-jobs-title-lh);
  letter-spacing: 0;
  color: var(--vp-careers-jobs-text);
  text-wrap: balance;
  text-align: center;
}

.vp-careers-jobs__department,
.vp-careers-jobs__location-text {
  font-family: "Catamaran", sans-serif;
  font-weight: 400;
  font-size: var(--vp-careers-jobs-meta-size);
  line-height: var(--vp-careers-jobs-meta-lh);
  letter-spacing: 0;
  color: var(--vp-careers-jobs-text);
  text-align: center;
}

.vp-careers-jobs__department {
  min-width: 0;
}

.vp-careers-jobs__location {
  display: inline-flex;
  align-items: center;
  gap: var(--vp-careers-jobs-loc-gap);
  min-width: 0;
  color: var(--vp-careers-jobs-text);
  text-align: center;
}

.vp-careers-jobs__pin {
  flex-shrink: 0;
  width: var(--vp-careers-jobs-pin-w);
  height: var(--vp-careers-jobs-pin-h);
  color: var(--vp-careers-jobs-pin);
}

.vp-careers-jobs__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--vp-careers-jobs-btn-w);
  max-width: 100%;
  min-height: var(--vp-careers-jobs-btn-h);
  padding: 0 24px;
  border-radius: var(--vp-careers-jobs-btn-radius);
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: var(--vp-careers-jobs-btn-size);
  line-height: 1.21;
  letter-spacing: 0;
  color: var(--vp-careers-jobs-btn-text);
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  transition: background-color 220ms var(--vp-menu-ease), color 220ms var(--vp-menu-ease), transform 220ms var(--vp-menu-ease);
  justify-self: end;
}

.vp-careers-jobs__btn--primary,
.vp-careers-jobs__btn--secondary {
  background: var(--vp-careers-jobs-btn-secondary);
}

/* Black CTA only on the hovered / focused job row — others stay gray. */
.vp-careers-jobs__item:hover .vp-careers-jobs__btn:not(.vp-careers-jobs__btn--disabled),
.vp-careers-jobs__item:focus-within .vp-careers-jobs__btn:not(.vp-careers-jobs__btn--disabled),
.vp-careers-jobs__btn:hover,
.vp-careers-jobs__btn:focus-visible {
  background: var(--vp-careers-jobs-btn-primary);
  color: #fff;
  outline: none;
}

.vp-careers-jobs__btn:focus-visible {
  box-shadow: 0 0 0 2px var(--vp-careers-jobs-bg), 0 0 0 4px var(--vp-careers-jobs-btn-primary);
}

.vp-careers-jobs__btn--empty:hover,
.vp-careers-jobs__btn--empty:focus-visible {
  background: #f0cb6a;
  color: var(--vp-careers-jobs-btn-empty-text);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.vp-careers-jobs__btn--empty:focus-visible {
  box-shadow: 0 0 0 2px var(--vp-careers-jobs-bg), 0 0 0 4px var(--vp-careers-jobs-btn-empty);
}

.vp-careers-jobs__btn:active {
  transform: scale(0.98);
}

.vp-careers-jobs__btn--disabled,
.vp-careers-jobs__btn--disabled:hover,
.vp-careers-jobs__btn--disabled:focus-visible {
  background: var(--vp-careers-jobs-btn-secondary);
  color: var(--vp-careers-jobs-btn-text);
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
  transform: none;
}

@keyframes vp-careers-jobs-fade-up {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 1440px) {
  .vp-careers-jobs {
    --vp-careers-jobs-pad-x: calc(100vw * 140 / 1440);
    --vp-careers-jobs-pad-top: calc(100vw * 48 / 1440);
    --vp-careers-jobs-pad-bottom: calc(100vw * 90 / 1440);
    --vp-careers-jobs-max: calc(100vw * 1160 / 1440);
    --vp-careers-jobs-intro-max: calc(100vw * 667 / 1440);
    --vp-careers-jobs-intro-size: calc(100vw * 16 / 1440);
    --vp-careers-jobs-intro-gap: calc(100vw * 60 / 1440);
    --vp-careers-jobs-heading-size: calc(100vw * 60 / 1440);
    --vp-careers-jobs-row-h: calc(100vw * 98 / 1440);
    --vp-careers-jobs-row-gap: calc(100vw * 19 / 1440);
    --vp-careers-jobs-row-radius: calc(100vw * 30 / 1440);
    --vp-careers-jobs-row-pad-x: calc(100vw * 30 / 1440);
    --vp-careers-jobs-title-size: 20px;
    --vp-careers-jobs-meta-size: 20px;
    --vp-careers-jobs-btn-w: calc(100vw * 198 / 1440);
    --vp-careers-jobs-btn-h: calc(100vw * 55 / 1440);
    --vp-careers-jobs-btn-radius: calc(100vw * 38 / 1440);
    --vp-careers-jobs-btn-size: 20px;
    --vp-careers-jobs-pin-w: calc(100vw * 26 / 1440);
    --vp-careers-jobs-pin-h: calc(100vw * 33 / 1440);
    --vp-careers-jobs-loc-gap: calc(100vw * 8 / 1440);
  }
}

@media (max-width: 1200px) and (min-width: 1025px) {
  :root {
    --vp-careers-jobs-pad-x: 64px;
    --vp-careers-jobs-meta-size: 20px;
    --vp-careers-jobs-btn-w: 160px;
    --vp-careers-jobs-btn-size: 20px;
  }
}

@media (max-width: 1024px) and (min-width: 769px) {
  :root {
    --vp-careers-jobs-pad-x: 40px;
    --vp-careers-jobs-pad-top: 40px;
    --vp-careers-jobs-pad-bottom: 64px;
    --vp-careers-jobs-intro-gap: 40px;
    --vp-careers-jobs-heading-size: 48px;
    --vp-careers-jobs-row-h: 88px;
    --vp-careers-jobs-title-size: 18px;
    --vp-careers-jobs-meta-size: 18px;
    --vp-careers-jobs-btn-w: 144px;
    --vp-careers-jobs-btn-h: 48px;
    --vp-careers-jobs-btn-size: 18px;
    --vp-careers-jobs-pin-w: 22px;
    --vp-careers-jobs-pin-h: 28px;
  }
}

@media (max-width: 768px) {
  :root {
    --vp-careers-jobs-pad-x: 28px;
    --vp-careers-jobs-pad-top: 36px;
    --vp-careers-jobs-pad-bottom: 56px;
    --vp-careers-jobs-intro-max: none;
    --vp-careers-jobs-intro-gap: 28px;
    --vp-careers-jobs-intro-size: 15px;
    --vp-careers-jobs-intro-lh: 1.35;
    --vp-careers-jobs-heading-size: 36px;
    --vp-careers-jobs-row-h: auto;
    --vp-careers-jobs-row-gap: 16px;
    --vp-careers-jobs-row-radius: 24px;
    --vp-careers-jobs-row-pad-x: 20px;
    --vp-careers-jobs-title-size: 17px;
    --vp-careers-jobs-meta-size: 16px;
    --vp-careers-jobs-btn-w: 80%;
    --vp-careers-jobs-btn-h: 48px;
    --vp-careers-jobs-btn-size: 18px;
    --vp-careers-jobs-btn-radius: 30px;
    --vp-careers-jobs-pin-w: 20px;
    --vp-careers-jobs-pin-h: 25px;
  }

  .vp-careers-jobs__item {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "title title"
      "dept loc"
      "btn btn";
    row-gap: 12px;
    column-gap: 12px;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .vp-careers-jobs__title {
    grid-area: title;
  }

  .vp-careers-jobs__department {
    grid-area: dept;
  }

  .vp-careers-jobs__location {
    grid-area: loc;
    justify-self: end;
  }

  .vp-careers-jobs__btn {
    grid-area: btn;
    justify-self: center;
    width: var(--vp-careers-jobs-btn-w);
  }

  .vp-careers-jobs__empty-state .vp-careers-jobs__btn {
    width: min(100%, var(--vp-careers-jobs-btn-w));
    justify-self: center;
  }
}

@media (max-width: 430px) {
  :root {
    --vp-careers-jobs-pad-x: 20px;
    --vp-careers-jobs-pad-top: 32px;
    --vp-careers-jobs-pad-bottom: 48px;
    --vp-careers-jobs-intro-size: 14px;
    --vp-careers-jobs-heading-size: 28px;
    --vp-careers-jobs-title-size: 16px;
    --vp-careers-jobs-meta-size: 15px;
    --vp-careers-jobs-btn-size: 16px;
    --vp-careers-jobs-row-radius: 20px;
  }

  .vp-careers-jobs__item {
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "dept"
      "loc"
      "btn";
  }

  .vp-careers-jobs__location {
    justify-self: center;
  }
}

@media (max-width: 375px) {
  :root {
    --vp-careers-jobs-pad-x: 16px;
    --vp-careers-jobs-title-size: 15px;
    --vp-careers-jobs-meta-size: 14px;
    --vp-careers-jobs-btn-h: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vp-careers-jobs__heading,
  .vp-careers-jobs__intro,
  .vp-careers-jobs__empty,
  .vp-careers-jobs__item,
  .vp-careers-jobs__btn {
    animation: none !important;
    transition: none !important;
  }

  .vp-careers-jobs__btn:active {
    transform: none;
  }
}
