/* v455. Every layout change is desktop-only. */
.kj-cover-picker, .kj-cover-slot, .kj-cover-logos { display: none; }
@media (min-width: 821px) {
  html body .kj-cover-picker { display: block; padding: 28px; border-radius: 28px; }
  .kj-cover-picker h2 { margin: 0 0 10px; font-size: clamp(24px,2.2vw,34px); }
  .kj-cover-subtitle { max-width: 740px; margin: 0 0 24px; line-height: 1.6; opacity: .8; }
  .kj-cover-picker-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,310px); gap: 28px; align-items: start; }
  .kj-cover-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
  html body .kj-cover-option { position: relative; display: block; aspect-ratio: 2/3; min-width: 0; width: 100%; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 18px; cursor: pointer; background: #0c1724; color: #fff; transition: border-color .15s,transform .15s; }
  html body .kj-cover-option[aria-pressed="true"] { border-color: #67e5ec; box-shadow: 0 0 0 3px #3cc3ff24; }
  .kj-cover-option:hover { transform: translateY(-3px); }
  .kj-cover-option:focus-visible { outline: 3px solid #5eddf8; outline-offset: 4px; }
  .kj-cover-option[aria-pressed="true"]::after { position: absolute; right: 10px; bottom: 12px; content: '✓'; display: grid; place-items: center; width: 28px; height: 28px; background: #62e0da; color: #06141d; border-radius: 50%; font-weight: 800; }
  .kj-cover-visual { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; background: #0b1724; }
  .kj-cover-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,#00101d33 0%,transparent 25%,#030914cf 50%,#030914f5 75%,#030914 100%); }
  html body .kj-cover-photo { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center top; border-radius: 0; }
  .kj-cover-logos { display: flex; position: absolute; top: 14px; left: 14px; right: 14px; justify-content: space-between; align-items: start; gap: 12px; z-index: 2; }
  html body .kj-cover-brand { display: block; flex: 0 0 auto; width: 86px; height: 43px; object-fit: contain; padding: 3px 8px; box-sizing: border-box; background: transparent; border: 0; border-radius: 0; }
  html body .kj-cover-company { display: block; width: 46px; height: 46px; object-fit: contain; padding: 5px; box-sizing: border-box; background: #fff; border-radius: 11px; }
  .kj-cover-option .kj-cover-logos { top: 8px; left: 8px; right: 8px; }
  html body .kj-cover-option .kj-cover-brand { width: 65px; height: 33px; }
  .kj-cover-option-label { position: absolute; bottom: 14px; left: 12px; right: 40px; text-align: left; z-index: 2; font: 700 13px/1.3 Inter,system-ui,sans-serif; }
  html body .kj-cover-logo-option { display: flex; align-items: center; gap: 10px; margin-top: 20px; cursor: pointer; }
  html body .kj-cover-logo-option input { appearance: auto; flex: 0 0 auto; width: 19px; min-width: 19px; height: 19px; min-height: 19px; padding: 0; margin: 0; accent-color: #168dfa; }
  .kj-cover-note { font-size: 13px; line-height: 1.5; opacity: .7; }
  .kj-cover-preview-label { font-size: 12px; text-transform: uppercase; letter-spacing: .12em; font-weight: 750; margin: 0 0 12px; opacity: .7; }
  .kj-cover-preview { position: relative; min-height: 420px; aspect-ratio: 2/3; width: 100%; border: 1px solid #67cfee50; border-radius: 24px; background: #081220; color: #fff; overflow: hidden; box-sizing: border-box; }
  .kj-cover-preview-copy { position: absolute; z-index: 2; bottom: 0; left: 0; right: 0; padding: 24px; }
  html body .kj-cover-preview h3 { font: 750 clamp(23px,2vw,30px)/1.12 Inter,system-ui,sans-serif; text-transform: none; color: #fff; margin: 0 0 16px; overflow-wrap: anywhere; }
  .kj-cover-income { display: inline-block; color: #80e8ed; font: 800 20px/1.3 Inter,system-ui,sans-serif; }
  html body .kj-cover-preview-copy p { margin: 12px 0 0; font: 500 13px/1.5 Inter,system-ui,sans-serif; color: #d3e0e9; }
  .kj-cover-slot { display: block; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; overflow: hidden; }
  /* Public cards retain their existing accessible text and links. */
  html body.public-jobs-page .public-jobs-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 20px; }
  html body.public-jobs-page .public-job-card { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; min-height: 500px; padding: 250px 22px 22px; display: flex; flex-direction: column; gap: 14px; overflow: visible; isolation: isolate; border-radius: 26px; color: #fff !important; background: #081220 !important; }
  html body.public-jobs-page .public-job-card .public-job-card-visual { display: block; position: absolute !important; inset: 0; width: 100%; height: 100%; border: 0; border-radius: inherit; z-index: -1 !important; background: #081220; }
  html body.public-jobs-page .public-job-card .public-job-card-visual::after { background: linear-gradient(180deg,#05111b22 0%,transparent 25%,#05101dd9 50%,#05101df5 75%,#05101b 100%) !important; }
  html body.public-jobs-page .public-job-card .public-job-card-visual > img { filter: none; object-position: center top; }
  html body.public-jobs-page .public-job-card h2 { order: 1; margin-top: auto; color: #fff !important; font-size: clamp(22px,1.8vw,29px); line-height: 1.16; }
  html body.public-jobs-page .public-job-card-head { order: 2; gap: 8px; }
  html body.public-jobs-page .public-job-card-head strong { color: #8de9f0 !important; font-size: 20px; }
  html body.public-jobs-page .public-job-card-head span { color: #e7f7ff !important; background: #ffffff14; border-color: #ffffff20; font-size: 11px; }
  html body.public-jobs-page .public-job-card .public-job-meta { order: 3; font-size: 13px; line-height: 1.5; color: #c9d8e5 !important; }
  html body.public-jobs-page .public-job-card .public-job-description { display: none; }
  html body.public-jobs-page .public-job-card .public-language-controls { order: 4; margin-top: 4px; }
  html body.public-jobs-page .public-job-card .public-language-button { color: #e9f5ff; background: #ffffff12; border-color: #ffffff36; }
  html body.public-jobs-page .public-job-card .public-job-card-link { z-index: 1; }
  html body.public-jobs-page .public-job-card .kj-cover-logos { z-index: 3; }
  /* Cabinet cards: existing action buttons remain usable above the image. */
  html body .candidate-vacancy-card.kj-visual-card { position: relative; isolation: isolate; min-height: 450px; padding: 230px 24px 24px; grid-template-columns: minmax(0,1fr); gap: 14px; color: #fff; background: #081220 !important; }
  html body .candidate-vacancy-card.kj-visual-card > :not(.kj-cover-slot) { position: relative; z-index: 1; }
  html body .candidate-vacancy-card.kj-visual-card :is(h3,strong) { color: #fff !important; }
  html body .candidate-vacancy-card.kj-visual-card p { color: #d1deeb !important; }
  html body .candidate-vacancy-card.kj-visual-card > strong { color: #8de9f0 !important; }
  html body .employer-vacancy-item.kj-visual-card { position: relative; isolation: isolate; padding-top: 210px; overflow: hidden; background: #081220 !important; }
  html body .employer-vacancy-item.kj-visual-card > :not(.kj-cover-slot) { position: relative; z-index: 1; }
  html body .employer-vacancy-item.kj-visual-card .candidate-resume-copy :is(strong,span) { color: #fff !important; }
  html body .employer-vacancy-item.kj-visual-card .candidate-toggle-text { color: #d1deeb !important; }
}
@media (min-width: 821px) and (max-width: 1050px) {
  .kj-cover-picker-layout { grid-template-columns: minmax(0,1fr) 240px; gap: 20px; }
  .kj-cover-options { gap: 9px; }
  html body.public-jobs-page .public-jobs-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) { .kj-cover-option { transition: none !important; } }
@media (min-width: 821px) {
  html body.public-jobs-page .public-job-card-visual > picture { display: block; width: 100%; height: 100%; }
  html body.public-jobs-page .public-job-card-visual > picture img { width: 100%; height: 100%; object-fit: cover; object-position:center top; }
  /* Two theme treatments share photographs; titles remain readable live text. */
  html body.light .kj-cover-preview,
  html body.light.public-jobs-page .public-job-card,
  html body.light .candidate-vacancy-card.kj-visual-card,
  html body.light .employer-vacancy-item.kj-visual-card { color: #12212d !important; background: #f6f9fb !important; border-color: #9cbacb66 !important; box-shadow: 0 14px 34px #24486512; }
  html body.light .kj-cover-visual::after,
  html body.light.public-jobs-page .public-job-card .public-job-card-visual::after { background: linear-gradient(180deg,#f8fbff00 0px,#f8fbff00 130px,#f6f9fbee 205px,#f6f9fbfc 280px,#f6f9fb 100%) !important; }
  html body.light .kj-cover-preview h3,
  html body.light.public-jobs-page .public-job-card h2,
  html body.light .candidate-vacancy-card.kj-visual-card h3,
  html body.light .employer-vacancy-item.kj-visual-card .candidate-resume-copy strong { color: #12212d !important; }
  html body.light .kj-cover-income,
  html body.light.public-jobs-page .public-job-card-head strong,
  html body.light .candidate-vacancy-card.kj-visual-card > strong { color: #036c89 !important; }
  html body.light .kj-cover-preview-copy p,
  html body.light.public-jobs-page .public-job-card .public-job-meta,
  html body.light .candidate-vacancy-card.kj-visual-card p,
  html body.light .employer-vacancy-item.kj-visual-card .candidate-resume-copy span,
  html body.light .employer-vacancy-item.kj-visual-card .candidate-toggle-text { color: #415665 !important; }
  html body.light.public-jobs-page .public-job-card-head span { color: #21536a !important; border-color: #0c68842b; background: #e0eff5; }
  html body.light.public-jobs-page .public-job-card .public-language-button { color: #173c52; background: #e5eef5; border-color: #8ca9bb66; }
  html body.light .kj-cover-brand { background: transparent; border: 0; }
  html body.light .kj-cover-option { background: #f6f9fb; color: #183342; }
  html body.light .kj-cover-option-label { color: #183342; }
  html body.light .kj-cover-option[aria-pressed="true"] { border-color: #0788a4; }
}

@media (min-width:821px) {
  /* The shared status stylesheet has explicit grid rules; cover cards need their own rows. */
  html body .candidate-vacancy-card.kj-visual-card.has-application-progress {
    min-height:500px!important; padding:250px 24px 24px!important;
    grid-template-columns:minmax(0,1fr)!important; grid-template-rows:auto auto auto!important;
  }
  html body .candidate-vacancy-card.kj-visual-card.has-application-progress > strong {grid-column:1!important;grid-row:2!important}
  html body .candidate-vacancy-card.kj-visual-card.has-application-progress > .application-progress {grid-row:3!important;flex-wrap:wrap!important}
  html body .kj-awaiting-application .application-progress [data-stage] {display:none!important}
  html body.public-jobs-page .public-job-card > .application-progress {position:relative;z-index:2;order:5;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
  html body.public-jobs-page .public-job-card > .kj-public-favorite {position:relative;z-index:2;order:5;align-self:flex-end}
  .kj-public-favorite {width:40px;height:40px;padding:0;border:1px solid #8aa1b6;border-radius:50%;background:#23344e;color:#fff;font:26px/1 system-ui;cursor:pointer}
  .kj-public-favorite.is-active {color:#ffd976;background:#654d22}
  .kj-cover-action-error {position:relative;z-index:2;order:6;font-size:13px;color:#eea3a3}
}

@media(min-width:821px) {
  html body.public-jobs-page .public-job-card {padding:210px 16px 18px;min-height:450px;gap:12px}
  html body.public-jobs-page .public-job-card h2 {font-size:clamp(19px,1.5vw,24px);overflow-wrap:anywhere}
  html body.public-jobs-page .public-job-card-head {flex-wrap:wrap}
  html body.public-jobs-page .public-job-card-head strong {font-size:18px}
}

/* Shared tracks keep neighbouring cards aligned without clipping translated text. */
@media (min-width:821px) {
  @supports (grid-template-rows: subgrid) {
    html body.public-jobs-page .public-jobs-list { row-gap: 12px; }
    html body.public-jobs-page .public-job-card {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: subgrid;
      grid-row: span 7;
      align-items: start;
      margin-bottom: 12px;
    }
    html body.public-jobs-page .public-job-card h2 { grid-row: 1; margin: 0; }
    html body.public-jobs-page .public-job-card-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: subgrid;
      grid-row: 2 / span 2;
      align-items: start;
    }
    html body.public-jobs-page .public-job-card-head span { grid-row: 1; justify-self: start; }
    html body.public-jobs-page .public-job-card-head strong { grid-row: 2; overflow-wrap: anywhere; }
    html body.public-jobs-page .public-job-card .public-job-meta { grid-row: 4; }
    html body.public-jobs-page .public-job-card .public-language-controls { grid-row: 5; margin: 0; }
    html body.public-jobs-page .public-job-card > .application-progress,
    html body.public-jobs-page .public-job-card > .kj-public-favorite { grid-row: 6; align-self: start; justify-content: flex-start; margin-top: 0; }
    html body.public-jobs-page .public-job-card > .kj-public-favorite { justify-self: start; }
    html body.public-jobs-page .public-job-card > .kj-cover-action-error,
    html body.public-jobs-page .public-job-card > [data-translation-error] { grid-row: 7; }
  }
}

@media (max-width:820px) {
  /* Do not carry the desktop-only favorite into the mobile layout after resize. */
  html body.public-jobs-page .public-job-card .kj-public-favorite { display: none !important; }
}
/* v459: compact desktop chooser. Public card and mobile layouts stay intact. */
@media (min-width:821px) {
  .kj-cover-picker-layout { grid-template-columns: minmax(0,1fr) 210px; gap:24px; }
  .kj-cover-options { grid-template-columns:repeat(auto-fill,104px); gap:12px; }
  html body .kj-cover-option { width:104px; height:104px; min-height:104px; aspect-ratio:1; border-radius:14px; }
  .kj-cover-option .kj-cover-visual::after { background:linear-gradient(180deg,#00101d20 0%,transparent 50%,#031322d9 100%) !important; }
  html body .kj-cover-option .kj-cover-brand { width:48px; height:24px; padding:0; }
  .kj-cover-option .kj-cover-logos { top:6px;left:6px;right:6px; }
  .kj-cover-option-label { left:7px;right:22px;bottom:7px;font-size:10px;color:#fff; }
  .kj-cover-option[aria-pressed="true"]::after { width:18px;height:18px;right:4px;bottom:5px;font-size:12px; }
  html body .kj-cover-add { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:2px dashed #6999ad;background:transparent;color:inherit; }
  .kj-cover-plus { font:300 38px/1 system-ui; }
  .kj-cover-add-label { font:650 11px/1.2 system-ui;padding:0 6px; }
  .kj-cover-preview { min-height:315px;aspect-ratio:auto;display:flex;align-items:end;border-radius:18px; }
  .kj-cover-preview-copy { position:relative;padding:150px 16px 18px;width:100%; }
  html body .kj-cover-preview h3 { font-size:20px;margin-bottom:10px; }
  .kj-cover-preview .kj-cover-income { font-size:16px; }
  .kj-cover-preview .kj-cover-brand { width:68px;height:34px;padding:0; }
  .kj-cover-preview .kj-cover-company { width:36px;height:36px; }
  .kj-cover-requirements { margin:18px 0;font-size:13px;line-height:1.6; }
  .kj-cover-requirements summary { cursor:pointer;text-decoration:underline;text-underline-offset:3px; }
  .kj-cover-studio { display:grid;gap:10px;max-width:600px; }
  html body .kj-cover-studio textarea { width:100%;min-height:76px;padding:12px;font:inherit;font-size:14px;line-height:1.5;box-sizing:border-box;resize:vertical; }
  html body .kj-cover-generate, html body .kj-cover-refresh { width:fit-content;max-width:100%;height:auto;min-height:38px;padding:8px 16px;border-radius:12px;font:650 13px/1.4 system-ui;cursor:pointer;white-space:normal; }
  .kj-cover-studio :is(button,textarea):disabled,.kj-cover-add:disabled { opacity:.5;cursor:not-allowed; }
  .kj-cover-status { font-size:13px;line-height:1.5;margin:0; }
  .kj-cover-status:empty { display:none; }
  .kj-cover-studio .kj-cover-note { margin:0; }
}
/* Keep field assistants in their own row, outside the editable text area. */
html body .vacancy-ai-field { display:grid;grid-template-columns:minmax(0,1fr);gap:12px; }
html body .vacancy-ai-field textarea { width:100%;box-sizing:border-box;padding:18px; }
html body .vacancy-ai-field > .vacancy-ai-button { position:relative;inset:auto;justify-self:end;margin:0 8px 0 0;transform:none; }
@media (min-width:821px) {
  html body .kj-cover-consent { display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.55;font-weight:400; }
  html body .kj-cover-consent input { appearance:auto;flex:0 0 19px;width:19px;min-width:19px;height:19px;min-height:19px;padding:0;margin:3px 0 0;accent-color:#168dfa; }
  .kj-cover-options { max-height:340px;overflow-y:auto;padding:4px; }
}
@media (min-width:821px) {
  html body .kj-cover-picker :is(.kj-cover-note,.kj-cover-status,.kj-cover-requirements p,.kj-cover-subtitle) { color:#d1deeb; }
  html body.light .kj-cover-picker :is(.kj-cover-note,.kj-cover-status,.kj-cover-requirements p,.kj-cover-subtitle) { color:#334b5e; }
  html body .kj-cover-generate { color:white;background:linear-gradient(110deg,#168cff,#5544d6);border:1px solid #75c8f0; }
  html body .kj-cover-refresh { color:inherit;background:transparent;border:1px solid #7896ad; }
}
@media (min-width:821px) {
  html body .kj-cover-picker h2,html body .kj-cover-preview-label { color:#edf4ff; }
  html body.light .kj-cover-picker h2,html body.light .kj-cover-preview-label { color:#173244; }
}

@media (min-width:821px) {
  .kj-cover-own-tile {position:relative;width:104px;height:104px;}
  html body .kj-cover-delete {position:absolute;z-index:4;top:3px;right:3px;width:30px;height:30px;min-width:30px;min-height:30px;padding:5px;border:1px solid #ffc4cc;border-radius:9px;color:white;background:#842e40;display:grid;place-items:center;cursor:pointer;}
  .kj-cover-delete svg {width:18px;height:18px;}
  .kj-cover-delete:focus-visible {outline:3px solid #57e6ff;outline-offset:2px;}
}
/* v470: employer identity leads; platform signature remains visible. */
@media(min-width:821px) {
 html body .kj-cover-logos { align-items:flex-start; }
 html body .kj-cover-logos > .kj-cover-company { order:-1; width:108px; height:64px; padding:9px 12px; border:1px solid #ffffff80; border-radius:12px; box-shadow:0 3px 14px #00000012; }
 html body .kj-cover-logos > .kj-cover-brand,
 html body .kj-cover-logos > picture { margin-left:auto; flex:none; width:58px; height:30px; }
 html body .kj-cover-logos .kj-cover-brand { width:58px; height:30px; padding:0; }
 html body .kj-cover-preview .kj-cover-company { width:100px; height:60px; }
 html body .kj-cover-preview .kj-cover-brand { width:46px; height:24px; }
 html body .kj-cover-option .kj-cover-logos { gap:4px; }
 html body .kj-cover-option .kj-cover-company { width:46px; height:30px; padding:4px; border-radius:5px; }
 html body .kj-cover-option .kj-cover-brand { width:28px; height:16px; }
}
@media(max-width:820px) {
 html body .kj-mobile-company-identity { grid-column:1/-1; grid-row:1; display:flex; align-items:center; }
 html body .kj-mobile-company-identity .kj-cover-company,
 html body.public-jobs-page .public-job-card .kj-cover-company { display:block; width:96px; height:56px; padding:8px 10px; box-sizing:border-box; object-fit:contain; border-radius:10px; background:white; border:1px solid #dce5ef; }
 html body.public-jobs-page .public-job-card .public-job-card-visual:has(.kj-cover-company) { display:block; position:relative !important; inset:auto; width:auto; height:56px; border:0; background:none; }
 html body.public-jobs-page .public-job-card .public-job-card-visual > picture { display:none; }
 html body.public-jobs-page .public-job-card .public-job-card-visual::after { display:none; }
 html body.public-jobs-page .public-job-card .kj-cover-logos { display:flex; justify-content:space-between; align-items:center; gap:12px; }
 html body.public-jobs-page .public-job-card .kj-cover-company { order:-1; }
 html body.public-jobs-page .public-job-card .kj-cover-logos > picture { margin-left:auto; }
 html body.public-jobs-page .public-job-card .kj-cover-brand { display:block; width:48px; height:24px; object-fit:contain; filter:none; }
}
/* Company marks are contained, never cropped like photographs. */
html body .kj-cover-logos .kj-cover-company { object-fit:contain !important; object-position:center; }
