.msb-wrap{font-family:inherit}
.msb-section{background:#f1f2f1;border-radius:16px;padding:20px 20px 16px;margin:0 0 20px}
.msb-h2{font-size:24px;font-weight:900;color:#222;margin:0 0 16px;line-height:1.625}
.msb-cards{display:flex;flex-direction:column;gap:14px}
.msb-card{display:flex;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px;transition:border-color .2s}
.msb-card:hover{border-color:#22c55e}
.msb-thumbwrap{width:200px;flex-shrink:0}
.msb-thumb{display:block;border-radius:12px;overflow:hidden;background:#f9fafb;aspect-ratio:1/1}
.msb-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.msb-body{flex:1;display:flex;flex-direction:column;min-width:0}
.msb-title,.msb-title a{font-size:20px;font-weight:700;color:#222;margin:0;line-height:1.375;text-decoration:none}
.msb-desc{font-size:18px;line-height:1.625;color:#222;margin:6px 0 0}
.msb-bottom{margin-top:12px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:6px 8px;min-width:0}
.msb-prices{display:flex;flex-wrap:wrap;align-items:center;column-gap:12px;row-gap:6px;min-width:0}
.msb-new{color:#22c55e;font-weight:700;font-size:18px;white-space:nowrap}
.msb-new small{font-weight:400;font-size:16px;color:#9ca3af}
.msb-old{color:#9ca3af;font-size:16px;text-decoration:line-through;white-space:nowrap}
.msb-rate{display:inline-flex;align-items:center;gap:4px;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:2px 8px;font-size:16px;font-weight:700;color:#b45309;white-space:nowrap;flex-shrink:0}
.msb-star{color:#fbbf24;font-size:16px;font-weight:400}
.msb-btnrow{display:flex;align-items:center;gap:8px;flex-shrink:0}
.msb-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#22c55e;color:#fff;border-radius:12px;padding:8px 16px;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer;border:0;white-space:nowrap}
.msb-cta svg{width:16px;height:16px}
.msb-round{width:40px;height:40px;border-radius:12px;border:1px solid #d1d5db;background:#fff;display:grid;place-items:center;color:#222;cursor:pointer;flex-shrink:0;transition:border-color .2s,color .2s}
.msb-round:hover{border-color:#22c55e;color:#22c55e}
.msb-round svg{width:18px;height:18px}
.msb-morerow{margin-top:16px;display:flex;justify-content:flex-end}
.msb-more{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:8px 16px;font-size:16px;color:#222;cursor:pointer;font-family:inherit;transition:border-color .2s,color .2s}
.msb-more:hover{border-color:#22c55e;color:#22c55e}
.msb-more svg{width:16px;height:16px}
/* کشو */
.msb-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:90}
.msb-overlay.open{opacity:1;pointer-events:auto}
.msb-drawer{position:absolute;top:0;bottom:0;left:0;width:70%;background:#fff;z-index:100;transform:translateX(-105%);visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);display:flex;flex-direction:column}
.msb-drawer.open{transform:translateX(0);visibility:visible;transition:transform .3s ease,visibility 0s}
.msb-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px;border-bottom:1px solid #f3f4f6;flex-shrink:0}
.msb-dtitle{font-size:16px;font-weight:700;color:#222;margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msb-dclose{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;border:0;background:none;color:#9ca3af;cursor:pointer;transition:color .2s}
.msb-dclose:hover{color:#222}
.msb-dclose svg{width:20px;height:20px}
.msb-dlist{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}
.msb-ditem{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px}
.msb-dimg{display:block;border-radius:12px;overflow:hidden;background:#f9fafb;aspect-ratio:1/1}
.msb-dimg img{width:100%;height:100%;object-fit:contain;display:block}
.msb-dtitle2{font-size:16px;font-weight:700;color:#222;margin:10px 0 0;line-height:1.375}
.msb-dtitle2 a{color:inherit;text-decoration:none}
.msb-dbottom{margin-top:8px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:6px 8px;min-width:0}
.msb-dprices{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.msb-dprice{color:#22c55e;font-weight:700;font-size:16px;white-space:nowrap}
.msb-dprice small{font-weight:400;font-size:16px;color:#9ca3af}
.msb-dold{color:#9ca3af;font-size:16px;text-decoration:line-through;white-space:nowrap}
.msb-dbtns{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-right:auto}
.msb-dbtns .msb-round{width:36px;height:36px}
.msb-dempty{font-size:14px;color:#8a908c;text-align:center;padding:24px 12px}
/* ریسپانسیو */
@media (max-width:768px){
  #msb-shop-root .msb-card{flex-direction:column;gap:12px}
  #msb-shop-root .msb-thumbwrap{width:100%}
  #msb-shop-root .msb-cta{flex:1 1 auto}
  #msb-shop-root .msb-drawer{width:70%}
  .msb-section h2{font-size:20px}
}

/* Hard overrides — استایل دکمه‌های قالب استادیار بازنویسی می‌شد */
#msb-shop-root button.msb-round{background:#fff !important;color:#222 !important;border:1px solid #d1d5db !important;border-radius:12px !important;width:40px !important;height:40px !important;padding:0 !important;line-height:1 !important}
#msb-shop-root button.msb-round:hover{border-color:#22c55e !important;color:#22c55e !important}
#msb-shop-root button.msb-round svg{width:18px !important;height:18px !important}
#msb-shop-root .msb-cta{background:#22c55e !important;color:#fff !important;border-radius:12px !important;padding:8px 16px !important}
#msb-shop-root .msb-cta:hover{background:#19b251 !important;color:#fff !important}
#msb-shop-root .msb-cta svg{width:16px !important;height:16px !important}
#msb-shop-root button.msb-more{background:#fff !important;color:#222 !important;border:1px solid #d1d5db !important;border-radius:12px !important;padding:8px 16px !important;font-family:inherit !important}
#msb-shop-root button.msb-more:hover{border-color:#22c55e !important;color:#22c55e !important}
#msb-shop-root button.msb-more svg{width:16px !important;height:16px !important}
#msb-shop-root button.msb-dclose{background:none !important;color:#9ca3af !important}
#msb-shop-root button.msb-dclose:hover{color:#222 !important}
#msb-shop-root button.msb-dclose svg{width:20px !important;height:20px !important}

/* Fixed positioning برای سایت واقعی (به‌جای absolute شبیه‌ساز) + z-index بالای هدر چسبان */
.msb-overlay{position:fixed !important;z-index:99998}
.msb-drawer{position:fixed !important;z-index:99999}

/* عرض کشو: دسکتاپ/تبلت ۳۵۰px (مثل md:w-[350px] مدیر سبز) و موبایل ۷۰٪ */
@media (max-width:767px){ #msb-shop-root .msb-drawer{width:70% !important} }
@media (min-width:768px){ #msb-shop-root .msb-drawer{width:350px !important} }

/* ===== هم‌ترازی دقیق با ماک‌اپ (ممیزی عددی ۲۰۲۶-۱۰-۱۷) ===== */
/* تیتر بخش: ۲۲px دسکتاپ، ۲۴px زیر ۱۰۲۴ — وزن حداکثری */
#msb-shop-root .msb-h2{font-size:22px !important;font-weight:950 !important}
@media (max-width:1023px){ #msb-shop-root .msb-h2{font-size:24px !important} }
/* ترتیب دکمه‌ها مثل ماک‌اپ: از چپ ♡ + سپس CTA (در RTL یعنی CTA اولِ DOM) */
#msb-shop-root .msb-btnrow{flex-direction:row-reverse !important}
/* CTA با ارتفاع ۳۶px مثل ماک‌اپ — line-height قالب خنثی شود */
#msb-shop-root .msb-cta{line-height:1.25 !important}
#msb-shop-root .msb-new,#msb-shop-root .msb-old,#msb-shop-root .msb-rate,#msb-shop-root .msb-more{line-height:1.25 !important}
/* فاصله ردیف پایین ۱۲px مثل ماک‌اپ */
#msb-shop-root .msb-bottom{gap:12px !important}
/* دکمه‌های گرد دقیقاً ۴۰x۴۰ با border-box */
#msb-shop-root .msb-round{box-sizing:border-box !important}

/* خودِ ۷۶۸ = دسکتاپ (قرارداد md مدیر سبز) — بلوک موبایل را در ۷۶۸ خنثی می‌کند */
@media (min-width:768px){
  #msb-shop-root .msb-card{flex-direction:row !important;gap:14px !important}
  #msb-shop-root .msb-thumbwrap{width:200px !important}
  #msb-shop-root .msb-cta{flex:0 0 auto !important}
}

/* ===== ممیزی دوم ۲۰۲۶-۱۰-۱۷: وسط‌چین عمودی و پاکسازی درز قالب ===== */
/* کارت: بلوک متن وسط‌چین عمود نسبت به عکس (md:items-center مدیر سبز) — فقط دسکتاپ/تبلت */
@media (min-width:768px){
  #msb-shop-root .msb-card{align-items:center !important}
}
/* حاشیه پایین تیتر بخش ۱۲px مثل ماک‌اپ */
#msb-shop-root .msb-h2{margin-bottom:12px !important}
/* ردیف پایین: وسط‌چین عمودی آیتم‌ها */
#msb-shop-root .msb-bottom{align-items:center !important}
/* دکمه‌های گرد: دقیقاً ۴۰x۴۰ border-box، بدون فونت درزکرده قالب، گرید مثل ماک‌اپ */
#msb-shop-root .msb-btnrow button.msb-round{
  width:40px !important;height:40px !important;box-sizing:border-box !important;
  font-size:16px !important;font-weight:400 !important;line-height:1 !important;
  display:grid !important;place-items:center !important;padding:0 !important;
}
#msb-shop-root .msb-btnrow button.msb-round svg{width:18px !important;height:18px !important}
/* دکمه سایر محصولات: ۱۶px/۴۰۰ مثل ماک‌اپ، ارتفاع ۳۸ */
#msb-shop-root button.msb-more{
  font-size:16px !important;font-weight:400 !important;line-height:1.25 !important;
  height:38px !important;box-sizing:border-box !important;
}
/* رنگ متن بدنه کارت #۲۲۲ (ارث خاکستری قالب خنثی شود) */
#msb-shop-root .msb-body{color:#222 !important}

/* min-height تحمیلی قالب خنثی شود (دکمه‌ها ۴۰ و سایر محصولات ۳۸ بشینند) */
#msb-shop-root .msb-btnrow button.msb-round{min-height:0 !important;max-height:none !important}
#msb-shop-root button.msb-more{min-height:0 !important;max-height:none !important}

/* موبایل: ردیف پایین کارت ستونی مثل ماک‌اپ (flex-col) — قیمت‌ها یک خط، دکمه‌ها خط بعد؛ بدون وابستگی به wrap */
@media (max-width:767px){
  #msb-shop-root .msb-bottom{flex-direction:column !important;align-items:stretch !important;flex-wrap:nowrap !important}
  #msb-shop-root .msb-prices{width:100% !important}
  #msb-shop-root .msb-btnrow{width:100% !important}
}

/* بازخورد افزودن به سبد (AJAX) */
#msb-shop-root .msb-add.msb-busy{opacity:.5;pointer-events:none}
#msb-shop-root .msb-add.msb-done{border-color:#22c55e !important;background:#22c55e !important;color:#fff !important}

/* دکمه + محصول متغیر (لینک به صفحه محصول) — استایل یکسان با دکمه گرد */
#msb-shop-root a.msb-round{display:grid !important;place-items:center !important;width:40px !important;height:40px !important;box-sizing:border-box !important;background:#fff !important;color:#222 !important;border:1px solid #d1d5db !important;border-radius:12px !important;padding:0 !important;text-decoration:none !important;line-height:1 !important;font-size:16px !important;font-weight:400 !important;min-height:0 !important}
#msb-shop-root a.msb-round:hover{border-color:#22c55e !important;color:#22c55e !important}
#msb-shop-root a.msb-round svg{width:18px !important;height:18px !important}

/* تیک سبز «در سبد است» — غیرقابل کلیک مثل مدیر سبز */
#msb-shop-root .msb-add.msb-incart, #msb-shop-root button.msb-add:disabled{background:#f0faf4 !important;border-color:#22c55e !important;color:#22c55e !important;pointer-events:none !important;cursor:default !important}

/* Shop cart feedback and on-page variation selection. */
#msb-shop-root .msb-cart-message,
#msb-variation-dialog .msb-cart-message{grid-column:1/-1;flex-basis:100%;font:inherit;font-size:13px;line-height:1.8;margin:10px 0 0;color:#167846}
#msb-shop-root .msb-cart-error,
#msb-variation-dialog .msb-cart-error{color:#a32222}
.msb-cart-message a{color:inherit;text-decoration:underline;white-space:nowrap}
#msb-shop-root a.msb-choose-options{width:auto!important;min-width:40px!important;gap:5px;padding:0 9px!important;font-size:12px!important;white-space:nowrap}
#msb-shop-root a.msb-choose-options svg{width:15px!important;height:15px!important;flex-shrink:0}
#msb-shop-root .msb-add[disabled]{cursor:default}
#msb-variation-dialog{font-family:inherit;color:#222;background:#fff;border:1px solid #e4e7eb;border-radius:20px;width:520px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);padding:30px 24px 24px;box-sizing:border-box;overflow:auto;margin:auto;box-shadow:0 20px 70px #0003;overscroll-behavior:contain}
#msb-variation-dialog::backdrop{background:#10233380;backdrop-filter:blur(3px)}
#msb-variation-dialog .msb-variation-close{position:absolute;top:8px;left:10px;display:grid;place-items:center;width:36px;height:36px;min-height:36px;border:0;border-radius:50%;background:#f1f3f5;color:#333;font:inherit;font-size:25px;padding:0;cursor:pointer}
#msb-variation-dialog h3{font:inherit;font-size:20px;font-weight:700;margin:12px 0}
#msb-variation-dialog p{font:inherit;font-size:14px;line-height:1.9;margin:8px 0}
#msb-variation-dialog .msb-variation-form{margin-top:18px;display:block}
#msb-variation-dialog label{display:block;font-weight:600;margin:14px 0 6px}
#msb-variation-dialog select{font:inherit;font-size:15px;width:100%;height:auto;min-height:48px;border:1px solid #cbd1d8;border-radius:10px;padding:10px;background-color:#fff;color:#222}
#msb-variation-dialog .msb-variation-price{font-size:21px;font-weight:700;color:#102f59;margin-top:18px}
#msb-variation-dialog .msb-variation-description{color:#555}
#msb-variation-dialog .msb-variation-stock{color:#555;font-size:13px}
#msb-variation-dialog .msb-variation-submit{display:block;width:100%;min-height:48px;border:0;border-radius:12px;background:#20b95b;color:#fff;font:inherit;font-size:15px;font-weight:600;padding:12px;margin-top:18px;cursor:pointer}
#msb-variation-dialog .msb-variation-submit:disabled{opacity:.55;cursor:default}
#msb-variation-dialog button:focus-visible,#msb-variation-dialog select:focus-visible{outline:3px solid #22b9a6;outline-offset:3px}
@media(max-width:639px){#msb-variation-dialog{width:100%;max-width:100%;max-height:85dvh;border-radius:20px 20px 0 0;margin:auto 0 0;padding:28px 20px max(24px,env(safe-area-inset-bottom))}#msb-shop-root a.msb-choose-options{font-size:11px!important;padding:0 7px!important}}