/* =========================================================
   RESET FORZATO CONTENITORI
   ========================================================= */

.flex-wrapper {
  min-height: auto !important;
  height: auto !important;
}

#app {
  display: flex;
  flex-direction: column;
  justify-content: flex-start !important;
}

/*
   Evita overflow orizzontali causati
   da slider e animazioni.
*/
html,
body {
  overflow-x: hidden !important;
}

/*
   Azzera qualsiasi margine o padding interno
   ereditato dai blocchi di SellAuth.
*/
.flex-wrapper > div > * {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* =========================================================
   SEZIONE RECENSIONI
   ========================================================= */

.elite-reviews-section {
  /*
     Manteniamo il sollevamento della sezione,
     ma evitiamo che il contenuto generi overflow.
  */
  margin-top: -220px !important;

  padding: 20px 0 !important;

  background: #000;

  position: relative;
  z-index: 5;

  overflow: hidden !important;

  /*
     Evita che la sezione contribuisca
     con larghezze anomale al layout.
  */
  width: 100% !important;
  max-width: 100% !important;
}


/* =========================================================
   SLIDER RECENSIONI
   ========================================================= */

.reviews-slider-container {
  width: 100% !important;
  max-width: 100% !important;

  display: flex;

  overflow: hidden !important;

  padding: 15px 0;

  position: relative;
}


/*
   La traccia resta confinata dentro
   il contenitore dello slider.
*/
.reviews-track {
  display: flex;

  gap: 20px;

  animation: scroll-feedback-fast 40s linear infinite;

  will-change: transform;

  /*
     Impedisce alla traccia di modificare
     le dimensioni del contenitore.
  */
  flex-shrink: 0;

  width: max-content;

  max-width: none !important;
}


/*
   Animazione orizzontale.
*/
@keyframes scroll-feedback-fast {

  0% {
    transform: translate3d(0, 0, 0);
  }

  100% {
    transform: translate3d(-50%, 0, 0);
  }

}


/* =========================================================
   CARD RECENSIONE
   ========================================================= */

.elite-review-card {
  min-width: 300px;
  max-width: 300px;

  height: 220px;

  flex-shrink: 0;

  background: #0b0b0b;

  border: 1px solid #1a1a1a;

  padding: 25px;

  border-radius: 50px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  transition: transform 0.3s ease;

  box-sizing: border-box;
}


.elite-review-card:hover {
  transform: scale(1.05);

  background: #111;
}


.card-stars {
  color: #fff;

  font-size: 10px;

  letter-spacing: 3px;

  margin-bottom: 8px;

  opacity: 0.5;
}


.review-body {
  color: #999;

  font-size: 13px;

  line-height: 1.4;

  overflow: hidden;
}


.user-meta {
  border-top: 1px solid #1a1a1a;

  padding-top: 10px;

  display: flex;

  justify-content: space-between;
}


.user-name {
  color: #fff;

  font-weight: 700;

  font-size: 11px;
}


.user-status {
  color: #444;

  font-size: 8px;

  text-transform: uppercase;

  font-weight: 900;
}


/* =========================================================
   DRIPHUB - GRIGLIA PRODOTTI
   ========================================================= */


/*
   MOBILE
   2 prodotti per riga
*/

@media (max-width: 767px) {

  .products {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 12px !important;

    width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }


  /*
     Le colonne Bootstrap diventano
     elementi normali della griglia.
  */

  .products > [class*="col-"] {
    width: auto !important;

    max-width: none !important;

    flex: none !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    margin-bottom: 0 !important;
  }


  /*
     Card a tutta la larghezza
     della propria colonna.
  */

  .products .driphub-product-card {
    width: 100% !important;

    min-width: 0 !important;

    max-width: 100% !important;

    box-sizing: border-box;
  }


  /*
     Riduce leggermente gli spazi
     interni su smartphone.
  */

  .products .product-content {
    padding:
      14px 10px 8px 10px !important;
  }


  .products .product-actions {
    padding:
      8px 10px 12px 10px !important;

    gap: 5px !important;
  }


  .products .btn-cart-fake,
  .products .btn-buy-now {
    font-size: 8px !important;

    letter-spacing: .6px !important;

    padding:
      10px 2px !important;

    border-radius:
      11px !important;
  }


  .products .dh-product-title {
    font-size: 11px !important;

    margin-bottom: 6px !important;
  }


  .products .dh-price {
    font-size: 14px !important;
  }


  .products .dh-price-old {
    font-size: 12px !important;
  }

}


/* =========================================================
   TELEFONI MOLTO PICCOLI
   ========================================================= */

@media (max-width: 380px) {

  .products {
    gap: 8px !important;
  }


  .products .product-content {
    padding:
      12px 8px 7px 8px !important;
  }


  .products .product-actions {
    padding:
      7px 8px 10px 8px !important;

    gap: 4px !important;
  }


  .products .btn-cart-fake,
  .products .btn-buy-now {
    font-size: 7px !important;

    padding:
      9px 1px !important;

    border-radius:
      9px !important;
  }


  .products .dh-product-title {
    font-size: 10px !important;
  }


  .products .dh-price {
    font-size: 13px !important;
  }


  .products .dh-price-old {
    font-size: 11px !important;
  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 991px) {

  .products {
    display: grid !important;

    grid-template-columns:
      repeat(3, minmax(0, 1fr)) !important;

    gap: 18px !important;
  }


  .products > [class*="col-"] {
    width: auto !important;

    max-width: none !important;

    flex: none !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    margin-bottom: 0 !important;
  }

}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 992px) {

  .products {
    display: grid !important;

    grid-template-columns:
      repeat(4, minmax(0, 1fr)) !important;

    gap: 20px !important;
  }


  .products > [class*="col-"] {
    width: auto !important;

    max-width: none !important;

    flex: none !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    margin-bottom: 0 !important;
  }

}