body {
  margin: 0;
  font-family: 'Ubuntu', sans-serif;
  background-color: #F7F1EA;
}

/* Header and Footer */
#header, #footer {
  width: 100%;
}

section {
    width: 100vw;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}

.slider-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.slider {
    display: flex;
    width: calc(100vw * 6); /* 5 images + 1 duplicate */
    height: 100vh;
    transition: transform 1s ease-in-out;
}

.slide {
    min-width: 100vw;
    height: 100vh;
    background-size: cover;
    background-position: center;
}

.divider {
  border: none;
  height: 1px;
  background: white;
  margin: 1.5rem 0;
}

.section2{
  width: 100%;
  background-color: #8F654F;
  color: white;
}

.section2 p {
  font-size: 14px;
  text-align: justify;
  font-weight: 200;
}

.section2 h1 {
  margin: 0;
  font-size: 25px;
}

.section2 .content{
  height: 100%;
  display: flex;
  flex-direction: row;
  padding: 3%;
}

.section2 .content2{
  height: 100%;
  display: flex;
  flex-direction: row-reverse;
  padding: 0 3%;
}

.content .text-container{
  width: 50%;
  margin-right: 3%;
  align-content: center;
}

.content2 .text-container2{
  width: 50%;
  margin-left: 3%;
  align-content: center;
}

.content .photo-container, .content2 .photo-container{
  width: 50%;
}

.photo-container img{
  width: 100%;
  height: 100%;
}

.section6{
  width: 100%;
  height: 90%;
  padding-top: 5%;
  justify-content: center;
}

.section6 h1{
  text-align: center;
  font-size: 25px;
  color: #8F654F;
}

.divider6 {
  border: none;
  height: 2px;
  background: #8F654F;
  margin: 1.5rem 0rem;
  width: 24%;
  margin: 0 38%;
}

.section6 .scroll-container{
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin: 5% 15%;
  align-items: center;
}

.scroll-container .scroll-content{
  display: flex;
    width: 90%;
    overflow: hidden;
    gap: 14px;
}

.scroll-item img {
  height: 190px;
  width: 190px;
  border-radius: 100px;
}

.scroll-container button{
  background: #8F654F;
  border: none;
  font-size: 30px;
  border-radius: 3px;
  height: 10%;
  color: white;
  align-items: center;
}

.product{
  width: 100%;
  height: auto;
  padding-top: 30px;
  padding-bottom: 30px;
}

.product h1{
  text-align: center;
  font-size: 25px;
  color: #8F654F;
}

.product P{
  text-align: center;
  font-size: 14px;
  width: 80%;
  padding: 0 10%;
  text-align: justify;
}


.product .product-container {
  display: flex;
  gap: 25px;
  justify-content: center; /* optional: centers the row */
  flex-wrap: wrap; /* optional: allows wrapping on smaller screens */
}

.product-container a{
  text-decoration: none;
}

.product-container .product {
  flex: 1 1 calc(33.333% - 16.67px); /* 3 in a row with gap compensation */
  background-size: cover;
  background-position: center;
  height: 300px; /* adjust height as needed */
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: white;
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  border-radius: 8px; /* optional: rounded corners */
  height: 275px;
  width: 325px;
}


.product-container .product::before {
  content: ''; /* Creates a pseudo-element */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5); /* Black with transparency */
  z-index: 1; /* Ensures the overlay is above the image but below the text */
}

.product-container .product > * {
  position: relative;
  z-index: 2; /* Makes sure the content is above the overlay */
}

.product-container h2{
  font-size: 24px;
  text-align: center;
}


/* Animation styles */
.fade-in-up {
  opacity: 0;
  transform: translateY(30px) scale(0.9);
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Add a quicker fade-in and scale animation to the image */
.photo.fade-in-up {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.photo.fade-in-up.visible {
  opacity: 1;
  transform: scale(1);
}

/* Optional: Slight shadow effect for text elements */
.title, .paragraph {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.title.visible, .paragraph.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Optional: Hover effect on image */
.photo-container img:hover {
  transition: transform 0.3s ease;
}

@media screen and (max-width: 1024px) {
  .section6 .scroll-container{
    margin: 5%;
  }

  .product-container .product{
    width: 255px;
    height: 190px;
  }
}

@media screen and (max-width: 768px){
  .section2 .content,  .section2 .content2{
    flex-direction: column;
  }

  .content .text-container, .content2 .text-container2{
    padding: 0;
    margin: 0;
    width: 100%;
  }

  .content .photo-container, .content2 .photo-container {
    width: 100%;
  }

  .photo-container img {
      width: 100%;
      max-height: 300px;
  }

  section {
    height: auto;
  }

  .product-container .product{
    width: 190px;
    height: 190px;
  }
}

@media screen and (max-width: 480px){
  .section2 .content, .section2 .content2 {
    padding: 7%;
    height: auto;
  }
  .scroll-container .scroll-content {
      padding-left: 25%;
  }
  .product .product-container {
    flex-direction: column;
    padding: 0 10%;
  }
  .product-container .product {
    width: 100%;
    height: 15vh;
  }
  .slide{
      height: 25vh;
  }
  .slider-wrapper{
      height: 25%;
  }
}