/* Shared responsive overrides for public pages */
img,
svg,
video,
canvas {
  max-width: 100%;
  height: auto;
}

html {
  scroll-padding-top: 96px;
}

@media (max-width: 1024px) {
  .site-header {
    padding: 1rem 4%;
    gap: 0.75rem;
  }

  .main-nav ul {
    gap: 0.75rem;
  }

  .main-nav li {
    margin-left: 0;
  }

  .hero-title,
  .page-hero h1 {
    font-size: 2.6rem;
  }

  .page-hero p,
  .hero-subtitle {
    font-size: 1.05rem;
  }

  .contact-content {
    flex-direction: column;
  }

  .article-container {
    padding: 2.5rem;
  }

  .fuel-header {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .site-header {
    padding: 0.75rem 1rem;
    flex-wrap: nowrap;
  }

  .main-nav {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
  }

  .main-nav ul {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 0.75rem;
    padding-bottom: 0.25rem;
    scrollbar-width: none;
  }

  .main-nav ul::-webkit-scrollbar {
    display: none;
  }

  .main-nav a {
    white-space: nowrap;
    font-size: 0.85rem;
  }

  .logo {
    flex-shrink: 0;
  }

  .hero-section {
    min-height: 70vh;
    height: auto;
    padding: 6rem 5% 3rem;
  }

  .hero-title,
  .page-hero h1 {
    font-size: 2.2rem;
  }

  .section-title {
    font-size: 1.8rem;
  }

  .members-section,
  .contact-section {
    padding: 3.5rem 5%;
  }

  .section-header-wrapper {
    flex-direction: column;
    gap: 0.75rem;
  }

  .news-card-image {
    height: 200px;
  }

  .contact-cta {
    padding: 1.75rem;
  }

  .article-container {
    padding: 1.5rem;
  }

  .front-image {
    max-height: 240px;
  }

  .quick-nav {
    justify-content: flex-start;
    overflow-x: auto;
    white-space: nowrap;
  }

  .quick-nav a {
    flex: 0 0 auto;
  }

  .fact-list li,
  .measurement-card li {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .download-box {
    padding: 2rem;
  }
}

/* CMS layout adjustments */
@media (max-width: 1024px) {
  .cms-body {
    height: auto;
    overflow: auto;
    flex-direction: column;
  }

  .cms-body .sidebar {
    width: 100%;
    flex-direction: row;
    align-items: center;
    border-right: 0;
    border-bottom: 1px solid var(--color-border-dark);
    overflow-x: auto;
  }

  .cms-body .sidebar-header {
    height: auto;
    padding: 1rem;
    flex: 0 0 auto;
  }

  .cms-body .nav {
    padding: 0.75rem 0;
    flex: 1;
  }

  .cms-body .nav-list {
    display: flex;
    gap: 0.5rem;
    padding: 0 0.5rem;
  }

  .cms-body .nav-item {
    margin-bottom: 0;
  }

  .cms-body .nav-link {
    padding: 0.5rem 0.75rem;
    border-left: 0;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
  }

  .cms-body .nav-link.active {
    border-bottom-color: var(--color-accent);
  }

  .cms-body .sidebar-footer {
    border-top: 0;
    padding: 0 1rem;
    flex: 0 0 auto;
  }

  .cms-body .main-wrapper {
    min-height: 100vh;
  }

  .cms-body .top-header {
    height: auto;
    padding: 0.75rem 1rem;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .cms-body .action-area {
    flex-wrap: wrap;
  }
}

@media (max-width: 640px) {
  .cms-body .sidebar {
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .cms-body .nav {
    width: 100%;
  }

  .cms-body .nav-list {
    overflow-x: auto;
  }

  .cms-body .top-header {
    align-items: flex-start;
  }

  .cms-body .action-area {
    width: 100%;
  }
}

/* Auth page tweaks */
@media (max-width: 480px) {
  .auth-body {
    height: auto;
    padding: 1.25rem;
  }

  .login-container {
    padding: 1.5rem;
  }
}
