/* ============================================================
   Marketplace — featured OGC listings, market stats, anonymised inventory
   ============================================================ */

/* ---------- hero + state picker ---------- */
.mp-hero{background:linear-gradient(160deg,#26282A,#1A1A1A);color:#fff;
  min-height:288px;display:flex;align-items:center}
.mp-hero .wrap{width:100%;display:grid;grid-template-columns:1fr;gap:40px;align-items:center;
  padding-top:56px;padding-bottom:50px}
.mp-hero h1{color:#fff;font-size:clamp(32px,4vw,48px)}
.mp-hero .lead{color:#c6cacd;font-size:17px;margin-top:14px;max-width:58ch}
.mp-pick label{display:block;font-size:11px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:var(--g300);margin-bottom:8px}
.mp-pick select{background:var(--g600);color:#fff;border:1px solid var(--g500);border-radius:10px;
  padding:12px 14px;font:inherit;font-weight:600;min-width:230px;cursor:pointer}

/* ---------- featured OGC cards ---------- */
.mp-feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(282px,1fr));gap:22px}
.mp-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:.16s;display:flex;flex-direction:column}
.mp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.mp-card .ph{height:194px;background:var(--light) center/cover no-repeat;position:relative}
.mp-card .ph .tag{position:absolute;left:11px;top:11px;background:var(--orange);color:#fff;
  font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:4px 8px;border-radius:5px}
.mp-card .b{padding:16px 17px 18px;display:flex;flex-direction:column;flex:1}
.mp-card .price{font-weight:800;color:var(--black);font-size:18px;letter-spacing:-.01em}
.mp-card .nm{font-weight:700;margin-top:3px;font-size:15.5px;line-height:1.3;color:var(--black)}
.mp-card .lo{color:var(--gray);font-size:13px;margin-top:3px}
.mp-card .go{margin-top:auto;padding-top:14px}

/* ---------- market stats band ---------- */
.mp-stats{background:var(--g900);color:#fff;padding:60px 0}
.mp-stats h2{color:#fff}
.mp-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;margin-top:30px}
.mp-figs .f{background:var(--g700);border:1px solid #33383c;border-radius:var(--radius);padding:20px}
.mp-figs .n{font-size:25px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1;
  font-variant-numeric:tabular-nums}
.mp-figs .l{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--g300);margin-top:9px}

/* ---------- anonymised inventory cards ---------- */
.mp-inv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  flex-wrap:wrap;margin:54px 0 22px;padding-top:34px;border-top:1px solid var(--line)}
.mp-inv-head h3{font-size:22px}
.note-plain{color:var(--gray);font-size:14px;margin-top:6px;max-width:62ch}
#mp-search{border:1px solid var(--line);border-radius:10px;padding:11px 14px;font:inherit;
  min-width:230px;background:#fff}
.mp-inv{display:grid;grid-template-columns:repeat(auto-fill,minmax(214px,1fr));gap:14px}
.inv-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 16px 14px;
  display:flex;flex-direction:column;gap:3px;transition:.14s}
.inv-card:hover{border-color:var(--silver);box-shadow:var(--shadow)}
.inv-card .p{font-weight:800;color:var(--black);font-size:17px;letter-spacing:-.01em}
.inv-card .p.tbd{color:var(--gray);font-size:15px;font-weight:700}
.inv-card .c{font-weight:700;font-size:14.5px;color:var(--ink);margin-top:2px}
.inv-card .z{color:var(--gray);font-size:13px}
.inv-card .t{display:inline-block;align-self:flex-start;margin-top:8px;margin-bottom:2px;font-size:10px;
  font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--charcoal);
  background:var(--light);border-radius:5px;padding:3px 7px}
.inv-card button{margin-top:auto;width:100%;justify-content:center;padding-top:9px}
.inv-card .t{margin-bottom:10px}
.mp-more{text-align:center;margin-top:26px}
.mp-empty{color:var(--gray);padding:26px 0}

/* ---------- inquiry modal ---------- */
/* display:flex here beats the browser's [hidden]{display:none}, which left a full-screen
   invisible overlay swallowing every click on the page. Never drop this second rule. */
.mp-modal{position:fixed;inset:0;z-index:120;background:rgba(20,22,24,.72);
  backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;
  overflow-y:auto}
.mp-modal[hidden]{display:none!important}
.mp-modal-card{position:relative;background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);
  padding:28px 28px 24px;width:100%;max-width:440px;margin:auto}
.mp-close{position:absolute;top:12px;right:14px;background:none;border:0;font-size:26px;
  line-height:1;color:var(--gray);cursor:pointer}
.mp-close:hover{color:var(--black)}
.mp-modal-card h3{font-size:21px;margin-top:6px}
.inq-sub{color:var(--gray);font-size:14px;margin-top:4px;margin-bottom:18px}
#inq-form label{display:block;font-size:12.5px;font-weight:700;color:var(--charcoal);margin-bottom:12px}
#inq-form label span{color:var(--orange)}
#inq-form input,#inq-form textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--line);
  border-radius:9px;padding:10px 12px;font:inherit;font-weight:400;color:var(--ink);background:#fff}
#inq-form input:focus,#inq-form textarea:focus{outline:2px solid var(--orange);outline-offset:1px;
  border-color:var(--orange)}
#inq-form textarea{resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.inq-fine{color:var(--gray);font-size:12px;margin-top:12px;line-height:1.5}
.inq-msg{font-size:13.5px;font-weight:700;margin-top:12px;min-height:20px}
.inq-msg.err{color:var(--orange-d)}
.inq-msg.good{color:#1f7a3d}

@media(max-width:860px){
  .mp-hero .wrap{grid-template-columns:1fr;align-items:start;gap:26px}
  .mp-pick select{width:100%}
  .mp-lead{flex-direction:column;align-items:stretch}
}


/* The state filter moved out of the hero and onto the listings heading row, so it
   needs a light-background treatment. */
.mp-lead{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;
  flex-wrap:wrap}
.mp-pick.on-light label{color:var(--gray)}
.mp-pick.on-light select{background:#fff;color:var(--ink);border:1px solid var(--line)}
.mp-pick.on-light select:hover{border-color:var(--silver)}
