
.quickbuy-wrapper {
    position: absolute;
    bottom: 18px;
    right: 10px;
    z-index: 10;
}

.btn-quickbuy-square {
    background-color: #000000;
    color: #ffffff;
    width: 40px;
    height: 40px;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, transform 0.2s ease;
    cursor: pointer;
}

.btn-quickbuy-square:hover {
    background-color: #333333;
    color: #ffffff;
    transform: scale(1.05);
}

.btn-quickbuy-square .material-icons {
    font-size: 24px;
    line-height: 1;
}

/* Effetto caricamento quando cliccato */
.btn-quickbuy-square.loading {
    opacity: 0.7;
    cursor: wait;
}

/* Il contenitore deve essere il riferimento */
.products-carousel {
    position: relative;
    overflow: hidden; /* Fondamentale per nascondere il pannello prima dello slide */
}

.quickbuy-panel {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    max-height: 80%; /* Non copre tutta l'immagine se non serve */
    background: rgba(255, 255, 255, 0.98);
    z-index: 100;
    transform: translateY(100%); /* Parte da fuori (in basso) */
    border: 0.5px solid #232323;
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    padding: 20px 15px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.qb-variant-group:first-child ul {
  flex-direction: column !important;
  align-items: flex-start !important;
}
.qb-attributes-list .qb-purchase-section {
  margin-top: 0px !important;
}
.qb-attributes-list .btn, .qb-attributes-list .btn.btn-primary {
  margin-top: 0px !important;
}

.quickbuy-panel.is-active {
    transform: translateY(0); /* Sale verso l'alto */
    z-index: 99999;
    opacity: .96;
}

.panel-close {
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 24px;
    cursor: pointer;
    color: #333;
    z-index: 101;
}

.panel-content {
    overflow-y: auto;
    transition: opacity 0.3s;
}

/* Nascondiamo eventuali titoli prodotto dentro il pannello se il controller li invia ancora */
.quickbuy-panel h1,
.quickbuy-panel .product-title {
    display: none !important;
}

/* Ottimizzazione pulsante acquisto */
.quickbuy-panel .add-to-cart {
    margin-top: 0px;
    width: 100%;
    background-color: transparent;
    color: #111111 !important;
    border: 0.5px solid #111111;
    padding: 10px 15px !important;
}

.qb-attribute-item .qb-attribute-label .qb-color-box {
  width: 15px !important;
  height: 15px !important;
  border-radius: 0px !important;
  border: 0.5px solid #232323 !important;
}
.qb-attribute-item .qb-attribute-label .qb-color-box.qb-active {
  border: 1px solid #121212 !important
}
.qb-attribute-label .qb-size-box {
  border: 0px solid #121212 !important;
  padding: 5px 0px !important;
}
.qb-attribute-label .qb-size-box.qb-active {
    background-color: transparent !important  ;
    color: #121212 !important;
    border: 0.5px solid #121212 !important;
    padding: 5px !important;
}
.qb-purchase-section .add-to-cart:hover {
  background-color: transparent;
  border: 1px solid #121212 !important;
  color: #FFFFFF !important;
}
.qb-variant-group {
  margin-bottom: 0px !important;
}

/* Quando il pannello è attivo, nascondiamo i link delle varianti originali */
.product-item:has(.quickbuy-panel.is-active) .variant-links {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

/* Opzionale: se vuoi che il div sparisca proprio occupando zero spazio */
.product-item:has(.quickbuy-panel.is-active) .variant-links {
    display: none;
}

@media (max-width: 900px) {
    .quickbuy-wrapper {
        bottom: -52px;
    }
    .qb-interaction-area #product-availability {
        font-weight: 400;
        font-size: 11px;
        text-transform: uppercase;
    }
}