.container {
   background-image: url("imgsEcomerce/SITE EcoLuxo (1).png");
   display: grid;
   grid-template-columns: 1fr;
   justify-items: center;
   padding: 2rem;
}

.container .title {
   font-size: 3.5rem;
   color: #444;
   margin-bottom: 3rem;
   text-transform: uppercase;
   text-align: center;
}

.container .products-container {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20rem;
}

.container .products-container .product {
   text-align: center;
   padding: 3rem 2rem;
   background: #fff;
   box-shadow: 0 .5rem 1rem rgba(0,0,0,.1);
   cursor: pointer;
}

.container .products-container .product img,
.products-preview .preview img {
   display: block;
   margin: 0 auto;
   object-fit: contain;
   max-width: 100%;
   height: 30rem;
}

.container .products-container .product:hover {
   outline: .2rem solid #222;
   outline-offset: 0;
}

.container .products-container .product:hover img {
   transform: scale(.9);
}

.container .products-container .product h3 {
   padding: .5rem 0;
   font-size: 2rem;
   color: #444;
}

.container .products-container .product:hover h3 {
   color: #27ae60;
}

.container .products-container .product .price {
   font-size: 2rem;
   color: #444;
}

.products-preview {
   position: fixed;
   top: 0;
   left: 0;
   min-height: 100vh;
   width: 100%;
   background: rgba(0,0,0,.8);
   display: none;
   align-items: center;
   justify-content: center;
}

.products-preview .preview {
   display: none;
   padding: 2rem;
   background: #fff;
   position: relative; 
   margin: 2rem;
   width: 40rem;
   flex-direction: column;
   align-items: center;
}
.products-preview .preview .fa-times{
   position: absolute;
   top:1rem; right:1.5rem;
   cursor: pointer;
   color:#444;
   font-size: 4rem;
}

.products-preview .preview .fa-times:hover{
   transform: rotate(90deg);
}

.products-preview .preview.active {
   display: flex;
}
.products-preview .preview p{
   line-height: 1.5;
   padding:1rem 0;
   font-size: 1.6rem;
   color:#777;
}
.products-preview .preview h3{
   color:#444;
   padding:.5rem 0;
   font-size: 2.5rem;
}
.products-preview .preview .stars{
   padding:1rem 0;
   font-size: 1.7rem;
}

.products-preview .preview .stars i{
   color:#27ae60;
}

.products-preview .preview .stars span{
   color:#999;
}
.products-preview .preview .price{
   padding:1rem 0;
   font-size: 2.5rem;
   color:#27ae60;
}
.products-preview .preview .buttons {
   display: flex;
   gap: 1.5rem;
   flex-wrap: wrap;
   justify-content: center;
   margin-top: 1rem;
}

.products-preview .preview .buttons a {
   flex: 1 1 16rem;
   padding: 1rem;
   font-size: 1.8rem;
   color: #444;
   border: .1rem solid #444;
   text-align: center;
}

a.buy {
   display: inline-block;
   padding: 1rem 2rem;
   font-size: 1.6rem;
   font-weight: 600;
   text-transform: uppercase;
   text-align: center;
   border: 0.1rem solid #27ae60;
   background: transparent;
   color: #27ae60;
   border-radius: 0.5rem;
   transition: all 0.3s ease;
   cursor: pointer;
}

a.buy:hover {
   background: #27ae60;
   color: #fff;
}

@media (max-width: 1024px) {
   .container .products-container {
       grid-template-columns: repeat(2, 1fr);
   }
}

@media (max-width: 640px) {
   .container .products-container {
       grid-template-columns: 1fr;
   }
}

@media (max-width: 768px) {
   .products-preview .preview img {
       height: 25rem;
   }
}

@media (max-width: 450px) {
   html {
       font-size: 50%;
   }
}
