/* Custom Jobs Board */
.cjb-wrap{display:grid;grid-template-columns:270px 1fr;gap:28px;max-width:1200px;margin:30px auto;font-family:Arial,sans-serif;color:#222}
.cjb-sidebar{border:1px solid #e7e7e7;background:#fff;height:max-content}
.cjb-filter-form{padding:18px}
.cjb-filter-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:18px}
.cjb-filter-head a{font-size:12px;color:#e87500;text-decoration:none}
.cjb-search-label{font-size:12px;font-weight:700;display:block;margin-bottom:7px}
.cjb-input,.cjb-sort-form select{width:100%;box-sizing:border-box;border:1px solid #ddd;background:#fff;padding:11px 12px;border-radius:3px}
.cjb-filter-group{border-top:1px solid #eee;margin-top:18px;padding-top:15px}
.cjb-filter-group h4{font-size:13px;margin:0 0 10px}
.cjb-check{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.5;margin:7px 0}
.cjb-check small{margin-left:auto;color:#999}
.cjb-button{display:inline-block;background:#ee7d08;color:#fff!important;padding:11px 18px;border-radius:3px;text-decoration:none;border:0;cursor:pointer;font-weight:700;font-size:12px}
.cjb-button:hover{opacity:.9}
.cjb-filter-form .cjb-button{width:100%;margin-top:18px}
.cjb-results-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}
.cjb-results-top h2{margin:0;font-size:27px}
.cjb-results-top p{margin:4px 0 0;color:#777;font-size:12px}
.cjb-sort-form select{width:auto;min-width:140px}
.cjb-card{background:#f6f6f6;border:1px solid #e9e9e9;margin-bottom:14px;padding:20px}
.cjb-card-title-row{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.cjb-card h3{margin:0 0 9px;font-size:18px}
.cjb-card h3 a{color:#222;text-decoration:none}
.cjb-card h3 a:hover{color:#e87500}
.cjb-badge{background:#557d27;color:#fff;padding:3px 7px;border-radius:2px;font-size:10px;white-space:nowrap}
.cjb-meta{display:flex;flex-wrap:wrap;gap:13px;color:#555;font-size:11px;margin:7px 0 12px}
.cjb-excerpt{font-size:12px;line-height:1.7;color:#444}
.cjb-card-bottom{display:flex;align-items:center;gap:12px;margin-top:14px}
.cjb-small{padding:8px 13px}
.cjb-date{font-size:10px;color:#999}
.cjb-pagination{margin-top:25px}.cjb-pagination ul{display:flex;gap:6px;list-style:none;padding:0}.cjb-pagination a,.cjb-pagination span{padding:7px 10px;border:1px solid #ddd;text-decoration:none;font-size:12px;color:#555}.cjb-pagination .current{background:#ee7d08;color:#fff;border-color:#ee7d08}
.cjb-empty{padding:35px;background:#f7f7f7;text-align:center}
.cjb-single{max-width:950px;margin:40px auto;font-family:Arial,sans-serif}.cjb-single-head{background:#f5f5f5;padding:35px}.cjb-single-head h1{font-size:36px;margin:7px 0 15px}.cjb-kicker{text-transform:uppercase;font-size:11px;color:#e87500;font-weight:700}.cjb-single-body{padding:30px 0;line-height:1.8}.cjb-single-body h2{font-size:22px;margin-top:30px}
.cjb-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.cjb-admin-grid p{margin:0}
@media(max-width:800px){.cjb-wrap{grid-template-columns:1fr;margin:15px}.cjb-sidebar{order:0}.cjb-results{order:1}.cjb-card-title-row{display:block}.cjb-badge{display:inline-block;margin-top:5px}.cjb-results-top{display:block}.cjb-sort-form{margin-top:12px}.cjb-admin-grid{grid-template-columns:1fr}}

/* =========================
   SINGLE JOB DETAIL
========================= */
.cjb-detail-page{max-width:1200px;margin:0 auto;padding:35px 20px 70px;font-family:Arial,sans-serif;color:#333}
.cjb-breadcrumbs{font-size:12px;color:#777;margin:0 0 20px}.cjb-breadcrumbs a{color:#2188c9;text-decoration:none}.cjb-breadcrumbs span{padding:0 5px}
.cjb-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:38px}
.cjb-detail-title{font-size:32px;line-height:1.25;color:#08a5dc;font-weight:400;margin:0 0 28px}
.cjb-info-table{margin-bottom:35px}
.cjb-info-table>div{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid #ddd;padding:8px 0;font-size:13px;line-height:1.4}
.cjb-info-table strong{color:#222}.cjb-info-table span{color:#555}.cjb-info-table span:empty:after{content:"—";color:#aaa}
.cjb-job-content{font-size:13px;line-height:1.7}.cjb-job-content p{margin:0 0 18px}.cjb-job-content section{margin:25px 0}.cjb-job-content h2{font-size:15px;color:#159fd2;margin:0 0 8px;font-weight:700}.cjb-job-content ul{padding-left:25px}.cjb-job-content li{margin:4px 0}
.cjb-detail-side{padding-top:0}.cjb-detail-apply{display:flex;justify-content:space-between;align-items:center;background:#ed7d08;color:#fff!important;text-decoration:none;border-radius:28px;padding:16px 24px;font-weight:700;font-size:13px}.cjb-detail-apply span{font-size:25px;line-height:12px}.cjb-side-apply{margin-bottom:10px}
.cjb-alert-box,.cjb-share-box,.cjb-similar-box{border:1px solid #ddd;background:#fff;margin-top:14px}.cjb-alert-box{padding:15px}.cjb-alert-box h3,.cjb-share-box h3,.cjb-similar-box h3{font-size:14px;text-align:center;margin:0;padding:13px;border-bottom:1px solid #ddd;color:#222}.cjb-alert-form{padding:10px 0}.cjb-alert-form input[type=email]{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccc;margin-bottom:12px}.cjb-alert-form label{display:block;font-size:11px;border:1px solid #ddd;padding:10px;margin-bottom:12px}.cjb-alert-form button{width:100%;border:0;border-radius:22px;background:#1c377a;color:#fff;padding:11px;font-weight:700;cursor:pointer}.cjb-alert-form button span{float:right;font-size:20px}.cjb-alert-form small{display:block;text-align:center;color:#999;font-size:9px;margin-top:9px}
.cjb-share-buttons{display:flex;padding:10px;gap:4px}.cjb-share-buttons a{flex:1;text-align:center;padding:7px;background:#e8e8e8;color:#fff;text-decoration:none;font-weight:700;font-size:12px}.cjb-share-buttons a:first-child{background:#4267a9}.cjb-share-buttons a:nth-child(2){background:#111}.cjb-share-buttons a:nth-child(3){background:#1676a8}.cjb-share-buttons a:nth-child(4){background:#aaa}
.cjb-similar-job{display:block;padding:13px 12px;border-bottom:1px solid #ddd;text-decoration:none;color:#555;font-size:11px;line-height:1.5}.cjb-similar-job:hover{background:#f7f7f7}.cjb-similar-job strong,.cjb-similar-job span{display:block}.cjb-similar-job strong{color:#555;margin-bottom:3px}.cjb-no-similar{font-size:11px;padding:12px}
@media(max-width:850px){.cjb-detail-grid{grid-template-columns:1fr}.cjb-detail-side{order:2}.cjb-detail-title{font-size:27px}.cjb-info-table>div{grid-template-columns:130px 1fr}.cjb-detail-page{padding:25px 15px 50px}}

/* =========================
   JOB SEARCH BAR + FILTER SIDEBAR
========================= */
.cjb-search-bar-wrap{max-width:1200px;margin:30px auto 0;padding:0 20px}
.cjb-main-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 145px;gap:10px;background:#f5f5f5;border:1px solid #e3e3e3;padding:12px}
.cjb-search-field{position:relative;background:#fff;border:1px solid #d8d8d8}
.cjb-search-field input{width:100%;box-sizing:border-box;border:0;outline:0;padding:14px 14px 14px 38px;font-size:13px;color:#333;background:#fff}
.cjb-search-field input::placeholder{color:#999}
.cjb-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:20px;color:#999;line-height:1;z-index:1}
.cjb-main-search-button{border:0;background:#ee7d08;color:#fff;font-weight:700;font-size:13px;padding:0 18px;cursor:pointer;border-radius:3px}
.cjb-main-search-button:hover{background:#d96f04}
.cjb-sidebar{box-shadow:0 1px 3px rgba(0,0,0,.04)}
.cjb-filter-head{border-bottom:1px solid #eee;padding-bottom:14px}
.cjb-filter-group h4{cursor:pointer;position:relative;padding-right:20px}
.cjb-filter-group h4:after{content:'⌄';position:absolute;right:0;color:#999}
.cjb-mobile-filter-toggle{display:none}
@media(max-width:800px){
  .cjb-search-bar-wrap{margin-top:15px;padding:0 15px}
  .cjb-main-search{grid-template-columns:1fr;padding:10px}
  .cjb-main-search-button{min-height:46px}
  .cjb-mobile-filter-toggle{display:block;margin:15px auto 0;width:calc(100% - 30px);padding:12px;border:1px solid #ddd;background:#fff;color:#333;font-weight:700;cursor:pointer}
  .cjb-wrap{margin-top:10px}
  .cjb-sidebar{display:none}
  .cjb-sidebar.cjb-filter-open{display:block}
}

.cjb-card-actions{display:flex;gap:8px;flex-wrap:wrap}.cjb-read-more{background:#fff!important;color:#e87500!important;border:1px solid #e87500}.cjb-apply-now{background:#ee7d08!important}
.cjb-detail-actions{display:flex;gap:12px;align-items:center;margin-top:35px}.cjb-detail-read{display:flex;align-items:center;justify-content:center;border:1px solid #ee7d08;color:#ee7d08!important;background:#fff;text-decoration:none;border-radius:28px;padding:16px 24px;font-weight:700;font-size:13px}.cjb-detail-actions .cjb-detail-apply{flex:0 0 220px}
.cjb-application-box{background:#f7f7f7;border:1px solid #ddd;padding:25px;margin-top:30px}.cjb-application-box h2{color:#08a5dc;font-size:22px;margin:0 0 6px}.cjb-application-form label{display:block;font-size:12px;font-weight:700;margin:12px 0}.cjb-application-form input,.cjb-application-form textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #ccc;background:#fff;padding:11px;margin-top:6px;font:inherit}.cjb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cjb-application-form .cjb-detail-apply{width:auto;border:0}.cjb-success-message{background:#e8f7ed;border:1px solid #a9d9b7;color:#26713a;padding:14px 18px;margin-bottom:20px;font-size:13px}
@media(max-width:600px){.cjb-form-row{grid-template-columns:1fr}.cjb-detail-actions{display:block}.cjb-detail-actions .cjb-detail-apply,.cjb-detail-read{width:100%;box-sizing:border-box;margin-top:10px}}

.cjb-card-actions{display:flex;gap:8px;flex-wrap:wrap}.cjb-read-more{background:#fff!important;color:#e87500!important;border:1px solid #e87500}.cjb-apply-now{background:#ee7d08!important}.cjb-application-box{background:#f7f7f7;border:1px solid #ddd;padding:25px;margin-top:30px}.cjb-application-form label{display:block;font-size:13px;font-weight:600;margin:12px 0}.cjb-application-form input,.cjb-application-form textarea{display:block;width:100%;box-sizing:border-box;padding:11px;border:1px solid #ccc;margin-top:6px}.cjb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cjb-success-message{padding:14px;background:#e8f7ed;border:1px solid #a9d9b7;color:#26713a;margin-bottom:20px}
@media(max-width:600px){.cjb-form-row{grid-template-columns:1fr}.cjb-card-actions{width:100%}}

/* AJAX filtering + login/register application modal */
.cjb-job-results{min-height:80px;position:relative}.cjb-job-results.cjb-loading{opacity:.45;pointer-events:none}.cjb-job-results.cjb-loading:after{content:'Loading jobs…';position:absolute;top:25px;left:50%;transform:translateX(-50%);background:#fff;padding:10px 16px;border:1px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,.08);font-size:12px;z-index:5}
.cjb-pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:25px}.cjb-pagination a{padding:7px 10px;border:1px solid #ddd;text-decoration:none;font-size:12px;color:#555}.cjb-pagination a.current{background:#ee7d08;color:#fff;border-color:#ee7d08}
.cjb-auth-modal{display:none;position:fixed;inset:0;z-index:999999}.cjb-auth-modal.is-open{display:block}.cjb-auth-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}.cjb-auth-box{position:relative;width:min(430px,calc(100% - 30px));margin:8vh auto 0;background:#fff;padding:28px;box-sizing:border-box;border-radius:5px;box-shadow:0 15px 45px rgba(0,0,0,.25)}.cjb-auth-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:28px;color:#777;cursor:pointer}.cjb-auth-tabs{display:flex;border-bottom:1px solid #ddd;margin-bottom:18px}.cjb-auth-tabs button{flex:1;border:0;background:#fff;padding:12px;font-weight:700;cursor:pointer;color:#777}.cjb-auth-tabs button.active{color:#ee7d08;border-bottom:2px solid #ee7d08}.cjb-auth-form label{display:block;font-size:12px;font-weight:700;margin:12px 0}.cjb-auth-form input{display:block;width:100%;box-sizing:border-box;border:1px solid #ccc;padding:11px;margin-top:6px}.cjb-auth-form .cjb-button{width:100%;margin-top:10px}.cjb-auth-message{font-size:12px;margin-bottom:10px}.cjb-auth-message.error{color:#b42318;background:#fff1f0;padding:10px}.cjb-auth-message.success{color:#26713a;background:#e8f7ed;padding:10px}.cjb-modal-open{overflow:hidden}

/* v1.5.4 - dedicated plugin authentication page */
.cjb-auth-page{max-width:760px;margin:50px auto;padding:20px}
.cjb-auth-page-inner{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:36px;box-shadow:0 8px 30px rgba(0,0,0,.06)}
.cjb-auth-page-header{text-align:center;margin-bottom:28px}
.cjb-auth-page-header h1{margin:8px 0 10px}
.cjb-auth-kicker{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.12em;opacity:.65}
.cjb-auth-page .cjb-auth-tabs{display:flex;gap:8px;border-bottom:1px solid #e5e7eb;margin-bottom:22px}
.cjb-auth-page .cjb-auth-tabs button{flex:1;border:0;background:transparent;padding:14px;font-weight:700;cursor:pointer;border-bottom:2px solid transparent}
.cjb-auth-page .cjb-auth-tabs button.active{border-bottom-color:currentColor}
.cjb-auth-page .cjb-auth-form label{display:block;margin-bottom:16px;font-weight:600}
.cjb-auth-page .cjb-auth-form input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:12px;border:1px solid #d1d5db;border-radius:6px}
.cjb-auth-page .cjb-auth-form .cjb-button{width:100%;margin-top:6px}
.cjb-auth-page .cjb-auth-message{margin-bottom:16px}

/* v1.5.5 application account + success UI */
.cjb-logged-in-user{background:#eef7fb;border:1px solid #cfe8f2;padding:11px 14px;color:#345;font-size:12px}
.cjb-success-message strong{font-size:16px;display:inline-block;margin-bottom:3px}
.cjb-logged-in-user{background:#eef7fb;border:1px solid #cfe8f2;padding:11px 14px;color:#345;font-size:12px}
.cjb-success-message strong{font-size:16px;display:inline-block;margin-bottom:3px}
