/* ═══════════════════════════════════════════════════════════════
   Immosoft Marketplace — public-facing styles
   Modern, professional, scoped under .imsmk to avoid theme conflicts
═══════════════════════════════════════════════════════════════ */
.imsmk{
  --mk-green:var(--ims-g,#0EB37A); --mk-green-d:var(--ims-g-d,#0A8F60); --mk-green-dd:#076644; --mk-green-lt:#E6F9F2;
  --mk-navy:#111827; --mk-mid:#374151; --mk-muted:#6B7280; --mk-soft:#9CA3AF;
  --mk-line:#E5E7EB; --mk-bg:#F9FAFB; --mk-card:#fff; --mk-wa:#25D366;
  --mk-r:8px; --mk-rl:12px; --mk-rxl:16px;
  --mk-sh:0 1px 3px rgba(0,0,0,.06);
  --mk-sh2:0 4px 12px rgba(0,0,0,.08);
  --mk-sh3:0 8px 24px rgba(0,0,0,.12);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--mk-mid); line-height:1.5;
}
.imsmk *{box-sizing:border-box}
.imsmk a{color:var(--mk-green-d);text-decoration:none}
.imsmk a:hover{text-decoration:underline}

/* Container */
.imsmk-container{max-width:1280px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:300px 1fr;gap:24px}
.imsmk-listing .imsmk-container,.imsmk-compound .imsmk-container{display:block}

/* ── HERO ────────────────────────────────────────────────── */
.imsmk-hero{
  background:linear-gradient(135deg,var(--mk-navy) 0%,var(--mk-green-dd) 100%);
  color:#fff;padding:54px 20px 44px;text-align:center;
}
.imsmk-hero-inner{max-width:880px;margin:0 auto}
.imsmk-hero h1{font-size:36px;margin:0 0 8px;color:#fff;font-weight:800}
.imsmk-hero-sub{font-size:16px;opacity:.85;margin:0 0 24px}

.imsmk-tabs{display:inline-flex;gap:5px;background:rgba(255,255,255,.12);padding:5px;border-radius:var(--mk-rxl);margin-bottom:20px}
.imsmk-tab{background:transparent;border:0;color:#fff;padding:10px 24px;border-radius:var(--mk-rl);
  cursor:pointer;font-weight:600;font-size:14px;opacity:.8;transition:.2s;font-family:inherit}
.imsmk-tab:hover{opacity:1}
.imsmk-tab.active{background:#fff;color:var(--mk-green-dd);opacity:1;box-shadow:var(--mk-sh2)}

.imsmk-search-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;background:#fff;padding:10px;border-radius:var(--mk-rxl);box-shadow:var(--mk-sh3);max-width:760px;margin:0 auto}
.imsmk-input,.imsmk-select{border:1px solid var(--mk-line);border-radius:var(--mk-rl);padding:11px 14px;font-size:14px;color:var(--mk-mid);background:#fff;font-family:inherit;min-width:140px}
.imsmk-input-q{flex:1;min-width:240px}
.imsmk-input:focus,.imsmk-select:focus{outline:0;border-color:var(--mk-green)}

/* Buttons */
.imsmk-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;border-radius:var(--mk-rl);font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:.18s;font-family:inherit;text-decoration:none;line-height:1}
.imsmk-btn:hover{text-decoration:none;transform:translateY(-1px)}
.imsmk-btn-primary{background:var(--mk-green);color:#fff}
.imsmk-btn-primary:hover{background:var(--mk-green-d);color:#fff}
.imsmk-btn-ghost{background:#fff;color:var(--mk-mid);border-color:var(--mk-line)}
.imsmk-btn-ghost:hover{border-color:var(--mk-green)}
.imsmk-btn-wa{background:var(--mk-wa);color:#fff}
.imsmk-btn-wa:hover{background:#1FB855;color:#fff}
.imsmk-btn-full{width:100%;margin-bottom:8px}
.imsmk-btn-link{background:transparent;border:0;color:var(--mk-green-d);font-size:13px;cursor:pointer;font-weight:600}

/* ── BODY: filters + results ─────────────────────────────── */
.imsmk-body{background:var(--mk-bg);padding:28px 0 60px;min-height:60vh}

/* Filters sidebar */
.imsmk-filters{background:var(--mk-card);border:1px solid var(--mk-line);border-radius:var(--mk-rxl);padding:18px;height:fit-content;position:sticky;top:20px}
.imsmk-filters-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--mk-line)}
.imsmk-filter{margin-bottom:16px}
.imsmk-filter label{display:block;font-size:12px;font-weight:600;color:var(--mk-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}
.imsmk-filter input,.imsmk-filter select{width:100%;padding:9px 11px;border:1px solid var(--mk-line);border-radius:var(--mk-r);font-size:13px;color:var(--mk-mid);background:#fff;font-family:inherit}
.imsmk-filter input:focus,.imsmk-filter select:focus{outline:0;border-color:var(--mk-green)}
.imsmk-range{display:flex;gap:6px}
.imsmk-range input{flex:1}
.imsmk-filter-row{display:flex;gap:10px}
.imsmk-filter-row > div{flex:1}
.imsmk-chips{display:flex;flex-wrap:wrap;gap:4px;max-height:200px;overflow-y:auto;padding:2px}
.imsmk-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:#f3f4f6;border-radius:14px;font-size:12px;cursor:pointer;transition:.15s;border:1px solid transparent}
.imsmk-chip input{display:none}
.imsmk-chip:has(input:checked){background:var(--mk-green-lt);color:var(--mk-green-dd);border-color:var(--mk-green)}

/* Results */
.imsmk-results-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px}
.imsmk-count{font-size:14px;color:var(--mk-mid);font-weight:600}
.imsmk-sort{max-width:200px}

.imsmk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}

/* Card */
.imsmk-card{background:#fff;border:1px solid var(--mk-line);border-radius:var(--mk-rxl);overflow:hidden;color:inherit;display:block;transition:.2s;box-shadow:var(--mk-sh)}
.imsmk-card:hover{transform:translateY(-3px);box-shadow:var(--mk-sh3);border-color:var(--mk-green);text-decoration:none}
.imsmk-card-img{position:relative;height:180px;background:var(--mk-green-lt);display:flex;align-items:center;justify-content:center;overflow:hidden}
.imsmk-card-img img{width:100%;height:100%;object-fit:cover}
.imsmk-card-img span{font-size:54px;opacity:.45}
.imsmk-card-badge{position:absolute;top:10px;inset-inline-end:10px;background:var(--mk-green);color:#fff;padding:4px 11px;border-radius:14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.imsmk-card-type{position:absolute;bottom:10px;inset-inline-start:10px;background:rgba(0,0,0,.7);color:#fff;padding:3px 10px;border-radius:12px;font-size:11px}
.imsmk-card-body{padding:14px}
.imsmk-card-title{font-weight:700;font-size:15px;color:var(--mk-navy);margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.imsmk-card-loc{font-size:12px;color:var(--mk-muted);margin-bottom:9px}
.imsmk-card-meta{font-size:12px;color:var(--mk-mid);margin-bottom:9px}
.imsmk-card-price{font-size:17px;font-weight:800;color:var(--mk-green-d);border-top:1px solid var(--mk-line);padding-top:9px}
.imsmk-card-price small{font-size:11px;font-weight:500;color:var(--mk-muted)}

/* Pager */
.imsmk-pager{display:flex;gap:5px;justify-content:center;margin:28px 0 0;flex-wrap:wrap}
.imsmk-page-btn{min-width:36px;height:36px;border:1px solid var(--mk-line);background:#fff;border-radius:var(--mk-r);cursor:pointer;font-weight:600;color:var(--mk-mid);font-size:13px}
.imsmk-page-btn.active{background:var(--mk-green);color:#fff;border-color:var(--mk-green)}
.imsmk-page-btn:hover:not(.active){border-color:var(--mk-green)}

/* Empty */
.imsmk-empty{text-align:center;padding:60px 20px;grid-column:1/-1;color:var(--mk-muted)}
.imsmk-empty-icon{font-size:54px;display:block;margin-bottom:14px}

/* ── LISTING DETAIL ──────────────────────────────────────── */
.imsmk-listing{background:var(--mk-bg);padding:24px 0 60px;min-height:80vh}
.imsmk-back{display:inline-block;margin-bottom:14px;color:var(--mk-green-d);font-weight:600}
.imsmk-gallery{margin-bottom:22px}
.imsmk-gallery-main{position:relative;width:100%;height:440px;border-radius:var(--mk-rxl);overflow:hidden;background:#0f0f0f;display:flex;align-items:center;justify-content:center}
.imsmk-gallery-main img{width:100%;height:100%;object-fit:cover;image-rendering:auto;display:block}
.imsmk-gallery-empty{background:linear-gradient(135deg,#e8f5ee,#d1ede0)!important}
.imsmk-gallery-empty span{font-size:96px;opacity:.4}
.imsmk-gallery-zoom{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.55);color:#fff;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:.2s}
.imsmk-gallery-zoom:hover{background:rgba(0,0,0,.8)}
.imsmk-gallery-thumbs{display:flex;gap:8px;margin-top:9px;overflow-x:auto;padding-bottom:4px}
.imsmk-gallery-thumbs img{width:88px;height:66px;object-fit:cover;border-radius:var(--mk-r);cursor:pointer;border:2px solid transparent;flex-shrink:0}
.imsmk-gallery-thumbs img:hover,.imsmk-gallery-thumbs img.active{border-color:var(--mk-green)}

/* Lightbox */
.imsmk-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px}
.imsmk-lightbox img{max-width:95vw;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.5)}
.imsmk-lightbox-close{position:absolute;top:18px;right:24px;color:#fff;font-size:32px;cursor:pointer;line-height:1;z-index:1;opacity:.8}
.imsmk-lightbox-close:hover{opacity:1}

.imsmk-detail-grid{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
.imsmk-detail-main{background:#fff;padding:26px;border-radius:var(--mk-rxl);border:1px solid var(--mk-line)}
.imsmk-detail-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.imsmk-badge{display:inline-block;padding:4px 12px;border-radius:14px;font-size:12px;font-weight:700}
.imsmk-badge-listing{background:var(--mk-green);color:#fff}
.imsmk-badge-type{background:var(--mk-green-lt);color:var(--mk-green-dd)}
.imsmk-views{margin-inline-start:auto;font-size:12px;color:var(--mk-muted)}
.imsmk-detail-main h1{font-size:28px;color:var(--mk-navy);margin:0 0 8px;font-weight:800}
.imsmk-location{color:var(--mk-muted);font-size:14px;margin-bottom:18px}

.imsmk-prices{display:flex;gap:20px;margin:18px 0;padding:18px;background:var(--mk-green-lt);border-radius:var(--mk-rxl);flex-wrap:wrap}
.imsmk-price-box small{display:block;color:var(--mk-muted);font-size:11px;margin-bottom:3px;text-transform:uppercase;letter-spacing:.4px}
.imsmk-price-box strong{font-size:26px;color:var(--mk-green-dd);font-weight:800;display:block}
.imsmk-price-box strong span{font-size:13px;font-weight:500;color:var(--mk-muted)}

.imsmk-specs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.imsmk-spec{display:flex;align-items:center;gap:6px;background:#f3f4f6;border-radius:var(--mk-rl);padding:9px 14px;font-size:13px;font-weight:600;color:var(--mk-mid)}
.imsmk-spec span{font-size:18px}

.imsmk-section{margin:22px 0;padding-top:18px;border-top:1px solid var(--mk-line)}
.imsmk-section h2{font-size:17px;color:var(--mk-navy);margin:0 0 10px}
.imsmk-section p{color:var(--mk-mid);line-height:1.7}

.imsmk-features{display:flex;flex-wrap:wrap;gap:8px}
.imsmk-feat{background:#f3f4f6;border-radius:14px;padding:7px 13px;font-size:13px;color:var(--mk-mid)}
.imsmk-feat-inherited{background:#EEF6FF;color:#1F5DAA}
.imsmk-feat-inherited small{opacity:.7}

/* Contact sidebar */
.imsmk-detail-sidebar{position:sticky;top:20px}
.imsmk-contact-card{background:#fff;border:1px solid var(--mk-line);border-radius:var(--mk-rxl);padding:22px;box-shadow:var(--mk-sh2)}
.imsmk-contact-card h3{font-size:17px;color:var(--mk-navy);margin:0 0 14px}
.imsmk-owner{display:flex;align-items:center;gap:11px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--mk-line)}
.imsmk-owner-avatar{width:44px;height:44px;border-radius:50%;background:var(--mk-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}
.imsmk-msg-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--mk-line);display:none}
.imsmk-msg-form.show{display:block}
.imsmk-msg-form h4{font-size:14px;margin:0 0 10px;color:var(--mk-navy)}
.imsmk-msg-form input,.imsmk-msg-form textarea{width:100%;padding:9px 12px;border:1px solid var(--mk-line);border-radius:var(--mk-r);font-size:13px;margin-bottom:8px;font-family:inherit}
.imsmk-msg-form textarea{resize:vertical;min-height:80px}
.imsmk-success{padding:14px;text-align:center;color:var(--mk-green-dd);background:var(--mk-green-lt);border-radius:var(--mk-rl);margin-top:10px;font-weight:600}

/* Compound */
.imsmk-compound{background:var(--mk-bg);padding:24px 0 60px}
.imsmk-compound-hero{position:relative;height:280px;border-radius:var(--mk-rxl);overflow:hidden;margin-bottom:26px;background:var(--mk-green-lt)}
.imsmk-compound-hero img{width:100%;height:100%;object-fit:cover}
.imsmk-compound-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.65) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:26px;color:#fff}
.imsmk-compound-overlay h1{margin:0 0 6px;font-size:30px;color:#fff}

/* Responsive */
@media (max-width:980px){
  .imsmk-container{grid-template-columns:1fr}
  .imsmk-filters{position:static}
  .imsmk-detail-grid{grid-template-columns:1fr}
  .imsmk-detail-sidebar{position:static}
}
@media (max-width:600px){
  .imsmk-hero h1{font-size:26px}
  .imsmk-hero{padding:36px 16px 30px}
  .imsmk-search-row{flex-direction:column}
  .imsmk-search-row .imsmk-input,.imsmk-search-row .imsmk-select{width:100%}
  .imsmk-gallery-main{height:240px}
  .imsmk-detail-main{padding:18px}
  .imsmk-detail-main h1{font-size:22px}
  .imsmk-prices{flex-direction:column;gap:12px}
}

/* RTL fixes */
.imsmk[dir="rtl"] .imsmk-tabs{direction:rtl}

/* ── Map view ── */
.imsmk-head-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.imsmk-view-toggle{display:inline-flex;background:#fff;border:1px solid var(--mk-line);border-radius:var(--mk-rl);overflow:hidden}
.imsmk-vt{background:transparent;border:0;padding:8px 16px;cursor:pointer;font-weight:600;font-size:13px;color:var(--mk-muted);font-family:inherit}
.imsmk-vt.active{background:var(--mk-green);color:#fff}
.imsmk-map-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px;background:#fff;padding:10px 14px;border-radius:var(--mk-rl);border:1px solid var(--mk-line)}
.imsmk-radius-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mk-mid)}
.imsmk-radius-label select{padding:6px 10px;border:1px solid var(--mk-line);border-radius:var(--mk-r);font-size:13px}
.imsmk-map{height:540px;border-radius:var(--mk-rxl);overflow:hidden;border:1px solid var(--mk-line);z-index:1}
.imsmk-map-popup{font-family:inherit;min-width:180px}
.imsmk-map-popup img{width:100%;height:100px;object-fit:cover;border-radius:6px;margin-bottom:6px}
.imsmk-map-popup .t{font-weight:700;color:var(--mk-navy);font-size:14px;margin-bottom:3px}
.imsmk-map-popup .p{color:var(--mk-green-d);font-weight:700;font-size:14px}
.imsmk-map-popup a{display:inline-block;margin-top:6px;color:var(--mk-green-d);font-weight:600;font-size:13px}
.imsmk-card-distance{font-size:12px;color:var(--mk-green-d);font-weight:600;margin-top:4px}
@media(max-width:600px){.imsmk-map{height:380px}}

/* ── Mobile responsive ── */
@media(max-width:768px){
  .imsmk-board,.imsmk-wrap,.imsmk-grid{grid-template-columns:1fr !important}
  .imsmk-filters,.imsmk-toolbar{flex-wrap:wrap;gap:8px}
  .imsmk-filters select,.imsmk-filters input,.imsmk-toolbar select,.imsmk-toolbar input{flex:1;min-width:130px}
  .imsmk-modal{width:100% !important;max-width:100% !important;border-radius:14px 14px 0 0;max-height:92vh}
  .imsmk-grid2{grid-template-columns:1fr !important}
  table{display:block;overflow-x:auto;white-space:nowrap}
}
@media(max-width:560px){
  .imsmk-cards,.imsmk-list{grid-template-columns:1fr !important}
  .imsmk-stat,.imsmk-kpi{min-width:100% !important}
}
