.rafi-directory{max-width:1180px;margin:30px auto;padding:0 18px}.rafi-directory-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.rafi-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rafi-card{background:#fff;border:1px solid #e6e8eb;border-radius:14px;overflow:hidden}.rafi-card a{text-decoration:none;color:inherit;display:block;height:100%}.rafi-card img,.rafi-placeholder{width:100%;height:190px;object-fit:cover;display:block}.rafi-placeholder{display:grid;place-items:center;background:#f0f2f5;font-size:28px}.rafi-card-body{padding:15px}.rafi-card h2{font-size:20px;margin:0 0 8px}.rafi-card p{color:#5f6368;margin:0 0 12px}.rafi-item-meta{display:flex;flex-wrap:wrap;gap:7px;font-size:13px;color:#4b5563}.rafi-item-meta span{background:#f3f4f6;padding:5px 8px;border-radius:8px}.rafi-primary{display:inline-block;background:#1769ff;color:#fff!important;text-decoration:none;border:0;border-radius:9px;padding:10px 16px;cursor:pointer}.rafi-back{display:inline-block;margin-bottom:16px;text-decoration:none}.rafi-single article{max-width:850px;background:#fff;margin:auto}.rafi-single img{max-width:100%;height:auto;border-radius:14px}.rafi-single h1{font-size:34px}.rafi-content{line-height:1.7;margin-top:20px}.rafi-form{max-width:760px;display:grid;gap:12px}.rafi-form input,.rafi-form textarea{padding:12px;border:1px solid #d9dde3;border-radius:9px;font:inherit}.rafi-form textarea{min-height:220px}.rafi-notice,.rafi-error{padding:12px;border-radius:9px}.rafi-notice{background:#e9f8ee}.rafi-error{background:#ffecec}.rafi-muted{color:#666}@media(max-width:800px){.rafi-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.rafi-card-grid{grid-template-columns:1fr}.rafi-directory-head{align-items:flex-start;gap:10px}.rafi-card img,.rafi-placeholder{height:210px}}

.rafi-job-author{font-size:13px;color:#64748b;margin:0 0 10px}
.rafi-single-author{font-size:15px;margin:0 0 14px;padding:10px 12px;background:#f8fafc;border-radius:10px}
.rafi-job-manage{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}
.rafi-job-manage form{margin:0}
.rafi-edit-btn,.rafi-delete-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 15px;font-weight:700;cursor:pointer;text-decoration:none}
.rafi-edit-btn{background:#e0f2fe;color:#075985}
.rafi-delete-btn{background:#fee2e2;color:#b91c1c}
.rafi-edit-btn:hover,.rafi-delete-btn:hover{opacity:.9}


/* Jobs feed card fix: isolated class names to avoid theme/global style conflicts */
.rafi-jobs-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:start!important;width:100%!important}
.rafi-jobs-card{display:block!important;height:auto!important;min-height:0!important;background:#fff!important;border:1px solid #e6e8eb!important;border-radius:14px!important;overflow:hidden!important;box-sizing:border-box!important}
.rafi-jobs-thumb-link{display:block!important;text-decoration:none!important;line-height:0!important}
.rafi-jobs-card img,.rafi-jobs-placeholder{display:block!important;width:100%!important;height:190px!important;min-height:0!important;object-fit:cover!important}
.rafi-jobs-placeholder{display:grid!important;place-items:center!important;background:#f0f2f5!important;font-size:28px!important;line-height:1!important}
.rafi-jobs-card-body{display:block!important;height:auto!important;min-height:0!important;padding:15px!important;box-sizing:border-box!important}
.rafi-jobs-card-body h2{margin:0 0 8px!important;font-size:20px!important;line-height:1.35!important}
.rafi-jobs-title-link{color:inherit!important;text-decoration:none!important}
.rafi-jobs-title-link:hover{text-decoration:underline!important}
.rafi-jobs-card-body p{margin:10px 0 12px!important;color:#5f6368!important}
.rafi-jobs-card .rafi-job-author{margin-top:4px!important}
@media(max-width:800px){.rafi-jobs-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.rafi-jobs-card-grid{grid-template-columns:1fr!important}.rafi-jobs-card img,.rafi-jobs-placeholder{height:210px!important}}


/* Prevent duplicate job submissions */
.rafi-form button[type="submit"]:disabled{opacity:.65;cursor:wait}.rafi-job-submit-loading{padding:12px 14px;border-radius:9px;background:#eef4ff;color:#315da8;font-weight:700;text-align:center}


/* Final Jobs thumbnail spacing fix */
.rafi-jobs-thumb-link{
    width:100%!important;
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
}
.rafi-jobs-thumb-link img{
    width:100%!important;
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:center!important;
    vertical-align:top!important;
}
.rafi-jobs-card-body{
    margin:0!important;
    padding-top:15px!important;
}
@media(max-width:520px){
    .rafi-jobs-thumb-link{
        height:210px!important;
        min-height:210px!important;
        max-height:210px!important;
    }
    .rafi-jobs-thumb-link img{
        height:210px!important;
        min-height:210px!important;
        max-height:210px!important;
    }
}


/* Jobs share popup */
.rafi-share-btn,.rafi-edit-btn,.rafi-delete-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 15px;font-weight:700;cursor:pointer;text-decoration:none;font:inherit}
.rafi-share-btn{background:#eef2ff;color:#334155}
.rafi-share-btn:hover{opacity:.9}
.rafi-share-modal{display:none;position:fixed;inset:0;z-index:99999}
.rafi-share-modal.is-open{display:block}
.rafi-share-overlay{position:absolute;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(3px)}
.rafi-share-dialog{position:relative;width:min(430px,calc(100% - 32px));margin:10vh auto 0;background:#fff;border-radius:18px;padding:26px;box-shadow:0 25px 70px rgba(0,0,0,.25);box-sizing:border-box;animation:rafiSharePop .18s ease-out}
@keyframes rafiSharePop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.rafi-share-dialog h3{margin:0 34px 6px 0;font-size:23px;color:#26364d}
.rafi-share-subtitle{margin:0 0 20px;color:#64748b;line-height:1.5}
.rafi-share-close{position:absolute;right:16px;top:12px;border:0;background:#f1f5f9;color:#475569;width:34px;height:34px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer}
.rafi-share-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rafi-share-option{border:1px solid #dbe3ee;background:#fff;border-radius:12px;padding:14px 12px;font:inherit;font-weight:700;color:#334155;cursor:pointer;text-align:left;display:flex;align-items:center;gap:9px;transition:.15s ease}
.rafi-share-option:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.10);border-color:#94a3b8}
.rafi-share-copy{background:#f8fafc}.rafi-share-facebook{background:#eff6ff}.rafi-share-mail{background:#fff7ed}.rafi-share-messenger{background:#f5f3ff}
.rafi-share-message{min-height:20px;margin-top:14px;color:#15803d;font-weight:600;font-size:14px}
@media(max-width:480px){.rafi-share-dialog{margin-top:7vh;padding:22px 18px}.rafi-share-options{grid-template-columns:1fr}.rafi-share-option{justify-content:center;text-align:center}}


/* Logged-out Job submission card */
.rafi-job-login-card{
    max-width:760px;
    margin:28px auto 0;
    padding:34px 36px;
    display:flex;
    align-items:center;
    gap:24px;
    background:linear-gradient(135deg,#f8fbff 0%,#ffffff 58%,#f4f8ff 100%);
    border:1px solid #dbe5f2;
    border-radius:20px;
    box-shadow:0 14px 40px rgba(31,61,103,.08);
    box-sizing:border-box;
}
.rafi-job-login-icon{
    flex:0 0 72px;
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    border-radius:20px;
    background:#eaf2ff;
    font-size:34px;
}
.rafi-job-login-content{flex:1;min-width:0}
.rafi-job-login-content h2{
    margin:0 0 8px;
    font-size:26px;
    line-height:1.25;
    color:#1d3048;
}
.rafi-job-login-content p{
    margin:0;
    color:#64748b;
    font-size:16px;
    line-height:1.65;
}
.rafi-job-login-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:20px;
}
.rafi-job-login-btn{
    padding:11px 18px;
    border-radius:10px;
    font-weight:700;
}
.rafi-job-secondary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 17px;
    border:1px solid #d6dfeb;
    border-radius:10px;
    background:#fff;
    color:#315da8;
    text-decoration:none;
    font-weight:700;
}
.rafi-job-secondary-btn:hover{background:#f8fafc}
@media(max-width:600px){
    .rafi-job-login-card{margin-top:20px;padding:26px 22px;flex-direction:column;align-items:flex-start}
    .rafi-job-login-icon{width:60px;height:60px;flex-basis:60px;font-size:29px}
    .rafi-job-login-content h2{font-size:23px}
    .rafi-job-login-actions{flex-direction:column;align-items:stretch}
    .rafi-job-login-btn,.rafi-job-secondary-btn{width:100%;box-sizing:border-box;text-align:center}
}
