/* V47 — narrow, final fix for mobile product image + Buy Now visibility. */
@media (max-width:700px){
  .sp-product-group--main .sp-card,
  .sp-product-group--random .sp-card{
    overflow:hidden!important;
  }

  /* Keep the real product artwork fully visible. */
  .sp-product-group--main .sp-card-banner,
  .sp-product-group--random .sp-card-banner{
    position:relative!important;
    overflow:hidden!important;
    min-width:0!important;
  }
  .sp-product-group--main .sp-card-banner-img,
  .sp-product-group--random .sp-card-banner-img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
    mix-blend-mode:normal!important;
  }

  /* The body must not clip the footer/button. */
  .sp-product-group--main .sp-card-body,
  .sp-product-group--random .sp-card-body{
    overflow:visible!important;
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
  }

  /* Stable two-column footer: price stays left, full button stays right. */
  .sp-product-group--main .sp-card-footer,
  .sp-product-group--random .sp-card-footer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:end!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .sp-product-group--main .sp-price-block,
  .sp-product-group--random .sp-price-block{
    min-width:0!important;
    overflow:visible!important;
  }
  .sp-product-group--main .sp-price-range,
  .sp-product-group--random .sp-price-range,
  .sp-product-group--main .sp-price-free,
  .sp-product-group--random .sp-price-free{
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:clamp(.61rem,2.55vw,.75rem)!important;
  }

  .sp-product-group--main .sp-buy-btn,
  .sp-product-group--main .sp-buy-btn:link,
  .sp-product-group--main .sp-buy-btn:visited,
  .sp-product-group--random .sp-buy-btn,
  .sp-product-group--random .sp-buy-btn:link,
  .sp-product-group--random .sp-buy-btn:visited{
    display:inline-flex!important;
    flex:0 0 auto!important;
    width:max-content!important;
    min-width:96px!important;
    max-width:100%!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 11px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    border-radius:10px!important;
  }
  .sp-product-group--main .sp-buy-btn i,
  .sp-product-group--random .sp-buy-btn i{
    flex:0 0 auto!important;
    font-size:.62rem!important;
  }
  .sp-product-group--main .sp-buy-btn span,
  .sp-product-group--random .sp-buy-btn span{
    min-width:0!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media (max-width:420px){
  .sp-product-group--main .sp-card,
  .sp-product-group--random .sp-card{
    grid-template-columns:minmax(112px,32vw) minmax(0,1fr)!important;
  }
  .sp-product-group--main .sp-card-body,
  .sp-product-group--random .sp-card-body{
    padding:9px 9px 10px!important;
  }
  .sp-product-group--main .sp-card-footer,
  .sp-product-group--random .sp-card-footer{
    grid-template-columns:minmax(0,1fr) max-content!important;
    gap:6px!important;
  }
  .sp-product-group--main .sp-buy-btn,
  .sp-product-group--random .sp-buy-btn{
    min-width:92px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 9px!important;
    font-size:.57rem!important;
  }
}
