/* Shared recruitment-page presentation: 83. Do not duplicate in role-specific styles. */
/* Visual modules common to all six job categories: requirements, status, locations, pay, actions. */
body.job-common-page .spec-holder{border:1px solid #dceae3;border-radius:17px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(33,56,110,.045)}
body.job-common-page .spec-row{display:grid;grid-template-columns:190px minmax(0,1fr);border-bottom:1px solid #e3ede8}
body.job-common-page .spec-row:last-child{border-bottom:0}
body.job-common-page .spec-row>dt{background:#f1f8f5;color:#21386e;font-size:15px;font-weight:850;line-height:1.55;padding:17px 20px;margin:0}
body.job-common-page .spec-row>dd{min-width:0;font-size:16px;line-height:1.8;padding:17px 22px;margin:0}

/* Recruitment availability. Same 2-column card, name, badge and employment description. */
body.job-common-page .recruit-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.job-common-page .recruit-status-grid> :is(.site-status,.care-facility-status){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;align-content:start;align-items:start;gap:6px 12px;min-width:0;min-height:90px;margin:0;padding:15px 17px;border:1px solid #d8e9e2;border-radius:12px;background:#fff;box-shadow:none}
body.job-common-page .recruit-status-grid> :is(.site-status,.care-facility-status)>span:first-child{display:block;flex:auto;min-width:0;font-size:15px;font-weight:800;line-height:1.55;color:#21386e;overflow-wrap:anywhere}
body.job-common-page .recruit-status-grid> :is(.site-status,.care-facility-status)>small{display:block;grid-column:1/-1;width:auto;font-size:13px;line-height:1.55;color:#536977}
body.job-common-page .recruit-status-grid :is(.pill,.care-status-pill){display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:99px;padding:6px 12px;min-height:28px;white-space:nowrap;font-size:13px;font-weight:850;line-height:1.35;box-shadow:none;letter-spacing:0}
body.job-common-page .recruit-status-grid :is(.pill--closed,.care-status-pill--closed){background:#edf1f3;color:#5b6a76}
body.job-common-page .recruit-status-grid :is(.pill--open,.care-status-pill--open){background:#def5ec;color:#117054}
body.job-common-page .recruit-status-grid :is(.pill--urgent,.care-status-pill--urgent){min-height:38px;padding:8px 15px;border:1px solid #a83b31;border-radius:10px;color:#fff;background:linear-gradient(115deg,#d64a38,#b83e35);box-shadow:0 5px 13px rgba(167,55,43,.18);font-size:16px;font-weight:900;line-height:1.15;letter-spacing:.05em}
body.job-common-page .recruit-status-grid :is(.pill--urgent,.care-status-pill--urgent)::before{content:'!';display:grid;place-items:center;flex:none;width:18px;height:18px;border-radius:50%;color:#b93f35;background:#fff;font-size:13px;font-weight:900;letter-spacing:0;line-height:1}
body.job-common-page .recruit-status-grid> :is(.site-status,.care-facility-status):has(:is(.pill--urgent,.care-status-pill--urgent)){border-color:#f0c3b9;background:linear-gradient(135deg,#fff 45%,#fff8f5 100%)}
/* Avoid double icons where an older role-specific stylesheet supplied its own before pseudo-element. */

/* Locations: every open workplace is a two-column facility card, map link included. */
body.job-common-page .recruit-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;columns:auto;list-style:none;margin:0;padding:0!important}
body.job-common-page .recruit-location-grid> .recruit-location-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin:0;padding:15px 16px;border:1px solid #dceae4;border-radius:12px;background:#f8fcfa;box-shadow:none;break-inside:avoid}
body.job-common-page .recruit-location-info{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:4px}
body.job-common-page .recruit-location-card .recruit-location-name{display:block;font-size:15px;font-weight:850;line-height:1.5;color:#21386e;overflow-wrap:anywhere}
body.job-common-page .recruit-location-card .recruit-location-address{display:block;font-size:13px;line-height:1.6;font-weight:400;color:#536977;overflow-wrap:anywhere}
body.job-common-page .recruit-location-card .recruit-location-employment{display:block;font-size:13px;line-height:1.5;color:#15755f}
body.job-common-page .recruit-location-card .recruit-location-map{display:inline-flex;align-items:center;flex:none;font-size:13px;font-weight:850;white-space:nowrap;color:#087a69;text-decoration:underline;text-underline-offset:3px}
body.job-common-page .recruit-location-grid> .recruit-location-note{grid-column:1/-1;background:#fff5ef;border:1px solid #f4d9ca;border-radius:9px;color:#8c4f38;font-size:14px;font-weight:750;padding:12px 14px;list-style:none}

/* Salary: the same border, card fill, heading style and pay amount typography. */
body.job-common-page .recruit-pay-grid{gap:13px}
body.job-common-page .recruit-pay-card{min-width:0;padding:19px 20px;border:1px solid #cde5db;border-radius:13px;background:#f5fbf8;box-shadow:none}
body.job-common-page .recruit-pay-card>h4,body.job-common-page .recruit-pay-card>h5{color:#21386e;font-size:16px;font-weight:900;line-height:1.5;border-left:4px solid #4fae96;padding-left:11px;margin:0 0 14px}
body.job-common-page .recruit-pay-card :is(.care-fact-row,.nurse-fact-row,.rehab-pay-fact){border-bottom:1px solid #d9e9e0;padding:10px 0;font-size:14px;line-height:1.65}
body.job-common-page .recruit-pay-card :is(.care-fact-row,.nurse-fact-row,.rehab-pay-fact):last-child{border-bottom:0}
body.job-common-page .recruit-pay-card :is(.care-fact-row,.nurse-fact-row,.rehab-pay-fact) dt{color:#345c65;font-weight:800}
body.job-common-page .recruit-pay-card :is(.care-fact-row,.nurse-fact-row,.rehab-pay-fact) dd{overflow-wrap:anywhere}

/* Both action links use one shared right-aligned flex layout on every role. */
body.job-common-page .recruit-section-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px}
body.job-common-page .recruit-section-actions>.other-closed-notice{order:-1}
body.job-common-page .recruit-section-actions>.button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-width:0;max-width:100%;min-height:48px;padding:12px 20px;margin:0;font-size:14px;font-weight:850;line-height:1.4;text-align:center}
@media(max-width:780px){
 body.job-common-page .spec-row{grid-template-columns:1fr}
 body.job-common-page .spec-row>dt{padding:11px 15px}
 body.job-common-page .spec-row>dd{padding:15px 16px}
 body.job-common-page .recruit-status-grid,body.job-common-page .recruit-location-grid{grid-template-columns:1fr}
}
@media(max-width:590px){
 body.job-common-page .recruit-section-actions{flex-direction:column;align-items:flex-end;justify-content:flex-end}
 body.job-common-page .recruit-section-actions>.button{flex:0 0 auto;width:auto;max-width:100%;min-width:0}
 body.job-common-page .recruit-location-grid> .recruit-location-card{padding:13px 14px}
 body.job-common-page .recruit-pay-card{padding:16px}
}
@media(max-width:370px){
 body.job-common-page .recruit-status-grid> :is(.site-status,.care-facility-status){grid-template-columns:minmax(0,1fr) auto;gap:6px 7px;padding:12px}
 body.job-common-page .recruit-status-grid :is(.pill--urgent,.care-status-pill--urgent){font-size:14px;padding:7px 9px}
}

/* 91: One breadcrumb geometry across ALL six career pages.
   Role-specific hero/shell widths and paddings must not shift the breadcrumb.
   Keep this shared contract rather than per-role position overrides. */
body.job-common-page .job-hero { padding-top:26px; }
body.job-common-page .job-hero > .shell {
  width:min(calc(100% - 40px),1190px);
  margin-inline:auto;
}
body.job-common-page .job-hero .breadcrumbs {
  display:flex;
  align-items:center;
  gap:13px;
  font-size:14px;
  line-height:26px;
  min-height:26px;
  margin:0 0 28px;
}
@media(max-width:590px){
  body.job-common-page .job-hero { padding-top:17px; }
  body.job-common-page .job-hero > .shell {
    width:min(calc(100% - 30px),1190px);
  }
  body.job-common-page .job-hero .breadcrumbs { margin-bottom:20px; }
}

/* 102: Unified availability cards for all six recruitment pages and all facilities.
   Status applies to the employment row beside it; no combined prose delimiters. */
body.job-common-page .recruit-status-grid > .recruit-status-card--v102 {
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:0;
  min-width:0;
  padding:16px 18px;
  margin:0;
  border:1px solid #d8e9e2;
  border-radius:13px;
  background:#fff;
  box-shadow:none;
}
body.job-common-page .recruit-status-grid > .recruit-status-card--v102.recruit-status-card--urgent {
  border-color:#f0c3b9;
  background:linear-gradient(135deg,#fff 42%,#fffaf8 100%);
}
body.job-common-page .recruit-status-grid > .recruit-status-card--v102.recruit-status-card--closed {border-color:#d8e9e2;background:#fff}
body.job-common-page .recruit-status-card--v102 .recruit-status-facility {
  display:block;
  min-width:0;
  margin:0 0 10px;
  font-size:15px;
  font-weight:850;
  line-height:1.55;
  color:#21386e;
  overflow-wrap:break-word;
}
body.job-common-page .recruit-status-card--v102 .recruit-status-positions {
  display:flex;
  flex-direction:column;
  min-width:0;
  width:100%;
}
body.job-common-page .recruit-status-card--v102 .recruit-status-position {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:5px 12px;
  min-width:0;
  padding:10px 0;
  border-top:1px solid #e0ece6;
}
body.job-common-page .recruit-status-card--v102 .recruit-status-position:last-child {padding-bottom:2px}
body.job-common-page .recruit-status-card--v102 .recruit-status-position-label {
  display:block;
  min-width:0;
  color:#21386e;
  font-size:14px;
  font-weight:800;
  line-height:1.5;
  overflow-wrap:break-word;
}
body.job-common-page .recruit-status-grid .recruit-status-card--v102 .recruit-status-position > .recruit-status-badge {
  justify-self:end;
  margin:0;
  flex:none;
}
body.job-common-page .recruit-status-card--v102 .recruit-status-position-notes {
  display:flex;
  flex-direction:column;
  gap:3px;
  grid-column:1/-1;
  min-width:0;
  margin:2px 0 0;
  padding:0;
  list-style:none;
  color:#536977;
  font-size:13px;
  line-height:1.65;
  font-weight:400;
}
body.job-common-page .recruit-status-card--v102 .recruit-status-position-notes li {
  display:block;
  margin:0;
  padding:0;
  overflow-wrap:break-word;
}
@media(max-width:590px) {
  body.job-common-page .recruit-status-grid > .recruit-status-card--v102 {padding:14px 15px}
  body.job-common-page .recruit-status-card--v102 .recruit-status-position {gap:6px 10px}
}
@media(max-width:370px) {
  body.job-common-page .recruit-status-grid > .recruit-status-card--v102 {padding:12px}
  body.job-common-page .recruit-status-card--v102 .recruit-status-position-label {font-size:13px}
  body.job-common-page .recruit-status-grid .recruit-status-card--v102 .pill--urgent {font-size:14px;padding:7px 10px}
}
