/*
  Direction C redesign for the lost-pet surfaces (WP Job Manager):
    • single listing  → body.single-job_listing  (a "missing-pet poster")
    • lost-pets archive → the [jobs] shortcode markup (.job_filters / .job_listings)

  Scoped to Job-Manager-specific classes so nothing here leaks onto commerce /
  dashboard / prose surfaces. Loaded last in the cascade (after the petsitter
  parity + legacy-child layers) so it wins. Explicit 16px bases + em so the
  parity 62.5% root can't rescale it.
*/

/* ==========================================================================
   Shared tokens (mirror style.css :root so this file stands alone if needed)
   ========================================================================== */
.single_job_listing,
.job_listings{
    --l-ink:#2a2b1f; --l-muted:#726d5f;
    --l-paper:#f6f0e4; --l-paper2:#fbf7ec; --l-line:#e2ddca;
    --l-teal:#3f8a80; --l-teal-deep:#2f6f66; --l-teal-soft:#d9ebe6;
    --l-green:#7ab02f; --l-green-deep:#5f8f22; --l-green-soft:#eaf3d9;
    --l-orange:#e89145; --l-orange-deep:#cc7a2b;
    --l-red:#e89145; --l-red-deep:#cc7a2b;
    --l-f-disp:"Darker Grotesque", system-ui, sans-serif;
    --l-f-body:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ==========================================================================
   SINGLE LISTING  —  the "missing-pet poster"
   ========================================================================== */
body.single-job_listing #main{ max-width:1080px; margin-inline:auto; }
body.single-job_listing .page-content{ background:#fbf7ec; }

.single_job_listing{
    font-size:16px;
    font-family:var(--l-f-body);
    color:var(--l-ink);
    display:flex;
    flex-direction:column;
    gap:clamp(20px,3vw,30px);
    padding-block:clamp(16px,3vw,28px);
}

/* Reorder the plugin's flat child list into a deliberate sequence.
   Any unlisted child keeps the default order:0 (top group) — harmless. */
.single_job_listing > .mlpa-breadcrumbs{ order:0; }
.single_job_listing > .title-bordered{ order:1; }        /* reunited / expired banner */
.single_job_listing > .job-profile-info{ order:2; }      /* poster hero */
.single_job_listing > .job_description{ order:3; }       /* description first */
.single_job_listing > .job_application{ order:4; }       /* then contact owner (+ have-you-seen prompt) */
.single_job_listing > .social-box{ order:5; }            /* share / flyer */
.single_job_listing > .mlpa-lastseen{ order:6; }         /* "Last Seen" heading + address + map */
.single_job_listing > .panel-group{ order:9; }           /* admin accordion → bottom */

/* Kill the plugin spacers / redundant top meta / empty <meta> — the flex gap
   handles rhythm, and the poster carries the meta as chips. */
.single_job_listing > .spacer-xs,
.single_job_listing > .spacer-xxs,
.single_job_listing > hr.spacer-xxs,
.single_job_listing > .spacer,
.single_job_listing > meta,
.single_job_listing > ul.job-listing-meta{ display:none; }

/* ---- Poster hero ---------------------------------------------------------- */
.single-job_listing .job-profile-info{
    order:2;
    display:grid;
    grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);
    gap:clamp(20px,3.2vw,44px);
    align-items:stretch;
    margin:0;
    padding:clamp(18px,2.6vw,30px);
    background:
        radial-gradient(120% 130% at 100% 0%, rgba(232,145,69,.12), transparent 55%),
        radial-gradient(120% 130% at 0% 100%, rgba(122,176,47,.12), transparent 55%),
        linear-gradient(180deg,#ffffff,#faf6ea);
    border:1px solid var(--l-line);
    border-radius:24px;
    box-shadow:0 30px 60px -34px rgba(50,45,20,.42);
}
.single-job_listing .job-profile-info::before,
.single-job_listing .job-profile-info::after{ content:none; }   /* drop bootstrap .row clearfix */
.single-job_listing .job-profile-info .col-md-5,
.single-job_listing .job-profile-info .col-md-7{
    float:none; width:auto; padding:0; min-width:0;
}

/* Photo — natural height inside a rounded frame (no awkward crop of the pet) */
.single-job_listing .job-cover-img{
    position:relative;
    margin:0; align-self:start;
    border-radius:18px;
    overflow:hidden;
    border:1px solid var(--l-line);
    background:#efe9db;
    box-shadow:0 18px 34px -20px rgba(50,45,20,.5);
    line-height:0;
}
.single-job_listing .job-cover-img a{ display:block; }
.single-job_listing .job-cover-img img{
    display:block !important; width:100% !important; height:auto !important;
    max-width:none; object-fit:cover;
}
.single-job_listing .job-cover-img .pet-id-overlay{
    position:absolute; left:12px; bottom:12px; right:auto; top:auto;
    display:inline-block;
    background:rgba(42,43,31,.86);
    color:#f6f0e4;
    font-family:var(--l-f-body);
    font-weight:700; font-size:.8em; letter-spacing:.04em;
    padding:.4em .75em; border-radius:8px;
    backdrop-filter:blur(2px);
}
.single-job_listing .job-cover-img audio,
.single-job_listing .col-md-5 .mejs-container{ display:none; }   /* autoplay clip stays functional, hidden */

/* Facts column */
.single-job_listing .job-profile-info .col-md-7{
    display:flex; flex-direction:column; justify-content:center;
    gap:2px;
}
.single-job_listing .mlpa-status{
    align-self:flex-start;
    display:inline-flex; align-items:center; gap:.5em;
    font-family:var(--l-f-body); font-weight:800;
    font-size:.8em; letter-spacing:.12em; text-transform:uppercase;
    padding:.5em .9em; border-radius:999px;
    margin-bottom:.85em;
}
.single-job_listing .mlpa-status.is-missing{ background:linear-gradient(180deg,var(--l-orange),var(--l-orange-deep)); color:#fff; text-shadow:0 1px 1px rgba(90,40,0,.25); box-shadow:0 8px 18px -8px rgba(204,122,43,.7); }
.single-job_listing .mlpa-status.is-missing .fa{ animation:mlpa-status-pulse 1.8s ease-in-out infinite; }
@keyframes mlpa-status-pulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.55; transform:scale(1.18); } }
@media (prefers-reduced-motion:reduce){ .single-job_listing .mlpa-status.is-missing .fa{ animation:none; } }
.single-job_listing .mlpa-status.is-found{ background:var(--l-green-soft); color:var(--l-green-deep); border:1px solid rgba(122,176,47,.5); }
.single-job_listing .mlpa-status .fa{ font-size:1em; }

.single-job_listing .job-profile-info h1.name{
    font-family:var(--l-f-disp);
    font-weight:900;
    font-size:clamp(2.6em,5.2vw,3.9em);
    line-height:.88; letter-spacing:-.015em;
    color:var(--l-ink); margin:0;
}
.single-job_listing .job-profile-info .breed{
    font-family:var(--l-f-body);
    font-weight:600; font-size:1.15em;
    color:var(--l-muted); margin:.35em 0 0;
}
.single-job_listing .job-profile-info .tagline{ color:var(--l-muted); margin:.5em 0 0; }

/* "Have you seen X?" prompt — warm callout sitting right above the Contact Owner CTA */
.single-job_listing .job_application .mlpa-seen{
    display:flex; align-items:flex-start; gap:.6em; text-align:left;
    margin:0 auto 16px; padding:.85em 1.05em; max-width:560px;
    background:linear-gradient(180deg,#ffffff,#fbf3e6);
    border:1px solid rgba(232,145,69,.35); border-left:4px solid var(--l-orange);
    border-radius:12px;
    color:var(--l-ink); font-size:1.02em; line-height:1.45;
}
.single-job_listing .job_application .mlpa-seen i{ color:var(--l-orange-deep); font-size:1.3em; margin-top:.08em; flex:0 0 auto; }
.single-job_listing .job_application .mlpa-seen strong{ color:var(--l-orange-deep); }

/* Fact chips */
.single-job_listing .job-profile-info ul.meta{
    list-style:none; margin:1.15em 0 0; padding:0;
    display:flex; flex-wrap:wrap; gap:9px;
}
.single-job_listing .job-profile-info ul.meta li{
    display:inline-flex; align-items:center; gap:.5em;
    background:#fff !important; border:1px solid var(--l-line) !important;
    border-radius:999px !important; padding:.5em .9em !important;
    font-size:.95em; font-weight:600; color:var(--l-ink) !important;
    line-height:1; margin:0;
}
.single-job_listing .job-profile-info ul.meta li.fa,
.single-job_listing .job-profile-info ul.meta li.job-type{ font-family:var(--l-f-body); }  /* keep text upright */
.single-job_listing .job-profile-info ul.meta li.fa::before{
    font-family:FontAwesome; font-weight:normal; color:var(--l-teal); margin-right:.15em;
}
/* species chip → green (matches the archive pill) */
.single-job_listing .job-profile-info ul.meta li.job-type{
    background:var(--l-green-soft) !important; border-color:rgba(122,176,47,.35) !important;
    color:var(--l-green-deep) !important;
}
.single-job_listing .job-profile-info ul.meta li.job-type::before{ color:var(--l-green) !important; }
.single-job_listing .job-profile-info ul.meta li.location{ color:var(--l-teal-deep); }
.single-job_listing .job-profile-info ul.meta li.location::before{
    content:"\f041"; font-family:FontAwesome; color:var(--l-teal); margin-right:.15em;   /* map-marker */
}
.single-job_listing .job-profile-info ul.meta li.date-posted{
    background:#fbe8d3; border-color:rgba(232,145,69,.4); color:var(--l-orange-deep);
}
.single-job_listing .job-profile-info ul.meta li.date-posted::before{
    content:"\f017"; font-family:FontAwesome; color:var(--l-red); margin-right:.15em;    /* clock */
}
.single-job_listing .job-profile-info ul.meta li.date-posted date{ color:var(--l-orange-deep) !important; font-weight:800; }
.single-job_listing .job-profile-info ul.meta li.jmfe-custom-field-wrap{ color:var(--l-ink); }
.single-job_listing .job-profile-info ul.meta li .jmfe-custom-field-label,
.single-job_listing .job-profile-info ul.meta li strong{ color:var(--l-muted); font-weight:700; }
.single-job_listing .job-profile-info ul.meta li.position-filled{
    background:var(--l-green-soft); border-color:rgba(122,176,47,.5); color:var(--l-green-deep);
}

/* ---- Contact owner (primary CTA) ----------------------------------------- */
.single-job_listing .job_application{
    align-self:center; width:100%; max-width:560px;
    text-align:center; margin:0 auto;
}
.single-job_listing .application_button.btn{
    display:inline-flex; align-items:center; justify-content:center; gap:.55em;
    font-family:var(--l-f-disp); font-weight:900;
    font-size:1.5em; line-height:1;
    color:#fff !important;
    text-shadow:0 1px 1px rgba(90,40,0,.28);
    background:linear-gradient(180deg,#e89145,#cc7a2b) !important;
    border:0 !important;
    padding:.7em 1.5em; border-radius:14px;
    box-shadow:0 18px 32px -14px rgba(204,122,43,.72);
    transition:transform .15s ease, box-shadow .15s ease;
    cursor:pointer;
}
.single-job_listing .application_button.btn:hover{
    transform:translateY(-2px);
    box-shadow:0 22px 40px -14px rgba(232,145,69,.85);
}
.single-job_listing .application_details{
    margin-top:16px; text-align:left;
    background:#fff; border:1px solid var(--l-line); border-radius:16px;
    padding:clamp(16px,3vw,24px);
    box-shadow:0 24px 46px -28px rgba(50,45,20,.4);
}
.single-job_listing .application_details .aligncenter{ text-align:center; margin-bottom:12px; color:var(--l-muted); }
.single-job_listing .application_details input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.single-job_listing .application_details textarea{
    width:100%; box-sizing:border-box;
    border:1px solid var(--l-line); border-radius:10px;
    padding:.7em .85em; font-size:1em; background:#fbf7ec; margin-bottom:10px;
}
.single-job_listing .application_details input:focus,
.single-job_listing .application_details textarea:focus{
    outline:0; border-color:var(--l-teal); box-shadow:0 0 0 3px rgba(63,138,128,.18);
}
/* "Send Message" submit → styled by buttons.css (red primary), no override here. */

/* ---- Share / Flyer bar ---------------------------------------------------- */
.single-job_listing .social-box{
    display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
    margin:0; align-self:center;
}
.single-job_listing .social-box::before,
.single-job_listing .social-box::after{ content:none; }
.single-job_listing .social-box > div{ float:none; width:auto; padding:0; }
/* Facebook share (has inline styles → override with !important) */
.single-job_listing .social-box .social-links a[href*="facebook"]{
    display:inline-flex !important; align-items:center; gap:.5em;
    font-family:var(--l-f-body) !important; font-size:1em !important; font-weight:700;
    color:#fff !important;
    background:#3b5998 !important; border:0 !important;
    padding:.7em 1.2em !important; border-radius:12px !important;
    text-decoration:none; transition:transform .15s ease, filter .15s ease;
}
.single-job_listing .social-box .social-links a[href*="facebook"]:hover{ transform:translateY(-1px); filter:brightness(1.05); }
/* posted-on icon list (when the pet was pushed to socials) */
.single-job_listing .social-box ul.social-links{
    list-style:none; display:inline-flex; align-items:center; gap:12px; margin:0; padding:0;
}
.single-job_listing .social-box ul.social-links li{ color:var(--l-muted); font-weight:600; }
.single-job_listing .social-box ul.social-links a{ color:var(--l-teal-deep); font-size:1.3em; }
/* Flyer button */
.single-job_listing .social-box .btn-secondary{
    display:inline-flex; align-items:center; gap:.5em;
    font-family:var(--l-f-body); font-weight:700; font-size:1em;
    color:var(--l-teal-deep) !important;
    background:#fff !important; border:1px solid var(--l-teal) !important;
    padding:.7em 1.2em; border-radius:12px; text-decoration:none;
    transition:background .15s ease;
}
.single-job_listing .social-box .btn-secondary:hover{ background:var(--l-teal-soft) !important; }

/* ---- Description card ----------------------------------------------------- */
.single-job_listing .job_description{
    background:#fff; border:1px solid var(--l-line); border-radius:20px;
    padding:clamp(20px,3vw,32px);
    box-shadow:0 22px 44px -30px rgba(50,45,20,.35);
}
.single-job_listing .job_description h4{
    font-family:var(--l-f-disp); font-weight:900;
    font-size:1.7em; line-height:1; color:var(--l-ink);
    margin:0 0 .55em;
}
.single-job_listing .job_description p{ margin:0 0 1em; line-height:1.7; color:#3a3a2e; font-size:1.05em; }
.single-job_listing .job_description p:last-child{ margin-bottom:0; }

/* ---- Last Seen + map (single carded block) -------------------------------- */
.single-job_listing .mlpa-lastseen{
    background:#fff; border:1px solid var(--l-line); border-radius:20px;
    padding:clamp(20px,3vw,32px);
    box-shadow:0 22px 44px -30px rgba(50,45,20,.35);
}
.single-job_listing .mlpa-lastseen h4{
    font-family:var(--l-f-disp); font-weight:900;
    font-size:1.7em; line-height:1; color:var(--l-ink); margin:0 0 .55em;
}
.single-job_listing .mlpa-lastseen__addr{
    margin:0 0 .4em; color:#3a3a2e; font-size:1.02em; line-height:1.5;
}
.single-job_listing .mlpa-lastseen__addr i{ color:var(--l-teal); margin-right:.35em; }
.single-job_listing .mlpa-lastseen__addr strong{ color:var(--l-muted); font-weight:700; }
.single-job_listing .mlpa-lastseen .googlemap-wrapper{ margin-top:14px; }
.single-job_listing .googlemap-wrapper,
.single-job_listing .map-canvas{
    border-radius:14px; overflow:hidden; border:1px solid var(--l-line);
}
.single-job_listing .map-canvas{ min-height:360px; background:#e8ecda; }

/* ---- Reunited celebration / expired banner ------------------------------- */
.single-job_listing .title-bordered{
    margin:0; text-align:center;
    background:
        radial-gradient(120% 130% at 0% 0%, rgba(122,176,47,.18), transparent 55%),
        radial-gradient(120% 130% at 100% 100%, rgba(232,145,69,.14), transparent 55%),
        linear-gradient(180deg,#f6fbee,#eaf3d9);
    border:1px solid rgba(122,176,47,.5); border-radius:20px;
    padding:clamp(22px,3.2vw,34px);
    box-shadow:0 22px 44px -30px rgba(60,90,20,.4);
}
.single-job_listing .title-bordered .alert-warning{
    display:block; background:none; border:0; box-shadow:none; padding:0; margin:0;
    font-family:var(--l-f-disp); font-weight:900; letter-spacing:.01em;
    font-size:clamp(2.1em,5.4vw,3.1em); line-height:1; color:var(--l-green-deep);
}
.single-job_listing .title-bordered .alert-warning .fa{ color:var(--l-green); font-size:.8em; }
.single-job_listing .title-bordered .alert-warning small{
    display:block; font-family:var(--l-f-body); font-weight:600; font-size:.4em;
    color:var(--l-muted); margin-top:.7em; letter-spacing:0; line-height:1.4;
}
.single-job_listing .title-bordered .alert-warning small strong{ color:var(--l-green-deep); }
.single-job_listing .title-bordered blockquote{
    margin:18px auto 0; max-width:640px; text-align:left;
    background:#fff; border:1px solid rgba(122,176,47,.4); border-left:4px solid var(--l-green);
    border-radius:0 12px 12px 0; padding:.9em 1.2em; color:var(--l-ink); font-style:italic;
}
.single-job_listing .title-bordered .line{ display:none; }

/* ---- Reward badge (poster) ----------------------------------------------- */
.single-job_listing .job-profile-info .mlpa-reward{
    align-self:flex-start;
    display:inline-flex; align-items:center; gap:.45em;
    background:linear-gradient(180deg,var(--l-orange),var(--l-orange-deep)); color:#fff;
    font-family:var(--l-f-body); font-weight:800; font-size:.85em; letter-spacing:.02em;
    padding:.42em .85em; border-radius:999px; margin-bottom:.7em;
    text-shadow:0 1px 1px rgba(90,40,0,.25);
    box-shadow:0 8px 18px -8px rgba(204,122,43,.6);
}

/* ---- Multi-channel share bar --------------------------------------------- */
.single-job_listing .social-box .mlpa-share{
    flex:1 1 100%; float:none !important; width:auto !important; padding:0 !important;
    display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px;
    margin-top:2px;
}
.single-job_listing .mlpa-share__label{ font-weight:700; color:var(--l-muted); font-size:.95em; }
.single-job_listing .mlpa-share__label i{ color:var(--l-teal); margin-right:.3em; }
.single-job_listing .mlpa-share__btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:42px; height:42px; border-radius:50%; border:0; cursor:pointer;
    color:#fff; font-size:1.1em; text-decoration:none; position:relative;
    transition:transform .15s ease, filter .15s ease;
}
.single-job_listing .mlpa-share__btn:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.single-job_listing .mlpa-share__btn--x{ background:#111; }
.single-job_listing .mlpa-share__btn--wa{ background:#25d366; }
.single-job_listing .mlpa-share__btn--sms{ background:var(--l-teal); }
.single-job_listing .mlpa-share__btn--copy{ background:var(--l-orange); }
.single-job_listing .mlpa-share__btn--copy.is-copied::after{
    content:"Copied!"; position:absolute; bottom:calc(100% + 7px); left:50%; transform:translateX(-50%);
    background:var(--l-ink); color:#fff; font-size:.72em; font-weight:700; padding:.3em .55em;
    border-radius:6px; white-space:nowrap; pointer-events:none;
}

/* ---- "View on Google Maps" text fallback --------------------------------- */
.single-job_listing .mlpa-lastseen__maplink{ margin:12px 0 0; font-size:.95em; }
.single-job_listing .mlpa-lastseen__maplink a{ color:var(--l-teal-deep); font-weight:700; text-decoration:none; }
.single-job_listing .mlpa-lastseen__maplink a:hover{ text-decoration:underline; }
.single-job_listing .mlpa-lastseen__maplink i{ margin-right:.3em; }

/* ---- Admin accordion (support/admin only) — keep tidy -------------------- */
.single-job_listing .panel-group.accordion{
    background:#fff; border:1px dashed var(--l-line); border-radius:14px; padding:6px 14px;
}

/* ---- Mobile --------------------------------------------------------------- */
@media (max-width:720px){
    .single-job_listing .job-profile-info{ grid-template-columns:1fr; }
    .single-job_listing .job-cover-img{ aspect-ratio:1/1; max-width:420px; margin-inline:auto; }
    .single-job_listing .job-profile-info .col-md-7{ text-align:center; }
    .single-job_listing .mlpa-status,
    .single-job_listing .job-profile-info ul.meta{ align-self:center; justify-content:center; }
}

/* ==========================================================================
   ARCHIVE  —  /lost-pets/  ([jobs] shortcode)
   ========================================================================== */
.job_listings{ font-family:var(--l-f-body); font-size:16px; color:var(--l-ink); }

/* ---- Search + filter panel ------------------------------------------------ */
.job_filters{
    background:linear-gradient(180deg,#ffffff,#faf6ea);
    border:1px solid var(--l-line);
    border-radius:20px;
    padding:clamp(18px,2.6vw,26px);
    margin-bottom:22px;
    box-shadow:0 22px 46px -32px rgba(50,45,20,.35);
}
.job_filters .search_jobs{
    display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px;
    background:none; border:0; padding:0;
}
.job_filters .search_keywords,
.job_filters .search_location{ flex:1 1 240px; min-width:0; display:flex; flex-direction:column; }
.job_filters .search_keywords label,
.job_filters .search_location label{
    font-family:var(--l-f-body); font-weight:700; font-size:.82em;
    letter-spacing:.06em; text-transform:uppercase; color:var(--l-teal-deep);
    margin-bottom:6px;
}
.job_filters .search_jobs input[type=text]{
    width:100%; box-sizing:border-box;
    border:1px solid var(--l-line); border-radius:12px;
    padding:.75em .95em; font-size:1em; background:#fff; color:var(--l-ink);
    transition:border-color .15s ease, box-shadow .15s ease;
}
.job_filters .search_jobs input[type=text]::placeholder{ color:#a49f8f; }
.job_filters .search_jobs input[type=text]:focus{
    outline:0; border-color:var(--l-teal); box-shadow:0 0 0 3px rgba(63,138,128,.18);
}
.job_filters .search_submit{ flex:0 0 auto; }
/* Shape/font come from buttons.css (matches homepage); here just the ghost colour
   + a fixed height so it lines up with the 50px inputs. */
.job_filters .search_submit input[type=submit]{
    height:50px; padding:0 1.7em; margin:0;
    font-family:"Darker Grotesque",system-ui,sans-serif !important;
    font-weight:900 !important; font-size:20px !important; letter-spacing:.01em;
    color:#fff !important; text-shadow:0 1px 1px rgba(20,50,0,.28);
    background:linear-gradient(180deg,#7ab02f,#5f8f22) !important;
    border:0 !important; border-radius:12px !important;
    box-shadow:0 12px 24px -14px rgba(95,143,34,.7) !important;
}
.job_filters .search_submit input[type=submit]:hover{
    background:linear-gradient(180deg,#6ea028,#557f1e) !important; color:#fff !important; transform:translateY(-1px);
}

/* Pet-type filters hidden per request (all types stay checked → results unfiltered).
   Also drop the empty "showing jobs / RSS" band that left dead space in the panel. */
.job_filters ul.job_types{ display:none !important; }
.job_filters .showing_jobs{ display:none !important; }

/* Geolocation ("Get your current position") icon — center it on the input
   (the label now sits above, so the plugin's top:2px pinned it too high). */
.job_filters .search_location{ position:relative; }
.job_filters .search_location .gjm-locator-btn{
    top:auto !important; bottom:11px !important; right:12px !important;
    color:var(--l-teal-deep); font-size:1.1em; line-height:1; cursor:pointer;
}

/* species filter → pill toggles */
.job_filters ul.job_types{
    list-style:none; margin:16px 0 0; padding:16px 0 0;
    border-top:1px solid var(--l-line);
    display:flex; flex-wrap:wrap; gap:10px;
}
.job_filters ul.job_types li{ margin:0; }
.job_filters ul.job_types li label{
    display:inline-flex; align-items:center; gap:.5em;
    background:#fff; border:1px solid var(--l-line); border-radius:999px;
    padding:.5em .95em; font-size:.95em; font-weight:600; color:var(--l-muted);
    cursor:pointer; transition:all .15s ease; user-select:none;
}
.job_filters ul.job_types li label:hover{ border-color:var(--l-teal); color:var(--l-ink); }
.job_filters ul.job_types li label input[type=checkbox]{
    width:1.05em; height:1.05em; accent-color:var(--l-teal); margin:0; cursor:pointer;
}
/* checked state (progressive enhancement) */
.job_filters ul.job_types li label:has(input:checked){
    background:var(--l-teal-soft); border-color:var(--l-teal); color:var(--l-teal-deep);
}

.job_filters .showing_jobs{
    margin-top:14px; color:var(--l-muted); font-size:.95em;
    display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.job_filters .showing_jobs .rss_link{ color:var(--l-orange-deep); text-decoration:none; font-weight:700; }

/* ---- Listing rows → polished Direction C cards ---------------------------- */
.job_listings ul.job_listings{ margin:0; padding:0; list-style:none; }
ul.job_listings > li.job_listing{
    position:relative;
    background:linear-gradient(180deg,#ffffff,#fdfbf5);
    border:1px solid var(--l-line) !important;
    border-radius:16px;
    margin-bottom:14px;
    overflow:hidden;
    box-shadow:0 12px 26px -24px rgba(50,45,20,.5);
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
/* left accent bar, revealed on hover */
ul.job_listings > li.job_listing::before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
    background:var(--l-teal); opacity:0; transition:opacity .16s ease;
}
ul.job_listings > li.job_listing:hover{
    transform:translateY(-2px);
    border-color:var(--l-teal) !important;
    box-shadow:0 22px 40px -24px rgba(50,45,20,.45);
}
ul.job_listings > li.job_listing:hover::before{ opacity:1; }

/* Explicit flex row: avatar | name+location | type/date | chevron — centered */
ul.job_listings > li.job_listing > a{
    text-decoration:none;
    display:flex !important; align-items:center; flex-wrap:wrap;
    gap:10px 24px; padding:18px 22px;
}
/* chevron affordance */
ul.job_listings > li.job_listing > a::after{
    content:"\f105"; font-family:FontAwesome; font-weight:normal;
    color:var(--l-line); font-size:1.5em; margin-left:2px; flex:0 0 auto;
    transition:color .16s ease, transform .16s ease;
}
ul.job_listings > li.job_listing:hover > a::after{ color:var(--l-teal); transform:translateX(3px); }

/* Fixed, uniform circular thumbnails (was width:64 + height:auto → random ellipses) */
ul.job_listings > li.job_listing .job_img{ flex:0 0 78px; width:78px; height:78px; margin:0; }
ul.job_listings > li.job_listing .job_img img.company_logo{
    width:78px !important; height:78px !important;
    border-radius:50% !important; border:3px solid #fff; outline:1px solid var(--l-line);
    object-fit:cover !important; background:#efe9db; display:block;
    box-shadow:0 6px 14px -8px rgba(50,45,20,.5);
}
ul.job_listings > li.job_listing .job_listing-inner{
    flex:1 1 300px; min-width:0; margin:0;
    display:flex; align-items:center; flex-wrap:wrap; gap:4px 28px;
}
ul.job_listings > li.job_listing .job_listing-inner .position{ flex:1 1 220px; min-width:0; }
ul.job_listings > li.job_listing .position h3{
    font-family:var(--l-f-disp); font-weight:800; font-size:1.55em; line-height:1.05;
    letter-spacing:-.01em; color:var(--l-ink); margin:0;
}
ul.job_listings > li.job_listing .position .company{ color:var(--l-muted); font-style:italic; font-size:.98em; }
ul.job_listings > li.job_listing .position .company strong{ font-weight:600; }
ul.job_listings > li.job_listing .location{
    flex:0 0 auto; display:inline-flex; align-items:center; gap:.4em;
    color:var(--l-teal-deep); font-weight:600;
}
ul.job_listings > li.job_listing .location::before{
    content:"\f041"; font-family:FontAwesome; font-weight:normal; color:var(--l-teal);   /* map-marker */
}
/* type/date column */
ul.job_listings > li.job_listing ul.meta{
    float:none !important; flex:0 0 auto; margin:0; padding:0; list-style:none;
    display:flex; flex-direction:column; align-items:flex-end; gap:6px;
}
ul.job_listings > li.job_listing ul.meta li{ display:block; margin:0; }
/* species → pill badge */
ul.job_listings > li.job_listing ul.meta li.job-type{
    background:var(--l-green-soft); color:var(--l-green-deep) !important;
    font-weight:700; font-size:.82em; letter-spacing:.02em;
    padding:.32em .8em; border-radius:999px; border:1px solid rgba(122,176,47,.35);
}
ul.job_listings > li.job_listing ul.meta li.date-posted,
ul.job_listings > li.job_listing ul.meta li.date-posted time{
    color:var(--l-muted); font-size:.9em;
}

/* pagination */
.job-manager-pagination ul{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; list-style:none; padding:0; margin:18px 0 0; }
.job-manager-pagination ul li a,
.job-manager-pagination ul li span{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:38px; height:38px; padding:0 10px;
    border:1px solid var(--l-line); border-radius:10px;
    background:#fff; color:var(--l-ink); text-decoration:none; font-weight:700;
}
.job-manager-pagination ul li a:hover{ border-color:var(--l-teal); color:var(--l-teal-deep); }
.job-manager-pagination ul li .current,
.job-manager-pagination ul li span.page-numbers.current{ background:var(--l-teal); border-color:var(--l-teal); color:#fff; }
