*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Monument Extended";
}
.gif {
  width: 100%;
  position: absolute;
  pointer-events: none;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  object-fit: cover;
  z-index: -1;
  position: fixed;
  right: 0;
}
@media (min-aspect-ratio: 16/9){
  .gif{
    width: 100%;
    height: 100%;
  }
}
@media (max-aspect-ratio: 16/9){
  .gif{
    width: 100%;
    height: 100%;
  }
}
:root {
  --main-color: #fd4646;
  --text-color: #02ac70;
  --bg-color: #fff;
  --container-color: #1e1e2a;
}
.inshop{
  content:"";
  position: absolute;
  top: 8%; 
  right: 7%; 
  width: 20px;
  height: 20px;
  border-radius: 50%; 
  color: white; 
  font-size: 40px; 
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  text-shadow: 0 0 10px blue ;
}
.inshop i{
  padding: 5px;
  /* border: 2px solid #ffffff; */
  text-shadow: 0 0 10px blue ;
  /* background-color: #2d2e37; */
  font-family: "DotGothic16", sans-serif;
}
#cart-icon [data-quantity="0"]::after {
  contain:"";
}
#cart-icon[data-quantity]::after {
  content:attr(data-quantity);
  position: absolute;
  margin-top: -40px;
  right: -20px; 
  width: 18px;
  height: 18px;
  background: green; 
  border-radius: 50%;
  font-weight: 500;
  font-size: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-shadow: 0 0 10px blue ;
}
.Info-3-content{
  bottom: 0;
  height: 100vh;
  width: 100%;
  position: absolute; 
  right: 0;
  bottom: 0;
  top: 0;
  content: '';
  background-size: cover;
}
.shop-content{
  position: absolute;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px,auto));
  gap: 1rem;
  height: 10vh;
  width: 100%;
  top: 15%;
  padding: 0 180px;
}
.lottie-container .animation {
  position: fixed;
  width: 130vw;
  height: 100vh;
  top: 0;
  filter: saturate(2);
}
@media (max-width: 960px){
  .shop-content{
    grid-template-columns: repeat(auto-fit, minmax(200px,auto));
  }
}
#back a{
  cursor: pointer;
  font-size: 25px;
  margin: 2em 3em;
  text-shadow: 0 0 10px blue ;
  text-transform: uppercase;
  position: absolute;
  color: white;
  font-family: "DotGothic16", sans-serif;
  text-decoration: underline;
}
@media (max-width: 460px){
  .shop-content{
    grid-template-columns: repeat(auto-fit, minmax(150px,auto));
    padding: 0 25px;
    top:15%;
  }
  #back a{
    font-size: 15px;
  }
  .inshop{
    font-size: 25px; 
    top: 5%;
  }
  #cart-icon[data-quantitiy]::after {
    width: 10px;
    height: 10px;
    margin-top: -25px;
    right: -6px; 
  }
}
.product-box{
  position: relative;
  background: #2d2e37;
  padding: 10px;
  transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
  bottom: 12%;
  cursor: pointer;
}
.product-box:hover{
  background: #51525b;
  border: 1px solid #373841;
  box-shadow: 0 8px 32px hsla(0.75, 0.82, 0.165, 1);
  transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.product-img{
  width: 100%;
  height: auto;
  border-radius: 5px;
  margin-bottom: 0.5rem;
}
.product-title{
  color: forestgreen;
  /* text-shadow: 0 0 2px rgba(24, 216, 24, 0.333); */
  font-family: "DotGothic16", sans-serif;
  text-transform: uppercase;
  text-align: center;
  font-size: 10px;
}
.price{
  color: rgb(255, 255, 255);
  text-shadow: 0 0 10px rgba(24, 216, 24, 0.333);
  font-family: "DotGothic16", sans-serif;
  font-weight: 500;
  font-size: 10px;
}
.add-cart{
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: white;
  background: rgba(24, 216, 24, 0.333);
  text-shadow: 0 0 10px rgba(24, 216, 24, 0.333);
  font-family: "DotGothic16", sans-serif;
  padding: 5px;
  font-size: 13px;
  border-radius: 50%;
  cursor: pointer;
  bottom: 2%;
}
.add-cart:hover{
  background: hsl(0, 0%, 18%);
}
@media (min-width: 460px){
  .product-title,
  .price{
    font-size: 15px;
  }
  .add-cart{
    font-size: 1.2rem;
    padding: 10px;
  }
}
.cart{
  position: fixed;
  top: 0; 
  width: 360px;
  min-height: 100vh;
  padding: 20px;
  background: var(--container-color);
  box-shadow: -2px 0 4px hs1(0, 4%, 15% / 18%) ;
  transition: 0.3s cubic-bezier(9.075, 0.82, 0.165, 1);
  right: -100%;
  color: aliceblue;
  z-index: 1;
}
.active{
  right: 0;
  transition: 0.8s cubic-bezier(9.075, 0.82, 0.165, 1);
}
.cart-title{ 
  text-align: center; 
  font-size: 1.5rem; 
  font-weight: 600;
  margin-top: 2rem;
}
.total {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.5rem;
  border-top: 1px solid var(--text-color);
} 
.total-title {
  font-size: 1.2rem; 
  font-weight: 600;
  margin-top: 1rem;
}
.total-price {
  font-size: 1.075rem;
  margin: 1rem 0 0 0.7rem;
}
.btn-buy {
  display: flex;
  justify-content: center;
  margin: 1.5rem auto 0 auto;
  padding: 12px 20px;
  width: 50%;
  text-align: center;
  border: none; 
  border-radius: 2rem;
  background: var(--text-color);
  color: var(--bg-color);
  font-size: 1rem;
  font-style: italic;
  font-weight: 500;
  cursor: pointer;
}
#close-cart{
  position: absolute;
  top: 1rem; 
  right: 0.8rem;
  font-size: 2rem;
  color: var(--text-color);
  cursor: pointer;
}
.cart-box {
  display: grid;
  grid-template-columns: 32% 50% 18%;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
}
.cart-img { 
  width: 100px;
  height: 100px; 
  object-fit: contain;
  object-position: center;
  padding: 10px;
}
.detail-box { 
  display: grid;
  row-gap: 0.5rem;
}
.cart-product-tittle{ 
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
}
.cart-price {
  font-weight: 500;
}
.cart-quantity { 
  border: 1px solid var(--text-color);
  outline-color: var(--main-color);
  width: 2.8rem; 
  text-align: center; 
  font-size: 1rem;
  border-radius: 4px;
}
input{
  color: #fff;
}
.cart-remove{ 
  font-size: 24px;
  color: var(--main-color);
  cursor: pointer;
}