@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;900&family=Lalezar&display=swap');

:root{
  --ink:#1b1b17;--paper:#f6f5f1;--snow:#fdfdfb;--line:#e2e1da;--mist:#edece6;
  --smoke:#4c4c45;--steel:#8b8b82;--signal:#ff4b1f;--signal-deep:#d63a12;
  --moss:#2e7d5b;--cobalt:#2b49d8;--butter:#ffc531;
}
*{box-sizing:border-box}
body{margin:0;font-family:Vazirmatn,Tahoma,sans-serif;background:var(--paper);color:var(--ink)}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:Lalezar,Vazirmatn,serif;font-weight:400}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}

/* Accessibility / common */
:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* WooCommerce base */
.woocommerce ul.products,.woocommerce-page ul.products{
  list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px
}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  margin:0!important;padding:0!important;width:100%!important;float:none!important
}
.woocommerce div.product div.images,.woocommerce-page div.product div.images{margin:0;padding:0}
.woocommerce div.product div.summary,.woocommerce-page div.product div.summary{margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs,.woocommerce-page div.product .woocommerce-tabs{margin:60px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs,.woocommerce-page div.product .woocommerce-tabs ul.tabs{
  list-style:none;margin:0 0 30px;padding:0;display:flex;gap:0;border-bottom:2px solid var(--ink)
}
.woocommerce div.product .woocommerce-tabs ul.tabs li,.woocommerce-page div.product .woocommerce-tabs ul.tabs li{
  margin:0;padding:0;border:0;background:none
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a,.woocommerce-page div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:14px 24px;font-weight:700;color:var(--smoke);
  border-bottom:3px solid transparent;margin-bottom:-2px
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--signal);border-bottom-color:var(--signal)
}
.woocommerce .woocommerce-error,.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{
  border-top-color:var(--signal);background:var(--snow);color:var(--ink)
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--signal)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  border-radius:6px;font-weight:800
}

/* Header */
.ab-ticker{background:var(--ink);color:#f6f5f1;overflow:hidden;font-size:12px;padding:8px 0}
.ab-ticker__in{display:flex;gap:48px;width:max-content;animation:abtick 26s linear infinite;white-space:nowrap}
@keyframes abtick{to{transform:translateX(50%)}}
.ab-header{background:rgba(253,253,251,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.ab-header__in{display:flex;align-items:center;gap:24px;min-height:72px}
.ab-logo{display:flex;flex-direction:column;flex:0 0 auto}
.ab-logo .custom-logo-link{display:block}
.ab-logo .custom-logo{max-width:150px;max-height:48px;width:auto}
.ab-logo__fa{font-family:Lalezar;font-size:26px}
.ab-logo__en{display:block;font-size:10px;letter-spacing:.4em;color:var(--steel)}
.ab-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-weight:700;font-size:14px}
.ab-nav li{position:relative}
.ab-nav a{display:block;padding:10px 0}
.ab-nav a:hover{color:var(--signal)}
.ab-header__actions{margin-inline-start:auto;display:flex;align-items:center;gap:10px}
.ab-search{position:relative;display:flex;border:1px solid var(--line);background:var(--paper)}
.ab-search input{border:0;background:none;padding:10px 14px;outline:none;width:190px;font-family:inherit}
.ab-search button{border:0;background:none;padding:0 10px;cursor:pointer}
.ab-search svg{width:18px;height:18px}
.ab-search__results{
  position:absolute;top:calc(100% + 8px);inset-inline:0;background:var(--snow);
  border:1px solid var(--line);display:none;box-shadow:0 20px 40px -20px rgba(0,0,0,.3);z-index:100;
  max-height:420px;overflow:auto
}
.ab-search__results.open{display:block}
.ab-search__result{
  display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)
}
.ab-search__result:last-child{border-bottom:0}
.ab-search__result:hover{background:var(--mist)}
.ab-search__result img{width:48px;height:48px;object-fit:cover;background:var(--mist);border-radius:4px;flex:0 0 48px}
.ab-search__result span{font-size:13px;font-weight:700;line-height:1.7}
.ab-search__empty,.ab-search__loading,.ab-search__error{padding:16px;color:var(--steel);font-size:13px;text-align:center}
.ab-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line)}
.ab-icon svg{width:20px;height:20px}
.ab-icon--cart{background:var(--ink);color:#fff;border:0}
.allbina-cart-count{
  position:absolute;top:-7px;inset-inline-start:-7px;background:var(--signal);color:#fff;
  font-size:10px;font-weight:900;width:19px;height:19px;display:grid;place-items:center;border-radius:50%
}
.ab-burger{
  display:none;background:none;border:1px solid var(--line);width:40px;height:40px;
  cursor:pointer;padding:0;border-radius:4px
}
.ab-burger i{display:block;width:18px;height:2px;background:var(--ink);margin:3px auto;transition:transform .2s,opacity .2s}
.ab-burger[aria-expanded="true"] i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.ab-burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.ab-burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.ab-mobile{
  display:none;background:var(--snow);border-bottom:1px solid var(--line);
  box-shadow:0 15px 30px -25px rgba(0,0,0,.35)
}
.ab-mobile.open{display:block}
.ab-mobile__inner{padding:16px 20px 24px}
.ab-mobile__nav ul{list-style:none;margin:0;padding:0}
.ab-mobile__nav li{border-bottom:1px solid var(--line)}
.ab-mobile__nav a{display:block;padding:13px 4px;font-weight:700}
.ab-mobile__search{margin-top:16px}
.ab-mobile__search .ab-search{display:flex;width:100%}
.ab-mobile__search .ab-search input{width:100%}

/* Hero */
.ab-hero{padding:100px 0 80px;background-image:radial-gradient(#dcdcd3 1.1px,transparent 1.1px);background-size:22px 22px}
.ab-hero h1{font-size:clamp(48px,8vw,96px);line-height:1.05;margin:20px 0}
.ab-kicker{display:inline-block;border:1px solid var(--line);background:var(--snow);padding:10px 18px;font-size:13px;font-weight:700;border-radius:4px}
.ab-hero__sub{color:var(--smoke);max-width:600px;line-height:2;font-size:17px;margin:20px 0 30px}
.ab-hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.ab-btn{display:inline-block;padding:16px 32px;font-weight:800;font-size:15px;cursor:pointer;border:2px solid transparent;border-radius:4px;transition:all .3s}
.ab-btn--ink{background:var(--ink);color:#fff}
.ab-btn--ink:hover{background:var(--signal)}
.ab-btn--signal{background:var(--signal);color:#fff}
.ab-btn--signal:hover{background:var(--signal-deep)}
.ab-btn--ghost{border-color:var(--ink);color:var(--ink)}
.ab-btn--ghost:hover{background:var(--ink);color:#fff}

/* Sections */
.ab-section{padding:80px 0}
.ab-section--ink{background:var(--ink);color:#fff}
.ab-section--mist{background:var(--mist)}
.ab-h2{font-size:42px;margin:0 0 40px}
.ab-h2--light{color:#fff}
.ab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ab-grid--posts{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Product Card */
.ab-card{
  background:var(--snow);border:1px solid var(--line);transition:all .3s;border-radius:6px;
  overflow:hidden;display:block;height:100%
}
.ab-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px -20px rgba(27,27,23,.3)}
.ab-card__img{position:relative;display:block;aspect-ratio:1;background:var(--mist);overflow:hidden}
.ab-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ab-card:hover .ab-card__img img{transform:scale(1.08)}
.ab-badge--sale{
  position:absolute;top:12px;inset-inline-start:12px;background:var(--signal);color:#fff;
  font-size:12px;padding:6px 10px;border-radius:4px;font-weight:700
}
.ab-card__body{display:block;padding:20px}
.ab-card__title{font-family:Vazirmatn;font-size:16px;font-weight:700;margin:0 0 10px;color:var(--ink)}
.ab-card__price{font-weight:900;color:var(--signal);font-size:18px}
.ab-card__price del{color:var(--steel);font-size:13px;margin-inline-end:7px}
.ab-card__price ins{text-decoration:none}

/* Categories */
.ab-cats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:40px}
.ab-cat{background:var(--snow);border:1px solid var(--line);padding:20px;text-align:center;border-radius:6px;transition:all .3s}
.ab-cat img{aspect-ratio:1;object-fit:cover;margin-bottom:12px;border-radius:4px;width:100%}
.ab-cat b{display:block;font-size:15px;margin-bottom:4px}
.ab-cat span{font-size:12px;color:var(--steel)}
.ab-cat:hover{border-color:var(--signal);transform:translateY(-4px)}

/* Features */
.ab-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:40px}
.ab-feature{background:var(--snow);border:1px solid var(--line);padding:28px;border-radius:6px;transition:all .3s}
.ab-feature:hover{border-color:var(--signal);transform:translateY(-4px)}
.ab-feature__num{font-family:Lalezar;font-size:56px;color:var(--signal);display:block;margin-bottom:16px;line-height:1}
.ab-feature h3{font-size:20px;margin:0 0 10px;font-family:Vazirmatn;font-weight:700}
.ab-feature p{font-size:14px;color:var(--smoke);line-height:1.8;margin:0}

/* =========================================================
   BLOG / POSTS
   ========================================================= */

.ab-blog{
  padding:80px 0 100px;
}

/* -------------------------
   Header
   ------------------------- */

.ab-blog__header{
  max-width:850px;
  margin:0 auto 42px;
  text-align:center;
}

.ab-blog__header .ab-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 18px;
  padding:9px 15px;
  border:1px solid var(--line);
  border-radius:0;
  background:var(--snow);
  color:var(--ink);
  font-size:12px;
  font-weight:800;
}

.ab-blog__header .ab-kicker::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--signal);
}

.ab-blog__header h1{
  margin:0 0 18px;
  font-family:var(--font-display);
  font-size:clamp(52px,7vw,82px);
  line-height:1;
  font-weight:400;
  color:var(--ink);
}

.ab-blog__intro{
  max-width:680px;
  margin:0 auto;
  color:var(--smoke);
  font-size:15px;
  line-height:2.1;
}

/* -------------------------
   Category Filters
   ------------------------- */

.ab-blog__filters{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 auto 42px;
}

.ab-blog__filter-btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:42px;
  padding:8px 18px;

  border:1px solid var(--line);
  border-radius:0;

  background:var(--snow);
  color:var(--ink);

  font-family:var(--font-body);
  font-size:12px;
  font-weight:800;

  cursor:pointer;

  transition:
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .2s ease;
}

.ab-blog__filter-btn:hover{
  border-color:var(--signal);
  color:var(--signal);
  transform:translateY(-2px);
}

.ab-blog__filter-btn.active{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

/* -------------------------
   Posts Grid
   ------------------------- */

.ab-grid--posts{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

/* -------------------------
   Post Card
   ------------------------- */

.ab-post{
  position:relative;

  display:flex;
  flex-direction:column;

  min-width:0;
  height:100%;

  overflow:hidden;

  padding:0;

  background:var(--snow);
  border:1px solid var(--line);
  border-radius:6px;

  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.ab-post:hover{
  transform:translateY(-6px);
  border-color:var(--signal);
  box-shadow:0 20px 50px -25px rgba(27,27,23,.35);
}

/* -------------------------
   Post Image
   ------------------------- */

.ab-post__image{
  position:relative;

  display:block;

  width:100%;

  aspect-ratio:16 / 10;

  overflow:hidden;

  background:var(--mist);

  border-bottom:1px solid var(--line);
}

.ab-post__image img{
  display:block;

  width:100%;
  height:100%;

  max-width:none;

  object-fit:cover;

  transition:
    transform .6s cubic-bezier(.2,.7,.2,1);
}

.ab-post:hover .ab-post__image img{
  transform:scale(1.06);
}

.ab-post__image--empty{
  display:flex;
  align-items:center;
  justify-content:center;

  background:
    radial-gradient(
      #dcdcd3 1px,
      transparent 1px
    );

  background-size:18px 18px;

  color:var(--steel);

  font-family:var(--font-latin);
  font-size:26px;
  font-weight:800;
  letter-spacing:.08em;
}

/* -------------------------
   Post Content
   ------------------------- */

.ab-post__meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;

  padding:20px 22px 0;

  color:var(--steel);

  font-size:11px;
  line-height:1.7;
  font-weight:700;
}

.ab-post__title{
  margin:8px 22px 10px;

  font-family:var(--font-body);
  font-size:19px;
  line-height:1.75;
  font-weight:900;

  color:var(--ink);
}

.ab-post__title a{
  color:inherit;
  transition:color .2s ease;
}

.ab-post__title a:hover{
  color:var(--signal);
}

.ab-post__excerpt{
  margin:0 22px 18px;

  color:var(--smoke);

  font-size:13px;
  line-height:2;

  flex:1;
}

/* -------------------------
   Read More
   ------------------------- */

.ab-post__read{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;

  gap:7px;

  margin:0 22px 22px;

  color:var(--signal);

  font-size:12px;
  font-weight:900;

  transition:
    color .2s ease,
    gap .2s ease;
}

.ab-post__read span{
  display:inline-block;

  transition:transform .2s ease;
}

.ab-post__read:hover{
  color:var(--signal-deep);
  gap:10px;
}

.ab-post__read:hover span{
  transform:translateX(-3px);
}

/* -------------------------
   Empty State
   ------------------------- */

.ab-blog__empty{
  max-width:620px;

  margin:40px auto 0;

  padding:70px 30px;

  text-align:center;

  background:var(--snow);

  border:1px solid var(--line);
}

.ab-blog__empty-icon{
  width:70px;
  height:70px;

  display:grid;
  place-items:center;

  margin:0 auto 20px;

  background:var(--mist);

  color:var(--signal);

  font-family:var(--font-latin);
  font-size:28px;
  font-weight:900;
}

.ab-blog__empty h2{
  margin:0 0 10px;

  font-family:var(--font-body);
  font-size:22px;
  line-height:1.7;
  font-weight:900;
}

.ab-blog__empty p{
  margin:0 0 25px;

  color:var(--smoke);

  font-size:14px;
  line-height:2;
}

/* -------------------------
   Pagination
   ------------------------- */

.ab-blog__pagination{
  margin-top:50px;
}

.ab-blog__pagination ul{
  list-style:none;
  margin:0;
  padding:0;
}

.ab-blog__pagination .nav-links{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.ab-blog__pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width:42px;
  min-height:42px;

  padding:0 12px;

  border:1px solid var(--line);
  border-radius:4px;

  background:var(--snow);
  color:var(--ink);

  font-size:12px;
  font-weight:800;

  transition:
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .2s ease;
}

.ab-blog__pagination .page-numbers:hover{
  background:var(--signal);
  border-color:var(--signal);
  color:#fff;

  transform:translateY(-2px);
}

.ab-blog__pagination .page-numbers.current{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

/* =========================================================
   BLOG RESPONSIVE
   ========================================================= */

@media(max-width:1000px){

  .ab-grid--posts{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ab-blog{
    padding:70px 0 85px;
  }

}

@media(max-width:700px){

  .ab-blog{
    padding:55px 0 70px;
  }

  .ab-blog__header{
    margin-bottom:32px;
  }

  .ab-blog__header h1{
    font-size:46px;
  }

  .ab-blog__intro{
    font-size:14px;
  }

  .ab-blog__filters{
    justify-content:flex-start;
    margin-bottom:30px;
  }

  .ab-blog__filter-btn{
    min-height:38px;
    padding:7px 13px;
    font-size:11px;
  }

  .ab-grid--posts{
    grid-template-columns:1fr;
    gap:18px;
  }

  .ab-post__title{
    font-size:18px;
  }

}

@media(max-width:480px){

  .ab-blog{
    padding:45px 0 60px;
  }

  .ab-blog__header h1{
    font-size:42px;
  }

  .ab-blog__intro{
    font-size:13px;
  }

  .ab-blog__filters{
    gap:6px;
  }

  .ab-blog__filter-btn{
    padding:7px 11px;
  }

  .ab-post__meta{
    padding:17px 17px 0;
  }

  .ab-post__title{
    margin-left:17px;
    margin-right:17px;
    font-size:17px;
  }

  .ab-post__excerpt{
    margin-left:17px;
    margin-right:17px;
  }

  .ab-post__read{
    margin-left:17px;
    margin-right:17px;
    margin-bottom:18px;
  }

  .ab-blog__empty{
    padding:50px 20px;
  }

}
/* =========================================================
   BLOG FILTER
   ========================================================= */

.ab-blog__filters{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;

  margin:0 auto 42px;
  padding:18px;

  background:var(--snow);
  border:1px solid var(--line);
}

.ab-blog__filter-btn{
  appearance:none;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  min-height:42px;
  padding:8px 16px;

  border:1px solid var(--line);
  border-radius:4px;

  background:var(--paper);
  color:var(--ink);

  font-family:var(--font-body);
  font-size:12px;
  font-weight:800;

  cursor:pointer;

  transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

.ab-blog__filter-btn:hover{
  border-color:var(--signal);
  color:var(--signal);
  transform:translateY(-2px);
}

.ab-blog__filter-btn.active{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

.ab-blog__filter-count{
  min-width:20px;
  height:20px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:0 5px;

  background:var(--mist);
  color:var(--smoke);

  border-radius:50%;

  font-family:var(--font-latin);
  font-size:10px;
  font-weight:900;
}

.ab-blog__filter-btn.active .ab-blog__filter-count{
  background:var(--signal);
  color:#fff;
}
@media(max-width:700px){

  .ab-blog__filters{
    justify-content:flex-start;
    gap:7px;
    padding:12px;
    margin-bottom:30px;
  }

  .ab-blog__filter-btn{
    min-height:38px;
    padding:7px 12px;
    font-size:11px;
  }

}


/* Footer */
.ab-footer{margin-top:100px;background:var(--ink);color:#f6f5f1;padding-top:60px}
.ab-footer__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-bottom:40px}
.ab-widget-title{font-size:22px;color:#fff;margin:0 0 20px}
.ab-widget{font-size:14px;color:#c9c8c0;line-height:2}
.ab-widget a{color:#c9c8c0;transition:color .3s}
.ab-widget a:hover{color:var(--signal)}
.ab-trust{display:flex;justify-content:space-between;gap:20px;border:2px solid var(--ink);background:var(--snow);padding:20px 24px;font-weight:800;font-size:14px;margin-top:40px;flex-wrap:wrap;border-radius:4px;color:var(--ink)}
.ab-copy{display:flex;justify-content:space-between;border-top:1px solid #3a3a34;padding:20px 0;font-size:13px;color:#8b8b82;flex-wrap:wrap;gap:12px}

/* Shop */
.ab-shop{padding:60px 0}
.ab-shop__header{margin-bottom:50px;text-align:center}
.ab-shop__header h1{font-size:56px;margin:0 0 16px}
.ab-shop__layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:50px}
.ab-shop__sidebar{position:sticky;top:90px;align-self:start}
.ab-filter{background:var(--snow);border:2px solid var(--line);padding:28px;margin-bottom:24px;border-radius:8px;box-shadow:0 4px 20px -10px rgba(0,0,0,.1)}
.ab-filter-title{font-size:22px;margin:0 0 24px;font-family:Lalezar;font-weight:400;color:var(--ink);padding-bottom:16px;border-bottom:2px solid var(--line)}
.ab-filter ul{list-style:none;margin:0;padding:0}
.ab-filter ul li{margin:0 0 14px}
.ab-filter ul li a{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:6px;transition:all .3s;font-size:14px;font-weight:600;color:var(--smoke)}
.ab-filter ul li a:hover{background:var(--signal);color:#fff}
.ab-filter .count{background:var(--mist);padding:2px 10px;border-radius:12px;font-size:12px;font-weight:700}
.ab-filter ul li a:hover .count{background:rgba(255,255,255,.2);color:#fff}
.ab-shop__content{min-width:0}
.ab-shop__toolbar{
  display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;
  padding:20px 24px;background:var(--snow);border:2px solid var(--line);border-radius:8px
}
.ab-shop__toolbar .woocommerce-result-count{margin:0;color:var(--smoke);font-size:14px}
.ab-shop__toolbar .woocommerce-ordering{margin:0;float:none}
.ab-shop__toolbar select{
  padding:12px 20px;border:2px solid var(--line);border-radius:6px;font-family:inherit;
  font-weight:700;cursor:pointer;background:var(--snow);font-size:14px
}
.ab-shop__toolbar select:focus{border-color:var(--signal);outline:none}
.woocommerce nav.woocommerce-pagination{margin-top:40px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  min-width:40px;height:40px;display:grid;place-items:center;padding:0 10px;
  border:1px solid var(--line);background:var(--snow);color:var(--ink);border-radius:4px
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--signal);border-color:var(--signal);color:#fff}

/* Single Product */
.ab-single{padding:60px 0}
.ab-single__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;margin-bottom:80px}
.ab-single__gallery{position:sticky;top:90px;align-self:start}
.ab-single__gallery img{width:100%;border-radius:12px;border:2px solid var(--line);box-shadow:0 20px 60px -20px rgba(0,0,0,.15)}
.ab-single__summary h1{font-size:48px;margin:0 0 24px;line-height:1.2}
.ab-single__summary .price{font-size:36px;font-weight:900;color:var(--signal);margin:24px 0;padding:20px 0;border-top:2px solid var(--line);border-bottom:2px solid var(--line)}
.ab-single__summary .price del{font-size:18px;color:var(--steel);margin-inline-end:8px}
.ab-single__summary .price ins{text-decoration:none}
.ab-single__summary .description{font-size:17px;line-height:2;color:var(--smoke);margin:30px 0}
.ab-single__summary .quantity{display:flex;align-items:center;gap:16px;margin:30px 0}
.ab-single__summary .quantity label{font-weight:700;font-size:15px}
.ab-single__summary .quantity input{width:80px;padding:12px;border:2px solid var(--line);border-radius:6px;text-align:center;font-size:16px;font-weight:700}
.ab-single__summary .single_add_to_cart_button,
.ab-single__summary .add_to_cart_button{
  display:inline-block;padding:20px 50px;background:var(--signal);color:#fff;border:0;border-radius:8px;
  font-weight:800;font-size:17px;cursor:pointer;transition:all .3s;width:100%;text-align:center
}
.ab-single__summary .single_add_to_cart_button:hover,
.ab-single__summary .add_to_cart_button:hover{
  background:var(--signal-deep);transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(255,75,31,.5)
}
.ab-single__summary form.cart{margin:0}
.ab-single__summary .variations{width:100%;margin-bottom:20px}
.ab-single__summary .variations td{padding:8px 0}
.ab-single__summary .reset_variations{font-size:12px;color:var(--steel)}
.ab-single__summary .stock{font-weight:700;margin:20px 0}
.ab-single__summary .out-of-stock{color:#b42318}

/* About */
.ab-about{padding:80px 0}
.ab-about__hero{background:linear-gradient(135deg,var(--ink) 0%,#24241f 100%);color:#fff;padding:100px 0;text-align:center;margin-bottom:60px}
.ab-about__hero h1{font-size:64px;margin:0 0 20px}
.ab-about__hero p{font-size:20px;max-width:700px;margin:0 auto;line-height:2}
.ab-about__content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;margin-bottom:80px}
.ab-about__text h2{font-size:42px;margin:0 0 24px}
.ab-about__text p{font-size:16px;line-height:2;color:var(--smoke);margin:0 0 20px}
.ab-about__img img{border-radius:12px;box-shadow:0 30px 80px -30px rgba(0,0,0,.3)}

/* Mobile menu/search */
@media(max-width:760px){
  .ab-nav{display:none}
  .ab-header__in{gap:10px;min-height:64px}
  .ab-header__actions{gap:7px}
  .ab-search{display:none}
  .ab-burger{display:block;order:-1}
  .ab-mobile{display:none}
  .ab-mobile.open{display:block}
  .ab-grid,.ab-grid--posts{grid-template-columns:1fr}
  .ab-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-features{grid-template-columns:1fr}
  .ab-hero{padding:70px 0 60px}
  .ab-hero h1{font-size:48px}
  .ab-h2{font-size:34px}
  .ab-section{padding:60px 0}
  .ab-shop{padding:40px 0}
  .ab-shop__header h1,.ab-blog__header h1{font-size:44px}
  .ab-shop__toolbar{align-items:stretch;flex-direction:column;padding:16px}
  .ab-shop__toolbar .woocommerce-ordering,
  .ab-shop__toolbar select{width:100%}
  .ab-single{padding:40px 0}
  .ab-single__grid{gap:40px;margin-bottom:50px}
  .ab-single__summary h1{font-size:38px}
  .ab-single__summary .price{font-size:30px}
  .ab-footer{margin-top:60px;padding-top:45px}
  .ab-footer__cols{grid-template-columns:1fr;gap:24px}
  .ab-trust{flex-direction:column;gap:10px;margin-top:25px}
  .ab-copy{flex-direction:column}
  .ab-about{padding:50px 0}
  .ab-about__hero{padding:70px 20px}
  .ab-about__hero h1{font-size:48px}
  .ab-about__content{gap:35px}
}
@media(max-width:480px){
  .container{padding:0 16px}
  .ab-logo__fa{font-size:23px}
  .ab-logo__en{font-size:8px}
  .ab-header__actions .ab-icon{width:36px;height:36px}
  .ab-cats{grid-template-columns:1fr 1fr;gap:10px}
  .ab-cat{padding:12px}
  .ab-card__body{padding:16px}
  .ab-post{padding:16px}
  .ab-single__summary .quantity{align-items:flex-start;flex-direction:column}
  .ab-single__summary .quantity input{width:100%}
  .ab-single__summary .single_add_to_cart_button,
  .ab-single__summary .add_to_cart_button{padding:17px 20px}
}

/* =========================================================
   ALL BINA - NEW HERO
   ========================================================= */

:root{
  --font-display:'Lalezar','Vazirmatn',serif;
  --font-body:'Vazirmatn',Tahoma,sans-serif;
  --font-latin:'Space Grotesk','Vazirmatn',sans-serif;

  --fog:#c9c8c0;
  --coal:#24241f;
}


/* =========================================================
   HERO
   ========================================================= */

.ab-hero--home{
  position:relative;
  overflow:hidden;
  isolation:isolate;

  background-color:var(--paper);

  background-image:
    radial-gradient(
      #dcdcd3 1.1px,
      transparent 1.1px
    );

  background-size:22px 22px;
}


.ab-hero__outline-word{
  position:absolute;

  top:-6px;
  left:50%;

  transform:translateX(-50%);

  z-index:-1;

  pointer-events:none;
  user-select:none;
  white-space:nowrap;

  font-family:var(--font-latin);

  font-size:clamp(
    130px,
    24vw,
    420px
  );

  font-weight:800;

  line-height:.82;

  letter-spacing:-.07em;

  color:transparent;

  -webkit-text-stroke:
    1px rgba(201,200,192,.72);

  opacity:.72;
}


/* =========================================================
   DECORATION
   ========================================================= */

.ab-hero__shape{
  position:absolute;
  pointer-events:none;
}


.ab-hero__shape--square{
  top:96px;
  right:34px;

  width:112px;
  height:112px;

  border:2px solid var(--line);

  transform:rotate(12deg);

  animation:
    abHeroFloatLate
    6s
    ease-in-out
    infinite;
}


.ab-hero__shape--diamond{
  bottom:64px;
  left:40px;

  width:20px;
  height:20px;

  background:var(--signal);

  transform:rotate(45deg);

  animation:
    abHeroFloat
    4.8s
    ease-in-out
    infinite;
}


/* =========================================================
   GRID
   ========================================================= */

.ab-hero__inner{
  position:relative;
  z-index:2;

  max-width:1280px;

  margin:0 auto;

  padding:
    80px
    28px
    72px;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  gap:72px;

  align-items:center;

  direction:ltr;
}


.ab-hero__copy{
  direction:rtl;

  grid-column:1;
  grid-row:1;

  text-align:right;
}


.ab-hero__visual{
  direction:rtl;

  grid-column:2;
  grid-row:1;
}


/* =========================================================
   KICKER
   ========================================================= */

.ab-hero--home .ab-kicker{
  display:inline-flex;

  align-items:center;

  gap:8px;

  margin:
    0
    0
    20px;

  padding:
    9px
    15px;

  border:
    1px
    solid
    var(--line);

  border-radius:0;

  background:
    rgba(
      253,
      253,
      251,
      .9
    );

  color:var(--ink);

  font-size:13px;

  font-weight:800;

  box-shadow:
    3px
    3px
    0
    rgba(
      27,
      27,
      23,
      .06
    );
}


.ab-hero--home .ab-kicker::before{
  content:"";

  width:7px;
  height:7px;

  flex:0 0 7px;

  border-radius:50%;

  background:
    var(--signal);
}


/* =========================================================
   TITLE
   ========================================================= */

.ab-hero__title{
  margin:0;

  max-width:680px;

  font-family:
    var(--font-display);

  font-size:
    clamp(
      54px,
      7vw,
      100px
    );

  font-weight:400;

  line-height:1.02;

  letter-spacing:-.025em;

  color:var(--ink);
}


.ab-hero__signal-word{
  position:relative;

  display:inline-block;

  color:var(--signal);
}


.ab-hero__underline{
  position:absolute;

  right:-7px;
  bottom:-13px;

  width:
    clamp(
      100px,
      13vw,
      180px
    );

  height:auto;

  pointer-events:none;
}


/* =========================================================
   SUBTITLE
   ========================================================= */

.ab-hero--home .ab-hero__sub{
  max-width:610px;

  margin:
    32px
    0
    30px;

  color:var(--smoke);

  font-size:17px;

  line-height:2.05;

  font-weight:500;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.ab-hero__cta{
  display:flex;

  flex-wrap:wrap;

  align-items:center;

  gap:12px;

  margin-top:6px;
}


.ab-hero--home .ab-btn{
  min-height:54px;

  display:inline-flex;

  align-items:center;
  justify-content:center;

  gap:10px;

  padding:
    13px
    22px;

  border:
    2px
    solid
    transparent;

  border-radius:0;

  font-size:14px;

  font-weight:900;

  line-height:1.2;

  transition:
    transform .2s ease,
    background-color .2s ease,
    color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}


.ab-hero--home .ab-btn:hover{
  transform:
    translateY(-2px);
}


.ab-hero--home .ab-btn--ink{
  background:
    var(--ink);

  color:#fff;

  border-color:
    var(--ink);

  box-shadow:
    5px
    5px
    0
    var(--signal);
}


.ab-hero--home .ab-btn--ink:hover{
  background:
    var(--signal);

  border-color:
    var(--signal);

  box-shadow:
    5px
    5px
    0
    var(--ink);
}


.ab-hero--home .ab-btn--ghost{
  background:
    rgba(
      253,
      253,
      251,
      .82
    );

  border-color:
    var(--ink);

  color:
    var(--ink);
}


.ab-hero--home .ab-btn--ghost:hover{
  background:
    var(--ink);

  color:#fff;
}


.ab-hero--home .ab-btn--sale{
  gap:12px;
}


.ab-hero--home .ab-btn--sale small{
  padding:
    4px
    7px;

  background:
    var(--signal);

  color:#fff;

  font-size:10px;

  line-height:1;

  font-weight:900;
}


/* =========================================================
   STATS
   ========================================================= */

.ab-hero__stats{
  display:flex;

  flex-wrap:wrap;

  margin:
    42px
    0
    0;

  padding:0;

  border-top:
    2px
    solid
    var(--ink);

  border-bottom:
    1px
    solid
    var(--line);
}


.ab-hero__stats > div{
  min-width:130px;

  padding:
    14px
    18px
    13px
    0;

  margin-left:18px;

  border-left:
    1px
    solid
    var(--line);
}


.ab-hero__stats > div:last-child{
  border-left:0;
}


.ab-hero__stats dt{
  margin:0 0 2px;

  font-family:
    var(--font-latin);

  font-size:22px;

  font-weight:800;

  direction:ltr;

  text-align:right;
}


.ab-hero__stats dd{
  margin:0;

  color:var(--steel);

  font-size:11px;

  font-weight:700;
}


/* =========================================================
   PRODUCT
   ========================================================= */

.ab-hero-product{
  position:relative;

  width:
    min(
      100%,
      540px
    );

  margin:0 auto;

  padding:
    22px
    18px
    34px;
}


.ab-hero-product__orange{
  position:absolute;

  z-index:-2;

  top:0;
  left:0;

  width:74%;
  height:75%;

  background:
    var(--signal);

  transform:
    translate(
      10px,
      18px
    );
}


.ab-hero-product__frame{
  position:absolute;

  z-index:-1;

  right:0;
  bottom:16px;

  width:82%;
  height:86%;

  border:
    2px
    solid
    var(--ink);

  transform:
    rotate(-4deg);
}


.ab-hero-product__image-wrap{
  position:relative;

  overflow:hidden;

  aspect-ratio:
    4 / 4.4;

  background:
    var(--mist);

  border:
    2px
    solid
    var(--ink);

  box-shadow:
    10px
    10px
    0
    rgba(
      27,
      27,
      23,
      .12
    );
}


.ab-hero-product__image{
  width:100%;
  height:100%;

  display:block;

  object-fit:cover;

  object-position:center;

  background:
    var(--mist);

  transition:
    transform
    .7s
    cubic-bezier(
      .2,
      .7,
      .2,
      1
    );
}


.ab-hero-product:hover
.ab-hero-product__image{
  transform:
    scale(1.035);
}


/* =========================================================
   GLARE
   ========================================================= */

.ab-hero-product__glare{
  position:absolute;

  z-index:2;

  top:-30%;
  left:-55%;

  width:32%;
  height:180%;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(
        255,
        255,
        255,
        .55
      ),
      transparent
    );

  transform:
    rotate(22deg);

  pointer-events:none;

  animation:
    abHeroGlare
    5.5s
    ease-in-out
    infinite;
}


/* =========================================================
   BADGE
   ========================================================= */

.ab-hero-product__badge{
  position:absolute;

  z-index:5;

  top:-38px;
  right:24px;

  width:126px;
  height:126px;

  display:flex;

  align-items:center;
  justify-content:center;

  background:
    var(--snow);

  border:
    2px
    solid
    var(--ink);

  border-radius:50%;

  box-shadow:
    5px
    5px
    0
    var(--signal);

  animation:
    abHeroFloatLate
    5.5s
    ease-in-out
    infinite;
}


.ab-hero-product__badge-svg{
  position:absolute;

  inset:4px;

  width:
    calc(
      100% - 8px
    );

  height:
    calc(
      100% - 8px
    );

  overflow:visible;
}


.ab-hero-product__badge-text{
  fill:
    var(--ink);

  font-family:
    var(--font-latin);

  font-size:10px;

  font-weight:800;

  letter-spacing:1.7px;
}


.ab-hero-product__eye{
  position:relative;

  z-index:2;

  display:flex;

  color:
    var(--signal);
}


/* =========================================================
   PRODUCT INFO
   ========================================================= */

.ab-hero-product__info{
  position:absolute;

  z-index:6;

  right:16px;
  bottom:16px;

  width:
    min(
      270px,
      calc(
        100% - 32px
      )
    );

  padding:
    13px
    14px
    12px;

  background:
    rgba(
      253,
      253,
      251,
      .97
    );

  border:
    2px
    solid
    var(--ink);

  box-shadow:
    5px
    5px
    0
    var(--ink);

  direction:rtl;
}


.ab-hero-product__meta{
  display:flex;

  align-items:flex-start;

  justify-content:space-between;

  gap:10px;

  margin-bottom:8px;
}


.ab-hero-product__meta strong{
  min-width:0;

  overflow:hidden;

  display:-webkit-box;

  -webkit-line-clamp:1;

  -webkit-box-orient:vertical;

  font-family:
    var(--font-body);

  font-size:13px;

  line-height:1.6;

  font-weight:900;
}


.ab-hero-product__discount{
  flex:0 0 auto;

  padding:
    4px
    6px;

  background:
    var(--signal);

  color:#fff;

  font-size:11px;

  font-weight:900;

  line-height:1;
}


.ab-hero-product__bottom{
  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:10px;

  border-top:
    1px
    solid
    var(--line);

  padding-top:9px;
}


.ab-hero-product__prices{
  min-width:0;

  display:flex;

  flex-direction:column;

  gap:1px;
}


.ab-hero-product__prices del{
  color:
    var(--steel);

  font-size:10px;

  line-height:1.3;
}


.ab-hero-product__prices > strong{
  color:
    var(--ink);

  font-size:14px;

  line-height:1.5;

  font-weight:900;
}


.ab-hero-product__prices
.woocommerce-Price-currencySymbol{
  font-size:.72em;
}


.ab-hero-product__link{
  flex:0 0 auto;

  display:inline-flex;

  align-items:center;

  gap:5px;

  color:
    var(--signal);

  font-size:11px;

  font-weight:900;

  white-space:nowrap;

  transition:
    gap
    .2s
    ease;
}


.ab-hero-product__link:hover{
  gap:8px;

  color:
    var(--signal-deep);
}


/* =========================================================
   TAGS
   ========================================================= */

.ab-hero-product__tag{
  position:absolute;

  z-index:7;

  display:inline-flex;

  align-items:center;

  padding:
    7px
    10px;

  border:
    2px
    solid
    var(--ink);

  background:
    var(--snow);

  color:
    var(--ink);

  font-size:10px;

  font-weight:900;

  box-shadow:
    3px
    3px
    0
    var(--ink);
}


.ab-hero-product__tag--uv{
  left:-4px;
  bottom:12px;

  transform:
    rotate(-7deg);
}


.ab-hero-product__tag--polar{
  right:-2px;
  top:38%;

  transform:
    rotate(7deg);

  background:
    var(--butter);
}


/* =========================================================
   MARQUEE
   ========================================================= */

.ab-hero-marquee{
  position:relative;

  z-index:3;

  width:100%;

  overflow:hidden;

  border-top:
    2px
    solid
    var(--ink);

  border-bottom:
    2px
    solid
    var(--ink);

  background:
    var(--snow);
}


.ab-hero-marquee__track{
  width:max-content;

  display:flex;

  align-items:center;

  gap:24px;

  padding:
    13px
    0;

  font-size:14px;

  font-weight:900;

  white-space:nowrap;

  animation:
    abHeroMarquee
    25s
    linear
    infinite;
}


.ab-hero-marquee__track i{
  color:
    var(--signal);

  font-style:normal;

  font-size:15px;
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes abHeroFloat{

  0%,
  100%{
    transform:
      translateY(0)
      rotate(45deg);
  }

  50%{
    transform:
      translateY(-12px)
      rotate(55deg);
  }

}


@keyframes abHeroFloatLate{

  0%,
  100%{
    transform:
      translateY(0)
      rotate(12deg);
  }

  50%{
    transform:
      translateY(-9px)
      rotate(16deg);
  }

}


@keyframes abHeroGlare{

  0%{
    left:-60%;
    opacity:0;
  }

  15%{
    opacity:1;
  }

  45%{
    left:125%;
    opacity:0;
  }

  100%{
    left:125%;
    opacity:0;
  }

}


@keyframes abHeroMarquee{

  from{
    transform:
      translateX(0);
  }

  to{
    transform:
      translateX(50%);
  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:1000px){

  .ab-hero__inner{

    grid-template-columns:
      minmax(0,1fr);

    gap:54px;

    padding-top:70px;
  }


  .ab-hero__visual{

    grid-column:1;
    grid-row:1;
  }


  .ab-hero__copy{

    grid-column:1;
    grid-row:2;

    padding-top:0;
  }


  .ab-hero-product{
    max-width:530px;
  }


  .ab-hero__outline-word{
    font-size:28vw;
  }


  .ab-hero__shape--square{
    display:none;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:700px){

  .ab-hero__inner{

    padding:
      48px
      18px
      54px;

    gap:40px;
  }


  .ab-hero__outline-word{

    top:24px;

    font-size:32vw;

    opacity:.5;
  }


  .ab-hero__shape--diamond{

    left:20px;

    bottom:42px;
  }


  .ab-hero__title{

    font-size:
      clamp(
        48px,
        15vw,
        76px
      );

    line-height:1.04;
  }


  .ab-hero--home
  .ab-hero__sub{

    margin-top:24px;

    font-size:15px;

    line-height:1.95;
  }


  .ab-hero__cta{

    width:100%;
  }


  .ab-hero--home
  .ab-btn{

    flex:1 1 auto;

    min-width:145px;
  }


  .ab-hero__stats{

    margin-top:32px;
  }


  .ab-hero__stats > div{

    min-width:0;

    flex:
      1
      1
      33.333%;

    padding-right:8px;

    margin-left:8px;
  }


  .ab-hero__stats dt{
    font-size:17px;
  }


  .ab-hero__stats dd{
    font-size:9px;
  }


  .ab-hero-product{

    padding:
      18px
      12px
      28px;
  }


  .ab-hero-product__badge{

    top:-27px;
    right:10px;

    width:94px;
    height:94px;
  }


  .ab-hero-product__badge-text{

    font-size:8px;

    letter-spacing:1.2px;
  }


  .ab-hero-product__info{

    right:10px;
    bottom:10px;

    width:
      calc(
        100% - 20px
      );

    padding:
      10px
      11px;
  }


  .ab-hero-product__meta strong{
    font-size:11px;
  }


  .ab-hero-product__prices > strong{
    font-size:12px;
  }


  .ab-hero-product__tag{

    font-size:8px;

    padding:
      6px
      7px;
  }


  .ab-hero-product__tag--uv{

    left:-1px;

    bottom:4px;
  }


  .ab-hero-product__tag--polar{

    right:0;
  }


  .ab-hero-marquee__track{

    gap:18px;

    font-size:12px;

    padding:
      11px
      0;
  }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width:440px){

  .ab-hero__inner{

    padding-left:14px;
    padding-right:14px;
  }


  .ab-hero__title{
    font-size:47px;
  }


  .ab-hero--home
  .ab-hero__sub{
    font-size:14px;
  }


  .ab-hero__cta{

    flex-direction:column;

    align-items:stretch;
  }


  .ab-hero--home
  .ab-btn{

    width:100%;
  }


  .ab-hero__stats dt{
    font-size:15px;
  }


  .ab-hero__stats dd{
    font-size:8px;
  }


  .ab-hero-product__badge{

    width:82px;
    height:82px;

    top:-22px;
  }


  .ab-hero-product__eye svg{

    width:27px;
    height:auto;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion:reduce){

  .ab-hero-product__glare,
  .ab-hero-product__badge,
  .ab-hero__shape,
  .ab-hero-marquee__track{

    animation:none !important;
  }

  .ab-hero--home .ab-btn,
  .ab-hero-product__image{

    transition:none !important;
  }

}

/* =========================================================
   GLOBAL CARDS — SOFT & ANIMATED
   ========================================================= */

/* کارت‌های عمومی */
.ab-card,
.ab-product-card,
.ab-category-card,
.ab-feature,
.ab-post,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  position:relative;
  transition:
    transform .35s cubic-bezier(.22,.61,.36,1),
    box-shadow .35s cubic-bezier(.22,.61,.36,1),
    border-color .35s ease,
    background-color .35s ease;
  will-change:transform;
}

/* Hover عمومی */
.ab-card:hover,
.ab-product-card:hover,
.ab-category-card:hover,
.ab-feature:hover,
.ab-post:hover,
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
  transform:translateY(-7px);
  box-shadow:0 18px 45px rgba(27,27,23,.10);
}

/* تصاویر کارت‌ها */
.ab-card img,
.ab-product-card img,
.ab-category-card img,
.ab-feature img,
.ab-post__image img,
.woocommerce ul.products li.product img{
  transition:
    transform .55s cubic-bezier(.22,.61,.36,1),
    filter .35s ease;
}

/* Zoom خیلی نرم تصویر */
.ab-card:hover img,
.ab-product-card:hover img,
.ab-category-card:hover img,
.ab-feature:hover img,
.ab-post:hover .ab-post__image img,
.woocommerce ul.products li.product:hover img{
  transform:scale(1.045);
}

/* لینک‌ها و عناصر داخلی */
.ab-card a,
.ab-product-card a,
.ab-category-card a,
.ab-feature a,
.ab-post a{
  transition:
    color .25s ease,
    opacity .25s ease;
}

/* دکمه‌های داخل کارت */
.ab-card button,
.ab-product-card button,
.ab-category-card button,
.ab-post__read{
  transition:
    transform .25s cubic-bezier(.22,.61,.36,1),
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease;
}

/* حرکت نرم دکمه هنگام Hover */
.ab-card:hover button,
.ab-product-card:hover button,
.ab-category-card:hover button{
  transform:translateY(-2px);
}


/* =========================================================
   PRODUCT CARDS
   ========================================================= */

.ab-product-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--snow);
}

.ab-product-card:hover{
  border-color:rgba(255,75,31,.35);
  box-shadow:
    0 20px 50px rgba(27,27,23,.10),
    0 4px 14px rgba(27,27,23,.05);
}


/* =========================================================
   CATEGORY CARDS
   ========================================================= */

.ab-category-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--snow);
}

.ab-category-card:hover{
  border-color:rgba(255,75,31,.35);
}


/* =========================================================
   FEATURE CARDS
   ========================================================= */

.ab-feature{
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--snow);
}

.ab-feature:hover{
  border-color:rgba(255,75,31,.30);
}


/* =========================================================
   BLOG CARDS
   ========================================================= */

.ab-post{
  overflow:hidden;
  border-radius:10px;
}

.ab-post:hover{
  border-color:rgba(255,75,31,.45);
  box-shadow:
    0 22px 55px rgba(27,27,23,.11),
    0 5px 16px rgba(27,27,23,.05);
}


/* =========================================================
   WOOCOMMERCE PRODUCT CARDS
   ========================================================= */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--snow);
  padding:0;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
  border-color:rgba(255,75,31,.40);
  box-shadow:
    0 20px 50px rgba(27,27,23,.10),
    0 5px 15px rgba(27,27,23,.04);
}


/* =========================================================
   CARD SHINE
   ========================================================= */

.ab-card::after,
.ab-product-card::after,
.ab-category-card::after,
.ab-post::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(
      120deg,
      transparent 0%,
      rgba(255,255,255,.35) 45%,
      transparent 65%
    );
  transform:translateX(-100%);
  transition:
    opacity .35s ease,
    transform .65s cubic-bezier(.22,.61,.36,1);
}

.ab-card:hover::after,
.ab-product-card:hover::after,
.ab-category-card:hover::after,
.ab-post:hover::after{
  opacity:1;
  transform:translateX(100%);
}


/* =========================================================
   REDUCE MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){
  .ab-card,
  .ab-product-card,
  .ab-category-card,
  .ab-feature,
  .ab-post,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .ab-card img,
  .ab-product-card img,
  .ab-category-card img,
  .ab-feature img,
  .ab-post__image img,
  .woocommerce ul.products li.product img{
    transition:none !important;
  }

  .ab-card:hover,
  .ab-product-card:hover,
  .ab-category-card:hover,
  .ab-feature:hover,
  .ab-post:hover,
  .woocommerce ul.products li.product:hover,
  .woocommerce-page ul.products li.product:hover{
    transform:none;
  }
}


/* =========================================================
   MOBILE — SOFTER MOTION
   ========================================================= */

@media(max-width:700px){
  .ab-card:hover,
  .ab-product-card:hover,
  .ab-category-card:hover,
  .ab-feature:hover,
  .ab-post:hover,
  .woocommerce ul.products li.product:hover,
  .woocommerce-page ul.products li.product:hover{
    transform:translateY(-4px);
  }

  .ab-card:hover img,
  .ab-product-card:hover img,
  .ab-category-card:hover img,
  .ab-feature:hover img,
  .ab-post:hover .ab-post__image img,
  .woocommerce ul.products li.product:hover img{
    transform:scale(1.025);
  }
}


/* =========================================================
   ALLBINA — MODERN SINGLE PRODUCT
   ========================================================= */

.ab-product-page{
  padding:28px 0 100px;
}

.ab-product-breadcrumb{
  margin-bottom:32px;
  color:var(--steel);
  font-size:13px;
}

.ab-product-breadcrumb a{
  color:var(--smoke);
  transition:color .25s ease;
}

.ab-product-breadcrumb a:hover{
  color:var(--signal);
}


/* =========================================================
   PRODUCT LAYOUT
   ========================================================= */

.ab-product-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  gap:70px;
  align-items:start;
}


/* =========================================================
   GALLERY
   ========================================================= */

.ab-product-gallery{
  position:sticky;
  top:90px;
  min-width:0;
}

.ab-product-gallery__inner{
  background:var(--snow);
  border:1px solid var(--line);
  border-radius:20px;
  padding:18px;
  box-shadow:
    0 20px 60px rgba(27,27,23,.07);
}

.ab-product-gallery .woocommerce-product-gallery{
  width:100%!important;
  float:none!important;
  margin:0!important;
}

.ab-product-gallery
.woocommerce-product-gallery__wrapper{
  margin:0;
}

.ab-product-gallery
.woocommerce-product-gallery__image{
  overflow:hidden;
  border-radius:14px;
  background:var(--mist);
}

.ab-product-gallery
.woocommerce-product-gallery__image img{
  width:100%!important;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
  transition:transform .6s cubic-bezier(.22,.61,.36,1);
}

.ab-product-gallery
.woocommerce-product-gallery__image:hover img{
  transform:scale(1.025);
}

.ab-product-gallery
.flex-control-thumbs{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:14px 0 0!important;
  padding:0!important;
}

.ab-product-gallery
.flex-control-thumbs li{
  width:auto!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
  list-style:none;
}

.ab-product-gallery
.flex-control-thumbs li img{
  width:100%!important;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border:2px solid transparent;
  border-radius:10px;
  opacity:.65;
  transition:
    opacity .25s ease,
    border-color .25s ease,
    transform .25s ease;
}

.ab-product-gallery
.flex-control-thumbs li img:hover{
  opacity:1;
  transform:translateY(-2px);
}

.ab-product-gallery
.flex-control-thumbs li img.flex-active{
  opacity:1;
  border-color:var(--signal);
}


/* =========================================================
   SUMMARY
   ========================================================= */

.ab-product-summary{
  min-width:0;
}

.ab-product-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.ab-product-sale-badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:5px 12px;
  background:var(--signal);
  color:#fff;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}

.ab-product-sku{
  color:var(--steel);
  direction:ltr;
  font-size:12px;
  font-weight:700;
}

.ab-product-title{
  margin:0;
  font-size:48px;
  line-height:1.2;
  letter-spacing:-.5px;
}

.ab-product-rating-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:18px;
}

.ab-product-rating{
  display:flex;
  align-items:center;
  gap:8px;
}

.ab-product-stars{
  display:inline-flex;
  direction:ltr;
}

.ab-product-stars .star-rating{
  margin:0!important;
  width:5.5em;
}

.ab-product-rating-number{
  font-size:14px;
  font-weight:900;
}

.ab-product-review-count{
  color:var(--smoke);
  font-size:13px;
  border-bottom:1px dashed var(--steel);
}

.ab-product-review-count:hover{
  color:var(--signal);
}

.ab-product-no-rating{
  color:var(--steel);
  font-size:13px;
}


/* =========================================================
   PRICE
   ========================================================= */

.ab-product-price{
  margin-top:30px;
  padding:24px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.ab-product-price .price{
  margin:0!important;
  color:var(--signal);
  font-size:38px;
  line-height:1.2;
  font-weight:900;
}

.ab-product-price .price del{
  display:inline-block;
  margin-inline-end:12px;
  color:var(--steel);
  font-size:17px;
  font-weight:600;
}

.ab-product-price .price ins{
  text-decoration:none;
}

.ab-product-discount-line{
  margin-top:12px;
  color:var(--smoke);
  font-size:13px;
}

.ab-product-discount-line span{
  display:inline-flex;
  margin-inline-end:5px;
  color:var(--moss);
  font-weight:900;
}


/* =========================================================
   SHORT DESCRIPTION
   ========================================================= */

.ab-product-short-description{
  margin-top:26px;
  color:var(--smoke);
  font-size:16px;
  line-height:2.1;
}

.ab-product-short-description p{
  margin:0 0 12px;
}

.ab-product-short-description p:last-child{
  margin-bottom:0;
}


/* =========================================================
   PRODUCT META
   ========================================================= */

.ab-product-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:28px;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:var(--snow);
}

.ab-product-meta-item{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:17px 18px;
  border-bottom:1px solid var(--line);
}

.ab-product-meta-item:nth-child(odd){
  border-inline-end:1px solid var(--line);
}

.ab-product-meta-item:nth-last-child(-n+2){
  border-bottom:0;
}

.ab-product-meta-label{
  color:var(--steel);
  font-size:12px;
  font-weight:700;
}

.ab-product-meta-item strong,
.ab-product-meta-item > span:last-child{
  font-size:14px;
  font-weight:800;
}

.ab-product-meta-item a{
  color:var(--ink);
}

.ab-product-meta-item a:hover{
  color:var(--signal);
}


/* Stock */

.ab-product-stock{
  display:flex!important;
  align-items:center;
  gap:7px;
}

.ab-product-stock small{
  color:var(--steel);
  font-weight:600;
}

.ab-stock-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:currentColor;
}

.ab-product-stock--in{
  color:var(--moss);
}

.ab-product-stock--backorder{
  color:var(--butter);
}

.ab-product-stock--out{
  color:#b42318;
}

.ab-product-stock--unknown{
  color:var(--steel);
}


/* =========================================================
   BUY BOX
   ========================================================= */

.ab-product-buy-box{
  margin-top:28px;
  padding:22px;
  background:var(--ink);
  border-radius:18px;
  color:#fff;
  box-shadow:
    0 20px 50px rgba(27,27,23,.15);
}

.ab-product-buy-box form.cart{
  margin:0!important;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}





/* Add to cart */

.ab-product-buy-box
.single_add_to_cart_button{
  flex:1;
  min-height:58px;
  margin:0!important;
  padding:0 28px!important;
  border:0!important;
  border-radius:10px!important;
  background:var(--signal)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  cursor:pointer;
  transition:
    transform .25s ease,
    background-color .25s ease,
    box-shadow .25s ease;
}

.ab-product-buy-box
.single_add_to_cart_button:hover{
  background:var(--signal-deep)!important;
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(255,75,31,.25);
}

.ab-product-buy-box
.single_add_to_cart_button:disabled{
  opacity:.5;
  cursor:not-allowed;
  transform:none;
}


/* Variable product */

.ab-product-buy-box
.variations{
  width:100%;
  margin:0 0 16px!important;
  color:#fff;
}

.ab-product-buy-box
.variations td{
  padding:7px 0!important;
}

.ab-product-buy-box
.variations select{
  width:100%;
  min-height:48px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
}

.ab-product-buy-box
.woocommerce-variation-description{
  color:rgba(255,255,255,.7);
}

.ab-product-buy-box
.reset_variations{
  color:rgba(255,255,255,.7)!important;
}


/* =========================================================
   BENEFITS
   ========================================================= */

.ab-product-benefits{
  margin-top:24px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--snow);
}

.ab-product-benefits__eyebrow{
  color:var(--signal);
  font-size:11px;
  font-weight:900;
  letter-spacing:.5px;
}

.ab-product-benefits__header h2{
  margin:5px 0 20px;
  font-size:25px;
}

.ab-product-benefits__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.ab-product-benefit{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
}

.ab-product-benefit__icon{
  flex:0 0 32px;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:var(--ink);
  color:#fff;
  font-size:10px;
  font-weight:900;
  direction:ltr;
}

.ab-product-benefit strong{
  display:block;
  font-size:13px;
}

.ab-product-benefit p{
  margin:5px 0 0;
  color:var(--steel);
  font-size:11px;
  line-height:1.8;
}


/* =========================================================
   TABS
   ========================================================= */

.ab-product-tabs{
  margin-top:90px;
  padding:35px;
  background:var(--snow);
  border:1px solid var(--line);
  border-radius:18px;
}

.ab-product-tabs
.woocommerce-tabs{
  margin:0!important;
  padding:0!important;
}

.ab-product-tabs
.woocommerce-tabs ul.tabs{
  display:flex;
  gap:8px;
  margin:0 0 30px!important;
  padding:0!important;
  border:0!important;
  list-style:none;
}

.ab-product-tabs
.woocommerce-tabs ul.tabs::before,
.ab-product-tabs
.woocommerce-tabs ul.tabs::after{
  display:none!important;
}

.ab-product-tabs
.woocommerce-tabs ul.tabs li{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}

.ab-product-tabs
.woocommerce-tabs ul.tabs li::before,
.ab-product-tabs
.woocommerce-tabs ul.tabs li::after{
  display:none!important;
}

.ab-product-tabs
.woocommerce-tabs ul.tabs li a{
  display:block;
  padding:12px 18px;
  border-radius:9px;
  color:var(--smoke);
  font-size:14px;
  font-weight:800;
  transition:all .25s ease;
}

.ab-product-tabs
.woocommerce-tabs ul.tabs li.active a,
.ab-product-tabs
.woocommerce-tabs ul.tabs li a:hover{
  background:var(--ink);
  color:#fff;
}

.ab-product-tabs
.woocommerce-tabs .panel{
  margin:0!important;
  padding:0!important;
  color:var(--smoke);
  font-size:15px;
  line-height:2.1;
}

.ab-product-tabs
.woocommerce-tabs .panel h2{
  margin-top:0;
  color:var(--ink);
}

.ab-product-tabs
.shop_attributes{
  width:100%;
  border-collapse:collapse;
}

.ab-product-tabs
.shop_attributes th,
.ab-product-tabs
.shop_attributes td{
  padding:14px;
  border-bottom:1px solid var(--line);
  text-align:right;
}

.ab-product-tabs
.shop_attributes th{
  width:30%;
  color:var(--ink);
}


/* Reviews */

.ab-product-tabs
#reviews ol.commentlist{
  padding:0;
}

.ab-product-tabs
#reviews .comment_container{
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  margin-bottom:12px;
}


/* =========================================================
   RELATED
   ========================================================= */

.ab-product-related{
  margin-top:90px;
}

.ab-section-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:28px;
}

.ab-section-heading span{
  color:var(--signal);
  font-size:12px;
  font-weight:900;
}

.ab-section-heading h2{
  margin:4px 0 0;
  font-size:38px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1000px){

  .ab-product-layout{
    grid-template-columns:1fr;
    gap:40px;
  }

  .ab-product-gallery{
    position:relative;
    top:auto;
  }

  .ab-product-gallery__inner{
    max-width:760px;
    margin:0 auto;
  }

}

@media(max-width:700px){

  .ab-product-page{
    padding:20px 0 60px;
  }

  .ab-product-breadcrumb{
    margin-bottom:20px;
  }

  .ab-product-title{
    font-size:36px;
  }

  .ab-product-price .price{
    font-size:30px;
  }

  .ab-product-meta{
    grid-template-columns:1fr;
  }

  .ab-product-meta-item,
  .ab-product-meta-item:nth-child(odd),
  .ab-product-meta-item:nth-last-child(-n+2){
    border-inline-end:0;
    border-bottom:1px solid var(--line);
  }

  .ab-product-meta-item:last-child{
    border-bottom:0;
  }

  .ab-product-buy-box{
    padding:16px;
  }

  .ab-product-buy-box form.cart{
    display:grid;
    grid-template-columns:90px 1fr;
  }

  .ab-product-buy-box
  .single_add_to_cart_button{
    min-width:0;
    padding:0 10px!important;
  }

  .ab-product-benefits__grid{
    grid-template-columns:1fr;
  }

  .ab-product-tabs{
    margin-top:50px;
    padding:20px 16px;
  }

  .ab-product-tabs
  .woocommerce-tabs ul.tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }

  .ab-product-tabs
  .woocommerce-tabs ul.tabs::-webkit-scrollbar{
    display:none;
  }

  .ab-product-tabs
  .woocommerce-tabs ul.tabs li{
    flex:0 0 auto;
  }

  .ab-product-related{
    margin-top:55px;
  }

  .ab-section-heading h2{
    font-size:32px;
  }

}

@media(max-width:480px){

  .ab-product-title{
    font-size:32px;
  }

  .ab-product-topline{
    align-items:flex-start;
    flex-direction:column;
  }

  .ab-product-gallery__inner{
    padding:10px;
    border-radius:14px;
  }

  .ab-product-gallery
  .flex-control-thumbs{
    gap:6px;
  }

  .ab-product-short-description{
    font-size:14px;
  }

  .ab-product-buy-box
  form.cart{
    grid-template-columns:82px 1fr;
  }

  .ab-product-buy-box
  .quantity .qty{
    width:82px!important;
  }

  .ab-product-benefits{
    padding:18px;
  }

}


/* Accessibility / reduced motion */

@media(prefers-reduced-motion:reduce){

  .ab-product-gallery
  .woocommerce-product-gallery__image img,
  .ab-product-buy-box
  .single_add_to_cart_button,
  .ab-product-gallery
  .flex-control-thumbs li img{
    transition:none!important;
  }

}

/* =========================================================
   ALLBINA — PRODUCT QUANTITY
   FINAL / STABLE VERSION
   ========================================================= */


/* ---------------------------------------------------------
   BUY FORM
   --------------------------------------------------------- */

.ab-product-buy-box form.cart{
  width:100%;
  margin:0!important;
  display:flex!important;
  align-items:stretch!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
}


/* ---------------------------------------------------------
   QUANTITY BOX
   --------------------------------------------------------- */

.ab-product-buy-box .quantity{
  position:relative!important;

  flex:0 0 118px!important;

  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;

  height:58px!important;
  min-height:58px!important;

  display:block!important;

  margin:0!important;
  padding:0!important;

  float:none!important;

  direction:ltr!important;
}


/* ---------------------------------------------------------
   HIDE WOOCOMMERCE LABEL
   --------------------------------------------------------- */

.ab-product-buy-box .quantity label{
  position:absolute!important;

  width:1px!important;
  height:1px!important;

  padding:0!important;
  margin:-1px!important;

  overflow:hidden!important;

  clip:rect(0,0,0,0)!important;

  white-space:nowrap!important;

  border:0!important;
}


/* ---------------------------------------------------------
   INPUT
   --------------------------------------------------------- */

.ab-product-buy-box .quantity input.qty{
  display:block!important;

  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;

  height:58px!important;
  min-height:58px!important;

  margin:0!important;

  padding:0 34px!important;

  border:1px solid rgba(255,255,255,.18)!important;

  border-radius:10px!important;

  background:rgba(255,255,255,.08)!important;

  color:#fff!important;

  box-shadow:none!important;

  outline:none!important;

  text-align:center!important;

  font-family:var(--font-body)!important;

  font-size:17px!important;

  font-weight:900!important;

  line-height:58px!important;

  appearance:textfield!important;

  -moz-appearance:textfield!important;

  direction:ltr!important;

  transition:
    border-color .2s ease,
    background-color .2s ease,
    box-shadow .2s ease;
}


.ab-product-buy-box .quantity input.qty:focus{
  border-color:var(--signal)!important;

  background:rgba(255,255,255,.12)!important;

  box-shadow:
    0 0 0 3px rgba(255,75,31,.12)!important;
}


/* Chrome / Edge / Safari */

.ab-product-buy-box
.quantity
input.qty::-webkit-inner-spin-button,

.ab-product-buy-box
.quantity
input.qty::-webkit-outer-spin-button{
  margin:0!important;

  -webkit-appearance:none!important;
  appearance:none!important;
}


/* ---------------------------------------------------------
   PLUS / MINUS BUTTONS
   --------------------------------------------------------- */

.ab-product-buy-box .ab-qty-minus,
.ab-product-buy-box .ab-qty-plus{

  position:absolute!important;

  top:0!important;

  z-index:5!important;

  width:34px!important;
  height:58px!important;

  min-width:34px!important;
  min-height:58px!important;

  max-width:34px!important;
  max-height:58px!important;

  display:grid!important;

  place-items:center!important;

  margin:0!important;
  padding:0!important;

  border:0!important;

  background:transparent!important;

  color:#fff!important;

  cursor:pointer!important;

  font-family:Arial,sans-serif!important;

  font-size:22px!important;

  font-weight:700!important;

  line-height:1!important;

  text-align:center!important;

  box-shadow:none!important;

  outline:none!important;

  transform:none!important;

  transition:
    background-color .18s ease,
    color .18s ease,
    opacity .18s ease;
}


.ab-product-buy-box .ab-qty-minus{
  left:0!important;
  right:auto!important;

  border-radius:10px 0 0 10px!important;
}


.ab-product-buy-box .ab-qty-plus{
  right:0!important;
  left:auto!important;

  border-radius:0 10px 10px 0!important;
}


.ab-product-buy-box .ab-qty-minus:hover,
.ab-product-buy-box .ab-qty-plus:hover{
  background:rgba(255,255,255,.08)!important;

  color:var(--signal)!important;
}


.ab-product-buy-box .ab-qty-minus:active,
.ab-product-buy-box .ab-qty-plus:active{
  background:rgba(255,255,255,.14)!important;

  transform:none!important;
}


.ab-product-buy-box .ab-qty-minus:focus-visible,
.ab-product-buy-box .ab-qty-plus:focus-visible{
  outline:2px solid var(--signal)!important;

  outline-offset:-3px!important;
}


/* ---------------------------------------------------------
   ADD TO CART BUTTON
   --------------------------------------------------------- */

.ab-product-buy-box .single_add_to_cart_button{
  flex:1 1 auto!important;

  width:auto!important;
  min-width:0!important;

  height:58px!important;
  min-height:58px!important;

  margin:0!important;

  padding:0 24px!important;

  border:0!important;

  border-radius:10px!important;

  background:var(--signal)!important;

  color:#fff!important;

  font-family:var(--font-body)!important;

  font-size:16px!important;

  font-weight:900!important;

  line-height:1.2!important;

  cursor:pointer!important;

  text-align:center!important;

  transition:
    transform .25s ease,
    background-color .25s ease,
    box-shadow .25s ease;
}


.ab-product-buy-box .single_add_to_cart_button:hover{
  background:var(--signal-deep)!important;

  transform:translateY(-2px)!important;

  box-shadow:
    0 12px 30px rgba(255,75,31,.25)!important;
}


.ab-product-buy-box .single_add_to_cart_button:active{
  transform:translateY(0)!important;
}


.ab-product-buy-box .single_add_to_cart_button:disabled,
.ab-product-buy-box .single_add_to_cart_button.disabled{
  opacity:.5!important;

  cursor:not-allowed!important;

  transform:none!important;

  box-shadow:none!important;
}


/* ---------------------------------------------------------
   VARIABLE PRODUCTS
   --------------------------------------------------------- */

.ab-product-buy-box
.woocommerce-variation-add-to-cart{
  width:100%!important;

  display:flex!important;

  align-items:stretch!important;

  gap:12px!important;

  flex-wrap:nowrap!important;
}


.ab-product-buy-box
.woocommerce-variation-add-to-cart
.quantity{
  flex:0 0 118px!important;
}


.ab-product-buy-box
.woocommerce-variation-add-to-cart
.single_add_to_cart_button{
  flex:1 1 auto!important;
}


/* ---------------------------------------------------------
   VARIATION WRAPPER
   --------------------------------------------------------- */

.ab-product-buy-box
.single_variation_wrap{
  width:100%!important;
}


.ab-product-buy-box
.single_variation{
  margin-bottom:12px!important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:700px){

  .ab-product-buy-box form.cart{
    display:flex!important;

    flex-direction:row!important;

    align-items:stretch!important;

    gap:10px!important;

    flex-wrap:nowrap!important;
  }


  .ab-product-buy-box .quantity{
    flex:0 0 94px!important;

    width:94px!important;
    min-width:94px!important;
    max-width:94px!important;

    height:54px!important;
    min-height:54px!important;
  }


  .ab-product-buy-box .quantity input.qty{
    width:94px!important;
    min-width:94px!important;
    max-width:94px!important;

    height:54px!important;
    min-height:54px!important;

    line-height:54px!important;

    padding:0 28px!important;

    font-size:16px!important;
  }


  .ab-product-buy-box .ab-qty-minus,
  .ab-product-buy-box .ab-qty-plus{
    width:28px!important;

    min-width:28px!important;
    max-width:28px!important;

    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;

    font-size:20px!important;
  }


  .ab-product-buy-box .single_add_to_cart_button{
    flex:1 1 auto!important;

    width:auto!important;

    min-width:0!important;

    height:54px!important;
    min-height:54px!important;

    padding:0 12px!important;

    font-size:14px!important;
  }


  .ab-product-buy-box
  .woocommerce-variation-add-to-cart{
    display:flex!important;

    flex-direction:row!important;

    align-items:stretch!important;

    gap:10px!important;

    flex-wrap:nowrap!important;
  }


  .ab-product-buy-box
  .woocommerce-variation-add-to-cart
  .quantity{
    flex:0 0 94px!important;
  }

}


/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media(max-width:480px){

  .ab-product-buy-box{
    padding:14px!important;
  }


  .ab-product-buy-box form.cart{
    gap:8px!important;
  }


  .ab-product-buy-box .quantity{
    flex:0 0 88px!important;

    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;
  }


  .ab-product-buy-box .quantity input.qty{
    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;

    padding:0 25px!important;
  }


  .ab-product-buy-box .ab-qty-minus,
  .ab-product-buy-box .ab-qty-plus{
    width:25px!important;

    min-width:25px!important;
    max-width:25px!important;
  }


  .ab-product-buy-box .single_add_to_cart_button{
    padding:0 8px!important;

    font-size:13px!important;
  }

}


/* ---------------------------------------------------------
   OUT OF STOCK
   --------------------------------------------------------- */

.ab-product-buy-box
.out-of-stock{
  margin:0!important;

  color:#fff!important;

  font-weight:800!important;
}


/* ---------------------------------------------------------
   REDUCED MOTION
   --------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){

  .ab-product-buy-box .single_add_to_cart_button,
  .ab-product-buy-box .ab-qty-minus,
  .ab-product-buy-box .ab-qty-plus,
  .ab-product-buy-box .quantity input.qty{

    transition:none!important;
  }

}
