/*
 * Responsive adjustments
 *
 * The site was originally designed for desktop viewports.  To ensure it
 * remains usable on small screens we define a series of rules that
 * reflow navigation, cards and dashboard layouts when the viewport
 * width falls below 768 px.  These rules collapse horizontal flex
 * layouts into vertical stacks, reduce spacing and adjust font sizes.
 */
@media (max-width: 768px) {
  /* Stack header elements vertically and reduce padding */
  .site-header {
    padding: 0.5rem 1rem;
  }
  .header-controls {
    margin-left: auto;
    margin-top: 0;
  }
  /* Shrink hero section padding and typography */
  .hero {
    padding: 4rem 1rem 3rem;
  }
  .hero h1 {
    font-size: 2rem;
  }
  .hero p {
    font-size: 1rem;
  }
  /* Stack feature and pricing cards */
  .feature-list,
  .pricing-table {
    flex-direction: column;
  }
  .feature,
  .pricing-card {
    flex: 1 1 auto;
  }
  /* Reduce margin on FAQ details */
  .faq details {
    margin: 1rem;
  }
  /* Footer container stacks vertically */
  .site-footer.compact .footer-container {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
  .site-footer.compact .footer-logo,
  .site-footer.compact .footer-nav {
    flex: none;
    width: 100%;
  }
  .site-footer.compact .footer-logo {
    justify-content: flex-start;
    padding-left: 0.5rem;
  }
  .site-footer.compact .footer-nav {
    justify-content: center;
    flex-wrap: wrap;
  }
  /* Dashboard: collapse sidebar and header */
  .dash {
    flex-direction: column;
  }
  .sidebar {
    width: 100%;
    padding: 1rem;
    flex-direction: row;
    overflow-x: auto;
    justify-content: space-around;
    align-items: center;
    position: static;
  }
  .sidebar-title {
    margin-bottom: 0;
    margin-right: 1rem;
  }
  .sidebar nav {
    display: flex;
    flex-direction: row;
    gap: 1rem;
  }
  .dash-header {
    position: static;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    padding: 0.5rem 1rem;
  }
  .dash-content {
    margin: 1rem;
    margin-left: 0;
    margin-top: 0;
  }
  /* Wizard container takes full width on small screens */
  .wizard-container {
    max-width: 100%;
  }
  /* Assessments table: make horizontally scrollable */
  #assessments-list table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
