/**
 * AlphaBreakouts — Universal Mobile Fixes v5
 * RS Leaderboard styling now handled in leaderboard.html
 * This file handles all OTHER page mobile responsiveness
 */

@media (max-width: 1023px) {

  /* ═══════════════════════════════════════════════════
     LANDING PAGE
     ═══════════════════════════════════════════════════ */

  .hero {
    padding: 80px 16px 40px !important;
    min-height: auto !important;
  }

  .hero-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .hero-headline {
    font-size: clamp(36px, 8vw, 56px) !important;
    line-height: 1.05 !important;
  }

  .hero-subtitle {
    font-size: 16px !important;
  }

  .hero-cta-group {
    flex-wrap: wrap !important;
  }

  .hero-cta-group .btn {
    flex: 1 !important;
    min-width: 140px !important;
  }

  .hero-stats {
    gap: 20px !important;
    justify-content: center !important;
  }

  .hero-stat-divider {
    display: none !important;
  }

  .hero-stat-value {
    font-size: 22px !important;
  }

  .hero-chart-card {
    aspect-ratio: auto !important;
    min-height: 320px !important;
    padding: 20px !important;
  }

  .hero-chart-value {
    font-size: 32px !important;
  }

  .marquee-ticker {
    padding: 6px 0 !important;
  }

  .marquee-item {
    font-size: 10px !important;
  }

  .top-nav {
    top: 28px !important;
    padding: 12px 16px !important;
  }

  .top-nav-link {
    display: none !important;
  }

  .top-nav-logo {
    font-size: 18px !important;
  }

  .top-nav-links .btn {
    padding: 8px 14px !important;
    font-size: 13px !important;
  }

  .section {
    padding: 64px 16px !important;
  }

  .section-title {
    font-size: clamp(28px, 7vw, 44px) !important;
  }

  .section-subtitle {
    font-size: 15px !important;
  }

  .grid-3,
  .grid-4,
  .grid-2 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .feature-card {
    padding: 24px !important;
  }

  .feature-title {
    font-size: 18px !important;
  }

  /* About section */
  .about-section {
    padding: 64px 16px !important;
  }

  .about-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    text-align: center !important;
  }

  .about-avatar-wrap {
    width: 200px !important;
    height: 200px !important;
    margin: 0 auto !important;
  }

  .about-name {
    font-size: 40px !important;
  }

  .about-bio {
    font-size: 15px !important;
  }

  .about-quote {
    text-align: left !important;
  }

  .about-quote-text {
    font-size: 17px !important;
  }

  .about-stats {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .about-eyebrow,
  .about-social {
    justify-content: center !important;
  }

  .footer {
    padding: 40px 16px 24px !important;
  }

  .footer-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  /* ═══════════════════════════════════════════════════
     SCANNER TABLE
     ═══════════════════════════════════════════════════ */

  .data-table {
    font-size: 11px !important;
  }

  .data-table thead th,
  .data-table tbody td {
    padding: 8px 6px !important;
  }

  .cell-company,
  .cell-score {
    display: none !important;
  }

  .scanner-tabs {
    max-width: 100% !important;
    justify-content: center !important;
  }

  .scanner-tab {
    padding: 8px 14px !important;
    font-size: 12px !important;
  }

  .action-bar {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .action-left {
    justify-content: center !important;
    flex-wrap: wrap !important;
  }

  /* ═══════════════════════════════════════════════════
     DASHBOARD
     ═══════════════════════════════════════════════════ */

  .indices-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .index-card {
    padding: 20px !important;
  }

  .index-value {
    font-size: 22px !important;
  }

  .quick-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .quick-card {
    padding: 24px 20px !important;
  }

  .quick-title {
    font-size: 20px !important;
  }

  .candidate-row {
    grid-template-columns: 40px 80px 1fr 80px !important;
    padding: 12px 16px !important;
    gap: 8px !important;
  }

  .cand-company {
    display: none !important;
  }

  /* ═══════════════════════════════════════════════════
     NEWS PAGE
     ═══════════════════════════════════════════════════ */

  .news-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .news-card {
    padding: 20px !important;
  }

  .news-headline {
    font-size: 17px !important;
  }

  .category-tabs {
    justify-content: center !important;
  }

  /* ═══════════════════════════════════════════════════
     CALCULATOR PAGE
     ═══════════════════════════════════════════════════ */

  .calc-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .calc-panel {
    padding: 24px !important;
  }

  .result-value {
    font-size: 24px !important;
  }

  .result-value.highlight {
    font-size: 32px !important;
  }

  /* ═══════════════════════════════════════════════════
     RS LEADERBOARD MOBILE — Just container adjustments
     (Table styling handled by leaderboard.html)
     ═══════════════════════════════════════════════════ */

  .benchmark-bar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 16px !important;
  }

  .benchmark-left {
    flex-direction: row !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .timeframe-tabs {
    justify-content: center !important;
    width: 100% !important;
  }

  .timeframe-tab {
    flex: 1 !important;
  }

  .info-card {
    padding: 12px 16px !important;
    margin-bottom: 16px !important;
  }

  .info-card p {
    font-size: 12px !important;
  }

  /* Mobile-only table size tweaks */
  .rs-table {
    font-size: 12px !important;
  }

  .rs-table thead th,
  .rs-table tbody td {
    padding: 10px 8px !important;
  }

  .rs-badge {
    padding: 3px 10px !important;
    font-size: 11px !important;
  }

  .empty-state {
    padding: 40px 20px !important;
  }

  .empty-icon,
  .empty-state-icon {
    font-size: 64px !important;
  }

  .empty-state h3 {
    font-size: 24px !important;
  }

  /* ═══════════════════════════════════════════════════
     AUTH PAGES (Login / Signup)
     ═══════════════════════════════════════════════════ */

  .auth-card {
    padding: 32px 20px !important;
  }

  .auth-title {
    font-size: 26px !important;
  }

  .auth-subtitle {
    font-size: 13px !important;
  }

  .form-input {
    font-size: 16px !important;
    padding: 12px 16px !important;
  }

  .auth-brand-text {
    font-size: 20px !important;
  }

  .auth-brand img {
    width: 28px !important;
    height: 28px !important;
  }

  .form-terms-text {
    font-size: 12px !important;
  }

  /* ═══════════════════════════════════════════════════
     GENERAL — All Pages
     ═══════════════════════════════════════════════════ */

  .page-title {
    font-size: clamp(28px, 8vw, 44px) !important;
    line-height: 1.1 !important;
  }

  .page-subtitle {
    font-size: 14px !important;
  }

  .page-header {
    margin-bottom: 24px !important;
  }

  .btn {
    padding: 12px 18px !important;
    font-size: 14px !important;
  }
}

/* ═══════════════════════════════════════════════════
   SMALL PHONES (< 380px)
   ═══════════════════════════════════════════════════ */

@media (max-width: 380px) {

  .page-title {
    font-size: 26px !important;
  }

  .section-title {
    font-size: 24px !important;
  }

  .hero-headline {
    font-size: 32px !important;
  }

  .about-name {
    font-size: 32px !important;
  }

  .about-avatar-wrap {
    width: 180px !important;
    height: 180px !important;
  }

  .index-value {
    font-size: 20px !important;
  }

  .btn {
    padding: 10px 16px !important;
    font-size: 13px !important;
  }
}