/* ─────────────────────────────────────────
   Velocity Fund — portfolio.css
───────────────────────────────────────── */

/* FILTER BAR */
.filter-section {
  padding: 0 52px;
  position: sticky; top: 60px; z-index: 40;
  background: rgba(6,6,8,.97); backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
}
.filter-inner { display: flex; align-items: center; flex-wrap: wrap; }

/* SEARCH */
.search-wrap { position: relative; flex-shrink: 0; border-right: 1px solid var(--border); }
.search-wrap svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); opacity: .4; }
#search {
  background: transparent; border: none; outline: none;
  font-family: 'JetBrains Mono', monospace; font-size: 11px;
  color: var(--text); letter-spacing: .04em;
  padding: 18px 16px 18px 42px; width: 240px;
}
#search::placeholder { color: var(--muted); }

/* DROPDOWN FILTERS */
.filter-dropdown { position: relative; border-right: 1px solid var(--border); flex-shrink: 0; }
.dropdown-trigger {
  display: flex; align-items: center; gap: 8px;
  font-family: 'JetBrains Mono', monospace; font-size: 10px;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--mid); padding: 0 18px; height: 57px;
  background: transparent; border: none; cursor: pointer;
  transition: color .15s; white-space: nowrap; user-select: none;
}
.dropdown-trigger:hover { color: var(--text); }
.dropdown-trigger.has-value { color: var(--yellow); }
.trigger-label { opacity: .5; font-size: 9px; }
.chevron {
  margin-left: 2px; opacity: .4; transition: transform .2s; flex-shrink: 0;
  display: inline-block; width: 0; height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid currentColor;
}
.filter-dropdown.open .chevron { transform: rotate(180deg); }

.dropdown-menu {
  position: absolute; top: calc(100% + 1px); left: 0;
  background: var(--surface); border: 1px solid var(--borderB);
  min-width: 160px; z-index: 200;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .15s, transform .15s, visibility .15s;
  box-shadow: 0 16px 40px rgba(0,0,0,.5);
}
.filter-dropdown.open .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }

.dropdown-option {
  display: block; width: 100%;
  font-family: 'JetBrains Mono', monospace; font-size: 10px;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--mid); padding: 13px 18px;
  background: transparent; border: none; border-bottom: 1px solid var(--border);
  text-align: left; cursor: pointer;
  transition: color .12s, background .12s;
}
.dropdown-option:last-child { border-bottom: none; }
.dropdown-option:hover { color: var(--text); background: rgba(255,255,255,.04); }
.dropdown-option.active { color: var(--yellow); background: rgba(245,230,66,.07); }
.dropdown-option.active::before { content: '✓  '; }

/* RESULTS META */
.results-meta {
  padding: 20px 52px;
  display: flex; align-items: center; justify-content: space-between;
}
.results-count { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--mid); }
.results-count strong { color: var(--yellow); }

/* PORTFOLIO GRID */
.portfolio-wrap { padding: 0 52px 110px; }
.portfolio-grid-full {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 1px; background: var(--border); border: 1px solid var(--border);
}

/* CARDS */
.co-card,
.co-card:link,
.co-card:visited,
.co-card:hover,
.co-card:active {
  background: var(--card); padding: 36px 32px 32px;
  position: relative; overflow: hidden; cursor: pointer;
  transition: background .2s; display: flex; flex-direction: column;
  color: var(--text); text-decoration: none;
}

.co-card * {
  color: inherit;
}

.co-card::before {
  content: ''; position: absolute; top: 0; left: 0;
  width: 2px; height: 0; background: var(--yellow); transition: height .3s;
}
.co-card:hover::before { height: 100%; }
.co-card:hover { background: var(--surface); }

.co-card-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 14px; }
.co-card-name { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.co-badges { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }

.badge {
  font-family: 'JetBrains Mono', monospace; font-size: 8px;
  letter-spacing: .1em; text-transform: uppercase;
  padding: 3px 8px; border: 1px solid var(--borderB); color: var(--muted);
  white-space: nowrap;
}
.badge.sector-saas     { border-color: rgba(245, 230, 66, .6); color: #f5e642; }
.badge.sector-ai       { border-color: rgba(255, 101, 130, .45); color: #ff6582; }
.badge.sector-health   { border-color: rgba(135, 161, 245, .45); color: #87a1f5; }
.badge.sector-deeptech { border-color: rgba(237, 149, 175, .45); color: #d9a4cb; }
.badge.sector-fintech  { border-color: rgba(255, 158, 100, .45); color: #ffb77d; }
.badge.sector-climate  { border-color: rgba(158, 206, 106, .4); color: #9ece6a; }
.badge.sector-gaming   { border-color: rgba(241, 118, 142, .4); color: #f7768e; }
.badge.sector-consumer { border-color: rgba(170, 223, 240, .45); color: #7fd5ed; }
.badge.fund-badge      { border-color: #777; color: #999; }

.co-card-founders { font-family: 'JetBrains Mono', monospace; font-size: 9px; color: var(--muted); letter-spacing: .04em; margin-bottom: 14px; line-height: 1.6; }
.co-card-desc { font-size: 12px; color: var(--mid); line-height: 1.7; flex: 1; }
.co-card-desc-text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.co-card-bottom {
  margin-top: 20px; padding-top: 16px;
  border-top: 1px solid var(--border);
}
.co-card-meta { font-family: 'JetBrains Mono', monospace; font-size: 9px; color: var(--muted); }

.co-website {
  display: block; margin-top: 14px;
  font-family: 'JetBrains Mono', monospace; font-size: 9px;
  letter-spacing: .08em; color: var(--muted); text-decoration: none;
  text-transform: lowercase; transition: color .2s;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.co-website:hover { color: var(--yellow); }

/* EMPTY STATE */
.empty-state { grid-column: 1/-1; padding: 110px; text-align: center; }
.empty-state p { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--muted); }
.empty-state button {
  background: none; border: none; color: var(--yellow);
  font-family: 'JetBrains Mono', monospace; font-size: 11px;
  letter-spacing: .08em; cursor: pointer;
}

@media (max-width: 1100px) { .portfolio-grid-full { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 700px) {
  .filter-section { padding: 0 20px; }
  .results-meta, .portfolio-wrap { padding-left: 20px; padding-right: 20px; }
  .portfolio-grid-full { grid-template-columns: 1fr; }
  #search { width: 180px; }
}
