/* ============================================
   BOLLETTA SMART — RESPONSIVE
   Apple Liquid Glass · Dark Enterprise
   ============================================ */

/* ---- Large Desktop (1400px+) ---- */
@media (min-width: 1400px) {
  .container { max-width: var(--container-2xl); }
}

/* ---- Desktop (1024–1399px) ---- */
@media (max-width: 1399px) {
  :root {
    --text-5xl: 2.5rem;
    --text-6xl: 3rem;
  }
}

/* ---- Tablet (768–1023px) ---- */
@media (max-width: 1023px) {
  :root {
    --text-4xl: 1.875rem;
    --text-5xl: 2.25rem;
  }

  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .steps-grid { grid-template-columns: repeat(2, 1fr); }

  .footer__grid { grid-template-columns: 1fr 1fr; gap: var(--space-8); }
  .footer__brand { grid-column: span 2; }
}

/* ---- Mobile Large (640–767px) ---- */
@media (max-width: 767px) {
  :root {
    --text-3xl: 1.5rem;
    --text-4xl: 1.75rem;
    --text-5xl: 2rem;
    --text-6xl: 2.25rem;
  }

  body { font-size: var(--text-sm); }
  .container { padding: 0 var(--space-4); }

  /* Navbar mobile */
  .navbar__links {
    display: none;
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    flex-direction: column;
    gap: 0;
    background: rgba(8, 12, 20, 0.96);
    backdrop-filter: var(--glass-blur);
    border-bottom: 1px solid var(--color-border);
    padding: var(--space-4);
  }

  .navbar__links.active { display: flex; }

  .navbar__link {
    display: block;
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-lg);
  }

  .navbar__link:hover { background: rgba(148, 163, 184, 0.06); }

  .navbar__cta {
    margin-left: 0;
    margin-top: var(--space-2);
  }

  .navbar__mobile-toggle { display: flex; }

  /* Grids → single column */
  .grid-2 { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr; }
  .grid-4 { grid-template-columns: 1fr; }
  .steps-grid { grid-template-columns: 1fr; }

  /* Section spacing */
  .section { padding: var(--space-12) 0; }
  .section--lg { padding: var(--space-16) 0; }

  /* Footer */
  .footer__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .footer__brand { grid-column: span 1; }
  .footer__bottom { flex-direction: column; gap: var(--space-3); text-align: center; }

  /* Section headers */
  .section-header__title { font-size: var(--text-3xl); }
  .section-header__desc { font-size: var(--text-base); }

  /* Trust bar */
  .trust-bar__inner { flex-direction: column; align-items: center; gap: var(--space-4); }

  /* Buttons */
  .btn--xl { padding: 16px 28px; font-size: var(--text-sm); }
}

/* ---- Mobile Small (≤479px) ---- */
@media (max-width: 479px) {
  :root {
    --text-3xl: 1.375rem;
    --text-4xl: 1.5rem;
    --text-5xl: 1.75rem;
  }

  .container { padding: 0 var(--space-3); }
  .navbar__inner { padding: 0 var(--space-3); height: 56px; }
  .navbar__logo-icon { width: 30px; height: 30px; font-size: var(--text-xs); }
  .navbar__logo { font-size: var(--text-base); gap: var(--space-2); }
}

/* ---- Upload Page Responsive ---- */
@media (max-width: 767px) {
  .upload-container { padding: var(--space-4); }
  .upload-info { grid-template-columns: 1fr; }
  .utility-selector { flex-direction: column; }
  .utility-chip { justify-content: center; }
}

/* ---- Analysis Page Responsive ---- */
@media (max-width: 767px) {
  .analysis-container { padding: var(--space-4); }
  .analysis-step { padding: var(--space-4); }
}

/* ---- Lead Form Responsive ---- */
@media (max-width: 767px) {
  .lead-container { padding: var(--space-4); }
  .lead-form__row { grid-template-columns: 1fr; }
  .lead-intelligence__stats { grid-template-columns: 1fr; }
}

/* ---- Report Responsive ---- */
@media (max-width: 1023px) {
  .report-kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .report-charts-grid { grid-template-columns: 1fr; }
  .report-transparency-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .report-container { padding: var(--space-4); }
  .report-kpi-grid { grid-template-columns: 1fr; }
  .report-header-grid { grid-template-columns: 1fr; }
}

/* ---- Admin Responsive ---- */
@media (max-width: 1023px) {
  .admin-stats { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
  .admin-container { padding: var(--space-4); }
  .admin-stats { grid-template-columns: repeat(2, 1fr); }
  .admin-table-wrapper { overflow-x: auto; }
  .admin-table { min-width: 900px; }
  .admin-header { flex-direction: column; align-items: flex-start; gap: var(--space-4); }
  .admin-filters { flex-wrap: wrap; }

  .admin-detail {
    width: 100%;
    height: 100%;
    border-radius: 0;
  }
}
