/* =====================================================================
   Parsled WooCommerce Integration (v2.8.4)
   هدف: هماهنگی ۱۰۰٪ ووکامرس با UI قالب اصلی Pars LED
   - RTL درست
   - کارت‌های محصول هم‌استایل با HTML
   - صفحه محصول مینیمال و حرفه‌ای
   - تب‌های توضیحات/نظرات راست‌چین و بدون فاصله‌های عجیب
   ===================================================================== */

/* -----------------------------
   Base / Reset (Woo pages)
   ----------------------------- */
.woocommerce, .woocommerce-page{
  direction: rtl;
  text-align: right;
}
.woocommerce *, .woocommerce-page *{
  box-sizing: border-box;
}
/* -----------------------------
   A11y: screen-reader text (Woo + WP)
   بدون CSS پیش‌فرض ووکامرس/وردپرس، بعضی labelها (مثل quantity) به‌صورت متن دیده می‌شوند.
   ----------------------------- */
.screen-reader-text{
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus{
  clip: auto !important;
  clip-path: none;
  display: block;
  height: auto;
  width: auto;
  left: 10px;
  top: 10px;
  z-index: 100000;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 28px rgba(0,0,0,0.10);
}


/* Typography: enforce theme font everywhere in Woo */
.woocommerce :where(button, input, select, textarea, a, .button){
  font-family: inherit !important;
}

/* Remove Woo floats that often break RTL layouts */
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .col-2,
.woocommerce form .form-row-first,
.woocommerce form .form-row-last{
  float: none !important;
  width: 100% !important;
}

/* -----------------------------
   Notices
   ----------------------------- */
.woocommerce-message, .woocommerce-error, .woocommerce-info{
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 22px rgba(0,0,0,0.06);
  padding: 14px 14px;
  margin: 0 0 18px;
}

/* -----------------------------
   Forms (global)
   ----------------------------- */
.woocommerce form{
  margin: 0;
}
.woocommerce form .form-row{
  padding: 0;
  margin: 0 0 14px;
  width: 100% !important;
  display: block !important;
  clear: both !important;
}
.woocommerce form .form-row label{
  display: block;
  margin: 0 0 8px;
  font-weight: 800;
  color: var(--text);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.10);
  padding: 12px 14px;
  background: #fff;
}
.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input{
  left: 14px;
  right: auto;
}

/* -----------------------------
   Buttons (Woo)
   ----------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce-page .button{
  border: none;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
  background: linear-gradient(90deg, #b58cff, #66d59a) !important;
  color: #fff !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(205,156,242,0.22);
}
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce .button:active{
  transform: translateY(0);
}

/* Ensure block buttons inherit */
.woocommerce :where(.wc-block-components-button){
  font-family: inherit !important;
}

/* Front page / non-woocommerce wrappers:
   WC loop add-to-cart buttons render with `.button` but outside `.woocommerce`.
   Make them match the HTML button style used in product cards.
*/
.products-grid-static :where(a.button, button.button, input.button),
.product-card :where(a.button, button.button, input.button){
  border: none;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
  background: linear-gradient(90deg, #b58cff, #66d59a);
  color: #fff;
  text-decoration: none;
}
.products-grid-static :where(a.button, button.button, input.button):hover,
.product-card :where(a.button, button.button, input.button):hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(205,156,242,0.22);
}
.products-grid-static :where(a.button, button.button, input.button):active,
.product-card :where(a.button, button.button, input.button):active{
  transform: translateY(0);
}

/* Product card rating polish (Home + archives) */
.product-card .product-rating{
  display:flex;
  align-items:center;
  gap:8px;
}
.product-card .star-rating{
  float:none;
  margin:0;
}
.product-card .rating-count{
  color: rgba(0,0,0,0.55);
  font-size: 13px;
  font-weight: 700;
}

/* -----------------------------
   My Account (Login/Register)
   ----------------------------- */
.woocommerce-account .parsled-auth #customer_login{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}
@media (max-width: 900px){
  .woocommerce-account .parsled-auth #customer_login{ grid-template-columns: 1fr; }
}
.woocommerce-account .parsled-auth__card{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 14px 28px rgba(0,0,0,0.06);
}
.woocommerce-account .parsled-auth__title{
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 900;
}
.woocommerce-account .woocommerce-form-login button[type="submit"],
.woocommerce-account .woocommerce-form-register button[type="submit"]{
  width: 100%;
}

/* My Account navigation/content */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  float: none !important;
  width: 100% !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background: rgba(125,92,246,0.10);
  border-color: rgba(125,92,246,0.25);
  font-weight: 900;
}
.woocommerce-account .woocommerce-MyAccount-content{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 14px 28px rgba(0,0,0,0.06);
}

/* -----------------------------
   Shop / Category (Grid + Cards)
   ----------------------------- */
.woocommerce ul.products,
.woocommerce .products{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Ensure grid starts from right in RTL */
.woocommerce-page .products-grid-static{
  direction: rtl;
  width: 100%;
  align-items: stretch;
  justify-items: stretch;
}
/* Woo archive grid (Category/Shop)
   - اگر تعداد محصولات کم باشد، کارت‌ها وسط و استاندارد دیده می‌شوند (نه چسبیده به راست با ستون‌های خالی)
   - روی صفحات woocommerce-section اعمال می‌شود تا هوم تغییر نکند
*/
.woocommerce-section .products-grid-static{
  grid-template-columns: repeat(auto-fit, minmax(250px, 340px));
  justify-content: center;
  gap: 24px;
}

/* Category header description (tagline) – centered and compact */
.tax-product_cat .woocommerce-section .section-header .term-description{
  margin-top: 8px;
  color: var(--muted);
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  line-height: 1.9;
}
.tax-product_cat .woocommerce-section .section-header .term-description p{
  margin: 0;
  display: inline;
}
/* اگر توضیحات در چند پاراگراف باشد، بین‌شان فاصله بیفتد */
.tax-product_cat .woocommerce-section .section-header .term-description p + p:before{
  content: " ";
}


/* Force product card media sizing on Woo archives (prevents huge images) */
.woocommerce-page .product-card .product-image{
  display: block;
  width: 100%;
  height: 200px;
  overflow: hidden;
  background: #f8f9fa;
}
.woocommerce-page .product-card .product-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Make card title/link behave like HTML (no underlines, consistent color) */
.woocommerce-page .product-card .product-title a{
  color: inherit;
  text-decoration: none;
}

/* -----------------------------
   Single Product (Professional + Minimal)
   ساختار: media (راست) + summary (چپ)
   ----------------------------- */
.woocommerce-section{ padding: 48px 0; }
@media (max-width: 768px){ .woocommerce-section{ padding: 28px 0; } }

/* Desktop layout: balanced two-column grid (media + summary)
   هدف: در یک اسکرول بخش تصویر + خرید خوب دیده شود و کارت‌ها بزرگ‌تر باشند */
.woocommerce div.product .parsled-product{
  display: grid;
  /* v3.1.0: کمی بزرگ‌تر (گالری/سبد) + ارتفاع هم‌تراز */
  /* v3.1.1: جلوگیری از بیرون‌زدگی کارت سبد در برخی عرض‌ها + حفظ تعادل */
  /* v3.1.2: تعادل بهتر بین گالری و سبد + جلوگیری از بیرون‌زدگی */
  grid-template-columns: minmax(620px, 1.42fr) minmax(390px, 0.92fr);
  gap: 22px;
  align-items: stretch;
}
@media (max-width: 1180px){
  .woocommerce div.product .parsled-product{ grid-template-columns: 1fr 460px; }
}
@media (max-width: 980px){
  .woocommerce div.product .parsled-product{ grid-template-columns: 1fr; gap: 18px; }
}

/* Cards */
.woocommerce div.product .parsled-product__media,
.woocommerce div.product .parsled-product__summary{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.05);
  /* Equal height columns */
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Summary content flex so trust block sits naturally after main content */
.woocommerce div.product .parsled-product__summary .summary{
  /* v3.1.2: جلوگیری از ایجاد فضای خالی زیاد بعد از متا */
  flex: 0 0 auto;
}

/* Trust block should sit at the bottom without stretching the content */
.woocommerce div.product .parsled-product__summary .parsled-trust-inline{
  margin-top: auto;
}

/* Trust block inside summary (separate mini-card look) */
.woocommerce div.product .parsled-trust-inline{
  margin-top: 0;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,0.06);
}
.woocommerce div.product .parsled-trust-inline .parsled-trust-card{
  background: rgba(0,0,0,0.02);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 14px;
  padding: 10px 12px;
  box-shadow: none;
}
/* Summary alignment + spacing */
.woocommerce div.product .parsled-product__summary{
  direction: rtl;
  text-align: right;
}
.woocommerce div.product .parsled-product__summary .product_title{
  margin: 0 0 14px !important;
  font-size: 26px;
  line-height: 1.5;
  font-weight: 900;
}
@media (max-width: 640px){
  .woocommerce div.product .parsled-product__summary .product_title{ font-size: 22px; }
}

.woocommerce div.product .parsled-product__summary p.price,
.woocommerce div.product .parsled-product__summary span.price{
  margin: 0 0 16px !important;
  font-size: 20px;
  font-weight: 900;
}

.woocommerce div.product .parsled-product__summary .woocommerce-product-details__short-description{
  margin: 0 0 14px;
  color: rgba(0,0,0,0.72);
  line-height: 1.95;
}

/* Rating (Stars) – Woo CSS is disabled, so we re-implement a clean, minimal rating UI.
   مشکل: متن داخل .star-rating span (مثل «امتیازدهی 5.00 از 5…») نباید به صورت متن دیده شود.
*/
.woocommerce div.product .woocommerce-product-rating{
  margin: 0 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  direction: rtl;
}

.woocommerce div.product .star-rating{
  position: relative;
  display: inline-block;
  width: 5.4em;
  height: 1em;
  line-height: 1;
  font-size: 14px;
  overflow: hidden;
}

.woocommerce div.product .star-rating::before{
  content: "★★★★★";
  position: absolute;
  top: 0;
  right: 0;
  letter-spacing: 2px;
  color: rgba(0,0,0,0.18);
}

.woocommerce div.product .star-rating span{
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-indent: -9999px;
}

.woocommerce div.product .star-rating span::before{
  content: "★★★★★";
  position: absolute;
  top: 0;
  right: 0;
  letter-spacing: 2px;
  color: var(--accent);
  text-indent: 0;
}

.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link{
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
  color: rgba(0,0,0,0.62);
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(0,0,0,0.02);
}
.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link:hover{
  filter: brightness(0.98);
}

/* Add to cart row: qty on right, button takes remaining space */
.woocommerce div.product form.cart{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.woocommerce div.product form.cart div.quantity{
  margin: 0 !important;
}
.woocommerce .quantity .qty{
  width: 88px !important;
  height: 44px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0,0,0,0.12) !important;
  padding: 0 10px !important;
  text-align: center !important;
  font-weight: 900;
  font-size: 15px;
}
.woocommerce div.product form.cart .single_add_to_cart_button{
  flex: 1 1 240px;
  min-width: 220px;
  height: 44px;
  border-radius: 18px !important;
  font-weight: 800 !important;
  font-size: 14px;
}

/* Single add-to-cart button should feel more delicate than global buttons */
.woocommerce div.product form.cart .single_add_to_cart_button:hover{
  transform: translateY(-1px);
}

@media (max-width: 560px){
  .woocommerce div.product form.cart{
    flex-direction: column;
    align-items: stretch;
  }
  .woocommerce .quantity .qty{
    width: 100% !important;
  }
  .woocommerce div.product form.cart .single_add_to_cart_button{
    width: 100% !important;
    min-width: 0;
  }
}

/* Buy box polish (Simple products)
   - جلوگیری از بدقواره شدن باکس تعداد/دکمه
   - یکدست شدن ارتفاع و جلوگیری از شکستن متن دکمه
*/
.woocommerce div.product form.cart:not(.variations_form){
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  align-items: stretch;
}
.woocommerce div.product form.cart:not(.variations_form) .quantity{
  width: 96px;
}
.woocommerce div.product form.cart:not(.variations_form) .single_add_to_cart_button{
  width: 100% !important;
  min-width: 0;
  white-space: nowrap;
}
@media (max-width: 560px){
  .woocommerce div.product form.cart:not(.variations_form){
    grid-template-columns: 1fr;
  }
  .woocommerce div.product form.cart:not(.variations_form) .quantity{
    width: 100%;
  }
}

/* Meta (category/tag) */
.woocommerce div.product .product_meta{
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,0.06);
  font-size: 13px;
  color: rgba(0,0,0,0.65);
}
.woocommerce div.product .product_meta a{
  font-weight: 900;
}

/* Gallery (Stable sizing)
   هدف: اندازه باکس تصویر اصلی مستقل از ابعاد تصویر باشد (برای تصاویر عمودی/افقی بهم نریزد).
   نکته: ممکن است Flexslider فعال/غیرفعال باشد؛ پس روی wrapper/image هم استایل می‌دهیم.
*/
.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery{
  width: 100%;
  margin: 0 !important;
}

.woocommerce div.product .woocommerce-product-gallery{
  position: relative;
}

/* Predictable heights (desktop/mobile) */
.woocommerce div.product{
  --parsled-gallery-h: 380px;
  --parsled-thumb-w: 72px;
  --parsled-thumb-h: 56px;
}
@media (max-width: 640px){
  .woocommerce div.product{ --parsled-gallery-h: 300px; }
}

.woocommerce div.product div.images .flex-viewport{
  border-radius: 18px;
  overflow: hidden;
  background: #f8f9fa;
}

/* Each slide/image gets a fixed height box */
.woocommerce div.product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
.woocommerce div.product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image a{
  margin: 0 !important;
  height: var(--parsled-gallery-h);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8f9fa;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img,
.woocommerce div.product div.images .flex-viewport img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  background: #f8f9fa;
  display: block;
}

/* Thumbnails */
.woocommerce div.product div.images .flex-control-thumbs{
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  direction: rtl;
  justify-content: flex-start; /* در RTL به سمت راست می‌چسبد */
}
.woocommerce div.product div.images .flex-control-thumbs li{
  float: none !important;
  width: var(--parsled-thumb-w);
  margin: 0 !important;
}
.woocommerce div.product div.images .flex-control-thumbs img{
  width: 100% !important;
  height: var(--parsled-thumb-h) !important;
  object-fit: cover;
  border-radius: 14px;
  background: #f8f9fa;
  border: 1px solid rgba(0,0,0,0.06);
}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active{
  border-color: rgba(125,92,246,0.35);
  box-shadow: 0 10px 20px rgba(125,92,246,0.12);
}

/* -----------------------------
   Tabs (Description / Reviews) – RTL + clean
   ----------------------------- */
.woocommerce div.product .woocommerce-tabs{
  margin-top: 24px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 14px 28px rgba(0,0,0,0.06);
  direction: rtl;
  text-align: right;
}

.woocommerce div.product .woocommerce-tabs ul.tabs{
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li[aria-selected="true"]{
  background: rgba(125,92,246,0.08);
  border-color: rgba(125,92,246,0.25);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display: block;
  padding: 10px 14px;
  font-weight: 900;
  color: var(--text);
}

/* Panels: no extra card, keep inside tabs card */
.woocommerce div.product .woocommerce-tabs .panel{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  direction: rtl;
  text-align: right;
}

/* Content spacing inside panels */
.woocommerce div.product .woocommerce-tabs .panel :where(h1,h2,h3){
  margin-top: 0;
}
.woocommerce div.product .woocommerce-tabs .panel :where(p, ul, ol){
  line-height: 2;
}

/* Reviews list/form RTL polish */
.woocommerce div.product #reviews{
  direction: rtl;
  text-align: right;
}
.woocommerce div.product #reviews .commentlist{
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce div.product #reviews .commentlist li{
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  background: rgba(255,255,255,0.75);
}
.woocommerce div.product #reviews #reply-title{
  font-weight: 900;
}

/* Rating select alignment */
.woocommerce div.product #review_form_wrapper .comment-form-rating,
.woocommerce div.product #review_form_wrapper .comment-form-comment{
  margin-bottom: 14px;
}

/* -----------------------------
   Cart / Checkout (minimal polish)
   ----------------------------- */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.06);
}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 14px 28px rgba(0,0,0,0.06);
}

/* -----------------------------
   Cart – proceed to checkout button (Classic + Blocks)
   ----------------------------- */

/* Classic shortcode cart */
.woocommerce-cart .wc-proceed-to-checkout{
  margin-top: 14px;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width: 100%;
  justify-content: center;
  padding: 14px 18px;
  font-size: 15px;
}

/* Woo Blocks cart/checkout buttons */
.woocommerce :where(.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button){
  border: none !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  background: linear-gradient(90deg, #b58cff, #66d59a) !important;
  color: #fff !important;
  cursor: pointer;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.woocommerce :where(.wc-block-components-button):hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(205,156,242,0.22);
}
.woocommerce :where(.wc-block-components-button):active{
  transform: translateY(0);
}

/* -----------------------------
   Checkout – layout + cards (Classic shortcode)
   ----------------------------- */
.woocommerce-checkout .woocommerce-checkout-review-order-table{
  margin-bottom: 14px;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 14px 28px rgba(0,0,0,0.06);
  margin-bottom: 18px;
}

/* Fields grid (reduces empty vertical space, more user-friendly) */
@media (min-width: 900px){
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 16px;
  }

  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row{
    margin: 0 !important;
  }

  /* allow grid widths */
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last{
    width: auto !important;
  }

  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide{
    grid-column: 1 / -1;
  }
}

/* Order review box polish */
.woocommerce-checkout #order_review{
  position: relative;
}
@media (min-width: 980px){
  .woocommerce-checkout form.checkout{
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 24px;
    align-items: start;
  }
  .woocommerce-checkout #customer_details{ grid-column: 1; }
  .woocommerce-checkout #order_review{
    grid-column: 2;
    position: sticky;
    top: 110px;
  }
}

/* Payment box */
.woocommerce-checkout #payment{
  background: rgba(255,255,255,0.75);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  padding: 14px;
}
.woocommerce-checkout #payment ul.payment_methods{
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li{
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 14px;
  background: #fff;
}
.woocommerce-checkout #payment .place-order{
  margin-top: 12px;
}

.woocommerce div.product .woocommerce-tabs{ clear: both; }

/* -----------------------------
   Single Product – Trust card under Add-to-Cart
   (Compact, minimal; designed to not break desktop layout)
   ----------------------------- */
/* Trust items container (now sits inside its own card: .parsled-product__trust) */
.woocommerce div.product .parsled-trust-card{
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.woocommerce div.product .parsled-trust-item{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: 12px;
  font-weight: 900;
  color: rgba(0,0,0,0.72);
  line-height: 1.35;
}

.woocommerce div.product .parsled-trust-icon{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
  background: rgba(125,92,246,0.08);
  border: 1px solid rgba(125,92,246,0.18);
  color: var(--accent);
}

.woocommerce div.product .parsled-trust-icon svg{
  width: 13px;
  height: 13px;
  fill: currentColor;
}

.woocommerce div.product .parsled-trust-text{
  overflow: visible;
  text-overflow: initial;
  white-space: normal;
  line-height: 1.35;
}

@media (max-width: 560px){
  .woocommerce div.product .parsled-trust-card{
    grid-template-columns: 1fr;
  }
  .woocommerce div.product .parsled-trust-text{
    white-space: normal;
  }
}

/* -----------------------------
   Single Product – Related products block (3 cards)
   ----------------------------- */
.woocommerce div.product .parsled-related-products{
  margin-top: 24px;
}

.woocommerce div.product .parsled-related-title{
  margin: 0 0 14px;
  font-size: 20px;
  font-weight: 900;
  color: var(--text);
}

/* Ensure related grid is exactly 3 cards on desktop (responsive down to 2/1) */
.woocommerce div.product .parsled-related-products .products-grid-static{
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  justify-content: center;
  gap: 18px;
}
@media (max-width: 980px){
  .woocommerce div.product .parsled-related-products .products-grid-static{
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}
@media (max-width: 560px){
  .woocommerce div.product .parsled-related-products .products-grid-static{
    grid-template-columns: 1fr;
  }
}

/* Related card refinement (more delicate) */
.woocommerce div.product .parsled-related-products .product-card{
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}
.woocommerce div.product .parsled-related-products .product-image{
  height: 170px;
  border-radius: 14px;
}
.woocommerce div.product .parsled-related-products .product-content{
  padding: 14px 14px 16px;
}
.woocommerce div.product .parsled-related-products .product-title{
  font-size: 15px;
  margin-bottom: 8px;
}
.woocommerce div.product .parsled-related-products .product-buy-btn{
  padding: 10px 14px;
  font-size: 13px;
}

/* Remove extra top spacing if any */
.woocommerce div.product .parsled-related-products .products-section{
  margin-top: 0;
}

/* =============================
   Product Category / Shop Archive (v2.9)
   ============================= */
.woocommerce-archive .container{max-width:1200px;}

.wc-archive-header{padding: 8px 0 14px; text-align:center;}
.wc-archive-title{margin: 0 0 8px; font-size: 22px; font-weight: 800;}
.wc-archive-desc{max-width: 760px; margin: 0 auto; opacity: .9;}
.wc-archive-desc p{margin:0;}
.wc-archive-desc p + p{margin-top:6px;}

.wc-archive-toolbar{display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin: 10px 0 18px; padding: 10px 12px; border: 1px solid rgba(0,0,0,.06); border-radius: 16px; background: rgba(255,255,255,.75); backdrop-filter: blur(6px);}
.wc-archive-count{font-size: 13px; opacity: .9;}

/* Make Woo ordering look like theme UI */
.woocommerce .woocommerce-ordering,
.wc-archive-ordering .woocommerce-ordering{margin:0; float:none;}
.woocommerce .woocommerce-ordering select,
.wc-archive-ordering select{font-family: inherit; font-size: 13px; padding: 10px 12px; border-radius: 14px; border: 1px solid rgba(0,0,0,.10); background:#fff; min-width: 220px;}

/* Grid container comes from loop-start.php: .products-grid-static */
.products-section{margin-top: 8px;}
.products-grid-static{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; align-items: stretch;}

@media (max-width: 1024px){
  .products-grid-static{grid-template-columns: repeat(2, minmax(0,1fr));}
}
@media (max-width: 600px){
  .products-grid-static{grid-template-columns: 1fr;}
  .wc-archive-toolbar{border-radius: 14px;}
  .wc-archive-ordering select{min-width: 100%; width:100%;}
}

/* Pagination */
.wc-archive-pagination{margin-top: 22px; display:flex; justify-content:center;}
.woocommerce nav.woocommerce-pagination ul{border:0; display:flex; gap:8px;}
.woocommerce nav.woocommerce-pagination ul li{border:0;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{min-width: 38px; height: 38px; display:inline-flex; align-items:center; justify-content:center; border-radius: 12px; border: 1px solid rgba(0,0,0,.08); background:#fff; font-family: inherit;}
.woocommerce nav.woocommerce-pagination ul li span.current{border-color: rgba(0,0,0,.12); box-shadow: 0 8px 20px rgba(0,0,0,.06);}

/* Ensure our card stays neat in archives */
.wc-product-card{display:flex; flex-direction:column; height:100%;}
.wc-product-card .product-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;}
.wc-product-card .product-actions .product-add-btn{width:100%;}
.wc-product-card .product-actions .product-view-btn{width:100%;}
.wc-product-card .product-actions .product-view-btn.button{border-radius:8px;}
.wc-product-card .product-image-box{aspect-ratio: 1 / 1; border-radius: 18px; overflow:hidden; background: rgba(0,0,0,.02); display:flex; align-items:center; justify-content:center;}
.wc-product-card .product-image{width:100%; height:100%; object-fit: contain;}
.wc-product-card .product-info{display:flex; flex-direction:column; gap:10px; padding-top: 10px;}
.wc-product-card .product-name{margin:0; font-size: 14px; line-height: 1.6; min-height: 44px;}
.wc-product-card .product-meta-row{display:flex; align-items:center; justify-content:flex-start; gap:8px;}
.wc-product-card .rating-count{font-size:12px; opacity:.75; min-height: 16px;}
.wc-product-card .product-price{margin-top:2px;}
.wc-product-card .product-actions{display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-top:auto;}
.wc-product-card .product-actions .button{width:100%;}
/* Make buttons match the original HTML card style */
.wc-product-card .product-actions a.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:8px;
  font-weight:700;
  font-size:13px;
  line-height:1;
  font-family:inherit;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.wc-product-card .product-actions a.button:not(.product-view-btn){
  background: linear-gradient(90deg, #b58cff, #66d59a);
  color: #fff;
  border: 0;
}
.wc-product-card .product-actions a.button:not(.product-view-btn):hover{
  filter: brightness(1.02);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(205,156,242,0.22);
}
.wc-product-card .product-actions .product-view-btn{
  background: transparent;
  border: 1px solid rgba(0,0,0,.14);
  color: inherit;
}
.wc-product-card .product-actions .product-view-btn:hover{
  background: rgba(0,0,0,.04);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}



/* =====================================================================
   v2.9.4 Archive polish (product categories)
   ===================================================================== */
.woocommerce-archive-hero .container{max-width:1200px;margin:0 auto;padding:0 16px;}
.woocommerce-archive-hero .archive-header{text-align:center;margin:18px auto 10px;max-width:760px;}
.woocommerce-archive-hero .archive-title{margin:0 0 8px;font-size:28px;line-height:1.35;}
.woocommerce-archive-hero .archive-description{margin:0 auto;color:rgba(0,0,0,.72);line-height:1.9;}
.woocommerce-archive-hero .archive-description p{margin:0;}
.woocommerce-archive-hero .archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0 18px;}
.sort-pills{display:flex;gap:8px;flex-wrap:wrap;}
.sort-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.10);background:#fff;color:inherit;text-decoration:none;font-weight:700;font-size:13px;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.sort-pill:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.08);}
.sort-pill.is-active{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.16);}

.sort-native select{border-radius:12px;padding:8px 10px;border:1px solid rgba(0,0,0,.10);font-family:inherit;}

.products-grid-archive{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:18px;}
@media (max-width: 992px){.products-grid-archive{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width: 576px){.products-grid-archive{grid-template-columns:1fr;}}

.parsled-pagination ul{list-style:none;margin:22px 0 0;padding:0;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.parsled-pagination li{margin:0;}
.parsled-pagination a,.parsled-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(0,0,0,.10);text-decoration:none;color:inherit;background:#fff;font-weight:800;}
.parsled-pagination .current{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.16);}

/* Rating in archive cards (make it identical to landing page): always 5 stars, green fill */
.wc-product-card .product-rating{display:flex;align-items:center;gap:8px;min-height:18px;direction:ltr;}
.wc-product-card .star-rating{
  position:relative;
  display:inline-block;
  width:5.4em;
  height:1em;
  line-height:1;
  font-size:14px;
  overflow:hidden;
}
.wc-product-card .star-rating::before{
  content:"★★★★★";
  position:absolute;
  top:0;
  left:0;
  letter-spacing:2px;
  color:rgba(0,0,0,.18);
}
.wc-product-card .star-rating span{
  position:absolute;
  top:0;
  left:0;
  display:block;
  height:100%;
  overflow:hidden;
  white-space:nowrap;
  text-indent:-9999px;
}
.wc-product-card .star-rating span::before{
  content:"★★★★★";
  position:absolute;
  top:0;
  left:0;
  letter-spacing:2px;
  color:#66d59a; /* landing green */
  text-indent:0;
}
.wc-product-card .rating-count{font-size:12px;opacity:.75;}

/* Alias: older class name used in some pages */
.wc-product-card .product-actions .view-product-btn,
.wc-product-card .product-actions .product-view-btn{width:100%;}


/* ===== Single Product Page: Layout breathing room ===== */
.single-product .woocommerce-section .container{
  /* More breathing room, closer to homepage rhythm */
  max-width: 1180px;
  width: min(1180px, 86%);
  margin: 0 auto;
  padding-left: 28px;
  padding-right: 28px;
}
@media (min-width: 1200px){
  .single-product .woocommerce-section .container{
    padding-left: 56px;
    padding-right: 56px;
  }
}

/* Apply spacing on the real WooCommerce product wrapper (prevents edge-to-edge cards) */
body.single-product.woocommerce-page .woocommerce div.product{
  max-width: 1180px;
  width: min(1180px, 92%);
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 2.6vw, 44px);
  padding-right: clamp(16px, 2.6vw, 44px);
}
@media (max-width: 600px){
  body.single-product.woocommerce-page .woocommerce div.product{
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Reduce excessive inset on tabs now that wrapper has padding */
body.single-product.woocommerce-page .woocommerce div.product .woocommerce-tabs{
  margin-left: 0;
  margin-right: 0;
}

/* Slimmer cards on single product (both columns) */
.single-product .woocommerce div.product .parsled-product__media,
.single-product .woocommerce div.product .parsled-product__summary{
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.045);
}


/* Tabs & related: keep same breathing room and slimmer cards */
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products{
  margin-top: 22px;
}
.single-product .woocommerce-tabs > .panel,
.single-product .woocommerce-tabs ul.tabs{
  border-radius: 18px;
}
/* ===== Star rating (Woo CSS replacement) ===== */
/* Prevent long rating text from showing, render 5-star meter with proper fill */
.woocommerce .star-rating{
  position: relative;
  display: inline-block;
  width: 88px;
  height: 16px;
  line-height: 16px;
  overflow: hidden;
  vertical-align: middle;
}
.woocommerce .star-rating::before{
  content: "★★★★★";
  position: absolute;
  inset: 0;
  color: rgba(0,0,0,0.18);
  letter-spacing: 1px;
  font-size: 14px;
}
.woocommerce .star-rating > span{
  position: absolute;
  inset: 0;
  overflow: hidden;
  white-space: nowrap;
  text-indent: -9999px; /* hide text */
}
.woocommerce .star-rating > span::before{
  content: "★★★★★";
  position: absolute;
  inset: 0;
  color: var(--accent, #22c55e);
  letter-spacing: 1px;
  font-size: 14px;
  text-indent: 0;
}
.woocommerce .woocommerce-product-rating{
  display: flex;
  align-items: center;
  gap: 10px;
}
.woocommerce .woocommerce-product-rating .woocommerce-review-link{
  font-size: 13px;
  opacity: .75;
  text-decoration: none;
}
.woocommerce .woocommerce-product-rating .woocommerce-review-link:hover{
  opacity: 1;
  text-decoration: underline;
}

/* ==================================================
 * v3.0.6 — Single Product global spacing + card finesse
 * Goal: gallery + summary + related + tabs all keep consistent spacing
 * from the screen edges (like homepage). Tabs previously moved but the
 * main product blocks stayed stuck to edges.
 * ================================================== */

body.single-product .site-main{
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(16px, 3vw, 44px) !important;
  padding-right: clamp(16px, 3vw, 44px) !important;
  box-sizing: border-box;
}

/* Neutralize nested Woo wrappers so spacing is controlled by .site-main */
body.single-product .site-main .woocommerce,
body.single-product .site-main .woocommerce-page,
body.single-product .site-main .woocommerce div.product{
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep all sub-blocks aligned with the main content flow */
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .up-sells,
body.single-product .cross-sells{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Slightly refine card feel without changing layout */
body.single-product .woocommerce div.product > .woocommerce-product-gallery,
body.single-product .woocommerce div.product > .summary{
  border-radius: 14px;
}

/* Single product page wrap spacing */
.parsled-sp-wrap{
  /* v3.1.2: کمی پهن‌تر برای خوانایی بهتر، اما با padding استاندارد */
  max-width: 1380px;
  margin: 0 auto;
  padding-inline: clamp(14px, 2vw, 30px);
}

/* Normalize tabs + related spacing to match cards */
.woocommerce div.product .woocommerce-tabs{ margin-top: 22px; }
.woocommerce div.product .woocommerce-tabs .tabs{ justify-content: flex-start; }
.woocommerce div.product .related.products{ margin-top: 22px; }

/* v3.1.1 — Tabs/Related should be full-width under the two top columns */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
.woocommerce div.product .woocommerce-tabs ul.tabs{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* ==============================
   Reviews (Single Product) – Polish
   ============================== */
body.single-product .woocommerce-Reviews{
  margin-top: 18px;
}
body.single-product .woocommerce-Reviews #comments{
  margin: 0;
}
body.single-product .woocommerce-Reviews #comments > h2,
body.single-product .woocommerce-Reviews #review_form_wrapper > h3{
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 900;
}

body.single-product .woocommerce-Reviews #comments ol.commentlist{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
body.single-product .woocommerce-Reviews #comments ol.commentlist li.review,
body.single-product .woocommerce-Reviews #comments ol.commentlist li.comment{
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.88);
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.05);
}
body.single-product .woocommerce-Reviews #comments .comment_container{
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
body.single-product .woocommerce-Reviews #comments img.avatar{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid rgba(0,0,0,0.08);
}
body.single-product .woocommerce-Reviews #comments .comment-text{
  flex: 1;
  margin: 0;
}

/* Prevent star/text overlap inside review meta */
body.single-product .woocommerce-Reviews #comments .comment-text .meta{
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: rgba(0,0,0,0.62);
  font-size: 12px;
  font-weight: 800;
}
body.single-product .woocommerce-Reviews #comments .comment-text .meta strong{
  color: rgba(0,0,0,0.82);
  font-weight: 900;
}
body.single-product .woocommerce-Reviews #comments .comment-text .description{
  color: rgba(0,0,0,0.75);
  line-height: 1.95;
  font-size: 14px;
}

/* Use the same 5-star implementation in reviews and ensure only 5 stars show */
body.single-product .woocommerce-Reviews .star-rating{
  width: 5.4em;
  height: 1em;
  line-height: 1;
  font-size: 13px;
  margin: 0;
  overflow: hidden;
}
body.single-product .woocommerce-Reviews .star-rating::before{
  content: "★★★★★";
  letter-spacing: 2px;
  color: rgba(0,0,0,0.18);
}
body.single-product .woocommerce-Reviews .star-rating > span{
  overflow: hidden;
  white-space: nowrap;
  text-indent: -9999px;
}
body.single-product .woocommerce-Reviews .star-rating > span::before{
  content: "★★★★★";
  letter-spacing: 2px;
  color: var(--accent);
  text-indent: 0;
}

/* Review form card */
body.single-product #review_form_wrapper{
  margin-top: 18px;
}
body.single-product #review_form_wrapper #respond{
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.9);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.05);
}
body.single-product #review_form_wrapper textarea,
body.single-product #review_form_wrapper input[type="text"],
body.single-product #review_form_wrapper input[type="email"]{
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.12);
  padding: 12px 14px;
  width: 100%;
  outline: none;
}
body.single-product #review_form_wrapper textarea:focus,
body.single-product #review_form_wrapper input[type="text"]:focus,
body.single-product #review_form_wrapper input[type="email"]:focus{
  border-color: rgba(34,197,94,0.55);
  box-shadow: 0 0 0 4px rgba(34,197,94,0.12);
}

/* Interactive rating selector (stars) */
body.single-product .comment-form-rating .stars{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  direction: ltr;
}

/* === v3.1.8: Fix rating UI (no boxes, proper stars, no text overlap) === */
body.single-product #review_form_wrapper .comment-form-rating p.stars{
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
}
body.single-product #review_form_wrapper .comment-form-rating p.stars > span{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  /* v3.1.9: make meaning obvious — 1..5 goes left→right, hover fills from left */
  flex-direction: row;
  direction: ltr;
}
body.single-product #review_form_wrapper .comment-form-rating p.stars a{
  width: 28px;
  height: 28px;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0 !important;          /* hard-hide any localized text like "از 5" */
  color: transparent !important;
  text-indent: 0 !important;
  overflow: visible;
  transform: none;
  transition: transform .12s ease, filter .12s ease;
}
body.single-product #review_form_wrapper .comment-form-rating p.stars a::before{
  content: "★";
  font-size: 18px;
  line-height: 1;
  color: rgba(0,0,0,.25);
}
body.single-product #review_form_wrapper .comment-form-rating p.stars a.parsled-star-on::before{
  color: var(--accent, #2bb24c);
}
body.single-product #review_form_wrapper .comment-form-rating p.stars a:hover{
  transform: translateY(-1px) scale(1.04);
  filter: brightness(0.98);
}

/* v3.1.9: tiny hint next to stars (e.g., 3/5) */
body.single-product #review_form_wrapper .comment-form-rating .parsled-rating-hint{
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(43,178,76,0.10);
  color: var(--accent, #2bb24c);
  font-weight: 800;
  font-size: 12px;
  line-height: 1;
}

/* Make the rating line itself tidy (label + stars) */
body.single-product #review_form_wrapper .comment-form-rating{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
body.single-product #review_form_wrapper .comment-form-rating label{
  margin: 0;
  font-weight: 800;
}
body.single-product .comment-form-rating .stars a{
  position: relative;
  text-indent: -9999px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  color: rgba(0,0,0,0.25);
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.08);
  transition: transform .12s ease, background .12s ease, color .12s ease, border-color .12s ease;
  text-decoration: none;
  font-size: 16px;
}
body.single-product .comment-form-rating .stars a:hover{
  transform: translateY(-1px);
  background: rgba(34,197,94,0.10);
  border-color: rgba(34,197,94,0.35);
  color: var(--accent);
}
body.single-product .comment-form-rating .stars.selected a,
body.single-product .comment-form-rating .stars:hover a{
  color: rgba(0,0,0,0.25);
}
/* Woo sets classes on hover/active. Make selected stars green */
body.single-product .comment-form-rating .stars.selected a.active,
body.single-product .comment-form-rating .stars.selected a.active ~ a{
  color: rgba(0,0,0,0.25);
}
body.single-product .comment-form-rating .stars.selected a.active,
body.single-product .comment-form-rating .stars a:hover,
body.single-product .comment-form-rating .stars a:hover ~ a{
  /* keep non-hover siblings neutral */
}
body.single-product .comment-form-rating .stars.selected a:not(.active){
  color: var(--accent);
}

/* Submit button polish */
body.single-product #review_form_wrapper input#submit{
  border: none;
  cursor: pointer;
  border-radius: 16px;
  height: 44px;
  padding: 0 18px;
  font-weight: 900;
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  color: #fff;
  transition: transform .12s ease, filter .12s ease;
}
body.single-product #review_form_wrapper input#submit:hover{
  transform: translateY(-1px);
  filter: brightness(0.98);
}

/* ==========================================================
   v3.2.0 – Review rating clarity + smaller submit button
   ========================================================== */
body.single-product #review_form_wrapper .comment-form-rating p.stars > span{
  gap: 10px;
  direction: ltr !important;
  flex-direction: row !important;
}
body.single-product #review_form_wrapper .comment-form-rating p.stars a{
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(0,0,0,0.03) !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  transition: transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
body.single-product #review_form_wrapper .comment-form-rating p.stars a::before{
  font-size: 19px;
  color: rgba(0,0,0,.22);
}
body.single-product #review_form_wrapper .comment-form-rating p.stars a.parsled-star-on{
  background: rgba(43,178,76,0.10) !important;
  border-color: rgba(43,178,76,0.30) !important;
  box-shadow: 0 6px 18px rgba(43,178,76,0.10);
}
body.single-product #review_form_wrapper .comment-form-rating p.stars a.parsled-star-on::before{
  color: #2bb24c !important;
  text-shadow: 0 2px 10px rgba(43,178,76,0.18);
}
body.single-product #review_form_wrapper .comment-form-rating p.stars a:hover{
  transform: translateY(-1px);
  background: rgba(43,178,76,0.08) !important;
  border-color: rgba(43,178,76,0.25) !important;
}

/* Review submit button: smaller + aligned with UI */
body.single-product #review_form_wrapper input#submit,
body.single-product #review_form_wrapper button#submit{
  width: auto !important;
  min-width: 0 !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  border-radius: 14px !important;
  line-height: 1.2 !important;
}

/* =====================================================================
   Cart Page – Professional Layout + CTA (v3.2.1)
   هدف: صفحه سبد خرید مثل UI اصلی قالب شکیل و قابل لانچ شود.
   ===================================================================== */

/* Give Woo pages a breathable centered layout (this theme routes Woo pages through woocommerce.php)
   wrapper: <div class="container section"> ... woocommerce_content() ... */
body.woocommerce-cart .container.section,
body.woocommerce-checkout .container.section{
  width: min(1180px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
}
@media (max-width: 640px){
  body.woocommerce-cart .container.section,
  body.woocommerce-checkout .container.section{
    width: calc(100% - 24px) !important;
  }
}

/* Cart main area as two-column layout on desktop */
@media (min-width: 980px){
  body.woocommerce-cart .woocommerce{
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 22px;
    align-items: start;
  }
  body.woocommerce-cart .woocommerce > form.woocommerce-cart-form{
    grid-column: 1;
  }
  body.woocommerce-cart .woocommerce > .cart-collaterals{
    grid-column: 2;
    position: sticky;
    top: 110px;
  }
}

/* Table as a soft card */
body.woocommerce-cart table.shop_table{
  background: rgba(255,255,255,.86);
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 14px 28px rgba(0,0,0,.05);
}
body.woocommerce-cart table.shop_table thead th{
  background: rgba(124,83,231,.06);
  font-weight: 900;
}
body.woocommerce-cart table.shop_table td,
body.woocommerce-cart table.shop_table th{
  padding: 14px 14px;
}
body.woocommerce-cart table.shop_table td.product-name a{
  font-weight: 800;
}

/* Qty + inputs */
body.woocommerce-cart .quantity input.qty{
  width: 86px !important;
  text-align: center;
}

/* Cart actions row */
body.woocommerce-cart .woocommerce-cart-form .actions{
  padding: 16px 14px !important;
  background: rgba(255,255,255,.85);
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon{
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon input.input-text{
  min-width: 220px;
  border-radius: 999px !important;
}

/* Totals card */
body.woocommerce-cart .cart-collaterals .cart_totals{
  background: rgba(255,255,255,.92);
  border-radius: 22px;
  padding: 18px;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
}
body.woocommerce-cart .cart-collaterals .cart_totals > h2{
  font-weight: 900;
  margin: 0 0 12px;
}
body.woocommerce-cart .cart-collaterals .cart_totals table{
  margin: 0;
}
body.woocommerce-cart .cart-collaterals .cart_totals table th,
body.woocommerce-cart .cart-collaterals .cart_totals table td{
  padding: 10px 0;
  border: 0;
}
body.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
body.woocommerce-cart .cart-collaterals .cart_totals .order-total td{
  font-weight: 900;
}

/* Proceed to checkout CTA – make it unmistakable */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width: 100% !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px;
  padding: 14px 18px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #b58cff, #66d59a) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(181,140,255,.22) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  transform: translateY(-2px);
  filter: brightness(1.02);
  box-shadow: 0 18px 32px rgba(181,140,255,.26) !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active{
  transform: translateY(0);
}

/* Make the secondary "continue shopping" / back buttons subtle */
body.woocommerce-cart a.button.wc-backward,
body.woocommerce-cart button.button[name="update_cart"]{
  background: rgba(124, 83, 231, .10) !important;
  color: #7c53e7 !important;
  box-shadow: none !important;
}

/* Notices as soft cards */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error{
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}

/* ==============================
   v3.2.4 — Cart page_id=8 force styles
   مشکل: در برخی نصب‌ها body کلاس woocommerce-cart ندارد (Cart page در تنظیمات ست نشده یا شورتکد استفاده شده).
   راه‌حل: همان استایل‌های سبد خرید را مستقیماً روی body.page-id-8 اعمال می‌کنیم.
   ============================== */

/* کانتینر کلی صفحه سبد خرید */
body.page-id-8 .woocommerce,
body.page-id-8 .site-main .woocommerce{
  width: min(1380px, 96%) !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding-left: clamp(14px, 2vw, 26px) !important;
  padding-right: clamp(14px, 2vw, 26px) !important;
  box-sizing: border-box !important;
}

@media (min-width: 992px){
  body.page-id-8 .woocommerce{
    display: grid !important;
    grid-template-columns: 1fr 360px !important;
    gap: 22px !important;
    align-items: start !important;
  }
  body.page-id-8 .woocommerce > .woocommerce-notices-wrapper{ grid-column: 1 / -1 !important; }
  body.page-id-8 .woocommerce > form.woocommerce-cart-form{ grid-column: 1 / 2 !important; }
  body.page-id-8 .woocommerce > .cart-collaterals{
    grid-column: 2 / 3 !important;
    position: sticky !important;
    top: 22px !important;
  }
}

/* جدول و کارت‌ها */
body.page-id-8 table.shop_table{
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.04) !important;
}
body.page-id-8 table.shop_table th,
body.page-id-8 table.shop_table td{
  padding: 14px 14px !important;
  border-color: rgba(0,0,0,.06) !important;
  vertical-align: middle !important;
}
body.page-id-8 table.shop_table thead th{
  background: rgba(0,0,0,.02) !important;
  font-weight: 700 !important;
}

body.page-id-8 .product-thumbnail img{
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
}

body.page-id-8 .quantity .qty{
  border-radius: 14px !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  padding: 10px 12px !important;
  min-width: 86px !important;
}

/* کارت جمع کل */
body.page-id-8 .cart-collaterals .cart_totals{
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 18px !important;
  background: #fff !important;
  padding: 16px 16px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.05) !important;
}

/* CTA پرداخت */
body.page-id-8 .wc-proceed-to-checkout a.checkout-button{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  border: 0 !important;
  border-radius: 18px !important;
  padding: 14px 18px !important;
  font-weight: 800 !important;
  color: #fff !important;
  background: linear-gradient(90deg, #7c53e7, #45c07a) !important;
  box-shadow: 0 14px 30px rgba(124,83,231,.22) !important;
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease !important;
}
body.page-id-8 .wc-proceed-to-checkout a.checkout-button:hover{
  filter: brightness(1.03) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 34px rgba(124,83,231,.26) !important;
}
body.page-id-8 .wc-proceed-to-checkout a.checkout-button:active{
  transform: translateY(0) !important;
}

/* دکمه‌های ثانویه */
body.page-id-8 a.button.wc-backward,
body.page-id-8 button.button[name="update_cart"],
body.page-id-8 .woocommerce button.button,
body.page-id-8 .woocommerce a.button,
body.page-id-8 .woocommerce input.button{
  border-radius: 18px !important;
}

/* پیام‌ها */
body.page-id-8 .woocommerce-message,
body.page-id-8 .woocommerce-info,
body.page-id-8 .woocommerce-error{
  border-radius: 18px !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.05) !important;
}
