#wfc-root{
    --wfc:#0f9f3f;
    --wfc-dark:#087832;
    --wfc-soft:#eef8f1;
    --wfc-border:#dce6df;
    --wfc-text:#17211b;
    --wfc-muted:#778178;
    font-family:"Vazirmatn",Tahoma,Arial,sans-serif;
    position:relative;
    z-index:999999
}
#wfc-root *{box-sizing:border-box}
.wfc-overlay{
    position:fixed;
    inset:0;
    background:rgba(13,23,18,.62);
    backdrop-filter:blur(7px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    opacity:0;
    visibility:hidden;
    transition:.2s ease;
    z-index:999999;
    overflow:hidden
}
.wfc-overlay.wfc-show{opacity:1;visibility:visible}
.wfc-dialog{
    width:min(100%,520px);
    max-width:100%;
    background:#fff;
    border-radius:26px;
    box-shadow:0 26px 80px rgba(0,0,0,.24);
    position:relative;
    overflow:hidden;
    transform:translateY(10px) scale(.985);
    transition:.2s ease
}
.wfc-show .wfc-dialog{transform:none}
.wfc-form-dialog{
    padding:22px 28px 24px;
    border-top:4px solid var(--wfc);
    max-height:calc(100vh - 36px);
    overflow-y:auto;
    overflow-x:hidden
}
.wfc-close{
    position:absolute;
    left:18px;
    top:14px;
    width:36px;
    height:36px;
    border:0;
    border-radius:50%;
    background:#f3f5f4;
    color:#586159;
    font-size:24px;
    line-height:34px;
    cursor:pointer;
    z-index:2
}
.wfc-brand{text-align:center;margin-bottom:14px}
.wfc-icon{
    width:68px;
    height:68px;
    border-radius:20px;
    background:var(--wfc-soft);
    border:1px solid #dcefe2;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:7px;
    margin:0 auto 8px
}
.wfc-icon img{width:100%;height:100%;object-fit:contain;display:block}
.wfc-dialog h2{
    margin:0;
    color:#111a14;
    font-size:24px;
    line-height:1.5;
    font-weight:800
}
.wfc-subtitle{
    color:#778178;
    font-size:12.5px;
    line-height:1.8;
    margin:5px auto 0;
    max-width:410px
}
#wfc-form{
    display:flex;
    flex-direction:column;
    gap:10px;
    width:100%;
    min-width:0
}
.wfc-field{min-width:0}
.wfc-field>label{
    display:block;
    color:#283229;
    font-size:12.5px;
    font-weight:700;
    margin:0 2px 5px;
    line-height:1.6
}
.wfc-field>label b{color:#ef6b33}
.wfc-field>label small{font-weight:400;color:#9aa29b}
.wfc-input-wrap{
    position:relative;
    width:100%;
    min-width:0
}
.wfc-field-icon{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    width:28px;
    height:28px;
    border-radius:9px;
    background:#f4f6f5;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    opacity:.78;
    pointer-events:none
}
.wfc-textarea-wrap .wfc-field-icon{
    top:12px;
    transform:none
}
#wfc-form input[type="text"],
#wfc-form input[type="email"],
#wfc-form input[type="tel"],
#wfc-form textarea{
    width:100%;
    max-width:100%;
    min-width:0;
    border:1px solid #d9dfdb;
    border-radius:13px;
    background:#fbfcfb;
    color:#17211b;
    padding:11px 48px 11px 12px;
    font:inherit;
    font-size:12.5px;
    outline:none;
    transition:.18s ease
}
#wfc-form input[type="text"],
#wfc-form input[type="email"],
#wfc-form input[type="tel"]{
    height:48px
}
#wfc-form textarea{
    min-height:88px;
    max-height:130px;
    resize:vertical;
    line-height:1.8;
    padding-top:12px
}
#wfc-form input:focus,
#wfc-form textarea:focus{
    border-color:#8bc7a1;
    background:#fff;
    box-shadow:0 0 0 3px rgba(15,159,63,.08)
}
.wfc-real-file{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important
}
.wfc-upload-box{
    margin:0!important;
    min-height:62px;
    border:1px dashed #b9d2c1;
    border-radius:14px;
    background:#fbfdfb;
    display:flex!important;
    flex-direction:row;
    align-items:center;
    gap:10px;
    padding:9px 11px!important;
    cursor:pointer
}
.wfc-upload-icon{
    flex:0 0 38px;
    width:38px;
    height:38px;
    border-radius:11px;
    background:#ebf7ef;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px
}
.wfc-upload-copy{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:2px
}
.wfc-upload-copy strong{
    color:#0c7c35;
    font-size:12.5px;
    font-weight:800;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.wfc-upload-copy small{
    color:#8c968f;
    font-size:10.5px;
    line-height:1.5
}
.wfc-submit{
    width:100%;
    border:0;
    border-radius:14px;
    background:linear-gradient(135deg,var(--wfc),#0a8f38);
    color:#fff;
    min-height:50px;
    padding:12px 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    font:inherit;
    font-weight:800;
    font-size:14px;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(15,159,63,.20);
    margin-top:2px
}
.wfc-submit:hover{filter:brightness(.98)}
.wfc-submit:disabled{opacity:.65;cursor:not-allowed}
.wfc-submit-icon{font-size:16px}
.wfc-status{
    display:none;
    padding:9px 11px;
    border-radius:11px;
    font-size:11.5px;
    line-height:1.7
}
.wfc-status.success{display:block;background:#ecfdf3;color:#027a48;border:1px solid #abefc6}
.wfc-status.error{display:block;background:#fff1f3;color:#b42318;border:1px solid #fecdd6}
.wfc-hp{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
body.wfc-lock{overflow:hidden!important}

/* success state */
.wfc-success-dialog{
    display:none;
    width:min(100%,470px);
    padding:26px 30px 30px;
    text-align:center
}
.wfc-success-dialog.wfc-active{display:block}
.wfc-success-logo{
    width:70px;
    height:70px;
    border-radius:20px;
    background:var(--wfc-soft);
    border:1px solid #dcefe2;
    padding:8px;
    margin:0 auto 24px
}
.wfc-success-logo img{width:100%;height:100%;object-fit:contain}
.wfc-success-check{
    width:104px;
    height:104px;
    margin:0 auto 20px;
    border-radius:50%;
    border:8px solid #f5fff7;
    background:#dff6e6;
    box-shadow:0 0 28px rgba(15,159,63,.20);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0d9c3e;
    font-size:56px;
    font-weight:700
}
.wfc-success-dialog h2{
    font-size:26px;
    margin-bottom:10px
}
.wfc-success-dialog p{
    margin:0 auto 24px;
    max-width:390px;
    color:#768177;
    font-size:14px;
    line-height:2
}
.wfc-success-button{
    width:100%;
    min-height:52px;
    border:0;
    border-radius:14px;
    background:linear-gradient(135deg,var(--wfc),#078b35);
    color:#fff;
    font:inherit;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(15,159,63,.20)
}

@media(max-width:600px){
    .wfc-overlay{
        padding:10px;
        align-items:center
    }
    .wfc-form-dialog{
        width:100%;
        max-height:calc(100vh - 20px);
        padding:18px 16px 18px;
        border-radius:22px
    }
    .wfc-close{
        left:12px;
        top:11px;
        width:34px;
        height:34px
    }
    .wfc-icon{
        width:58px;
        height:58px;
        border-radius:17px;
        margin-bottom:6px
    }
    .wfc-dialog h2{font-size:21px}
    .wfc-subtitle{
        font-size:11.5px;
        line-height:1.65
    }
    #wfc-form{gap:8px}
    .wfc-field>label{
        font-size:11.5px;
        margin-bottom:4px
    }
    #wfc-form input[type="text"],
    #wfc-form input[type="email"],
    #wfc-form input[type="tel"]{
        height:44px;
        font-size:12px
    }
    #wfc-form textarea{
        min-height:76px;
        max-height:105px;
        font-size:12px
    }
    .wfc-upload-box{min-height:55px}
    .wfc-submit{min-height:46px}
    .wfc-success-dialog{
        width:100%;
        padding:24px 20px 26px;
        border-radius:22px
    }
    .wfc-success-check{
        width:92px;
        height:92px;
        font-size:50px
    }
    .wfc-success-dialog h2{font-size:22px}
    .wfc-success-dialog p{font-size:13px}
}


/* v1.5.1 - Vazir/Vazirmatn + safe icon spacing */
#wfc-root,
#wfc-root button,
#wfc-root input,
#wfc-root textarea,
#wfc-root label,
#wfc-root strong,
#wfc-root small,
#wfc-root p,
#wfc-root h2,
#wfc-root span {
    font-family:"Vazirmatn",Tahoma,Arial,sans-serif !important;
}

#wfc-root .wfc-input-wrap{
    position:relative !important;
    overflow:visible !important;
}

#wfc-root .wfc-field-icon{
    right:12px !important;
    left:auto !important;
    z-index:3 !important;
    pointer-events:none !important;
}

#wfc-root #wfc-form input[type="text"],
#wfc-root #wfc-form textarea{
    direction:rtl !important;
    text-align:right !important;
    padding-right:54px !important;
    padding-left:14px !important;
    text-indent:0 !important;
}

#wfc-root #wfc-form input[type="email"],
#wfc-root #wfc-form input[type="tel"]{
    direction:ltr !important;
    text-align:left !important;
    padding-right:54px !important;
    padding-left:14px !important;
    text-indent:0 !important;
}

#wfc-root #wfc-form textarea{
    padding-top:13px !important;
    line-height:1.9 !important;
}

#wfc-root #wfc-form input::placeholder,
#wfc-root #wfc-form textarea::placeholder{
    color:#9aa29b !important;
    opacity:1 !important;
}

#wfc-root #wfc-form input[type="text"]::placeholder,
#wfc-root #wfc-form textarea::placeholder{
    direction:rtl !important;
    text-align:right !important;
}

#wfc-root #wfc-form input[type="email"]::placeholder,
#wfc-root #wfc-form input[type="tel"]::placeholder{
    direction:ltr !important;
    text-align:left !important;
}

@media(max-width:600px){
    #wfc-root #wfc-form input[type="text"],
    #wfc-root #wfc-form input[type="email"],
    #wfc-root #wfc-form input[type="tel"],
    #wfc-root #wfc-form textarea{
        padding-right:52px !important;
    }
}
