.shop-area .row.row-cols-2,
.shop-area .row.row-cols-sm-2,
.shop-area .row.row-cols-md-2,
.shop-area .row.row-cols-lg-2,
.shop-area .row.row-cols-xl-3{
  --bs-gutter-x:14px;
  --bs-gutter-y:18px;
}

.shop-area .row.row-cols-2>.col,
.shop-area .row.row-cols-sm-2>.col,
.shop-area .row.row-cols-md-2>.col,
.shop-area .row.row-cols-lg-2>.col,
.shop-area .row.row-cols-xl-3>.col{
  padding-left:7px;
  padding-right:7px;
  margin-bottom:18px;
}

.shop__item{
  position:relative;
  transform:none !important;
  width:100%;
  max-width:100%;
}

.shop__item-thumb img{
  display:block;
  width:100%;
  height:auto;
}

@media (max-width:576px){
  .shop-area .col-xl-9 .row.justify-content-center.row-cols-2{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    justify-content:initial !important;
    align-items:start !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .shop-area .col-xl-9 .row.justify-content-center.row-cols-2>.col{
    width:auto !important;
    max-width:none !important;
    padding:0 !important;
    margin:0 !important;
  }

  .shop__item-thumb{
    padding:14px !important;
  }

  .shop__item-thumb a{
    display:block !important;
  }

  .shop__item-thumb img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .shop__item-content{
    padding:12px 14px 14px !important;
    text-align:left !important;
  }

  .shop__item-content-top{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin-bottom:8px !important;
  }

  .shop__item-content-top .title{
    margin:0 !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    line-height:1.2 !important;
  }

  .shop__item-content-top .title a{
    display:block !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .shop__item-price{
    margin:0 !important;
    flex:0 0 auto !important;
    line-height:1 !important;
  }

  .shop__item-cat{
    margin-top:6px !important;
    line-height:1.35 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  .shop__item-cat strong,
  .shop__item-cat b{
    font-weight:700;
  }

  .shop__item-cat .badge{
    display:inline-block;
    white-space:nowrap !important;
    line-height:1.1 !important;
    vertical-align:baseline;
    padding:3px 6px;
  }
}

@media (max-width: 576px) {
  .shop__item {
    overflow: visible !important;
  }

  .shop__item-content {
    overflow: visible !important;
    height: auto !important;
  }

  .shop-area .col-xl-9 .row.justify-content-center.row-cols-2 > .col {
    overflow: visible !important;
  }

  .shop-area .col-xl-9 .row.justify-content-center.row-cols-2 {
    align-items: start !important;
    grid-auto-rows: auto !important;
  }

  /* evita que elementos posicionados del theme queden por arriba */
  .shop__item,
  .shop__item-thumb,
  .shop__item-content {
    position: relative !important;
    z-index: 1 !important;
  }
}

@media (max-width: 576px){
  .shop__item{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  .shop__item-content{
    position:static !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .shop__item-thumb{
    position:static !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
  }

  .shop__item-thumb img{
    position:static !important;
    transform:none !important;
    max-height:none !important;
  }

  .shop__item-line{
    margin-top:10px !important;
    margin-bottom:10px !important;
  }

  .shop-area .col-xl-9 .row.justify-content-center.row-cols-2{
    grid-auto-rows:auto !important;
  }

  .shop-area .col-xl-9 .row.justify-content-center.row-cols-2 > .col{
    align-self:stretch !important;
    overflow:visible !important;
  }
}

@media (max-width: 576px){
  .shop__item{
    background: rgba(255,255,255,0.05) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .shop__item-thumb{
    background: transparent !important;
  }

  .shop__item-content{
    background: transparent !important;
  }
}

