/* =====================================================================
   Marketplace — offers and inquiries.

   Not in design/, so it reuses the directory's hero, search bar, card and
   pager rather than inventing a second visual language. Only what is
   genuinely new to this page lives here.
   ===================================================================== */
.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;padding:4px 0 24px}
.mk-card{padding:18px 20px;display:flex;flex-direction:column;gap:12px;cursor:pointer}
.mk-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mk-head .fine{margin-left:auto}
.tag.cond{background:#FEF3C7;color:#92400E;text-transform:capitalize}
.mk-title{font-size:16px;line-height:1.3;letter-spacing:-.01em}

.mk-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.mk-facts li{display:flex;justify-content:space-between;gap:12px}
.mk-facts li span{color:var(--mute)}
.mk-facts li b{text-align:right;font-variant-numeric:tabular-nums}

.mk-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;
         margin-top:auto;padding-top:12px;border-top:1px solid #F1F5F9}
.mk-foot .who b{display:block;font-size:13.5px}
.mk-foot .who small{display:block;font-size:12px;color:var(--mute)}
.mk-foot .go{width:32px;height:32px;border-radius:50%;background:var(--bg);color:var(--blue);
             display:grid;place-items:center;font-size:18px;font-weight:700;flex:none}
.mk-card:hover .go{background:var(--blue);color:#fff}

/* ---------- Detail ---------- */
.mk-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start;padding-top:24px;padding-bottom:48px}
.mk-detail .card{padding:24px}
.mk-spec{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:4px}
.mk-spec div{background:var(--bg);border-radius:12px;padding:10px 12px}
.mk-spec span{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;
              text-transform:uppercase;color:var(--mute)}
.mk-spec b{display:block;font-size:14.5px;margin-top:3px}
.mk-body{margin:0;font-size:14.5px;line-height:1.65;color:#334155;white-space:pre-line}

.mk-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:16px}
.mk-contact li{display:flex;gap:10px;align-items:center;font-size:14px;padding:8px 0}
.mk-contact li span{color:var(--mute);width:70px;flex:none;font-size:12.5px}

/* The reply box is the point of the page for a member, so it is a card of
   its own rather than a link somewhere else. */
.reply textarea{width:100%;border:0;background:var(--bg);border-radius:12px;padding:12px 14px;
                font:inherit;font-size:14.5px;line-height:1.5;min-height:110px;resize:vertical;outline:0}
.reply textarea:focus{box-shadow:0 0 0 2px var(--blue)}

@media (max-width:1023px){
  .mk-detail{grid-template-columns:minmax(0,1fr)}
  .mk-side{position:static}
}
@media (max-width:639px){
  .mk-grid{grid-template-columns:minmax(0,1fr)}
}

/* Its own tab row rather than the dashboard's .pick-tabs — this page has
   no reason to load dashboard.css for two buttons. */
.mk-tabs{display:flex;gap:4px;background:#fff;border-radius:12px;padding:4px;box-shadow:var(--shadow)}
.mk-tabs button{border:0;background:none;border-radius:9px;padding:0 14px;min-height:36px;
                font:inherit;font-size:13.5px;font-weight:700;color:#475569;cursor:pointer;white-space:nowrap}
.mk-tabs button:hover{background:var(--bg);transform:none}
.mk-tabs button[data-on="true"]{background:var(--blue);color:#fff}

.mk-detail h1{font-size:26px;letter-spacing:-.02em;line-height:1.25}
.mk-company{display:flex;gap:12px;align-items:center;color:inherit}
.mk-company b{display:block;font-size:14.5px}
.mk-company small{display:block;font-size:12.5px;color:var(--mute)}
.mk-contact{list-style:none;margin:6px 0 0;padding:0}
.mk-contact a{font-weight:600;word-break:break-word}
.paywall{background:var(--bg);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.paywall b{font-size:14px}
.paywall p{margin:0;font-size:13px;line-height:1.55;color:var(--mute)}
.paywall .btn{margin-top:4px}

/* ---------- Composer ----------
   Two columns: the form, and a rail of ad slots. */
.post-wrap{padding-top:32px;padding-bottom:64px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.post-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.post-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:16px}
.post-side .ad{width:100%}
.post-head .kick{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.post-head h1{font-size:32px;letter-spacing:-.02em;margin-top:4px}
.post-head .sub{margin:8px 0 0;font-size:14.5px;line-height:1.55;color:#475569;max-width:60ch}
.post-wrap form{display:flex;flex-direction:column;gap:16px}
.post-wrap .card{padding:20px 22px;display:flex;flex-direction:column;gap:12px;border:0;box-shadow:var(--shadow)}
.post-wrap .save-row .fine{margin-right:auto}

/* The page takes its colour from data-kind: green selling, orange buying. */
.post-head .kick{color:var(--accent)}
.post-head .swap{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--accent)}
.post-head .swap:hover{text-decoration:underline}
.btn-accent{background:var(--accent);color:#fff;box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 30%, transparent)}
.btn-accent:hover{filter:brightness(.92);color:#fff}
.post-wrap .card .ch b{color:var(--accent)}
.post-wrap .fld:focus-within{box-shadow:0 0 0 2px var(--accent)}

/* Queued documents, before the listing exists to hang them on. */
.file-list{display:flex;flex-direction:column;gap:8px}
.file-row{display:flex;align-items:center;gap:12px;background:var(--bg);border-radius:12px;padding:10px 14px}
.file-row b{flex:1;min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-row .ext{font-size:10.5px;font-weight:800;letter-spacing:.06em;color:var(--accent);
               background:var(--accent-10);border-radius:6px;padding:3px 7px;flex:none}
.file-row .lock{flex:none;font-weight:700;color:var(--mute)}

@media (max-width:1023px){
  .post-wrap{grid-template-columns:minmax(0,1fr)}
  .post-side{position:static;flex-direction:row;flex-wrap:wrap}
  .post-side .ad{flex:1;min-width:280px}
}
