.company-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 24px 0 0; padding: 0; list-style: none; }
.wpjmc-companies { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 24px 0 0; padding: 0; list-style: none; }
.company-card { min-width: 0; min-height: 162px; overflow: hidden; border: 1px solid var(--mmo-line); border-radius: 7px; background: #fff; }
.company-card__link { height: 100%; display: flex; align-items: flex-start; gap: 13px; padding: 17px; color: inherit; text-decoration: none; }
.company-card__logo { flex: 0 0 48px; width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--mmo-line); border-radius: 5px; background: #fff; }
.company-card__logo img { max-width: 44px; max-height: 44px; object-fit: contain; }
.company-card__monogram { display:grid; place-items:center; width:100%; height:100%; background:#eaf7fc; color:#006bbf; font:700 1.25rem/1 Georgia,serif; }
.company-card__body { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.company-card__name { display: -webkit-box; overflow: hidden; color: var(--mmo-blue-dark); font-weight: 800; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.company-card__excerpt { display: -webkit-box; overflow: hidden; color: var(--mmo-muted); font-size: .82rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.company-profile .company-inner { margin-top: 18px; }
.company-profile .company-title { margin: 0; color: var(--mmo-blue-dark); font: 700 clamp(1.9rem,4vw,3rem)/1.1 Georgia,serif; }
.company-profile .company-logo img { max-width: 160px; max-height: 120px; object-fit: contain; }
.company-openings { margin-top: 48px; }
.company-features { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 12px; margin-block: 24px; }
.company-feature { padding: 14px; border: 1px solid var(--mmo-line); border-radius: 5px; background: #fff; }
.company-feature__title, .company-feature__content { display: block; }
.company-feature__title { color: var(--mmo-muted); font-size: .78rem; }
.company-feature__content { margin-top: 4px; color: var(--mmo-blue-dark); font-weight: 700; }
.company-profile .comment-form input:not([type="checkbox"]):not([type="radio"]), .company-profile .comment-form select, .company-profile .comment-form textarea { width: min(100%, 640px); min-height: 44px; padding: 10px 12px; border: 1px solid #b8c3cc; border-radius: 5px; background: #fff; color: var(--mmo-ink); font: inherit; }
.company-profile .comment-form input[type="file"] { min-height: 0; padding: 8px; border-style: dashed; }
.company-profile .comment-form textarea { min-height: 150px; resize: vertical; }
.company-profile .comment-form .submit { min-height: 44px; padding: 10px 17px; border: 0; border-radius: 5px; background: var(--mmo-blue); color: #fff; font-weight: 700; cursor: pointer; }
.company-profile .comment-form .submit:hover { background: var(--mmo-blue-dark); }

/* The company profile is a first-party theme view, not the plugin's default comment layout. */
.company-profile { padding-block:24px 64px; }
.company-profile-hero { padding:clamp(24px,4vw,42px); border:1px solid #dce8ef; border-radius:16px; background:linear-gradient(125deg,#f1f9fd 0%,#fff 64%,#eaf8fc 100%); }
.company-profile-brand { display:flex; align-items:center; gap:clamp(20px,4vw,38px); }
.company-profile-logo { display:grid; place-items:center; flex:0 0 clamp(88px,12vw,132px); width:clamp(88px,12vw,132px); height:clamp(88px,12vw,132px); overflow:hidden; border:1px solid #dce8ef; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgb(17 70 101 / 7%); }
.company-profile-logo img { width:100%; height:100%; padding:12px; object-fit:contain; }
.company-profile-logo > span { display:grid; place-items:center; width:100%; height:100%; background:linear-gradient(145deg,#eaf7fc,#d8f0f8); color:#006bbf; font:700 3.2rem/1 Georgia,serif; }
.company-profile-identity { min-width:0; }
.company-profile-kicker { margin:0 0 8px; color:#007ba9; font-size:.76rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.company-profile .company-title { overflow-wrap:anywhere; font-size:clamp(2rem,4vw,3.25rem); }
.company-profile-tagline { margin:12px 0 0; color:#426377; font-size:1.05rem; line-height:1.6; }
.company-profile-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:19px; }
.company-profile-meta > * { display:inline-flex; align-items:center; min-height:33px; padding:6px 11px; border:1px solid #d7e7ef; border-radius:999px; background:rgb(255 255 255 / 80%); color:#315b70; font-size:.77rem; text-decoration:none; }
.company-profile-meta a { color:#006bbf; font-weight:700; }
.company-profile-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:20px 0 0; }
.company-profile-facts > div { padding:16px 18px; border:1px solid #e0eaf0; border-radius:10px; background:#fff; }
.company-profile-facts dt { color:#617382; font-size:.75rem; }
.company-profile-facts dd { margin:5px 0 0; color:#164b61; font-size:.93rem; font-weight:700; }
.company-profile-about { max-width:850px; padding:clamp(24px,4vw,38px) 0; }
.company-profile-about h2,.company-openings-heading h2 { margin:0; color:#164b61; font:700 clamp(1.55rem,3vw,2rem)/1.2 Georgia,serif; }
.company-profile-copy { margin-top:16px; color:#405b6c; font-size:.97rem; line-height:1.85; }
.company-profile-copy > :first-child { margin-top:0; }
.company-profile-copy > :last-child { margin-bottom:0; }
.company-openings { padding-top:30px; border-top:1px solid #dce8ef; }
.company-openings-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.company-openings-heading h2 { margin-bottom:8px; }
.company-openings-heading > div > p:last-child { margin:0; color:#526978; font-size:.86rem; }
.company-openings-count { padding:7px 12px; border-radius:999px; background:#e9f7fc; color:#006f99; font-size:.78rem; font-weight:800; white-space:nowrap; }
.company-profile-empty { padding:32px; border:1px dashed #bad0dd; border-radius:12px; background:#f7fbfd; }
.company-profile-empty h3 { margin:0 0 8px; color:#164b61; font:700 1.25rem/1.3 Georgia,serif; }
.company-profile-empty p { margin:0 0 14px; color:#526978; font-size:.87rem; }
.company-profile-empty a { color:#006bbf; font-size:.85rem; font-weight:700; }
#mas-wpjmcr-submit-ratings .choose-rating .star, .mas-wpjmcr-list-reviews .star-rating .dashicons-star-filled { color: var(--mmo-cyan); }
@media (max-width: 820px) { .company-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 820px) { .wpjmc-companies { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .company-grid, .wpjmc-companies { grid-template-columns: 1fr; gap: 10px; } .company-card { min-height: 120px; } }
/* Public company discovery, within the approved MMO visual identity. */
.company-directory-hero { background:#eaf5fb; border-bottom:1px solid #d9e7ef; }
.company-directory-intro { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:center; gap:90px; padding-block:42px 46px; }
.company-directory-back { color:#235773; font-size:.8rem; font-weight:700; text-decoration:none; }
.company-directory-intro h1 { margin:25px 0 18px; color:#164b61; font:700 clamp(2rem,4vw,3.3rem)/1.08 Georgia,serif; letter-spacing:-.03em; }
.company-directory-intro p { margin:0; color:#426377; line-height:1.75; max-width:57ch; font-size:.95rem; }
.company-directory-intro aside { padding-left:30px; border-left:1px solid #b7d4e5; }
.company-directory-intro aside h2 { margin:0 0 13px; color:#164b61; font-size:1.15rem; line-height:1.4; max-width:24ch; }
.company-directory-intro aside p { font-size:.87rem; }
.company-directory-intro aside a { display:inline-block; margin-top:22px; font-size:.85rem; font-weight:700; color:#006bbf; }
.company-directory-body { padding-block:30px 60px; }
.company-directory-search { display:flex; align-items:end; flex-wrap:wrap; gap:16px; padding:24px; border:1px solid #dce6ed; border-radius:12px; background:#fff; }
.company-directory-search > div { flex:1 1 160px; }
.company-directory-search > .company-search-name { flex:2 1 270px; }
.company-directory-search label { display:block; font-size:.8rem; font-weight:700; color:#28485a; margin-bottom:8px; }
.company-directory-search input,.company-directory-search select { width:100%; min-height:48px; padding:10px 13px; border:1px solid #bdceda; border-radius:7px; background:#fff; color:#28485a; font:inherit; font-size:.86rem; }
.company-directory-search input::placeholder { color:#617382; opacity:1; }
.company-directory-search button { min-height:48px; padding:11px 20px; border:0; border-radius:7px; background:#006bbf; color:#fff; font:700 .84rem/1.5 Arial,sans-serif; cursor:pointer; }
.company-directory-search button:hover { background:#005495; }
.company-directory-results { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:32px 0 20px; }
.company-directory-results h2 { font:700 1.15rem/1.4 Georgia,serif; color:#164b61; margin:0; }
.company-directory-results p,.company-directory-results a { margin:0; color:#526978; font-size:.82rem; }
.company-discovery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0; padding:0; list-style:none; }
.company-discovery-grid > li { min-width:0; display:flex; }
.company-discovery-card { width:100%; border:1px solid #dce6ed; border-radius:12px; background:#fff; overflow:hidden; }
.company-discovery-card > a { display:flex; flex-direction:column; height:100%; padding:26px; color:inherit; text-decoration:none; }
.company-discovery-card:hover { border-color:#8fbdd5; background:#fbfdff; }
.company-discovery-top { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:24px; }
.company-discovery-logo { display:grid; place-items:center; width:90px; height:78px; flex:0 0 90px; background:#fff; border-radius:8px; overflow:hidden; }
.company-discovery-logo img { width:80px; height:64px; object-fit:contain; }
.company-discovery-logo > span { font:700 2.6rem/1 Georgia,serif; color:#006bbf; }
.company-discovery-sector { color:#526978; font-size:.73rem; line-height:1.45; text-align:right; }
.company-discovery-card h3 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.6em; color:#164b61; font:700 1.22rem/1.3 Georgia,serif; margin:0 0 12px; }
.company-discovery-location { color:#426377; font-size:.78rem; margin:0 0 10px; }
.company-discovery-description { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:4.95em; color:#526978; font-size:.84rem; line-height:1.65; margin:0 0 24px; }
.company-discovery-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:17px; margin-top:auto; border-top:1px solid #e2eaf0; color:#006bbf; font-size:.8rem; font-weight:700; }
.company-discovery-footer span { font-size:1.2rem; }
.company-directory-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; margin-top:34px; }
.company-directory-pagination .page-numbers { display:grid; place-items:center; min-width:42px; min-height:42px; padding:8px 12px; border:1px solid #c7d9e5; border-radius:7px; text-decoration:none; color:#145778; font-size:.84rem; }
.company-directory-pagination .current { background:#006bbf; border-color:#006bbf; color:#fff; }
.company-directory-empty { padding:50px 28px; text-align:center; border:1px solid #dce6ed; background:#fff; border-radius:12px; }
.company-directory-empty h2 { color:#164b61; font:700 1.6rem/1.3 Georgia,serif; }
.company-directory-empty p { color:#526978; }
.company-directory :is(input,select,button,a):focus-visible { outline:3px solid #24bce0; outline-offset:3px; }
@media(max-width:980px) { .company-directory-intro { gap:40px; } .company-discovery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .company-directory-intro { grid-template-columns:1fr; gap:28px; padding-block:28px 32px; } .company-directory-intro aside { padding:22px 0 0; border-left:0; border-top:1px solid #b7d4e5; } .company-directory-intro aside h2 { max-width:none; } .company-directory-intro h1 { margin-top:20px; font-size:2.2rem; } .company-directory-search { padding:18px; gap:18px; } .company-directory-search > div,.company-directory-search > .company-search-name { flex-basis:100%; } .company-directory-search button { width:100%; } .company-directory-results { align-items:start; flex-direction:column; gap:8px; } .company-discovery-grid { grid-template-columns:1fr; gap:16px; } .company-discovery-card > a { padding:22px; } .company-discovery-card h3 { min-height:0; } .company-discovery-description { min-height:0; } }
/* Company editor: sections replace browser-default fieldset frames. */
.workspace-content #submit-company-form.company-editor-form { display:block; margin:0; padding:0; border:0; background:transparent; }
.company-editor-form .company-editor-section { background:#fff; border:1px solid #dce6ed; border-radius:12px; margin:0 0 24px; overflow:hidden; }
.company-editor-section > header { padding:24px 28px 20px; border-bottom:1px solid #e4ecf1; }
.company-editor-section h2 { margin:0 0 7px; color:#164b61; font:700 1.35rem/1.25 Georgia,serif; }
.company-editor-section header p { margin:0; color:#526978; font-size:.84rem; line-height:1.65; }
.company-editor-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:28px; }
.workspace-content #submit-company-form .company-editor-fields fieldset { min-width:0; margin:0!important; padding:0!important; border:0!important; background:transparent; }
.company-editor-fields :is(.fieldset-company_name,.fieldset-company_tagline,.fieldset-company_content,.fieldset-company_excerpt,.fieldset-company_header_image,.fieldset-header_image,.fieldset-company_featured_image,.fieldset-type-wp-editor,.fieldset-type-textarea) { grid-column:1/-1; }
.company-editor-form label small { color:#617382; font-size:.73rem; font-weight:400; }
.company-editor-form .company-form-required { color:#006bbf; }
.company-editor-form .description { display:block; margin-top:8px; color:#617382; font-size:.73rem; line-height:1.5; }
.company-editor-form textarea { min-height:110px; resize:vertical; }
.company-editor-form .wp-editor-wrap { border:1px solid #bdceda; border-radius:8px; overflow:hidden; }
.company-editor-form .mce-panel { border-color:#dce6ed!important; background:#f7fafc!important; }
.company-editor-extra { padding:22px 0 0; margin-bottom:24px; border:1px solid #dce6ed; background:#fff; border-radius:12px; }
.company-editor-extra summary { padding:0 26px 22px; cursor:pointer; font-weight:700; color:#164b61; font-size:.9rem; }
.company-editor-extra[open] summary { border-bottom:1px solid #e4ecf1; }
.company-form-intro p { margin:0 0 24px; color:#526978; font-size:.85rem; line-height:1.7; }
.company-editor-account.is-authenticated { display:none; }
.company-editor-form .company-editor-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #dce6ed; padding:24px 0; }
.company-editor-actions strong { color:#164b61; font-size:.95rem; }
.company-editor-actions p { margin:5px 0 0; font-size:.8rem; color:#526978; }
.company-editor-actions > div:last-child { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.company-editor-actions a { font-size:.8rem; }
@media(max-width:680px) { .company-editor-fields { grid-template-columns:1fr; padding:22px; } .company-editor-fields > * { grid-column:1; } .company-editor-section > header { padding:22px; } .company-editor-form .company-editor-actions { align-items:start; flex-direction:column; } .company-editor-actions > div:last-child { width:100%; gap:16px; } .company-editor-actions input[type=submit] { width:100%; } }

.company-directory .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Keep directory cards visually balanced even when a source logo is missing or broken. */
.company-discovery-logo { border:1px solid #e5edf2; background:linear-gradient(145deg,#f5fbfe,#eaf5fb); }
.company-discovery-logo > span { display:grid; place-items:center; width:100%; height:100%; background:linear-gradient(145deg,#eaf7fc,#dceff8); border-radius:inherit; }
.company-discovery-logo img { display:block; max-width:80px; max-height:64px; }
.company-discovery-card { box-shadow:0 8px 24px rgb(17 70 101 / 5%); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.company-discovery-card:hover { transform:translateY(-3px); border-color:#83bdd8; box-shadow:0 14px 30px rgb(17 70 101 / 10%); }
.company-discovery-card h3 { overflow-wrap:anywhere; }
.company-discovery-card:focus-within { outline:3px solid #24bce0; outline-offset:3px; }

@media(max-width:680px) { .company-directory-intro h1 { font-size:1.95rem; } .company-directory-intro aside p { display:none; } .company-directory-intro aside h2 { font-size:1rem; margin-bottom:0; } .company-directory-intro aside a { margin-top:12px; } .company-directory-intro { gap:22px; } }
@media(max-width:600px) { .company-profile-brand { align-items:flex-start; flex-direction:column; } .company-profile-logo { flex-basis:88px; } .company-openings-heading { align-items:flex-start; } .company-profile-meta { gap:7px; } }

.company-discovery-logo > span[hidden], .company-card__logo .company-card__monogram[hidden], .company-profile-logo > span[hidden] { display:none !important; }
.company-discovery-logo img { display:block; width:80px; height:64px; object-fit:contain; }

.company-discovery-logo img[width=80][height=64] { aspect-ratio:5 / 4; }
