/* -------------------- START GLOBAL STYLING -------------------- */

body {
	margin: 0;
	padding: 0;
	min-height: 100vh;
	font-family: Arial, Helvetica, sans-serif;
	background: linear-gradient(155deg, #CCDCD8, #B0E0E6, #93E9BE);
}

nav {
	background-color: #E4E4E4;
	height: 80px;
}

nav {
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 5px 5px 22px rgba(0, 0, 0, 0.3);
	margin-bottom: 50px;
}

nav a {
	font-size: clamp(0.5rem, 1.2vw, 1rem);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 20px;
	width: 100px;
	height: 10px;
	padding: 10px 20px;
	margin: 15px;
	white-space: nowrap;
	background-color: #4A4A4A;
	color: #FFFFFF;
	text-decoration: none;
	font-family: Arial, Helvetica, sans-serif;
	transition: background-color 0.6s ease, color 0.6s ease;
}

nav a:hover {
	background-color: #BBCBC7;
	color: #000000;
}

/* Hide mobile dropdown by default */
.nav-dropdown {
  display: none;
}

.footer {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #E4E4E4;
  padding: clamp(0rem, 0.5vh, 0.8rem);
}

.footer a {
	margin-right: 20px;
	font-size: 28px;
	color: #4A4A4A;
	transition: color 0.3s ease;
}

.footer a:hover {
  	color: #63c795;
}

.buttonLink {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 130px;
	height: 45px;
	border: none;
	border-radius: 8px;
	background-color: #4A4A4A;
	color: #FFFFFF;
	text-decoration: none;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.buttonLink:hover {
	background-color: #63c795;
}

/* -------------------- END GLOBAL STYLING -------------------- */



/* -------------------- START INDEX.HTML -------------------- */

/* Base container */
.split-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	width: 75vw;
	min-height: 60vh;
	max-height: 100vh;
	margin: 2rem auto;
	gap: 2rem;
	padding: 1rem;
	border: 1px solid #CCCCCC;
	box-sizing: border-box;
	background-color: #F9F9F9;
	box-shadow: 5px 5px 22px rgba(0, 0, 0, 0.15);
	overflow: auto;
}

.text-side {
	flex: 1;
	font-size: 1rem;
	line-height: 1.4;
}

/* Text alignment depending on layout */
.image-left .image-right .text-side {
  	text-align: left;
}

.image-side {
  	flex: 1;
  	display: flex;
	align-items: center;
}

/* Align image differently depending on side */
.image-left .image-side {
	  justify-content: flex-start;  /* hug left */
}

.image-right .image-side {
  	justify-content: flex-end;    /* hug right */
}

.image-side img {
  	height: 100%;
	width: auto;
  	max-width: 100%;
  	object-fit: cover;
}

.testimonials-container {
  width: 75vw;
  margin: 0 auto 2rem auto;
  box-sizing: border-box;
}

.testimonial-header {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #F9F9F9;
  margin-bottom: 0.5rem;
  padding: 1rem 0;
  box-sizing: border-box;
  border: 1px solid #CCCCCC;
}

.testimonials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}

.testimonial {
  flex: 1 1 30%; /* three per row on large screens */
  min-width: 375px; /* prevents too small on smaller screens */
  background-color: #F9F9F9;
  padding: 2rem;
  box-sizing: border-box;
  border: 1px solid #CCCCCC;
  box-shadow: 2px 2px 12px rgba(50,50,50,0.1);
}

.testimonial h1 {
  text-align: center;
  margin-bottom: 1rem;
}

.testimonial p {
  font-size: 1em;
  line-height: 1.6;
}

#shop-here {
	text-align: center;
	margin: 0rem auto 2rem auto;
	max-width: 75vw;
	background-color: #F9F9F9;
	border: 1px solid #CCCCCC;
  box-shadow: 2px 2px 12px rgba(0,0,0,0.1);
}

#shop-here h1 {
	padding-top: 1rem;
}

.shop-here {
	display: flex;
	justify-content: center;
	margin-top: 0rem;
	margin-bottom: 3rem;
}

.products {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
  margin: 0 auto;
	max-width: 90vw;
  box-sizing: border-box;
}

.product {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
	flex: 1 1 calc(24% - 1rem);
	max-width: calc(24% - 1rem);
	background-color: #F9F9F9;
	text-align: center;
  padding: 1rem;
  box-sizing: border-box;
  margin-bottom: 2rem;
	border: 1px solid #4A4A4A;
	font-weight: 600;
}

.product img {
	max-width: 100%;
	height: auto;
}

.product a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 70%;
  max-width: 140px;
  padding: 0 1rem;
	height: 40px;
  margin: 0 auto;
	border: none;
	border-radius: 100px;
	background-color: #4A4A4A;
	color: #FFFFFF;
	text-decoration: none;
  font-size: clamp(0.4rem, 1.2vw, 1rem);
	font-weight: 400;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.product a:hover {
	background-color: #82D8AD;
	color: #000000;
}

/* -------------------- END INDEX.HTML -------------------- */

/* -------------------- LAPTOP MEDIA QUERY -------------------- */

@media (max-width: 1500px) {
  .products {
    max-width: 100%;
  }
}

/* -------------------- END LAPTOP MEDIA QUERY -------------------- */

/* -------------------- TABLET MEDIA QUERY -------------------- */

@media (max-width: 925px) {
  .nav {
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
  }

  .nav > a {
    display: none;
    width: 100%;
  }

  .hamburger {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: 30px;
      height: 25px;
      cursor: pointer;
      z-index: 1000;
      margin-left: auto;
      margin-right: 1rem;
  }

  .nav-dropdown {
      display: none;
      flex-direction: column;
      position: absolute;
      top: 80px;
      left: 0;
      width: 100%;
      background-color: rgba(228, 228, 228, 0.95);
      border-radius: 0 0 5px 5px;
      box-shadow: 0 4px 10px rgba(0,0,0,0.1);
      z-index: 999;
  }

  .nav-dropdown a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.75rem 1.5rem;
	text-align: center;
	color: #FFFFFF;
	background-color: #4A4A4A;
	text-decoration: none;
	font-weight: bold;
  font-size: 1em;
	border-radius: 5px;
	margin: 0.5rem auto;
	width: 70%;
	transition: background-color 0.3s ease;
  }

  .nav-dropdown a:last-child {
      border-bottom: none;
      margin-bottom: 1rem;
  }

  /* Show dropdown when active */
  .nav-dropdown.active {
      display: flex;
  }

  .hamburger span {
    display: block;
    height: 4px;
    width: 100%;
    background-color: #4A4A4A;
    border-radius: 2px;
  }

  .nav a.active {
    display: block;
    background-color: rgba(228, 228, 228, 0.95);
    border-radius: 5px;
    padding: 0.75rem 0;
    text-align: center;
    margin: 0.25rem 0;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 999;
  }

  .split-container {
      flex-direction: column;  /* stack image and text vertically */
      width: 90vw;
      gap: 1rem;
      padding: 1rem;
      align-items: center;
      text-align: center;
  }

  .split-container .image-side,
  .split-container .text-side {
      flex: 1 1 100%;
      width: 100%;
  }

  /* Ensure the image always comes first */
  .image-left .image-side,
  .image-right .image-side {
      order: -1;  /* image first */
      justify-content: center;
      margin-bottom: 1rem;
  }

  .split-container .text-side {
      order: 0;  /* text second */
  }

  .text-side p {
	padding: 0 4rem;
	box-sizing: border-box;
  }

  .image-side img {
      width: 85%;
      height: auto;
  }

  .testimonials-container {
    width: 90vw;
    margin-bottom: 2rem;
  }

  .testimonial-header {
	padding: 0;
  }

  .testimonial {
    flex: 1 1 100%;
    padding: 1.5rem;
  }

  #shop-here {
	width: 90vw;
	max-width: 90vw;
  }

  .products {
    column-gap: clamp(0.75rem, 3vw, 2rem);
    row-gap: clamp(0.1rem, 3vw, 2rem);
  }

  .product {
    flex: 1 1 45%;
    max-width: 45%;
    margin-bottom: 0;
  }

  .product a {
    width: clamp(65px, 1vw, 140px);
    height: 35px;
    font-size: clamp(0.5rem, 1vw, 0.9rem);
  }

  /* Reduce bodyContent padding/margin */
  .bodyContent {
    padding: 0 1rem;
  }

  .footer {
    gap: 0.5rem;
  }

  .footer a {
    margin-right: 0;
    font-size: 24px;
  }
}

/* -------------------- END TABLET MEDIA QUERY -------------------- */

/* -------------------- MOBILE MEDIA QUERY -------------------- */

@media (max-width: 600px) {
  .split-container {
    max-height: 100%;
  }

  .text-side p {
    padding: 0 2rem;
  }

  .testimonial {
    min-width: 90vw;
  }

  .testimonial p {
    padding: 1rem 2rem;
  }

  .shop-container h1 {
    margin: 0;
    padding-bottom: 1rem;
  }

  .shop-here {
    margin-bottom: 1rem;
  }
}

/* -------------------- END MOBILE MEDIA QUERY -------------------- */