/* ==========================================================================
   NAMEVERSELABS — RESPONSIVE STYLES
   Breakpoints: 1440px, 1280px, 1024px, 834px, 768px, 430px, 390px, 360px
   ========================================================================== */

/* 1280px - Standard Desktop */
@media (max-width: 1280px) {
  :root {
    --container-max: 1140px;
  }

  .footer-top {
    grid-template-columns: 1.5fr 1fr 1fr 1fr 1.2fr;
    gap: 2rem;
  }
}

/* 1024px - Small Desktop / Landscape Tablet */
@media (max-width: 1024px) {
  :root {
    --container-max: 960px;
  }

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

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

  .footer-top {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-brand {
    grid-column: span 3;
    max-width: 100%;
  }

  .scenario-buttons-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .nav-desktop {
    display: none;
  }

  .mobile-toggle-btn {
    display: flex;
  }
}

/* 834px & 768px - Tablet */
@media (max-width: 834px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }

  .section {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .section-hero {
    padding-top: 6.5rem;
    padding-bottom: 3rem;
  }

  .footer-top {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }

  .footer-brand {
    grid-column: span 2;
  }

  .nova-panel {
    width: 320px;
    height: 480px;
    right: -10px;
  }

  .product-mockup-frame {
    border-radius: var(--radius-lg);
  }

  .command-palette-modal {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* 430px, 412px, 393px, 390px, 375px, 360px - Mobile Devices */
@media (max-width: 480px) {
  :root {
    --header-height: 64px;
  }

  .container {
    padding-left: 1.15rem;
    padding-right: 1.15rem;
  }

  h1 {
    font-size: 2.15rem;
  }

  h2 {
    font-size: 1.65rem;
  }

  h3 {
    font-size: 1.3rem;
  }

  .grid-4, .grid-3, .grid-2 {
    grid-template-columns: 1fr;
  }

  .scenario-buttons-grid {
    grid-template-columns: 1fr;
  }

  .btn {
    width: 100%;
    min-height: 44px; /* Touch target minimum requirement */
  }

  .header-actions .btn {
    width: auto;
  }

  .btn-group-responsive {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0.75rem;
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .footer-brand {
    grid-column: span 1;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }

  .nova-widget-container {
    bottom: 1.25rem;
    right: 1.25rem;
  }

  .nova-panel {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 75vh;
    border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
    transform: translateY(100%);
  }

  .nova-panel.active {
    transform: translateY(0);
  }

  /* Responsive Data Tables - Controlled Scroll */
  .table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--radius-lg);
  }

  .data-table {
    min-width: 600px;
  }

  .tabs-nav {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.25rem;
  }

  .tab-btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .accordion-trigger {
    min-height: 48px;
    padding: 1rem 1.15rem;
  }
}
