/* shop.css - اسکوپ‌شده توسط tests/css_scope.py (همه انتخابگرها زیر ریشه .wsw-shop / .wsw-auth) */
.wsw-shop {--wsw-primary: #2f86ff;
	--wsw-primary-dark: #1e6fe0;
	--wsw-ink: #0f172a;
	--wsw-muted: #64748b;
	--wsw-border: #e2e8f0;
	--wsw-bg: #eef4ff;
	--wsw-surface: #ffffff;
	--wsw-success: #059669;
	--wsw-success-bg: #ecfdf5;
	--wsw-danger: #e11d48;
	--wsw-danger-bg: #fff1f2;
	--wsw-warning: #d97706;
	--wsw-radius-lg: 30px;
	--wsw-radius-md: 22px;
	--wsw-radius-sm: 12px;
	--wsw-border-soft: #f1f5f9;
	--wsw-text-strong: #334155;
	--wsw-glass-bg: hsla(0, 0%, 100%, .85);
	--wsw-glass-border: rgba(226, 232, 240, .7);
	--wsw-glass-blur: blur(24px);
	--wsw-shadow-hover: 0 20px 40px rgba(15, 23, 42, .12);
	--wsw-shadow: 0 10px 30px rgba(15, 23, 42, .08);
	box-sizing: border-box;
	max-width: 1180px;
	margin: 0 auto;
	padding: 16px;
	color: var(--wsw-ink);
	font-size: 15px;
	line-height: 1.7;}
.wsw-shop *,
.wsw-shop *::before,
.wsw-shop *::after {box-sizing: border-box;}
.wsw-shop a {color: inherit; text-decoration: none;}
.wsw-shop img {max-width: 100%; height: auto;}
.wsw-shop :is(button, input, select, textarea, a, h1, h2, h3, h4, p, ul, ol, li, label, img, table, details, summary, del, small, strong, fieldset, legend) {all: revert;
	box-sizing: border-box;
	font-family: inherit;}
.wsw-shop {font-family: var(--wsw-font, inherit); direction: rtl; text-align: start;}
.wsw-shop :is(h1, h2, h3, h4) {margin: 0; font-weight: 700; line-height: 1.5; color: inherit; font-size: inherit;}
.wsw-shop :is(p, ul, ol, li) {margin: 0; padding: 0; list-style: none;}
.wsw-shop :is(button, input, select, textarea) {font: inherit; color: inherit; letter-spacing: normal; text-transform: none; min-height: 0;}
.wsw-shop button {cursor: pointer; background: none; border: 0;}
.wsw-shop a {color: inherit; text-decoration: none; background: none;}
.wsw-shop img {max-width: 100%; height: auto; border: 0; box-shadow: none;}
.wsw-shop summary {cursor: pointer;}
.wsw-shop .wsw-stepper {list-style: none; display: flex; justify-content: space-between; gap: 8px; margin: 8px 0 24px; padding: 0; counter-reset: s;}
.wsw-shop .wsw-stepper__item {flex: 1; text-align: center; position: relative; color: var(--wsw-muted); font-size: 13px;}
.wsw-shop .wsw-stepper__item::before {content: ""; position: absolute; top: 15px; left: 50%; width: 100%; height: 2px; background: var(--wsw-border); z-index: 0;}
.wsw-shop .wsw-stepper__item:first-child::before {display: none;}
.wsw-shop .wsw-stepper__item a {color: inherit; display: block;}
.wsw-shop .wsw-stepper__dot {position: relative; z-index: 1; display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--wsw-surface); border: 2px solid var(--wsw-border); font-weight: 700;}
.wsw-shop .wsw-stepper__label {display: block; margin-top: 4px;}
.wsw-shop .wsw-stepper__item.is-active {color: var(--wsw-primary); font-weight: 700;}
.wsw-shop .wsw-stepper__item.is-active .wsw-stepper__dot {background: var(--wsw-primary); border-color: var(--wsw-primary); color: #fff;}
.wsw-shop .wsw-stepper__item.is-done {color: var(--wsw-success);}
.wsw-shop .wsw-stepper__item.is-done .wsw-stepper__dot {background: var(--wsw-success); border-color: var(--wsw-success); color: #fff;}
.wsw-shop .wsw-stepper__item.is-done::before,
.wsw-shop .wsw-stepper__item.is-active::before {background: var(--wsw-success);}
.wsw-shop .wsw-btn {display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 20px; border: 0; border-radius: var(--wsw-radius-md); font: inherit; font-weight: 700; cursor: pointer; transition: background .15s, opacity .15s;}
.wsw-shop .wsw-btn--primary {background: var(--wsw-primary); color: #fff !important;}
@media (hover: hover) { .wsw-shop .wsw-btn--primary:hover {background: var(--wsw-primary-dark);} }
.wsw-shop .wsw-btn--ghost {background: transparent; color: var(--wsw-primary); border: 1px solid var(--wsw-primary);}
.wsw-shop .wsw-btn--block {display: flex; width: 100%;}
.wsw-shop .wsw-btn:disabled {opacity: .5; cursor: not-allowed;}
.wsw-shop .wsw-link {background: none; border: 0; padding: 4px 0; color: var(--wsw-primary); font: inherit; font-size: 13px; cursor: pointer;}
.wsw-shop .wsw-input,
.wsw-shop .wsw-select,
.wsw-shop .wsw-textarea {width: 100%; padding: 12px 14px; border: 1px solid var(--wsw-border); border-radius: var(--wsw-radius-sm); background: #f8fafc; font: inherit; color: inherit;}
.wsw-shop .wsw-input:focus,
.wsw-shop .wsw-select:focus,
.wsw-shop .wsw-textarea:focus {outline: 2px solid var(--wsw-primary); background: #fff;}
.wsw-shop .wsw-card {background: var(--wsw-surface); border: 1px solid var(--wsw-border); border-radius: var(--wsw-radius-lg); box-shadow: var(--wsw-shadow); padding: 20px;}
.wsw-shop .wsw-note {margin: 10px 0 0; color: var(--wsw-muted); font-size: 12px;}
.wsw-shop .wsw-chip {display: inline-block; margin: 4px 0; padding: 2px 10px; border-radius: 99px; font-size: 12px;}
.wsw-shop .wsw-chip.is-good {background: var(--wsw-success-bg); color: var(--wsw-success);}
.wsw-shop .wsw-chip.is-warn {background: #fffbeb; color: var(--wsw-warning);}
.wsw-shop .wsw-skeleton {height: 240px; border-radius: var(--wsw-radius-lg); background: linear-gradient(90deg, #eef2f7 25%, #f8fafc 37%, #eef2f7 63%); background-size: 400% 100%; animation: wsw-sk 1.4s ease infinite;}
@keyframes wsw-sk {0% { background-position: 100% 50%; }100% { background-position: 0 50%; } }
.wsw-shop .wsw-cart.is-busy {pointer-events: none;}
.wsw-shop .wsw-cart__grid {display: grid; grid-template-columns: 1fr 360px; gap: 20px; align-items: start;}
.wsw-shop .wsw-cart__list,
.wsw-shop .wsw-sum,
.wsw-shop .wsw-saved {background: var(--wsw-surface); border: 1px solid var(--wsw-border); border-radius: var(--wsw-radius-lg); box-shadow: var(--wsw-shadow); padding: 16px 20px;}
.wsw-shop .wsw-cart__title {margin: 0 0 8px; font-size: 20px;}
.wsw-shop .wsw-cart__title small {color: var(--wsw-muted); font-size: 13px; font-weight: 400;}
.wsw-shop .wsw-item {display: flex; gap: 16px; padding: 16px 0; border-top: 1px solid var(--wsw-border);}
.wsw-shop .wsw-item:first-of-type {border-top: 0;}
.wsw-shop .wsw-item__img {flex: 0 0 96px;}
.wsw-shop .wsw-item__img img {width: 96px; height: 96px; object-fit: contain; border-radius: var(--wsw-radius-sm);}
.wsw-shop .wsw-item__body {flex: 1; min-width: 0;}
.wsw-shop .wsw-item__name {margin: 0 0 4px; font-size: 15px; font-weight: 600;}
.wsw-shop .wsw-item__meta {margin: 0; color: var(--wsw-muted); font-size: 13px;}
.wsw-shop .wsw-item__oos {margin: 4px 0; color: var(--wsw-danger); font-size: 13px;}
.wsw-shop .wsw-item.is-oos {opacity: .65;}
.wsw-shop .wsw-item__row {display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; flex-wrap: wrap;}
.wsw-shop .wsw-qty {display: inline-flex; align-items: center; border: 1px solid var(--wsw-border); border-radius: var(--wsw-radius-md); overflow: hidden;}
.wsw-shop .wsw-qty__btn {width: 40px; height: 40px; border: 0; background: transparent; font-size: 20px; color: var(--wsw-danger); cursor: pointer;}
.wsw-shop .wsw-qty__btn:not(.is-trash) {color: var(--wsw-primary);}
.wsw-shop .wsw-qty__btn:disabled {opacity: .35; cursor: not-allowed;}
.wsw-shop .wsw-qty__n {min-width: 36px; text-align: center; font-weight: 700;}
.wsw-shop .wsw-price {display: flex; align-items: center; gap: 8px; flex-wrap: wrap;}
.wsw-shop .wsw-price__old {color: var(--wsw-muted); font-size: 13px;}
.wsw-shop .wsw-price__now {font-size: 16px;}
.wsw-shop .wsw-badge {background: var(--wsw-danger); color: #fff; padding: 1px 8px; border-radius: 99px; font-size: 12px; font-weight: 700;}
.wsw-shop .wsw-undo {display: flex; justify-content: space-between; align-items: center; margin: 8px 0; padding: 10px 14px; border-radius: var(--wsw-radius-sm); background: #fffbeb; border: 1px solid #fde68a;}
.wsw-shop .wsw-sum {position: sticky; top: 16px;}
.wsw-shop .wsw-sum__title {margin: 0 0 12px; font-size: 17px;}
.wsw-shop .wsw-sum__row {display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; color: var(--wsw-muted);}
.wsw-shop .wsw-sum__row.is-save {color: var(--wsw-success);}
.wsw-shop .wsw-sum__row.is-total {color: var(--wsw-ink); font-size: 17px; border-top: 1px dashed var(--wsw-border); margin-top: 6px; padding-top: 12px;}
.wsw-shop .wsw-free {margin: 12px 0; padding: 10px 12px; border-radius: var(--wsw-radius-sm); background: #eff6ff; font-size: 13px;}
.wsw-shop .wsw-free.is-reached {background: var(--wsw-success-bg); color: var(--wsw-success);}
.wsw-shop .wsw-free p {margin: 0 0 6px;}
.wsw-shop .wsw-free__bar {height: 6px; border-radius: 99px; background: #dbeafe; overflow: hidden;}
.wsw-shop .wsw-free__bar span {display: block; height: 100%; background: var(--wsw-primary); border-radius: 99px; transition: width .3s;}
.wsw-shop .wsw-free.is-reached .wsw-free__bar span {background: var(--wsw-success);}
.wsw-shop .wsw-couponbox {margin: 12px 0;}
.wsw-shop .wsw-couponbox summary {cursor: pointer; color: var(--wsw-primary); font-size: 14px;}
.wsw-shop .wsw-couponbox__row {display: flex; gap: 8px; margin-top: 8px;}
.wsw-shop .wsw-coupon {display: flex; gap: 10px; align-items: center; margin-top: 8px; font-size: 13px;}
.wsw-shop .wsw-coupon__amt {color: var(--wsw-success); margin-inline-start: auto;}
.wsw-shop .wsw-saved {margin-top: 20px;}
.wsw-shop .wsw-saved h2 {margin: 0 0 6px; font-size: 17px;}
.wsw-shop .wsw-item--saved .wsw-item__img {flex-basis: 72px;}
.wsw-shop .wsw-item--saved .wsw-item__img img {width: 72px; height: 72px;}
.wsw-shop .wsw-empty {text-align: center; padding: 48px 16px; background: var(--wsw-surface); border: 1px solid var(--wsw-border); border-radius: var(--wsw-radius-lg);}
.wsw-shop .wsw-empty__icon {font-size: 56px;}
.wsw-shop .wsw-sticky {display: none;}
.wsw-shop .wsw-toast {position: fixed; bottom: 90px; left: 50%; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; padding: 10px 18px; border-radius: 99px; background: var(--wsw-ink); color: #fff; font-size: 14px; transition: .2s; z-index: 99999;}
.wsw-shop .wsw-toast.is-show {opacity: 1; transform: translate(-50%, 0);}
.wsw-shop .wsw-toast.is-error {background: var(--wsw-danger);}
.wsw-shop .wsw-checkout__grid {display: grid; grid-template-columns: 1fr 360px; gap: 20px; align-items: start;}
.wsw-shop .wsw-checkout__main > section {margin-bottom: 20px;}
.wsw-shop .wsw-checkout h2 {margin: 0 0 14px; font-size: 17px;}
.wsw-shop .wsw-step {display: none;}
.wsw-shop .wsw-checkout[data-step="shipping"] .wsw-step--shipping,
.wsw-shop .wsw-checkout[data-step="payment"] .wsw-step--payment {display: block;}
.wsw-shop .wsw-addresses {display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px;}
.wsw-shop .wsw-addr {position: relative; display: block; padding: 14px 16px; border: 2px solid var(--wsw-border); border-radius: var(--wsw-radius-md); cursor: pointer; background: #fff;}
.wsw-shop .wsw-addr.is-selected {border-color: var(--wsw-primary); background: #f5f9ff;}
.wsw-shop .wsw-addr input[type=radio] {position: absolute; inset-inline-start: 12px; top: 14px;}
.wsw-shop .wsw-addr__title {font-weight: 700; padding-inline-start: 26px;}
.wsw-shop .wsw-addr__text {margin: 6px 0; color: var(--wsw-muted); font-size: 13px;}
.wsw-shop .wsw-addr__meta {font-size: 12px; color: var(--wsw-muted);}
.wsw-shop .wsw-addr__warn {display: inline-block; margin-top: 6px; padding: 1px 8px; border-radius: 99px; background: #fffbeb; color: var(--wsw-warning); font-size: 12px;}
.wsw-shop .wsw-addr__actions {margin-top: 8px; display: flex; gap: 12px;}
.wsw-shop .wsw-addr--add {display: grid; place-items: center; min-height: 110px; border-style: dashed; color: var(--wsw-primary); font-weight: 700;}
.wsw-shop .wsw-shipment {border: 1px solid var(--wsw-border); border-radius: var(--wsw-radius-md); padding: 14px 16px; margin-bottom: 12px;}
.wsw-shop .wsw-shipment__head {display: flex; justify-content: space-between; margin-bottom: 8px; font-weight: 700;}
.wsw-shop .wsw-shipment__items {display: flex; gap: 8px; margin-bottom: 10px; flex-wrap: wrap;}
.wsw-shop .wsw-shipment__items img {width: 48px; height: 48px; object-fit: contain; border: 1px solid var(--wsw-border); border-radius: 10px;}
.wsw-shop .wsw-rate {display: flex; align-items: center; gap: 10px; padding: 12px 14px; margin-top: 8px; border: 2px solid var(--wsw-border); border-radius: var(--wsw-radius-sm); cursor: pointer;}
.wsw-shop .wsw-rate.is-selected {border-color: var(--wsw-primary); background: #f5f9ff;}
.wsw-shop .wsw-rate__label {flex: 1; font-weight: 600;}
.wsw-shop .wsw-rate__cost {color: var(--wsw-muted);}
.wsw-shop .wsw-hint {color: var(--wsw-muted); font-size: 13px;}
.wsw-shop .wsw-checkout__nav {display: flex; gap: 12px; justify-content: space-between; margin-top: 8px;}
.wsw-shop .wsw-checkout .woocommerce-checkout-payment ul.payment_methods {list-style: none; margin: 0; padding: 0;}
.wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method {margin: 0 0 10px; padding: 12px 14px; border: 2px solid var(--wsw-border); border-radius: var(--wsw-radius-md);}
.wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method:has(input:checked) {border-color: var(--wsw-primary); background: #f5f9ff;}
.wsw-shop .wsw-checkout .woocommerce-checkout-payment .payment_box {margin-top: 8px; color: var(--wsw-muted); font-size: 13px;}
.wsw-shop .wsw-checkout #place_order {width: 100%; padding: 14px; border: 0; border-radius: var(--wsw-radius-md); background: var(--wsw-primary); color: #fff; font: inherit; font-weight: 700; font-size: 16px; cursor: pointer;}
@media (hover: hover) { .wsw-shop .wsw-checkout #place_order:hover {background: var(--wsw-primary-dark);} }
.wsw-shop .wsw-modal {position: fixed; inset: 0; background: rgba(15, 23, 42, .5); display: none; place-items: end center; z-index: 99998;}
.wsw-shop .wsw-modal.is-open {display: grid;}
.wsw-shop .wsw-modal__box {width: min(560px, 100%); max-height: 92vh; overflow: auto; background: #fff; border-radius: 24px 24px 0 0; padding: 20px;}
.wsw-shop .wsw-form-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
.wsw-shop .wsw-form-grid .is-full {grid-column: 1 / -1;}
.wsw-shop .wsw-field label {display: block; margin-bottom: 4px; font-size: 13px; color: var(--wsw-muted);}
.wsw-shop .wsw-field .wsw-err {color: var(--wsw-danger); font-size: 12px;}
.wsw-shop .wsw-login-gate {max-width: 440px; margin: 24px auto;}
@media (min-width: 1440px) {
.wsw-shop {max-width: 1320px; font-size: 16px; padding: 24px;}
.wsw-shop .wsw-cart__grid,
.wsw-shop .wsw-checkout__grid {grid-template-columns: 1fr 420px; gap: 28px;}
.wsw-shop .wsw-addresses {grid-template-columns: repeat(3, 1fr);}
.wsw-shop .wsw-item__img,
.wsw-shop .wsw-item__img img {flex-basis: 112px; width: 112px; height: 112px;}

}
@media (max-width: 1023px) {
.wsw-shop .wsw-cart__grid,
.wsw-shop .wsw-checkout__grid {grid-template-columns: 1fr;}
.wsw-shop .wsw-sum {position: static;}
.wsw-shop .wsw-cart .wsw-sum .wsw-btn--primary {display: none;}
.wsw-shop .wsw-sticky {display: flex; position: fixed; inset-inline: 0; bottom: 0; z-index: 9999; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--wsw-border); box-shadow: 0 -6px 20px rgba(15, 23, 42, .08);}
.wsw-shop .wsw-sticky__sum {display: flex; flex-direction: column;}
.wsw-shop .wsw-sticky .wsw-btn {flex: 1; max-width: 260px;}
.wsw-shop {padding-bottom: 104px;}
.wsw-shop .wsw-modal {place-items: end center;}

}
@media (min-width: 1024px) {
.wsw-shop .wsw-modal {place-items: center;}
.wsw-shop .wsw-modal__box {border-radius: 24px;}

}
@media (min-width: 768px) and (max-width: 1023px) {
.wsw-shop {padding: 20px 24px 110px;}
.wsw-shop .wsw-addresses {grid-template-columns: repeat(2, 1fr);}
.wsw-shop .wsw-form-grid {grid-template-columns: 1fr 1fr;}
.wsw-shop .wsw-modal {place-items: center;}
.wsw-shop .wsw-modal__box {border-radius: 24px;}

}
@media (min-width: 576px) and (max-width: 767px) {
.wsw-shop .wsw-addresses {grid-template-columns: repeat(2, 1fr);}
.wsw-shop .wsw-form-grid {grid-template-columns: 1fr 1fr;}

}
@media (max-width: 575px) {
.wsw-shop {padding: 12px 12px 104px; font-size: 14px;}
.wsw-shop .wsw-addresses {grid-template-columns: 1fr;}
.wsw-shop .wsw-form-grid {grid-template-columns: 1fr;}
.wsw-shop .wsw-cart__list,
.wsw-shop .wsw-sum,
.wsw-shop .wsw-saved,
.wsw-shop .wsw-card {padding: 14px; border-radius: 20px;}
.wsw-shop .wsw-item {gap: 12px;}
.wsw-shop .wsw-item__img {flex-basis: 80px;}
.wsw-shop .wsw-item__img img {width: 80px; height: 80px;}
.wsw-shop .wsw-stepper__label {font-size: 11px;}
.wsw-shop .wsw-checkout__nav {flex-direction: column-reverse;}
.wsw-shop .wsw-checkout__nav .wsw-btn {width: 100%;}
.wsw-shop .wsw-btn {padding: 13px 16px;}
.wsw-shop .wsw-toast {bottom: 96px; max-width: calc(100vw - 32px); text-align: center;}

}
@media (max-width: 359px) {
.wsw-shop {padding: 8px 8px 104px; font-size: 13px;}
.wsw-shop .wsw-stepper__label {display: none;}
.wsw-shop .wsw-stepper__item.is-active .wsw-stepper__label {display: block;}
.wsw-shop .wsw-item {flex-direction: column;}
.wsw-shop .wsw-item__img,
.wsw-shop .wsw-item__img img {width: 100%; height: 140px; flex-basis: auto;}
.wsw-shop .wsw-item__row {flex-direction: column; align-items: stretch;}
.wsw-shop .wsw-qty {align-self: flex-start;}
.wsw-shop .wsw-sticky .wsw-btn {padding: 11px 12px;}
.wsw-shop .wsw-canvas__phone {display: none;}

}
.wsw-shop 
.wsw-checkout .woocommerce-error,
.wsw-shop .wsw-checkout .woocommerce-NoticeGroup .woocommerce-error {list-style: none; margin: 0 0 16px; padding: 12px 16px; border-radius: var(--wsw-radius-sm); background: var(--wsw-danger-bg); color: var(--wsw-danger);}
.wsw-shop .wsw-checkout .woocommerce-error li {margin: 4px 0;}
.wsw-shop.wsw-dark {--wsw-ink: #e4e6ea; --wsw-muted: #a0a6ad; --wsw-text-strong: #d8dade;
	--wsw-border: #262c38; --wsw-border-soft: #1c212b; --wsw-bg: #0d1117; --wsw-surface: #161b24;
	--wsw-glass-bg: rgba(22, 27, 36, .85); --wsw-glass-border: rgba(51, 58, 71, .7);
	--wsw-success: #34d399; --wsw-success-bg: #10281f; --wsw-danger: #fb7185; --wsw-danger-bg: #3a1520; --wsw-warning: #fbbf24;
	--wsw-shadow: 0 10px 30px rgba(0, 0, 0, .35); --wsw-shadow-hover: 0 20px 40px rgba(0, 0, 0, .45);}
.wsw-shop.wsw-dark .wsw-input,
.wsw-shop.wsw-dark .wsw-select,
.wsw-shop.wsw-dark .wsw-textarea,
.wsw-shop.wsw-dark .wsw-addr,
.wsw-shop.wsw-dark .wsw-sticky,
.wsw-shop.wsw-dark .wsw-modal__box,
.wsw-shop.wsw-dark .wsw-order__thumbs img,
.wsw-shop.wsw-dark .wsw-lines img {background: #161b24;}
.wsw-shop.wsw-dark .wsw-addr.is-selected,
.wsw-shop.wsw-dark .wsw-rate.is-selected {background: #14233f;}
.wsw-shop.wsw-dark .wsw-free {background: #14233f;}
.wsw-shop.wsw-dark .wsw-undo {background: #3a2f10; border-color: #5b4a17;}
.wsw-shop .wsw-card,
.wsw-shop .wsw-cart__list,
.wsw-shop .wsw-sum,
.wsw-shop .wsw-saved,
.wsw-shop .wsw-empty,
.wsw-shop .wsw-shipment,
.wsw-shop .wsw-login-gate {background: var(--wsw-glass-bg); border-color: var(--wsw-glass-border);
	-webkit-backdrop-filter: var(--wsw-glass-blur); backdrop-filter: var(--wsw-glass-blur);
	box-shadow: var(--wsw-shadow);}
.wsw-shop .wsw-btn--primary,
.wsw-shop .wsw-checkout #place_order {background: linear-gradient(135deg, var(--wsw-primary), var(--wsw-primary-dark));
	box-shadow: 0 8px 20px color-mix(in srgb, var(--wsw-primary) 30%, transparent);}
@media (hover: hover) { .wsw-shop .wsw-btn--primary:hover, .wsw-shop .wsw-checkout #place_order:hover {background: linear-gradient(135deg, var(--wsw-primary-dark), var(--wsw-primary-dark));} }
.wsw-shop .wsw-btn {border-radius: 16px;}
.wsw-shop .wsw-sum__title,
.wsw-shop .wsw-checkout h2 {font-weight: 800;}
.wsw-shop .wsw-sum {position: sticky; top: 16px;}
.wsw-tools {display: inline-flex; align-items: center; gap: 8px;}
.wsw-shop .wsw-tools-bar {display: flex; justify-content: flex-end; margin-bottom: 8px;}
.wsw-iconbtn {display: inline-grid; place-items: center; width: 38px; height: 38px; padding: 0; border-radius: 50%; border: 1px solid #e2e8f0; background: #f1f5f9; color: #334155; cursor: pointer;}
@media (hover: hover) { .wsw-iconbtn:hover {background: #2f86ff; border-color: #2f86ff; color: #fff;} }
body.wsw-dark-body .wsw-iconbtn {background: #1c212b; border-color: #262c38; color: #d8dade;}
.wsw-theme-wrap {position: relative;}
.wsw-theme-pop {position: absolute; top: calc(100% + 8px); inset-inline-end: 0; z-index: 99990; display: grid; grid-template-columns: repeat(6, 28px); gap: 8px; padding: 12px; background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; box-shadow: 0 20px 40px rgba(15, 23, 42, .12);}
.wsw-theme-pop[hidden] {display: none;}
body.wsw-dark-body .wsw-theme-pop {background: #161b24; border-color: #262c38;}
.wsw-theme-dot {width: 28px; height: 28px; padding: 0; border-radius: 50%; border: 2px solid #e2e8f0; cursor: pointer;}
.wsw-theme-dot.is-default {background: #f1f5f9; color: #64748b; font-size: 14px; line-height: 1;}
.wsw-shop .wsw-login-gate {display: flex; align-items: center; justify-content: center; min-height: 60vh; padding: 12px 0; background: none; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;}
.wsw-shop .wsw-login-gate .wsw-auth.wsw-auth {margin: 0 auto;}


/* پیام‌های ووکامرس (موفق/اطلاع/خطا) که افزونه‌ها یا خود ووکامرس چاپ می‌کنند: هم‌سبک رابط ما و بدون آیکون فونتی ووکامرس */
.wsw-shop .woocommerce-message, .wsw-shop .woocommerce-info, .wsw-shop .woocommerce-error, .wsw-shop .woocommerce-notice {
	display: block; margin: 0 0 12px; padding: 12px 16px; border: 1px solid transparent; border-radius: var(--wsw-radius-md);
	font-size: 13.5px; font-weight: 700; line-height: 1.9; list-style: none; box-shadow: none; text-align: start;
}
.wsw-shop .woocommerce-message::before, .wsw-shop .woocommerce-info::before, .wsw-shop .woocommerce-error::before, .wsw-shop .woocommerce-notice::before { content: none; display: none; }
.wsw-shop .woocommerce-message { background: color-mix(in srgb, var(--wsw-success) 12%, var(--wsw-surface)); border-color: color-mix(in srgb, var(--wsw-success) 30%, transparent); color: var(--wsw-success); }
.wsw-shop .woocommerce-info, .wsw-shop .woocommerce-notice { background: color-mix(in srgb, var(--wsw-primary) 10%, var(--wsw-surface)); border-color: color-mix(in srgb, var(--wsw-primary) 28%, transparent); color: var(--wsw-primary); }
.wsw-shop .woocommerce-error { background: var(--wsw-danger-bg); border-color: color-mix(in srgb, var(--wsw-danger) 30%, transparent); color: var(--wsw-danger); }
.wsw-shop .woocommerce-message .button, .wsw-shop .woocommerce-info .button { float: none; display: inline-block; margin-inline-start: 10px; padding: 2px 12px; border-radius: 99px; background: transparent; border: 1px solid currentColor; color: inherit; font-size: 12px; box-shadow: none; }
.wsw-shop .woocommerce-notices-wrapper:empty { display: none; }
.wsw-shop .woocommerce-error li { margin: 2px 0; }

/* دکمه‌ها داخل نوار ناوبری چک‌اوت روی موبایل تمام‌عرض */
@media (max-width: 575px) {
	.wsw-shop .wsw-checkout__nav { flex-direction: column-reverse; align-items: stretch; }
	.wsw-shop .wsw-checkout__nav .wsw-btn { width: 100%; justify-content: center; }
}
.wsw-shop .wc-block-components-notice-banner { margin: 0 0 12px; border-radius: var(--wsw-radius-md); font-size: 13.5px; font-weight: 700; line-height: 1.9; }
@media (max-width: 575px) {
	.wsw-shop .wsw-checkout__nav { gap: 10px; }
}


/* مرحله‌ها: نوار دکمه‌های مرحله اول فقط در همان مرحله دیده شود (display:flex خودش از .wsw-step قوی‌تر بود) */
.wsw-shop .wsw-checkout__nav.wsw-step { display: none; }
.wsw-shop .wsw-checkout[data-step="shipping"] .wsw-checkout__nav.wsw-step--shipping { display: flex; }

/* درگاه‌های پرداخت: کل کارت قابل کلیک؛ رادیو، عنوان و آیکون هم‌ردیف؛ لوگوهای درگاه‌ها کوچک و هم‌اندازه */
.wsw-shop .wsw-checkout .woocommerce-checkout-payment ul.payment_methods { display: flex; flex-direction: column; gap: 10px; }
.wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method { position: relative; margin: 0; padding: 0; cursor: pointer; border: 2px solid var(--wsw-border); border-radius: var(--wsw-radius-md); background: var(--wsw-surface); transition: border-color .15s, background .15s; }
@media (hover: hover) { .wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method:hover { border-color: color-mix(in srgb, var(--wsw-primary) 45%, var(--wsw-border)); } }
.wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method > input.input-radio { position: absolute; top: 18px; inset-inline-start: 16px; margin: 0; width: 18px; height: 18px; accent-color: var(--wsw-primary); }
.wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method > label { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 54px; margin: 0; padding: 14px 16px 14px 46px; cursor: pointer; font-weight: 700; font-size: 14px; color: var(--wsw-ink); }
html[dir="rtl"] .wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method > label { padding: 14px 46px 14px 16px; }
.wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method > label img { order: 2; width: auto; max-width: 56px; max-height: 32px; height: auto; margin-inline-start: auto; object-fit: contain; }
.wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method .payment_box { margin: 0; padding: 0 16px 14px; background: transparent; border: 0; color: var(--wsw-muted); font-size: 12.5px; line-height: 1.9; }
.wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method .payment_box::before { display: none; }
.wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method .payment_box img { display: block; width: auto; height: auto; max-width: 96px; max-height: 40px; margin: 8px 0 0; object-fit: contain; }
.wsw-shop .wsw-checkout .woocommerce-checkout-payment li.wc_payment_method .payment_box p { margin: 0 0 6px; }
.wsw-shop .wsw-checkout .woocommerce-checkout-payment .place-order { padding: 12px 0 0; }
.wsw-shop .wsw-checkout .woocommerce-privacy-policy-text, .wsw-shop .wsw-checkout .woocommerce-terms-and-conditions-wrapper { color: var(--wsw-muted); font-size: 12px; line-height: 1.9; }

/* خنثی‌سازی استایل پیش‌فرض ووکامرس برای #payment (قوانین ID ووکامرس از کلاس‌های ما قوی‌ترند) */
.wsw-shop .wsw-checkout #payment { background: transparent; border-radius: 0; border: 0; padding: 0; }
.wsw-shop .wsw-checkout #payment ul.payment_methods { padding: 0; margin: 0; border: 0; text-align: start; }
.wsw-shop .wsw-checkout #payment div.payment_box { background: transparent; color: var(--wsw-muted); margin: 0; padding: 0 16px 14px; border-radius: 0; font-size: 12.5px; line-height: 1.9; }
.wsw-shop .wsw-checkout #payment div.payment_box::before, .wsw-shop #payment div.payment_box::after { display: none; border: 0; }
.wsw-shop .wsw-checkout #payment div.form-row { padding: 12px 0 0; margin: 0; }
.wsw-shop .wsw-checkout #payment #place_order { float: none; width: 100%; }


/* هنگام محاسبه دوباره سفارش روی سرور: لایه قفل ووکامرس حذف می‌شود (انتخاب درگاه نباید گیر کند) و فقط یک نوار باریک بالای صفحه نشان داده می‌شود */
.wsw-shop .blockUI.blockOverlay { background: transparent !important; opacity: 0 !important; pointer-events: none !important; }
.wsw-shop .blockUI.blockMsg { display: none !important; }
.wsw-shop .wsw-checkout.is-updating .wsw-sum { opacity: .6; transition: opacity .15s; }
.wsw-shop .wsw-checkout.is-updating #place_order { opacity: .75; }
@keyframes wsw-bar { from { background-position: -50% 0; } to { background-position: 150% 0; } }


/* زمان تحویل (روز و بازه ساعتی) */
.wsw-shop .wsw-slots { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--wsw-border); }
.wsw-shop .wsw-slots__title { margin: 0 0 8px; font-weight: 800; font-size: 13.5px; }
.wsw-shop .wsw-days { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; }
.wsw-shop .wsw-day { position: relative; flex: 0 0 auto; min-width: 74px; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 8px; border: 2px solid var(--wsw-border); border-radius: var(--wsw-radius-md); background: var(--wsw-surface); text-align: center; cursor: pointer; scroll-snap-align: start; }
.wsw-shop .wsw-day input { position: absolute; opacity: 0; pointer-events: none; }
.wsw-shop .wsw-day__w { font-size: 12px; color: var(--wsw-muted); }
.wsw-shop .wsw-day__d { font-weight: 800; font-size: 13.5px; }
.wsw-shop .wsw-day__x { font-size: 11px; color: var(--wsw-danger); }
.wsw-shop .wsw-day.is-selected { border-color: var(--wsw-primary); background: color-mix(in srgb, var(--wsw-primary) 8%, var(--wsw-surface)); }
.wsw-shop .wsw-day.is-disabled, .wsw-shop .wsw-rate.is-disabled { opacity: .5; cursor: not-allowed; }
.wsw-shop .wsw-ranges { margin-top: 6px; }

/* ---------- استانداردهای دسترسی‌پذیری و لمس ---------- */
.wsw-shop, .wsw-shop * { -webkit-tap-highlight-color: transparent; }
.wsw-shop a, .wsw-shop button, .wsw-shop label, .wsw-shop select, .wsw-shop summary, .wsw-shop [role="button"] { touch-action: manipulation; }
.wsw-shop :focus { outline: none; }
.wsw-shop :focus-visible { outline: 2px solid var(--wsw-primary); outline-offset: 2px; border-radius: 6px; }
.wsw-shop input:focus-visible, .wsw-shop select:focus-visible, .wsw-shop textarea:focus-visible { outline-offset: 0; }
@media (max-width: 900px) {
	/* فونت ۱۶ پیکسل در فیلدها جلوی زوم خودکار iOS هنگام فوکوس را می‌گیرد */
	.wsw-shop input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), .wsw-shop select, .wsw-shop textarea { font-size: 16px; }
	/* هدف لمسی حداقل ۴۰ پیکسل */
	.wsw-shop .wsw-link, .wsw-shop .wsw-topbar__back, .wsw-shop .wsw-addr a, .wsw-shop .wsw-addr button.wsw-link { display: inline-flex; align-items: center; min-height: 40px; padding-inline: 8px; }
	.wsw-shop .wsw-cart__item a, .wsw-shop .wsw-line a { display: inline-flex; align-items: center; min-height: 36px; }
	.wsw-shop .wsw-stepper__label { font-size: 12px; }
	.wsw-shop .wsw-qty button { min-width: 40px; min-height: 40px; }
	body.wsw-canvas .wsw-canvas__logo { min-height: 40px; display: inline-flex; align-items: center; }
	body.wsw-canvas .wsw-canvas__navlink, body.wsw-canvas .wsw-iconbtn, .wsw-shop .wsw-iconbtn { min-width: 40px; min-height: 40px; }
}
.wsw-shop .wsw-modal__box { max-height: 92vh; max-height: 92dvh; overscroll-behavior: contain; padding-bottom: calc(20px + env(safe-area-inset-bottom)); }

/* ---------- باکس توضیح (بسته‌بندی، پیام درگاه) و هدیه ---------- */
.wsw-shop .wsw-note-box { margin: 12px 0; padding: 12px 14px; border: 1px solid color-mix(in srgb, var(--wsw-primary) 28%, var(--wsw-border)); border-inline-start: 4px solid var(--wsw-primary); border-radius: var(--wsw-radius-md); background: color-mix(in srgb, var(--wsw-primary) 6%, var(--wsw-surface, #fff)); font-size: 13px; line-height: 1.9; }
.wsw-shop .wsw-note-box strong { display: block; margin-bottom: 4px; }
.wsw-shop .wsw-note-box ul { margin: 0; padding-inline-start: 18px; }
.wsw-shop .wsw-gift-badge { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border-radius: 99px; background: color-mix(in srgb, var(--wsw-success, #16a34a) 14%, transparent); color: var(--wsw-success, #16a34a); font-weight: 800; font-size: 13px; }
.wsw-shop .wsw-gift-label { color: var(--wsw-success, #16a34a); font-weight: 800; }
