/* ----- GLOBAL STYLES ----- */

body {
  margin: 0;
  font-family: "Poppins", sans-serif;
  background: #f9f9fb;
  color: #333;
}

h1, h2, h3 {
  font-weight: 600;
}

a {
  text-decoration: none;
  color: inherit;
}

/* ----- NAVBAR ----- */

.navbar {
  width: 100%;
  background: #ffffff;
  padding: 15px 30px;
  box-shadow: 0 3px 12px rgba(0,0,0,0.05);
  display: flex;
  align-items: center;
  justify-content: flex-start; /* align everything to the left */
  position: sticky;
  top: 0;
  z-index: 50;
}

.navbar .logo {
  font-size: 28px;
  font-weight: 700;
  color: #3c3c3c;
  margin-right: 50px; /* space between logo and links */
}

.navbar nav {
  display: flex;
  gap: 30px; /* space between links */
}


/* --- HERO BANNER WITH BUTTON FLOATING ON IT --- */

.hero {
  position: relative;
  height: 800px; /* adjust size here */
  background-image: url("images/hero.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: flex-end; 
  padding-bottom: 30px; /* moves button upward if needed */
}

/* BUTTON ON TOP OF BANNER */

.shop-btn {
  padding: 50px 80px; /* bigger button */
  background: #ff869c;
  color: #fff;
  font-size: 50px; /* slightly larger text */
  border-radius: 12px;
  box-shadow: 0px 6px 15px rgba(255, 133, 155, 0.4);
  text-decoration: none;
  transition: 0.25s;
  display: inline-block;
  position: relative; /* allows shifting */
  left: -650px; /* move it 50px to the right, adjust as needed */
  top: -50px; /* move up, increase number to go higher */
}

.shop-btn:hover {
  background: #ff738e;
}

/* ----- CATEGORY SECTION ----- */

.categories {
  padding: 50px 20px;
  text-align: center;
}

.categories h2 {
  font-size: 32px;
  margin-bottom: 30px;
}

.grid {
  max-width: 1100px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 25px;
}

.category-card {
  background: white;
  border-radius: 20px;
  padding: 25px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.07);
  transition: 0.25s;
}

.category-card img {
  width: 100%;
  border-radius: 20px;
  margin-bottom: 15px;
}

.category-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 26px rgba(0,0,0,0.12);
}

/* ----- FOOTER ----- */

footer {
  margin-top: 60px;
  padding: 20px;
  text-align: center;
  background: #ffffff;
  color: #777;
  font-size: 14px;
  border-top: 1px solid #eee;
}


/* --- MOBILE ADJUSTMENTS --- */
@media (max-width: 768px) {
  .hero {
    height: 200px; /* keeps banner smaller on phones */
    padding-bottom: 20px;
  }

  .shop-btn {
    padding: 5px 20px; /* smaller button */
    font-size: 18px;    /* smaller text */
    left: -130px;        /* keeps it roughly in same spot */
    top: -20px;         /* move up slightly */
  }
}

@media (max-width: 768px) {
  .navbar {
    flex-wrap: wrap; /* allow logo and links to wrap */
    padding: 15px 10px; /* smaller padding on mobile */
  }

  .navbar nav {
    flex-wrap: wrap; /* let links wrap to next line if needed */
    gap: 15px;       /* reduce gap for mobile */
    width: 100%;     /* take full width */
    justify-content: center; /* center links below logo */
  }

  .navbar nav a {
    font-size: 14px; /* slightly smaller links */
    margin-left: 0;  /* remove extra left margin */
  }
}

