.otf-box,.otf-box *,.otf-inline,.otf-inline *{box-sizing:border-box}
.otf-box{max-width:var(--otf-max,640px);width:100%;margin:0 auto;position:relative;--ico:var(--otf-ico,46px)}
.otf-box [hidden]{display:none!important}
.otf-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0!important;padding:0}
.otf-label{font-weight:700;white-space:nowrap;color:var(--otf-accent,#0d1b38);font-size:var(--otf-font,14px)}
.otf-box .otf-input{flex:1 1 150px;min-width:0;width:auto;height:var(--otf-field-h,44px);margin:0;padding:0 12px;border-radius:var(--otf-radius,12px);border:1.5px solid rgba(128,128,128,.35);background:var(--otf-input-bg,#f9fafb);color:var(--otf-input-text,#111);font-size:16px;direction:ltr;text-align:center;outline:0;box-shadow:none}
.otf-box .otf-phone-in{text-align:center}
.otf-box .otf-input:focus{border-color:var(--otf-accent,#3b6fd4)}
.otf-box .otf-btn{flex:0 0 auto;height:var(--otf-field-h,44px);min-height:0;margin:0;padding:0 20px;border:0;border-radius:var(--otf-radius,12px);background:var(--otf-accent,#0d1b38);color:#fff;font-weight:700;cursor:pointer;font-size:var(--otf-font,14px);line-height:1;box-shadow:none;text-transform:none;white-space:nowrap}
.otf-box .otf-btn:disabled{opacity:.6;cursor:wait}
.otf-inline .otf-form{flex-wrap:wrap}
.otf-inline .otf-label{width:100%}

.otf-result{margin:0 0 12px;padding:16px 14px;border-radius:var(--otf-card-radius,18px);background:var(--otf-card-bg,#fff);box-shadow:0 8px 30px rgba(0,0,0,.18);border:1px solid rgba(128,128,128,.18);color:var(--otf-card-text,#1f2937);text-align:right;font-size:var(--otf-font,14px);line-height:1.7}
.otf-result.otf-err{background:var(--otf-err-bg,#fff1f2);color:var(--otf-err-text,#be123c);border-color:var(--otf-err-text,#be123c);text-align:center;font-weight:600}
.otf-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.otf-title{font-size:calc(var(--otf-font,14px) + 2px);font-weight:800}
.otf-close{flex:0 0 auto;border:0;background:rgba(128,128,128,.18);color:inherit;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;padding:0}
.otf-meta{font-size:12px;opacity:.65;margin-bottom:14px}
.otf-msg{line-height:1.9;margin:14px 0 4px;opacity:.9}

.otf-steps{position:relative;display:flex;padding-top:6px}
.otf-line{position:absolute;top:calc(6px + var(--ico)/2 - 2px);right:calc(50% / var(--otf-n,4));width:calc(100% - 100% / var(--otf-n,4));height:4px;background:rgba(128,128,128,.25);border-radius:4px}
.otf-fill{position:absolute;top:0;right:0;height:100%;background:var(--otf-done,#22c55e);border-radius:4px;transition:width .8s ease}
.otf-step{flex:1 1 0;min-width:0;padding:0 2px;text-align:center;position:relative;z-index:1;font-size:12px;opacity:.55;line-height:1.6;overflow-wrap:anywhere}
.otf-ico{position:relative;width:var(--ico);height:var(--ico);margin:0 auto 6px;border-radius:50%;background:rgba(128,128,128,.2);display:flex;align-items:center;justify-content:center;font-size:calc(var(--ico)*.48);filter:grayscale(1);border:3px solid var(--otf-card-bg,#fff)}
.otf-step.done{opacity:1;color:var(--otf-done,#22c55e)}
.otf-step.done .otf-ico{background:var(--otf-done,#22c55e);color:#fff;filter:none;font-weight:700}
.otf-step.now{opacity:1;font-weight:800;color:inherit}
.otf-step.now .otf-ico{background:var(--otf-card-bg,#fff);filter:none;box-shadow:0 0 0 2px var(--otf-accent,#0d1b38)}
.otf-step.now .otf-ico:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--otf-accent,#0d1b38);animation:otfpulse 1.6s infinite}
@keyframes otfpulse{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.45);opacity:0}}

.otf-postcode{margin-top:10px;background:rgba(128,128,128,.14);padding:8px 12px;border-radius:10px;font-size:13px;overflow-wrap:anywhere}
.otf-postcode b{direction:ltr;unicode-bidi:embed;letter-spacing:1px}
.otf-badge{display:inline-block;background:var(--otf-err-bg,#fee2e2);color:var(--otf-err-text,#b91c1c);border:1px solid var(--otf-err-text,#b91c1c);border-radius:20px;padding:3px 14px;font-weight:700;font-size:13px}
.otf-inline{background:var(--otf-card-bg,#fff);padding:14px;border-radius:var(--otf-card-radius,16px);box-shadow:0 2px 14px rgba(0,0,0,.08);color:var(--otf-card-text,#1f2937)}

@media(max-width:600px){
.otf-box{--ico:calc(var(--otf-ico,46px)*.87)}
.otf-step{font-size:11px}
.otf-result{padding:14px 12px}
}
@media(max-width:380px){
.otf-box{--ico:calc(var(--otf-ico,46px)*.74)}
.otf-step{font-size:10.5px}
.otf-box .otf-btn{padding:0 14px}
.otf-box .otf-input{padding:0 8px}
}

/* ---------- آیکون‌های SVG و ایموجی دلخواه ---------- */
.otf-svg{width:1em;height:1em;display:inline-block;vertical-align:-.15em;flex:none;overflow:visible}
.otf-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla","EmojiOne Color",sans-serif;font-style:normal;font-weight:400;line-height:1;display:inline-block}
.otf-ico .otf-svg{width:1em;height:1em;vertical-align:middle}
.otf-close{display:flex;align-items:center;justify-content:center}
.otf-close .otf-svg{width:16px;height:16px;vertical-align:middle}
.otf-label .otf-svg{vertical-align:-.2em}
