.product-miniature.product-miniature-list .product-availability,
.product-miniature.product-miniature-list .available,
.product-miniature.product-miniature-list .in-stock,
.product-miniature.product-miniature-list .out-of-stock { display:none !important; }

.product-miniature.product-miniature-list .functional-buttons,
.product-miniature.product-miniature-list .quick-view,
.product-miniature.product-miniature-list .add-to-compare { display:none !important; }

.product-miniature-list-row{
  display: grid !important;                      
  grid-template-columns: 84px 1fr 360px !important; 
  align-items: center;
  gap: 12px;
  overflow: visible;
}

.product-miniature.product-miniature-list .cont-img-wuala{ position: relative; min-width: 64px; }
.product-miniature.product-miniature-list .cont-img-wuala img{ width: auto; max-width: 80px; height: auto; display:block; }

.product-miniature.product-miniature-list .col-description{ padding: .5rem 1rem; min-width: 0; }
.product-miniature.product-miniature-list .product-title{ margin: 0 0 .2rem; }
.product-miniature.product-miniature-list .product-title a{
  display: -webkit-box;
  -webkit-line-clamp: 2; 
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: clamp(14px, 1.8vw, 18px);
  line-height: 1.2;
}
.product-miniature.product-miniature-list .mto-precio-base{ display:none !important; }
.product-miniature.product-miniature-list .product-short{ color:#374151; font-size:.9rem; margin-top:.25rem; }
.product-miniature.product-miniature-list .product-reference,
.product-miniature.product-miniature-list .product-brand{ color:#6b7280; font-size: .85rem; }

.product-miniature.product-miniature-list .col-buy{ display:flex; justify-content:flex-end; align-items:center; gap:.5rem; }

.form-mayorista .mto-contador{
  display:flex; align-items:center; gap:.5rem; flex-wrap:wrap;
}
.mto-contador-precio{ font-weight:600; white-space:nowrap; }
.mto-contenedor-resultados .mto-contador-resultado.final{
  font-weight:700; width:auto; min-width:110px;
}
.product-miniature-default .product-add-cart .input-qty {
   margin-right: 0rem;
}
.product-miniature.product-miniature-list .input-group{ justify-content:flex-start; }
.product-miniature.product-miniature-list .product-miniature-default .product-add-cart .input-qty{
  width: 56px;
  text-align:center;
  margin-right:0;
}

.product-miniature.product-miniature-list .bootstrap-touchspin-down,
.product-miniature.product-miniature-list .bootstrap-touchspin-up{
  color: #fff !important; border: none !important;
}
.product-miniature.product-miniature-list .bootstrap-touchspin-down{ background:#6B7280 !important; }
.product-miniature.product-miniature-list .bootstrap-touchspin-up{ background:#4A90E2 !important; }
.product-miniature.product-miniature-list .bootstrap-touchspin-down:hover{ background:#5b6472 !important; }
.product-miniature.product-miniature-list .bootstrap-touchspin-up:hover{ background:#3e7fc7 !important; }

.product-miniature.product-miniature-list .btn.btn-product-list{
  display:inline-flex; align-items:center; justify-content:center;
  min-height: 40px; padding: 0 .9rem; font-weight:600;
}


.product-miniature.product-miniature-list .cont-img-wuala .vm-badge{
  position:absolute; z-index:3;
  top: 6px; left: 6px;
  padding:.25rem .5rem; border-radius:.4rem;
  line-height:1; font-weight:700; color:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
  font-size: clamp(11px, 0.9vw, 13.5px);
  user-select:none;
}
.product-miniature.product-miniature-list .col-description .vm-badge{
  position: static;
  display: inline-block;
  margin: 0 0 .25rem 0;
  padding:.25rem .5rem;
  border-radius:.4rem;
  line-height:1; font-weight:700; color:#fff;
  font-size: clamp(11px, 0.9vw, 13.5px);
}
.product-miniature.product-miniature-list .vm-badge--ok  { background:#22c55e; }
.product-miniature.product-miniature-list .vm-badge--low { background:#f59e0b; }
.product-miniature.product-miniature-list .vm-badge--out { background:#ef4444; }

@media (max-width: 576px){

  .product-miniature-list-row{
    grid-template-columns: 68px 1fr !important; 
    grid-template-rows: auto auto;              
  }

  .product-miniature.product-miniature-list .cont-img-wuala img{ max-width: 64px; }
  .product-miniature.product-miniature-list .cont-img-wuala .vm-badge{ top:-10px; left:-4px; padding:.2rem .45rem; font-size:12px; }

  .product-miniature.product-miniature-list .col-description{ padding:.25rem .5rem; }

  .product-miniature.product-miniature-list .col-buy{
    grid-column: 1 / -1;
    justify-content: center;
  }

  .product-miniature.product-miniature-list .form-mayorista .mto-contador{
    width:100%;
    display:grid;
    grid-template-columns: 1fr auto auto;
    grid-template-areas:
      "precio qty total"
      "btn    btn  btn";
    align-items:center;
    gap:.5rem .75rem;
  }

  .product-miniature.product-miniature-list .mto-contador-container{ grid-area: precio; }
  .product-miniature.product-miniature-list .mto-contador-precio{ font-size: 14px; }

  .product-miniature.product-miniature-list .input-group,
  .product-miniature.product-miniature-list .product-miniature-default .product-add-cart .input-qty{
    grid-area: qty;
  }
  .product-miniature.product-miniature-list .product-miniature-default .product-add-cart .input-qty{
    width: 56px;
  }

  .product-miniature.product-miniature-list .mto-contenedor-resultados{ padding: 0;
  margin: 0px;
  border: 0px; }
  .product-miniature.product-miniature-list .mto-contenedor-resultados .mto-contador-resultado.final{
    min-width: 96px; font-size:14px;
  }

  .product-miniature.product-miniature-list .form-mayorista .comprar-mayorista{
    grid-area: btn;
    width:100%;
    padding:.65rem 1rem;
    min-height:44px;
    font-size: 15px;
  }

  .product-miniature.product-miniature-list .product-title a{ -webkit-line-clamp: 3; font-size: 16px; }
  .product-miniature.product-miniature-list .product-reference, .product-miniature.product-miniature-list .product-brand{ font-size: .8rem; }
}

@media (min-width: 577px) and (max-width: 991px){
  .product-miniature-list-row{
    grid-template-columns: 80px 1fr 300px !important;
  }
  .cont-img-wuala img{ max-width: 72px; }
  .product-miniature.product-miniature-list .cont-img-wuala .vm-badge{ top:6px; left:6px; }

  .product-miniature.product-miniature-list .form-mayorista .mto-contador{
    gap:.5rem;
  }
  .product-miniature.product-miniature-list .product-miniature-default .product-add-cart .input-qty{ width: 60px; }
  .product-miniature.product-miniature-list .mto-contenedor-resultados .mto-contador-resultado.final{ min-width: 110px; }
}

@media (min-width: 992px){
  .product-miniature-list-row{
    grid-template-columns: 90px 1fr 440px !important; 
    align-items: center;
    gap: 12px;
  }

  .product-miniature.product-miniature-list .col-buy{
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }

  .product-miniature.product-miniature-list .form-mayorista .mto-contador{
    display: flex;
    flex-wrap: nowrap;       
    gap: .5rem;
  }

  .product-miniature.product-miniature-list .mto-contador-container,
  .product-miniature.product-miniature-list .mto-contenedor-resultados{
    white-space: nowrap;
  }

  .product-miniature.product-miniature-list .product-miniature-default .product-add-cart .input-qty{ width: 56px; text-align: center; }
  .product-miniature.product-miniature-list .mto-contenedor-resultados .mto-contador-resultado.final{ min-width: 120px;}

  .product-miniature.product-miniature-list .form-mayorista .comprar-mayorista{
    white-space: nowrap;
    padding: .6rem .9rem;
    min-height: 40px;
  }

  .product-miniature.product-miniature-list .cont-img-wuala .vm-badge{ top: -10px; left: -10px; }
}

@media (min-width: 1400px){
  .product-miniature-list-row{
    grid-template-columns: 96px 1fr 480px !important;
  }
}

.mto-contador-precio{
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .1px;
}

.mto-contenedor-resultados .mto-contador-resultado.final{
  font-size: 17px;            
  font-weight: 700;
  color: #0f172a;               
  font-variant-numeric: tabular-nums; 
  min-width: 124px;       
}
.mto-contador-precio::after{
  content: " ×";
  opacity: .45;
  margin-left: .15rem;
}
/* Cuando el unitario viene del módulo de márgenes, aplicarle el mismo estilo */
.vm-unit-from-margin{
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .1px;
}
.vm-unit-from-margin::after{
  content: " ×";
  opacity: .45;
  margin-left: .15rem;
}
.mto-contenedor-resultados{
  margin-left: .6rem;
  padding-left: .6rem;
  border-left: 1px solid rgba(15,23,42,.12); 
}

.mto-contenedor-resultados .mto-contador-resultado.final span{
  display: inline-block;
  padding: .15rem .45rem;
  border-radius: .375rem;
  background: rgba(15,23,42,.05); 
}
.mto-contenedor-resultados .mto-contador-resultado.final span{
  transition: transform .18s ease, opacity .18s ease, background-color .18s ease;
}
.mto-contador-resultado {text-align: center;}
.mto-contenedor-resultados .mto-contador-resultado.final span.is-changing{
  transform: scale(1.05);
  opacity: .9;
  background: rgba(15,23,42,.08);
}
.mto-contador-container,
.mto-contenedor-resultados{ white-space: nowrap; }

.product-miniature.product-miniature-list
  .product-miniature-default .product-add-cart .input-qty{
  width: 56px; text-align:center;
}
.mto-contador button.btn.btn-default.bootstrap-touchspin-down {
    background: #e9e9e9 !important;
    color: #000 !important;
    border: 2px solid #b3b3b3 !important;
    border-radius: 20px 0 0 20px;
    font-size: 15px;
    font-weight: 600;
}
 
.mto-contador .input-group .form-control:not(:first-child):not(:last-child) {
    border-radius: 0px;
    border-right: 2px;
    border-top: 2px;
    border-bottom: 2px;
    border-style: solid;
    box-shadow: none;
    background: #ffffff;
    border-color: #b3b3b3;
    width: 35px;
}
 
 
.mto-contador button.btn.btn-default.bootstrap-touchspin-up {
    border-radius: 0px 20px 20px 0;
    background: #e9e9e9 !important;
    color: #000 !important;
    border: 2px solid #b3b3b3 !important;
    border-left: 0px !important;
    font-size: 15px;
    font-weight: 600;
}
.mto-contador button.btn.btn-default:hover {
background: #d9d9d9 !important;
}

/* Ocultar flechas nativas del input number para unificar vista */
.product-miniature.product-miniature-list .input-qty::-webkit-outer-spin-button,
.product-miniature.product-miniature-list .input-qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product-miniature.product-miniature-list .input-qty { -moz-appearance: textfield; }

/* Fallback TouchSpin simple (cuando no está el plugin) */
.product-miniature.product-miniature-list .vm-touchspin{
  display:inline-flex;
  align-items:stretch;
}
.product-miniature.product-miniature-list .vm-touchspin .bootstrap-touchspin-down,
.product-miniature.product-miniature-list .vm-touchspin .bootstrap-touchspin-up{
  color:#000; border:2px solid #b3b3b3 !important; background:#e9e9e9 !important;
}
.product-miniature.product-miniature-list .vm-touchspin .bootstrap-touchspin-down{ border-right:0 !important; border-radius:20px 0 0 20px; }
.product-miniature.product-miniature-list .vm-touchspin .bootstrap-touchspin-up{ border-left:0 !important; border-radius:0 20px 20px 0; }

/* Forzar visibilidad del quantity en listado (override Warehouse) */
.product-miniature.product-miniature-list .input-qty,
.product-miniature.product-miniature-list .input-group .input-qty{
  display: inline-block !important;
}
.product-miniature.product-miniature-list .input-group-add-cart .bootstrap-touchspin,
.product-miniature.product-miniature-list .bootstrap-touchspin,
.product-miniature.product-miniature-list .vm-touchspin{
  display: inline-flex !important;
}

.input-group{
  flex-wrap: nowrap !important;
}
div.mto-contador-container {
  text-align: end;
}
div.mto-contador-container > span.product-price.price {
  display: none !important;
}