/* ============================================================
   BLYSKAVKA — vacancies (card, accordion, filter/search, detail)
   Shared by the landing page "careers" section and /vacancies/.
   ============================================================ */

.careers-toolbar { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,240px),1fr)); gap: 16px; align-items: end; margin-bottom: 24px; }
.careers-toolbar .form-field { margin-bottom: 0; }

.careers-status { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.careers-status__summary { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; color: var(--color-neutral-500); }
.careers-status__actions { display: flex; gap: 14px; }
.careers-status__actions button { background: none; border: 0; padding: 0; cursor: pointer; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; }
.careers-status__actions button.expand { color: var(--color-volt-400); }
.careers-status__actions button.collapse { color: var(--color-neutral-500); }

.dept-groups { display: flex; flex-direction: column; gap: 1px; background: var(--border-subtle); border: var(--border-w-hairline) solid var(--border-subtle); }
.dept-group { background: #000; }
.dept-group__row {
  width: 100%; box-sizing: border-box; background: none; border: 0; border-left: 2px solid transparent; cursor: pointer;
  text-align: left; padding: 22px 26px; display: flex; align-items: center; gap: 18px;
  transition: background .15s, border-color .15s; color: inherit;
}
.dept-group__row:hover { background: var(--color-neutral-900); border-left-color: var(--color-volt-400); }
.dept-group__row:hover .dept-group__icon { color: var(--color-volt-400); }
.dept-group__num { font-family: var(--font-mono); font-size: 12px; color: var(--color-neutral-600); letter-spacing: 0.08em; flex: none; }
.dept-group__name-wrap { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
.dept-group__name { font-family: var(--font-heading); font-weight: 600; font-size: 19px; color: #fff; }
.dept-group__count { font-family: var(--font-mono); font-size: 14px; color: var(--color-volt-400); }
.dept-group__icon { font-family: var(--font-mono); font-size: 18px; color: var(--color-neutral-500); flex: none; transition: color .15s; }
.dept-group__body { padding: 0 26px 26px; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,320px),1fr)); gap: 16px; }
.dept-group[data-open="false"] .dept-group__body { display: none; }

.vac-card {
  border: 1px solid var(--border-default); background: linear-gradient(155deg, var(--color-neutral-900) 0%, #000 70%);
  padding: 22px; display: flex; flex-direction: column; gap: 14px; transition: border-color .15s, box-shadow .15s;
}
.vac-card:hover { border-color: var(--color-volt-400); box-shadow: 0 0 0 1px var(--color-volt-400), 0 0 24px rgba(200,241,74,0.14); }
.vac-card__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.vac-card__title { font-family: var(--font-heading); font-weight: 600; font-size: 17px; line-height: 1.3; color: #fff; flex: 1; min-width: 0; }
.vac-card__meta { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--color-neutral-400); }
.vac-card__meta li { display: flex; align-items: center; gap: 8px; list-style: none; }
.vac-card__meta li::before { content: ""; width: 5px; height: 5px; flex: none; background: var(--color-neutral-600); }
.vac-card__meta li:first-child::before { background: var(--color-volt-400); }
.vac-card__summary { font-size: 14px; line-height: 1.55; color: var(--color-neutral-300); }
.vac-card__foot { margin-top: auto; border-top: var(--border-w-hairline) solid var(--border-subtle); padding-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.vac-card__date { font-size: 12px; letter-spacing: 0.08em; color: var(--color-neutral-500); }

.careers-empty {
  border: 1px solid var(--border-subtle); background: linear-gradient(160deg, var(--color-neutral-900), #000);
  padding: 56px 32px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px;
}
.careers-empty__icon { width: 52px; height: 52px; border: 1px solid var(--border-default); display: flex; align-items: center; justify-content: center; position: relative; flex: none; }
.careers-empty__icon::before { content: ""; position: absolute; width: 30px; height: 0.8px; background: var(--color-neutral-600); transform: rotate(-45deg); }
.careers-empty__icon::after { content: ""; width: 13px; height: 13px; border: 1px solid var(--color-neutral-600); }
.careers-empty h3 { font-weight: 600; font-size: 21px; color: #fff; }
.careers-empty p { font-size: 15px; line-height: 1.6; color: var(--color-neutral-400); max-width: 420px; margin: 0; }
.careers-empty__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 4px; }

.careers-hint { font-size: 14px; color: var(--color-neutral-400); }

/* ---- Vacancy detail page ---- */
.vac-detail { border: 1px solid var(--border-default); background: linear-gradient(160deg, var(--color-neutral-900), #000); }
.vac-detail__head { padding: 36px 32px; border-bottom: var(--border-w-hairline) solid var(--border-subtle); display: flex; flex-direction: column; gap: 16px; }
.vac-detail__back { align-self: flex-start; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-neutral-500); }
.vac-detail__back:hover { color: var(--color-volt-400); }
.vac-detail__title-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.vac-detail__title { font-weight: 700; font-size: clamp(24px, 3.4vw, 36px); letter-spacing: -0.02em; color: #fff; text-transform: uppercase; flex: 1; min-width: 0; }
.vac-detail__meta { grid-template-columns: repeat(auto-fit, minmax(min(100%,150px),1fr)); margin-top: 8px; }
.vac-detail__meta > div { padding: 14px 16px; }
.vac-detail__meta .k { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-neutral-500); }
.vac-detail__meta .v { font-family: var(--font-mono); font-size: 16px; color: #fff; margin-top: 4px; }
.vac-detail__body { padding: 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,280px),1fr)); gap: 40px; align-items: start; }
.vac-detail__main { display: flex; flex-direction: column; gap: 28px; }
.vac-detail__section h4 { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-volt-400); margin: 0 0 10px; }
.vac-detail__section p { font-size: 15px; line-height: 1.65; color: var(--color-neutral-300); margin: 0; }
.vac-detail__section ul { padding-left: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.6; color: var(--color-neutral-300); }
.vac-detail__section--important { border-left: 2px solid var(--color-volt-400); padding-left: 20px; }
.vac-stages { grid-template-columns: repeat(auto-fill, minmax(min(100%,200px),1fr)); }
.vac-stages > div { display: flex; align-items: center; gap: 11px; padding: 14px 16px; font-size: 13px; line-height: 1.3; color: var(--color-neutral-200); }
.vac-stages .num { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; color: var(--color-volt-400); flex: none; }
.vac-detail__aside { border: 1px solid var(--border-default); background: #000; padding: 26px; display: flex; flex-direction: column; gap: 18px; }
.vac-detail__aside-label { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-neutral-500); }
.vac-detail__aside p { font-size: 14px; line-height: 1.6; color: var(--color-neutral-300); margin: 0; }
.vac-detail__aside-contact { border-top: var(--border-w-hairline) solid var(--border-subtle); padding-top: 16px; font-size: 13px; color: var(--color-neutral-400); }
.vac-extra { padding: 32px; padding-top: 0; font-size: 15px; line-height: 1.6; color: var(--color-neutral-300); }

@media (max-width: 900px) {
  .dept-group__row { padding: 18px 16px; gap: 12px; min-height: 56px; }
  .dept-group__body { padding: 0 16px 20px; }
  .vac-card { padding: 18px; }
  .vac-stages { grid-template-columns: minmax(0,1fr); }
}
