.elementor-43 .elementor-element.elementor-element-7fe9457{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-43 .elementor-element.elementor-element-a379ba7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-d2c69a1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-040e065{--display:flex;--min-height:52px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-364e094{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;box-shadow:0px 1px 4px 0px rgba(13.599999999999952, 13.393043478260822, 13.393043478260822, 0.28);}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-43 .elementor-element.elementor-element-8ebafd3{padding:6px 0px 0px 15px;}.elementor-43 .elementor-element.elementor-element-8ebafd3 .elementor-heading-title{font-family:"Hind Siliguri", Sans-serif;font-size:20px;font-weight:600;color:#000000;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-43 .elementor-element.elementor-element-b3ba7fb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-6343bd4{--display:flex;--min-height:52px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-a31a92a{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;box-shadow:0px 1px 4px 0px rgba(13.599999999999952, 13.393043478260822, 13.393043478260822, 0.28);}.elementor-43 .elementor-element.elementor-element-c0aee00{padding:6px 0px 0px 15px;}.elementor-43 .elementor-element.elementor-element-c0aee00 .elementor-heading-title{font-family:"Hind Siliguri", Sans-serif;font-size:20px;font-weight:600;color:#000000;}.elementor-43 .elementor-element.elementor-element-1a1356b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-bf25d11{--display:flex;--min-height:52px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-552d256{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;box-shadow:0px 1px 4px 0px rgba(13.599999999999952, 13.393043478260822, 13.393043478260822, 0.28);}.elementor-43 .elementor-element.elementor-element-5568417{padding:6px 0px 0px 15px;}.elementor-43 .elementor-element.elementor-element-5568417 .elementor-heading-title{font-family:"Hind Siliguri", Sans-serif;font-size:20px;font-weight:600;color:#000000;}.elementor-43 .elementor-element.elementor-element-a35d183{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-14c1ca3{--display:flex;--min-height:52px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-b51e20d{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;box-shadow:0px 1px 4px 0px rgba(13.599999999999952, 13.393043478260822, 13.393043478260822, 0.28);}.elementor-43 .elementor-element.elementor-element-f058c2a{padding:6px 0px 0px 15px;}.elementor-43 .elementor-element.elementor-element-f058c2a .elementor-heading-title{font-family:"Hind Siliguri", Sans-serif;font-size:20px;font-weight:600;color:#000000;}.elementor-43 .elementor-element.elementor-element-fedcb78{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-658fb30{--display:flex;--min-height:52px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-eb35c1f{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;box-shadow:0px 1px 4px 0px rgba(13.599999999999952, 13.393043478260822, 13.393043478260822, 0.28);}.elementor-43 .elementor-element.elementor-element-b532e47{padding:6px 0px 0px 15px;}.elementor-43 .elementor-element.elementor-element-b532e47 .elementor-heading-title{font-family:"Hind Siliguri", Sans-serif;font-size:20px;font-weight:600;color:#000000;}.elementor-43 .elementor-element.elementor-element-f654bf9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-6d611ae{--display:flex;--min-height:52px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-dac41dc{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;box-shadow:0px 1px 4px 0px rgba(13.599999999999952, 13.393043478260822, 13.393043478260822, 0.28);}.elementor-43 .elementor-element.elementor-element-3aa9d71{padding:6px 0px 0px 15px;}.elementor-43 .elementor-element.elementor-element-3aa9d71 .elementor-heading-title{font-family:"Hind Siliguri", Sans-serif;font-size:20px;font-weight:600;color:#000000;}.elementor-43 .elementor-element.elementor-element-b87b68f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-40741de{--display:flex;--min-height:52px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-19a6eaf{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;box-shadow:0px 1px 4px 0px rgba(13.599999999999952, 13.393043478260822, 13.393043478260822, 0.28);}.elementor-43 .elementor-element.elementor-element-f9e1654{padding:6px 0px 0px 15px;}.elementor-43 .elementor-element.elementor-element-f9e1654 .elementor-heading-title{font-family:"Hind Siliguri", Sans-serif;font-size:20px;font-weight:600;color:#000000;}.elementor-43 .elementor-element.elementor-element-dd20ddb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-43 .elementor-element.elementor-element-6aef01f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-43 .elementor-element.elementor-element-364e094{--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-a31a92a{--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-552d256{--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-b51e20d{--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-eb35c1f{--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-dac41dc{--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-19a6eaf{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-43 .elementor-element.elementor-element-7fe9457{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-a379ba7{--width:100%;}.elementor-43 .elementor-element.elementor-element-040e065{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-b3ba7fb{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-6343bd4{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-1a1356b{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-bf25d11{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-a35d183{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-14c1ca3{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-fedcb78{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-658fb30{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-f654bf9{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-6d611ae{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-b87b68f{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-40741de{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-dd20ddb{--content-width:1440px;}.elementor-43 .elementor-element.elementor-element-6aef01f{--content-width:1440px;}}@media(max-width:767px){.elementor-43 .elementor-element.elementor-element-a379ba7{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-364e094{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-8ebafd3{width:var( --container-widget-width, 155px );max-width:155px;--container-widget-width:155px;--container-widget-flex-grow:0;}.elementor-43 .elementor-element.elementor-element-a31a92a{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-c0aee00{width:var( --container-widget-width, 300px );max-width:300px;--container-widget-width:300px;--container-widget-flex-grow:0;}.elementor-43 .elementor-element.elementor-element-c0aee00 .elementor-heading-title{font-size:15px;}.elementor-43 .elementor-element.elementor-element-552d256{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-5568417{width:var( --container-widget-width, 258px );max-width:258px;--container-widget-width:258px;--container-widget-flex-grow:0;}.elementor-43 .elementor-element.elementor-element-b51e20d{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-f058c2a{width:var( --container-widget-width, 155px );max-width:155px;--container-widget-width:155px;--container-widget-flex-grow:0;}.elementor-43 .elementor-element.elementor-element-eb35c1f{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-b532e47{width:var( --container-widget-width, 341px );max-width:341px;--container-widget-width:341px;--container-widget-flex-grow:0;}.elementor-43 .elementor-element.elementor-element-b532e47 .elementor-heading-title{font-size:16px;}.elementor-43 .elementor-element.elementor-element-dac41dc{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-3aa9d71{width:var( --container-widget-width, 310px );max-width:310px;--container-widget-width:310px;--container-widget-flex-grow:0;}.elementor-43 .elementor-element.elementor-element-3aa9d71 .elementor-heading-title{font-size:16px;}.elementor-43 .elementor-element.elementor-element-19a6eaf{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-43 .elementor-element.elementor-element-f9e1654 .elementor-heading-title{font-size:16px;}}/* Start custom CSS for shortcode, class: .elementor-element-fc175a8 */<style>
/* WRAPPER */
.sohan-grid-wrapper {
  position: relative;
  overflow: hidden;
  padding: 18px;
}
.sohan-grid-wrapper * {
    font-family: 'Hind Siliguri', sans-serif !important;
}

/* GRID */
.sohan-grid {
  display: flex;
  gap: 18px;
  transition: transform .45s cubic-bezier(.22,.9,.3,1);
}

/* CARD */
.sohan-item {
  flex: 0 0 auto;
  width: 180px;
  background: #fff;
  border-radius: 0px;
  border: 0px solid rgba(0,0,0,0.05);
  overflow: hidden;
  box-shadow: 0 0px 0px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  /* নিচের খালি জায়গা কমানোর জন্য */
  justify-content: flex-start;
  transition: transform .3s, box-shadow .3s;
}
.sohan-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* IMAGE */
.sohan-thumb {
  position: relative;
  width: 100%;
  padding-top: 132%;
  overflow: hidden;
  background: #f6f6f6;
}

.sohan-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.sohan-item:hover .sohan-thumb img {
  transform: scale(1.06);
}

/* DISCOUNT BADGE */
.sohan-discount {
  position: absolute;
  top: 3px;
  left: 5px;
  background: #F23534;
  color: #fff;
  padding: 5px 5px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  z-index: 10;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

/* CONTENT AREA */
.sohan-info {
  padding: 12px 8px 8px;
  text-align: left;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* TITLE & AUTHOR */
.sohan-title { font-size: 15px; margin: 0 0 4px 0; color: #111; line-height: 1.2; font-weight: 700; height: 36px; overflow: hidden; }
.sohan-author { font-size: 13px; color: #8a8a8a; margin-bottom: 6px; display: block; }

/* PRICE */
.sohan-price ins .woocommerce-Price-amount,
.sohan-price ins {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

.sohan-price del .woocommerce-Price-amount,
.sohan-price del {
    color: #999 !important;
    text-decoration: line-through !important;
    font-size: 12px !important;
}

.sohan-price > .woocommerce-Price-amount,
.sohan-price > span.amount {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

/* ADD TO CART */
.sohan-cart-btn {
  margin-top: auto;  /* সর্বদা নিচে */
  padding: 6px 12px;
  background: #045CB4;
  color: #fff;
  font-size: 14px;
  text-align: center;
  border-radius: 4px;
  display: inline-block;
  text-decoration: none;
}

.sohan-cart-btn:hover {
    background: #023f7c !important;
    color: #fff !important;
}

/* ARROWS */
.sohan-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px!;
  height: 40px!;
  background: #fff;
  border-radius: 0;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  cursor: pointer;
  display:flex; align-items:center; justify-content:center;
  font-size: 18px;
  z-index: 20;
}

.sohan-prev { left: 0px!important; }
.sohan-next { right: 00px!important; }

/* RESPONSIVE */
@media (max-width:1024px){
  .sohan-item { width: calc((100% - 2*18px)/3); }
}

@media (max-width:767px){
  .sohan-item { width: calc((100% - 8px)/2.6); margin-right: 3px; }
  .sohan-thumb { padding-top: 120%; }
  .sohan-arrow { display:none !important; }

  .sohan-title { font-size: 13px; height: auto; }
  .sohan-author { font-size: 11px; }
  .sohan-price ins { font-size: 14px; }
  .sohan-cart-btn { padding: 3px 12px; font-size: 13px; }
  .sohan-discount { padding: 4px 4px; font-size: 10px; }
}
</style>

<script>
(function(){
  'use strict';
  function initGrid(wrapper){
    if(!wrapper || wrapper.__sg_init) return;
    wrapper.__sg_init=true;
    var grid = wrapper.querySelector('.sohan-grid');
    var prev = wrapper.querySelector('.sohan-prev');
    var next = wrapper.querySelector('.sohan-next');
    var items = grid.querySelectorAll('.sohan-item');
    var total = items.length;
    var index = 0;
    var itemWidth = 0;

    function calcWidth(){ itemWidth = items[0].getBoundingClientRect().width + parseFloat(getComputedStyle(items[0]).marginRight); }
    function perViewCount(){ if(window.innerWidth <= 767) return 2.5; else if(window.innerWidth <= 1024) return 3; else return 6; }
    function maxIndex(){ return Math.max(0, total - perViewCount()); }
    function goTo(i){ index=Math.max(0, Math.min(i,maxIndex())); grid.style.transform='translateX(' + (-itemWidth*index) + 'px)'; }

    if(next) next.addEventListener('click',()=>goTo(index+1));
    if(prev) prev.addEventListener('click',()=>goTo(index-1));

    // SWIPE
    var startX=0;
    grid.addEventListener('touchstart', e=>{ startX=e.touches[0].clientX; });
    grid.addEventListener('touchend', e=>{ 
      var dx=startX - e.changedTouches[0].clientX;
      if(dx>30) goTo(index+1); 
      if(dx<-30) goTo(index-1); 
    });

    calcWidth(); goTo(0);
    window.addEventListener('resize',()=>{ calcWidth(); goTo(index); });
  }

  document.addEventListener('DOMContentLoaded', function(){ document.querySelectorAll('.sohan-grid-wrapper').forEach(initGrid); });
})();
</script>/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-70c311f */<style>
/* WRAPPER */
.sohan-grid-wrapper {
  position: relative;
  overflow: hidden;
  padding: 18px;
}
.sohan-grid-wrapper * {
    font-family: 'Hind Siliguri', sans-serif !important;
}

/* GRID */
.sohan-grid {
  display: flex;
  gap: 18px;
  transition: transform .45s cubic-bezier(.22,.9,.3,1);
}

/* CARD */
.sohan-item {
  flex: 0 0 auto;
  width: 180px;
  background: #fff;
  border-radius: 0px;
  border: 0px solid rgba(0,0,0,0.05);
  overflow: hidden;
  box-shadow: 0 0px 0px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  /* নিচের খালি জায়গা কমানোর জন্য */
  justify-content: flex-start;
  transition: transform .3s, box-shadow .3s;
}
.sohan-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* IMAGE */
.sohan-thumb {
  position: relative;
  width: 100%;
  padding-top: 132%;
  overflow: hidden;
  background: #f6f6f6;
}

.sohan-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.sohan-item:hover .sohan-thumb img {
  transform: scale(1.06);
}

/* DISCOUNT BADGE */
.sohan-discount {
  position: absolute;
  top: 3px;
  left: 5px;
  background: #F23534;
  color: #fff;
  padding: 5px 5px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  z-index: 10;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

/* CONTENT AREA */
.sohan-info {
  padding: 12px 8px 8px;
  text-align: left;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* TITLE & AUTHOR */
.sohan-title { font-size: 15px; margin: 0 0 4px 0; color: #111; line-height: 1.2; font-weight: 700; height: 36px; overflow: hidden; }
.sohan-author { font-size: 13px; color: #8a8a8a; margin-bottom: 6px; display: block; }

/* PRICE */
.sohan-price ins .woocommerce-Price-amount,
.sohan-price ins {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

.sohan-price del .woocommerce-Price-amount,
.sohan-price del {
    color: #999 !important;
    text-decoration: line-through !important;
    font-size: 12px !important;
}

.sohan-price > .woocommerce-Price-amount,
.sohan-price > span.amount {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

/* ADD TO CART */
.sohan-cart-btn {
  margin-top: auto;  /* সর্বদা নিচে */
  padding: 6px 12px;
  background: #045CB4;
  color: #fff;
  font-size: 14px;
  text-align: center;
  border-radius: 4px;
  display: inline-block;
  text-decoration: none;
}

.sohan-cart-btn:hover {
    background: #023f7c !important;
    color: #fff !important;
}

/* ARROWS */
.sohan-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px!;
  height: 40px!;
  background: #fff;
  border-radius: 0;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  cursor: pointer;
  display:flex; align-items:center; justify-content:center;
  font-size: 18px;
  z-index: 20;
}

.sohan-prev { left: 0px!important; }
.sohan-next { right: 00px!important; }

/* RESPONSIVE */
@media (max-width:1024px){
  .sohan-item { width: calc((100% - 2*18px)/3); }
}

@media (max-width:767px){
  .sohan-item { width: calc((100% - 8px)/2.6); margin-right: 3px; }
  .sohan-thumb { padding-top: 120%; }
  .sohan-arrow { display:none !important; }

  .sohan-title { font-size: 13px; height: auto; }
  .sohan-author { font-size: 11px; }
  .sohan-price ins { font-size: 14px; }
  .sohan-cart-btn { padding: 3px 12px; font-size: 13px; }
  .sohan-discount { padding: 4px 4px; font-size: 10px; }
}
</style>

<script>
(function(){
  'use strict';
  function initGrid(wrapper){
    if(!wrapper || wrapper.__sg_init) return;
    wrapper.__sg_init=true;
    var grid = wrapper.querySelector('.sohan-grid');
    var prev = wrapper.querySelector('.sohan-prev');
    var next = wrapper.querySelector('.sohan-next');
    var items = grid.querySelectorAll('.sohan-item');
    var total = items.length;
    var index = 0;
    var itemWidth = 0;

    function calcWidth(){ itemWidth = items[0].getBoundingClientRect().width + parseFloat(getComputedStyle(items[0]).marginRight); }
    function perViewCount(){ if(window.innerWidth <= 767) return 2.5; else if(window.innerWidth <= 1024) return 3; else return 6; }
    function maxIndex(){ return Math.max(0, total - perViewCount()); }
    function goTo(i){ index=Math.max(0, Math.min(i,maxIndex())); grid.style.transform='translateX(' + (-itemWidth*index) + 'px)'; }

    if(next) next.addEventListener('click',()=>goTo(index+1));
    if(prev) prev.addEventListener('click',()=>goTo(index-1));

    // SWIPE
    var startX=0;
    grid.addEventListener('touchstart', e=>{ startX=e.touches[0].clientX; });
    grid.addEventListener('touchend', e=>{ 
      var dx=startX - e.changedTouches[0].clientX;
      if(dx>30) goTo(index+1); 
      if(dx<-30) goTo(index-1); 
    });

    calcWidth(); goTo(0);
    window.addEventListener('resize',()=>{ calcWidth(); goTo(index); });
  }

  document.addEventListener('DOMContentLoaded', function(){ document.querySelectorAll('.sohan-grid-wrapper').forEach(initGrid); });
})();
</script>/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-81749b3 */<style>
/* WRAPPER */
.sohan-grid-wrapper {
  position: relative;
  overflow: hidden;
  padding: 18px;
}
.sohan-grid-wrapper * {
    font-family: 'Hind Siliguri', sans-serif !important;
}

/* GRID */
.sohan-grid {
  display: flex;
  gap: 18px;
  transition: transform .45s cubic-bezier(.22,.9,.3,1);
}

/* CARD */
.sohan-item {
  flex: 0 0 auto;
  width: 180px;
  background: #fff;
  border-radius: 0px;
  border: 0px solid rgba(0,0,0,0.05);
  overflow: hidden;
  box-shadow: 0 0px 0px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  /* নিচের খালি জায়গা কমানোর জন্য */
  justify-content: flex-start;
  transition: transform .3s, box-shadow .3s;
}
.sohan-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* IMAGE */
.sohan-thumb {
  position: relative;
  width: 100%;
  padding-top: 132%;
  overflow: hidden;
  background: #f6f6f6;
}

.sohan-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.sohan-item:hover .sohan-thumb img {
  transform: scale(1.06);
}

/* DISCOUNT BADGE */
.sohan-discount {
  position: absolute;
  top: 3px;
  left: 5px;
  background: #F23534;
  color: #fff;
  padding: 5px 5px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  z-index: 10;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

/* CONTENT AREA */
.sohan-info {
  padding: 12px 8px 8px;
  text-align: left;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* TITLE & AUTHOR */
.sohan-title { font-size: 15px; margin: 0 0 4px 0; color: #111; line-height: 1.2; font-weight: 700; height: 36px; overflow: hidden; }
.sohan-author { font-size: 13px; color: #8a8a8a; margin-bottom: 6px; display: block; }

/* PRICE */
.sohan-price ins .woocommerce-Price-amount,
.sohan-price ins {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

.sohan-price del .woocommerce-Price-amount,
.sohan-price del {
    color: #999 !important;
    text-decoration: line-through !important;
    font-size: 12px !important;
}

.sohan-price > .woocommerce-Price-amount,
.sohan-price > span.amount {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

/* ADD TO CART */
.sohan-cart-btn {
  margin-top: auto;  /* সর্বদা নিচে */
  padding: 6px 12px;
  background: #045CB4;
  color: #fff;
  font-size: 14px;
  text-align: center;
  border-radius: 4px;
  display: inline-block;
  text-decoration: none;
}

.sohan-cart-btn:hover {
    background: #023f7c !important;
    color: #fff !important;
}

/* ARROWS */
.sohan-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px!;
  height: 40px!;
  background: #fff;
  border-radius: 0;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  cursor: pointer;
  display:flex; align-items:center; justify-content:center;
  font-size: 18px;
  z-index: 20;
}

.sohan-prev { left: 0px!important; }
.sohan-next { right: 00px!important; }

/* RESPONSIVE */
@media (max-width:1024px){
  .sohan-item { width: calc((100% - 2*18px)/3); }
}

@media (max-width:767px){
  .sohan-item { width: calc((100% - 8px)/2.6); margin-right: 3px; }
  .sohan-thumb { padding-top: 120%; }
  .sohan-arrow { display:none !important; }

  .sohan-title { font-size: 13px; height: auto; }
  .sohan-author { font-size: 11px; }
  .sohan-price ins { font-size: 14px; }
  .sohan-cart-btn { padding: 3px 12px; font-size: 13px; }
  .sohan-discount { padding: 4px 4px; font-size: 10px; }
}
</style>

<script>
(function(){
  'use strict';
  function initGrid(wrapper){
    if(!wrapper || wrapper.__sg_init) return;
    wrapper.__sg_init=true;
    var grid = wrapper.querySelector('.sohan-grid');
    var prev = wrapper.querySelector('.sohan-prev');
    var next = wrapper.querySelector('.sohan-next');
    var items = grid.querySelectorAll('.sohan-item');
    var total = items.length;
    var index = 0;
    var itemWidth = 0;

    function calcWidth(){ itemWidth = items[0].getBoundingClientRect().width + parseFloat(getComputedStyle(items[0]).marginRight); }
    function perViewCount(){ if(window.innerWidth <= 767) return 2.5; else if(window.innerWidth <= 1024) return 3; else return 6; }
    function maxIndex(){ return Math.max(0, total - perViewCount()); }
    function goTo(i){ index=Math.max(0, Math.min(i,maxIndex())); grid.style.transform='translateX(' + (-itemWidth*index) + 'px)'; }

    if(next) next.addEventListener('click',()=>goTo(index+1));
    if(prev) prev.addEventListener('click',()=>goTo(index-1));

    // SWIPE
    var startX=0;
    grid.addEventListener('touchstart', e=>{ startX=e.touches[0].clientX; });
    grid.addEventListener('touchend', e=>{ 
      var dx=startX - e.changedTouches[0].clientX;
      if(dx>30) goTo(index+1); 
      if(dx<-30) goTo(index-1); 
    });

    calcWidth(); goTo(0);
    window.addEventListener('resize',()=>{ calcWidth(); goTo(index); });
  }

  document.addEventListener('DOMContentLoaded', function(){ document.querySelectorAll('.sohan-grid-wrapper').forEach(initGrid); });
})();
</script>/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-f262a67 */<style>
/* WRAPPER */
.sohan-grid-wrapper {
  position: relative;
  overflow: hidden;
  padding: 18px;
}
.sohan-grid-wrapper * {
    font-family: 'Hind Siliguri', sans-serif !important;
}

/* GRID */
.sohan-grid {
  display: flex;
  gap: 18px;
  transition: transform .45s cubic-bezier(.22,.9,.3,1);
}

/* CARD */
.sohan-item {
  flex: 0 0 auto;
  width: 180px;
  background: #fff;
  border-radius: 0px;
  border: 0px solid rgba(0,0,0,0.05);
  overflow: hidden;
  box-shadow: 0 0px 0px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  /* নিচের খালি জায়গা কমানোর জন্য */
  justify-content: flex-start;
  transition: transform .3s, box-shadow .3s;
}
.sohan-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* IMAGE */
.sohan-thumb {
  position: relative;
  width: 100%;
  padding-top: 132%;
  overflow: hidden;
  background: #f6f6f6;
}

.sohan-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.sohan-item:hover .sohan-thumb img {
  transform: scale(1.06);
}

/* DISCOUNT BADGE */
.sohan-discount {
  position: absolute;
  top: 3px;
  left: 5px;
  background: #F23534;
  color: #fff;
  padding: 5px 5px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  z-index: 10;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

/* CONTENT AREA */
.sohan-info {
  padding: 12px 8px 8px;
  text-align: left;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* TITLE & AUTHOR */
.sohan-title { font-size: 15px; margin: 0 0 4px 0; color: #111; line-height: 1.2; font-weight: 700; height: 36px; overflow: hidden; }
.sohan-author { font-size: 13px; color: #8a8a8a; margin-bottom: 6px; display: block; }

/* PRICE */
.sohan-price ins .woocommerce-Price-amount,
.sohan-price ins {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

.sohan-price del .woocommerce-Price-amount,
.sohan-price del {
    color: #999 !important;
    text-decoration: line-through !important;
    font-size: 12px !important;
}

.sohan-price > .woocommerce-Price-amount,
.sohan-price > span.amount {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

/* ADD TO CART */
.sohan-cart-btn {
  margin-top: auto;  /* সর্বদা নিচে */
  padding: 6px 12px;
  background: #045CB4;
  color: #fff;
  font-size: 14px;
  text-align: center;
  border-radius: 4px;
  display: inline-block;
  text-decoration: none;
}

.sohan-cart-btn:hover {
    background: #023f7c !important;
    color: #fff !important;
}

/* ARROWS */
.sohan-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px!;
  height: 40px!;
  background: #fff;
  border-radius: 0;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  cursor: pointer;
  display:flex; align-items:center; justify-content:center;
  font-size: 18px;
  z-index: 20;
}

.sohan-prev { left: 0px!important; }
.sohan-next { right: 00px!important; }

/* RESPONSIVE */
@media (max-width:1024px){
  .sohan-item { width: calc((100% - 2*18px)/3); }
}

@media (max-width:767px){
  .sohan-item { width: calc((100% - 8px)/2.6); margin-right: 3px; }
  .sohan-thumb { padding-top: 120%; }
  .sohan-arrow { display:none !important; }

  .sohan-title { font-size: 13px; height: auto; }
  .sohan-author { font-size: 11px; }
  .sohan-price ins { font-size: 14px; }
  .sohan-cart-btn { padding: 3px 12px; font-size: 13px; }
  .sohan-discount { padding: 4px 4px; font-size: 10px; }
}
</style>

<script>
(function(){
  'use strict';
  function initGrid(wrapper){
    if(!wrapper || wrapper.__sg_init) return;
    wrapper.__sg_init=true;
    var grid = wrapper.querySelector('.sohan-grid');
    var prev = wrapper.querySelector('.sohan-prev');
    var next = wrapper.querySelector('.sohan-next');
    var items = grid.querySelectorAll('.sohan-item');
    var total = items.length;
    var index = 0;
    var itemWidth = 0;

    function calcWidth(){ itemWidth = items[0].getBoundingClientRect().width + parseFloat(getComputedStyle(items[0]).marginRight); }
    function perViewCount(){ if(window.innerWidth <= 767) return 2.5; else if(window.innerWidth <= 1024) return 3; else return 6; }
    function maxIndex(){ return Math.max(0, total - perViewCount()); }
    function goTo(i){ index=Math.max(0, Math.min(i,maxIndex())); grid.style.transform='translateX(' + (-itemWidth*index) + 'px)'; }

    if(next) next.addEventListener('click',()=>goTo(index+1));
    if(prev) prev.addEventListener('click',()=>goTo(index-1));

    // SWIPE
    var startX=0;
    grid.addEventListener('touchstart', e=>{ startX=e.touches[0].clientX; });
    grid.addEventListener('touchend', e=>{ 
      var dx=startX - e.changedTouches[0].clientX;
      if(dx>30) goTo(index+1); 
      if(dx<-30) goTo(index-1); 
    });

    calcWidth(); goTo(0);
    window.addEventListener('resize',()=>{ calcWidth(); goTo(index); });
  }

  document.addEventListener('DOMContentLoaded', function(){ document.querySelectorAll('.sohan-grid-wrapper').forEach(initGrid); });
})();
</script>/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-9231e26 */<style>
/* WRAPPER */
.sohan-grid-wrapper {
  position: relative;
  overflow: hidden;
  padding: 18px;
}
.sohan-grid-wrapper * {
    font-family: 'Hind Siliguri', sans-serif !important;
}

/* GRID */
.sohan-grid {
  display: flex;
  gap: 18px;
  transition: transform .45s cubic-bezier(.22,.9,.3,1);
}

/* CARD */
.sohan-item {
  flex: 0 0 auto;
  width: 180px;
  background: #fff;
  border-radius: 0px;
  border: 0px solid rgba(0,0,0,0.05);
  overflow: hidden;
  box-shadow: 0 0px 0px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  /* নিচের খালি জায়গা কমানোর জন্য */
  justify-content: flex-start;
  transition: transform .3s, box-shadow .3s;
}
.sohan-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* IMAGE */
.sohan-thumb {
  position: relative;
  width: 100%;
  padding-top: 132%;
  overflow: hidden;
  background: #f6f6f6;
}

.sohan-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.sohan-item:hover .sohan-thumb img {
  transform: scale(1.06);
}

/* DISCOUNT BADGE */
.sohan-discount {
  position: absolute;
  top: 3px;
  left: 5px;
  background: #F23534;
  color: #fff;
  padding: 5px 5px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  z-index: 10;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

/* CONTENT AREA */
.sohan-info {
  padding: 12px 8px 8px;
  text-align: left;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* TITLE & AUTHOR */
.sohan-title { font-size: 15px; margin: 0 0 4px 0; color: #111; line-height: 1.2; font-weight: 700; height: 36px; overflow: hidden; }
.sohan-author { font-size: 13px; color: #8a8a8a; margin-bottom: 6px; display: block; }

/* PRICE */
.sohan-price ins .woocommerce-Price-amount,
.sohan-price ins {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

.sohan-price del .woocommerce-Price-amount,
.sohan-price del {
    color: #999 !important;
    text-decoration: line-through !important;
    font-size: 12px !important;
}

.sohan-price > .woocommerce-Price-amount,
.sohan-price > span.amount {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

/* ADD TO CART */
.sohan-cart-btn {
  margin-top: auto;  /* সর্বদা নিচে */
  padding: 6px 12px;
  background: #045CB4;
  color: #fff;
  font-size: 14px;
  text-align: center;
  border-radius: 4px;
  display: inline-block;
  text-decoration: none;
}

.sohan-cart-btn:hover {
    background: #023f7c !important;
    color: #fff !important;
}

/* ARROWS */
.sohan-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px!;
  height: 40px!;
  background: #fff;
  border-radius: 0;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  cursor: pointer;
  display:flex; align-items:center; justify-content:center;
  font-size: 18px;
  z-index: 20;
}

.sohan-prev { left: 0px!important; }
.sohan-next { right: 00px!important; }

/* RESPONSIVE */
@media (max-width:1024px){
  .sohan-item { width: calc((100% - 2*18px)/3); }
}

@media (max-width:767px){
  .sohan-item { width: calc((100% - 8px)/2.6); margin-right: 3px; }
  .sohan-thumb { padding-top: 120%; }
  .sohan-arrow { display:none !important; }

  .sohan-title { font-size: 13px; height: auto; }
  .sohan-author { font-size: 11px; }
  .sohan-price ins { font-size: 14px; }
  .sohan-cart-btn { padding: 3px 12px; font-size: 13px; }
  .sohan-discount { padding: 4px 4px; font-size: 10px; }
}
</style>

<script>
(function(){
  'use strict';
  function initGrid(wrapper){
    if(!wrapper || wrapper.__sg_init) return;
    wrapper.__sg_init=true;
    var grid = wrapper.querySelector('.sohan-grid');
    var prev = wrapper.querySelector('.sohan-prev');
    var next = wrapper.querySelector('.sohan-next');
    var items = grid.querySelectorAll('.sohan-item');
    var total = items.length;
    var index = 0;
    var itemWidth = 0;

    function calcWidth(){ itemWidth = items[0].getBoundingClientRect().width + parseFloat(getComputedStyle(items[0]).marginRight); }
    function perViewCount(){ if(window.innerWidth <= 767) return 2.5; else if(window.innerWidth <= 1024) return 3; else return 6; }
    function maxIndex(){ return Math.max(0, total - perViewCount()); }
    function goTo(i){ index=Math.max(0, Math.min(i,maxIndex())); grid.style.transform='translateX(' + (-itemWidth*index) + 'px)'; }

    if(next) next.addEventListener('click',()=>goTo(index+1));
    if(prev) prev.addEventListener('click',()=>goTo(index-1));

    // SWIPE
    var startX=0;
    grid.addEventListener('touchstart', e=>{ startX=e.touches[0].clientX; });
    grid.addEventListener('touchend', e=>{ 
      var dx=startX - e.changedTouches[0].clientX;
      if(dx>30) goTo(index+1); 
      if(dx<-30) goTo(index-1); 
    });

    calcWidth(); goTo(0);
    window.addEventListener('resize',()=>{ calcWidth(); goTo(index); });
  }

  document.addEventListener('DOMContentLoaded', function(){ document.querySelectorAll('.sohan-grid-wrapper').forEach(initGrid); });
})();
</script>/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3907d6a */<style>
/* WRAPPER */
.sohan-grid-wrapper {
  position: relative;
  overflow: hidden;
  padding: 18px;
}
.sohan-grid-wrapper * {
    font-family: 'Hind Siliguri', sans-serif !important;
}

/* GRID */
.sohan-grid {
  display: flex;
  gap: 18px;
  transition: transform .45s cubic-bezier(.22,.9,.3,1);
}

/* CARD */
.sohan-item {
  flex: 0 0 auto;
  width: 180px;
  background: #fff;
  border-radius: 0px;
  border: 0px solid rgba(0,0,0,0.05);
  overflow: hidden;
  box-shadow: 0 0px 0px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  /* নিচের খালি জায়গা কমানোর জন্য */
  justify-content: flex-start;
  transition: transform .3s, box-shadow .3s;
}
.sohan-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* IMAGE */
.sohan-thumb {
  position: relative;
  width: 100%;
  padding-top: 132%;
  overflow: hidden;
  background: #f6f6f6;
}

.sohan-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.sohan-item:hover .sohan-thumb img {
  transform: scale(1.06);
}

/* DISCOUNT BADGE */
.sohan-discount {
  position: absolute;
  top: 3px;
  left: 5px;
  background: #F23534;
  color: #fff;
  padding: 5px 5px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  z-index: 10;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

/* CONTENT AREA */
.sohan-info {
  padding: 12px 8px 8px;
  text-align: left;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* TITLE & AUTHOR */
.sohan-title { font-size: 15px; margin: 0 0 4px 0; color: #111; line-height: 1.2; font-weight: 700; height: 36px; overflow: hidden; }
.sohan-author { font-size: 13px; color: #8a8a8a; margin-bottom: 6px; display: block; }

/* PRICE */
.sohan-price ins .woocommerce-Price-amount,
.sohan-price ins {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

.sohan-price del .woocommerce-Price-amount,
.sohan-price del {
    color: #999 !important;
    text-decoration: line-through !important;
    font-size: 12px !important;
}

.sohan-price > .woocommerce-Price-amount,
.sohan-price > span.amount {
    color: #e53935 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

/* ADD TO CART */
.sohan-cart-btn {
  margin-top: auto;  /* সর্বদা নিচে */
  padding: 6px 12px;
  background: #045CB4;
  color: #fff;
  font-size: 14px;
  text-align: center;
  border-radius: 4px;
  display: inline-block;
  text-decoration: none;
}

.sohan-cart-btn:hover {
    background: #023f7c !important;
    color: #fff !important;
}

/* ARROWS */
.sohan-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px!;
  height: 40px!;
  background: #fff;
  border-radius: 0;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  cursor: pointer;
  display:flex; align-items:center; justify-content:center;
  font-size: 18px;
  z-index: 20;
}

.sohan-prev { left: 0px!important; }
.sohan-next { right: 00px!important; }

/* RESPONSIVE */
@media (max-width:1024px){
  .sohan-item { width: calc((100% - 2*18px)/3); }
}

@media (max-width:767px){
  .sohan-item { width: calc((100% - 8px)/2.6); margin-right: 3px; }
  .sohan-thumb { padding-top: 120%; }
  .sohan-arrow { display:none !important; }

  .sohan-title { font-size: 13px; height: auto; }
  .sohan-author { font-size: 11px; }
  .sohan-price ins { font-size: 14px; }
  .sohan-cart-btn { padding: 3px 12px; font-size: 13px; }
  .sohan-discount { padding: 4px 4px; font-size: 10px; }
}
</style>

<script>
(function(){
  'use strict';
  function initGrid(wrapper){
    if(!wrapper || wrapper.__sg_init) return;
    wrapper.__sg_init=true;
    var grid = wrapper.querySelector('.sohan-grid');
    var prev = wrapper.querySelector('.sohan-prev');
    var next = wrapper.querySelector('.sohan-next');
    var items = grid.querySelectorAll('.sohan-item');
    var total = items.length;
    var index = 0;
    var itemWidth = 0;

    function calcWidth(){ itemWidth = items[0].getBoundingClientRect().width + parseFloat(getComputedStyle(items[0]).marginRight); }
    function perViewCount(){ if(window.innerWidth <= 767) return 2.5; else if(window.innerWidth <= 1024) return 3; else return 6; }
    function maxIndex(){ return Math.max(0, total - perViewCount()); }
    function goTo(i){ index=Math.max(0, Math.min(i,maxIndex())); grid.style.transform='translateX(' + (-itemWidth*index) + 'px)'; }

    if(next) next.addEventListener('click',()=>goTo(index+1));
    if(prev) prev.addEventListener('click',()=>goTo(index-1));

    // SWIPE
    var startX=0;
    grid.addEventListener('touchstart', e=>{ startX=e.touches[0].clientX; });
    grid.addEventListener('touchend', e=>{ 
      var dx=startX - e.changedTouches[0].clientX;
      if(dx>30) goTo(index+1); 
      if(dx<-30) goTo(index-1); 
    });

    calcWidth(); goTo(0);
    window.addEventListener('resize',()=>{ calcWidth(); goTo(index); });
  }

  document.addEventListener('DOMContentLoaded', function(){ document.querySelectorAll('.sohan-grid-wrapper').forEach(initGrid); });
})();
</script>/* End custom CSS */