/* Responsive Styles for Tablets and Smaller Screens */
@media screen and (max-width: 1024px) {
    .container {
        width: 90%;
    }

    .features-grid {
        flex-direction: column;
        align-items: center;
    }

    .feature {
        width: 80%;
        margin-bottom: 20px;
    }
}

/* Responsive Styles for Mobile Devices */
@media screen and (max-width: 768px) {
    /* Adjust Header */
    header {
        text-align: center;
        padding: 15px 0;
    }

    header nav ul {
        padding: 0;
    }

    header nav ul li {
        display: block;
        margin: 10px 0;
    }

    /* Hero Section */
    .hero {
        padding: 60px 20px;
    }

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

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

    .hero .btn {
        padding: 8px 16px;
        font-size: 14px;
    }

    /* Key Features */
    .features-grid {
        flex-direction: column;
        text-align: center;
    }

    .feature {
        width: 90%;
        padding: 15px;
    }

    /* Footer */
    footer {
        text-align: center;
        padding: 10px 0;
    }
}

/* Responsive Styles for Very Small Screens (Phones under 480px) */
@media screen and (max-width: 480px) {
    .hero h2 {
        font-size: 20px;
    }

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

    .hero .btn {
        font-size: 12px;
        padding: 6px 12px;
    }

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

/* Hamburger menu css */
/* Hide the menu by default */
.nav-menu {
  display: none;
  flex-direction: column;
  background: #fff;
  position: absolute;
  top: 50px;
  left: 0;
  width: 100%;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 1000;
}

/* Show menu when toggled */
.nav-menu.show {
  display: flex;
}

/* Ensure the button is styled properly */
.menu-toggle {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1100;
  display: none; /* Hide it by default */
}

/* Show hamburger menu only on mobile */
@media (max-width: 767px) {
  .menu-toggle {
    display: block; /* Make button visible on small screens */
  }

  .nav-menu {
    display: none; /* Ensure menu is hidden initially */
    flex-direction: column;
    width: 100%;
  }

  .nav-menu.show {
    display: flex;
  }
}

/* Show full menu on desktop */
@media (min-width: 768px) {
  .nav-menu {
    display: flex !important; /* Ensure full menu is always visible */
    position: static; /* Remove absolute positioning */
    background: none;
    box-shadow: none;
    flex-direction: row;
  }

  .nav-menu ul {
    display: flex;
  }

  .menu-toggle {
    display: none !important; /* Ensure the button does not appear on desktop */
  }
}

/* Fix invisible menu */
.nav-menu a {
  color: black; /* Ensure text is visible */
  text-decoration: none !important; /* Optional: Remove underline */
  font-size: 18px;
  padding: 10px;
  display: block; /* Ensure full clickable area */
}

.nav-menu li {
  border-bottom: 1px solid #ddd; /* Separate menu items */
}

/* Desktop hover effect */
.nav-menu a:hover {
  background-color: #f0f0f0; /* Light gray background */
  color: #333; /* Darker text */
  text-decoration: none;
}

/* Mobile tap effect */
.nav-menu a:active {
  background-color: #ddd; /* Slightly darker tap feedback */
  color: #000;
  text-decoration: none;
}

/* Accessibility: Highlight when focused */
.nav-menu a:focus {
  background-color: #ccc;
  outline: none; /* Remove default focus outline */
  text-decoration: none;
}

body {
  -webkit-tap-highlight-color: transparent; /* Prevents weird highlight effect */
  touch-action: manipulation; /* Improves touch response */
}

/* Optional: Ensure underline is removed on hover too */
.nav-menu a:hover,
.nav-menu a:active,
.nav-menu a:focus {
  text-decoration: none !important;
}

