@import url("https://fonts.googleapis.com/css2?family=Spartan:wght@100;200;300;400;500;600;700;800;900&display=swap");

html {
  scroll-behavior: smooth;
}

/* Global Styles */

h1 {
  font-size: 50px;
  line-height: 64px;
  color: #222;
}

h2 {
  font-size: 46px;
  line-height: 54px;
  color: #222;
}

h4 {
  font-size: 20px;
  color: #222;
}

h6 {
  font-weight: 700;
  font-size: 12px;
}


.section-p1 {
  padding: 40px 80px;
}

.section-m1 {
  margin: 40px 0;
}

button.normal{
  font-size: 14px;
  font-weight: 600;
  padding: 15px 30px;
  color: #000;
  background-color: #fff;
  border-radius: 4px;
  cursor: pointer;
  border: none;
  outline: none;
  transition: 0.2s;
}
button.white{
  font-size: 13px;
  font-weight: 600;
  padding: 11px 18px;
  color: #fff;
  background-color: transparent;
  cursor: pointer;
  border: 1px solid #fff;
  outline: none;
  transition: 0.2s;
}

/* single product*/
#prodetails{
  display: flex;
  margin-top: 20px;
}
#prodetails .single-pro-img{
  width: 40%;
  margin-right: 50px;
}
.small-img-group{
  display: flex;
  justify-content: space-between;
}
.small-img-col{
  flex-basis: 24%;
  cursor: pointer;
}
#prodetails .single-pro-details{
  width: 50%;
  padding-top: 30px;
}
#prodetails .single-pro-details h4{
  padding:40px 0 20px 0;
}
#prodetails .single-pro-details h2{
  font-size: 26px;
}
#prodetails .single-pro-details select{
  display: block;
  padding: 5px 10px;
  margin-bottom: 15px;
}
#prodetails .single-pro-details input{
  width: 50px;
  height: 47px;
  padding-left: 10px;
  font-size: 16px;
  margin-right: 10px;
}
#prodetails .single-pro-details input:focus{
  outline: none;
}
#prodetails .single-pro-details button{
  background-color: #088178;
  color: #fff;
}
.single-pro-details span{
  line-height: 25px;
}

 /* Cart Table Styles */
.cart-container {
  width: 100%;
  overflow-x: auto; /* Enables horizontal scrolling on small screens */
}

#cart table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
  min-width: 800px; /* Prevents table from squeezing on small screens */
}

#cart table thead {
  background-color: #f8f9fa;
  border-bottom: 2px solid #dee2e6;
}

#cart table th,
#cart table td {
  padding: 12px;
  text-align: center;
  border-bottom: 1px solid #dee2e6;
  white-space: nowrap; /* Prevents text from breaking in small screens */
}

#cart table th {
  font-weight: 600;
  color: #333;
}

#cart table tbody tr:hover {
  background-color: #f1f1f1;
}

#cart table img {
  width: 60px;
  height: auto;
  border-radius: 5px;
  object-fit: cover;
}

.qty-input {
  width: 50px;
  text-align: center;
  padding: 5px;
  border: 1px solid #ddd;
  border-radius: 5px;
}

.remove-icon {
  color: red;
  font-size: 18px;
  cursor: pointer;
  transition: 0.3s;
}

.remove-icon:hover {
  color: darkred;
}

/* Checkout Button */
button.checkout-btn {
  background-color: #28a745;
  color: white;
  padding: 10px 15px;
  font-size: 16px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: 0.3s;
}

button.checkout-btn:hover {
  background-color: #218838;
}

/* Responsive Table - Scroll on Small Screens */
@media screen and (max-width: 768px) {
  .cart-container {
      overflow-x: auto;
      display: block;
      white-space: nowrap;
  }

  #cart table {
      width: 100%;
      display: block;
  }

  #cart table thead {
      display: none; /* Hide table header */
  }

  #cart table tbody {
      display: flex;
      flex-direction: column;
  }

  #cart table tbody tr {
      display: flex;
      flex-direction: column;
      background: #fff;
      padding: 10px;
      margin-bottom: 10px;
      border: 1px solid #ddd;
      border-radius: 5px;
  }

  #cart table td {
      display: flex;
      justify-content: space-between;
      padding: 8px;
      border: none;
  }

  #cart table td img {
      max-width: 80px;
      height: auto;
  }

  .qty-input {
      width: 60px;
  }

  .remove-icon {
      font-size: 20px;
  }
}

#coupon {
  width: 50%;
  margin-bottom: 30px;
}
#coupon h3,
#subtotal h3 {
  padding-bottom: 15px;
}
#coupon input {
  padding: 10px 20px;
  outline: none;
  width: 60%;
  margin-right: 10px;
  border: 1px solid #e2e9e1;
}
#coupon button ,
#subtotal button{
    background-color: #088178;
    color: white;
    padding: 12px 20px;
}
#subtotal {
  width: 50%;
  margin-bottom: 30px;
  border: 1px solid #e2e9e1;
  padding: 30px;
}
#subtotal table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 20px;
  }
  #subtotal table td {
  width: 50%;
  border: 1px solid #e2e9e1;
  padding: 10px;
  font-size: 13px;
  }



/* Start Responsive "Media Query" */

@media (max-width:820px) {
  .section-p1 {
    padding: 40px 40px;
  }
  #navbar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content:flex-start;
    position: fixed;
    top:0;
    right: -300px;
    height: 100vh;
    width: 300px;
    background-color: #e3e6f3;
    box-shadow: 0 40px 60px rgba(0,0,0,0.1);
    padding:  80px 0 0 10px;
    transition: 0.3s;
 }
#navbar li {
  margin-bottom: 25px;
}
#navbar.active{
  right: 0px;
}
#mobile{
  display: flex;
  align-items: center;
}
#mobile i{
  color: #1a1a1a;
  font-size: 24px;
  padding-left: 20px;
  }
  #close{
    display: initial;
    position: absolute;
    top: 30px;
    left: 30px;
    color: #222;
    font-size: 24px;
  }
  #lg-bag{
    display: none;
  }
  #hero{
    height: 70vh;
    padding: 0 80px;
    background-position: top 30% right 30%;
  }
  #feature{
    justify-content: center;
  }
  #feature .fe-box{
    margin: 15px 15px;
  }
  #products .pro-container{
    justify-content: center;
  }
  #products .pro-item{
    margin: 15px;
  }
  #banner{
    height: 20vh;
  }
  #sm-banner .banner-box{
    min-width: 100%;
    height: 30vh;
 }
 #sm-banner .banner-box2{
  margin-top: 20px;
}
  #banner3{
    padding: 0 40px;
  }
  #banner3 .banner-box{
    width: 28%;
}
#newsletter .form {
  width: 70%;
}

/* contact page */
#form-details {
  padding: 40px;
}

#form-details form {
  width: 50%;
}



}

 @media (max-width:477px) {
  .section-p1 {
    padding: 20px;
  }
  #header{
    padding: 10px 30px;
  }
  h1 {
    font-size: 38px;
  }
  h2 {
    font-size: 32px;
  }
  #hero {
    padding: 0 20px;
    background-position: 55%;
}
#feature{
  justify-content: space-between;
}
#feature .fe-box{
  width: 155px;
  margin: 0 0 15px 0;
}
#products .pro-item{
  width:100%;
}
#banner{
  height: 40vh;
}
#sm-banner .banner-box{
  height: 40vh;
}
#sm-banner .banner-box2{
  margin-top: 20px;
}
#banner3 {
  padding: 0 20px;
}
#banner3 .banner-box {
  width: 100%;
}
#newsletter{
  padding:  40px 20px;
}
#newsletter .form {
  width: 100%;
}
footer .copyright {
  text-align: start;
}

/* single product*/
#prodetails{
  display: flex;
  flex-direction: column;
}
#prodetails .single-pro-img {
  width: 100%;
  margin-right: 0px;
}
#prodetails .single-pro-details{
  width: 100%;
}

/* blog page */
#blog{
  padding: 100px 20px 0 20px;
}
#blog .blog-box{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
#blog .blog-img{
  width: 100%;
  margin-right: 0px;
  padding-bottom: 10px;
}
#blog .blog-content{
  width: 100%;
 }

 /* about page */
 #about-head {
  flex-direction: column;
}
#about-head img {
  width: 100%;
  margin-bottom: 20px;
}
#about-head div {
  padding-left: 0px;
}
#about-head div h2{
  text-align: center;
}

/* contact page */
#contact-details {
  flex-direction: column;
}
#contact-details .details {
  width: 100%;
  margin-bottom: 30px;
}
#contact-details .map {
  width: 100%;
}
#form-details {
  margin: 10px;
  padding: 30px 10px;
  flex-wrap: wrap;
}

#form-details form {
  width: 100%;
  margin-bottom: 30px;
}

/* cart page */
#cart-add {
  flex-direction: column;
}
#coupon {
  width: 100%;
}
#subtotal {
  width: 100%;
  padding: 20px;
}

}
@media screen and (max-width: 768px) {
  .cart-container {
      overflow-x: auto;
      display: block;
      white-space: nowrap;
  }

  #cart table {
      width: 100%;
      display: block;
  }

  #cart table thead {
      display: none; /* Hide table header */
  }

  #cart table tbody {
      display: flex;
      flex-direction: column;
  }

  #cart table tbody tr {
      display: flex;
      flex-direction: column;
      background: #fff;
      padding: 10px;
      margin-bottom: 10px;
      border: 1px solid #ddd;
      border-radius: 5px;
  }

  #cart table td {
      display: flex;
      justify-content: space-between;
      padding: 8px;
      border: none;
  }

  #cart table td img {
      max-width: 80px;
      height: auto;
  }

  .qty-input {
      width: 200px;
  }

  .remove-icon {
      font-size: 20px;
  }
}
