
/* Nexaura Personalization 3.1
   Product cards intentionally use the active Flatsome/WooCommerce theme markup.
   Only the horizontal recommendation rail is styled here. */
.nxp-section{
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding:18px 24px 28px;
  box-sizing:border-box;
}
.nxp-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.nxp-head h2{
  margin:0!important;
  padding:0!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.nxp-nav{display:flex;gap:8px}
.nxp-prev,.nxp-next{
  width:40px;
  height:40px;
  min-height:40px;
  padding:0!important;
  margin:0!important;
  border:1px solid #ddd!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:27px!important;
  line-height:1!important;
  cursor:pointer;
}
.nxp-native-slider{overflow:hidden}
.nxp-track.products.row{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:smooth;
  scrollbar-width:none;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
}
.nxp-track::-webkit-scrollbar{display:none}
.nxp-track .nxp-slide{
  flex:0 0 20%!important;
  max-width:20%!important;
  width:20%!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
.nxp-track .nxp-slide:first-child{padding-left:0!important}
.nxp-track .nxp-slide:last-child{padding-right:0!important}

/* Do not override Flatsome product box, hover, quick-view or wishlist styling. */
.nxp-track .product-small .box,
.nxp-track .product-small .box-image,
.nxp-track .product-small .box-text{
  /* native theme rules remain in control */
}

@media(max-width:849px){
  .nxp-section{padding:16px 18px 24px}
  .nxp-track .nxp-slide{
    flex-basis:33.333333%!important;
    max-width:33.333333%!important;
    width:33.333333%!important;
  }
}
@media(max-width:549px){
  .nxp-section{padding:14px 14px 20px}
  .nxp-track .nxp-slide{
    flex-basis:50%!important;
    max-width:50%!important;
    width:50%!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .nxp-prev,.nxp-next{width:36px;height:36px;min-height:36px}
}


/* V3.2 - Rounded product imagery, keeping Flatsome native card behavior */
.nxp-track .product-small .box-image,
.nxp-track .product-small .box-image .image-fade_in_back,
.nxp-track .product-small .box-image .image-zoom,
.nxp-track .product-small .box-image .image-tools,
.nxp-track .product-small .box-image img {
  border-radius:14px !important;
}

.nxp-track .product-small .box-image {
  overflow:hidden !important;
}


/* V3.3 - Nexaura seller-store card proportions for recommendation rails */
.nxp-section{max-width:100%!important;padding-left:24px!important;padding-right:24px!important}
.nxp-track.products.row{gap:0!important}
.nxp-track .nxp-slide{flex:0 0 20%!important;max-width:20%!important;width:20%!important;padding-left:10px!important;padding-right:10px!important}
.nxp-track .nxp-slide > .col-inner,
.nxp-track .nxp-slide .product-small,
.nxp-track .nxp-slide .box{width:100%!important;max-width:none!important}
.nxp-track .product-small .box-image{width:100%!important;aspect-ratio:1/1!important;height:auto!important}
.nxp-track .product-small .box-image .image-fade_in_back,
.nxp-track .product-small .box-image .image-zoom,
.nxp-track .product-small .box-image > div:not(.image-tools){width:100%!important;height:100%!important}
.nxp-track .product-small .box-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.nxp-track .product-small .box-text{padding-top:10px!important;padding-left:0!important;padding-right:0!important}
.nxp-track .product-small .product-title,
.nxp-track .product-small .name{line-height:1.3!important;margin-bottom:4px!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important}
.nxp-track .product-small .price{margin-top:2px!important}
@media(max-width:849px){.nxp-track .nxp-slide{flex-basis:33.333333%!important;max-width:33.333333%!important;width:33.333333%!important}}
@media(max-width:549px){.nxp-track .nxp-slide{flex-basis:50%!important;max-width:50%!important;width:50%!important}}


/* V3.3.1 - hard-match rail image width to the full 5-column seller card */
.nxp-track .nxp-slide .product-small,
.nxp-track .nxp-slide .product-small > .col-inner,
.nxp-track .nxp-slide .product-small .box,
.nxp-track .nxp-slide .product-small .box-image,
.nxp-track .nxp-slide .product-small .box-image > div,
.nxp-track .nxp-slide .product-small .image-fade_in_back,
.nxp-track .nxp-slide .product-small .image-zoom {
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.nxp-track .nxp-slide .product-small .box-image {
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.nxp-track .nxp-slide .product-small .box-image img {
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
}

/* V3.3.2 - exact Seller Storefront product-card sizing */
.nxp-section{
  width:100%!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:22px!important;
  padding-right:22px!important;
}
.nxp-track.products.row{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
}
.nxp-track .nxp-slide{
  flex:0 0 calc((100% - 56px)/5)!important;
  width:calc((100% - 56px)/5)!important;
  max-width:calc((100% - 56px)/5)!important;
  padding-left:0!important;
  padding-right:0!important;
  min-width:0!important;
}
.nxp-track .nxp-slide .box,
.nxp-track .nxp-slide .box-image,
.nxp-track .nxp-slide .box-text{
  width:100%!important;
  max-width:none!important;
}
.nxp-track .product-small .box-image{
  display:block!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  border:1px solid #e8eaed!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#f5f6f8!important;
}
.nxp-track .product-small .box-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  border-radius:10px!important;
}
.nxp-track .product-small .box-text{
  padding:9px 2px 0!important;
}
.nxp-track .product-small .product-title,
.nxp-track .product-small .name{
  min-height:38px!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:550!important;
  margin:0!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.nxp-track .product-small .price{
  margin-top:5px!important;
  font-size:15px!important;
  font-weight:800!important;
}
@media(max-width:1100px){
  .nxp-track .nxp-slide{
    flex-basis:calc((100% - 42px)/4)!important;
    width:calc((100% - 42px)/4)!important;
    max-width:calc((100% - 42px)/4)!important;
  }
}
@media(max-width:849px){
  .nxp-section{padding-left:18px!important;padding-right:18px!important}
  .nxp-track .nxp-slide{
    flex-basis:calc((100% - 28px)/3)!important;
    width:calc((100% - 28px)/3)!important;
    max-width:calc((100% - 28px)/3)!important;
  }
}
@media(max-width:549px){
  .nxp-section{padding-left:12px!important;padding-right:12px!important}
  .nxp-track{gap:12px!important}
  .nxp-track .nxp-slide{
    flex-basis:calc((100% - 12px)/2)!important;
    width:calc((100% - 12px)/2)!important;
    max-width:calc((100% - 12px)/2)!important;
  }
}

/* V3.3.3 - hard normalize nested Flatsome product columns.
   content-product.php can output its own .product-small.col inside .nxp-slide.
   Flatsome column-count rules were shrinking that inner product a second time,
   which made Recommended for You visibly smaller than Recently Viewed. */
.nxp-track .nxp-slide > .product-small.col,
.nxp-track .nxp-slide > .product.col,
.nxp-track .nxp-slide .product-small.col,
.nxp-track .nxp-slide .product.col {
  flex:0 0 100% !important;
  flex-basis:100% !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.nxp-track .nxp-slide > .col-inner,
.nxp-track .nxp-slide .product-small > .col-inner,
.nxp-track .nxp-slide .product > .col-inner,
.nxp-track .nxp-slide .box,
.nxp-track .nxp-slide .box-image,
.nxp-track .nxp-slide .box-text {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.nxp-track .nxp-slide .box-image {
  aspect-ratio:1 / 1 !important;
  height:auto !important;
}
.nxp-track .nxp-slide .box-image img {
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
}

/* Match the working Recently Viewed rail widths exactly. */
.nxp-track.products.row { gap:16px !important; }
.nxp-track .nxp-slide {
  flex:0 0 calc((100% - 64px)/5) !important;
  width:calc((100% - 64px)/5) !important;
  max-width:calc((100% - 64px)/5) !important;
}
@media(max-width:849px){
  .nxp-track.products.row { gap:16px !important; }
  .nxp-track .nxp-slide {
    flex:0 0 calc((100% - 32px)/3) !important;
    width:calc((100% - 32px)/3) !important;
    max-width:calc((100% - 32px)/3) !important;
  }
}
@media(max-width:549px){
  .nxp-section { padding-left:14px !important; padding-right:14px !important; }
  .nxp-track.products.row { gap:12px !important; }
  .nxp-track .nxp-slide {
    flex:0 0 calc((100% - 12px)/2) !important;
    width:calc((100% - 12px)/2) !important;
    max-width:calc((100% - 12px)/2) !important;
  }
}
