/* -------------------------------------------------------------
   RESPONSIVE OVERRIDES
   ------------------------------------------------------------- */

/* Large screens (Desktop and 4K) */
@media (min-width: 1920px) {
  .container {
    max-width: 1600px;
  }

  body {
    font-size: 18px; /* Slightly scale base typography for very high resolutions */
  }
}

/* Medium Desktop / Laptops */
@media (max-width: 1200px) {
  :root {
    --space-lg: 2.2rem;
    --space-xl: 4rem;
  }
}

/* Tablets (Portrait and Landscape) */
@media (max-width: 991px) {
  :root {
    --space-md: 1.2rem;
    --space-lg: 1.8rem;
    --space-xl: 3.2rem;
  }

  .site-header {
    height: 75px;
  }

  .site-header.shrink {
    height: 62px;
  }

  .logo-wrapper {
    height: 75px;
    margin-top: 0;
  }

  .site-header.shrink .logo-wrapper {
    height: 56px;
    margin-top: 0;
  }

  .logo-full {
    height: 74px;
    transform: translateY(4px) scale(1);
  }

  .site-header.shrink .logo-full {
    transform: translateY(4px) scale(0.85);
  }

  .logo-small {
    height: 48px;
    transform: translateY(-10px) scale(0.85);
  }

  .site-header.shrink .logo-small {
    height: 48px;
    transform: translateY(-10px) scale(1);
  }

  section {
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg);
  }

  /* Make overlay sections wider on tablets */
  .section-content {
    max-width: 100%;
    padding: var(--space-md);
  }

  .scroll-section.left .section-content,
  .scroll-section.right .section-content {
    margin-left: 0;
    margin-right: 0;
  }

  /* HUD adjustments */
  .hud-panel {
    top: auto;
    bottom: var(--space-md);
    right: var(--space-md);
    width: calc(100% - 2 * var(--space-md));
    max-width: 400px;
    flex-direction: row;
  }

  .hud-minimap {
    display: none; /* Hide minimap timeline on tablets for clean viewport */
  }
}

/* Small Tablets / Large Mobile */
@media (max-width: 767px) {
  .floating-actions {
    right: 15px;
    bottom: 15px;
  }

  .btn {
    padding: 0.75em 1.5em;
    font-size: 11px;
  }

  .display-title {
    font-size: clamp(3rem, 2.5rem + 2vw, 4.5rem);
  }
}

/* Small Mobile Viewports (320px to 375px) */
@media (max-width: 375px) {
  :root {
    --space-sm: 0.4rem;
    --space-md: 0.8rem;
    --space-lg: 1.4rem;
  }

  .container {
    padding-right: var(--space-sm);
    padding-left: var(--space-sm);
  }

  .logo-wrapper {
    height: 66px;
    margin-top: 0;
  }

  .site-header.shrink .logo-wrapper {
    height: 48px;
    margin-top: 0;
  }

  .logo-full {
    height: 60px;
    transform: translateY(3px) scale(1);
  }

  .site-header.shrink .logo-full {
    transform: translateY(3px) scale(0.85);
  }

  .logo-small {
    height: 42px;
    transform: translateY(-8px) scale(0.85);
  }

  .site-header.shrink .logo-small {
    height: 42px;
    transform: translateY(-8px) scale(1);
  }

  .btn {
    width: 100%;
    text-align: center;
  }

  .flex {
    flex-direction: column;
  }
}
