/* ── VENTURE DETAIL CSS ─────────────────────────────── */
.container { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.vd-breadcrumb { font-size:0.82rem; color:#64748b; display:flex; align-items:center; gap:0.4rem; }
.vd-breadcrumb a { color:#3983F6; text-decoration:none; }
.vd-breadcrumb a:hover { text-decoration:underline; }

/* Hero */
.vd-hero {
  background: linear-gradient(135deg, #3983F6, #3983F6);
  color: #fff;
  padding: calc(var(--navbar-height, 68px) + 2rem) 0 2.5rem;
}
.vd-hero-inner { display:flex; flex-direction:column; gap:1.5rem; }
.vd-title-row { display:flex; gap:1.25rem; align-items:flex-start; }
.vd-big-icon { width:64px; height:64px; border-radius:16px; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; font-size:2rem; flex-shrink:0; }
.vd-title-info h1 { font-family:'Outfit',sans-serif; font-size:clamp(1.4rem,3vw,2.2rem); font-weight:900; margin:0 0 0.5rem; }
.vd-title-meta { display:flex; flex-wrap:wrap; gap:0.6rem; align-items:center; }
.vd-meta-pill { font-size:0.82rem; color:rgba(255,255,255,0.7); }
.vd-progress-section { background:rgba(255,255,255,0.08); border-radius:14px; padding:1.25rem; }
.vd-prog-labels { display:flex; justify-content:space-between; align-items:center; margin-bottom:0.6rem; }
.vd-raised { font-size:1.1rem; font-weight:700; color:#f0c040; }
.vd-prog-pct { font-family:'Outfit',sans-serif; font-size:1.5rem; font-weight:900; color:#fff; }
.vd-target { font-size:0.85rem; color:rgba(255,255,255,0.65); }
.vd-prog-bar { height:8px; background:rgba(255,255,255,0.15); border-radius:4px; overflow:hidden; }
.vd-prog-fill { height:100%; border-radius:4px; background:linear-gradient(90deg,#f0c040,#f59e0b); transition:width 1.5s ease; }
.vd-prog-sub { display:flex; gap:1.5rem; margin-top:0.6rem; font-size:0.82rem; color:rgba(255,255,255,0.65); }

/* Layout */
.vd-layout { display:grid; grid-template-columns:1fr 320px; gap:2rem; padding:2rem 1.5rem; }
@media(max-width:900px){ .vd-layout { grid-template-columns:1fr; } }
.vd-content { min-width:0; }

/* Tabs — horizontally scrollable so a full row of tabs never forces the
   whole page wider than the viewport on narrow/mobile screens. */
.vd-tabs-bar { display:flex; gap:0; border-bottom:2px solid #e2e8f0; margin-bottom:1.5rem; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.vd-tabs-bar::-webkit-scrollbar { display:none; }
.tab-btn { padding:0.75rem 1.25rem; border:none; background:none; cursor:pointer; font-size:0.9rem; font-weight:600; color:#64748b; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all 0.2s; white-space:nowrap; flex-shrink:0; }
.tab-btn.active { color:#3983F6; border-bottom-color:#3983F6; }
.tab-panel { display:none; }
.tab-panel.active { display:block; }
.tab-panel h3, .tab-panel h4 { font-family:'Outfit',sans-serif; font-weight:700; color:#0f172a; margin:1.25rem 0 0.6rem 0; }
.tab-panel h3:first-child { margin-top:0; }
.vd-description, .vd-requirements { color:#334155; line-height:1.7; font-size:0.9rem; }

/* Timeline */
.vd-timeline { display:flex; flex-direction:column; gap:0; }
.vd-tl-step { display:flex; gap:1rem; padding-bottom:1.25rem; position:relative; }
.vd-tl-step::before { content:''; position:absolute; left:10px; top:20px; bottom:0; width:2px; background:#e2e8f0; }
.vd-tl-step:last-child::before { display:none; }
.vd-tl-dot { width:22px; height:22px; border-radius:50%; border:2px solid #e2e8f0; background:#fff; flex-shrink:0; margin-top:2px; }
.vd-tl-dot--done { background:#16a34a; border-color:#16a34a; }
.vd-tl-dot--active { background:#3983F6; border-color:#3983F6; box-shadow:0 0 0 4px rgba(57, 131, 246,0.15); }
.vd-tl-step > div:last-child strong { font-size:0.9rem; color:#0f172a; }
.vd-tl-step > div:last-child p { font-size:0.82rem; color:#64748b; margin:0.15rem 0 0; }

/* Documents */
.vd-docs { display:flex; flex-direction:column; gap:0.5rem; }
.vd-doc-item { display:flex; align-items:center; gap:0.75rem; padding:0.75rem; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0; font-size:0.85rem; color:#334155; }

/* Founder card */
.vd-founder-card { display:flex; gap:1.5rem; align-items:flex-start; background:#f8fafc; border:1.5px solid #e2e8f0; border-radius:14px; padding:1.5rem; margin-bottom:1.5rem; }
.founder-avatar-lg { width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg,#3983F6,#3983F6); color:#fff; font-size:1.5rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.founder-info h3 { font-family:'Outfit',sans-serif; font-size:1.2rem; font-weight:800; color:#0f172a; margin:0 0 0.25rem; }
.founder-city { color:#64748b; font-size:0.85rem; margin:0 0 0.6rem; }
.founder-bio { color:#334155; font-size:0.88rem; line-height:1.5; margin:0 0 0.75rem; }
.founder-tags { display:flex; flex-wrap:wrap; gap:0.4rem; }

/* Members */
.vd-members-count { color:#64748b; font-size:0.88rem; margin-bottom:1rem; }
.vd-members-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:0.75rem; }
.member-card { background:#f8fafc; border:1.5px solid #e2e8f0; border-radius:12px; padding:1rem; text-align:center; }
.member-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#3983F6,#3983F6); color:#fff; font-size:0.9rem; font-weight:700; display:flex; align-items:center; justify-content:center; margin:0 auto 0.5rem; }
.member-name { font-weight:600; font-size:0.82rem; color:#0f172a; margin-bottom:0.2rem; }
.member-investment { font-size:0.75rem; color:#64748b; margin-bottom:0.3rem; }

/* Meetup list */
.vd-meetup-item { display:flex; gap:0.75rem; padding:1rem 0; border-bottom:1px solid #f1f5f9; }
.vd-meetup-item:last-child { border-bottom:none; }
.vd-meet-date { width:44px; height:44px; border-radius:10px; background:linear-gradient(135deg,#3983F6,#3983F6); display:flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0; }
.vd-meet-date span:first-child { font-size:0.6rem; color:rgba(255,255,255,0.7); text-transform:uppercase; }
.vd-meet-date span:last-child { font-size:1.1rem; font-weight:900; color:#fff; }
.vd-meet-info strong { font-size:0.9rem; color:#0f172a; display:block; margin-bottom:0.2rem; }
.vd-meet-info span { font-size:0.78rem; color:#64748b; }

/* Sidebar */
.vd-sidebar { position:sticky; top:88px; align-self:flex-start; }
.vd-join-card h3 { font-family:'Outfit',sans-serif; font-size:1.1rem; font-weight:800; color:#0f172a; margin:0 0 1rem; }
.vd-join-stats { display:grid; grid-template-columns:1fr 1fr; gap:0.75rem; margin-bottom:0.75rem; }
.vd-join-stats div { text-align:center; background:#f8fafc; padding:0.6rem; border-radius:10px; }
.vd-join-stats span { display:block; font-size:0.72rem; color:#64748b; margin-bottom:0.2rem; text-transform:uppercase; }
.vd-join-stats strong { font-family:'Outfit',sans-serif; font-size:0.92rem; font-weight:800; color:#0f172a; }
.vd-funded-txt { text-align:center; font-size:0.82rem; color:#64748b; margin:0.5rem 0 0.75rem; }
.vd-join-note { text-align:center; font-size:0.75rem; color:#94a3b8; margin-top:0.5rem; margin-bottom:0; font-style:italic; }
.vd-related-title { font-family:'Outfit',sans-serif; font-size:0.9rem; font-weight:700; color:#0f172a; margin:0 0 0.75rem; }
.vd-related-card { background:#fff; border:1.5px solid #e2e8f0; border-radius:12px; padding:1rem; margin-bottom:0.75rem; text-decoration:none; display:block; transition:all 0.2s; }
.vd-related-card:hover { border-color:#3983F6; box-shadow:0 4px 16px rgba(0,0,0,0.08); }
.vd-related-name { font-weight:700; font-size:0.85rem; color:#0f172a; margin-bottom:0.25rem; }
.vd-related-meta { font-size:0.75rem; color:#64748b; }

/* ── GROUP CHAT ── */
.chat-locked { text-align:center; padding:3rem 1.5rem; color:#64748b; }
.chat-locked-icon { font-size:2.4rem; margin-bottom:0.75rem; }
.chat-locked h4 { margin:0 0 0.5rem; color:#0f172a; font-family:'Outfit',sans-serif; font-size:1.05rem; }
.chat-locked p { margin:0 0 1.25rem; font-size:0.88rem; max-width:340px; margin-left:auto; margin-right:auto; }

.vd-chat-wrap {
  display: flex;
  flex-direction: column;
  height: 560px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 12px rgba(15,23,42,0.05);
}

.vd-chat-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1.1rem;
  background: linear-gradient(135deg, #3983F6, #3983F6);
  color: #fff;
  flex-shrink: 0;
}
.vd-chat-header-icon {
  width: 38px; height: 38px;
  background: rgba(255,255,255,0.15);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.vd-chat-header-title { font-weight: 700; font-size: 0.95rem; font-family:'Outfit',sans-serif; }
.vd-chat-header-sub { font-size: 0.72rem; color: rgba(255,255,255,0.75); }

.vd-chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 1.1rem;
  background: #eef2f9;
  background-image:
    radial-gradient(circle at 20px 20px, rgba(148,163,184,0.08) 2px, transparent 2px);
  background-size: 28px 28px;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  scroll-behavior: smooth;
}
.vd-chat-messages::-webkit-scrollbar { width: 6px; }
.vd-chat-messages::-webkit-scrollbar-thumb { background: rgba(15,23,42,0.15); border-radius: 3px; }

.vd-chat-empty { text-align: center; color: #94a3b8; font-size: 0.85rem; padding: 2rem 1rem; }

.vd-chat-row { display: flex; gap: 0.55rem; align-items: flex-end; max-width: 100%; }
.vd-chat-row--mine { flex-direction: row-reverse; }

.vd-chat-avatar {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, #dbeafe, #bfdbfe);
  color: #3983F6;
  font-size: 0.6rem;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.vd-chat-avatar img { width: 100%; height: 100%; object-fit: cover; }

.vd-chat-bubble-col { display: flex; flex-direction: column; max-width: 72%; }
.vd-chat-row--mine .vd-chat-bubble-col { align-items: flex-end; }

.vd-chat-sender {
  font-weight: 700;
  font-size: 0.7rem;
  color: #3983F6;
  margin-bottom: 2px;
  padding-left: 0.2rem;
}

.vd-chat-bubble {
  padding: 0.6rem 0.85rem;
  border-radius: 16px 16px 16px 4px;
  background: #fff;
  color: #0f172a;
  border: 1px solid #e5e9f0;
  font-size: 0.85rem;
  line-height: 1.45;
  box-shadow: 0 1px 2px rgba(15,23,42,0.04);
  word-break: break-word;
}
.vd-chat-row--mine .vd-chat-bubble {
  background: linear-gradient(135deg, #3983F6, #3983F6);
  color: #fff;
  border: none;
  border-radius: 16px 16px 4px 16px;
}

.vd-chat-bubble img.vd-chat-image {
  max-width: 220px;
  max-height: 220px;
  border-radius: 10px;
  object-fit: cover;
  display: block;
  margin-top: 0.4rem;
  cursor: pointer;
  transition: transform 0.15s ease;
}
.vd-chat-bubble img.vd-chat-image:hover { transform: scale(1.02); }

.vd-chat-time {
  font-size: 0.63rem;
  color: #94a3b8;
  margin-top: 3px;
  padding: 0 0.3rem;
}

.vd-chat-preview-wrap {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 1rem;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  flex-shrink: 0;
}
.vd-chat-preview-thumb { position: relative; display: inline-block; }
.vd-chat-preview-thumb img { max-height: 56px; border-radius: 8px; border: 1px solid #e2e8f0; display: block; }
.vd-chat-preview-remove {
  position: absolute; top: -7px; right: -7px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: #ef4444; color: #fff; border: 2px solid #fff;
  cursor: pointer; font-size: 0.65rem; line-height: 1;
  display: flex; align-items: center; justify-content: center;
}
.vd-chat-preview-label { font-size: 0.78rem; color: #64748b; font-weight: 500; }

.vd-chat-input-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 0.9rem;
  border-top: 1px solid #e2e8f0;
  background: #fff;
  flex-shrink: 0;
}
.vd-chat-attach-btn {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1.5px solid #e2e8f0;
  background: #f8fafc;
  cursor: pointer;
  font-size: 1rem;
  flex-shrink: 0;
  transition: all 0.15s ease;
  display: flex; align-items: center; justify-content: center;
}
.vd-chat-attach-btn:hover { background: #eef2ff; border-color: #3983F6; }
.vd-chat-input {
  flex: 1;
  border: 1.5px solid #e2e8f0;
  border-radius: 24px;
  padding: 0.6rem 1rem;
  font-size: 0.86rem;
  outline: none;
  transition: border-color 0.15s ease;
  font-family: inherit;
}
.vd-chat-input:focus { border-color: #3983F6; }
.vd-chat-send-btn {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, #3983F6, #3983F6);
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.15s ease;
  box-shadow: 0 2px 8px rgba(57, 131, 246,0.35);
}
.vd-chat-send-btn:hover:not(:disabled) { transform: scale(1.05); }
.vd-chat-send-btn:disabled { background: #cbd5e1; box-shadow: none; cursor: not-allowed; }

.vd-chat-footnote { font-size: 0.72rem; color: #94a3b8; margin-top: 0.6rem; text-align: center; }

@media (max-width: 600px) {
  .vd-chat-wrap { height: 460px; }
  .vd-chat-bubble-col { max-width: 82%; }
}
