/* GeSmart card — regole comuni trasferite, senza cambiare i selettori. */

/* Origine custom-theme-style.css: 343 */
.product-miniature .product-flags li.product-flag{
    font-size: 0.7rem;
    margin-top: 5px;
    min-height: 1rem;
    background-color: #FE5D01;
}

/* Origine custom-theme-style.css: 350 */
.product-miniature-add-to-cart {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* Origine custom-theme-style.css: 356 */
.product-miniature-qty {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Origine custom-theme-style.css: 362 */
.product-miniature-qty .form-control {
  max-width: 60px;
  text-align: center;
}

/* Origine custom-theme-style.css: 367 */
.product-miniature-qty .btn-touchspin {
  min-width: 36px;
}

/* Origine custom-theme-style.css: 387 */
.products .add-to-cart{
    padding: 5px;
}

/* Origine custom-theme-style.css: 393 */
.products .js-miniature-qty-input{
    padding: 7px 0px;
    width: 30px;
}

/* Origine custom-theme-style.css: 397 */
.products .product-miniature-qty .btn-touchspin {
    padding: 7px;
}

/* Origine custom-theme-style.css: 418 */
.products .product-description-short{
    min-height: 36px;
}

/* Origine custom-theme-style.css: 599 */
.product-miniature .product-manufacturer-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 38px;
    min-height: 38px;
    margin: 12px 20px 6px;
}

/* Origine custom-theme-style.css: 615 */
.product-miniature .product-description {
    text-align: left;
}

/* Origine custom-theme-style.css: 624 */
.product-miniature .product-extra-information {
    margin-bottom: 10px;
}

/* Origine custom-theme-style.css: 628 */
.product-miniature .product-reference {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px;
    color: #0069CD;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

/* Origine custom-theme-style.css: 639 */
.product-miniature .product-extra-label,
.product-miniature .product-extra-value {
    color: inherit;
}

/* Origine custom-theme-style.css: 644 */
.product-miniature .product-manufacturer-name {
    margin-top: 2px;
    color: #232323;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}

/* Origine custom-theme-style.css: 657 */
.product-miniature .product-title {
    margin-top: 8px;
    margin-bottom: 8px;
    text-align: left !important;
}

/* Origine custom-theme-style.css: 663 */
.product-miniature .product-title a {
    display: block;
    width: 100%;
    color: #232323;
    font-weight: 700;
    line-height: 1.35;
    text-align: left !important;
}

/* Origine custom-theme-style.css: 672 */
.product-miniature .product-title a:hover {
    color: #e85b12;
}

/* Origine custom-theme-style.css: 681 */
.product-miniature .product-description-short {
    margin-top: 8px;
    color: #232323;
    font-size: 14px;
    line-height: 1.4;
    text-align: left;
}

/* Origine custom-theme-style.css: 738 */
@media (min-width: 768px) {
.products .product-miniature .product-extra-information {
        min-height: 42px;
    }
}

/* Origine custom-theme-style.css: 743 */
@media (min-width: 768px) {
.products .product-miniature .product-title {
        height: 42px;
        min-height: 42px;
        overflow: hidden;
    }
}

/* Origine custom-theme-style.css: 749 */
@media (min-width: 768px) {
.products .product-miniature .product-title a {
        overflow: hidden;
    }
}

/* Origine custom-theme-style.css: 754 */
@media (min-width: 768px) {
.products .product-miniature .product-description-short {
        height: 59px;
        min-height: 59px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }
}

/* Origine custom-theme-style.css: 764 */
@media (min-width: 768px) {
.products .product-miniature .product-price-and-shipping {
        min-height: 26px;
        margin-top: 6px;
    }
}

/* Origine custom-theme-style.css: 775 */
body .products .product-miniature .product-description h2.h3.product-title,
body .products .product-miniature .product-description h3.h3.product-title,
body .products .product-miniature .product-description .product-title {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
}

/* Origine custom-theme-style.css: 793 */
body .products .product-miniature .product-description h2.h3.product-title > a,
body .products .product-miniature .product-description h3.h3.product-title > a,
body .products .product-miniature .product-description .product-title > a {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
}

/* Origine custom-theme-style.css: 809 */
body .products .product-miniature .product-manufacturer-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 12px 0 6px 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Origine custom-theme-style.css: 821 */
body .products .product-miniature .product-manufacturer-logo img {
    display: block !important;
	width: 60px;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
}

/* Origine custom-theme-style.css: 1073 */
body .products .product-miniature .product-manufacturer-logo img.img-load-error {
  display: none !important;
}

/* Origine custom-theme-style.css: 2135 */
.product-miniature .product-qty-container.gs-availability-stack {
    align-items: flex-end;
}

/* Origine custom-theme-style.css: 5538 */
:root {
  --gs-promo-badge-bg: #ff7200;
  --gs-promo-badge-icon: #ffffff;
  --gs-promo-sparkle: #f5a000;
  --gs-promo-ribbon-bg: #0069cd;
  --gs-promo-ribbon-text: #ffffff;
}

/* Origine custom-theme-style.css: 5546 */
.product-miniature .thumbnail-top {
  position: relative;
}

/* Origine custom-theme-style.css: 5550 */
.product-miniature .gs-product-promo-badge {
  position: absolute;
  right: 12px;
  bottom: 2px;
  z-index: 7;
  width: 64px;
  height: 82px;
  pointer-events: none;
}

/* Origine custom-theme-style.css: 5561 */
.product-miniature .gs-product-promo-badge__tag {
  position: absolute;
  top: 0;
  right: 7px;
  display: flex;
  width: 48px;
  height: 58px;
  align-items: center;
  justify-content: center;
  background: var(--gs-promo-badge-bg);
  color: var(--gs-promo-badge-icon);
  clip-path: polygon(
    18% 0,
    78% 0,
    100% 20%,
    100% 88%,
    50% 100%,
    0 88%,
    0 18%
  );
  transform: rotate(-8deg);
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .22));
}

/* Origine custom-theme-style.css: 5586 */
.product-miniature .gs-product-promo-badge__tag::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gs-promo-badge-icon);
}

/* Origine custom-theme-style.css: 5611 */
.product-miniature .gs-product-promo-badge__percent {
  margin-top: 8px;
  font-size: 27px;
  font-weight: 800;
  line-height: 1;
  transform: rotate(8deg);
}

/* Origine custom-theme-style.css: 5620 */
.product-miniature .gs-product-promo-badge__ribbon {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  min-width: 64px;
  padding: 4px 7px 5px;
  background: var(--gs-promo-ribbon-bg);
  color: var(--gs-promo-ribbon-text);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 2px 3px rgba(0, 0, 0, .15);
}

/* Origine custom-theme-style.css: 5640 */
#js-product-list .products.st-catalog-view--compact
.product-miniature .gs-product-promo-badge {
  display: none !important;
}

/* Origine custom-theme-style.css: 5646 */
.product-miniature .gs-product-promo-badge::after {
  content: "✦";
  position: absolute;
  top: -8px;
  right: -2px;
  z-index: 5;
  color: var(--gs-promo-sparkle);
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .8);
}

/* Origine custom-theme-style.css: 5660 */
.product-miniature .gs-product-promo-badge__tag::after {
  content: none;
}

/* Origine custom-theme-style.css: 5671 */
.product-miniature .product-title .product-title-list-full {
  display: none;
}

/* =============================================================
   GESMART PRODUCT CARD — CANDIDATO R1.1
   Modello comune desktop/tablet >= 768px, ispirato alla HOME.
   Le modalità LIST/COMPACT restano responsabilità di catalog-view.
   Nessuna altezza totale fissa, nessuna misura letta via JavaScript.
   I badge sono contenuto nel flusso, non overlay del carrello.
   ============================================================= */
@media (min-width: 768px) {
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) {
    --gs-card-image-area: 238px;
    --gs-card-image-height: 210px;
    --gs-card-title-height: 42px;
    --gs-card-description-height: 59px;
    --gs-card-actions-height: 36px;
    --gs-card-logistics-min-height: 88px;
    --gs-card-logistics-gap: 5px;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }

  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) > .product {
    display: flex;
    align-self: stretch;
    height: auto;
    min-width: 0;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-self: stretch;
    width: 100%;
    color: var(--gs-card-text-color, #232323);
    height: auto;
    min-width: 0;
  }

  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature > .thumbnail-container {
    display: grid;
    /* I blocchi informativi possono crescere; 1fr assorbe lo spazio
       residuo e tiene le azioni sul bordo inferiore di ciascuna card. */
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: var(--gs-card-image-area) 0 minmax(0, 1fr) minmax(var(--gs-card-actions-height), auto);
    flex: 1 1 auto;
    align-content: start;
    min-width: 0;
    width: 100%;
    height: auto;
    min-height: 0;
  }
  /* Flag testuali in alto a sinistra: non intersecano il cartellino PROMO. */
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-flags {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: calc(100% - 52px);
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-flags li.product-flag {
    position: static;
    margin-top: 5px;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .thumbnail-top {
    grid-row: 1;
    height: var(--gs-card-image-area);
    min-height: 0;
    position: relative;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-thumbnail {
    display: block;
    height: var(--gs-card-image-height);
    max-height: var(--gs-card-image-height);
    width: 100%;
    padding: 0;
    box-sizing: border-box;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-thumbnail img {
    display: block;
    max-height: var(--gs-card-image-height);
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature > .thumbnail-container > .product-description {
    grid-row: 3;
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-top: 0;
  }
  /* Spaziatura 2 approvata: solo griglia desktop/tablet. */
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-manufacturer-logo {
    margin-top: 6px !important;
    margin-bottom: 4px !important;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-extra-information {
    margin-bottom: 4px !important;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-title {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
    height: var(--gs-card-title-height);
    min-height: var(--gs-card-title-height);
    overflow: hidden;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-description-short {
    margin-top: 4px !important;
    height: var(--gs-card-description-height);
    min-height: var(--gs-card-description-height);
    margin-bottom: 0;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-price-and-shipping {
    display: block;
    min-height: 0;
    height: auto;
    margin-top: 4px;
    overflow: visible;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing {
    height: auto;
    min-height: 0;
    max-height: none;
    justify-content: flex-start;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    align-self: stretch;
    width: auto;
    height: auto;
    min-height: var(--gs-card-logistics-min-height);
    margin: 0 0 6px;
    padding: 0;
    gap: var(--gs-card-logistics-gap);
    box-sizing: border-box;
    overflow: visible;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .gs-logistics-badge {
    flex-shrink: 0;
  }
  /* Impedisce ai clip della card di tagliare il popover aperto. */
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature > .thumbnail-container:has(.gs-stock-popover[open]) {
    overflow: visible;
    z-index: 20;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-miniature-add-to-cart {
    grid-row: 4;
    align-self: end;
    width: 100%;
    min-height: var(--gs-card-actions-height);
    margin: 0;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-miniature-add-to-cart > .row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 15px;
    align-items: center;
    width: 100%;
    margin: 0;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-miniature-add-to-cart > .row::before,
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-miniature-add-to-cart > .row::after {
    content: none;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-miniature-add-to-cart > .row > [class*="col-"] {
    float: none;
    width: auto;
    max-width: none;
    min-width: 0;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-miniature-qty {
    justify-content: flex-start;
    /* 36px + 30px + 36px: il gruppo quantità non si sovrappone al pulsante. */
    flex: 1 0 102px;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-miniature-qty .btn-touchspin,
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .js-miniature-qty-input,
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .add-to-cart {
    height: var(--gs-card-actions-height);
    min-height: var(--gs-card-actions-height);
    box-sizing: border-box;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .add-to-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* Fallback inline per lista, compatta e mobile: icone nascoste. */
.product-miniature [data-gs-card-logistics="B2"] .gs-cbl__icon {
  display: none !important;
}
.product-miniature [data-gs-card-logistics="B2"] .gs-cbl__copy,
.product-miniature [data-gs-card-logistics="B2"] .gs-cbl__label,
.product-miniature [data-gs-card-logistics="B2"] .gs-cbl__value {
  display: inline;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
}
/* =============================================================
   GESMART B2.1 — PREZZO E SCONTO AFFIANCATI
   Griglia desktop: importo principale e sconto condividono la prima riga.
   IVA sotto l'importo, eventuale listino barrato sotto lo sconto.
   Due righe minime uguali anche senza sconto: nessuna riserva da 72px.
   Eventuali offerte quantità rimangono visibili e possono crescere.
   ============================================================= */
@media (min-width: 768px) {
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-price-and-shipping > .price {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    grid-template-rows: minmax(22px, auto) minmax(14px, auto);
    grid-auto-flow: row;
    align-items: center;
    justify-items: start;
    justify-content: stretch;
    column-gap: 8px;
    row-gap: 2px;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 38px;
    max-height: none;
    vertical-align: top;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__line--excl,
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__line--primary {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    flex-wrap: wrap;
    white-space: normal;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__line--incl:not(.gesmart-dual-price__line--primary) {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    flex-wrap: wrap;
    white-space: normal;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__discount-badge--listing {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: max-content;
    max-width: 100%;
    min-height: 0;
    margin: 0;
    padding: 2px 5px;
    font-size: 10px;
    line-height: 14px;
    white-space: nowrap;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__list-price {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    margin: 0;
    font-size: 10px;
    line-height: 14px;
    gap: 3px;
    white-space: nowrap;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__quantity-offer {
    grid-column: 1 / -1;
    grid-row: auto;
    max-width: 100%;
    margin: 3px 0 0;
    white-space: normal;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__request-info {
    grid-column: 1 / -1;
    grid-row: 1 / 3;
    align-self: center;
  }
  /* Sconto nativo PrestaShop, quando è esterno al blocco dual price. */
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-price-and-shipping:has(> .discount-product) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    grid-template-rows: minmax(22px, auto) minmax(14px, auto);
    gap: 2px 8px;
    align-items: start;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-price-and-shipping:has(> .discount-product) > .price {
    grid-row: 1 / 3;
    grid-column: 1;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-price-and-shipping:has(> .discount-product) > .regular-price {
    grid-row: 2;
    grid-column: 2;
    margin: 0;
    align-self: center;
    font-size: 10px;
    line-height: 14px;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-price-and-shipping:has(> .discount-product) > .discount-product {
    grid-row: 1;
    grid-column: 2;
    align-self: center;
    margin: 0;
    padding: 2px 5px;
    font-size: 10px;
    line-height: 14px;
  }
  .products:not(.st-catalog-view--list):not(.st-catalog-view--compact) .product-miniature .product-price-and-shipping:has(> .discount-product) > .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] {
    grid-column: 1 / -1;
    grid-row: auto;
    /* Compensa il gap fra seconda riga prezzo e fascia logistica. */
    margin-top: 6px !important;
  }
}


/* GESMART H1 — layout di lista/compatta e prezzo, senza posizionamenti assoluti delle azioni. */
@media (min-width:768px) {
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) {
  --gs-one-row-ready: 1 !important;
  container-type: inline-size !important;
  container-name: gs-lc23 !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--gs-card-text-color,#232323) !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature > .thumbnail-container {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 0 !important;
  background: #fff !important;
  overflow: visible !important;
  transform: none !important;
  align-items: start !important;
  align-content: start !important;
  row-gap: 4px !important;
  column-gap: 16px !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature > .thumbnail-container > .product-description {
  display: contents !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-price-and-shipping {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  transform: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
  align-self: start !important;
  text-align: left !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .price {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing {
  font-size: inherit !important;
  line-height: 1.2 !important;
  text-align: left !important;
  padding: 0 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__line {
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__line--excl {
  font-size: 1em !important;
  font-weight: 700 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__line--incl {
  font-size: .78em !important;
  font-weight: 400 !important;
  opacity: .82 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__line--primary {
  font-size: 1em !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price__line--excl::after {
  content: none !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price__amount {
  display: inline !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price__line .gesmart-dual-price__label {
  display: inline !important;
  font-size: .65em !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price__line--incl:not(.gesmart-dual-price__line--primary) .gesmart-dual-price__label {
  font-size: .9em !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price__discount-badge--listing {
  display: inline-flex !important;
  position: static !important;
  inset: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  order: initial !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price__discount-badge--listing .gesmart-dual-price__discount-badge-label,
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price__discount-badge--listing .gesmart-dual-price__discount-badge-value {
  font-size: 10px !important;
  line-height: 14px !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price__discount-badge--compact {
  display: none !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price__list-label {
  display: inline !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price__list-price {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 3px !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] {
  border: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  inset: auto !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-miniature-add-to-cart {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: end !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  pointer-events: auto !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-miniature-add-to-cart > .row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-miniature-add-to-cart > .row::before,
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-miniature-add-to-cart > .row::after {
  content: none !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-miniature-add-to-cart > .row > [class*="col-"] {
  float: none !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-miniature-qty {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  height: 36px !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .btn-touchspin {
  display: inline-flex !important;
  flex: 0 0 30px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .js-miniature-qty-input {
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 3px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  text-align: center !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .add-to-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  margin: 0 !important;
  line-height: 1 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-title {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-title a {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: inherit !important;
  text-decoration: none !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-reference {
  min-width: 0 !important;
  max-width: 100% !important;
  border: 0 !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-list-reviews {
  grid-column: 2 !important;
  grid-row: auto !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .thumbnail-top {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-thumbnail {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-thumbnail picture {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-thumbnail img {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: auto !important;
  object-fit: contain !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature > .thumbnail-container:has(.gs-stock-popover[open]) {
  overflow: visible !important;
  z-index: 30 !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature > .thumbnail-container {
  grid-template-columns: 160px minmax(0,1fr) 295px !important;
  grid-template-rows: min-content min-content min-content minmax(0,1fr) minmax(36px,auto) !important;
  padding: 12px 16px !important;
  column-gap: 20px !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .thumbnail-top {
  grid-column: 1 !important;
  grid-row: 1 / span 5 !important;
  align-self: center !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-thumbnail {
  width: 160px !important;
  height: 160px !important;
  max-height: 160px !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-manufacturer-logo {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  height: 32px !important;
  min-height: 32px !important;
  width: 100% !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-manufacturer-logo img {
  max-width: 100px !important;
  max-height: 32px !important;
  width: 60px !important;
  height: auto !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-extra-information {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-reference,
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-manufacturer-name {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 17px !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-title {
  grid-column: 2 !important;
  grid-row: 3 !important;
  margin: 0 !important;
  max-height: 42px !important;
  overflow: hidden !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-title a {
  font-size: 16px !important;
  line-height: 21px !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-title-default {
  display: none !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-title-list-full {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  white-space: normal !important;
  line-height: 21px !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-description-short {
  grid-column: 2 !important;
  grid-row: 4 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 59px !important;
  width: 100% !important;
  min-width: 0 !important;
  font-size: 14px !important;
  line-height: 19.6px !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-price-and-shipping {
  grid-column: 3 !important;
  grid-row: 1 / span 4 !important;
  align-self: start !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-miniature-add-to-cart {
  grid-column: 3 !important;
  grid-row: 5 !important;
  align-self: end !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .add-to-cart {
  position: static !important;
  width: auto !important;
  min-width: 118px !important;
  font-size: 12px !important;
  padding: 0 10px !important;
  gap: 5px !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .add-to-cart .material-icons {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  font-size: 20px !important;
  line-height: 1 !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-flags {
  position: absolute !important;
  top: 4px !important;
  left: 8px !important;
  max-width: 160px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  pointer-events: none !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-flags :is(li.product-flag, li.product-flag.online-only) {
  position: static !important;
  inset: auto !important;
  margin: 4px 0 0 !important;
  font-size: 10px !important;
  padding: 3px 5px !important;
  min-height: 0 !important;
  transform: none !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .gs-product-promo-badge {
  top: auto !important;
  right: 0 !important;
  bottom: 22px !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature > .thumbnail-container {
  grid-template-columns: 60px minmax(0,1fr) 271px 96px !important;
  grid-template-rows: auto auto !important;
  column-gap: 12px !important;
  row-gap: 4px !important;
  padding: 10px 12px !important;
  align-items: center !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .thumbnail-top {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-thumbnail {
  width: 60px !important;
  height: 54px !important;
  max-height: 54px !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-extra-information {
  display: contents !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-title {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  max-height: 36px !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-title a {
  font-size: 13px !important;
  line-height: 18px !important;
  overflow: hidden !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-title-default {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  line-height: 18px !important;
  white-space: normal !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-title-list-full {
  display: none !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-reference {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 17px !important;
  color: #0069cd !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-price-and-shipping {
  grid-column: 3 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .price {
  font-size: 15px !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-miniature-add-to-cart {
  grid-column: 4 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-miniature-add-to-cart > .row {
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .btn-touchspin {
  display: none !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .add-to-cart {
  position: relative !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  font-size: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .add-to-cart .material-icons {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%,-50%) !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-manufacturer-logo,
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-manufacturer-name,
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-description-short,
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-flags,
html body #js-product-list .products.st-catalog-view--compact .product-miniature .quick-view,
html body #js-product-list .products.st-catalog-view--compact .product-miniature .gs-product-promo-badge {
  display: none !important;
}
}@media (min-width: 768px) {
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-price-and-shipping > .price {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-rows: minmax(22px, auto) minmax(14px, auto) !important;
  grid-auto-flow: row !important;
  align-items: center !important;
  justify-items: start !important;
  justify-content: stretch !important;
  column-gap: 8px !important;
  row-gap: 2px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 38px !important;
  max-height: none !important;
  vertical-align: top !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__line--excl,
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__line--primary {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
  white-space: normal !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__line--incl:not(.gesmart-dual-price__line--primary) {
  grid-column: 1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
  white-space: normal !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__discount-badge--listing {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: start !important;
  width: max-content !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 2px 5px !important;
  font-size: 10px !important;
  line-height: 14px !important;
  white-space: nowrap !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__list-price {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  margin: 0 !important;
  font-size: 10px !important;
  line-height: 14px !important;
  gap: 3px !important;
  white-space: nowrap !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__quantity-offer {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  max-width: 100% !important;
  margin: 3px 0 0 !important;
  white-space: normal !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .gesmart-dual-price--listing > .gesmart-dual-price__request-info {
  grid-column: 1 / -1 !important;
  grid-row: 1 / 3 !important;
  align-self: center !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-price-and-shipping:has(> .discount-product) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-rows: minmax(22px, auto) minmax(14px, auto) !important;
  gap: 2px 8px !important;
  align-items: start !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-price-and-shipping:has(> .discount-product) > .price {
  grid-row: 1 / 3 !important;
  grid-column: 1 !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-price-and-shipping:has(> .discount-product) > .regular-price {
  grid-row: 2 !important;
  grid-column: 2 !important;
  margin: 0 !important;
  align-self: center !important;
  font-size: 10px !important;
  line-height: 14px !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-price-and-shipping:has(> .discount-product) > .discount-product {
  grid-row: 1 !important;
  grid-column: 2 !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 2px 5px !important;
  font-size: 10px !important;
  line-height: 14px !important;
}
html body #js-product-list .products:is(.st-catalog-view--list, .st-catalog-view--compact) .product-miniature .product-price-and-shipping:has(> .discount-product) > .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  margin-top: 6px !important;
}
}@media (min-width:768px) {
@container gs-lc23 (min-width:700px) and (max-width:899px) {
html body #js-product-list .products.st-catalog-view--list .product-miniature > .thumbnail-container {
  grid-template-columns: 128px minmax(0,1fr) 295px !important;
  column-gap: 16px !important;
  padding: 12px !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-thumbnail {
  width: 128px !important;
  height: 140px !important;
  max-height: 140px !important;
}
}
@container gs-lc23 (max-width:699px) {
html body #js-product-list .products.st-catalog-view--list .product-miniature > .thumbnail-container {
  grid-template-columns: 112px minmax(0,1fr) !important;
  grid-template-rows: auto auto auto auto auto auto !important;
  padding: 12px !important;
  column-gap: 16px !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .thumbnail-top {
  grid-column: 1 !important;
  grid-row: 1 / span 4 !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-thumbnail {
  width: 112px !important;
  height: 124px !important;
  max-height: 124px !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-price-and-shipping {
  grid-column: 2 !important;
  grid-row: 5 !important;
  width: 100% !important;
  max-width: 295px !important;
  margin-top: 6px !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-miniature-add-to-cart {
  grid-column: 2 !important;
  grid-row: 6 !important;
  width: 100% !important;
  max-width: 295px !important;
  margin-top: 4px !important;
}
}
@container gs-lc23 (max-width:779px) {
html body #js-product-list .products.st-catalog-view--compact .product-miniature > .thumbnail-container {
  grid-template-columns: 60px minmax(0,1fr) 96px !important;
  grid-template-rows: auto auto auto !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-title {
  grid-column: 2 / -1 !important;
  grid-row: 1 !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-reference {
  grid-column: 2 / -1 !important;
  grid-row: 2 !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-price-and-shipping {
  grid-column: 1 / 3 !important;
  grid-row: 3 !important;
  width: 100% !important;
  max-width: 295px !important;
  margin-top: 6px !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-miniature-add-to-cart {
  grid-column: 3 !important;
  grid-row: 3 !important;
  align-self: end !important;
  margin-bottom: 6px !important;
}
}
@container gs-lc23 (max-width:459px) {
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-price-and-shipping {
  grid-column: 1 / -1 !important;
}
html body #js-product-list .products.st-catalog-view--list .product-miniature .product-miniature-add-to-cart {
  grid-column: 1 / -1 !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-price-and-shipping {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-miniature-add-to-cart {
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  max-width: 295px !important;
  align-self: start !important;
  margin: 4px 0 0 !important;
}
html body #js-product-list .products.st-catalog-view--compact .product-miniature .product-miniature-add-to-cart > .row {
  justify-content: flex-start !important;
}
}
}

/* GESMART ORIZZONTALI H1 — 4 colonne riservate: 1/2/3 badge non si allargano.
   Massimi: griglia 68x56, lista 70x54, compatta 64x52 CSS px; gap 5px.
   Sotto la larghezza massima della fascia le colonne si adattano, senza wrap.
   Campo applicazione: desktop >=768px, soltanto markup badge B2. */
@media (min-width:768px) {
html body :is(#js-product-list .products, .products) { --gs-one-row-w:287px; --gs-one-badge-h:56px; }
html body #js-product-list .products.st-catalog-view--list { --gs-one-row-w:295px; --gs-one-badge-h:54px; }
html body #js-product-list .products.st-catalog-view--compact { --gs-one-row-w:271px; --gs-one-badge-h:52px; }
html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] {
  position: static !important;
  display: grid !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  align-content: start !important;
  justify-content: start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: var(--gs-one-row-w) !important;
  height: auto !important;
  min-height: var(--gs-one-badge-h) !important;
  max-height: none !important;
  margin: 8px 0 6px !important;
  padding: 0 !important;
  gap: 5px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  flex-shrink: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  grid-auto-rows: var(--gs-one-badge-h) !important;
  justify-items: stretch !important;
  inset: auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
  border: 0 !important;
  transform: none !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--gs-one-badge-h) !important;
  min-height: var(--gs-one-badge-h) !important;
  max-height: var(--gs-one-badge-h) !important;
  margin: 0 !important;
  padding: 3px 2px !important;
  gap: 2px !important;
  box-sizing: border-box !important;
  border: 1px solid #e2e6ea !important;
  border-radius: 6px !important;
  background: #f3f5f7 !important;
  color: #46515b !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow: visible !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge[data-gs-card-kind="availability"].gs-product-availability--stock {
  background: #e8f5e4 !important;
  border-color: #d0e9c8 !important;
  color: #237529 !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge[data-gs-card-kind="availability"].gs-product-availability--zero {
  background: #fff5d8 !important;
  border-color: #fff0bf !important;
  color: #795900 !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge[data-gs-card-kind="incoming"] {
  background: #e0f1ff !important;
  border-color: #d3eafb !important;
  color: #0064ae !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge > .gs-cbl__icon {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  overflow: visible !important;
  color: inherit !important;
  pointer-events: none !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge > .gs-cbl__copy {
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 auto !important;
  align-items: stretch !important;
  gap: 1px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  white-space: normal !important;
  overflow: visible !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-cbl__label {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 9px !important;
  line-height: 11px !important;
  overflow: visible !important;
  font-weight: 400 !important;
  color: inherit !important;
  white-space: nowrap !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-cbl__colon {
  display: none !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-cbl__value {
  display: block !important;
  margin: 0 !important;
  color: #172734 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 14px !important;
  padding: 0 !important;
  overflow: visible !important;
  font-variant-numeric: tabular-nums;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-cbl__copy--state .gs-cbl__value,
html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-cbl__copy--note .gs-cbl__value {
  font-size: 9px !important;
  line-height: 11px !important;
  font-weight: 600 !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-cbl__copy--state .gs-cbl__value {
  text-transform: lowercase !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-cbl__copy--state .gs-cbl__value::first-letter {
  text-transform: uppercase;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-cbl__copy--note .gs-cbl__value {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge > .gs-stock-popover {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  pointer-events: none !important;
  flex: 0 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge > .gs-stock-popover > .gs-stock-info {
  position: absolute !important;
  display: inline-flex !important;
  top: -5px !important;
  right: 1px !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  background: #fff !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-stock-info:focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: 2px !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-stock-popover-panel {
  top: auto !important;
  bottom: calc(100% + 8px) !important;
  left: 0 !important;
  right: auto !important;
  width: 185px !important;
  min-width: 185px !important;
  max-width: calc(100vw - 28px) !important;
  margin: 0 !important;
  transform: none !important;
  z-index: 1000 !important;
  pointer-events: auto !important;
  text-align: left !important;
}

html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-stock-popover-panel::before,
html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge .gs-stock-popover-panel::after {
  left: 10px !important;
  right: auto !important;
}

html body.gs-hide-logistics :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"],
html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"][hidden],
html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"][aria-hidden="true"],
html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge[hidden],
html body :is(#js-product-list .products, .products) .product-miniature .product-price-and-shipping .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] > .gs-logistics-badge[aria-hidden="true"] {
  display: none !important;
}
}

/* ==========================================================
   GESMART RI3 - FASCIA RICHIEDI INFORMAZIONI
   ========================================================== */
@media (min-width: 768px) {
  .products .product-miniature > .thumbnail-container > .gs-ri3-slot.product-miniature-add-to-cart {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .products .product-miniature > .thumbnail-container > .gs-ri3-slot.product-miniature-add-to-cart > .row {
    display: flex !important;
    flex-flow: row nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .products .product-miniature > .thumbnail-container > .gs-ri3-slot .gs-ri3-spacer {
    display: none !important;
  }

  .products .product-miniature > .thumbnail-container > .gs-ri3-slot > .row > .gs-ri3-cell {
    display: flex !important;
    flex: 1 1 100% !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .products .product-miniature > .thumbnail-container > .gs-ri3-slot button.gs-ri3-button {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    appearance: none !important;
    background: #f7f9fc !important;
    color: #0f5ea8 !important;
    border: 1px solid #cfd8e3 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  .products .product-miniature > .thumbnail-container > .gs-ri3-slot button.gs-ri3-button:hover {
    background: #eef4fb !important;
    border-color: #a9bfdc !important;
    color: #0b4f8e !important;
  }

  .products .product-miniature > .thumbnail-container > .gs-ri3-slot button.gs-ri3-button:focus-visible {
    outline: 2px solid #0069cd !important;
    outline-offset: 2px !important;
  }

  .products .product-miniature > .thumbnail-container > .gs-ri3-slot button.gs-ri3-button > .gs-ri3-label {
    display: inline !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font: inherit !important;
    color: inherit !important;
    white-space: normal !important;
  }

  .products .product-miniature > .thumbnail-container > .gs-ri3-slot button.gs-ri3-button > .gs-ri3-arrow {
    display: inline-block !important;
    flex: 0 0 auto !important;
    font-size: 16px !important;
    pointer-events: none !important;
  }

  .products .product-miniature .gs-ri3-price-note {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    color: #4c5968 !important;
    border: 0 !important;
    background: none !important;
  }

  #js-product-list .products.st-catalog-view--compact
  .product-miniature > .thumbnail-container > .gs-ri3-slot.product-miniature-add-to-cart {
    grid-column: 3 / -1 !important;
    grid-row: 3 !important;
    align-self: end !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
  }
}
/* ==========================================================
   END GESMART RI3
   ========================================================== */


/* =========================================================
   GESMART - COMPACT SQUARE V2 - 2026-09-18

   Layout desktop/tablet:
   Foto | Titolo+Codice | Prezzo | Badge quadrati | Azioni

   I badge logistici B2 nella sola vista compact diventano
   micro-indicatori quadrati da 34x34 px.
   ========================================================= */

@media (min-width: 768px) {

  /* =======================================================
     GEOMETRIA GENERALE
     ======================================================= */

  html body #js-product-list
  .products.st-catalog-view--compact {
    --thumb-w: 72px !important;
    --thumb-h: 56px !important;

    --card-min-h: 76px !important;

    --price-w: 150px !important;
    --avail-w: 160px !important;
    --actions-w: 100px !important;

    --main-gap: 0px !important;

    --gs-compact-square: 34px;
    --gs-compact-square-gap: 4px;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .thumbnail-container {
    min-height: 76px !important;
    height: auto !important;

    align-items: stretch !important;
    align-content: center !important;
  }


  /* =======================================================
     IMMAGINE
     ======================================================= */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .thumbnail-top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    align-self: stretch !important;

    padding: 3px !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-thumbnail {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 56px !important;
    height: 56px !important;
    min-height: 0 !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-thumbnail picture {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-thumbnail img {
    width: auto !important;
    height: auto !important;

    max-width: 50px !important;
    max-height: 50px !important;

    object-fit: contain !important;
  }


  /* =======================================================
     TITOLO + CODICE
     ======================================================= */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-title {
    padding: 3px 10px 1px !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-title a {
    display: block !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-reference {
    padding: 1px 10px 3px !important;
  }


  /* =======================================================
     PREZZO
     ======================================================= */

  /*
   * Il prezzo rimane nella colonna 3.
   * position:relative serve perché la fascia dei badge,
   * pur essendo figlia del prezzo nel markup, viene
   * posizionata visivamente nella colonna 4.
   */
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping {
    position: relative !important;

    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;

    height: 100% !important;

    margin: 0 !important;
    padding: 3px 8px !important;

    text-align: left !important;

    overflow: visible !important;

    border-right: 0 !important;

    transform: none !important;
  }


  /* =======================================================
     CONTENITORE DEI 4 BADGE
     ======================================================= */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] {

    position: absolute !important;

    /*
     * Parte immediatamente dopo i 150px della colonna prezzo.
     */
    left: 100% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;

    transform: translateY(-50%) !important;

    display: grid !important;

    grid-template-columns:
      repeat(4, var(--gs-compact-square)) !important;

    grid-template-rows:
      var(--gs-compact-square) !important;

    grid-auto-flow: column !important;
    grid-auto-columns: var(--gs-compact-square) !important;
    grid-auto-rows: var(--gs-compact-square) !important;

    align-items: center !important;
    align-content: center !important;

    justify-items: center !important;
    justify-content: start !important;

    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;

    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;

    margin: 0 !important;

    padding:
      9px
      6px !important;

    gap: var(--gs-compact-square-gap) !important;

    box-sizing: border-box !important;

    overflow: visible !important;

    border: 0 !important;
    border-right: 1px solid #ececec !important;
  }


  /* =======================================================
     SINGOLO BADGE QUADRATO
     ======================================================= */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge {

    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    align-items: center !important;
    justify-content: center !important;

    flex: none !important;

    width: var(--gs-compact-square) !important;
    min-width: var(--gs-compact-square) !important;
    max-width: var(--gs-compact-square) !important;

    height: var(--gs-compact-square) !important;
    min-height: var(--gs-compact-square) !important;
    max-height: var(--gs-compact-square) !important;

    margin: 0 !important;
    padding: 2px !important;

    gap: 1px !important;

    box-sizing: border-box !important;

    border-radius: 4px !important;

    font-family: inherit !important;

    font-size: 10px !important;
    line-height: 1 !important;

    text-align: center !important;

    white-space: nowrap !important;

    overflow: visible !important;
  }


  /* =======================================================
     COLORI
     ======================================================= */

  /* Disponibilità positiva */
  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="availability"].gs-product-availability--stock {
    background: #e8f5e4 !important;
    border-color: #d0e9c8 !important;
    color: #237529 !important;
  }


  /* Disponibilità zero */
  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="availability"].gs-product-availability--zero {
    background: #fff5d8 !important;
    border-color: #fff0bf !important;
    color: #795900 !important;
  }


  /* Riordino */
  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="reorder"] {
    background: #f3f5f7 !important;
    border-color: #e2e6ea !important;
    color: #46515b !important;
  }


  /* Su ordinazione */
  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="state"] {
    background: #eef2f6 !important;
    border-color: #d7dee5 !important;
    color: #46515b !important;
  }


  /* In arrivo */
  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="incoming"] {
    background: #e0f1ff !important;
    border-color: #d3eafb !important;
    color: #0064ae !important;
  }


  /* =======================================================
     ICONA
     ======================================================= */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge
  > .gs-cbl__icon {

    display: block !important;

    flex: 0 0 13px !important;

    width: 13px !important;
    height: 13px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    pointer-events: none !important;

    overflow: visible !important;
  }


  /* =======================================================
     TESTO
     ======================================================= */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge
  > .gs-cbl__copy {

    display: flex !important;
    flex-direction: column !important;

    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;

    color: inherit !important;

    text-align: center !important;

    overflow: visible !important;
  }


  /*
   * Nella compatta spariscono completamente
   * Disponibilità / Riordino / In arrivo.
   * Restano icona + valore.
   */
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  .gs-cbl__label,

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  .gs-cbl__colon {

    display: none !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  .gs-cbl__value {

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 10px !important;

    text-align: center !important;

    white-space: nowrap !important;

    word-break: normal !important;
    overflow-wrap: normal !important;

    overflow: hidden !important;
    text-overflow: clip !important;

    font-variant-numeric: tabular-nums !important;
  }


  /* =======================================================
     SU ORDINAZIONE -> SO
     ======================================================= */

  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="state"]
  .gs-cbl__value {

    font-size: 0 !important;
    line-height: 10px !important;

    text-transform: none !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="state"]
  .gs-cbl__value::after {

    content: "SO";

    display: block;

    font-size: 9px;
    font-weight: 700;
    line-height: 10px;

    text-transform: uppercase;
  }


  /* =======================================================
     POPOVER DISPONIBILITÀ
     ======================================================= */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge
  > .gs-stock-popover {

    position: absolute !important;

    inset: 0 !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    pointer-events: none !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge
  > .gs-stock-popover
  > .gs-stock-info {

    position: absolute !important;

    top: -6px !important;
    right: -6px !important;

    width: 12px !important;
    height: 12px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 8px !important;
    line-height: 10px !important;

    pointer-events: auto !important;

    z-index: 5 !important;
  }


  /* =======================================================
     QUANTITÀ + CARRELLO
     ======================================================= */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-miniature-add-to-cart {

    grid-column: 5 !important;
    grid-row: 1 / span 2 !important;

    align-self: stretch !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 5px !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .js-miniature-qty-input {

    flex: 0 0 38px !important;

    width: 38px !important;
    min-width: 38px !important;

    margin: 0 !important;
  }

}


/* =========================================================
   COMPACT V2 - viewport intermedi
   ========================================================= */

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

  html body #js-product-list
  .products.st-catalog-view--compact {

    --thumb-w: 64px !important;
    --price-w: 135px !important;
    --avail-w: 152px !important;
    --actions-w: 96px !important;

    --gs-compact-square: 32px;
    --gs-compact-square-gap: 3px;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping {

    width: 135px !important;
    min-width: 135px !important;
    max-width: 135px !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] {

    width: 152px !important;
    min-width: 152px !important;
    max-width: 152px !important;
  }

}



/* =========================================================
   GESMART - COMPACT SQUARE V2.1 - ALLINEAMENTO
   - colonne rigorosamente fisse
   - prezzo sempre nella stessa posizione
   - badge sempre nella stessa colonna
   - gruppo badge centrato
   - azioni sempre nella quinta colonna
   - SO / ND sintetici
   ========================================================= */

@media (min-width: 768px) {

  /* -------------------------------------------------------
     Griglia principale sempre identica per ogni prodotto
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .thumbnail-container {

    grid-template-columns:
      var(--thumb-w)
      minmax(0, 1fr)
      var(--price-w)
      var(--avail-w)
      var(--actions-w) !important;

    grid-template-rows: auto auto !important;

    column-gap: 0 !important;
    row-gap: 0 !important;

    align-items: stretch !important;
    align-content: center !important;
  }


  /* -------------------------------------------------------
     Foto sempre centrata verticalmente
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .thumbnail-top {

    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;

    align-self: stretch !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }


  /* -------------------------------------------------------
     Titolo + codice
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-title {

    grid-column: 2 !important;
    grid-row: 1 !important;

    align-self: end !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-reference {

    grid-column: 2 !important;
    grid-row: 2 !important;

    align-self: start !important;
  }


  /* -------------------------------------------------------
     PREZZO + BADGE occupano insieme colonne 3 e 4.

     In questo modo la posizione NON cambia se manca
     il pulsante carrello o cambia il tipo di prezzo.
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping {

    position: relative !important;

    grid-column: 3 / 5 !important;
    grid-row: 1 / span 2 !important;

    justify-self: stretch !important;
    align-self: stretch !important;

    display: flex !important;
    flex-direction: column !important;

    align-items: flex-start !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 100% !important;

    box-sizing: border-box !important;

    /*
     * Lo spazio a destra è riservato fisicamente
     * alla colonna dei badge.
     */
    padding:
      3px
      var(--avail-w)
      3px
      8px !important;

    margin: 0 !important;

    text-align: left !important;

    overflow: visible !important;

    border-right: 0 !important;

    transform: none !important;
  }


  /* Qualunque elemento prezzo resta agganciato a sinistra */
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  > *:not(.product-qty-container.gs-availability-stack) {

    align-self: flex-start !important;

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

    text-align: left !important;
  }


  /* -------------------------------------------------------
     COLONNA BADGE

     È ancorata al bordo destro del blocco prezzo+badge.
     Occupa sempre --avail-w indipendentemente dal contenuto.
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] {

    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;

    transform: none !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    align-items: center !important;
    align-content: center !important;

    /*
     * 1, 2, 3 o 4 badge sono sempre centrati
     * nella stessa colonna.
     */
    justify-content: center !important;

    width: var(--avail-w) !important;
    min-width: var(--avail-w) !important;
    max-width: var(--avail-w) !important;

    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 6px !important;

    gap: var(--gs-compact-square-gap) !important;

    box-sizing: border-box !important;

    overflow: visible !important;

    border: 0 !important;
    border-right: 1px solid #ececec !important;

    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-auto-columns: auto !important;
    grid-auto-rows: auto !important;
  }


  /* I quadratini non devono mai deformarsi */
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge {

    flex:
      0
      0
      var(--gs-compact-square) !important;

    width: var(--gs-compact-square) !important;
    min-width: var(--gs-compact-square) !important;
    max-width: var(--gs-compact-square) !important;

    height: var(--gs-compact-square) !important;
    min-height: var(--gs-compact-square) !important;
    max-height: var(--gs-compact-square) !important;

    margin: 0 !important;
  }


  /* -------------------------------------------------------
     SU ORDINAZIONE

     Elimina completamente il testo originale e mostra
     esclusivamente SO.
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="state"]
  .gs-cbl__copy {

    font-size: 0 !important;
    line-height: 0 !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="state"]
  .gs-cbl__copy
  > * {

    display: none !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="state"]
  .gs-cbl__copy::after {

    content: "SO";

    display: block;

    font-size: 9px;
    font-weight: 700;
    line-height: 10px;

    color: inherit;

    text-align: center;
    text-transform: uppercase;
  }


  /* -------------------------------------------------------
     NON DISPONIBILE

     Anche qui niente testo troncato "Non d":
     mostriamo ND.
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="availability"].gs-product-availability--unavailable
  .gs-cbl__copy {

    font-size: 0 !important;
    line-height: 0 !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="availability"].gs-product-availability--unavailable
  .gs-cbl__copy
  > * {

    display: none !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  [data-gs-card-kind="availability"].gs-product-availability--unavailable
  .gs-cbl__copy::after {

    content: "ND";

    display: block;

    font-size: 9px;
    font-weight: 700;
    line-height: 10px;

    color: inherit;

    text-align: center;
    text-transform: uppercase;
  }


  /* -------------------------------------------------------
     QUANTITÀ + CARRELLO

     Quinta colonna rigorosamente fissa.
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-miniature-add-to-cart {

    grid-column: 5 !important;
    grid-row: 1 / span 2 !important;

    position: static !important;

    justify-self: stretch !important;
    align-self: stretch !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
  }

}

/* FINE GESMART - COMPACT SQUARE V2.1 - ALLINEAMENTO */


/* FINE GESMART - COMPACT SQUARE V2 */

/* =========================================================
   GESMART - COMPACT SQUARE V2.2 - BADGE LEFT ALIGN
   Allinea il gruppo badge a sinistra nella colonna dedicata.
   ========================================================= */

@media (min-width: 768px) {
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"] {
    justify-content: flex-start !important;
    align-content: center !important;
    padding: 0 6px 0 4px !important;
  }
}

/* FINE GESMART - COMPACT SQUARE V2.2 - BADGE LEFT ALIGN */

/* =========================================================
   GESMART - COMPACT SQUARE V2.4 - RI3 IN ACTION COLUMN

   Nella vista compatta RI3 non crea più una fascia sotto
   la card: occupa la colonna 5, cioè quella normalmente
   utilizzata da quantità + carrello.
   ========================================================= */

@media (min-width: 768px) {

  /* -------------------------------------------------------
     SLOT RI3 = COLONNA AZIONI
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  > .thumbnail-container
  > .gs-ri3-slot.product-miniature-add-to-cart {

    grid-column: 5 !important;
    grid-row: 1 / span 2 !important;

    position: static !important;

    align-self: stretch !important;
    justify-self: stretch !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 5px !important;

    box-sizing: border-box !important;
  }


  /* -------------------------------------------------------
     RIGA INTERNA
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  > .thumbnail-container
  > .gs-ri3-slot.product-miniature-add-to-cart
  > .row {

    display: flex !important;

    flex-flow: row nowrap !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;
  }


  /* -------------------------------------------------------
     CELLA INTERNA
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  > .thumbnail-container
  > .gs-ri3-slot.product-miniature-add-to-cart
  > .row
  > .gs-ri3-cell {

    display: flex !important;

    flex: 1 1 100% !important;

    align-items: center !important;
    justify-content: center !important;

    float: none !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* -------------------------------------------------------
     PULSANTE RICHIEDI INFORMAZIONI
     ------------------------------------------------------- */

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  > .thumbnail-container
  > .gs-ri3-slot
  button.gs-ri3-button {

    position: static !important;

    inset: auto !important;
    transform: none !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;

    margin: 0 !important;
    padding: 5px 6px !important;

    gap: 4px !important;

    box-sizing: border-box !important;

    font-size: 10px !important;
    line-height: 1.05 !important;

    text-align: center !important;
    white-space: normal !important;
  }


  /* Il testo può andare su due righe nella colonna compatta */
  html body #js-product-list
  .products.st-catalog-view--compact
  .gs-ri3-slot
  button.gs-ri3-button
  > .gs-ri3-label {

    min-width: 0 !important;

    white-space: normal !important;

    line-height: 1.05 !important;

    text-align: center !important;
  }


  /* Freccia mantenuta ma più compatta */
  html body #js-product-list
  .products.st-catalog-view--compact
  .gs-ri3-slot
  button.gs-ri3-button
  > .gs-ri3-arrow {

    flex: 0 0 auto !important;

    margin: 0 !important;

    font-size: 12px !important;
    line-height: 1 !important;
  }

}

/* FINE GESMART - COMPACT SQUARE V2.4 - RI3 IN ACTION COLUMN */

/* =========================================================
   GESMART - COMPACT SQUARE V2.5 - REMOVE RI3 ARROW
   In vista compatta rimuove la freccia dal pulsante
   "Richiedi informazioni".
   ========================================================= */

@media (min-width: 768px) {

  html body #js-product-list
  .products.st-catalog-view--compact
  .gs-ri3-slot
  button.gs-ri3-button
  > .gs-ri3-arrow {
    display: none !important;
  }

  html body #js-product-list
  .products.st-catalog-view--compact
  .gs-ri3-slot
  button.gs-ri3-button {
    gap: 0 !important;
    padding: 5px 8px !important;
  }

}

/* FINE GESMART - COMPACT SQUARE V2.5 - REMOVE RI3 ARROW */

/* =========================================================
   GESMART - COMPACT SQUARE V2.6 - RI3 TEXT REFINEMENT
   Rifinitura leggibilità pulsante "Richiedi informazioni"
   nella sola vista compatta.
   ========================================================= */

@media (min-width: 768px) {

  html body #js-product-list
  .products.st-catalog-view--compact
  .gs-ri3-slot
  button.gs-ri3-button {

    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;

    padding: 4px 5px !important;

    gap: 0 !important;

    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;

    letter-spacing: 0 !important;

    text-align: center !important;
    text-transform: none !important;

    white-space: normal !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .gs-ri3-slot
  button.gs-ri3-button
  > .gs-ri3-label {

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;

    letter-spacing: 0 !important;

    text-align: center !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }


  /* La freccia resta disattivata */
  html body #js-product-list
  .products.st-catalog-view--compact
  .gs-ri3-slot
  button.gs-ri3-button
  > .gs-ri3-arrow {

    display: none !important;
  }

}

/* FINE GESMART - COMPACT SQUARE V2.6 - RI3 TEXT REFINEMENT */

/* =========================================================
   GESMART - COMPACT SQUARE V2.7 - FIX SU ORDINAZIONE

   Vista compatta:
   il badge "Su ordinazione" mostra esclusivamente
   icona + SO, eliminando il testo originale intermedio.
   ========================================================= */

@media (min-width: 768px) {

  /*
   * Nasconde completamente il blocco testuale originale
   * "Su ordinazione".
   */
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge[data-gs-card-kind="state"]
  > .gs-cbl__copy {

    display: none !important;
  }


  /*
   * Ricrea solo la sigla SO come secondo elemento
   * sotto l'icona.
   */
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge[data-gs-card-kind="state"]::after {

    content: "SO";

    display: block !important;

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 10px !important;

    color: inherit !important;

    text-align: center !important;
    text-transform: uppercase !important;

    white-space: nowrap !important;
  }


  /*
   * Mantiene icona e SO perfettamente centrati
   * nel quadrato.
   */
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge[data-gs-card-kind="state"] {

    display: flex !important;
    flex-direction: column !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 1px !important;
  }


  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge[data-gs-card-kind="state"]
  > .gs-cbl__icon {

    margin: 0 !important;
    padding: 0 !important;
  }

}

/* FINE GESMART - COMPACT SQUARE V2.7 - FIX SU ORDINAZIONE */

/* =========================================================
   GESMART - COMPACT SQUARE V2.8 - FIX NON DISPONIBILE

   Vista compatta:
   il badge "Non disponibile" mostra esclusivamente
   icona + ND, eliminando il testo originale intermedio.
   ========================================================= */

@media (min-width: 768px) {

  /*
   * Nasconde completamente il blocco testuale originale
   * del badge availability--unavailable.
   */
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge[data-gs-card-kind="availability"].gs-product-availability--unavailable
  > .gs-cbl__copy {
    display: none !important;
  }

  /*
   * Ricrea solo la sigla ND come secondo elemento
   * sotto l'icona.
   */
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge[data-gs-card-kind="availability"].gs-product-availability--unavailable::after {
    content: "ND";

    display: block !important;
    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 10px !important;

    color: inherit !important;

    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  /*
   * Mantiene icona e ND centrati nel quadrato.
   */
  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge[data-gs-card-kind="availability"].gs-product-availability--unavailable {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1px !important;
  }

  html body #js-product-list
  .products.st-catalog-view--compact
  .product-miniature
  .product-price-and-shipping
  .product-qty-container.gs-availability-stack[data-gs-card-logistics="B2"]
  > .gs-logistics-badge[data-gs-card-kind="availability"].gs-product-availability--unavailable
  > .gs-cbl__icon {
    margin: 0 !important;
    padding: 0 !important;
  }

}

/* FINE GESMART - COMPACT SQUARE V2.8 - FIX NON DISPONIBILE */
