/* Premium Jobs surface — quiet shell over the existing job behaviour. */
.route-jobs{
  --jobs-ivory:#fbfaf7;
  --jobs-warm:#f5f2ec;
  --jobs-line:#e1ddd4;
  --jobs-gold:#b89456;
  --jobs-ink:#171a19;
  background:var(--jobs-ivory);
}
.route-jobs .main{
  max-width:none;
  margin:0;
  min-height:100vh;
  background:var(--jobs-ivory);
  padding:42px clamp(28px,4vw,64px) 56px;
}
.route-jobs .sidebar{background:#151616}
.route-jobs .sidebar .brand-symbol{width:30px;height:30px}
.route-jobs .sidebar .brand-copy>strong{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:.01em;
}
.route-jobs .sidebar .brand-copy>small{color:#aaa89f}
.route-jobs .nav-btn{border-radius:6px}
.route-jobs .nav-btn.active{background:rgba(255,255,255,.08)}
.route-jobs .nav-btn.active:before{
  content:"";
  position:absolute;
  left:-18px;
  top:8px;
  bottom:8px;
  width:2px;
  background:var(--brand-gold);
}

.route-jobs .jobs-page{
  width:min(100%,900px);
  margin:0 auto;
}
.route-jobs .jobs-page-top{
  align-items:center;
  margin-bottom:22px;
}
.route-jobs .jobs-page .page-title,
.route-jobs .job-detail-top .page-title{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--jobs-ink);
  font-weight:500;
  letter-spacing:-.035em;
}
.route-jobs .jobs-page .page-title{font-size:2.25rem}
.route-jobs .jobs-new-button{
  min-height:42px;
  border-radius:7px;
  padding:9px 14px;
  background:var(--jobs-gold);
  border-color:var(--jobs-gold);
  color:#fff;
  box-shadow:none;
}
.route-jobs .jobs-new-plus{font-size:1.15rem;line-height:1}

.route-jobs .job-browser{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.route-jobs .job-search-tools{gap:16px;margin-bottom:4px}
.route-jobs .job-search-field{max-width:520px}
.route-jobs .job-search-field>span{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
.route-jobs .job-search-field input{
  min-height:48px;
  padding:12px 14px;
  border-color:transparent;
  border-radius:6px;
  background:#f3f1ec;
  box-shadow:inset 0 0 0 1px rgba(34,34,31,.035);
}
.route-jobs .job-search-field input:focus{
  outline:2px solid color-mix(in srgb,var(--brand-gold) 38%,transparent);
  outline-offset:1px;
}
.route-jobs .job-filter-rail{
  gap:28px;
  border-bottom-color:var(--jobs-line);
}
.route-jobs .job-filter-btn{
  min-height:45px;
  padding-inline:1px;
  color:#6d6f6b;
  font-weight:500;
}
.route-jobs .job-filter-btn.active{
  color:var(--jobs-ink);
  border-bottom-color:var(--jobs-gold);
  font-weight:650;
}
.route-jobs .job-search-count{
  margin:14px 0 2px;
  color:#5f625e;
  font-size:.8125rem;
}
.route-jobs .job-list-card+.job-list-card{border-top-color:var(--jobs-line)}
.route-jobs .job-list-card>button{
  grid-template-columns:minmax(0,1.45fr) minmax(150px,.75fr) auto;
  align-items:center;
  gap:8px 24px;
  min-height:76px;
  padding:17px 10px;
  border-radius:5px;
  transition:background .15s ease;
}
.route-jobs .job-list-card:first-child>button,
.route-jobs .job-list-card:last-child>button{padding-block:17px}
.route-jobs .job-list-card>button:hover{background:rgba(184,148,86,.045)}
.route-jobs .job-list-card>button:hover .job-list-main strong{text-decoration:none}
.route-jobs .job-list-main{gap:3px}
/* Bold plain names scan fastest; the serif stays on the page title. */
.route-jobs .job-list-main strong{
  font-family:inherit;
  font-size:1rem;
  line-height:1.3;
  font-weight:700;
  color:var(--jobs-ink);
  letter-spacing:0;
}
.route-jobs .job-list-main small{
  color:#3d3a34;
  font-size:.82rem;
}
.route-jobs .job-list-context{
  display:grid;
  gap:3px;
  min-width:0;
}
.route-jobs .job-list-context strong{
  font-size:.84rem;
  line-height:1.4;
  font-weight:550;
  color:#383c39;
}
.route-jobs .job-list-context small{
  color:#787b77;
  font-size:.78rem;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.route-jobs .job-list-context .job-list-match{
  margin-top:2px;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.01em;
}
.route-jobs .job-list-side{gap:14px}
/* Status pills: four quiet colour groups, always with the words. */
.route-jobs .job-list-status{
  display:inline-flex;
  align-items:center;
  justify-self:start;
  width:max-content;
  padding:4px 10px;
  border-radius:999px;
  background:#e8e5df;
  color:#4f4c46;
  font-size:.78rem;
  font-weight:600;
  line-height:1.3;
  white-space:nowrap;
}
.route-jobs .job-list-status[data-status-tone="booked"]{background:#e3eedf;color:#2c5628}
.route-jobs .job-list-status[data-status-tone="needs"]{background:#f6e7c9;color:#6b4a0e}
.route-jobs .job-list-status[data-status-tone="progress"]{background:#dfe9f4;color:#264a74}
.route-jobs .job-list-next-step{color:#4f4b44}
.route-jobs .job-list-card.is-without-address .job-list-main small{color:#6b675f;font-style:italic}
.route-jobs .job-list-next-step[data-next-step="act"]{color:var(--jobs-ink);font-weight:600}
.route-jobs .job-list-chevron{
  color:#575c58;
  font-size:1.2rem;
}
.route-jobs .job-list-action{
  grid-column:2/4;
  margin-top:-2px;
  color:#8a7047;
  font-size:.78rem;
}
.route-jobs .job-search-archive{border-top-color:var(--jobs-line)}
.route-jobs .job-search-pagination{border-top-color:var(--jobs-line)}

/* Job detail — keep the engine intact, quieten the shell. */
.route-jobs .job-detail-top{
  align-items:flex-start;
  margin-bottom:8px;
}
.route-jobs .job-detail-identity{min-width:0}
.route-jobs .job-title-mobile{display:none}
.route-jobs .jobs-page-heading{display:contents}
.route-jobs .jobs-page-mark{display:none}
.route-jobs .job-detail-top .job-back{
  color:#555c58;
  font-weight:500;
  margin-bottom:16px;
}
.route-jobs .job-detail-top .page-title{
  max-width:760px;
  margin:0;
  font-size:2.35rem;
  line-height:1.12;
}
.route-jobs .job-detail-top .sub{
  margin-top:7px;
  color:#4f5551;
  font-size:1rem;
}
.route-jobs .job-detail-top .actions .btn{
  background:transparent;
  border-color:var(--jobs-line);
  box-shadow:none;
}
.route-jobs .job-detail-top .actions .btn.primary{color:var(--jobs-ink)}
.route-jobs .job-hero{
  padding:13px 0 20px;
  margin:0 0 18px;
  border:0;
  border-bottom:1px solid var(--jobs-line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--jobs-ink);
}
.route-jobs .job-hero::after{display:none}
.route-jobs .job-hero-main h2{
  font-size:.9rem;
  font-family:inherit;
  font-weight:600;
}
.route-jobs .job-hero-main p{
  color:#6e736f;
  font-size:.82rem;
}
.route-jobs .job-status-pill{
  border:0;
  padding:0;
  color:#6f716d;
  font-size:.72rem;
  font-weight:500;
  letter-spacing:0;
}
.route-jobs .job-status-pill:before{
  content:"";
  width:6px;
  height:6px;
  margin-right:7px;
  border-radius:50%;
  background:var(--jobs-gold);
}
.route-jobs .job-next-action{
  margin:0 0 22px;
  padding:20px 22px;
  border:1px solid var(--jobs-line);
  border-left:2px solid var(--jobs-gold);
  border-top-width:1px;
  border-radius:8px;
  background:#faf8f3;
  box-shadow:none;
}
.route-jobs .job-next-marker{color:var(--jobs-gold)}
.route-jobs .job-next-copy>span{color:#8a7047}
.route-jobs .job-next-copy>strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.2rem;
  font-weight:500;
}
.route-jobs .job-next-button.primary{
  background:var(--jobs-gold);
  border-color:var(--jobs-gold);
  color:#fff;
  box-shadow:none;
}
.route-jobs .job-workspace .job-next-menu{
  border:1px solid var(--jobs-line);
  border-left:2px solid var(--jobs-gold);
  border-radius:8px;
  padding:20px 22px;
  background:#faf8f3;
  box-shadow:none;
}
.route-jobs .job-workspace .job-next-menu .job-choice-direction{border-bottom-color:var(--jobs-line)}
.route-jobs .job-workspace .job-next-menu .job-choice-primary .job-choice-lead{
  background:var(--jobs-ink);
  border-color:var(--jobs-ink);
}
.route-jobs .job-advanced>summary{
  min-height:54px;
  padding:15px 0;
  border:0;
  border-top:1px solid var(--jobs-line);
  border-radius:0;
  background:transparent;
}
.route-jobs .job-advanced>summary strong{font-weight:550}
.route-jobs .job-record-open{
  border:0;
  background:transparent;
  padding-inline:0;
  color:#745f3c;
  box-shadow:none;
}

/* Phone: no duplicate masthead. Let the job itself lead. */
@media(max-width:720px){
  /* Jobs uses the same persistent company masthead as the other routes. */
  .route-jobs .mobile-masthead{display:flex}
  /* Keep the company identity controlled by the shared masthead, not Jobs typography. */
  .route-jobs .mobile-masthead .brand-copy>strong{font-family:var(--sp-serif);font-weight:500}
  .route-jobs .main{
    padding:24px max(18px,env(safe-area-inset-right)) var(--sp-phone-main-clear) max(18px,env(safe-area-inset-left));
  }
  .route-jobs .jobs-page{width:100%}
  .route-jobs .jobs-page-top{margin-bottom:12px}
  .route-jobs .jobs-page .page-title{font-size:1.9rem}
  .route-jobs .jobs-new-button{
    width:42px;
    height:42px;
    min-height:42px;
    padding:0;
    border-radius:50%;
  }
  .route-jobs .jobs-new-label{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
  }
  .route-jobs .job-search-field{max-width:none}
  .route-jobs .job-filter-rail{gap:18px}
  .route-jobs .job-title-desktop{display:none}
  .route-jobs .job-title-mobile{display:block}
  .route-jobs .job-detail-top{
    display:grid;
    gap:12px;
  }
  .route-jobs .job-detail-top .page-title{font-size:1.9rem}
  .route-jobs .job-detail-top .sub{
    margin-top:4px;
    font-size:.88rem;
  }
  .route-jobs .job-detail-top .actions{
    width:100%;
    overflow-x:auto;
    padding-bottom:2px;
  }
  .route-jobs .job-detail-top .actions .btn{flex:0 0 auto}
  .route-jobs .job-hero{padding-top:8px}
  .route-jobs .job-next-action{padding:17px 16px}
  .route-jobs .job-workspace .job-next-menu{padding:17px 16px}
}

.route-jobs .job-list-side{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;max-width:260px}
.route-jobs .job-list-side .job-list-status{grid-column:1}
.route-jobs .job-list-side .job-list-chevron{grid-column:2;grid-row:1/3}
.route-jobs .job-list-visit{grid-column:1;color:var(--muted);font-size:.75rem;line-height:1.4;text-align:right;white-space:normal}
/* Phone Jobs: a compact charcoal header carries the brand, then three lines per job:
   name and status, address, work and next step. The whole row opens the job. */
@media(max-width:720px){
  .route-jobs .jobs-page-top{
    flex-wrap:nowrap;
    align-items:center;
    margin:0 0 16px;
    padding:0;
    background:transparent;
    border:0;
  }
  .route-jobs .jobs-page-heading{display:flex;align-items:center;gap:12px;min-width:0}
  .route-jobs .jobs-page-mark{display:none}
  .route-jobs .jobs-page .page-title{margin:0;color:var(--brand-ink,#1a1b1b);font-size:1.75rem;line-height:1.1}
  .route-jobs .jobs-new-button{background:#c7a76a;border-color:#c7a76a;color:#1a1b1b}
  .route-jobs .job-list-card>button{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:4px 10px;
    min-height:44px;
    padding:13px 2px 14px;
  }
  .route-jobs .job-list-main,
  .route-jobs .job-list-side{display:contents;max-width:none}
  .route-jobs .job-list-main strong{grid-column:1;grid-row:1;font-size:1.0625rem;overflow-wrap:anywhere}
  .route-jobs .job-list-side .job-list-status{grid-column:2;grid-row:1;align-self:center;margin-left:6px;font-size:.75rem}
  .route-jobs .job-list-main small{grid-column:1/3;grid-row:2;margin:0;color:#2f2c27;font-size:.875rem;line-height:1.35;overflow-wrap:anywhere}
  .route-jobs .job-list-context{display:block;grid-column:1;grid-row:3;min-width:0;font-size:.84rem;line-height:1.35}
  .route-jobs .job-list-context strong{display:inline;font-size:inherit;font-weight:600;color:var(--jobs-ink)}
  .route-jobs .job-list-context small{display:inline;font-size:inherit;line-height:inherit;color:#5f5a51}
  .route-jobs .job-list-context strong+small:not(.job-list-match):before{content:" · "}
  .route-jobs .job-list-context .job-list-match{display:block}
  .route-jobs .job-list-visit{grid-column:2;grid-row:3;max-width:150px;color:var(--jobs-ink);font-size:.84rem;line-height:1.35;text-align:right;white-space:normal}
  .route-jobs .job-list-visit-prefix{display:none}
  .route-jobs .job-list-side .job-list-chevron{display:none}
  .route-jobs .job-list-action{grid-column:1/3;grid-row:4;margin-top:2px;padding-left:0}
}
/* Phone Jobs band: the bell sits at the far right like every other main
   screen, with the gold plus immediately to its left. Laptop keeps the sidebar. */
@media(min-width:721px){.route-jobs .jobs-page-bell{display:none}}
@media(max-width:720px){
  .route-jobs .jobs-page-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin-left:auto;width:auto}
  /* Replace the accidental gold circular + with a readable labelled action. */
  .route-jobs .jobs-page .jobs-new-button{
    display:inline-flex;align-items:center;justify-content:center;gap:5px;
    width:auto;height:44px;min-width:88px;min-height:44px;margin:0;padding:8px 10px;
    border:1px solid var(--brand-ink,#1a1b1b);border-radius:999px;
    background:var(--brand-ink,#1a1b1b);color:#f3efe6;box-shadow:none;font-size:.8125rem;font-weight:650
  }
  .route-jobs .jobs-page .jobs-new-label{
    position:static;width:auto;height:auto;clip:auto;clip-path:none;
    overflow:visible;white-space:nowrap
  }
  .route-jobs .jobs-page .jobs-new-plus{color:inherit;font-size:1rem}
}
