:root {
    --ok: #43c67a; /* سبز درست */
    --bad: #f16d6a; /* قرمز خطا */
}

html, body {
    overflow-x: clip;
}

/* یا: hidden */


.main {
    max-width: 552px;
    min-height: 100vh;
    border: solid 1px #d3d4da;
    width: 100%;
    background: #fff;
    padding-bottom: 0 !important;

}

body {
    display: flex;
    justify-content: center;
}

.border-12 {
    border-radius: 12px !important;
}

.terms {
    color: #000;
}

.info-box h1, .info-box p {
    color: #000;
}


/* وضعیت صحیح/خطا برای input ها (سازگار با Bootstrap) */
.form-control.is-valid {
    border-color: var(--ok) !important;
}

.form-control.is-valid:focus {
    box-shadow: 0 0 0 .2rem rgba(67, 198, 122, .25);
    border-color: var(--ok) !important;
}

.form-control.is-invalid {
    border-color: var(--bad) !important;
}

.form-control.is-invalid:focus {
    box-shadow: 0 0 0 .2rem rgba(241, 109, 106, .25);
    border-color: var(--bad) !important;
}

/* پیام‌ها */
.valid-feedback, .text-valid {
    color: var(--ok) !important;
}

.invalid-feedback, .text-invalid {
    color: var(--bad) !important;
}

/* گزینه‌های انتخابی (چک‌باکس/رادیو) در حالت Bootstrap */
.form-check-input.is-valid {
    border-color: var(--ok) !important;
    background-color: var(--ok) !important;
}

.form-check-input.is-invalid {
    border-color: var(--bad) !important;
    background-color: var(--bad) !important;
}

/* کلاس‌های کمکی اختیاری */
.border-valid {
    border-color: var(--ok) !important;
}

.border-invalid {
    border-color: var(--bad) !important;
}

.bg-valid {
    background-color: var(--ok) !important;
}

.bg-invalid {
    background-color: var(--bad) !important;
}

.btn:disabled, .btn.disabled {

    color: #263c47 !important;
    background-color: #eaf1f4;
    border-color: #eaf1f4;
}

.btn {
    min-height: 49px !important;
}

.input-custom-auth {
    height: 49px;
    font-size: 14px;
    border: solid 1px var(--border-color);
    border-radius: 12px !important;
}


#otp-input {
    display: flex;
    gap: 0.5em;
}

#otp-input input {
    font-family: EstedadV2-Medium, Sans-Serif;

    width: 49px;
    padding: 0.5em 0;
    text-align: center;
}

#otp-input input:focus {
    color: #000000;
    background-color: #fff;
    border-color: #000000;
    outline: 0;
    box-shadow: unset;
}


/* hide spinner */
#otp-input input::-webkit-outer-spin-button,
#otp-input input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#otp-input input[type=number] {
    -moz-appearance: textfield; /* Firefox */
}

.text-decoration {
    display: inline-block;
    border-bottom: 1px solid #0f6fff;
}

a {
    color: #0F6FFF;
}

.return-back-text, .return-back-text:hover {
    text-align: right;
    color: #648293;
}

.pro-img {
    width: 124px;
    height: 124px;
}

a {
    color: #0069BC;
}

.wallet-card {
    background: url(http://127.0.0.1:8000/static/website/img/banner/mask2.svg) center left no-repeat;
}

.ref-card {
    background: url(http://127.0.0.1:8000/static/website/img/banner/mask1.svg) center left no-repeat;
}

.gold-color {
    color: #ffd500;
}

.gold-bg {
    background: #ffd500;
}

.blue-color {
    color: #0069BC;
}

.blue-bg {
    background: #0069BC;
}

.a-link-gray {
    color: #74777c !important;
}

a.a-link-gray:hover {
    color: #1d1d1e !important;
}

.header-profile {
    background: #fff;

    position: fixed;
    max-width: 550px;
    margin: auto;
}

.profile-80 {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: cover;
    border: solid 1px #0069bc;
}

.pro-edit-img {
    display: grid;
    justify-content: center;
    position: relative;
}

.pro-edit-img i {
    background: #0069bc;
    padding: 5px;
    border-radius: 50%;
    color: #fff;
    width: fit-content;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    top: -17px;
    right: -25px;
}

/*# speciial input*/
:root {
    --field-h: 60px;
    --pad-x: 14px;
    --radius: 12px;
    --label-big: 14px;
    --label-small: 11px;
    --border: 1.5px;
    --c-border: #cfd4dc;
    --c-border-focus: #5b9bff;
    --c-bg: #fff;
    --c-text: #111827;
    --c-muted: #6b7280;
}

.field {
    position: relative;
    min-height: var(--field-h);
    border: var(--border) solid var(--c-border);
    border-radius: var(--radius);
    background: var(--c-bg);
    display: flex;
    align-items: center;
    padding: 0 var(--pad-x);
    direction: rtl; /* کل فیلد راست‌چین */
    transition: border-color .2s ease, box-shadow .2s ease;
}

.field:focus-within {
    border-color: var(--c-border-focus);
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-border-focus) 20%, transparent);
}

.field__label {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: start;
    padding: 0 var(--pad-x);
    font-size: var(--label-big);
    color: var(--c-muted);
    pointer-events: none;
    user-select: none;
    transition: all .18s ease;
}

.field--float .field__label,
.field:focus-within .field__label {
    inset: 4px auto auto auto;
    right: 12px;
    left: auto;
    width: auto;
    background: var(--c-bg);
    border-radius: 6px;
    padding: 0 6px;
    font-size: var(--label-small);
}

.field__input {
    width: 100%;
    border: 0;
    outline: none;
    background: transparent;
    font: inherit;
    height: 100%;
    color: var(--c-text);
    text-align: right; /* متن ورودی راست‌چین */
    resize: none;
}

.field__clear {
    position: absolute;
    left: 6px; /* چون RTL هست دکمه پاک سمت چپ فیلد میاد */
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 0;
    background: transparent;
    font-size: 16px;
    color: #8891a0;
    cursor: pointer;
    display: none;
}

.field.has-value .field__clear {
    display: grid;
    place-items: center;
}

.field__clear:hover {
    background: #f1f5f9;
}

.field.textarea {
    height: auto;
    min-height: 100px;
    padding: 16px var(--pad-x) 16px var(--pad-x);
    align-items: flex-start; /* چون textarea ارتفاع داره */
    resize: none;
}

.field.textarea .field__label {
    justify-content: flex-end;
    padding: 0 var(--pad-x);
}

.field.textarea .field--float .field__label,
.field.textarea:focus-within .field__label {
    top: 6px;
    right: 12px;
    background: var(--c-bg);
    border-radius: 6px;
    padding: 0 6px;
    font-size: var(--label-small);
    width: auto;
    height: auto;
}

.field.textarea .field__input {
    resize: vertical;
    min-height: 80px;
    padding-top: 20px; /* جا برای لیبل */
    text-align: right;
    width: 100%;
    border: 0;
    outline: none;
    background: transparent;
    font: inherit;
    color: var(--c-text);
}

.field.textarea .field__clear {
    bottom: 6px;
    left: 6px;
    top: auto;
}

  .field__input.is-invalid { border-color:#dc3545 !important; }
  /* چون بیرون از .field میاد، فاصله بده */
  .field-error{
    color:#dc3545; font-size:12px;
    margin:6px 0 10px; line-height:1.6;
  }

.border-color-air {
    border: solid 1px #F2F3F6 !important;
}

[class*=border-color-] {
    transition: border-color ease .5s;
}

.chat-body {
    padding-bottom: 60px !important;
}

#sendBtn {
    padding: 9px 9px !important;
    min-height: auto !important;
    border-radius: 50% !important;
}
.rounded-box{
    border-radius: 50% !important;
}