/* Company profile: the approved JobsFor directory composition. */
.single-company { --profile-ink:#102343; --profile-muted:#596b85; --profile-line:#e1e9f1; --profile-tint:#f2f8fd; --profile-accent:#009dce; background:#f7fafc; }
.single-company .jf-company-profile.container { width:100% !important; max-width:1168px !important; padding:0 24px !important; margin:24px auto 64px; color:var(--profile-ink); }
.single-company .jf-company-profile__hero { display:block; margin:20px 0 28px; padding:28px; background:#fff; border:1px solid var(--profile-line); border-radius:12px; box-shadow:none; }
.single-company .jf-company-profile__hero .company-data { display:grid; grid-template-columns:96px minmax(0,1fr) 230px; gap:24px; width:100%; align-items:center; }
.single-company .jf-company-profile__cover { margin:-28px -28px 0; aspect-ratio:4 / 1; overflow:hidden; border-radius:12px 12px 0 0; background:var(--profile-tint); }
.single-company .jf-company-profile__cover img { display:block; width:100%; height:100%; object-fit:cover; }
.single-company .jf-company-profile__hero .company-data--with-cover { position:relative; padding-top:24px; align-items:start; }
.single-company .company-data--with-cover .jf-company-profile__logo-wrap { margin-top:-56px; padding:4px; background:white; border-radius:50%; box-sizing:content-box; }
.single-company .company-data--with-cover .company-logo, .single-company .company-data--with-cover .company-logo img { border-radius:50%; }
@media(max-width:760px) { .single-company .jf-company-profile__cover { margin:-20px -20px 0; } .single-company .company-data--with-cover .jf-company-profile__logo-wrap { margin-top:-44px; } }
.single-company .jf-company-profile__hero .company-logo { width:96px; height:96px; margin:0; padding:0; border:0; background:transparent; }
/* Positioning context for the claimed checkmark below - deliberately on
   this wrapping span, not .company-logo itself, since that div has
   overflow:hidden (directory.css) which would clip a badge overlapping
   its corner. */
.single-company .jf-company-profile__hero .jf-company-profile__logo-wrap { position:relative; display:block; }
/* Verified-style checkmark overlapping the logo corner, matching the
   Business Directory card treatment (directory-browse.css's
   .jfdir-card__claim-check) - same signature, same reasoning. */
.single-company .jf-company-profile__hero .jf-company-profile__logo-claim-check { position:absolute; right:-2px; bottom:-2px; width:26px; height:26px; border-radius:50%; background:var(--profile-accent); border:3px solid #fff; color:#fff; display:flex; align-items:center; justify-content:center; }
.single-company .company-logo img { width:100%; height:100%; object-fit:contain; border-radius:20px; }
.single-company .jf-company-profile__hero .company-title { font-size:34px; line-height:1.2; letter-spacing:-1px; color:var(--profile-ink); margin:0 0 8px; }
.single-company .jf-company-profile__eyebrow { font-size:12px; color:var(--profile-muted); margin:0 0 8px; }
.single-company .jf-company-profile__summary { display:grid; grid-template-columns:1fr; gap:6px; min-width:0; background:none; border:0; border-left:1px solid var(--profile-line); border-radius:0; padding:0 0 0 24px; text-align:center; }
.single-company .jf-company-profile__summary strong { font-size:36px; color:var(--profile-ink); }
.single-company .jf-company-profile__summary span { font-size:14px; font-weight:400; }
.single-company .jf-company-profile__jobs-link { margin:10px 0 0; font-size:14px; }
.single-company .jf-company-profile__layout { display:grid; grid-template-columns:minmax(0, 1fr) 360px; gap:24px; align-items:start; }
.single-company .jf-company-profile__aside { position:static; min-width:0; }
.single-company .jf-company-profile__section { background:#fff; padding:24px; border:1px solid var(--profile-line); border-radius:12px; margin:0 0 24px; }
.single-company .jf-company-profile__section > h2 { font-size:24px; line-height:1.3; letter-spacing:-.5px; color:var(--profile-ink); margin:0 0 20px; }
.single-company .jf-profile-jobs { display:grid !important; grid-template-columns:1fr !important; gap:12px; padding:0; margin:0 !important; border:0; }
.single-company .mas-company-jobs ul.jf-profile-jobs > li { list-style:none; padding:0; margin:0 !important; width:100%; border:0; background:none; box-shadow:none; }
.single-company .mas-company-jobs ul.jf-profile-jobs > li > a { display:flex; align-items:center; gap:16px; padding:18px !important; margin:0; border:1px solid var(--profile-line); border-radius:10px !important; background:#fff; box-shadow:none; width:100%; box-sizing:border-box; }
.single-company .jf-profile-job img { position:static; width:52px; height:52px; flex:0 0 52px; object-fit:contain; border-radius:12px; }
.single-company .jf-profile-job__body { flex:1; min-width:0; }
.single-company .jf-profile-job__body > strong { display:block; color:var(--profile-ink); font-size:16px; line-height:1.45; font-weight:700; }
.single-company .jf-profile-job__meta { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; color:var(--profile-muted); font-size:13px; margin-top:8px; }
.single-company .jf-profile-job__meta .job-type { float:none; margin:0; background:#e8f6fd; color:#006aab; font-size:12px; line-height:22px; padding:0 12px; border-radius:20px; }
.single-company .jf-profile-job__arrow { font-size:26px; color:var(--profile-muted); }
.single-company .mas-company-jobs ul.jf-profile-jobs > li > a:hover { background:var(--profile-tint); border-color:#9fcfe4; }
.single-company .jf-company-profile a:focus-visible,.single-company .jf-company-profile button:focus-visible,.single-company .jf-company-profile input:focus-visible { outline:3px solid #007cad; outline-offset:3px; }
.single-company .jf-company-profile__trust { gap:24px; margin:0 0 24px; }
.single-company .jf-company-profile__trust .jfdir-claim-section { padding:24px; border:1px solid var(--profile-line); border-radius:12px; background:var(--profile-tint); box-shadow:none; }
.single-company .jf-company-profile .jfdir-badge { width:fit-content; font-size:12px; border-radius:20px; padding:4px 10px; }
/* 2026-09-15 (user request): the "Pays Employee Referral Bonus" badge reads
   as a plain text line next to the ABN line, not a pill - no padding, and
   14px to match .jfdir-public-abn. Scoped here (same specificity as the rule
   above, placed after it) because this stylesheet loads after directory.css
   and would otherwise override its generic .jfdir-badge--referral rule. */
.single-company .jf-company-profile .jfdir-badge--referral { padding:0; font-size:14px; }
.single-company .jf-company-profile .jfdir-claim-paywall { display:flex; flex-direction:column; padding:0; margin:18px 0 0; border:0; background:none; box-shadow:none; }
.single-company .jfdir-claim-paywall__title { order:-3; font-size:25px; line-height:1.25; letter-spacing:-.6px; color:var(--profile-ink); margin:0 0 20px; }
.single-company .jfdir-claim-paywall__price { order:-2; color:var(--profile-ink); margin:0 0 4px; }
.single-company .jfdir-claim-paywall__price strong { font-size:38px; line-height:1.2; }
.single-company .jfdir-claim-paywall__eyebrow { order:-1; margin:0 0 16px; }
.single-company .jfdir-claim-paywall__eyebrow span { background:none; color:var(--profile-muted); padding:0; text-transform:none; font-size:14px; font-weight:500; }
.single-company .jfdir-claim-paywall__lede { font-size:14px; line-height:1.6; color:var(--profile-muted); }
.single-company .jfdir-claim-paywall__grid { display:grid; grid-template-columns:1fr; gap:22px; margin:24px 0; }
.single-company .jfdir-claim-paywall__item { display:grid; grid-template-columns:44px minmax(0,1fr); gap:3px 12px; border:0; background:none; padding:0; }
.single-company .jfdir-claim-paywall__icon { grid-row:1 / 3; width:44px; height:44px; margin:0; border-radius:50%; background:#fff; color:#008ac0; }
.single-company .jfdir-claim-paywall__item strong { font-size:14px; color:var(--profile-ink); }
.single-company .jfdir-claim-paywall__item > span:not(.jfdir-claim-paywall__icon) { font-size:13px; color:var(--profile-muted); }
.single-company .jfdir-claim-paywall__cta-row { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
.single-company .jfdir-claim-paywall__cta-row .btn { white-space:normal; text-align:center; min-height:44px; padding:12px; border-radius:8px; background:var(--profile-accent); }
.single-company .jfdir-claim-paywall__reassurance { font-size:12px; text-align:center; }
.single-company .jf-company-profile__trust .jfdir-impact,.single-company .jf-company-profile__aside .widget { padding:24px; border:1px solid var(--profile-line); border-radius:12px; background:#fff; box-shadow:none; }
.single-company .jfdir-impact__title { font-size:22px; margin:0 0 20px; color:var(--profile-ink); }
.single-company .jfdir-impact__grid { grid-template-columns:1fr; }
.single-company .jfdir-impact__value { font-size:36px; line-height:1.2; color:var(--profile-ink); }
.single-company .jfdir-impact__label { font-size:14px; }
.single-company .jfdir-impact__hint { font-size:14px; color:var(--profile-muted); margin-top:12px; }
.single-company .jf-company-profile__secondary-actions { margin:0 0 24px; }
.single-company .jf-company-profile__secondary-actions > div { padding:20px !important; border:1px solid var(--profile-line) !important; border-radius:12px; background:var(--profile-tint); }
.single-company .jf-company-profile__reviews .comment-respond { margin:0; }
.single-company .jf-company-profile__reviews .comment-reply-title { font-size:22px; color:var(--profile-ink); }
.single-company .jf-company-profile__reviews #commentform { padding:0; border:0; box-shadow:none; background:none; }
.single-company .jf-company-profile__reviews #commentform textarea { min-height:150px; }
@media(max-width:960px) {
 .single-company .jf-company-profile__layout { grid-template-columns:minmax(0,1fr) 320px; gap:20px; }
 .single-company .jf-company-profile__hero .company-data { grid-template-columns:80px minmax(0,1fr); }
 .single-company .jf-company-profile__summary { grid-column:1 / -1; border-left:0; border-top:1px solid var(--profile-line); padding:16px 0 0; display:flex; align-items:center; gap:16px; }
 .single-company .jf-company-profile__jobs-link { margin:0 0 0 auto; }
}
@media(max-width:760px) {
 .single-company .jf-company-profile.container { width:100% !important; padding:0 16px !important; margin-top:16px; }
 .single-company .jf-company-profile__layout { grid-template-columns:1fr; }
 .single-company .jf-company-profile__hero { padding:20px; }
 .single-company .jf-company-profile__hero .company-data { grid-template-columns:64px minmax(0,1fr); gap:16px; }
 .single-company .jf-company-profile__hero .company-logo { width:64px; height:64px; }
 .single-company .jf-company-profile__hero .company-title { font-size:27px; }
 .single-company .jf-company-profile__section { padding:18px; }
 .single-company .jf-company-profile__summary { flex-wrap:wrap; }
 .single-company .jf-company-profile__summary strong { font-size:28px; }
 .single-company .jf-company-profile__summary span { font-size:13px; }
 .single-company .jf-company-profile__jobs-link { padding:10px 12px; }
 .single-company .mas-company-jobs ul.jf-profile-jobs > li > a { gap:12px; padding:14px !important; }
 .single-company .jf-profile-job img { width:42px; height:42px; flex-basis:42px; }
 .single-company .jf-profile-job__body > strong { font-size:15px; }
}

.single-company .jf-company-profile .mas-company-jobs > h2 { font-size:24px; color:var(--profile-ink); }
.single-company .jf-company-profile .jf-company-profile__hero { box-shadow:none; border-radius:12px; }
.single-company .jf-company-profile__rating { color:var(--profile-muted); }
.single-company .mas-company-jobs .jf-profile-job img.company_logo { padding:0 !important; margin:0 !important; width:52px !important; height:52px !important; max-width:52px; border:0; background:none; box-shadow:none; }
@media(max-width:760px) { .single-company .mas-company-jobs .jf-profile-job img.company_logo { width:42px !important; height:42px !important; max-width:42px; } }
.single-company .jfdir-claim-paywall__item { min-height:0; }
.single-company .jfdir-claim-paywall__item strong, .single-company .jfdir-claim-paywall__item > span { line-height:1.5; }
.single-company .jf-company-profile__reviews .jfdir-suggestion-prompt { margin:16px 0; }
/* #commentform beats a plain class selector on specificity alone (1 ID > any
   number of classes) - directory.css's ".jf-company-profile__reviews #commentform p"
   reset was winning over a 4-class selector here regardless of load order,
   so this one matches that ID to actually win. Same recurring specificity
   trap as the Elementor typography fix elsewhere in this codebase. */
.single-company .jf-company-profile__reviews #commentform .jfdir-suggestion-prompt p { margin:0 0 15px; }
.single-company .jf-company-profile__reviews #commentform .jfdir-suggestion-prompt p:last-child { margin-bottom:0; }
.single-company .jf-company-profile__reviews #respond { padding:0; }
.single-company #open-positions { scroll-margin-top:100px; }
/* Future-jobs register button (2026-09-18): the vendor .btn paint lands
   dark text on bright blue - solid profile-accent with white text. */
.single-company .jfdir-future-interest__form .btn { width:100%; min-height:44px; padding:12px; border-radius:8px; border:1px solid var(--profile-accent); background:var(--profile-accent); color:#fff; font-weight:700; white-space:normal; text-align:center; }
.single-company .jfdir-future-interest__form .btn:hover { background:#008ac0; border-color:#008ac0; color:#fff; }
.single-company .jf-company-profile__jobs-link:hover, .single-company .jf-company-profile__jobs-link:focus { background:#007fa9; color:#fff; }
.single-company #company-feedback { scroll-margin-top:100px; }
/* Company job explorer: one action, a complete filterable company list. */
.single-company .jf-jobs-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.single-company .jf-jobs-heading h2 { margin:0; font-size:24px; color:var(--profile-ink); line-height:1.3; }
.single-company .jf-jobs-open,.single-company .jf-jobs-reset { background:transparent; color:#00688c; border:0; font:inherit; font-weight:700; padding:10px 8px; min-height:44px; cursor:pointer; }
.single-company .jf-jobs-open { white-space:nowrap; }
.single-company .jf-jobs-open:hover,.single-company .jf-jobs-reset:hover { background:#e8f6fd; border-radius:6px; }
.single-company [data-company-job-explorer] [hidden],.single-company .jf-jobs-dialog [hidden] { display:none !important; }
.jf-jobs-modal-open { overflow:hidden; }
.single-company dialog.jf-jobs-dialog { width:min(1120px, calc(100vw - 64px)); max-width:none; height:min(820px, calc(100dvh - 64px)); max-height:none; padding:0; margin:auto; border:1px solid #dce6ef; border-radius:16px; background:#fff; color:#102343; box-shadow:0 24px 80px #071c3540; overflow:hidden; }
.single-company .jf-jobs-dialog[open] { display:flex; flex-direction:column; }
.single-company .jf-jobs-dialog::backdrop { background:rgb(7 20 40 / .62); }
.single-company .jf-jobs-dialog__header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 28px; border-bottom:1px solid #e1e9f1; }
.single-company .jf-jobs-dialog__header p { font-size:12px; text-transform:uppercase; letter-spacing:.8px; color:#596b85; margin:0 0 4px; }
.single-company .jf-jobs-dialog__header h2 { margin:0; font-size:28px; line-height:1.3; color:#102343; }
.single-company .jf-jobs-close { flex:0 0 44px; width:44px; height:44px; background:#f2f6fa; border:0; border-radius:50%; color:#102343; font-size:28px; cursor:pointer; }
.single-company .jf-jobs-close:hover { background:#e1e9f1; }
.single-company .jf-jobs-filters { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr auto; gap:16px; align-items:end; margin:0; padding:20px 28px; background:#f2f8fd; border-bottom:1px solid #e1e9f1; }
.single-company .jf-jobs-filters label { display:block; min-width:0; margin:0; font-size:13px; font-weight:600; color:#102343; }
.single-company .jf-jobs-filters input,.single-company .jf-jobs-filters select { box-sizing:border-box; display:block; width:100%; min-width:0; height:44px; margin:6px 0 0; padding:8px 10px; border:1px solid #b7c6d7; border-radius:6px; background:#fff; color:#102343; font:inherit; font-weight:400; box-shadow:none; }
.single-company .jf-jobs-dialog :focus-visible { outline:3px solid #007fa9; outline-offset:2px; }
.single-company .jf-jobs-results { overflow-y:auto; flex:1; min-height:0; padding:20px 28px 28px; overscroll-behavior:contain; }
.single-company .jf-jobs-count { margin:0 0 16px; color:#596b85; font-size:14px; }
.single-company .jf-jobs-results__list { list-style:none; display:grid; gap:12px; margin:0; padding:0; }
.single-company .jf-jobs-results__list > li { list-style:none; margin:0; }
.single-company .jf-jobs-results__list .jf-profile-job { display:flex; align-items:center; gap:16px; padding:18px; border:1px solid #e1e9f1; border-radius:10px; background:#fff; text-decoration:none; }
.single-company .jf-jobs-results__list .jf-profile-job:hover { background:#f2f8fd; border-color:#9fcfe4; }
.single-company .jf-jobs-results__list img.company_logo { position:static; padding:0 !important; margin:0 !important; width:52px !important; height:52px !important; object-fit:contain; border-radius:12px; }
.single-company .jf-jobs-empty { text-align:center; padding:48px 16px; }
.single-company .jf-jobs-empty h3 { color:#102343; margin:0 0 8px; }
@media(max-width:960px) { .single-company .jf-jobs-filters { grid-template-columns:1fr 1fr; gap:12px; } .single-company .jf-jobs-reset { justify-self:start; } }
@media(max-width:600px) {
 .single-company dialog.jf-jobs-dialog { width:100%; height:100dvh; border:0; border-radius:0; }
 .single-company .jf-jobs-dialog__header { padding:16px; }
 .single-company .jf-jobs-dialog__header h2 { font-size:22px; }
 .single-company .jf-jobs-filters { padding:12px 16px; gap:8px 12px; }
 .single-company .jf-jobs-filters label:first-child { grid-column:1 / -1; }
 .single-company .jf-jobs-results { padding:16px; }
 .single-company .jf-jobs-heading { align-items:start; gap:8px; }
 .single-company .jf-jobs-heading h2 { font-size:21px; }
 .single-company .jf-jobs-open { font-size:13px; padding-top:0; }
}
/* The header owns status-only badges; keep sidebar claim forms and notices. */
.single-company .jf-company-profile__trust .jfdir-claim-section:has(> .jfdir-badge:only-child) { display:none; }
.single-company .jf-company-profile__trust:not(:has(> :not(.jfdir-claim-section))):has(> .jfdir-claim-section > .jfdir-badge:only-child) { display:none; }
/* Prominent claimed badge in the company identity header. 2026-09-10:
   renamed from .jfdir-badge--verified/.jf-company-verified-icon - "Claimed"
   is not business verification, see directory.css's .jfdir-badge--claimed
   docblock for the full reasoning. */
.single-company .jf-company-profile__hero .jfdir-badge--claimed,
.single-company .jf-company-profile__hero .jfdir-badge--unclaimed { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; vertical-align:middle; margin-right:12px; }
.single-company .jf-company-profile__hero .jf-company-claimed-icon { width:24px; height:24px; flex:0 0 24px; }

/* 2026-09-10: the badge and the rating link sat flush against each other
   (3px apart), and the star row and "(N pieces of feedback)" text inside
   the rating link had zero gap between them - neither had an explicit
   margin/gap set anywhere, they just happened to be adjacent inline
   elements. */
.single-company .jf-company-profile__rating { gap:8px; }
/* Paged review carousel: full cards, no horizontal scroll strip. */
.single-company .jfdir-review-pages { display:grid; grid-template-columns:repeat(var(--review-columns,2),minmax(0,1fr)); gap:16px; padding:0; margin:20px 0; list-style:none; }
.single-company .jfdir-review-pages > li { min-width:0; margin:0; list-style:none; padding:20px; border:1px solid #e1e9f1; border-radius:12px; background:#f8fafc; }
.single-company .jfdir-review-pages > li[hidden],.single-company .jfdir-review-controls[hidden] { display:none !important; }
.single-company .jfdir-review-pages .comment-content { margin:0; padding:0; border:0; box-shadow:none; background:none; }
.single-company .jfdir-review-pages .comment { display:flex; flex-direction:column; gap:12px; }
.single-company .jfdir-review-pages img.avatar { position:static; width:40px; height:40px; border-radius:50%; }
.single-company .jfdir-review-controls { display:flex; align-items:center; justify-content:center; gap:16px; margin:16px 0 28px; }
.single-company .jfdir-review-controls button { width:44px; height:44px; padding:10px; border:1px solid #b7c6d7; border-radius:50%; background:white; color:#006eaa; cursor:pointer; }
.single-company .jfdir-review-controls svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; }
.single-company .jfdir-review-controls button:not(:disabled):is(:hover,:active,:focus-visible) { background:#007cad; border-color:#007cad; color:white; }
.single-company .jfdir-review-controls button:disabled { opacity:.35; cursor:default; }
.single-company .jfdir-review-pages .mas-wpjmcr-list-reviews { display:flex; flex-direction:column; gap:8px; }
.single-company .jf-company-profile__reviews .jfdir-star-icon::before { display:none !important; content:none !important; }
.single-company .jf-company-profile__reviews .jfdir-star-icon { width:28px !important; height:28px !important; line-height:28px !important; }
.single-company .jf-company-profile__reviews .jfdir-star-icon svg { width:28px !important; height:28px !important; pointer-events:none; }
.single-company .jf-company-profile__reviews .choose-rating .jfdir-star-icon { width:36px !important; height:40px !important; display:inline-flex; align-items:center; justify-content:center; }
.single-company .jf-company-profile__reviews .ratings { white-space:nowrap; }
.single-company .jfdir-view-community a { display:flex; gap:8px; align-items:center; }
.single-company .jfdir-view-community svg { flex:0 0 20px; }
.single-company .jfdir-review-pages .stars-rating { display:block !important; width:100% !important; margin:0 !important; padding:0 !important; border:0 !important; }
.single-company .jfdir-review-pages .ratings { display:flex !important; flex-direction:row !important; width:auto !important; gap:2px; border:0 !important; padding:0 !important; }
.single-company .jfdir-review-pages .ratings .jfdir-star-icon { position:static !important; flex:0 0 28px; margin:0 !important; }
.single-company .jfdir-review-pages .mas-wpjmcr-list-reviews { padding:12px !important; box-shadow:none !important; border:0 !important; }
@keyframes jf-review-enter { from { opacity:.3; transform:translateX(12px); } to { opacity:1; transform:translateX(0); } }
.single-company .jfdir-review-pages > li:not([hidden]) { animation:jf-review-enter 180ms ease-out; }
@media(prefers-reduced-motion:reduce) { .single-company .jfdir-review-pages > li:not([hidden]) { animation:none; } }

/* 2026-09-11: claimed companies get a blue "signature" border on the profile
   hero, matching the same blue highlight added to claimed cards in the
   Business Directory grid (directory-browse.css's .jfdir-card--claimed).
   Tried a blue border/glow first and scrapped it for being too heavy - the
   logo checkmark carries the "claimed" signal, this just gives the hero a
   soft pastel-blue background so it reads as distinct at a glance. Reuses
   --profile-tint, this page's own existing soft-blue token (already used
   on the trust/secondary-action panels below), not a new color. Matches
   the 3-class specificity of the file's own .single-company
   .jf-company-profile .jf-company-profile__hero background:#fff rule
   above, which otherwise wins over a lower-specificity rule regardless of
   source order. */
.single-company .jf-company-profile .jf-company-profile__hero--claimed {
	background: var(--profile-tint);
}
