/* ====================================
   Whale Analyzer — Responsive
   Mobile-first, card-focused layout
   ==================================== */

/* ── Tablet (≤1024px) ── */
@media (max-width: 1024px) {
  .nav-filters { display: none; }
  .nav-mobile-toggle { display: flex; }

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

  .hero-title { font-size: var(--fs-3xl); }

  .changes-grid { grid-template-columns: 1fr; }
  .sector-grid { grid-template-columns: 1fr; }

  .fund-banner {
    flex-direction: column;
    text-align: center;
    gap: var(--sp-lg);
  }
  .fund-meta { justify-content: center; }
}

/* ── Mobile (≤640px) ── */
@media (max-width: 640px) {
  :root {
    --nav-height: 52px;
    --card-min-width: 100%;
  }

  .nav-container { padding: 0 var(--sp-md); }
  .brand-text { font-size: var(--fs-base); }
  #lang-label { display: none; }

  .main-content {
    padding-left: var(--sp-md);
    padding-right: var(--sp-md);
    padding-top: calc(var(--nav-height) + var(--sp-lg));
    padding-bottom: var(--sp-xl);
  }

  /* Hero — compact on mobile */
  .hero-section {
    padding: var(--sp-md) 0 var(--sp-sm);
  }
  .hero-title {
    font-size: var(--fs-xl);
  }
  .hero-title .accent {
    padding: 2px var(--sp-sm);
  }
  .hero-subtitle {
    font-size: var(--fs-sm);
  }
  .hero-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    gap: 0;
    margin-top: var(--sp-lg);
    padding: var(--sp-sm);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card-sm);
  }
  .hero-stat {
    padding: 0 var(--sp-xs);
  }
  .hero-stat-value {
    font-size: var(--fs-md);
  }
  .hero-stat-label {
    font-size: 8px;
    letter-spacing: 0;
  }

  /* Card grid — single column, tighter gap */
  .card-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }

  /* Cards — more compact on mobile */
  .investor-card {
    padding: var(--sp-lg) var(--sp-lg) var(--sp-md);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card-sm);
  }
  .investor-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: var(--shadow-card);
  }

  /* Avatars — slightly smaller on mobile but still prominent */
  .card-avatar, .card-avatar-initials {
    width: 64px;
    height: 64px;
  }
  .card-avatar-initials {
    font-size: var(--fs-lg);
  }

  .card-header-row {
    gap: var(--sp-md);
  }

  .card-person-name {
    font-size: var(--fs-md);
  }
  .card-fund-name {
    font-size: var(--fs-xs);
  }
  .card-desc {
    font-size: var(--fs-xs);
    margin-bottom: var(--sp-md);
    -webkit-line-clamp: 2;
  }
  .card-data-row {
    margin-top: calc(-1 * var(--sp-xs));
  }
  .card-metric-value { font-size: var(--fs-sm); }
  .card-perf-value { font-size: var(--fs-xs); }
  .card-perf-value.highlight-gold { font-size: var(--fs-sm); }
  .card-perf-label { font-size: 9px; }

  .card-footer { margin-top: var(--sp-sm); }
  .card-type-badge { font-size: 9px; padding: 1px var(--sp-xs); }
  .card-cta { font-size: var(--fs-xs); padding: var(--sp-2xs) var(--sp-sm); }

  /* Rank badge — smaller on mobile */
  .card-rank-badge {
    font-size: 10px;
    padding: 1px 6px;
    top: -6px;
    right: 8px;
  }

  /* Toolbar — stack vertically */
  .toolbar {
    flex-direction: column;
    gap: var(--sp-sm);
    margin-bottom: var(--sp-md);
  }
  .toolbar-search {
    min-width: 100%;
  }
  .toolbar-search input {
    padding: 10px 12px 10px 36px;
    font-size: var(--fs-sm);
  }
  .toolbar-sort select {
    padding: 10px 32px 10px 12px;
    font-size: var(--fs-xs);
    min-width: 120px;
  }
  .toolbar-sort-dir {
    width: 36px;
    height: 36px;
  }
  .toolbar-bottom-row {
    display: flex;
    gap: var(--sp-sm);
    align-items: center;
    width: 100%;
  }
  .toolbar-sort { flex: 1; }
  .toolbar-result-count {
    font-size: var(--fs-2xs);
    text-align: right;
  }

  /* KPI */
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .kpi-value { font-size: var(--fs-xl); }

  /* Detail page */
  .fund-avatar, .fund-avatar-initials {
    width: 56px;
    height: 56px;
    font-size: var(--fs-xl);
  }
  .fund-name { font-size: var(--fs-lg); }
  .data-notice {
    padding: var(--sp-md);
    box-shadow: var(--shadow-card-sm);
  }
  .pending-panel {
    grid-template-columns: 1fr;
    padding: var(--sp-xl);
    text-align: center;
    box-shadow: var(--shadow-card-sm);
  }
  .pending-panel-icon {
    margin: 0 auto;
  }

  .tab-bar {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .tab-btn { padding: var(--sp-sm) var(--sp-lg); }

  .data-table { font-size: var(--fs-xs); }
  .data-table thead th,
  .data-table tbody td {
    padding: var(--sp-sm) var(--sp-md);
  }

  /* Feedback button — icon only on mobile */
  .feedback-btn {
    bottom: var(--sp-lg);
    right: var(--sp-lg);
    padding: var(--sp-md) var(--sp-lg);
    font-size: var(--fs-sm);
  }
  .feedback-btn span.fb-text { display: none; }
}

/* ── Small Mobile (≤380px) ── */
@media (max-width: 380px) {
  .hero-title { font-size: var(--fs-lg); }

  .card-header-row { gap: var(--sp-sm); }
  .card-avatar, .card-avatar-initials {
    width: 52px;
    height: 52px;
  }
  .card-avatar-initials { font-size: var(--fs-md); }
  .card-person-name { font-size: var(--fs-sm); }

  .card-metrics { grid-template-columns: repeat(3, 1fr); gap: var(--sp-2xs); }
  .card-perf-metrics { grid-template-columns: repeat(3, 1fr); gap: var(--sp-2xs); padding: var(--sp-sm); }
}
