@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&display=swap');

:root{
  --primaryColor:  rgb(51, 129, 249);
  --fontColor: #fff;
  --cart-size: "6";
}

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Roboto", sans-serif;
}

body{
  background-color: aliceblue;
}

.hidden{
  display: none;
}

/* catalog styling starts here */
h2{
  text-align: center;
  text-transform: capitalize;
  margin: 1rem;
}


.catalog {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  padding: 20px;
  margin: auto;
  width: 87vw;
}

.card {
  display: grid;
  grid-template-rows: 1fr auto;
  background-color: lightsteelblue;
  padding: 10px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  overflow: hidden;
  cursor: pointer;
}
/* #product-list{
  display: grid;
  grid-template-rows: 1fr auto;
  background-color: lightsteelblue;
  padding: 10px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  overflow: hidden;
  cursor: pointer;
} */

.catalog-search{
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  /* display: none; */
}

#catalogParent {
  position: absolute;
  top: 55px;
  right: 0;
  left: 50;
  margin-right: 100px;
  padding: 20px;
  max-width: 1200px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:20px;
  /* color: var(--primaryColor); */
  width: 1%;
  justify-content: center;
  align-items: center;
}

.card-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.card-img img {
  width: 100%;
  border-radius: 10px;
  object-fit: contain;
}

.card:hover{
  box-shadow: 0 0 20px 10px var(--primaryColor);
}

.card-description {
  padding: 10px 5px;
  text-align: center;
}

.product-name, 
.product-price {
  margin: 5px 0;
  font-weight: bold;
  text-transform: capitalize;
}
/* catalog styling ends here */

/* header section starts here */
header{
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.heading{
  display: flex;
  justify-content: space-between;
  height: 8vh;
  background-color: #003;
  padding: 0 2%;
  border-bottom: solid 2px gray;
}

.left-heading{
  display: flex;
  justify-content: center;
  align-items: center;
  height: inherit;
}

.right-heading{
  display: flex;
  justify-content: center;
  align-items: center;
  height: inherit;
}

.logo{
  height: 6vh;
  padding-right: 1rem;
}

.logo img{
  height: 100%;
  border-radius: 50%;
}

.login-status{
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--fontColor);
  cursor: pointer;
}



.login-status * {
  padding-right: 1rem;
}

.cart{
  color: var(--fontColor);
  position: relative;
  cursor: pointer;
}

.cart-not-empty::after{
  content: var(--cart-size);
  height: 20px;
  width: 20px;
  background-color: var(--primaryColor);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -13px;
  left: 13px;
}

.search-form{
  display: flex;
}

input[type = "search"],
input[type = "submit"]{
  padding: 3px 9px;
  margin-right: 6px;
  border-radius: 3px;
  border: none;
}

input[type = "submit"]{
  background-color: var(--primaryColor);
  cursor: pointer;
}


.navigation{
  background-color: #003;
  height: 8vh;
}

.navigation ul{
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--fontColor);
  height: inherit;
  list-style-type: none;
}

.navigation ul li{
  padding: 0.5rem 1rem;
  margin-left: 4rem;
  font-weight: 2rem;
  font-size: 1.5rem;
  text-transform: capitalize;
  cursor: pointer;
  /* background-color: var(--primaryColor); */
  border-radius: 2rem;
}
/* header section ends here */

/* banner section starts here */
.swiper-slide{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: rgb(139, 194, 240);
  font-size: 1.5rem;
  text-shadow: 2px 2px 3px #333;
}

.swiper-slide *{
  margin-bottom: 0.8rem;
}

.swiper-slide button{
  background-color: var(--primaryColor);
  font-size: 1.2rem;
  padding: 5px 10px;
  border-radius: 5px;
  outline: none;
  border-color: var(--primaryColor);
}

.swiper-pagination {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 10;
}

.swiper-pagination-bullet {
  background: #fff; /* Make dots visible on dark background */
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background: var(--primaryColor); /* Active dot color */
}

/* banner section ends here */

/* main starts here */
main{
  min-height: 45vh;
  margin-top: 8vh;
  padding-top: 80px;
}
/* main ends here */

/* overlay starts here */
.overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  background-color: #002;
  opacity: 0.8;
  z-index: 200;
}

.modal-container{
  position: fixed;
  top: 25%;
  left: 25%;
  /* right: 0; */
  width: 60vw;
  height: 50vh;
  background-color: #fff;
  /* opacity: 0.8; */
  z-index: 300;
  border-radius: 7px;
}

.modal{
   display: grid;
  grid-template-columns: 1fr 2fr;
  padding: 10px 20px;
}

.modal img{
  max-height: 47vh;
}

.modal-desc{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-left: 1.5rem;
}

.modal-desc *{
  margin-bottom: 25px;
  border-bottom: solid 1px var(--primaryColor);
  width: 100%;
  padding: 5px 0;
}

.modal-desc select{
  border: none;
  border-bottom: solid 1px var(--primaryColor);
}

.add-to-cart{
  background-color: var(--primaryColor);
  border: 1px solid var(--primaryColor);
  padding: 10px 10px;
  cursor: pointer;
  box-shadow: 5px 5px 5px lightgray;
  border-radius: 5px;
  font-size: large;
}

.modal-desc div:first-child{
  font-weight: bolder; 
}
/* overlay ends here */

/* footer section starts here */


footer li {
  cursor: pointer;
  transition: all 1s ease-in-out;
}

footer li:hover {
  color: var(--primaryColor);
  font-size: larger;
} 
.social-share ul{
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
}

.social-share li{
  margin: 2% 1%;
}

.general-info h3{
  margin: 25px 0;
}

.general-info{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background-color: #e6eef5;
  text-transform: capitalize;
  padding: 0 2%;
}

.general-info ul{
  list-style-type: none;
}

.general-info ul li{
  margin-bottom: 15px;
}
/* footer section ends here */

/* login and registration form styling */
.login-form,
.registration-form,
.address-form{
  display: flex;
  flex-direction: column;
  margin: 10px 10px;
}

.login-form *,
.registration-form *,
.address-form *{
  margin-top: 8px;
  padding: 5px 3px;
  font-size: large;
}

.login-form input[type='submit'],
.registration-form input[type='submit'],
.address-form input[type ='submit']{
  width: 100%;
  cursor: pointer;
}

/* cart container styling begins */
.cart-container{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 80vw;
  margin: 8rem auto;
}
.cart-container > div{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem 2rem;
  border-bottom: 1px solid gray;
}
.cart-container > div > img{
  width: 35%;
}
.cart-container > div > select{
  width: 100%;
  height: 25%;
  margin: auto;
}
.delete-product-btn{
  padding: 0.5rem;
  background-color: red;
  margin-left: 2rem;
  border-radius: 5px;
  border-color: red;
  letter-spacing: 0.1rem;
  font-size: large;
  cursor: pointer;
}
.cart-container > .total-div{
  grid-column: span 4;
  display: flex;
  justify-content: right;
}
.cart-container > .nav-div{
  margin-top: 1.5rem;
  grid-column: span 4;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 40rem;
}
.nav-div button{
  background-color: var(--primaryColor);
  padding: 0.5rem 0;
  border-radius: 5px;
  border-color: var(--primaryColor);
  letter-spacing: 0.1rem;
  font-size: large;
  cursor: pointer;
}
/* cart container styling ends */

/*MEDIA QUERY STARTS HERE*/
/* ---------------- NAVBAR ---------------- */
/*@media (max-width: 480px) {*/
/*  .navigation {*/
/*    flex-direction: column;*/
/*    align-items: center;*/
/*  }*/
/*  .navigation ul {*/
/*    flex-direction: column;*/
/*    gap: 10px;*/
/*  }*/
/*  .navigation .logo {*/
/*    font-size: 18px;*/
/*  }*/
/*}*/

/*@media (min-width: 481px) and (max-width: 600px) {*/
/*  .navigation {*/
/*    padding: 10px;*/
/*  }*/
/*  .navigation .logo {*/
/*    font-size: 20px;*/
/*  }*/
/*  .navigation ul {*/
/*    gap: 15px;*/
/*  }*/
/*}*/

/*@media (min-width: 601px) and (max-width: 1024px) {*/
/*  .navigation {*/
/*    justify-content: space-between;*/
/*  }*/
/*  .navigation ul {*/
/*    gap: 20px;*/
/*  }*/
/*   .logo {*/
/*    font-size: 22px;*/
/*  }*/
/*}*/

/*@media (min-width: 1025px) and (max-width: 1440px) {*/
/*  .navigation .logo {*/
/*    font-size: 24px;*/
/*  }*/
/*  .navigation ul {*/
/*    gap: 25px;*/
/*  }*/
/*}*/

/*@media (min-width: 1441px) {*/
/*  .navigation {*/
/*    padding: 20px 100px;*/
/*  }*/
/*  .navigation .logo {*/
/*    font-size: 26px;*/
/*  }*/
/*}*/

/* ---------------- BANNER ---------------- */
/*@media (max-width: 480px) {*/
/*  .swiper-slide {*/
/*    height: 35vh;*/
/*    background-size: cover;*/
/*  }*/
/*  .swiper-slide h3 {*/
/*    font-size: 16px;*/
/*  }*/
/*}*/

/*@media (min-width: 481px) and (max-width: 600px) {*/
/*  .swiper-slide {*/
/*    height: 40vh;*/
/*  }*/
/*  .swiper-slide h3 {*/
/*    font-size: 18px;*/
/*  }*/
/*}*/

/*@media (min-width: 601px) and (max-width: 1024px) {*/
/*  .swiper-slide {*/
/*    height: 50vh;*/
/*  }*/
/*  .swiper-slide h3 {*/
/*    font-size: 20px;*/
/*  }*/
/*}*/

/*@media (min-width: 1025px) and (max-width: 1440px) {*/
/*  .swiper-slide {*/
/*    height: 65vh;*/
/*  }*/
/*}*/

/*@media (min-width: 1441px) {*/
/*  .swiper-slide {*/
/*    height: 80vh;*/
/*  }*/
/*}*/

/* ---------------- PRODUCTS ---------------- */
/*@media (max-width: 480px) {*/
/*  .product-grid {*/
/*    grid-template-columns: 1fr;*/
/*  }*/
/*}*/

/*@media (min-width: 481px) and (max-width: 600px) {*/
/*  .product-grid {*/
/*    grid-template-columns: repeat(2, 1fr);*/
/*  }*/
/*}*/

/*@media (min-width: 601px) and (max-width: 1024px) {*/
/*  .product-grid {*/
/*    grid-template-columns: repeat(3, 1fr);*/
/*  }*/
/*}*/

/*@media (min-width: 1025px) and (max-width: 1440px) {*/
/*  .product-grid {*/
/*    grid-template-columns: repeat(4, 1fr);*/
/*  }*/
/*}*/

/*@media (min-width: 1441px) {*/
/*  .product-grid {*/
/*    grid-template-columns: repeat(5, 1fr);*/
/*  }*/
/*}*/

/* ---------------- FOOTER ---------------- */
/*@media (max-width: 480px) {*/
/*  footer {*/
/*    flex-direction: column;*/
/*    text-align: center;*/
/*  }*/
/*}*/

/*@media (min-width: 481px) and (max-width: 600px) {*/
/*  footer {*/
/*    flex-direction: column;*/
/*    text-align: center;*/
/*  }*/
/*}*/

/*@media (min-width: 601px) and (max-width: 1024px) {*/
/*  footer {*/
/*    flex-direction: row;*/
/*    justify-content: space-around;*/
/*  }*/
/*}*/

/*@media (min-width: 1025px) and (max-width: 1440px) {*/
/*  footer {*/
/*    justify-content: space-between;*/
/*    padding: 20px 80px;*/
/*  }*/
/*}*/

/*@media (min-width: 1441px) {*/
/*  footer {*/
/*    justify-content: space-between;*/
/*    padding: 30px 120px;*/
/*    }*/
/*}*/


