/* =========================================================
   RaFi Marketplace
   Feed style matched with the Jobs module.
   No PHP/functionality changes.
   ========================================================= */

.rafi-market{
    max-width:1180px;
    margin:32px auto;
    padding:0 18px;
}

/* Header: same visual family as Jobs */
.rafi-market-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    padding:28px 30px !important;
    margin-bottom:26px !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,#172554,#263b78) !important;
    box-shadow:0 10px 28px rgba(15,23,42,.18) !important;
    color:#fff !important;
}
.rafi-market-title{display:flex !important;align-items:center !important;gap:16px !important}
.rafi-market-icon{
    width:54px !important;height:54px !important;
    border-radius:15px !important;
    display:grid !important;place-items:center !important;
    background:rgba(255,255,255,.14) !important;
    font-size:27px !important;
}
.rafi-market-head h1{margin:0 !important;font-size:30px !important;line-height:1.1 !important;color:#fff !important}
.rafi-market-head p{margin:7px 0 0 !important;color:rgba(255,255,255,.78) !important;font-size:15px !important}
.rafi-market-actions{display:flex !important;align-items:center !important;gap:10px !important;flex-wrap:wrap !important}
.rafi-market-home,.rafi-market-btn{
    display:inline-flex;align-items:center;justify-content:center;
    text-decoration:none;border-radius:10px;padding:11px 17px;
    font-weight:700;transition:.2s ease;cursor:pointer;
}
.rafi-market-home{background:#fff !important;color:#24345f !important}
.rafi-market-btn{background:#f59e0b !important;color:#fff !important;border:0}
.rafi-market-home:hover,.rafi-market-btn:hover{transform:translateY(-1px);opacity:.94}

/* =========================================================
   Uniform Marketplace feed cards - same compact sizing as Jobs
   ========================================================= */
.rafi-market-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
    align-items:stretch !important;
    width:100% !important;
}

.rafi-market-card{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    height:590px !important;
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:18px !important;
    box-shadow:0 8px 24px rgba(15,23,42,.07) !important;
    box-sizing:border-box !important;
}

.rafi-market-card>a{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    width:100% !important;
    color:inherit !important;
    text-decoration:none !important;
}

/* Fixed thumbnail area prevents large/small cards */
.rafi-market-card img,
.rafi-market-placeholder{
    display:block !important;
    width:100% !important;
    height:235px !important;
    min-height:235px !important;
    flex:0 0 235px !important;
    object-fit:cover !important;
    margin:0 !important;
}

.rafi-market-placeholder{
    display:grid !important;
    place-items:center !important;
    background:#f1f5f9 !important;
    color:#3562ae !important;
    font-size:34px !important;
    line-height:1 !important;
}

/* Archive.php uses the direct child div as the card body */
.rafi-market-card>div,
.rafi-market-card>a>div{
    display:flex !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    flex-direction:column !important;
    padding:22px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

.rafi-market-card h2{
    margin:0 0 10px !important;
    font-size:25px !important;
    line-height:1.2 !important;
    color:#24344d !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
}

/* Description always stays compact, full details are on click */
.rafi-market-card p{
    margin:8px 0 16px !important;
    color:#5b6675 !important;
    line-height:1.65 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    min-height:26px !important;
    max-width:100% !important;
}

/* Metadata stays at the bottom and remains inside the same card size */
.rafi-market-meta{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-top:auto !important;
    max-height:102px !important;
    overflow:hidden !important;
    font-size:14px !important;
}

.rafi-market-meta span{
    display:inline-flex !important;
    align-items:center !important;
    max-width:100% !important;
    padding:8px 10px !important;
    border-radius:10px !important;
    background:#f1f5f9 !important;
    color:#526071 !important;
    line-height:1.25 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

.rafi-market-meta b{margin-right:4px;color:#425268}

/* =========================================================
   Forms / single item: keep existing functionality, cleaner style
   ========================================================= */
.rafi-market-form form{
    max-width:760px;
    display:grid;
    gap:12px;
}
.rafi-market-form input,
.rafi-market-form textarea{
    width:100%;
    box-sizing:border-box;
    padding:12px;
    border:1px solid #d9dde3;
    border-radius:9px;
    font:inherit;
}
.rafi-market-form textarea{min-height:220px}
.rafi-market-single article{max-width:850px;background:#fff;margin:18px auto;padding:22px;border-radius:18px}
.rafi-market-single img{display:block;max-width:100%;height:auto;border-radius:14px}
.rafi-market-content{line-height:1.7;margin-top:20px}
.rafi-market-notice,.rafi-market-error{padding:12px;border-radius:9px}
.rafi-market-notice{background:#e9f8ee}
.rafi-market-error{background:#ffecec}
.rafi-market-muted{color:#666}


/* Marketplace search */
.rafi-market-search{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 0 24px !important;
    padding:14px !important;
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:14px !important;
    box-shadow:0 5px 18px rgba(15,23,42,.05) !important;
}
.rafi-market-search input{
    flex:1 1 auto !important;
    min-width:0 !important;
    height:46px !important;
    padding:0 16px !important;
    border:1px solid #d7dee8 !important;
    border-radius:10px !important;
    font:inherit !important;
    outline:none !important;
    box-sizing:border-box !important;
}
.rafi-market-search input:focus{border-color:#263b78 !important;box-shadow:0 0 0 3px rgba(38,59,120,.10) !important}
.rafi-market-search button{
    height:46px !important;
    padding:0 20px !important;
    border:0 !important;
    border-radius:10px !important;
    background:#263b78 !important;
    color:#fff !important;
    font-weight:700 !important;
    cursor:pointer !important;
}
.rafi-market-search a{
    color:#526071 !important;
    text-decoration:none !important;
    font-weight:700 !important;
    padding:10px 6px !important;
}
.rafi-market-empty{
    grid-column:1 / -1 !important;
    padding:28px !important;
    text-align:center !important;
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:14px !important;
    color:#526071 !important;
}
@media(max-width:620px){
    .rafi-market-search{flex-wrap:wrap !important}
    .rafi-market-search input{flex-basis:100% !important}
    .rafi-market-search button{flex:1 1 auto !important}
}

/* Responsive */
@media(max-width:980px){
    .rafi-market-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
    .rafi-market-card{height:575px !important}
}
@media(max-width:700px){
    .rafi-market{margin:20px auto}
    .rafi-market-head{padding:22px !important;align-items:flex-start !important;flex-direction:column !important}
    .rafi-market-head h1{font-size:26px !important}
}
@media(max-width:620px){
    .rafi-market-grid{grid-template-columns:1fr !important}
    .rafi-market-card{height:560px !important}
    .rafi-market-card img,
    .rafi-market-placeholder{height:220px !important;min-height:220px !important;flex-basis:220px !important}
}

/* =========================================================
   Marketplace author / share / edit / delete additions
   ========================================================= */
.rafi-market-card .rafi-market-thumb-link{
    display:block !important;
    flex:0 0 235px !important;
    min-height:235px !important;
    width:100% !important;
    overflow:hidden !important;
}
.rafi-market-card .rafi-market-thumb-link img{
    width:100% !important;
    height:235px !important;
    min-height:235px !important;
    object-fit:cover !important;
    display:block !important;
}
.rafi-market-card .rafi-market-card-body{
    display:flex !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    flex-direction:column !important;
    padding:22px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}
.rafi-market-card h2 a,
.rafi-market-author a{
    color:inherit !important;
    text-decoration:none !important;
}
.rafi-market-card h2 a:hover,
.rafi-market-author a:hover{
    text-decoration:underline !important;
}
.rafi-market-author{
    font-size:14px !important;
    color:#64748b !important;
    margin:0 0 7px !important;
    line-height:1.35 !important;
}
.rafi-market-date{
    font-size:13px !important;
    color:#64748b !important;
    margin:0 0 8px !important;
}
.rafi-market-desc-link{
    display:block !important;
    color:inherit !important;
    text-decoration:none !important;
    min-height:42px !important;
    overflow:hidden !important;
}
.rafi-market-card .rafi-market-desc-link p{
    margin:0 0 12px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    min-height:26px !important;
    max-height:26px !important;
}
.rafi-market-card .rafi-market-card-body .rafi-market-meta{
    margin-top:auto !important;
}
.rafi-market-back{display:inline-block;margin-bottom:16px;color:#315d9e;text-decoration:none}
.rafi-market-single-author{
    font-size:15px;
    color:#536174;
    margin:0 0 14px;
    padding:11px 13px;
    background:#f8fafc;
    border-radius:10px;
}
.rafi-market-single-author a{color:inherit;text-decoration:none}
.rafi-market-single-author a:hover{text-decoration:underline}
.rafi-market-single-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 16px;
}
.rafi-market-single-actions form{margin:0}
.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-edit-btn{background:#e0f2fe;color:#075985}
.rafi-delete-btn{background:#fee2e2;color:#b91c1c}
.rafi-share-btn:hover,.rafi-edit-btn:hover,.rafi-delete-btn:hover{opacity:.9}

@media(max-width:620px){
    .rafi-market-card .rafi-market-thumb-link{flex-basis:220px !important;min-height:220px !important}
    .rafi-market-card .rafi-market-thumb-link img{height:220px !important;min-height:220px !important}
}


/* =========================================================
   Marketplace share popup
   ========================================================= */
.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}}


/* Uniform Marketplace cards: every card in the same row keeps the same size */
.rafi-market-grid{
    align-items:stretch !important;
}
.rafi-market-card{
    height:100% !important;
    min-height:0 !important;
}
.rafi-market-card .rafi-market-card-body{
    flex:1 1 auto !important;
}
.rafi-market-card .rafi-market-card-body .rafi-market-meta,
.rafi-market-meta{
    margin-top:auto !important;
}
@media(max-width:980px){.rafi-market-card{height:100% !important;}}
@media(max-width:620px){.rafi-market-card{height:100% !important;}}


/* =========================================================
   Marketplace access / Help & Support state
   ========================================================= */
.rafi-market-status-card{
    max-width:820px !important;
    margin:38px auto 50px !important;
    padding:44px 34px !important;
    background:linear-gradient(145deg,#ffffff 0%,#f8fbff 100%) !important;
    border:1px solid #dfe7f2 !important;
    border-radius:24px !important;
    box-shadow:0 18px 50px rgba(31,53,91,.10) !important;
    text-align:center !important;
    box-sizing:border-box !important;
}
.rafi-market-status-icon{
    width:72px !important;
    height:72px !important;
    margin:0 auto 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:22px !important;
    background:#eef4ff !important;
    font-size:34px !important;
}
.rafi-market-status-badge{
    display:inline-flex !important;
    padding:7px 13px !important;
    border-radius:999px !important;
    background:#eef2ff !important;
    color:#3156a5 !important;
    font-size:13px !important;
    font-weight:800 !important;
    margin-bottom:12px !important;
}
.rafi-market-status-card h2{
    margin:0 0 10px !important;
    color:#1f3048 !important;
    font-size:30px !important;
    line-height:1.25 !important;
}
.rafi-market-status-card p{
    max-width:650px !important;
    margin:0 auto 24px !important;
    color:#64748b !important;
    line-height:1.7 !important;
}
.rafi-market-status-actions{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px !important;
    flex-wrap:wrap !important;
}
.rafi-market-support-btn,.rafi-market-secondary-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:48px !important;
    padding:0 22px !important;
    border-radius:12px !important;
    text-decoration:none !important;
    font-weight:800 !important;
    box-sizing:border-box !important;
    transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease !important;
}
.rafi-market-support-btn{
    background:#263b78 !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(38,59,120,.22) !important;
}
.rafi-market-secondary-btn{
    background:#fff !important;
    color:#334155 !important;
    border:1px solid #d8e0eb !important;
}
.rafi-market-support-btn:hover,.rafi-market-secondary-btn:hover{
    transform:translateY(-1px) !important;
    opacity:.94 !important;
}
.rafi-market-help-note{
    max-width:620px !important;
    margin:24px auto 0 !important;
    padding:15px 18px !important;
    display:flex !important;
    justify-content:center !important;
    gap:6px !important;
    flex-wrap:wrap !important;
    border-radius:12px !important;
    background:#f1f5f9 !important;
    color:#64748b !important;
    line-height:1.5 !important;
}
.rafi-market-help-note strong{color:#334155 !important}
@media(max-width:620px){
    .rafi-market-status-card{margin:24px 12px 36px !important;padding:32px 20px !important}
    .rafi-market-status-card h2{font-size:24px !important}
    .rafi-market-support-btn,.rafi-market-secondary-btn{width:100% !important}
}

/* Login Required actions */
.rafi-market-login-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:22px;
}
.rafi-market-login-btn,
.rafi-market-support-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:13px 22px;
    border-radius:12px;
    text-decoration:none !important;
    font-weight:700;
    transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
    box-sizing:border-box;
}
.rafi-market-login-btn{
    background:#2563eb !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(37,99,235,.22);
}
.rafi-market-login-btn:hover,
.rafi-market-support-btn:hover{
    transform:translateY(-1px);
    opacity:.95;
}
