/* =========================================================================
   cyber72 — Careers · "single screen" (Variant D), ported into cyber72-light.
   A tight pitch + the application form, side by side. No scrolling theatre.

   Everything is scoped under .careers so the form atoms (.field, .field-input,
   .card, .two-col …) never collide with contact.css or the theme globals.
   Tokens (--bg, --green, --ink …) are inherited from the theme's style.css —
   they are identical to the design's, so they are NOT redefined here.
   The intl-tel-input dropdown is appended to <body> (dropdownContainer), so its
   .iti__country-list rules are intentionally left unscoped.
   ========================================================================= */

.careers .sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ── layout ─────────────────────────────────────────────────────────────── */
.careers .careers-screen {
  display: flex; align-items: flex-start;
  padding: 48px 0; min-height: calc(100vh - var(--nav-h, 60px));
}
.careers .careers-grid {
  /* Same container box as the theme header/footer (.sec / .nav-inner):
     max-width + side padding MUST match so content edges line up with the
     header and footer (see global rule: единая ширина контейнера). */
  width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 28px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 72px;
  align-items: start; /* columns must not stretch — the pitch rail floats, the form sets the height */
}

/* ── left: the pitch (floating sidebar — smart-sticky, see careers.js) ───── */
.careers .pitch {
  max-width: 32em;
  position: sticky;
  top: calc(var(--nav-h, 60px) + 28px); /* start value; careers.js rewrites inline top */
  align-self: start;                    /* critical in grid: keep offsetHeight = rail height */
}
.careers .eyebrow {
  font-family: var(--font-mono); font-size: 11px; text-transform: uppercase;
  letter-spacing: .16em; color: var(--ink-mute); font-weight: 500;
}
.careers .eyebrow .accent { color: var(--green-dim); }
.careers .pitch .eyebrow { display: block; margin-bottom: 26px; }
.careers .pitch h1 {
  font-family: var(--font-display); font-weight: 600; letter-spacing: -.025em;
  line-height: .96; font-size: clamp(40px, 5.4vw, 66px); margin: 0 0 24px; color: var(--ink);
}
.careers .pitch h1 .green { color: var(--green-dim); }
.careers .pitch .blurb {
  font-size: 18px; line-height: 1.6; color: var(--ink-dim); margin: 0 0 18px; max-width: 40ch;
}
.careers .pitch .blurb strong { color: var(--ink); font-weight: 600; }
.careers .pitch .blurb .green { color: var(--green-dim); font-weight: 500; }

/* phone link — replaces the design's "47 / 0 / Tel Aviv" stats row */
.careers .pitch-call {
  font-family: var(--font-mono); font-size: 13px; letter-spacing: .02em;
  color: var(--ink-dim); margin: 30px 0 26px;
}
.careers .pitch-call .accent { color: var(--green); }
.careers .pitch-call a {
  color: var(--ink); border-bottom: 1px solid var(--line-2);
  transition: color .15s ease, border-color .15s ease;
}
.careers .pitch-call a:hover { color: var(--green-dim); border-color: var(--green-dim); }

.careers .pitch-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.careers .tag {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
  border: 1px solid var(--line-2); border-radius: 2px; padding: 5px 9px;
  color: var(--ink-dim); background: var(--panel);
}
.careers .pitch-note {
  margin-top: 24px; font-family: var(--font-mono); font-size: 11.5px;
  color: var(--ink-mute); letter-spacing: .02em; line-height: 1.7;
}
.careers .pitch-note .green { color: var(--green-dim); }

/* ── right: the form card (the CF7 <form> is the card) ──────────────────── */
.careers .wpcf7 { margin: 0; }
.careers .wpcf7-form {
  background: var(--panel); border: 1px solid var(--line-2); border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0,0,0,.02), 0 18px 50px -34px rgba(0,0,0,.32); overflow: hidden;
}
.careers .card-bar {
  display: flex; align-items: center; gap: 14px; padding: 11px 16px;
  background: var(--term-bg, #070a0b); border-bottom: 1px solid var(--term-line, #1a2022);
}
.careers .card-bar .term-dots { display: flex; gap: 7px; }
.careers .card-bar .term-dots i { width: 11px; height: 11px; border-radius: 50%; display: block; }
.careers .card-bar .term-dots i:nth-child(1) { background: #c14b46; }
.careers .card-bar .term-dots i:nth-child(2) { background: #c9982f; }
.careers .card-bar .term-dots i:nth-child(3) { background: #3f9d63; }
.careers .card-bar .term-title { font-family: var(--font-mono); font-size: 11.5px; color: var(--term-dim, #6f8a7c); }
.careers .card-bar .term-title .cwd { color: #6fd39a; }
.careers .card-body { padding: 24px 24px 26px; }

/* ── form fields ────────────────────────────────────────────────────────── */
.careers .field { margin-bottom: 16px; }
.careers .field > label,
.careers .field-label {
  display: block; font-family: var(--font-mono); font-size: 12px; letter-spacing: .04em;
  color: var(--ink); margin-bottom: 7px;
}
.careers .field .req { color: var(--green-dim); }
.careers .field .optional {
  color: var(--ink-mute); font-size: 10.5px; letter-spacing: .1em;
  text-transform: uppercase; margin-left: 6px;
}
.careers .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

/* CF7 wraps each control in a <span class="wpcf7-form-control-wrap"> — make it block */
.careers .field .wpcf7-form-control-wrap { display: block; }

.careers .field-input,
.careers .field-text {
  width: 100%; font-family: var(--font-mono); font-size: 14px; color: var(--ink);
  background: var(--bg); border: 1px solid var(--line-2); border-radius: 2px; padding: 11px 13px;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.careers .field-text { font-family: var(--font-body); line-height: 1.6; resize: vertical; min-height: 96px; }
.careers .field-input::placeholder,
.careers .field-text::placeholder { color: #a9aaa3; }
.careers .field-input:focus,
.careers .field-text:focus {
  outline: none; border-color: var(--green-dim); background: var(--panel);
  box-shadow: 0 0 0 3px rgba(10,138,85,.14);
}

/* ── intl-tel-input (phone) — palette adaptation only; layout is the vendor CSS.
   The phone tag carries class:field-input, so neutralise the double border here
   and let the .iti wrapper own it (mirrors contact.css). ─────────────────── */
.careers .iti { width: 100%; display: block; }
.careers .iti input[type="tel"] {
  background: var(--bg); border: 1px solid var(--line-2); border-radius: 2px;
  font-family: var(--font-mono); font-size: 13.5px; color: var(--ink); width: 100%;
}
.careers .iti input[type="tel"]:focus {
  border-color: var(--green-dim); background: var(--panel);
  box-shadow: 0 0 0 3px rgba(10,138,85,.18); outline: none;
}
/* dropdown is portalled to <body> by phone-input.js — keep these unscoped */
.iti__country-list {
  z-index: 1000; background: var(--bg); border: 1px solid var(--line-2);
  font-family: var(--font-mono); color: var(--ink);
}
.iti__country.iti__highlight { background: var(--bg-2); }
.iti__divider { border-color: var(--line); }

/* ── repeatable proof links ─────────────────────────────────────────────── */
.careers .proof-row { display: flex; gap: 8px; margin-bottom: 8px; align-items: center; }
.careers .proof-row.is-collapsed { display: none; }
.careers .proof-row .wpcf7-form-control-wrap { flex: 1; }
.careers .proof-row .field-input { width: 100%; }
.careers .proof-rm {
  flex: 0 0 auto; width: 38px; height: 40px; border: 1px solid var(--line-2);
  background: var(--bg); border-radius: 2px; color: var(--ink-mute);
  font-family: var(--font-mono); cursor: pointer; transition: color .15s, border-color .15s;
}
.careers .proof-rm:hover { color: var(--red); border-color: rgba(198,56,66,.4); }
.careers .proof-add {
  font-family: var(--font-mono); font-size: 12px; color: var(--green-dim); background: none;
  border: 1px dashed var(--line-2); border-radius: 2px; padding: 8px 12px; cursor: pointer; margin-top: 2px;
  transition: border-color .15s, background .15s;
}
.careers .proof-add:hover { border-color: var(--green-dim); background: rgba(10,138,85,.05); }

/* ── CV file (drop label + hidden CF7 file input) ───────────────────────── */
.careers .file-drop {
  display: flex; align-items: center; gap: 14px; border: 1px dashed var(--line-2);
  border-radius: 2px; background: var(--bg); padding: 14px 16px; cursor: pointer;
  transition: border-color .15s, background .15s;
}
.careers .file-drop:hover { border-color: var(--green-dim); background: rgba(10,138,85,.05); }
.careers .file-drop .ficon { font-family: var(--font-mono); font-size: 13px; color: var(--ink-mute); }
.careers .file-drop .ftxt { font-size: 13.5px; color: var(--ink-dim); }
.careers .file-drop .ftxt b { font-family: var(--font-mono); font-weight: 500; color: var(--green-dim); font-size: 12.5px; }
.careers .file-drop .file-name { font-family: var(--font-mono); font-size: 12px; color: var(--green-dim); margin-left: auto; }
/* keep the real CF7 file input reachable by the label's for=, but out of sight */
.careers .cv-field > .wpcf7-form-control-wrap {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0);
}

/* ── consent ────────────────────────────────────────────────────────────── */
.careers .consent { margin: 4px 0 22px; }
.careers .consent .wpcf7-list-item { margin: 0; }
.careers .consent label {
  display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start;
  font-size: 13.5px; color: var(--ink-dim); line-height: 1.55;
}
.careers .consent input[type="checkbox"] {
  margin-top: 3px; width: 16px; height: 16px; accent-color: var(--green);
}
.careers .consent a { color: var(--green-dim); border-bottom: 1px solid rgba(6,109,63,.3); }

/* ── submit row ─────────────────────────────────────────────────────────── */
.careers .submit-row { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 4px; }
.careers .btn-submit { padding: 13px 22px; font-size: 13.5px; }
.careers .mailto-alt { font-family: var(--font-mono); font-size: 12px; color: var(--ink-mute); }
.careers .mailto-alt a { color: var(--green-dim); border-bottom: 1px solid rgba(6,109,63,.3); }

/* ── CF7 validation + response output, in the design's mono register ─────── */
.careers .wpcf7-not-valid-tip {
  display: block; font-family: var(--font-mono); font-size: 11.5px; color: var(--red); margin-top: 6px;
}
.careers .field-input.wpcf7-not-valid,
.careers .field-text.wpcf7-not-valid,
.careers .iti:has(.wpcf7-not-valid) { border-color: var(--red); }
.careers .wpcf7-response-output {
  font-family: var(--font-mono); font-size: 12px; line-height: 1.5;
  margin: 0 24px 22px; padding: 10px 12px; border-radius: 2px; border: 1px solid var(--line-2);
  color: var(--ink-dim);
}
.careers .wpcf7-spinner { margin: 0 0 0 12px; }

/* ── success panel (terminal-styled) ────────────────────────────────────── */
.careers .apply-success {
  display: none; background: var(--term-bg, #070a0b); border-radius: 4px; padding: 26px;
  font-family: var(--font-mono); font-size: 13.5px; line-height: 1.85; color: var(--term-ink, #cfe9d9);
}
.careers .apply-success.show { display: block; }
.careers .apply-success .ok { color: #6fd39a; font-size: 15px; margin: 0 0 8px; }
.careers .apply-success .ticket-line { margin: 0 0 14px; color: var(--term-dim, #6f8a7c); }
.careers .apply-success .ticket-line strong { color: #e2b15a; }
.careers .apply-success p { margin: 0 0 12px; max-width: 44ch; }
.careers .apply-success .dim { color: var(--term-dim, #6f8a7c); font-size: 12px; }
.careers .apply-success .again {
  margin-top: 10px; font-family: var(--font-mono); font-size: 12px; color: var(--term-dim, #6f8a7c);
  background: none; border: 1px solid var(--term-line, #1a2022); border-radius: 3px;
  padding: 8px 12px; cursor: pointer;
}
.careers .apply-success .again:hover { color: var(--term-ink, #cfe9d9); border-color: #2a3739; }

/* ── responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 980px) {
  .careers .careers-grid { grid-template-columns: 1fr; gap: 40px; }
  .careers .careers-screen { align-items: flex-start; padding: 40px 0; }
  .careers .pitch { max-width: none; position: static; top: auto; } /* same breakpoint as mobileMQ in careers.js */
}
/* keep side padding identical to the theme container (.sec switches to 18px at ≤780) */
@media (max-width: 780px) {
  .careers .careers-grid { padding: 0 18px; }
}
@media (max-width: 680px) {
  .careers .careers-screen { padding: 32px 0; }
  .careers .careers-grid { gap: 32px; }
  .careers .card-body { padding: 20px; }
  .careers .two-col { grid-template-columns: 1fr; gap: 0; }
  .careers .wpcf7-response-output { margin: 0 20px 20px; }
}
