/* Shared by home and the hiring portal. Colours follow the admin theme. */
.mabapu-priority { margin:24px 0 32px; scroll-margin-top:100px; border:1px solid var(--theme-border,#d9dfd6); border-radius:24px; overflow:hidden; background:var(--theme-surface,#fff); color:var(--theme-text,#1f2937); box-shadow:0 10px 30px #0000000a; }
.mabapu-priority * { box-sizing:border-box; }
.mp-hero { position:relative; isolation:isolate; display:flex; justify-content:flex-end; min-height:310px; background:var(--theme-hero-bg,#123e32); }
.mp-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:25% 20%; z-index:-2; }
.mp-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--theme-hero-bg,#123e32) 50%,transparent) 40%,var(--theme-hero-bg,#123e32) 78%); }
.mp-copy { width:52%; padding:28px 36px 30px; color:var(--theme-hero-text,#fff8e9); }
.mp-brand { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; font:600 19px/1.3 Georgia,serif; }
.mp-brand > span { font:500 10px/1.4 system-ui,sans-serif; letter-spacing:.05em; opacity:.85; }
.mp-kicker { display:flex; align-items:center; gap:8px; font:650 10px/1.4 system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; margin:24px 0 10px; color:var(--theme-hero-muted,#f0e7d8); }
.mp-kicker > span { width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px #ffffff14; }
.mabapu-priority .mp-copy h2 { margin:0; color:inherit; font:500 clamp(27px,3.2vw,42px)/1.1 Georgia,serif; letter-spacing:-.025em; }
.mp-copy p { margin:12px 0 16px; max-width:330px; color:var(--theme-hero-muted,#f0e7d8); font:400 12px/1.65 system-ui,sans-serif; }
.mp-inventory { display:inline-flex; align-items:center; gap:24px; font:600 12px/1.4 system-ui,sans-serif; }
.mp-inventory > span { font-size:21px; }
.mp-vacancies { padding:20px 24px 16px; }
.mp-list-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.mp-list-heading h3 { margin:0; font:500 20px/1.3 Georgia,serif; color:var(--theme-heading,#17251f); }
.mp-track { display:flex; gap:14px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:2px 1px 4px; }
.mp-track::-webkit-scrollbar { display:none; }
.mp-card { min-width:0; flex:0 0 calc((100% - 14px)/2); display:flex; flex-direction:column; padding:16px 18px; border:1px solid var(--theme-border,#d9dfd6); border-radius:14px; background:var(--theme-surface,#fff); scroll-snap-align:start; }
.mp-card--free-contact { border-color:color-mix(in srgb,var(--theme-primary-bg,#174c3d) 38%,var(--theme-border,#d9dfd6)); }
.mp-slider-controls { display:flex; align-items:center; gap:4px; }
.mp-slider-controls[hidden] { display:none; }
.mp-slider-controls button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--theme-border,#d9dfd6); border-radius:50%; background:var(--theme-surface,#fff); color:var(--theme-heading,#17251f); cursor:pointer; }
.mp-slider-controls svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
.mp-slider-controls .mp-slider-motion { width:auto; padding:0 10px; border:0; border-radius:8px; font:600 10px/1.4 system-ui,sans-serif; color:var(--theme-text-muted,#56655e); }
.mp-slider-controls button:hover { background:var(--theme-surface-muted,#f5f2eb); }
.mp-slider-note { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; color:var(--theme-text-muted,#56655e); font:500 10px/1.4 system-ui,sans-serif; }
.mp-card-meta { display:flex; justify-content:space-between; gap:10px; align-items:center; color:var(--theme-text-muted,#56655e); font:500 10px/1.5 system-ui,sans-serif; }
.mp-role { min-width:0; }
.mp-card time { flex:none; }
.mp-card h4 { margin:10px 0 5px; font:600 23px/1.25 Georgia,serif; overflow-wrap:anywhere; }
.mp-card h4 a { color:var(--theme-heading,#17251f); text-decoration:none; }
.mp-employer,.mp-location { margin:0; font:500 11px/1.55 system-ui,sans-serif; color:var(--theme-text-muted,#56655e); overflow-wrap:anywhere; }
.mp-location { font-weight:400; }
.mp-card-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:14px; }
.mp-pay { display:grid; gap:3px; min-width:0; }
.mp-pay strong { font:650 12px/1.5 system-ui,sans-serif; overflow-wrap:anywhere; color:var(--theme-heading,#17251f); }
.mp-pay > span { font:400 10px/1.4 system-ui,sans-serif; color:var(--theme-text-muted,#56655e); }
.mp-apply { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:8px 14px; border-radius:999px; background:var(--theme-primary-bg,#174c3d); color:var(--theme-primary-text,#fff); font:600 11px/1.4 system-ui,sans-serif; text-decoration:none; flex:none; }
.mp-apply:hover { background:var(--theme-primary-hover-bg,#123e32); color:var(--theme-primary-hover-text,#fff); }
.mp-benefits { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; font:650 10px/1.4 system-ui,sans-serif; }
.mp-benefits:empty { display:none; }
.mp-benefit { display:inline-flex; align-items:center; gap:5px; min-height:26px; padding:4px 8px; border:1px solid var(--theme-border,#d9dfd6); border-radius:999px; }
.mp-benefit svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; }
.mp-benefit--contact { color:var(--theme-primary-text,#fff); background:var(--theme-primary-bg,#174c3d); border-color:var(--theme-primary-bg,#174c3d); }
.mp-benefit--express { background:var(--theme-accent-bg,#f5ecd7); color:var(--theme-accent-text,#38250d); border-color:var(--theme-icon-border,#ad832e); }
.mp-benefit--pin { background:var(--theme-surface-muted,#f5f2eb); color:var(--theme-text-muted,#56655e); }
.mabapu-priority a:focus-visible,.mp-slider-controls button:focus-visible,.mp-track:focus-visible,.job-priority-shortcut:focus-visible { outline:3px solid var(--theme-focus,#005fcc); outline-offset:-3px; }
/* One joined dock companion, not an additional floating controller. */
.job-priority-shortcut { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:32px; padding:4px 14px; text-decoration:none; font:600 11px/1.4 system-ui,sans-serif; background:var(--theme-hero-bg,#123e32); color:var(--theme-hero-text,#fff8e9); }
.job-priority-shortcut > span { display:flex; align-items:center; gap:8px; }
.job-priority-shortcut i { height:5px; width:5px; border-radius:50%; background:currentColor; }
.job-priority-shortcut b { font-size:15px; font-weight:400; }
.job-workspace-companion .job-workspace-actions { display:flex; gap:8px; padding:5px 8px; background:var(--theme-surface,#fff); }
.job-workspace-companion .job-workspace-link { flex:1; min-width:0; min-height:44px; padding:6px 8px; border-radius:9px; display:inline-flex; justify-content:center; align-items:center; gap:6px; font:650 12px/1.3 system-ui,sans-serif; text-decoration:none; color:var(--theme-heading,#17251f); border:1px solid var(--theme-border,#d9dfd6); }
.job-workspace-companion .job-workspace-post { background:var(--theme-primary-bg,#174c3d); color:var(--theme-primary-text,#fff); border-color:var(--theme-primary-bg,#174c3d); }
.job-workspace-companion .job-workspace-link svg { width:17px; height:17px; }
@media(max-width:767px) {
    .mabapu-priority { border-radius:18px; margin:18px 0 24px; }
    .mp-hero { min-height:340px; justify-content:flex-start; align-items:flex-end; }
    .mp-photo { object-position:26% 20%; }
    .mp-hero::before { background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--theme-hero-bg,#123e32) 15%,transparent) 22%,var(--theme-hero-bg,#123e32) 67%); }
    .mp-copy { width:100%; padding:116px 22px 22px; }
    .mp-brand { font-size:17px; }
    .mp-kicker { margin:16px 0 8px; }
    .mabapu-priority .mp-copy h2 { font-size:30px; }
    .mp-copy p { margin:10px 0; font-size:11px; }
    .mp-inventory { font-size:11px; }
    .mp-vacancies { padding:18px 14px 10px; }
    .mp-list-heading h3 { font-size:18px; }
    .mp-track { gap:10px; }
    .mp-card { flex-basis:calc(100% - 20px); padding:14px; }
    .mp-card h4 { font-size:21px; margin-top:8px; }
    .mp-card-foot { padding-top:10px; }
}
@media print { .job-priority-shortcut { display:none; } }
