/* ── BROWSE CSS ────────────────────────────────────── */
.browse-hero { background:linear-gradient(135deg,#3983F6,#3983F6); padding:3.5rem 2rem 2rem; text-align:center; color:#fff; }
.browse-hero-inner { max-width:700px; margin:0 auto; }
.browse-hero h1 { font-family:'Outfit',sans-serif; font-size:clamp(1.6rem,3vw,2.4rem); font-weight:900; margin:0 0 0.5rem; }
.browse-hero p { color:rgba(255,255,255,0.65); margin:0 0 1.5rem; }
.browse-search-box { display:flex; align-items:center; gap:0.5rem; background:#fff; border-radius:14px; padding:0.5rem 0.5rem 0.5rem 1rem; margin-bottom:1.25rem; box-shadow:0 8px 32px rgba(0,0,0,0.25); }
.browse-search-box input { flex:1; border:none; outline:none; font-size:0.95rem; color:#0f172a; background:transparent; }
.browse-chips { display:flex; flex-wrap:wrap; gap:0.5rem; justify-content:center; }
.chip { padding:0.35rem 0.9rem; border-radius:50px; border:1.5px solid rgba(255,255,255,0.25); background:transparent; color:rgba(255,255,255,0.75); font-size:0.8rem; font-weight:600; cursor:pointer; transition:all 0.2s; }
.chip.active, .chip:hover { background:#f0c040; color:#3983F6; border-color:#f0c040; }

.browse-layout { display:flex; gap:0; max-width:1400px; margin:0 auto; padding:2rem 1.5rem; align-items:flex-start; }

/* Filter sidebar */
.browse-filters { width:260px; flex-shrink:0; background:#fff; border-radius:16px; border:1.5px solid #e2e8f0; padding:1.25rem; position:sticky; top:88px; box-shadow:0 2px 8px rgba(0,0,0,0.04); margin-right:1.5rem; }
.filter-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; }
.filter-close-btn { display:none; }
@media(max-width:800px){ .filter-close-btn { display:inline-flex; } }
.filter-header h3 { font-family:'Outfit',sans-serif; font-size:1rem; font-weight:700; color:#0f172a; margin:0; }
.filter-group { margin-bottom:1.25rem; border-bottom:1px solid #f1f5f9; padding-bottom:1.25rem; }
.filter-group:last-of-type { border-bottom:none; }
.filter-group h4 { font-size:0.82rem; font-weight:700; color:#475569; text-transform:uppercase; letter-spacing:0.06em; margin:0 0 0.6rem; }
.filter-check, .filter-radio { display:flex; align-items:center; gap:0.5rem; font-size:0.85rem; color:#334155; cursor:pointer; margin-bottom:0.4rem; }
.filter-check input, .filter-radio input { accent-color:#3983F6; }
.filter-range-labels { display:flex; justify-content:space-between; font-size:0.78rem; color:#64748b; margin-top:0.4rem; }
.range-slider { width:100%; accent-color:#3983F6; }

/* Content */
.browse-content { flex:1; min-width:0; }
.browse-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; }
.browse-toolbar p { color:#64748b; font-size:0.88rem; margin:0; }
.browse-toolbar p strong { color:#0f172a; }
.browse-toolbar-right { display:flex; align-items:center; gap:0.75rem; }
.view-toggle { display:flex; gap:0.25rem; }
.view-btn { width:34px; height:34px; border-radius:8px; border:1.5px solid #e2e8f0; background:#fff; cursor:pointer; font-size:1rem; transition:all 0.2s; }
.view-btn.active { background:#3983F6; color:#fff; border-color:#3983F6; }
.applied-filters { display:flex; flex-wrap:wrap; gap:0.5rem; margin-bottom:1rem; }
.applied-filter-chip { display:flex; align-items:center; gap:0.4rem; padding:0.3rem 0.75rem; background:#dbeafe; color:#3983F6; border-radius:50px; font-size:0.78rem; font-weight:600; }
.applied-filter-chip button { background:none; border:none; cursor:pointer; color:#3983F6; font-size:1rem; line-height:1; padding:0; }

.ventures-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
@media(max-width:1200px){ .ventures-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:800px){
  .browse-layout { flex-direction:column; }
  .ventures-grid { grid-template-columns:1fr; }

  /* Filter sidebar becomes a hidden-by-default off-canvas drawer, opened via
     the floating "Filters" button (mobileFilterBtn) instead of always
     taking up page height inline. */
  .browse-filters {
    position: fixed;
    top: 0;
    left: 0;
    width: 85%;
    max-width: 340px;
    height: 100vh;
    margin: 0;
    border-radius: 0;
    z-index: var(--z-modal, 1000);
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    box-shadow: 8px 0 24px rgba(0,0,0,0.18);
  }
  .browse-filters.open { transform: translateX(0); }
}
.browse-filters-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: calc(var(--z-modal, 1000) - 1);
}
.browse-filters-overlay.show { display: block; }

/* Venture Card (grid view) — styled to match the markup rendered by browse.js */
.venture-card {
  background: #fff;
  border: 1.5px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.5rem;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  box-shadow: 0 2px 10px rgba(15,23,42,0.05);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.venture-card::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, #3983F6, #3983F6);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}
.venture-card:hover::before { transform: scaleX(1); }
.venture-card:hover {
  box-shadow: 0 16px 40px rgba(15,23,42,0.12);
  transform: translateY(-4px);
  border-color: rgba(57, 131, 246,0.3);
}

.venture-card .vc-header { display: flex; align-items: flex-start; gap: 0.9rem; margin-bottom: 1.1rem; }
.venture-card .vc-icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 1.35rem;
  border: 1px solid rgba(0,0,0,0.05);
}
.venture-card .vc-header .badge { margin-bottom: 0.4rem; display: inline-block; font-size: 0.68rem; }
.venture-card .vc-location { font-size: 0.75rem; color: #94a3b8; font-weight: 500; }

.venture-card .vc-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 0.55rem;
  line-height: 1.35;
}
.venture-card .vc-desc {
  font-size: 0.83rem;
  color: #64748b;
  line-height: 1.55;
  margin: 0 0 1.1rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.venture-card .vc-progress { flex: none; margin-bottom: 1.1rem; }
.venture-card .vc-progress-bar { height: 6px; background: #e2e8f0; border-radius: 3px; overflow: hidden; margin-bottom: 0.45rem; }
.venture-card .vc-progress-fill { height: 100%; border-radius: 3px; background: linear-gradient(90deg, #3983F6, #3983F6); transition: width 1.2s cubic-bezier(0.4,0,0.2,1); }
.venture-card .vc-progress-labels { display: flex; justify-content: space-between; font-size: 0.75rem; color: #64748b; }
.venture-card .vc-progress-labels strong { color: #0f172a; font-weight: 800; }

.venture-card .vc-meta { flex: none; min-width: 0; display: flex; justify-content: space-between; gap: 0.5rem; padding: 0.8rem 0.5rem; background: #f8fafc; border-radius: 10px; margin-bottom: 1.1rem; border: 1px solid #f1f5f9; }
.venture-card .vc-meta-item { text-align: center; flex: 1; }
.venture-card .vc-meta-item strong { display: block; font-family: 'Outfit', sans-serif; font-size: 0.85rem; font-weight: 800; color: #0f172a; line-height: 1.3; }
.venture-card .vc-meta-item span { font-size: 0.63rem; color: #94a3b8; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; }

.venture-card .vc-footer { flex: none; display: flex; gap: 0.5rem; margin-top: auto; padding-top: 0.25rem; }
.venture-card .vc-footer .btn { flex: 1; font-size: 0.8rem; padding: 0.6rem; }


/* List view */
.ventures-list { display:flex; flex-direction:column; gap:0.75rem; }
.vc-list-row { display:flex; align-items:center; gap:1rem; background:#fff; border:1.5px solid #e2e8f0; border-radius:12px; padding:1rem 1.25rem; transition:all 0.2s; }
.vc-list-row:hover { border-color:#3983F6; box-shadow:0 4px 16px rgba(0,0,0,0.08); }
.vc-list-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1.2rem; }
.vc-list-info { flex:1; min-width:0; }
.vc-list-name { font-weight:700; font-size:0.92rem; color:#0f172a; }
.vc-list-meta { font-size:0.78rem; color:#64748b; }
.vc-list-financials { display:flex; gap:1.5rem; }
.vc-list-fin { text-align:center; }
.vc-list-fin strong { display:block; font-family:'Outfit',sans-serif; font-size:0.88rem; font-weight:800; color:#0f172a; }
.vc-list-fin span { font-size:0.7rem; color:#94a3b8; }
.vc-list-actions { display:flex; gap:0.5rem; }

.empty-state { text-align:center; padding:4rem 2rem; }
.empty-state h3 { font-family:'Outfit',sans-serif; font-size:1.3rem; font-weight:700; color:#0f172a; margin:0.75rem 0 0.5rem; }
.empty-state p { color:#64748b; margin-bottom:1.5rem; }
.browse-pagination { display:flex; justify-content:center; gap:0.5rem; margin-top:2rem; }
.page-btn { width:36px; height:36px; border-radius:8px; border:1.5px solid #e2e8f0; background:#fff; cursor:pointer; font-size:0.85rem; transition:all 0.2s; }
.page-btn.active { background:#3983F6; color:#fff; border-color:#3983F6; }
.page-btn:hover:not(.active) { border-color:#3983F6; color:#3983F6; }
.browse-filter-fab { display:none; position:fixed; bottom:1.5rem; right:1.5rem; background:#3983F6; color:#fff; border:none; border-radius:50px; padding:0.75rem 1.25rem; font-weight:700; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,0.25); z-index:100; }
@media(max-width:800px){ .browse-filter-fab { display:flex; align-items:center; gap:0.4rem; } }
.hidden { display:none !important; }
