/* ---------------------------------------------------------------------------
   LMG Careers — theme layer for HireZoot / WP Job Openings.

   Loaded only on job pages, declared dependent on the plugin's own stylesheets
   so it always wins the cascade without !important (the two exceptions below
   override the plugin's own !important on grid padding).

   Card markup comes from <theme>/wp-job-openings/job-openings/main.php.
   Everything else styles the plugin's stock markup in place.

   Each card and the single-job page carry --c: the colour of the publication
   the role belongs to, set in PHP from the Business Unit term.
--------------------------------------------------------------------------- */

/* --- Page shell ---------------------------------------------------------
   The plugin ships no page gutter and cannot know our nav is position:fixed. */
.awsm-job-main{padding:116px 28px 60px}
.awsm-job-main .awsm-job-container{max-width:var(--maxw)}
.lmg-jobs .entry{max-width:none;margin:0}

/* The plugin builds gutters with negative margins, which bleed past the
   container edge and get clipped by body{overflow-x:hidden}. */
.lmg-jobs .awsm-row{margin-left:0;margin-right:0;gap:16px}
.lmg-jobs .awsm-grid-item{padding-left:0 !important;padding-right:0 !important}
.lmg-jobs .awsm-filter-wrap{margin-left:0;margin-right:0}

/* The plugin sizes columns as a flat percentage (33.333%) because its gutter is
   internal padding. Once that padding is replaced by a flex gap, three items no
   longer fit on a row and the grid silently drops to two — so the width has to
   account for the gap explicitly. */
.lmg-jobs .awsm-grid-col-2 .awsm-grid-item{width:calc((100% - 16px)/2)}
.lmg-jobs .awsm-grid-col-3 .awsm-grid-item{width:calc((100% - 32px)/3)}
.lmg-jobs .awsm-grid-col-4 .awsm-grid-item{width:calc((100% - 48px)/4)}

/* --- Listing hero -------------------------------------------------------- */
.lmg-jobs-hero{text-align:center;padding:0 0 6px}
.lmg-jobs-kick{display:inline-flex;align-items:center;gap:8px;background:var(--card);
  border:1px solid var(--line);border-radius:999px;padding:5px 14px 5px 6px;
  font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:20px}
.lmg-jobs-kick b{background:var(--ember);color:#fff;border-radius:999px;padding:2px 9px;font-size:11px;letter-spacing:.04em}
.lmg-jobs-hero h1{font-family:var(--display);font-size:clamp(34px,4.6vw,52px);font-weight:800;
  letter-spacing:-.035em;line-height:1.03;margin:0 auto;max-width:15ch;color:var(--ink)}
.lmg-jobs-hero p{color:var(--ink-2);max-width:52ch;margin:16px auto 0;font-size:16px}

/* --- Filters ------------------------------------------------------------- */
.lmg-jobs .awsm-filter-wrap{margin-top:34px;margin-bottom:0}
.lmg-jobs .awsm-filter-items{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0}
.lmg-jobs .awsm-filter-item{padding:0;margin:0;flex:0 0 auto;min-width:190px}
.lmg-jobs .awsm-filter-item select{width:100%;padding:11px 34px 11px 16px;border-radius:999px;
  border:1px solid var(--line);background:var(--card);font-family:var(--body);
  font-size:13px;font-weight:600;color:var(--ink-2);appearance:none;cursor:pointer}
.lmg-jobs .awsm-selectric{border-radius:999px;border-color:var(--line);background:var(--card)}
.lmg-jobs .awsm-selectric .label{margin:0 34px 0 16px;height:42px;line-height:42px;font-size:13px;font-weight:600;color:var(--ink-2)}
.lmg-jobs .awsm-selectric .button{background:transparent;width:34px;height:42px}
.lmg-jobs .awsm-selectric-open .awsm-selectric{border-color:var(--ink)}
.lmg-jobs .awsm-selectric-items{border-radius:var(--r2);border-color:var(--line);overflow:hidden;
  box-shadow:0 24px 50px -24px rgba(17,19,33,.35)}
.lmg-jobs .awsm-selectric-items li{padding:10px 16px;font-size:13px}
.lmg-jobs .awsm-selectric-items li.highlighted,
.lmg-jobs .awsm-selectric-items li:hover{background:var(--bg);color:var(--ember)}
.lmg-jobs-count{text-align:center;font-size:12px;font-weight:600;color:var(--ink-3);margin:16px 0 0;min-height:1em}

/* --- Cards --------------------------------------------------------------- */
.lmg-jobs .awsm-job-listings{margin-top:26px}
.lmg-job-card{display:flex;flex-direction:column;height:100%;background:var(--card);
  border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;text-decoration:none;
  transition:transform .25s,box-shadow .25s,border-color .25s}
.lmg-job-card:hover{transform:translateY(-3px);border-color:transparent;
  box-shadow:0 26px 50px -34px rgba(17,19,33,.4)}
.lmg-job-rule{display:block;height:3px;background:var(--c,var(--ember))}
.lmg-job-body{display:flex;flex-direction:column;flex:1;padding:17px 19px 0}
.lmg-job-mast{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase;color:var(--c,var(--ember));margin-bottom:10px}
.lmg-job-mast i{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.lmg-job-title{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.02em;
  line-height:1.25;margin:0 0 14px;color:var(--ink)}
.lmg-job-card:hover .lmg-job-title{color:var(--c,var(--ember))}
.lmg-job-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-bottom:16px}
.lmg-job-tags span{font-size:11px;font-weight:600;color:var(--ink-2);background:var(--bg);
  border-radius:999px;padding:4px 10px}
.lmg-job-go{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:0 19px;padding:13px 0;border-top:1px solid var(--line);
  font-size:13px;font-weight:700;color:var(--ink)}
.lmg-job-arrow{transition:transform .25s}
.lmg-job-card:hover .lmg-job-arrow{transform:translateX(4px)}

/* Any spec markup an add-on injects stays available to screen readers but does
   not compete with the tags the card already draws. */
.lmg-job-card .awsm-job-specification-wrapper{display:none}

/* --- Single job ---------------------------------------------------------- */
.lmg-jobs.single-awsm_job_openings .awsm-job-single-wrap{padding:0}

/* The plugin floats the two columns (55/45) with no gutter, and the theme caps
   .entry at 72ch — together they squeezed both columns into one column's width.
   Grid instead: real gutter, reading measure on the description only. */
.lmg-jobs .awsm-job-single-wrap.awsm-col-2{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);
  gap:56px;align-items:start}
.lmg-jobs .awsm-job-single-wrap.awsm-col-2::after{display:none}
.lmg-jobs .awsm-job-single-wrap.awsm-col-2 .awsm-job-content,
.lmg-jobs .awsm-job-single-wrap.awsm-col-2 .awsm-job-form{float:none;width:auto;padding-bottom:0}
.lmg-jobs .awsm-job-single-wrap.awsm-col-2 .awsm-job-content{max-width:66ch}
.lmg-jobs .awsm-job-single-wrap.awsm-col-1 .awsm-job-content{max-width:72ch;margin:0 auto}

.lmg-jobs .awsm-job-entry-content{color:var(--ink-2);font-size:15.5px;line-height:1.75}
.lmg-jobs .awsm-job-entry-content h2,
.lmg-jobs .awsm-job-entry-content h3,
.lmg-jobs .awsm-job-entry-content h4,
.lmg-jobs .awsm-job-entry-content strong{font-family:var(--display);color:var(--ink);letter-spacing:-.02em}
.lmg-jobs .awsm-job-entry-content h2,
.lmg-jobs .awsm-job-entry-content h3,
.lmg-jobs .awsm-job-entry-content h4{font-size:18px;margin:28px 0 10px;max-width:none}
/* The theme resets every margin globally with *{margin:0;padding:0} and only
   restores spacing for its own .entry selectors. Job descriptions live in
   .awsm-job-entry-content, so without these the paragraphs run together and
   the copy reads as though its line breaks were dropped. Covers <div> too:
   some postings were pasted as divs rather than paragraphs. */
.lmg-jobs .awsm-job-entry-content p,
.lmg-jobs .awsm-job-entry-content > div{margin:0 0 1.15em}
.lmg-jobs .awsm-job-entry-content ul,
.lmg-jobs .awsm-job-entry-content ol{padding-left:20px;margin:0 0 1.15em}
.lmg-jobs .awsm-job-entry-content li{margin-bottom:7px}
.lmg-jobs .awsm-job-entry-content li:last-child{margin-bottom:0}
.lmg-jobs .awsm-job-entry-content li::marker{color:var(--c,var(--ember))}
.lmg-jobs .awsm-job-entry-content blockquote{margin:0 0 1.15em;padding-left:16px;
  border-left:3px solid var(--c,var(--ember));color:var(--ink-2)}
.lmg-jobs .awsm-job-entry-content table{margin:0 0 1.15em;border-collapse:collapse}
.lmg-jobs .awsm-job-entry-content img{margin:0 0 1.15em;border-radius:var(--r2)}
.lmg-jobs .awsm-job-entry-content > :last-child{margin-bottom:0}
.lmg-jobs .awsm-job-entry-content a{color:var(--ember)}

/* --- Single-job header --------------------------------------------------
   Replaces the plugin's bare <h1>. Sits above the two-column wrapper. */
.lmg-job-head{margin:0 0 34px}
/* position:static is belt-and-braces. theme.css now scopes its fixed-header
   rules to .lmg-nav, but this breadcrumb is a <nav> landmark and would be
   yanked to the top of the viewport again if that scoping were ever reverted. */
.lmg-job-crumb{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--ink-3);margin-bottom:20px}
.lmg-job-crumb a{color:var(--ink-3)}
.lmg-job-crumb a:hover{color:var(--ember)}
.lmg-job-crumb em{font-style:normal;color:var(--ink)}
.lmg-job-head-mast{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;color:var(--c,var(--ember));margin:0 0 10px}
.lmg-job-head-mast i{width:7px;height:7px;border-radius:50%;background:currentColor}
.lmg-job-head-title{font-family:var(--display);font-size:clamp(30px,4vw,46px);font-weight:800;
  letter-spacing:-.035em;line-height:1.04;margin:0;max-width:22ch;color:var(--ink);text-align:left}
.lmg-job-head-tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:20px 0 0;padding:0}
.lmg-job-head-tags li{font-size:12px;font-weight:600;color:var(--ink-2);background:var(--card);
  border:1px solid var(--line);border-radius:999px;padding:6px 13px}

/* The header already lists the specifications, so the plugin's own copy —
   wherever the Appearance setting places it — would be a duplicate. */
.lmg-jobs .awsm-job-content .awsm-job-specification-wrapper{display:none}

/* --- Apply card: one box, never two -------------------------------------
   .awsm-job-form-inner wraps form.awsm-application-form — styling both makes a
   nested double box, so only the outer element carries the frame. */
.lmg-jobs .awsm-job-form-inner{position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r2);padding:26px 24px}
.lmg-jobs .awsm-application-form{background:none;border:0;border-radius:0;padding:0;margin:0}
.lmg-jobs .awsm-col-2 .awsm-job-form-inner{margin-top:0}
.lmg-jobs .awsm-job-form-inner h2{font-family:var(--display);font-size:20px;font-weight:700;
  letter-spacing:-.02em;line-height:1.2;margin:4px 0 18px;text-wrap:balance;color:var(--ink)}
.lmg-jobs .awsm-job-form-group{margin-bottom:13px}
.lmg-jobs .awsm-job-form-group label{display:block;font-size:12px;font-weight:700;
  color:var(--ink-2);margin-bottom:6px}
.lmg-jobs .awsm-job-form-control{width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:10px;background:var(--bg);font-family:var(--body);font-size:14px;color:var(--ink)}
.lmg-jobs textarea.awsm-job-form-control{min-height:96px;resize:vertical}
.lmg-jobs .awsm-job-form-control:focus{border-color:var(--c,var(--ember));outline:none}
.lmg-jobs .awsm-job-form-error{color:var(--rose);font-size:12px;margin-top:4px}

/* Only genuine actions get the pill. These are <a> elements, so they need
   inline-block or vertical padding overflows instead of taking up space. */
.lmg-jobs .awsm-application-submit-btn,
.lmg-jobs .awsm-job-submit,
.lmg-jobs .awsm-load-more,
.lmg-jobs .awsm-jobs-primary-button{display:inline-block;background:var(--ink);color:#fff;
  border:1px solid transparent;border-radius:999px;padding:13px 26px;font-family:var(--body);
  font-weight:700;font-size:14.5px;line-height:1.2;text-decoration:none;cursor:pointer;
  transition:background .2s,transform .2s}
.lmg-jobs .awsm-application-submit-btn{width:100%;text-align:center;margin-top:6px}
.lmg-jobs .awsm-application-submit-btn:hover,
.lmg-jobs .awsm-job-submit:hover,
.lmg-jobs .awsm-load-more:hover,
.lmg-jobs .awsm-jobs-primary-button:hover{background:var(--ember);color:#fff;transform:translateY(-1px)}
.lmg-jobs .awsm-job-more-container{margin-top:20px;text-align:center}

/* --- Messages ------------------------------------------------------------ */
.lmg-jobs .awsm-success-message,
.lmg-jobs .awsm-error-message,
.lmg-jobs .awsm-application-message{border-radius:var(--r2);padding:15px 18px;font-size:14px;
  font-weight:600;margin-bottom:16px}
.lmg-jobs .awsm-success-message{background:#E3F6EF;color:#0C7A5B}
.lmg-jobs .awsm-error-message{background:#FDE7EF;color:#B0124F}
.lmg-jobs .awsm-expired-message{background:var(--ember-soft);color:var(--ember);
  border-radius:var(--r2);padding:20px 24px;font-weight:600}
.lmg-jobs .awsm-jobs-none-container{background:var(--card);border:1px dashed var(--line);
  border-radius:var(--r2);padding:44px 26px;text-align:center;color:var(--ink-2)}

/* --- Related roles ------------------------------------------------------- */
/* after_awsm_job_details fires inside the two-column wrapper, so this lands as
   a grid item and would otherwise be trapped in column one — leaving the whole
   right-hand side of the row empty. Span the full row instead. */
.lmg-related{grid-column:1/-1;margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}
.lmg-related h2{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0 0 16px;color:var(--ink)}
.lmg-related-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lmg-related-item{display:block;background:var(--card);border:1px solid var(--line);
  border-left:3px solid var(--c,var(--ember));border-radius:12px;padding:15px 17px;
  text-decoration:none;transition:transform .2s,box-shadow .2s}
.lmg-related-item:hover{transform:translateY(-2px);box-shadow:0 18px 34px -26px rgba(17,19,33,.4)}
.lmg-related-item b{display:block;font-family:var(--display);font-size:14.5px;font-weight:700;
  letter-spacing:-.01em;color:var(--ink);margin-bottom:4px}
.lmg-related-item em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--ink-3)}

/* --- Responsive ---------------------------------------------------------- */
@media(max-width:1000px){
  .lmg-jobs .awsm-job-single-wrap.awsm-col-2{grid-template-columns:minmax(0,1fr);gap:36px}
  .lmg-jobs .awsm-job-single-wrap.awsm-col-2 .awsm-job-content{max-width:72ch}
  .lmg-related-row{grid-template-columns:1fr 1fr}
  .lmg-jobs .awsm-grid-col-3 .awsm-grid-item,
  .lmg-jobs .awsm-grid-col-4 .awsm-grid-item{width:calc((100% - 16px)/2)}
}
@media(max-width:620px){
  .awsm-job-main{padding:98px 20px 48px}
  .lmg-jobs .awsm-filter-item{flex:1 1 100%;min-width:0}
  .lmg-related-row{grid-template-columns:1fr}
  .lmg-jobs .awsm-job-form-inner{padding:22px 18px}
  .lmg-jobs .awsm-grid-item,
  .lmg-jobs .awsm-grid-col-2 .awsm-grid-item,
  .lmg-jobs .awsm-grid-col-3 .awsm-grid-item,
  .lmg-jobs .awsm-grid-col-4 .awsm-grid-item{width:100%}
}

section {
padding: 0;
}
