/* ==========================================================================
   AraShop — WOOCOMMERCE
   آرشیو، کارت محصول، تک‌محصول، سبد خرید، تسویه‌حساب و حساب کاربری.
   استایل پیش‌فرض ووکامرس غیرفعال است؛ همه‌چیز اینجا از صفر نوشته شده.
   ========================================================================== */

/* =========================================================
   1) سربرگ فروشگاه و نوار ابزار
   ========================================================= */
.ara-woo{ padding-bottom:var(--ara-s8); }

.ara-shop-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:var(--ara-s4);
  flex-wrap:wrap;
  margin:var(--ara-s6) 0 var(--ara-s5);
  padding:var(--ara-s6) var(--ara-s7);
  border-radius:var(--ara-r-xl);
}
.ara-shop-head h1{ margin:0; font-size:var(--ara-fs-2xl); }
.ara-shop-head-desc{ margin-top:8px; font-size:var(--ara-fs-sm); color:var(--ara-ink-soft); max-width:64ch; }
.ara-shop-head-desc p:last-child{ margin-bottom:0; }
.ara-shop-head .ara-crumbs{ flex:0 0 auto; }

.ara-shop-toolbar{ margin-bottom:var(--ara-s5); }
.ara-shop-toolbar-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--ara-s3); flex-wrap:wrap;
}
.ara-sort{
  display:flex; gap:var(--ara-s2); overflow-x:auto;
  flex:1 1 auto; min-width:0; padding-bottom:4px;
  scrollbar-width:none;
}
.ara-sort::-webkit-scrollbar{ display:none; }
.ara-sort .ara-chip{ text-decoration:none; }
.ara-shop-toolbar-tools{ display:flex; align-items:center; gap:var(--ara-s2); flex:0 0 auto; }
.ara-view-toggle{
  display:flex; gap:3px; padding:4px; border-radius:var(--ara-r-pill);
  background:var(--ara-glass-bg-soft); border:1px solid var(--ara-glass-line-soft);
}
.ara-view-toggle button{
  width:34px; height:34px; border-radius:var(--ara-r-pill);
  display:flex; align-items:center; justify-content:center;
  color:var(--ara-ink-mute);
  transition:all var(--ara-t) var(--ara-ease);
}
.ara-view-toggle button svg{ width:16px; height:16px; }
.ara-view-toggle button.is-active{ background:var(--ara-primary); color:var(--ara-on-primary); }
@media (max-width:767px){ .ara-view-toggle{ display:none; } }

.ara-shop-count{
  margin:var(--ara-s3) 0 0; font-size:var(--ara-fs-xs); color:var(--ara-ink-mute);
}

/* =========================================================
   2) کشوی فیلتر
   ========================================================= */
.ara-filters{
  position:fixed; inset-block:0; inset-inline-end:0; z-index:200;
  width:min(88vw, 340px);
  display:flex; flex-direction:column;
  background:var(--ara-glass-bg-strong);
  -webkit-backdrop-filter:blur(var(--ara-blur-lg)) saturate(var(--ara-saturate));
  backdrop-filter:blur(var(--ara-blur-lg)) saturate(var(--ara-saturate));
  border-inline-start:1px solid var(--ara-glass-line);
  box-shadow:var(--ara-e4);
  transform:translateX(-100%);
  transition:transform var(--ara-t-slow) var(--ara-ease-out);
  overflow-y:auto; overscroll-behavior:contain;
}
[dir="rtl"] .ara-filters{ transform:translateX(100%); }
.ara-filters.is-open{ transform:none!important; }
.ara-filters-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:var(--ara-s4) var(--ara-s5);
  border-bottom:1px solid var(--ara-glass-line-soft);
  position:sticky; top:0; background:inherit; z-index:2;
}
.ara-filters-body{ padding:var(--ara-s5); }

/* کشوی فیلتر در همه‌ی اندازه‌ها به‌صورت شناور باز می‌شود (نه فقط موبایل)،
   تا تمام عرض صفحه در اختیار محصولات بماند. */

/* =========================================================
   3) شبکه‌ی محصولات
   ========================================================= */
ul.products{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--ara-s3);
  margin:0!important; padding:0!important; list-style:none;
}
@media (min-width:640px){ ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ara-s4); } }
@media (min-width:1100px){ ul.products{ grid-template-columns:repeat(4,minmax(0,1fr)); } }

/* حالت اسلایدر در صفحه‌ی اصلی */
ul.products.ara-slider-track{
  display:flex!important; grid-template-columns:none;
  flex-wrap:nowrap; overflow-x:auto;
  scroll-snap-type:x mandatory; scrollbar-width:none;
  padding:4px 4px var(--ara-s3)!important; margin:-4px -4px 0!important;
}
ul.products.ara-slider-track::-webkit-scrollbar{ display:none; }
ul.products.ara-slider-track > li.product{
  flex:0 0 auto; scroll-snap-align:start;
  width:calc(50% - var(--ara-s2));
}
@media (min-width:640px){ ul.products.ara-slider-track > li.product{ width:calc(33.333% - var(--ara-s3)); } }
@media (min-width:1100px){ ul.products.ara-slider-track > li.product{ width:calc(25% - var(--ara-s4)); } }

.ara-products-wrap{ position:relative; }
.ara-products-wrap .ara-slider-nav{ top:calc(50% - 40px); }

/* =========================================================
   4) کارت محصول
   ========================================================= */
li.product.ara-product-card{
  display:flex!important; flex-direction:column;
  border-radius:var(--ara-r-lg); overflow:hidden;
  margin:0!important; padding:0!important; width:auto!important; float:none!important;
  list-style:none;
}
.ara-product-media{
  position:relative; display:block; aspect-ratio:1/1; overflow:hidden;
  background:color-mix(in srgb, var(--ara-primary) 5%, transparent);
}
.ara-product-media-link{ display:block; width:100%; height:100%; }
.ara-product-media img{
  width:100%; height:100%; object-fit:cover; border-radius:0;
  transition:transform var(--ara-t-slow) var(--ara-ease-out);
}
.ara-product-card:hover .ara-product-media img{ transform:scale(1.07); }

.ara-product-flags{
  position:absolute; top:10px; inset-inline-start:10px; z-index:2;
  display:flex; flex-direction:column; align-items:flex-start; gap:6px;
}
.ara-sale-badge{
  display:inline-block; padding:4px 11px; border-radius:var(--ara-r-pill);
  background:var(--ara-danger); color:#fff;
  font-size:var(--ara-fs-xs); font-weight:800; line-height:1.6;
  box-shadow:0 4px 12px color-mix(in srgb, var(--ara-danger) 40%, transparent);
}
.ara-feat-badge{
  display:inline-flex; align-items:center; gap:4px;
  padding:4px 10px; border-radius:var(--ara-r-pill);
  background:var(--ara-accent); color:var(--ara-on-accent);
  font-size:var(--ara-fs-xs); font-weight:800;
}
.ara-feat-badge svg{ width:12px; height:12px; }
.ara-stock-badge{
  display:inline-block; padding:4px 11px; border-radius:var(--ara-r-pill);
  background:rgba(20,17,42,.72); color:#fff;
  font-size:var(--ara-fs-xs); font-weight:700;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}

.ara-product-quick{
  position:absolute; top:10px; inset-inline-end:10px; z-index:2;
  display:flex; flex-direction:column; gap:6px;
  opacity:0; transform:translateX(-8px);
  transition:opacity var(--ara-t) var(--ara-ease), transform var(--ara-t) var(--ara-ease-out);
}
.ara-product-card:hover .ara-product-quick,
.ara-product-card:focus-within .ara-product-quick{ opacity:1; transform:none; }
@media (hover:none){ .ara-product-quick{ opacity:1; transform:none; } }
.ara-product-quick .ara-icon-btn{
  background:var(--ara-glass-bg-strong);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border-color:var(--ara-glass-line);
}
.ara-product-quick .ara-icon-btn.is-active{ background:var(--ara-danger); color:#fff; }

.ara-product-body{
  display:flex; flex-direction:column; flex:1 1 auto;
  padding:var(--ara-s4);
}
.ara-product-cat{ font-size:var(--ara-fs-xs); color:var(--ara-primary); font-weight:700; margin-bottom:4px; }
.ara-product-title{
  font-size:var(--ara-fs-sm); font-weight:600; line-height:1.6; margin:0 0 var(--ara-s2);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:2.9em;
}
.ara-product-title a{ transition:color var(--ara-t) var(--ara-ease); }
.ara-product-title a:hover{ color:var(--ara-primary); }
.ara-product-rating{ margin-bottom:var(--ara-s3); }

.ara-product-foot{
  margin-top:auto; display:flex; align-items:center; justify-content:space-between;
  gap:var(--ara-s2); flex-wrap:wrap;
}
.ara-product-price{ min-width:0; }
.ara-product-price .price{
  display:flex; flex-direction:column; gap:1px;
  font-size:var(--ara-fs-md); font-weight:800; color:var(--ara-ink);
}
.ara-product-price del{
  font-size:var(--ara-fs-xs); font-weight:400; color:var(--ara-ink-mute);
  text-decoration:line-through; opacity:.8;
}
.ara-product-price ins{ text-decoration:none; color:var(--ara-primary); }
.ara-product-price .woocommerce-Price-currencySymbol{ font-size:.78em; font-weight:600; margin-inline-start:2px; }
.ara-price-call{ font-size:var(--ara-fs-sm); color:var(--ara-ink-mute); }

.ara-add-to-cart{ flex:0 0 auto; }
.ara-add-to-cart span{ display:none; }
.ara-add-to-cart{ width:42px; height:42px; min-height:0; padding:0; border-radius:var(--ara-r-pill); }
.ara-add-to-cart svg{ width:18px; height:18px; }
.ara-add-to-cart.loading{ opacity:.6; pointer-events:none; }
.ara-add-to-cart.added::after{ content:none; }
li.product .added_to_cart{
  position:absolute; bottom:var(--ara-s4); inset-inline-end:var(--ara-s4); z-index:3;
  padding:5px 12px; border-radius:var(--ara-r-pill);
  background:var(--ara-success); color:#fff;
  font-size:var(--ara-fs-xs); font-weight:700;
}

/* حالت فهرستی */
ul.products.is-list{ grid-template-columns:1fr!important; }
ul.products.is-list li.product.ara-product-card{ flex-direction:row; align-items:stretch; }
ul.products.is-list .ara-product-media{ width:150px; flex:0 0 auto; aspect-ratio:1/1; }
ul.products.is-list .ara-product-body{ padding:var(--ara-s5); }
ul.products.is-list .ara-product-title{ font-size:var(--ara-fs-md); min-height:0; -webkit-line-clamp:1; }
ul.products.is-list .ara-add-to-cart{ width:auto; height:auto; min-height:40px; padding:0 var(--ara-s5); }
ul.products.is-list .ara-add-to-cart span{ display:inline; }

/* =========================================================
   5) تک‌محصول
   ========================================================= */
.ara-woo-single div.product{
  display:grid; grid-template-columns:1fr; gap:var(--ara-s6);
  margin-top:var(--ara-s6);
}
.ara-product-gallery-wrap{
  border-radius:var(--ara-r-xl); overflow:hidden; padding:var(--ara-s3);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  box-shadow:var(--ara-e1), inset 0 1px 0 var(--ara-glass-inner);
  position:relative;
}
.woocommerce-product-gallery{ position:relative; }
.woocommerce-product-gallery__wrapper{ border-radius:var(--ara-r-lg); overflow:hidden; }
.woocommerce-product-gallery img{ border-radius:var(--ara-r-lg); width:100%; }
.woocommerce-product-gallery__trigger{
  position:absolute; top:14px; inset-inline-end:14px; z-index:5;
  width:40px; height:40px; border-radius:50%;
  display:flex!important; align-items:center; justify-content:center;
  background:var(--ara-glass-bg-strong); border:1px solid var(--ara-glass-line);
  color:var(--ara-ink); font-size:0; text-decoration:none;
  box-shadow:var(--ara-e1);
}
.woocommerce-product-gallery__trigger::before{
  content:""; width:18px; height:18px; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.flex-control-thumbs{
  display:flex; gap:var(--ara-s2); margin-top:var(--ara-s3);
  overflow-x:auto; padding:2px; scrollbar-width:none; list-style:none;
}
.flex-control-thumbs::-webkit-scrollbar{ display:none; }
.flex-control-thumbs li{ flex:0 0 auto; width:74px; }
.flex-control-thumbs img{
  border-radius:var(--ara-r-sm); cursor:pointer; opacity:.55;
  border:2px solid transparent;
  transition:opacity var(--ara-t) var(--ara-ease), border-color var(--ara-t) var(--ara-ease);
}
.flex-control-thumbs img.flex-active,
.flex-control-thumbs img:hover{ opacity:1; border-color:var(--ara-primary); }

.ara-woo-single div.product .summary{
  display:flex; flex-direction:column;
  padding:var(--ara-s6);
  border-radius:var(--ara-r-xl);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  box-shadow:var(--ara-e1), inset 0 1px 0 var(--ara-glass-inner);
}
.ara-woo-single .product_title{ font-size:var(--ara-fs-2xl); margin:0 0 var(--ara-s3); }
.woocommerce-product-rating{
  display:flex; align-items:center; gap:var(--ara-s3); flex-wrap:wrap;
  margin-bottom:var(--ara-s4); font-size:var(--ara-fs-xs); color:var(--ara-ink-soft);
}
.woocommerce-product-rating .woocommerce-review-link{ color:var(--ara-primary); font-weight:700; }

.ara-woo-single div.product p.price,
.ara-woo-single div.product span.price{
  display:flex; align-items:baseline; gap:var(--ara-s3); flex-wrap:wrap;
  font-size:var(--ara-fs-2xl); font-weight:800; color:var(--ara-primary);
  margin:0 0 var(--ara-s4);
}
.ara-woo-single div.product p.price del{
  font-size:var(--ara-fs-md); font-weight:400; color:var(--ara-ink-mute);
  text-decoration:line-through;
}
.ara-woo-single div.product p.price ins{ text-decoration:none; }

.woocommerce-product-details__short-description{
  font-size:var(--ara-fs-sm); color:var(--ara-ink-soft); line-height:1.9;
  padding-bottom:var(--ara-s4); margin-bottom:var(--ara-s4);
  border-bottom:1px solid var(--ara-glass-line-soft);
}

.ara-woo-single div.product .stock{
  display:inline-flex; align-items:center; gap:6px; width:fit-content;
  padding:5px 14px; border-radius:var(--ara-r-pill);
  font-size:var(--ara-fs-xs); font-weight:700;
  background:var(--ara-success-tint); color:var(--ara-success);
  margin-bottom:var(--ara-s4);
}
.ara-woo-single div.product .stock.out-of-stock{ background:var(--ara-danger-tint); color:var(--ara-danger); }

form.cart{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--ara-s3); margin-bottom:var(--ara-s4); }
form.cart .quantity{ display:inline-flex; }
form.cart .quantity input.qty{
  width:56px; height:50px; text-align:center; border:0; background:transparent;
  font-weight:700; -moz-appearance:textfield; appearance:textfield;
}
form.cart .quantity input.qty::-webkit-outer-spin-button,
form.cart .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
form.cart .single_add_to_cart_button{
  flex:1 1 200px; min-height:52px; padding:0 var(--ara-s6);
  border-radius:var(--ara-r-pill);
  background:var(--ara-primary); color:var(--ara-on-primary);
  font-weight:800; font-size:var(--ara-fs-sm);
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  box-shadow:var(--ara-e-primary);
  transition:background-color var(--ara-t) var(--ara-ease), transform var(--ara-t-fast) var(--ara-ease);
}
form.cart .single_add_to_cart_button:hover{ background:var(--ara-primary-600); }
form.cart .single_add_to_cart_button:active{ transform:scale(.98); }
form.cart table.variations{ width:100%; }
form.cart table.variations td{ padding:6px 0; display:block; }
form.cart table.variations label{ font-size:var(--ara-fs-sm); font-weight:700; margin-bottom:6px; display:block; }
form.cart table.variations select{
  width:100%; min-height:46px; padding:0 var(--ara-s4);
  border-radius:var(--ara-r-sm); background:var(--ara-glass-bg-soft);
  border:1px solid var(--ara-glass-line-soft); color:var(--ara-ink);
}
.reset_variations{ font-size:var(--ara-fs-xs); color:var(--ara-primary); }

.ara-product-assurance{
  display:flex; flex-direction:column; gap:10px; width:100%;
  margin:var(--ara-s4) 0 0; padding-top:var(--ara-s4);
  border-top:1px solid var(--ara-glass-line-soft);
}
.ara-product-assurance li{
  display:flex; align-items:center; gap:9px;
  font-size:var(--ara-fs-xs); color:var(--ara-ink-soft);
}
.ara-product-assurance svg{ width:17px; height:17px; flex:0 0 auto; color:var(--ara-success); }

.product_meta{
  margin-top:var(--ara-s5); padding-top:var(--ara-s4);
  border-top:1px solid var(--ara-glass-line-soft);
  font-size:var(--ara-fs-xs); color:var(--ara-ink-mute);
}
.product_meta > span{ display:block; margin-bottom:6px; }
.product_meta a{ color:var(--ara-primary); }

@media (min-width:1024px){
  .ara-woo-single div.product{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:var(--ara-s7);
    align-items:start;
  }
  .ara-woo-single div.product .woocommerce-tabs,
  .ara-woo-single div.product .related,
  .ara-woo-single div.product .upsells,
  .ara-woo-single div.product .up-sells{ grid-column:1 / -1; }
  .ara-product-gallery-wrap{ position:sticky; top:calc(var(--ara-header-h) + 20px); }
}

/* --- تب‌های محصول --- */
.woocommerce-tabs{ margin-top:var(--ara-s7); }
.woocommerce-tabs ul.tabs{
  display:flex; gap:var(--ara-s2); padding:5px; margin:0 0 var(--ara-s5);
  border-radius:var(--ara-r-pill);
  background:var(--ara-glass-bg-soft); border:1px solid var(--ara-glass-line-soft);
  overflow-x:auto; scrollbar-width:none; list-style:none;
}
.woocommerce-tabs ul.tabs::-webkit-scrollbar{ display:none; }
.woocommerce-tabs ul.tabs li{ flex:0 0 auto; }
.woocommerce-tabs ul.tabs li a{
  display:block; padding:11px 22px; border-radius:var(--ara-r-pill);
  font-size:var(--ara-fs-sm); font-weight:700; color:var(--ara-ink-soft);
  white-space:nowrap; border:1px solid transparent;
  transition:all var(--ara-t) var(--ara-ease);
}
.woocommerce-tabs ul.tabs li a:hover{ color:var(--ara-primary); }
.woocommerce-tabs ul.tabs li.active a{
  background:var(--ara-glass-bg-strong); color:var(--ara-primary);
  border-color:var(--ara-glass-line-soft); box-shadow:var(--ara-e1);
}
.woocommerce-tabs .panel{
  padding:var(--ara-s6);
  border-radius:var(--ara-r-xl);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  box-shadow:var(--ara-e1);
  font-size:var(--ara-fs-sm); line-height:1.95; color:var(--ara-ink-soft);
}
.woocommerce-tabs .panel > h2:first-child{ display:none; }
.woocommerce-tabs .panel h1,.woocommerce-tabs .panel h2,
.woocommerce-tabs .panel h3,.woocommerce-tabs .panel h4{ color:var(--ara-ink); }
.woocommerce-tabs .panel ul{ list-style:disc; padding-inline-start:1.4em; margin-bottom:1em; }
.woocommerce-tabs .panel ol{ list-style:decimal; padding-inline-start:1.4em; margin-bottom:1em; }

table.shop_attributes{ font-size:var(--ara-fs-sm); border-radius:var(--ara-r-sm); overflow:hidden; }
table.shop_attributes th,
table.shop_attributes td{ padding:12px 14px; border:1px solid var(--ara-line); text-align:start; }
table.shop_attributes th{ background:var(--ara-glass-bg-soft); font-weight:700; color:var(--ara-ink); width:35%; }
table.shop_attributes p{ margin:0; }

/* --- دیدگاه‌های محصول --- */
#reviews .commentlist{ display:flex; flex-direction:column; gap:var(--ara-s4); margin-bottom:var(--ara-s6); list-style:none; }
#reviews .comment_container{
  display:flex; gap:var(--ara-s4); padding:var(--ara-s5);
  border-radius:var(--ara-r-md);
  background:var(--ara-glass-bg-soft); border:1px solid var(--ara-glass-line-soft);
}
#reviews .comment_container img.avatar{ width:48px; height:48px; border-radius:50%; flex:0 0 auto; }
#reviews .comment-text{ flex:1 1 auto; min-width:0; }
#reviews .woocommerce-review__author{ font-weight:700; font-size:var(--ara-fs-sm); }
#reviews .woocommerce-review__published-date{ font-size:var(--ara-fs-xs); color:var(--ara-ink-mute); }
#review_form_wrapper{
  padding:var(--ara-s6); border-radius:var(--ara-r-xl);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
}
#review_form .comment-form-rating label{ display:block; margin-bottom:8px; font-weight:700; font-size:var(--ara-fs-sm); }
#review_form .comment-form input[type="text"],
#review_form .comment-form input[type="email"],
#review_form .comment-form textarea{
  width:100%; min-height:48px; padding:12px var(--ara-s4);
  border-radius:var(--ara-r-sm);
  background:var(--ara-glass-bg-soft); border:1px solid var(--ara-glass-line-soft);
  color:var(--ara-ink); margin-bottom:var(--ara-s3);
}
#review_form .comment-form textarea{ min-height:120px; }
#review_form .form-submit input[type="submit"]{
  min-height:48px; padding:0 var(--ara-s6); border:0;
  border-radius:var(--ara-r-pill);
  background:var(--ara-primary); color:var(--ara-on-primary);
  font-weight:700; cursor:pointer;
}

/* ستاره‌های ووکامرس (چون CSS خودش غیرفعال است، اینجا بازسازی می‌شود) */
.star-rating,
.woocommerce-product-rating .star-rating{
  --ara-star-fill:0%;
  position:relative; display:inline-block; overflow:hidden;
  width:90px; height:16px; line-height:16px;
  font-size:0; color:transparent; flex:0 0 auto;
}
.star-rating::before{
  content:""; position:absolute; inset-block:0; inset-inline-start:0; width:100%;
  background:color-mix(in srgb, var(--ara-ink) 16%, transparent);
  -webkit-mask-image:var(--ara-star-img, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2.6l2.7 5.9 6.4.7-4.8 4.4 1.3 6.3L12 16.7 6.4 19.9l1.3-6.3L2.9 9.2l6.4-.7z'/%3E%3C/svg%3E"));
  mask-image:var(--ara-star-img, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2.6l2.7 5.9 6.4.7-4.8 4.4 1.3 6.3L12 16.7 6.4 19.9l1.3-6.3L2.9 9.2l6.4-.7z'/%3E%3C/svg%3E"));
  -webkit-mask-size:18px 16px; mask-size:18px 16px;
  -webkit-mask-repeat:repeat-x; mask-repeat:repeat-x;
}
.star-rating > span{
  position:absolute; inset-block:0; inset-inline-start:0; overflow:hidden;
  padding-top:16px; height:100%; font-size:0;
}
.star-rating > span::before{
  content:""; position:absolute; inset-block:0; inset-inline-start:0; width:100%;
  background:#F5A524;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2.6l2.7 5.9 6.4.7-4.8 4.4 1.3 6.3L12 16.7 6.4 19.9l1.3-6.3L2.9 9.2l6.4-.7z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2.6l2.7 5.9 6.4.7-4.8 4.4 1.3 6.3L12 16.7 6.4 19.9l1.3-6.3L2.9 9.2l6.4-.7z'/%3E%3C/svg%3E");
  -webkit-mask-size:18px 16px; mask-size:18px 16px;
  -webkit-mask-repeat:repeat-x; mask-repeat:repeat-x;
}
p.stars a{
  display:inline-block; width:22px; height:22px; margin-inline-end:3px;
  background:color-mix(in srgb, var(--ara-ink) 20%, transparent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2.6l2.7 5.9 6.4.7-4.8 4.4 1.3 6.3L12 16.7 6.4 19.9l1.3-6.3L2.9 9.2l6.4-.7z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2.6l2.7 5.9 6.4.7-4.8 4.4 1.3 6.3L12 16.7 6.4 19.9l1.3-6.3L2.9 9.2l6.4-.7z'/%3E%3C/svg%3E") center/contain no-repeat;
  text-indent:-9999px; overflow:hidden;
}
p.stars:hover a,
p.stars.selected a.active,
p.stars.selected a:not(.active){ background:#F5A524; }

/* --- محصولات مرتبط --- */
.related.products,
.upsells.products,
.up-sells.products{ margin-top:var(--ara-s8); }
.related.products > h2,
.upsells.products > h2,
.up-sells.products > h2{ font-size:var(--ara-fs-xl); margin-bottom:var(--ara-s5); }

/* =========================================================
   6) پیام‌های ووکامرس
   ========================================================= */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews{
  display:flex; align-items:center; gap:var(--ara-s3); flex-wrap:wrap;
  list-style:none; margin:0 0 var(--ara-s5); padding:var(--ara-s4) var(--ara-s5);
  border-radius:var(--ara-r-md);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  border-inline-start:4px solid var(--ara-primary);
  box-shadow:var(--ara-e1);
  font-size:var(--ara-fs-sm); color:var(--ara-ink);
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{ display:none; }
.woocommerce-message{ border-inline-start-color:var(--ara-success); background:var(--ara-success-tint); }
.woocommerce-error{ border-inline-start-color:var(--ara-danger); background:var(--ara-danger-tint); }
.woocommerce-error li{ list-style:none; width:100%; }
.woocommerce-message .button,
.woocommerce-info .button{ margin-inline-start:auto; }

/* دکمه‌های عمومی ووکامرس */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:46px; padding:0 var(--ara-s5);
  border-radius:var(--ara-r-pill); border:0;
  background:var(--ara-primary); color:var(--ara-on-primary);
  font-size:var(--ara-fs-sm); font-weight:700; line-height:1;
  cursor:pointer;
  transition:background-color var(--ara-t) var(--ara-ease), transform var(--ara-t-fast) var(--ara-ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{ background:var(--ara-primary-600); color:var(--ara-on-primary); }
.woocommerce a.button:active,
.woocommerce button.button:active{ transform:scale(.98); }
.woocommerce button.button:disabled,
.woocommerce button.button.disabled{ opacity:.5; cursor:not-allowed; }

/* =========================================================
   7) سبد خرید
   ========================================================= */
.ara-wc-page{ margin-top:var(--ara-s4); }

table.shop_table.cart{
  display:block; border:0; background:transparent; border-collapse:collapse; margin-bottom:var(--ara-s5);
}
table.shop_table.cart thead{ display:none; }
table.shop_table.cart tbody{ display:flex; flex-direction:column; gap:var(--ara-s3); }
table.shop_table.cart tr{ display:block; }

tr.cart_item{
  display:grid;
  grid-template-columns:auto 74px 1fr;
  grid-template-areas:
    "remove thumb name"
    "price  price price"
    "qty    qty   qty"
    "sub    sub   sub";
  align-items:center; gap:10px var(--ara-s3);
  padding:var(--ara-s4);
  border-radius:var(--ara-r-lg);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  box-shadow:var(--ara-e1);
}
tr.cart_item td{ display:block; border:0!important; padding:0; }
tr.cart_item td.product-remove{ grid-area:remove; }
tr.cart_item td.product-thumbnail{ grid-area:thumb; }
tr.cart_item td.product-name{ grid-area:name; font-weight:700; font-size:var(--ara-fs-sm); }
tr.cart_item td.product-price{ grid-area:price; }
tr.cart_item td.product-quantity{ grid-area:qty; }
tr.cart_item td.product-subtotal{ grid-area:sub; }

tr.cart_item td.product-remove a.remove{
  display:flex!important; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:50%;
  background:var(--ara-glass-bg-soft); color:var(--ara-ink-mute)!important;
  font-size:18px; line-height:1; text-decoration:none;
  transition:all var(--ara-t) var(--ara-ease);
}
tr.cart_item td.product-remove a.remove:hover{ background:var(--ara-danger); color:#fff!important; }
tr.cart_item td.product-thumbnail img{ width:74px; height:74px; border-radius:var(--ara-r-sm); object-fit:cover; }
tr.cart_item td.product-name a{ color:var(--ara-ink); }
tr.cart_item dl.variation{ margin:6px 0 0; font-size:var(--ara-fs-xs); color:var(--ara-ink-mute); font-weight:400; }
tr.cart_item dl.variation dt,
tr.cart_item dl.variation dd{ display:inline; margin:0; }

tr.cart_item td.product-price,
tr.cart_item td.product-quantity,
tr.cart_item td.product-subtotal{
  display:flex!important; align-items:center; justify-content:space-between;
  padding-top:10px; border-top:1px dashed var(--ara-glass-line-soft)!important;
  font-size:var(--ara-fs-sm); color:var(--ara-ink-soft);
}
tr.cart_item td.product-price::before,
tr.cart_item td.product-quantity::before,
tr.cart_item td.product-subtotal::before{
  content:attr(data-title); font-weight:700; color:var(--ara-ink); font-size:var(--ara-fs-xs);
}
tr.cart_item td.product-subtotal{ font-weight:800; color:var(--ara-primary); }

@media (min-width:900px){
  tr.cart_item{
    grid-template-columns:auto 84px minmax(0,2.2fr) 1fr 1.2fr 1fr;
    grid-template-areas:"remove thumb name price qty sub";
    gap:var(--ara-s4);
  }
  tr.cart_item td.product-price,
  tr.cart_item td.product-quantity,
  tr.cart_item td.product-subtotal{
    border-top:0!important; padding-top:0; justify-content:center;
  }
  tr.cart_item td.product-price::before,
  tr.cart_item td.product-quantity::before,
  tr.cart_item td.product-subtotal::before{ display:none; }
  tr.cart_item td.product-subtotal{ justify-content:flex-end; }
}

td.actions{
  display:flex!important; flex-wrap:wrap; gap:var(--ara-s3); align-items:center;
  padding:0!important; border:0!important; background:transparent;
}
.coupon{ display:flex; gap:var(--ara-s2); flex:1 1 260px; flex-wrap:wrap; }
.coupon label{ display:none; }
.coupon input.input-text{
  flex:1 1 160px; min-width:0; min-height:46px; padding:0 var(--ara-s5);
  border-radius:var(--ara-r-pill);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  color:var(--ara-ink);
}

.cart-collaterals{ margin-top:var(--ara-s6); display:flex; justify-content:flex-start; }
.cart_totals{
  width:100%; max-width:420px;
  padding:var(--ara-s6); border-radius:var(--ara-r-xl);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  box-shadow:var(--ara-e2), inset 0 1px 0 var(--ara-glass-inner);
}
.cart_totals h2{ font-size:var(--ara-fs-md); margin-bottom:var(--ara-s4); }
.cart_totals table{ border:0; }
.cart_totals table th,
.cart_totals table td{
  padding:11px 0; border:0!important; font-size:var(--ara-fs-sm); text-align:start;
}
.cart_totals table th{ color:var(--ara-ink-soft); font-weight:600; }
.cart_totals table td{ text-align:end; font-weight:700; }
.cart_totals tr.order-total th,
.cart_totals tr.order-total td{
  padding-top:16px; border-top:1px solid var(--ara-line)!important;
  font-size:var(--ara-fs-lg); font-weight:800; color:var(--ara-primary);
}
.wc-proceed-to-checkout{ margin-top:var(--ara-s5); }
.wc-proceed-to-checkout a.checkout-button{ display:flex!important; width:100%; min-height:52px; }
.woocommerce-shipping-totals ul#shipping_method{ display:flex; flex-direction:column; gap:8px; }
.woocommerce-shipping-totals label{ font-size:var(--ara-fs-sm); }

.cart-empty,
.wc-empty-cart-message{ text-align:center; }
.return-to-shop{ text-align:center; margin-top:var(--ara-s4); }

/* =========================================================
   8) تسویه‌حساب
   ========================================================= */
.woocommerce-checkout .col2-set{ display:grid; grid-template-columns:1fr; gap:var(--ara-s5); }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{ width:auto; float:none; }
@media (min-width:900px){
  .woocommerce-checkout .col2-set{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields{
  padding:var(--ara-s6); border-radius:var(--ara-r-xl);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  box-shadow:var(--ara-e1);
  margin-bottom:var(--ara-s5);
}
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#ship-to-different-address{ font-size:var(--ara-fs-md); margin-bottom:var(--ara-s4); }
#ship-to-different-address label{ display:flex; align-items:center; gap:10px; cursor:pointer; }

.woocommerce form .form-row{ display:flex; flex-direction:column; margin-bottom:var(--ara-s4); padding:0; }
.woocommerce form .form-row label{
  font-size:var(--ara-fs-sm); font-weight:700; margin-bottom:8px; color:var(--ara-ink);
}
.woocommerce form .form-row label .required{ color:var(--ara-danger); text-decoration:none; }
.woocommerce form .form-row .optional{ color:var(--ara-ink-mute); font-weight:400; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  width:100%; min-height:50px; padding:13px var(--ara-s4);
  border-radius:var(--ara-r-sm);
  background:var(--ara-glass-bg-soft); border:1px solid var(--ara-glass-line-soft);
  color:var(--ara-ink); font-size:var(--ara-fs-base);
  transition:border-color var(--ara-t) var(--ara-ease), box-shadow var(--ara-t) var(--ara-ease);
}
.woocommerce form .form-row textarea{ min-height:110px; line-height:1.8; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  outline:none; border-color:var(--ara-primary);
  box-shadow:0 0 0 4px var(--ara-primary-tint);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text{ border-color:var(--ara-danger); }
.woocommerce form .form-row.woocommerce-validated input.input-text{ border-color:var(--ara-success); }
@media (min-width:640px){
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last{ width:calc(50% - 8px); display:inline-flex; }
  .woocommerce form .form-row-first{ float:right; }
  .woocommerce form .form-row-last{ float:left; }
  .woocommerce form .clear{ clear:both; }
}

.select2-container--default .select2-selection--single{
  height:50px!important; padding:0 6px;
  border-radius:var(--ara-r-sm)!important;
  background:var(--ara-glass-bg-soft)!important;
  border:1px solid var(--ara-glass-line-soft)!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:48px!important; color:var(--ara-ink)!important; padding-inline-start:10px!important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{ height:48px!important; }
.select2-dropdown{
  border-radius:var(--ara-r-sm)!important; overflow:hidden;
  border-color:var(--ara-line)!important; background:var(--ara-bg)!important; color:var(--ara-ink);
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background:var(--ara-primary)!important; color:var(--ara-on-primary)!important;
}

#order_review_heading{ font-size:var(--ara-fs-md); margin:var(--ara-s5) 0 var(--ara-s4); }
#order_review{
  padding:var(--ara-s6); border-radius:var(--ara-r-xl);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  box-shadow:var(--ara-e2), inset 0 1px 0 var(--ara-glass-inner);
}
table.woocommerce-checkout-review-order-table{ border:0; margin-bottom:var(--ara-s5); }
table.woocommerce-checkout-review-order-table thead{ display:none; }
table.woocommerce-checkout-review-order-table tbody tr{ border-bottom:1px dashed var(--ara-glass-line-soft); }
table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td{
  padding:12px 0; border:0!important; font-size:var(--ara-fs-sm); text-align:start;
}
table.woocommerce-checkout-review-order-table td{ text-align:end; font-weight:700; }
table.woocommerce-checkout-review-order-table .product-quantity{ color:var(--ara-ink-mute); font-weight:400; }
table.woocommerce-checkout-review-order-table tfoot th{ color:var(--ara-ink-soft); font-weight:600; }
table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td{
  padding-top:16px; border-top:1px solid var(--ara-line)!important;
  font-size:var(--ara-fs-lg); font-weight:800; color:var(--ara-primary);
}

.wc_payment_methods{ list-style:none; margin:0 0 var(--ara-s5); padding:0; display:flex; flex-direction:column; gap:10px; }
.wc_payment_method{
  padding:var(--ara-s4); border-radius:var(--ara-r-md);
  background:var(--ara-glass-bg-soft); border:1.5px solid var(--ara-glass-line-soft);
  transition:border-color var(--ara-t) var(--ara-ease);
}
.wc_payment_method:has(input:checked){ border-color:var(--ara-primary); background:var(--ara-primary-tint); }
.wc_payment_method label{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:var(--ara-fs-sm); cursor:pointer; }
.wc_payment_method input[type="radio"]{ accent-color:var(--ara-primary); width:18px; height:18px; }
.wc_payment_method .payment_box{
  margin-top:12px; padding:var(--ara-s4);
  border-radius:var(--ara-r-sm);
  background:var(--ara-glass-bg); font-size:var(--ara-fs-xs); color:var(--ara-ink-soft);
}
.wc_payment_method .payment_box::before{ display:none; }
.woocommerce-terms-and-conditions-wrapper{ font-size:var(--ara-fs-xs); color:var(--ara-ink-soft); margin-bottom:var(--ara-s4); }
.woocommerce-terms-and-conditions-wrapper label{ display:flex; align-items:flex-start; gap:10px; }
#place_order{ width:100%!important; min-height:56px!important; font-size:var(--ara-fs-md)!important; }

.woocommerce-form-coupon-toggle .woocommerce-info{ border-inline-start-color:var(--ara-accent); }
form.checkout_coupon{
  display:flex; flex-wrap:wrap; gap:var(--ara-s3); align-items:flex-end;
  padding:var(--ara-s5); margin-bottom:var(--ara-s5);
  border-radius:var(--ara-r-lg);
  background:var(--ara-accent-tint);
  border:1.5px dashed color-mix(in srgb, var(--ara-accent) 45%, transparent);
}
form.checkout_coupon .form-row{ flex:1 1 200px; margin:0; }
form.checkout_coupon .form-row-last{ flex:0 0 auto; }

/* =========================================================
   9) حساب کاربری
   ========================================================= */
.woocommerce-account .woocommerce{ display:grid; grid-template-columns:1fr; gap:var(--ara-s5); }
@media (min-width:900px){
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){
    grid-template-columns:250px minmax(0,1fr);
    align-items:start;
  }
}
.woocommerce-MyAccount-navigation{
  padding:var(--ara-s4); border-radius:var(--ara-r-xl);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  box-shadow:var(--ara-e1);
}
.woocommerce-MyAccount-navigation ul{ display:flex; flex-direction:column; gap:2px; }
.woocommerce-MyAccount-navigation li a{
  display:block; padding:12px var(--ara-s4); border-radius:var(--ara-r-sm);
  font-size:var(--ara-fs-sm); font-weight:600; color:var(--ara-ink-soft);
  transition:all var(--ara-t) var(--ara-ease);
}
.woocommerce-MyAccount-navigation li a:hover{ background:var(--ara-primary-tint); color:var(--ara-primary); }
.woocommerce-MyAccount-navigation li.is-active a{
  background:var(--ara-primary); color:var(--ara-on-primary);
  box-shadow:var(--ara-e-primary);
}
.woocommerce-MyAccount-content{
  padding:var(--ara-s6); border-radius:var(--ara-r-xl);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  box-shadow:var(--ara-e1);
  font-size:var(--ara-fs-sm); color:var(--ara-ink-soft);
}
.woocommerce-MyAccount-content a{ color:var(--ara-primary); font-weight:600; }

table.woocommerce-orders-table,
table.shop_table_responsive{
  font-size:var(--ara-fs-sm); border-radius:var(--ara-r-md); overflow:hidden; border:1px solid var(--ara-line);
}
table.shop_table th{ background:var(--ara-glass-bg-soft); font-weight:700; color:var(--ara-ink); }
table.shop_table th,
table.shop_table td{ padding:13px 14px; border-bottom:1px solid var(--ara-line); text-align:start; }

.woocommerce-form-login,
.woocommerce-form-register{
  padding:var(--ara-s6); border-radius:var(--ara-r-xl);
  background:var(--ara-glass-bg); border:1px solid var(--ara-glass-line-soft);
  box-shadow:var(--ara-e1);
}
.woocommerce-form-login__rememberme{ display:flex; align-items:center; gap:8px; }

/* =========================================================
   10) ابزارک‌های فیلتر ووکامرس
   ========================================================= */
.ara-filters .widget_price_filter .price_slider_wrapper{ padding-top:8px; }
.widget_price_filter .ui-slider{
  position:relative; height:5px; border-radius:999px;
  background:color-mix(in srgb, var(--ara-ink) 12%, transparent); margin:12px 0 20px;
}
.widget_price_filter .ui-slider .ui-slider-range{ position:absolute; height:100%; background:var(--ara-primary); border-radius:999px; }
.widget_price_filter .ui-slider .ui-slider-handle{
  position:absolute; top:-7px; width:19px; height:19px; margin-inline-start:-9px;
  border-radius:50%; background:#fff; border:3px solid var(--ara-primary);
  box-shadow:var(--ara-e1); cursor:grab;
}
.widget_price_filter .price_slider_amount{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:var(--ara-fs-xs); }
.widget_price_filter .price_slider_amount .button{ order:2; }
.widget_price_filter .price_label{ order:1; color:var(--ara-ink-soft); }

.ara-filters .widget ul li{ padding:7px 0; font-size:var(--ara-fs-sm); }
.ara-filters .widget ul li a{ color:var(--ara-ink-soft); }
.ara-filters .widget ul li a:hover{ color:var(--ara-primary); }
.ara-filters .widget .count{ color:var(--ara-ink-mute); font-size:var(--ara-fs-xs); }

/* =========================================================
   11) اسکلت خالی
   ========================================================= */
.woocommerce-no-products-found{ padding:var(--ara-s7) 0; }
