.etsc-modal{position:fixed;inset:0;z-index:99999;display:none;direction:rtl;font-family:inherit}
.etsc-modal.is-open{display:block}
.etsc-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}
.etsc-modal__panel{position:absolute;inset-inline:0;bottom:0;margin:auto;max-width:520px;max-height:92vh;overflow:auto;background:#fff;border-radius:var(--etsc-radius,16px) var(--etsc-radius,16px) 0 0;box-shadow:0 -8px 40px rgba(0,0,0,.2)}
@media(min-width:768px){.etsc-modal__panel{inset:50% auto auto 50%;transform:translate(-50%,-50%);border-radius:var(--etsc-radius,16px)}}
.etsc-modal__header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #eef2f7;position:sticky;top:0;background:#fff;z-index:2}
.etsc-modal__title{flex:1;font-size:15px}
.etsc-modal__close{background:none;border:0;font-size:24px;line-height:1;cursor:pointer;color:#64748b}
.etsc-steps{display:flex;align-items:center;gap:6px}
.etsc-step{position:relative;box-sizing:border-box;width:26px;height:26px;border-radius:50%;background:#e2e8f0;color:#94a3b8;display:grid;place-items:center;font-size:11px;font-weight:700;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease}
.etsc-step:not(:last-child)::after{content:"";position:absolute;top:50%;inset-inline-start:100%;width:6px;height:2px;background:#e2e8f0;transform:translateY(-50%);transition:background-color .2s ease}
/* در حال انجام: مرحله فعلی — دایره پر با رنگ اصلی تنظیمات و یک هاله برای جلب توجه */
.etsc-step.is-active:not(.is-done){background:var(--etsc-accent,#1f7a5a);color:var(--etsc-accent-text,#fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--etsc-accent,#1f7a5a) 18%,transparent)}
/* انجام‌شده: دایره با حاشیه و ته‌رنگ کم‌رنگ از همان رنگ اصلی، به‌همراه تیک */
.etsc-step.is-done{font-size:0;background:color-mix(in srgb,var(--etsc-accent,#1f7a5a) 12%,#fff);border:2px solid var(--etsc-accent,#1f7a5a);color:var(--etsc-accent,#1f7a5a)}
.etsc-step.is-done::before{content:"✓";font-size:12px}
.etsc-step.is-done:not(:last-child)::after{background:var(--etsc-accent,#1f7a5a)}
.etsc-modal__body{padding:16px}
.etsc-section-title{margin:0 0 12px;font-size:15px}
.etsc-cart-items{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.etsc-cart-item{display:flex;gap:10px;align-items:flex-start;border:1px solid #eef2f7;border-radius:12px;padding:10px}
.etsc-cart-item__thumb img{width:56px;height:56px;object-fit:cover;border-radius:8px}
.etsc-cart-item__body{flex:1}
.etsc-cart-item__body h4{margin:0 0 4px;font-size:13px}
.etsc-cart-item__price{font-size:13px;color:#334155}
.etsc-cart-item__remove{background:none;border:0;font-size:20px;color:#94a3b8;cursor:pointer}
.etsc-qty{display:inline-flex;align-items:center;border:1px solid #e2e8f0;border-radius:8px;margin-top:8px;overflow:hidden}
.etsc-qty__btn{width:30px;height:30px;background:#f8fafc;border:0;cursor:pointer;font-size:16px}
.etsc-qty__input{width:46px;height:30px;border:0;text-align:center;font-size:13px}
.etsc-coupon{display:flex;gap:8px;margin-top:14px}
.etsc-coupon input{flex:1;height:40px;border:1px solid #e2e8f0;border-radius:10px;padding:0 10px}
.etsc-coupon-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;font-size:12px}
.etsc-coupon-list li{display:flex;justify-content:space-between;background:#f1f5f9;padding:6px 10px;border-radius:8px}
.etsc-coupon-list button{background:none;border:0;color:#dc2626;cursor:pointer}
.etsc-progress{margin-top:14px;font-size:12px}
.etsc-progress__bar{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}
.etsc-progress__bar span{display:block;height:100%;background:var(--etsc-accent,#1f7a5a)}
.etsc-totals{margin:16px 0;display:grid;gap:6px;font-size:13px}
.etsc-totals__row{display:flex;justify-content:space-between}
.etsc-totals__row--discount{color:#16a34a}
.etsc-totals__row--total{padding-top:8px;border-top:1px dashed #e2e8f0;font-size:15px}
.etsc-btn{display:block;width:100%;border:0;border-radius:12px;padding:12px 16px;font-size:14px;cursor:pointer;text-align:center;text-decoration:none;margin-top:8px}
.etsc-btn--primary{background:var(--etsc-accent,#1f7a5a);color:var(--etsc-accent-text,#fff)}
.etsc-btn--ghost{background:#f1f5f9;color:#334155}
.etsc-btn[disabled]{opacity:.6;cursor:progress}
.etsc-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.etsc-field--full{grid-column:1/-1}
.etsc-field label{display:block;font-size:12px;margin-bottom:4px;color:#475569}
.etsc-field input,.etsc-field textarea{width:100%;border:1px solid #e2e8f0;border-radius:10px;padding:10px;font-size:13px}
.etsc-field input.etsc-invalid,.etsc-field textarea.etsc-invalid{border-color:#dc2626}
.etsc-req{color:#dc2626}
.etsc-option{display:flex;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:10px;padding:10px;font-size:13px;margin-bottom:8px;cursor:pointer}
.etsc-option em{margin-inline-start:auto;font-style:normal;color:#475569}
.etsc-notice{background:#f1f5f9;border-radius:10px;padding:10px;font-size:12px;margin:0 0 10px}
.etsc-notice--success{background:#dcfce7;color:#166534}
.etsc-notice--error{background:#fee2e2;color:#991b1b}
.etsc-notice--warning{background:#fef3c7;color:#92400e}
.etsc-empty{text-align:center;padding:24px 0;color:#64748b}
.etsc-added{text-align:center}
.etsc-added__icon{width:52px;height:52px;border-radius:50%;background:#dcfce7;color:#166534;display:grid;place-items:center;margin:4px auto 12px;font-size:26px}
.etsc-loading{text-align:center;padding:28px 0;color:#64748b;font-size:13px}

/* Before/after price + discount badge on a cart line. */
.etsc-price-old{text-decoration:line-through;color:#94a3b8;font-size:11px;margin-inline-end:6px}
.etsc-price-new{color:#166534;font-weight:600}
.etsc-badge-off{display:inline-block;background:#dcfce7;color:#166534;border-radius:999px;padding:1px 8px;font-size:10px;margin-inline-start:6px}

/* Applied coupon row: code + amount saved. */
.etsc-coupon-list__code{font-weight:600;letter-spacing:.5px}
.etsc-coupon-list__amount{color:#16a34a;margin-inline-start:6px;flex:1}

/* Related-product upsell inside the cart step. */
.etsc-related{margin-top:18px;border-top:1px dashed #e2e8f0;padding-top:14px}
.etsc-related__title{margin:0 0 10px;font-size:13px;color:#475569}
.etsc-related__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.etsc-related__item{display:flex;align-items:center;gap:8px;border:1px solid #eef2f7;border-radius:10px;padding:8px}
.etsc-related__thumb img{width:40px;height:40px;object-fit:cover;border-radius:6px;display:block}
.etsc-related__body{flex:1;min-width:0}
.etsc-related__name{display:block;font-size:12px;color:#0f172a;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.etsc-related__price{font-size:11px;color:#64748b;display:block;margin-top:2px}
.etsc-related__price .price,.etsc-related__price .woocommerce-Price-amount{font-size:11px!important;font-weight:600}
.etsc-related__price del{font-size:10px!important;opacity:.65;text-decoration:line-through;margin-inline-end:4px}
.etsc-related__price del .woocommerce-Price-amount{font-size:10px!important;font-weight:400!important}
.etsc-related__price ins{text-decoration:none;color:#166534}
.etsc-related__price ins .woocommerce-Price-amount{color:#166534}
.etsc-related__add{width:auto;margin:0;padding:6px 12px;font-size:12px}

/* OTP phone verification block. */
.etsc-otp{margin-bottom:16px}
.etsc-otp__row{display:flex;gap:8px;margin-bottom:8px}
.etsc-otp__row input{flex:1;height:40px;border:1px solid #e2e8f0;border-radius:10px;padding:0 10px;font-size:13px}
.etsc-otp__row button{width:auto;margin:0;padding:0 14px;white-space:nowrap}
.etsc-otp__status{font-size:12px;color:#475569;margin:0}
.etsc-otp__status.etsc-notice--error{background:transparent;color:#991b1b;padding:0}
