/* Shopoint Featured Products Carousel v1.1 */
.spfp-wrap{
  --spfp-gap:10px;
  --spfp-per-view:6;
  width:100%;
  max-width:100%;
  position:relative;
  font-family:inherit;
}
.spfp-wrap.spfp-full-width{
  width:100vw !important;
  max-width:100vw !important;
  position:relative;
  left:50%;
  margin-left:-50vw;
  margin-right:0;
}
.spfp-inner{
  width:100%;
  max-width:100%;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
}
.spfp-heading-row{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 12px;
  min-height:38px;
}
.spfp-title-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.spfp-title{
  margin:0;
  color:#111;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  white-space:nowrap;
}
.spfp-title-line{display:block;width:46px;height:2px;background:#D7A33D;}
.spfp-top-actions{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:6px;
  z-index:4;
}
.spfp-view-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 17px;
  border:1px solid #D7A33D;
  border-radius:5px;
  background:#fff;
  color:#111;
  font-size:12px;
  font-weight:600;
  text-decoration:none !important;
}
.spfp-arrow{
  width:32px;
  height:34px;
  border:1px solid #e6e6e6;
  border-radius:5px;
  background:#fff;
  color:#bbb;
  font-size:24px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
  transition:.2s ease;
}
.spfp-arrow:hover{color:#D7A33D;border-color:#D7A33D;}
.spfp-carousel{width:100%;overflow:hidden;touch-action:pan-y;}
.spfp-track{
  display:flex;
  gap:var(--spfp-gap);
  transition:transform 450ms ease;
  will-change:transform;
}
.spfp-card{
  position:relative;
  flex:0 0 calc((100% - (var(--spfp-gap) * (var(--spfp-per-view) - 1))) / var(--spfp-per-view));
  min-width:0;
  border:1px solid #e9e9e9;
  border-radius:5px;
  background:#fff;
  overflow:hidden;
  box-sizing:border-box;
}
.spfp-card-main{
  display:block;
  height:100%;
  color:inherit !important;
  text-decoration:none !important;
  position:relative;
  z-index:1;
}
.spfp-card-main:hover,
.spfp-card-main:focus{
  color:inherit !important;
  text-decoration:none !important;
}
.spfp-heart{
  position:absolute;
  right:10px;
  top:8px;
  z-index:3;
  color:#777;
  font-size:21px;
  line-height:1;
  pointer-events:none;
}
.spfp-image{
  width:100%;
  aspect-ratio:1/1;
  padding:8px 10px 0;
  box-sizing:border-box;
  overflow:hidden;
}
.spfp-image img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;}
.spfp-card-body{padding:8px 12px 13px;}
.spfp-product-title{
  margin:0 0 7px;
  min-height:38px;
  color:#171717;
  font-size:14px;
  line-height:1.25;
  font-weight:500;
}
.spfp-price{margin:0 0 5px;color:#111;font-size:14px;font-weight:700;line-height:1.3;}
.spfp-price ins{text-decoration:none;}
.spfp-price del{margin-left:5px;color:#999;font-size:11px;font-weight:400;}
.spfp-rating{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;}
.spfp-stars{color:#D7A33D;letter-spacing:1px;font-size:13px;}
.spfp-review-count{color:#666;font-size:11px;}

.elementor-editor-active .spfp-card-main{pointer-events:auto;}

@media(max-width:1024px){
  .spfp-wrap{--spfp-per-view:3;}
  .spfp-inner{padding-left:16px;padding-right:16px;}
  .spfp-title{font-size:21px;}
  .spfp-title-line{width:34px;}
}
@media(max-width:767px){
  .spfp-wrap{--spfp-per-view:2;}
  .spfp-inner{padding-left:10px;padding-right:10px;}
  .spfp-heading-row{
    justify-content:flex-start;
    padding-right:0;
    margin-bottom:10px;
    min-height:64px;
  }
  .spfp-title-wrap{width:100%;justify-content:center;align-self:flex-start;}
  .spfp-title{font-size:18px;}
  .spfp-title-line{width:28px;}
  .spfp-top-actions{position:absolute;top:auto;right:0;bottom:0;transform:none;}
  .spfp-view-all{min-height:30px;padding:4px 12px;font-size:11px;}
  .spfp-arrow{width:29px;height:30px;font-size:21px;}
  .spfp-image{padding:7px 7px 0;}
  .spfp-card-body{padding:7px 8px 10px;}
  .spfp-product-title{font-size:12px;min-height:44px;margin-bottom:6px;}
  .spfp-price{font-size:12px;}
  .spfp-price del{font-size:10px;}
  .spfp-stars{font-size:11px;letter-spacing:0;}
  .spfp-review-count{font-size:10px;}
  .spfp-heart{right:7px;top:6px;font-size:18px;}
}
