@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;500;600&display=swap');

.custom-pagination button.active {
   background-color: red;
   color: white;
}

input[type="radio"] {
   display: none;
}

label[for^="tab-"] {
   display: inline-block;
   margin-right: 15px;
   padding: 10px 20px;
   background-color: #f2f2f2;
   color: #333;
   border-radius: 5px;
   cursor: pointer;
   transition: background-color 0.3s ease;
}

label[for^="tab-"]:hover {
   background-color: #e0e0e0;
}

input[type="radio"]:checked+label[for^="tab-"] {
   background-color: #ff1414;
   color: #fff;
}

.container1 {
   max-width: 1200px;
   margin: -32px auto;
   padding: 3rem 2rem;
   text-align: center;
}

.container1 .title {
   color: white;
   margin-bottom: 3rem;
   text-transform: uppercase;
   text-align: center;
}

.container1 .products-container {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
   gap: 1rem;
}

.container1 .products-container .product {
   text-align: center;
   padding: 1rem;
   box-shadow: 0 .3rem .6rem rgba(255, 255, 255, 10);
   cursor: pointer;
   display: flex;
   flex-direction: column;
   justify-content: center;
}

.container1 .products-container .product img {
   max-width: 60%;
   height: auto;
   display: block;
   margin: auto;
}

.container1 .products-container .product:hover {
   outline: .2rem solid #222;
   outline-offset: 0;
}

.container1 .products-container .product:hover img {
   transform: scale(.9);
}

.container1 .products-container .product h3 {
   padding: .5rem 0;
   font-size: 1rem;
   color: #ffffff;
   margin-top: 1rem;
}

.container1 .products-container .product:hover h3 {
   color: #ff1414;
}

.container1 .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;
   z-index: 1000;
}

.products-preview .preview {
   display: none;
   padding: 1rem;
   text-align: center;
   background: #111;
   margin: 0.5rem;
   max-width: 90%;
   width: 40rem;
   max-height: 80vh;
   overflow-y: hidden;
   border: 2px solid #ff1414;
   border-radius: 5px;
}

.products-preview .preview.active {
   display: inline-block;
   overflow-y: scroll;
}

.products-preview .preview img {
   max-width: 50%;
   height: auto;
   display: none;
   margin: auto;
   max-height: 17rem;
}

.products-preview .preview .fa-times {
   position: absolute;
   top: 0.50rem;
   right: 0.50rem;
   cursor: pointer;
   color: #c0c0c0;
   font-size: 2rem;
   background-color: rgb(27, 27, 27);
   border-radius: 50%;
   padding: 8px 12px;
}

.products-preview .preview .fa-times:hover {
   background-color: rgb(15, 15, 15);
   border-radius: 50%;
   padding: 8px 12px;
}

.products-preview .preview .fa-times:hover {
   transform: rotate(90deg);
}

.products-preview .preview h3 {
   background-color: rgba(0, 0, 0, 1);
   padding: .5rem 0;
   font-size: 1rem;
}

.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 p {
   line-height: 1.5;
   padding: 1rem 0;
   font-size: 1.25rem;
   color: #ffffff;
}

.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;
   margin-top: 1rem;
}

.products-preview .preview .buttons a {
   flex: 1 1 16rem;
   padding: 1rem;
   font-size: 1.8rem;
   color: #444;
   border: .1rem solid #444;
}

.products-preview .preview .buttons a.cart {
   background: #444;
   color: #fff;
}

.products-preview .preview .buttons a.cart:hover {
   background: #111;
}

.products-preview .preview .buttons a.buy:hover {
   background: #444;
   color: #fff;
}

.custom-pagination {
   display: flex;
   justify-content: center;
   margin-top: 20px;
}

.custom-pagination button {
   padding: 10px 20px;
   margin: 0 5px;
   background-color: white;
   color: black;
   border: none;
   cursor: pointer;
   border-radius: 5px;
}

.custom-pagination button:not(.active):hover {
   background-color: #e0e0e0;
   color: #000000;
}

@media (max-width: 768px) {
   .custom-pagination button {
      font-size: 14px;
      padding: 8px 16px;
   }
}

@media (max-width: 991px) {
   .container1 .products-container {
      grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
   }
   .products-preview .preview {
      width: 90%;
   }
}

@media (max-width: 768px) {
   .container1 .title {
      font-size: 2.5rem;
   }

   .container1 .products-container {
      grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
   }

   .products-preview .preview img {
      height: 10rem;
   }
}

@media (max-width: 450px) {
   .container1 .title {
      font-size: 2rem;
   }

   .container1 .products-container {
      grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
   }
}