/* Responsive Layout Adjustments */

/* Mobile-first approach */
@media (max-width: 767px) {
  header {
    padding: 10px;
  }

  nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 5px;
  }

  nav a {
    margin: 8px 0;
    font-size: 14px;
  }

  .hero {
    padding: 30px 15px;
  }

  .hero h2 {
    font-size: 22px;
  }

  .hero p {
    font-size: 16px;
  }

  .cta-button {
    padding: 8px 16px;
    font-size: 16px;
  }

  .features {
    padding: 30px 15px;
  }

  .features li {
    font-size: 16px;
  }

  .sidebar {
    width: 100%;
    padding: 10px;
  }

  .card-img-top {
    height: auto;
  }

  footer {
    font-size: 14px;
    padding: 10px;
  }
}

/* Tablet layout */
@media (min-width: 768px) and (max-width: 1024px) {
  .hero h2 {
    font-size: 26px;
  }

  .hero p {
    font-size: 17px;
  }

  .cta-button {
    font-size: 17px;
    padding: 9px 18px;
  }

  .features li {
    font-size: 17px;
  }

  .sidebar {
    width: 200px;
  }

  footer {
    font-size: 15px;
  }
}

/* Desktop layout */
@media (min-width: 1025px) {
  nav {
    display: flex;
    justify-content: center;
  }

  .features ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  .features li {
    flex: 1 1 45%;
    margin: 10px;
  }

  .sidebar {
    position: fixed;
    top: 80px;
    left: 0;
    height: calc(100vh - 80px);
  }
}
