/* Joburi — strat dedicat construit exclusiv cu token-urile temei Hunedoara Online. */
.jobs-system {
    --jobs-surface: var(--ho-white);
    --jobs-background: var(--ho-soft);
    --jobs-text: var(--ho-text);
    --jobs-muted: var(--ho-muted);
    --jobs-border: var(--ho-line);
    --jobs-accent: var(--ho-cyan);
    --jobs-heading: var(--ho-navy);
    --jobs-success: var(--ho-green);
    --jobs-radius-lg: 20px;
    --jobs-radius-md: 16px;
    --jobs-radius-sm: 12px;
}

.jobs-system .portal-kicker { color: var(--jobs-accent); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.jobs-system :is(a, button, input, select):focus-visible { outline: 3px solid color-mix(in srgb, var(--jobs-accent) 24%, transparent); outline-offset: 3px; }

/* List hero */
.jobs-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--jobs-border); background: var(--jobs-surface); padding-block: 54px 48px; }
.jobs-hero::after { position: absolute; right: -8%; bottom: -72%; width: 480px; aspect-ratio: 1; border-radius: 50%; background: color-mix(in srgb, var(--jobs-accent) 7%, transparent); content: ''; pointer-events: none; }
.jobs-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .88fr) minmax(560px, 1.12fr); align-items: end; gap: 56px; }
.jobs-hero__copy h1 { max-width: 570px; margin: 9px 0 0; color: var(--jobs-heading); font-size: 40px; font-weight: 800; line-height: 1.04; letter-spacing: -.048em; }
.jobs-hero__copy p { max-width: 580px; margin: 16px 0 0; color: var(--jobs-muted); font-size: 15px; line-height: 1.7; }
.jobs-hero__count { min-height: 32px; display: inline-flex; align-items: center; gap: 7px; margin-top: 19px; border-radius: 999px; background: color-mix(in srgb, var(--jobs-accent) 8%, var(--jobs-surface)); padding: 6px 11px; color: var(--jobs-accent); font-size: 11px; font-weight: 800; }
.jobs-hero-search { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(210px, .75fr) auto; align-items: end; gap: 12px; border: 1px solid var(--jobs-border); border-radius: var(--jobs-radius-lg); background: var(--jobs-surface); padding: 15px; box-shadow: var(--ho-shadow); }
.jobs-hero-search > label { display: grid; min-width: 0; gap: 8px; color: var(--jobs-heading); font-size: 9px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.jobs-field { min-height: 58px; display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 11px; border: 1px solid var(--jobs-border); border-radius: var(--jobs-radius-md); background: var(--jobs-background); padding: 0 16px; color: var(--jobs-accent); transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.jobs-field:hover { border-color: color-mix(in srgb, var(--jobs-accent) 38%, var(--jobs-border)); }
.jobs-field:focus-within { border-color: var(--jobs-accent); background: var(--jobs-surface); box-shadow: 0 0 0 4px color-mix(in srgb, var(--jobs-accent) 10%, transparent); }
.jobs-field svg { width: 21px; height: 21px; }
.jobs-system .jobs-hero-search .jobs-field :is(input:not([type="checkbox"]):not([type="radio"]), select) { width: 100%; min-width: 0; height: 56px; border: 0; border-radius: 0; background: transparent; padding: 0; color: var(--jobs-text); font-size: 13px; font-weight: 650; outline: 0; box-shadow: none; }
.jobs-field input::placeholder { color: var(--jobs-muted); font-weight: 500; }
.jobs-hero-search > button, .jobs-filter-submit, .jobs-alert-card form > button { min-height: 58px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 999px; background: var(--ho-gradient); padding: 0 27px; color: var(--jobs-surface); font-size: 12px; font-weight: 800; white-space: nowrap; box-shadow: var(--ho-shadow-soft); transition: transform .18s ease, box-shadow .18s ease; }
.jobs-hero-search > button:hover, .jobs-filter-submit:hover, .jobs-alert-card form > button:hover { transform: translateY(-1px); box-shadow: var(--ho-shadow); }

/* Filters and results */
.jobs-results { background: var(--jobs-background); padding-block: 44px 78px; }
.jobs-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; }
.jobs-active-filters > span { color: var(--jobs-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.jobs-active-filters a { min-height: 34px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--jobs-border); border-radius: 999px; background: var(--jobs-surface); padding: 6px 10px; color: var(--jobs-heading); font-size: 11px; font-weight: 700; }
.jobs-active-filters a:hover { border-color: var(--jobs-accent); color: var(--jobs-accent); }
.jobs-active-filters .jobs-active-filters__clear { border-color: transparent; background: transparent; color: var(--jobs-accent); }
.jobs-results__toolbar { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.jobs-results__toolbar h2 { margin: 5px 0 0; color: var(--jobs-heading); font-size: 30px; font-weight: 800; line-height: 1.15; letter-spacing: -.035em; }
.jobs-toolbar__actions { display: flex; align-items: center; gap: 10px; }
.jobs-sort { display: flex; align-items: center; gap: 8px; color: var(--jobs-muted); font-size: 11px; font-weight: 700; }
.jobs-sort select { min-height: 40px; border: 1px solid var(--jobs-border); border-radius: 999px; background: var(--jobs-surface); padding: 0 34px 0 13px; color: var(--jobs-heading); font-size: 11px; font-weight: 750; }
.jobs-mobile-filter-button { min-height: 40px; display: none; align-items: center; gap: 7px; border: 1px solid var(--jobs-border); border-radius: 999px; background: var(--jobs-surface); padding: 0 14px; color: var(--jobs-heading); font-size: 11px; font-weight: 800; }
.jobs-mobile-filter-button span { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 50%; background: var(--jobs-accent); color: var(--jobs-surface); font-size: 9px; }
.jobs-index-layout { display: grid; grid-template-columns: 282px minmax(0, 1fr); align-items: start; gap: 28px; }
.jobs-filters-column { display: grid; gap: 18px; }
.jobs-filter-panel, .jobs-alert-card { border: 1px solid var(--jobs-border); border-radius: var(--jobs-radius-lg); background: var(--jobs-surface); padding: 20px; box-shadow: var(--ho-shadow-soft); }
.jobs-filter-panel { display: grid; gap: 13px; }
.jobs-filter-panel__heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.jobs-filter-panel__heading h2, .jobs-alert-card h2 { margin: 5px 0 0; color: var(--jobs-heading); font-size: 20px; font-weight: 800; line-height: 1.25; letter-spacing: -.025em; }
.jobs-filter-panel__heading a { color: var(--jobs-accent); font-size: 10px; font-weight: 800; }
.jobs-filter-panel > label, .jobs-alert-card form > label:not(.jobs-consent) { display: grid; gap: 5px; color: var(--jobs-heading); font-size: 10px; font-weight: 800; letter-spacing: .035em; }
.jobs-filter-panel :is(input, select), .jobs-alert-card :is(input:not([type="checkbox"]), select) { width: 100%; min-height: 43px; border: 1px solid var(--jobs-border); border-radius: 11px; background: var(--jobs-background); padding: 0 11px; color: var(--jobs-text); font-size: 12px; font-weight: 550; outline: 0; }
.jobs-filter-panel :is(input, select):focus, .jobs-alert-card :is(input, select):focus { border-color: var(--jobs-accent); background: var(--jobs-surface); box-shadow: 0 0 0 4px color-mix(in srgb, var(--jobs-accent) 9%, transparent); }
.jobs-filter-submit { width: 100%; min-height: 46px; margin-top: 5px; }
.jobs-alert-card { background: color-mix(in srgb, var(--jobs-accent) 4%, var(--jobs-surface)); }
.jobs-alert-card > p { margin: 9px 0 17px; color: var(--jobs-muted); font-size: 11px; line-height: 1.65; }
.jobs-alert-card form { display: grid; gap: 11px; }
.jobs-consent { display: grid; grid-template-columns: 17px minmax(0, 1fr); align-items: start; gap: 8px; color: var(--jobs-muted); font-size: 9px; font-weight: 600; line-height: 1.45; }
.jobs-consent input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--jobs-accent); }
.jobs-alert-card form > button { width: 100%; min-height: 44px; }

/* Job cards */
.jobs-list { display: grid; gap: 14px; }
.jobs-card { min-width: 0; overflow: hidden; border: 1px solid var(--jobs-border); border-radius: var(--jobs-radius-lg); background: var(--jobs-surface); box-shadow: var(--ho-shadow-soft); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.jobs-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--jobs-accent) 48%, var(--jobs-border)); box-shadow: var(--ho-shadow); }
.jobs-card--featured { border-color: color-mix(in srgb, var(--ho-pink) 32%, var(--jobs-border)); background: linear-gradient(115deg, color-mix(in srgb, var(--ho-pink) 4%, var(--jobs-surface)), var(--jobs-surface) 42%); }
.jobs-card__link { display: grid; min-height: 248px; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto 1fr auto; column-gap: 28px; padding: 24px 26px; }
.jobs-card__header { min-width: 0; display: grid; grid-column: 1; grid-template-columns: 62px minmax(0, 1fr); align-items: start; gap: 15px; }
.jobs-company-logo { width: 62px; height: 62px; display: grid; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid var(--jobs-border); border-radius: 15px; background: var(--jobs-surface); color: var(--jobs-heading); font-size: 13px; font-weight: 800; }
.jobs-company-logo img { width: 100%; height: 100%; object-fit: contain; padding: 7px; }
.jobs-company-logo > span { width: 100%; height: 100%; display: grid; place-items: center; background: color-mix(in srgb, var(--jobs-accent) 9%, var(--jobs-surface)); color: var(--jobs-accent); }
.jobs-card__identity { min-width: 0; display: block; }
.jobs-card__identity h2, .jobs-card__identity h3 { margin: 4px 0 0; color: var(--jobs-heading); font-size: 24px; font-weight: 800; line-height: 1.2; letter-spacing: -.035em; }
.jobs-card__company { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 5px; color: var(--jobs-muted); font-size: 12px; font-weight: 700; }
.jobs-promoted, .job-expired-badge { min-height: 24px; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; background: color-mix(in srgb, var(--ho-pink) 10%, var(--jobs-surface)); padding: 4px 8px; color: var(--ho-pink); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.jobs-verified { display: inline-flex; align-items: center; gap: 4px; color: var(--jobs-success); font-size: 9px; font-weight: 800; }
.jobs-salary { grid-column: 2; grid-row: 1; align-self: center; color: var(--jobs-heading); font-size: 18px; font-weight: 800; line-height: 1.25; white-space: nowrap; }
.jobs-salary--missing { color: var(--jobs-muted); font-size: 11px; font-weight: 650; }
.jobs-card__meta { display: flex; grid-column: 1 / -1; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.jobs-card__meta > span { min-height: 31px; display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; background: var(--jobs-background); padding: 5px 9px; color: var(--jobs-text); font-size: 10px; font-weight: 700; }
.jobs-card__meta svg { color: var(--jobs-accent); }
.jobs-card__excerpt { grid-column: 1 / -1; margin-top: 13px; color: var(--jobs-muted); font-size: 12px; line-height: 1.65; }
.jobs-card__footer { min-width: 0; display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; border-top: 1px solid var(--jobs-border); padding-top: 14px; }
.jobs-card__footer > span { display: flex; align-items: center; gap: 6px; color: var(--jobs-muted); font-size: 10px; }
.jobs-card__footer > strong { display: inline-flex; align-items: center; gap: 6px; color: var(--jobs-accent); font-size: 11px; font-weight: 800; }
.jobs-card__footer > strong svg { transition: transform .18s ease; }.jobs-card:hover .jobs-card__footer > strong svg { transform: translateX(3px); }
.jobs-empty { display: grid; min-height: 390px; place-items: center; align-content: center; border: 1px dashed var(--jobs-border); border-radius: var(--jobs-radius-lg); background: var(--jobs-surface); padding: 38px 24px; text-align: center; }
.jobs-empty > span { width: 70px; height: 70px; display: grid; place-items: center; border-radius: 20px; background: color-mix(in srgb, var(--jobs-accent) 8%, var(--jobs-surface)); color: var(--jobs-accent); }
.jobs-empty h2 { max-width: 500px; margin: 18px 0 0; color: var(--jobs-heading); font-size: 25px; font-weight: 800; line-height: 1.25; }
.jobs-empty p { max-width: 530px; margin: 9px 0 0; color: var(--jobs-muted); font-size: 12px; }
.jobs-empty a { min-height: 42px; display: inline-flex; align-items: center; margin-top: 18px; border: 1px solid var(--jobs-accent); border-radius: 999px; padding: 8px 16px; color: var(--jobs-accent); font-size: 11px; font-weight: 800; }
.jobs-pagination { margin-top: 28px; }.jobs-pagination nav > div:first-child { display: none; }.jobs-pagination nav > div:last-child { display: flex; align-items: center; justify-content: space-between; gap: 16px; }.jobs-pagination nav p { color: var(--jobs-muted); font-size: 11px; }.jobs-pagination nav span[aria-current="page"] span, .jobs-pagination nav a { border-color: var(--jobs-border) !important; color: var(--jobs-heading) !important; }.jobs-pagination nav span[aria-current="page"] span { background: var(--jobs-accent) !important; color: var(--jobs-surface) !important; }

/* Mobile filter dialog */
.jobs-filter-dialog { width: min(100% - 24px, 520px); max-height: min(88vh, 760px); overflow-y: auto; border: 0; border-radius: 22px; background: var(--jobs-surface); padding: 0; box-shadow: var(--ho-shadow); }
.jobs-filter-dialog::backdrop { background: color-mix(in srgb, var(--jobs-heading) 56%, transparent); backdrop-filter: blur(4px); }
.jobs-filter-dialog__head { position: sticky; z-index: 3; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--jobs-border); background: var(--jobs-surface); padding: 18px 20px; }
.jobs-filter-dialog__head h2 { margin: 4px 0 0; color: var(--jobs-heading); font-size: 22px; font-weight: 800; }
.jobs-filter-dialog__head button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--jobs-border); border-radius: 50%; background: var(--jobs-background); color: var(--jobs-heading); }
.jobs-filter-panel--mobile { border: 0; border-radius: 0; box-shadow: none; }.jobs-filter-panel--mobile .jobs-filter-panel__heading { display: none; }

/* Single job hero and summary */
.job-detail-hero { border-bottom: 1px solid var(--jobs-border); background: var(--jobs-surface); padding-block: 30px 46px; }
.jobs-breadcrumbs { display: flex; min-width: 0; align-items: center; gap: 8px; margin-bottom: 31px; color: var(--jobs-muted); font-size: 10px; font-weight: 650; }
.jobs-breadcrumbs a { color: var(--jobs-accent); font-weight: 800; }.jobs-breadcrumbs span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.job-detail-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 45px; }
.job-company-identity { display: flex; align-items: center; gap: 14px; }.jobs-company-logo--large { width: 72px; height: 72px; border-radius: 17px; }
.job-company-identity > div { display: grid; gap: 4px; }.job-company-identity > div > strong { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--jobs-heading); font-size: 13px; }
.job-detail-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 25px; }.job-expired-badge { background: color-mix(in srgb, var(--jobs-muted) 10%, var(--jobs-surface)); color: var(--jobs-muted); }
.job-detail-hero h1 { max-width: 830px; margin: 10px 0 0; color: var(--jobs-heading); font-size: clamp(38px, 4.2vw, 54px); font-weight: 800; line-height: 1.04; letter-spacing: -.048em; }
.job-detail-meta-line { display: flex; flex-wrap: wrap; gap: 9px 17px; margin-top: 19px; color: var(--jobs-muted); font-size: 11px; font-weight: 650; }
.job-detail-meta-line span { display: inline-flex; align-items: center; gap: 6px; }.job-detail-meta-line svg { color: var(--jobs-accent); }
.job-detail-hero__apply { min-width: 310px; display: grid; justify-items: start; gap: 12px; border-left: 1px solid var(--jobs-border); padding: 12px 0 12px 32px; }
.job-detail-hero__apply .jobs-salary { grid-column: auto; grid-row: auto; font-size: 22px; white-space: normal; }.job-detail-hero__apply .ho-gradient-button, .job-detail-hero__apply .ho-outline-button { min-width: 250px; }
.job-detail-hero__apply small { color: var(--jobs-muted); font-size: 10px; }.job-expired-message { color: var(--jobs-heading); font-size: 14px; }.job-apply-unavailable { color: var(--jobs-muted); font-size: 11px; }
.job-summary-wrap { position: relative; z-index: 2; background: var(--jobs-background); padding-top: 24px; }
.job-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.job-summary > div { min-width: 0; min-height: 92px; display: grid; grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: auto auto; align-content: center; column-gap: 13px; padding: 18px 20px; border: 1px solid var(--jobs-border); border-radius: 16px; background: var(--jobs-surface); box-shadow: var(--ho-shadow-soft); }
.job-summary svg { box-sizing: content-box; grid-row: 1 / span 2; align-self: center; width: 20px; height: 20px; padding: 9px; border-radius: 11px; background: color-mix(in srgb, var(--jobs-accent) 9%, var(--jobs-surface)); color: var(--jobs-accent); }
.job-summary dt { align-self: end; color: var(--jobs-muted); font-size: 9px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.job-summary dd { min-width: 0; margin: 4px 0 0; color: var(--jobs-heading); font-size: 12px; font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }

/* Single job content */
.job-detail-content { background: var(--jobs-background); padding-block: 36px 66px; }.job-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; align-items: start; gap: 28px; }.job-detail-main { display: grid; min-width: 0; gap: 18px; }
.job-content-card, .job-company-card, .job-apply-card { border: 1px solid var(--jobs-border); border-radius: var(--jobs-radius-lg); background: var(--jobs-surface); padding: 28px; box-shadow: var(--ho-shadow-soft); }
.job-content-card h2, .job-company-card h2, .job-apply-card h2 { margin: 6px 0 17px; color: var(--jobs-heading); font-size: 26px; font-weight: 800; line-height: 1.2; letter-spacing: -.03em; }
.job-rich-text { max-width: 790px; color: var(--jobs-text); font-size: 14px; line-height: 1.82; white-space: normal; }.job-rich-text br + br { display: block; margin-top: 14px; content: ''; }
.job-skills { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }.job-skills li { min-height: 34px; display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; background: color-mix(in srgb, var(--jobs-success) 8%, var(--jobs-surface)); padding: 6px 10px; color: var(--jobs-success); font-size: 10px; font-weight: 750; }
.job-company-card__head { display: flex; align-items: center; gap: 15px; }.job-company-card__head h2 { margin-bottom: 4px; }.job-company-card > p { margin: 18px 0 0; color: var(--jobs-muted); font-size: 12px; line-height: 1.7; }.job-company-card__meta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 17px; color: var(--jobs-muted); font-size: 11px; font-weight: 650; }.job-company-card__meta :is(span, a) { display: inline-flex; align-items: center; gap: 6px; }.job-company-card__meta svg, .job-company-card__meta a { color: var(--jobs-accent); }.job-company-card > .ho-outline-button { margin-top: 19px; }
.job-share { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 5px 3px; }.job-share > strong { margin-right: 5px; color: var(--jobs-heading); font-size: 11px; }.job-share :is(button, a) { min-height: 34px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--jobs-border); border-radius: 999px; background: var(--jobs-surface); padding: 5px 10px; color: var(--jobs-accent); font-size: 10px; font-weight: 750; }
.job-apply-aside { position: sticky; top: 106px; }.job-apply-card > p { margin: -10px 0 14px; color: var(--jobs-muted); font-size: 11px; }.job-apply-card .jobs-salary { display: block; grid-column: auto; grid-row: auto; margin-top: 5px; white-space: normal; }.job-apply-card > ul { display: grid; gap: 0; margin: 20px 0 0; padding: 0; list-style: none; }.job-apply-card > ul li { display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--jobs-border); padding-block: 11px; color: var(--jobs-text); font-size: 11px; font-weight: 700; }.job-apply-card > ul svg { color: var(--jobs-accent); }.job-apply-card > .ho-gradient-button, .job-apply-card > .ho-outline-button { width: 100%; margin-top: 17px; }.job-apply-card > small { display: block; margin-top: 12px; color: var(--jobs-muted); font-size: 9px; text-align: center; }.job-safety-note { margin: 17px 0 0 !important; border-top: 1px solid var(--jobs-border); padding-top: 14px; color: var(--jobs-muted) !important; font-size: 9px !important; line-height: 1.55; }.job-expired-panel { margin-top: 17px; border-radius: var(--jobs-radius-sm); background: color-mix(in srgb, var(--jobs-muted) 7%, var(--jobs-surface)); padding: 14px; }.job-expired-panel strong { color: var(--jobs-heading); font-size: 12px; }.job-expired-panel p { margin: 4px 0 0; color: var(--jobs-muted); font-size: 10px; line-height: 1.5; }
.jobs-related-section { border-top: 1px solid var(--jobs-border); background: var(--jobs-surface); padding-block: 55px 64px; }.jobs-related-section + .jobs-related-section { padding-top: 0; border-top: 0; }.jobs-related-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 20px; }.jobs-related-heading h2 { margin: 5px 0 0; color: var(--jobs-heading); font-size: 31px; font-weight: 800; line-height: 1.15; letter-spacing: -.04em; }.jobs-related-heading > a { display: inline-flex; align-items: center; gap: 7px; color: var(--jobs-accent); font-size: 11px; font-weight: 800; }.jobs-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }.jobs-related-grid .jobs-card__link { min-height: 100%; display: flex; flex-direction: column; padding: 21px; }.jobs-related-grid .jobs-card__header { grid-template-columns: 52px minmax(0, 1fr); }.jobs-related-grid .jobs-company-logo { width: 52px; height: 52px; }.jobs-related-grid .jobs-card__identity h3 { font-size: 18px; }.jobs-related-grid .jobs-salary { margin-top: 17px; font-size: 15px; white-space: normal; }.jobs-related-grid .jobs-card__meta { margin-top: 13px; margin-bottom: 20px; }.jobs-related-grid .jobs-card__excerpt { display: none; }.jobs-related-grid .jobs-card__footer { margin-top: auto; padding-top: 16px; }.jobs-related-grid .jobs-card__footer > span { display: none; }
.job-mobile-apply { position: fixed; z-index: 60; right: 0; bottom: 0; left: 0; display: none; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; border-top: 1px solid var(--jobs-border); background: color-mix(in srgb, var(--jobs-surface) 96%, transparent); padding: 10px max(16px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); box-shadow: 0 -8px 24px color-mix(in srgb, var(--jobs-heading) 9%, transparent); backdrop-filter: blur(12px); }.job-mobile-apply .jobs-salary { min-width: 0; overflow: hidden; grid-column: auto; grid-row: auto; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.job-mobile-apply > a { min-height: 44px; display: inline-flex; align-items: center; border-radius: 999px; background: var(--ho-gradient); padding: 8px 17px; color: var(--jobs-surface); font-size: 11px; font-weight: 800; }

/* Motion */
.jobs-motion-ready [data-job-reveal] { opacity: 0; transform: translateY(12px); transition: opacity .42s ease, transform .42s ease; }.jobs-motion-ready [data-job-reveal].is-visible { opacity: 1; transform: none; }
.jobs-motion-ready .jobs-hero [data-job-reveal], .jobs-motion-ready .job-detail-hero [data-job-reveal] { opacity: 1; transform: none; }

@media (max-width: 1100px) {
    .jobs-hero__inner { grid-template-columns: 1fr; align-items: start; gap: 28px; }.jobs-hero__copy { max-width: 720px; }.jobs-hero-search { max-width: 850px; }
    .jobs-index-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 20px; }.jobs-card__link { grid-template-columns: 1fr; }.jobs-card .jobs-salary { grid-column: 1; grid-row: auto; margin-top: 18px; white-space: normal; }.job-detail-layout { grid-template-columns: minmax(0, 1fr) 310px; }.jobs-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .jobs-hero { padding-block: 42px 38px; }.jobs-hero__copy h1 { font-size: 40px; }.jobs-hero-search { grid-template-columns: 1fr 1fr; }.jobs-hero-search > button { grid-column: 1 / -1; }
    .jobs-filters-column { display: none; }.jobs-index-layout { grid-template-columns: 1fr; }.jobs-mobile-filter-button { display: inline-flex; }.jobs-results { padding-block: 35px 58px; }
    .job-detail-hero__grid { grid-template-columns: 1fr; gap: 28px; }.job-detail-hero__apply { min-width: 0; border-top: 1px solid var(--jobs-border); border-left: 0; padding: 23px 0 0; }.job-detail-hero__apply .ho-gradient-button, .job-detail-hero__apply .ho-outline-button { min-width: 0; }.job-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .job-detail-content { padding-block: 32px 56px; }.job-detail-layout { grid-template-columns: 1fr; }.job-apply-aside { position: static; }.jobs-related-grid { grid-template-columns: 1fr 1fr; }.job-mobile-apply { display: grid; }.jobs-single-page .ho-footer { padding-bottom: 76px; }
}

@media (max-width: 560px) {
    .jobs-hero { padding-block: 34px 31px; }.jobs-hero__inner { gap: 23px; }.jobs-hero__copy h1 { font-size: 34px; }.jobs-hero__copy p { font-size: 13px; }.jobs-hero-search { grid-template-columns: 1fr; gap: 14px; border-radius: 17px; padding: 12px; }.jobs-hero-search > button { grid-column: auto; width: 100%; }.jobs-system .jobs-hero-search .jobs-field :is(input:not([type="checkbox"]):not([type="radio"]), select) { font-size: 16px; }
    .jobs-results__toolbar { align-items: flex-start; flex-direction: column; }.jobs-toolbar__actions { width: 100%; justify-content: space-between; }.jobs-sort label { display: none; }.jobs-active-filters { margin-bottom: 19px; }
    .jobs-card__link { min-height: 0; padding: 19px; }.jobs-card__header { grid-template-columns: 52px minmax(0, 1fr); gap: 12px; }.jobs-company-logo { width: 52px; height: 52px; border-radius: 13px; }.jobs-card__identity h2, .jobs-card__identity h3 { font-size: 20px; }.jobs-card__meta { gap: 6px; margin-top: 16px; }.jobs-card__excerpt { font-size: 11px; }.jobs-card__footer { align-items: flex-end; }.jobs-card__footer > span { max-width: 65%; line-height: 1.45; }
    .jobs-empty { min-height: 330px; }.jobs-empty h2 { font-size: 22px; }.jobs-filter-dialog { width: calc(100% - 16px); max-height: 92vh; }.jobs-filter-dialog__head { padding: 16px; }.jobs-filter-panel--mobile { padding: 17px; }
    .job-detail-hero { padding-block: 21px 34px; }.jobs-breadcrumbs { margin-bottom: 23px; }.jobs-company-logo--large { width: 60px; height: 60px; }.job-detail-badges { margin-top: 21px; }.job-detail-hero h1 { font-size: 35px; }.job-detail-meta-line { display: grid; grid-template-columns: 1fr 1fr; }.job-detail-hero__apply .jobs-salary { font-size: 19px; }.job-detail-hero__apply .ho-gradient-button, .job-detail-hero__apply .ho-outline-button { width: 100%; }
    .job-summary-wrap { padding-top: 16px; }.job-summary { grid-template-columns: 1fr; gap: 9px; }.job-summary > div { min-height: 82px; padding: 15px 17px; }.job-content-card, .job-company-card, .job-apply-card { border-radius: 17px; padding: 21px; }.job-content-card h2, .job-company-card h2, .job-apply-card h2 { font-size: 22px; }.job-rich-text { font-size: 13px; }.job-company-card__head { align-items: flex-start; }.job-company-card__head h2 { font-size: 20px; }.job-company-card > .ho-outline-button { width: 100%; }.job-share > strong { width: 100%; }
    .jobs-related-heading { align-items: flex-start; flex-direction: column; }.jobs-related-heading h2 { font-size: 27px; }.jobs-related-grid { grid-template-columns: 1fr; }.jobs-related-section { padding-block: 46px 54px; }
}

@media (prefers-reduced-motion: reduce) {
    .jobs-system *, .jobs-system *::before, .jobs-system *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
    .jobs-motion-ready [data-job-reveal] { opacity: 1; transform: none; }
}
