/* Card presentation only. Plan colours describe existing frozen entitlements. */
.mjc-card { --mjc-plan:var(--theme-primary-bg,#174c3d); --mjc-accent:color-mix(in srgb,var(--mjc-plan) 75%,var(--theme-primary-bg,#174c3d)); --mjc-soft:color-mix(in srgb,var(--mjc-accent) 9%,var(--theme-surface,#fff)); --mjc-ink:var(--theme-heading,#17251f); }
.mjc--home { --mjc-plan:#007c66; }
.mjc--portal { --mjc-plan:#a55200; }
.mjc--both { --mjc-plan:#7040b7; }
.mjc--express { --mjc-plan:#bd3052; }
.mjc--home-express { --mjc-plan:#00768b; }
.mjc--portal-express { --mjc-plan:#b33c14; }
.mjc--both-express { --mjc-plan:#9c287d; }
.mjc--contact { --mjc-plan:#006b4f; }
.mjc-card *, .mjc-card *::before, .mjc-card *::after { box-sizing:border-box; }
.jobs-runtime .jm-card.mjc-card,.mabapu-priority .mp-card.mjc-card { position:relative; isolation:isolate; padding:0; overflow:hidden; border:1px solid color-mix(in srgb,var(--mjc-accent) 50%,var(--theme-border,#d9dfd6)); border-left:4px solid var(--mjc-accent); border-radius:18px; background:var(--theme-surface,#fff); box-shadow:0 5px 18px #00000008; min-width:0; }
.jobs-runtime .jm-card.mjc-card::before,.jobs-runtime .jm-card.mjc-card::after { display:none; }
.mjc-photo { position:absolute; z-index:0; inset:0; overflow:hidden; pointer-events:none; }
.mjc-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,color-mix(in srgb,var(--theme-surface,#fff) 96%,transparent),color-mix(in srgb,var(--theme-surface,#fff) 83%,transparent) 56%,color-mix(in srgb,var(--theme-surface,#fff) 72%,transparent)),linear-gradient(0deg,color-mix(in srgb,var(--mjc-soft) 60%,transparent),transparent); pointer-events:none; }
.mjc-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:65% 35%; }
.mjc-category { display:flex; align-items:center; gap:6px; margin:0 0 10px; color:var(--theme-text-muted,#56655e); font:650 10px/1.4 system-ui,sans-serif; letter-spacing:.035em; text-transform:uppercase; overflow-wrap:anywhere; }
.mjc-category svg { width:14px; height:14px; flex:none; fill:none; stroke:var(--mjc-accent); stroke-width:1.8; }
.mjc-body { position:relative; z-index:1; display:flex; flex:1; flex-direction:column; min-width:0; padding:16px; color:var(--theme-text,#1f2937); background:transparent; }
.mjc-top-meta { min-width:0; display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.mjc-benefits { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:0 0 10px; min-width:0; }
.mjc-benefits:empty { display:none; }
.mjc-benefit { display:inline-flex; align-items:center; gap:5px; max-width:100%; min-height:26px; padding:4px 7px; border-radius:6px; background:var(--mjc-soft); color:var(--mjc-ink); border:1px solid color-mix(in srgb,var(--mjc-accent) 22%,transparent); font:700 10px/1.35 system-ui,sans-serif; overflow-wrap:anywhere; }
.mjc-benefit svg { width:12px; height:12px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; }
.mjc-card .mjc-benefit--contact { background:var(--theme-accent-bg,#f5ecd7); color:var(--theme-accent-text,#38250d); border-color:var(--theme-icon-border,#ad832e); }
.mjc-card .mjc-benefit--express { background:var(--theme-primary-bg,#174c3d); color:var(--theme-primary-text,#fff); border-color:var(--mjc-accent); }
.jobs-runtime .mjc-card .jm-card-top { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 12px; }
.jobs-runtime .mjc-card .jm-card-top .mjc-benefits { margin:0; }
.jobs-runtime .mjc-card .jm-badge { min-height:25px; padding:4px 7px; font:650 10px/1.3 system-ui,sans-serif; letter-spacing:0; white-space:normal; max-width:100%; }
.jobs-runtime .mjc-card .jm-age { margin-left:auto; font:500 10px/1.4 system-ui,sans-serif; white-space:normal; }
.jobs-runtime .mjc-card .jm-card-heading { gap:10px; margin:0 0 12px; }
.jobs-runtime .mjc-card .jm-logo { width:38px; height:38px; flex-basis:38px; border-radius:10px; box-shadow:none; color:var(--mjc-ink); background:var(--theme-surface,#fff); }
.jobs-runtime .mjc-card h3,.mabapu-priority .mjc-card h4 { margin:0 0 5px; font:650 clamp(20px,2vw,24px)/1.25 var(--job-serif,Georgia,serif); color:var(--theme-heading,#17251f); overflow-wrap:anywhere; }
.jobs-runtime .mjc-card .jm-employer { font:550 12px/1.45 system-ui,sans-serif; white-space:normal; overflow:visible; overflow-wrap:anywhere; }
.jobs-runtime .mjc-card .jm-location { font:500 12px/1.5 system-ui,sans-serif; margin:0 0 12px; overflow-wrap:anywhere; }
.jobs-runtime .mjc-card .jm-location svg { color:var(--mjc-accent); }
.jobs-runtime .mjc-card .jm-card-roles { font:500 11px/1.5 system-ui,sans-serif; margin:0 0 12px; gap:4px 7px; }
.jobs-runtime .mjc-card .jm-card-insights { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:8px; margin:0 0 14px; }
.jobs-runtime .mjc-card :is(.jm-pay-panel,.jm-skill-panel) { padding:10px; border-radius:10px; background:color-mix(in srgb,var(--theme-surface,#fff) 84%,transparent); border-color:color-mix(in srgb,var(--mjc-accent) 18%,var(--theme-border,#d9dfd6)); }
.jobs-runtime .mjc-card .jm-insight-label { font:650 10px/1.3 system-ui,sans-serif; text-transform:none; letter-spacing:0; }
.jobs-runtime .mjc-card .jm-insight-label svg { color:var(--mjc-accent); }
.jobs-runtime .mjc-card .jm-pay-value { color:var(--mjc-ink); font:750 17px/1.35 system-ui,sans-serif; overflow-wrap:anywhere; }
.jobs-runtime .mjc-card .jm-skill { max-width:100%; color:var(--theme-text,#1f2937); background:var(--theme-surface-muted,#f5f2eb); border-color:var(--theme-border,#d9dfd6); overflow-wrap:anywhere; font:500 11px/1.4 system-ui,sans-serif; }
.jobs-runtime .mjc-card .jm-card-footer { display:flex; flex-direction:column; align-items:stretch; gap:10px; padding-top:12px; }
.jobs-runtime .mjc-card .jm-type { font:550 11px/1.4 system-ui,sans-serif; overflow-wrap:anywhere; }
.jobs-runtime .mjc-card .jm-type::before { box-shadow:none; background:var(--mjc-accent); flex:none; }
.jobs-runtime .mjc-card .jm-card-actions { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:8px; width:100%; }
.jobs-runtime .mjc-card :is(.jm-qr-trigger,.jm-card-link) { width:100%; min-width:0; min-height:46px; padding:8px; border-radius:10px; font:700 12px/1.4 system-ui,sans-serif; white-space:normal; overflow-wrap:anywhere; }
.jobs-runtime .mjc-card .jm-card-link,.mabapu-priority .mjc-card .mp-apply { background:var(--theme-primary-bg,#174c3d); color:var(--theme-primary-text,#fff); }
.jobs-runtime .mjc-card .jm-card-link:hover,.mabapu-priority .mjc-card .mp-apply:hover { background:var(--theme-primary-hover-bg,#123e32); color:var(--theme-primary-hover-text,#fff); box-shadow:none; }
.jobs-runtime .mjc-card .jm-card-link svg { flex:none; }
.jobs-runtime .mjc-card .jm-qr-lens-icon { color:var(--mjc-accent); }
.jobs-runtime .mjc-card .jm-qr-copy { min-width:0; }
.jobs-runtime .mjc-card .jm-qr-btn-title { font-size:12px; }
.jobs-runtime .mjc-card .jm-qr-btn-sub { font-size:9px; }
.mabapu-priority .mjc-card .mp-card-meta { flex-wrap:wrap; gap:4px 8px; margin-bottom:9px; }
.mabapu-priority .mjc-card .mp-role { display:none; }
.mabapu-priority .mjc-card .mp-employer,.mabapu-priority .mjc-card .mp-location { font-size:12px; line-height:1.5; }
.mjc-specialties { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; min-width:0; }
.mjc-specialties > span { max-width:100%; padding:4px 7px; border:1px solid var(--theme-border,#d9dfd6); border-radius:7px; background:color-mix(in srgb,var(--theme-surface,#fff) 86%,transparent); color:var(--theme-text,#1f2937); font:500 11px/1.4 system-ui,sans-serif; overflow-wrap:anywhere; }
.mabapu-priority .mjc-card .mp-card-foot { display:grid; grid-template-columns:1fr; gap:12px; padding-top:14px; }
.mabapu-priority .mjc-card .mp-pay strong { font-size:16px; color:var(--mjc-ink); }
.mabapu-priority .mjc-card .mp-pay > span { font-size:11px; }
.mabapu-priority .mjc-card .mp-apply { width:100%; min-height:46px; border-radius:10px; min-width:0; white-space:normal; overflow-wrap:anywhere; font-size:12px; }
.mjc-card a:focus-visible,.mjc-card button:focus-visible { outline:3px solid var(--theme-focus,#005fcc); outline-offset:-3px; }
@media(max-width:767px) { .mjc-body { padding:13px; } }
@media(max-width:359px) { .jobs-runtime .mjc-card .jm-card-insights { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .mjc-card,.mjc-card a,.mjc-card button { transition:none !important; } }
