
body, h1, h2, h3, h4, h5, h6, p, label, button, input, select, textarea {
  font-family: 'B Yekan', IRANSans, Tahoma, sans-serif !important;
}

.site-title {
  margin-left: 5px;
  margin-right: 0px !important;   /* جایگزین قبلی: فاصله بیشتر از راست */
  font-size: 2.1rem;
  font-weight: bold;
  white-space: nowrap;
  margin-top: 10px;
}
.mainbutton {

    background-color:#005522;
    border:none;
    border-radius:7px;
    font-family: B yekan;
    padding:10px 25px;
    text-align:center;
    font-size:16px;
    cursor:pointer;
    color: white !important;
    display: block;
    margin: 5px;
    width: 200px;
    text-decoration: none; /* حذف خط زیر لینک */

}




.mainbutton:hover {
    background-color:#696969;
    color:#fff !important;
    transform:translateY(-2px);
    box-shadow:0 9px 20px rgba(45,45,45,.22);
}

.containerrow {
     display: flex;
    justify-content: center; /* وسط‌چین کردن ستون‌ها */
    align-items: center;     /* وسط‌چین کردن عمودی (اختیاری) */
    flex-wrap: wrap;        /* برای جا به‌جایی در صورت نیاز */
    width: 100%;  
}

.containercolumn1 {

    display: table;
    text-align: center;

    direction: rtl;
    margin-top: 30px;
    border: 2px solid #ddd;
    padding: 5px;
    font-family: B yekan;
    width: auto;
}


.dropdownpaye {
    margin-top: 40px;
    float: center;
    clear: both;
}

.dropdowndars {

    margin-top: 40px;
    clear: both;  
    float: center;
}
.containercolumn2 {

    border: 2px solid #ddd;
    margin-left: 50px;
    margin-top: 100px;
    width:auto;
    padding: 5px;
}

.education {
    width: 200px;
    text-align: center;
}

.image-container {
    display: flex;
    flex-wrap: wrap; /* برای رفتن به خط جدید در صورت پر شدن */
    justify-content: flex-start; /* توزیع عناصر از ابتدا (راست) */
    direction: rtl; /* چیدمان از راست به چپ */
    margin-right: 20px;
}

.image-item {
    width: calc(25% - 20px); /* 25% منهای حاشیه */
    margin: 10px; /* حاشیه بین تصاویر */
        margin-bottom: 50px; /* اضافه کردن فاصله پایین */
    box-sizing: border-box; /* برای محاسبه درست عرض */
    display: flex; /* برای قرار دادن تصویر و توضیحات در یک خط */
    flex-direction: column; /* چینش عمودی برای توضیحات */
    text-align: center; /* وسط چین کردن متن زیر تصویر */
}

.image-item img {
    width: 100%; /* عرض تصویر برابر با عرض .image-item */
    height: 200px; /* ارتفاع ثابت برای تصاویر */
    border-radius: 5px; /* گرد کردن گوشه‌ها (اختیاری) */
}

.image-item:hover {
    border: 2px solid #005522; /* کادر سبز رنگ */
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.6); /* سایه دور */
    
    }


.lesson-description {
    text-align: center; /* مرکز کردن متن */
    padding: 10px;
    flex-grow: 1; /* برای دادن فضای بیشتر به توضیحات */
     font-family: B yekan;
     height: 40px;
}


.containerq {
    border: 1px solid #ccc; 
    width: 100%; 
    margin: 15px;
    display: flex; 
    flex-direction: column; /* اطمینان از چینش عمودی */
    font-family: B yekan;
}

.svg-container {
    margin-top: 20px; /* فاصله بالای SVG */
    /*text-align: center;  ! این خط را حذف کنید */
}


.image-wrapperp {
    margin-bottom: 5px;
    width: 200px;
    display: flex;
    align-items: center;
    font-family: B yekan;
}

.image-wrapperp img {
    max-width: 100px;
    font-family: B yekan;
    border-radius: 5px;
}

.sidebarq {
    background-color: #f0f0f0;
    padding: 10px;
    margin-right: 10px; /* فاصله از بخش دیگر */
    border-radius: 3px;
    text-align: center; /* مرکز کردن محتوا */
    width: 150px; /* عرض ثابت برای sidebar */
    font-family: B Yekan, IRANSans, Tahoma;
}


.fields {
  font-family: B yekan;
width: 100%;
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  padding: 10px;
  border-radius: 3px;
  flex-grow: 1;

}

.field {
    margin-bottom: 5px;
     display: inline-block;
    margin: 10px;
      text-align: right;
    float: right;
    color: black;
}

.answer-link {
    text-decoration: none;
    color: inherit;
}

.image-fields-container {
  display: flex; 
    width: 100%; 
    margin-bottom: 2px; /* مقدار حاشیه پایین برای فاصله مناسب */
}



.price-link {
    color: blue; /* رنگ لینک */
    text-decoration: none; /* حذف خط زیر */
    display: inline-block; /* برای افزایش فضای clickable */
}


 .buttons {
display: grid;
direction: rtl !important;
 unicode-bidi: embed; /* یا unicode-bidi: isolate */
  grid-template-columns:  1fr 1fr; /* دسهستون با عرض مساوی */
  width: 70%; /* یا مقدار مورد نظر شما */
  grid-gap: 10px; /* برای ایجاد فاصله بین ستون‌ها (اختیاری) */
  box-sizing: border-box;
padding-right: 5px;
margin-right: 0px;
 
 }

 .buttonsbox
 {
    justify-content: right;
    align-items: center;
 }

.maintitle {
    font-family: B yekan;
    direction: rtl;
    text-align: center;
}

.btn {
  background-color: #005522; /* Blue background */
  border: none; /* Remove borders */
  color: white; /* White text */
  padding: 12px 16px; /* Some padding */
  font-size: 16px; /* Set a font size */
  cursor: pointer; /* Mouse pointer on hover */
}

/* Darker background on mouse-over */
.btn:hover {
  background-color: #696969;
}



.modal-delete,
.modal-payment {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}




#signup-iframe {
    width: 100%;
    height: 100%;
    border: none; /* حذف border از iframe */
}

.close-button {
    color: #aaa;
    position: absolute;
    top: 0;
    right: 15px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close-button:hover,
.close-button:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

/* overlay عمومی برای همه مودال‌ها */
.overlay {
    display: none;
    position: fixed; /* ثابت کردن موقعیت overlay */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    backdrop-filter: blur(5px);
}




.one-column-row {
    display: block; /* نادیده گرفتن flexbox یا grid */
    width: 100%;    /* اشغال کل عرض */
    float: none;    /* عدم شناور بودن */
    margin-right: auto; /* تنظیم margin برای مرکز قرار گرفتن */
    margin-left: auto;  /* تنظیم margin برای مرکز قرار گرفتن */
    padding-right: 50px;   /* حذف padding */
    padding-left: 0;    /* حذف padding */
}

.btn-danger {
    background-color: #FF0000; /* رنگ قرمز */
    border-color: #dc3545;     /* رنگ حاشیه نیز قرمز */
    color: white;               /* رنگ متن سفید */
}

.btn-danger:hover {
    background-color: #c82333;  /* رنگ تیره‌تر برای وقتی که ماوس بر روی دکمه است */
    border-color: #bd2130;      /* حاشیه تیره‌تر */
}

.btn:focus,
.btn:active {
    background-color: #696969 !important; /* حفظ رنگ دلخواه شما در حالت کلیک */
    outline: none; /* عدم نمایش حاشیه */
}

.lesson-description {
    background-color: #f9f9f9; /* رنگ پس زمینه برای دیو توضیحات */
    border: 1px solid #ddd; /* حاشیه‌ی خارجی */
    border-radius: 3px; /* گوشه‌های گرد */
    padding: 10px; /* padding برای فاصله داخلی */
    margin-top: 5px; /* Adding margin for space between image and description */
    transition: background-color 0.3s; /* Transition effect on hover */
}

.lesson-description:hover {
    background-color: #eeeeee; /* تغییر رنگ پس‌زمینه در حالت hover */
}


.containerabout {

     display: flex;
       align-items: flex-start;
    font-family: B yekan;
  align-content: center;
justify-content: center;
  margin: 10px auto;

}

.right-column {
    
    padding: 10px;
    border: 2px solid #ddd;
    margin: 5px;
    box-sizing: border-box;
    width: 400px;
}

.left-column {
   
    padding: 10px;
    border: 2px solid #ddd;
    margin: 5px;
    box-sizing: border-box;
    width: 200px;
}

.column-image {
    width: 200px;
    height: auto;
    margin-bottom: 10px;
}

.text-area {
    text-align: justify; /* تراز کردن متن به صورت justify */
    white-space: pre-line; /* حفظ اینترها */
}

.text-area p {
    text-align: right; /* تراز کردن متن به سمت راست */
    margin: 0 0 10px; /* فاصله بین پاراگراف‌ها */
    line-height: 1.5; /* فاصله بین خطوط */
}

.column-image-about {
     max-width: 300px;              /* حداکثر عرض تصویر */
     display: block;
  margin: 0 auto 16px auto;
  height: auto;
}
 
.column-left-about {
  flex: 1 1 35%;
    padding: 10px; /* حاشیه داخلی */
    border: 2px solid #ddd; /* حاشیه */
    margin: 5px;
    font-family: B yekan;
  align-content: center;
   
}

.column-right-about {
  flex: 1 1 65%;
    padding: 10px; /* حاشیه داخلی */
    border: 2px solid #ddd; /* حاشیه */
    margin: 5px;
    font-family: B yekan;
}


.column-right-about:hover {
    border: 2px solid #005522; /* کادر سبز رنگ */
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.6); /* سایه دور */

    
    }


.column-left-about:hover  {
    border: 2px solid #005522; /* کادر سبز رنگ */
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.6); /* سایه دور */
    }

.about-leftdescription,
.about-rightdescription {
 background-color: #eeeeee;
text-align: justify; /* تراز کردن متن به صورت justify */
    white-space: pre-line;
    direction: rtl;
    font-family: B Zar;
     margin: 0!important; /* حذف فاصله اضافی بین پاراگراف‌ها */
    line-height: 1.5;


}

.containercallus {
      display: flex;                 /* استفاده از Flexbox */
    flex-direction: column;       /* چینش عمودی */
    align-items: center;          /* مرکز قرار دادن عناصر افقی */
    margin: 10px;                 /* حاشیه */
    font-family: B yekan;
    padding: 10px; 
}

.containercallus:hover {
  border: 2px solid #005522; /* کادر سبز رنگ */
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.6); /* سایه دور */
}

.containercallus input[type="submit"] {
    width: 100%; /* اطمینان از اینکه دکمه تمام عرض را اشغال کند */
    line-height: 1.5; /* اطمینان از فاصله‌ی خط مناسب */
    padding: 30px; /* padding مناسب */
}

.containercallus h2 {
    overflow: hidden; /* متن طولانی را به طور صحیح هندل می‌کند */
    white-space: nowrap; /* جلوگیری از برش متن */
}

.center-button-text {
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-social-icon {
    background-color: transparent !important; /* حذف پس‌زمینه */
    border: none; /* حذف هر گونه حاشیه */
    color: inherit; /* وراثت رنگ از والد */
    padding: 5px; /* فاصله داخلی برای زیبایی */
    display: inline-flex; /* برای تراز کردن لوگو */
    align-items: center; /* تراز عمودی لوگو */
}

.btn-social-icon img {
    width: 25px; /* تنظیم اندازه لوگو */
    height: 25px;
}

.btn-instagram img {
 transition: transform 0.3s ease;
    transition: box-shadow 0.3s ease;}

.btn-google img {
 transition: transform 0.3s ease;
    transition: box-shadow 0.3s ease;}

.btn-telegram img {
        transition: transform 0.3s ease;
    transition: box-shadow 0.3s ease;
}

.btn-eitaa img {
 transition: transform 0.3s ease;
    transition: box-shadow 0.3s ease;}
.btn-bale img{display:block!important;width:25px!important;height:25px!important;max-width:25px!important;object-fit:contain;border-radius:6px}.btn-bale:hover{transform:scale(1.1);box-shadow:0 4px 8px rgba(0,0,0,.2)}

.box-title {
    font-size: 14px !important; /* اندازه فونت مورد نظر */
    color: #333 !important; /* رنگ مورد نظر */
    text-align: right !important; /* راست‌چین کردن متن */

}

.btn-telegram:hover {

      transform: scale(1.1);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ایجاد سایه */
}

.btn-eitaa:hover {

      transform: scale(1.1);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ایجاد سایه */
}

.btn-instagram:hover {

      transform: scale(1.1);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ایجاد سایه */
}

.input-group {
    display: flex; /* فعال کردن flexbox */
     align-items: center;
    min-height: 40px;
}

.input-group .form-control {
   flex: 1; /* پر کردن تمام فضای باقی‌مانده */
    margin: 0;
     height: 40px !important;
    padding: 8px 10px !important;
    font-size: 15px;
}

.input-group .btn {
    height: 38px; /* ارتفاع دکمه */
    width: 38px; /* عرض دکمه مربع */
    border-radius: 0; /* گوشه های مربعی */
    font-family: B Yekan, IRANSans, Tahoma;
    font-size: 12px;
    display: flex; /* فعال کردن flexbox برای مرکز چین کردن */
    align-items: center; /* مرکز چین عمودی */
    justify-content: center; /* مرکز چین افقی */
    padding: 0; 

}

.comment-container {
    display: flex; /* فعال‌سازی Flexbox */
    align-items: center; /* تراز عمودی عناصر */
     font-family: B yekan; 
}



#loginMessage {
    position: relative; /* داخل جریان فرم */
    margin-top: 8px;
    margin-bottom: 0 !important;
    min-height: 28px; /* همیشه کمی ارتفاع داشته باشه */
    width: 100%;
    padding: 6px 10px;
    box-sizing: border-box;
    font-family: 'B Yekan';
    font-size: 14px;
    text-align: center;
    direction: rtl;
    background: none; /* پیش‌فرض بدون رنگ */
    color: #cf3d3d;
    border-radius: 4px;
    visibility: hidden; /* فقط رنگ و متن مخفی میشه نه کل فضا */
}
#loginMessage.show {
visibility: visible;
    color: #cf3d3d;            /* متن قرمز تیره */
    border: none;  
    margin-bottom: 0 !important;
}

#loginMessage:empty {
    background: none !important;
    visibility: hidden;
}

#commentText {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 12px;
    font-family: B yekan; 
}

#submitButton {
    margin-top: 20px;
    padding: 10px 15px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px !important;
    font-family: B yekan; 

}

#submitButton:hover {
    background-color: #45a049;
}

/* استایل برای آیتم‌های پربازدیدهای روزانه و ماهانه */
/* استایل برای آیتم‌های پربازدیدهای روزانه و ماهانه */
/* استایل برای آیتم‌های پربازدیدهای روزانه و ماهانه */


.navbar-static-top {
   position: sticky !important; /* یا position: sticky */
    top: 0;          /* موقعیت در بالای صفحه */
    width: 100%;     /* عرض کامل صفحه */
    z-index: 1000;   /* اطمینان از نمایش در بالای دیگر عناصر */
    transition: top 0.3s ease-in-out; /* جلوه انیمیشنی هنگام چسبیدن */
    box-shadow: none; /* سایه در ابتدا مخفی */
   padding: 0 !important;
    clear: both;


}

/* استایل‌های عمومی برای فرم ثبت نام */
#signupForm,#loginForm {
    font-family: B Yekan, IRANSans, Tahoma;
    font-size: 10px; 
    width: 100%;
    padding-top: 0px !important;
    padding: 15px; 
}


#loginForm {
    position: relative;
}



.input-group-addon {
    display: flex !important;
    justify-content: center; /* وسط‌چین افقی */
   /* background-color: #fff;*/
    border: 1px solid #ccc;
    box-sizing: border-box;
     min-width: 40px;
    height: 40px;
    align-items: center;
    background: #f9f9f9;
    border-color: #d6d6d6;
    font-size: 16px;
    cursor: pointer;
    padding: 0 !important;
}

.input-group-addon i {
    margin: 0 !important;
    line-height: 1 !important;
    font-size: 19px;
}

input[type="text"],
input[type="email"],
input[type="password"] {
   font-size: 12px; /* سایز کوچکتر */
    direction: rtl;  /* راست‌چین کردن */
    text-align: left; /* متن راست‌چین */
    margin-right: 10px; /* فاصله از سمت راست */
    padding: 8px; /* padding داخلی مناسب */
    width: calc(100% - 12px); /* عرض کامل در قالب با کم کردن padding */
    box-sizing: border-box;
}
input[type="email"] {
    direction: ltr !important;
    text-align: left !important;
}

#signupForm .row, #loginForm .row {
    margin-top: 5px; /* فاصله بین دکمه و اینپوت‌ها */
}


/* استایل برای دکمه ثبت نام */
.btn-primary {
    background-color: #005522; /* رنگ پس‌زمینه */
    color: white; /* رنگ متن */
    padding: 10px 20px; /* بمین-padding */
    border: none; /* حذف حاشیه */
    border-radius: 4px; /* گوشه های گرد */
}

/* دکمه هنگام hover */
.btn-primary:hover {
    background-color: #696969; /* رنگ تیره‌تر */
}




}
/* تنظیم ارتفاع و عرصه المدت بندی */
#signupMessage {
    width: 100%;
     text-align: center;
    font-family: 'B Yekan', BYekan, Tahoma, Arial, sans-serif !important;
    margin-bottom: 10px !important;
    font-size: 13px !important;
    border-radius: 4px;
    line-height: 1.7;
}


/* پیام خطای ساین: ظاهر جمع و جور */
#signupMessage .alert,
#signupMessage .callout,   /* اگر callout استفاده می‌کنی */ 
#signupMessage {
  font-family: 'B Yekan', BYekan, Tahoma, Arial, sans-serif !important;
  font-size: 13px !important;
  border-radius: 7px;
  min-height: 26px !important;
  line-height: 1.7 !important;
  direction: rtl;
}
#signupMessage.active {
    display: block;
}
/* علامت تعجب همیشه چپ جمله (انتهای جمله فارسی) */
#signupMessage .fa-exclamation-triangle {
    margin-left: 6px;
    margin-right: 0;
    vertical-align: middle;
}

.register-box-body {
   padding: 20px 30px 16px 30px !important;
}
/* حذف فضای خالی فرم */
#signupForm .form-group, #loginForm .form-group {
  margin-bottom: 10px !important;
}
#signupForm .form-control, #loginForm .form-control {
  padding: 7px 10px !important;
  height: auto !important;
  font-family: 'B Yekan', BYekan, Tahoma, Arial, sans-serif !important;
  font-size: 15px;
}

/* دکمه‌ها هم فونت هماهنگ */
#signupForm button,
#signupForm .btn,
#signupForm .input-group-addon {
  font-family: 'B Yekan', BYekan, Tahoma, Arial, sans-serif !important;
}

#signupForm input:focus,
#signupForm input:active {
  border-color: #005522 !important;
  box-shadow: 0 0 0 1.5px #00552244 !important; /* سبز ملایم پشت */
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}

#loginForm button,
#loginForm .btn,
#loginForm .input-group-addon {
  font-family: 'B Yekan', BYekan, Tahoma, Arial, sans-serif !important;
}

#loginForm input:focus,
#loginForm input:active {
  border-color: #005522 !important;
  box-shadow: 0 0 0 1.5px #00552244 !important; /* سبز ملایم پشت */
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.callout {
    padding: 7px 12px;
    margin: 6px 0 0 0;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.8;
    direction: rtl;
    text-align: right;
    box-shadow: 0 2px 7px #0001;

}
.callout-success { background: #005522; color: #155724; border: 1px solid #94d7b9; }
.callout-danger  { background: #ffe9e9; color: #cf3d3d; border: 1px solid #eea0a0; }

/* پیغام خطا */
.callout span.icon {
    margin-left: 6px;
    font-size: 16px;
    vertical-align: middle;
}
#signupForm,
#signupForm input,
#signupForm label,
#signupForm button,
#signupForm .callout {
    font-family: 'B Yekan', BYekan, Tahoma, Arial, sans-serif !important;
}

#loginForm,
#loginForm input,
#loginForm label,
#loginForm button,
#loginForm .callout {
    font-family: 'B Yekan', BYekan, Tahoma, Arial, sans-serif !important;
}

.login-box-msg, .register-box-msg {
    font-family: B Titr;
    font-size: 20px; /* اندازه‌ی اندازه‌ی تایتل */
    margin-top: 0 !important;
}

.register-box-body, .signup-box-body {
    padding-top: 35px !important;
    /* یا مقدار دلخواه نسبت به ظاهر */
}



.login-modal-content {
 height: 55% !important;
padding: 0px 18px 18px 18px !important; /* بالا، راست، پایین، چپ */}

@media (max-width: 600px) {
  .login-modal-content {
    padding: 4px 4vw 15px 4vw !important;
  }
}

#signupForm button[type="submit"] {
    font-size: 14px; /* اندازه دکمه */
    text-align: center;   
}

.form-group {
    height: 100%;
    margin-bottom: 10px !important;
}

.btn-center-content {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px; /* فاصله بین آیکون و متن */
    width: 100%; /* برای btn-block */
}
.btn-center-content i {
    font-size: 15px;
    line-height: 1;
}
table, th, td {
  color: black !important; /* رنگ مشکی با اولویت بالا */
  font-family: B Yekan, IRANSans, Tahoma;
  text-align: right;
  vertical-align: middle;
  font-size: 14px;
}

#cart_menu li {
    font-family: B Yekan, IRANSans, Tahoma !important;
    font-size: 13px !important;
    padding: 3px 10px !important;
    border-bottom: 1px solid #eee;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;

}
#cart_menu a {
    font-size: 13px !important;
    color: #222 !important;
    display: block;
    text-decoration: none;
    padding: 2px 0;
}
#cart_menu span, #cart_menu b {
    font-size: 12px;
}


/* سطر جدول سبد خرید هنگام هاور - بک گراند سبز و شدوی سبز */

.custom-modal-overlay {
    position: fixed;
    top:0; left:0; right:0; bottom:0;
    background: rgba(51,51,51,0.27);
    z-index: 9998;
}

.custom-modal {
    position: fixed;
    top: 50%; right:0; left:0;
    transform: translateY(-50%);
    z-index: 9999;
    background: #fff;
    box-shadow:0 4px 32px #0002;
    border-radius:12px;
    border:2px solid #c9302c;
    font-family:B Yekan, IRANSans, Tahoma;
    margin:auto;
}


 .cart_delete {
        color: white !important;
        font-family: 'Font Awesome 4 Free'; /* برای آیکون */
    }
    /* رنگ قرمز ضربدر */
    .cart_delete i.fa.fa-remove {
        color: #dc3545; /* قرمز */
        font-size: 18px;
    }
    /* راست‌چین کردن جدول و متن‌ها */
    table { direction: rtl; }
    th, td { 
        text-align: right; 
        vertical-align: middle; 
        color: black; /* متن مشکی */
        font-family:B Yekan, IRANSans, Tahoma;
        margin-top: 5px;
    }

    .cart_delete {
        color: white !important;
        font-family: 'Font Awesome 4 Free'; /* برای آیکون */
    }
    /* رنگ قرمز ضربدر */
    .cart_delete i.fa.fa-remove {
        color: #dc3545; /* قرمز */
        font-size: 18px;
    }

/* حذف کامل بک‌گراند از نوشته و span و هر چیزی تو li */
#cart_menu li a,
.menu li a,
#cart_menu li *,
.menu li * {
  background: none !important;
        

}

/* هاور li با بوردر و شدو سبز اصلی قالب */


/* هاور فقط برای سطرهای بدنه جدول */
table tbody tr:hover {
     background: #f4fff8 !important;
    border-radius: 5px !important;
    border-right: 3px solid #0a905a !important;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19), 0 1px 1.2px #00552214 !important;
    color: #005522 !important;
    transition: border 0.24s, box-shadow 0.24s;
}

/* بدون هاور برای سطر اول و مجموع */
table thead tr:hover td,
table tfoot tr:hover td {
    background-color: inherit;
    box-shadow: none;
    border: none;
}


table tfoot tr td {
  font-size: 14px !important;
  font-weight: bold !important;
  color: #222 !important;
  background: #f4fff8 !important;
  transition: color 0.22s, background 0.22s;
}




#cart_menu, .dropdown-menu {
  padding-bottom: 4px !important;
  padding-top: 4px !important;
  font-family: B Yekan, IRANSans, Tahoma;
}

.dropdown-menu:hover,
.dropdown-menu:focus {
        box-shadow: 0 4px 15px rgba(0, 85, 34, 0.6); /* سایه دور */
            border: 1px solid #005522;

    }

h1.page-header {
  font-family: B Yekan, IRANSans, Tahoma;
  text-align: right;
  margin-right: 25px !important; /* فاصله مناسب با سایدبار و راست صفحه */
  margin-top: 24px;
  font-size: 27px;
}

/*فاصله از راست کمی بیشتر بشه */
.cart-main-wrapper {
  margin-right: 38px !important;
  /* اگر لازم داشتی برای دستگاه‌های کوچکتر مقدار کمتر تعریف کن */
}
@media (max-width: 768px) {
  .cart-main-wrapper {
    margin-right: 12px !important;
  }
}


.table th:nth-child(3), .table td:nth-child(3) /* ستون قیمت */
{
  width: 90px !important;
  min-width: 60px !important;
  max-width: 90px !important;
  text-align: center;
}

.table th:nth-child(4), .table td:nth-child(4) /* ستون حذف */
{
  width: 42px !important;
  min-width: 32px !important;
  max-width: 50px !important;
  text-align: center;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cart-login-warning {
  text-align: right;
  direction: rtl;
  font-family: B Yekan, IRANSans, Tahoma;
  font-size: 19px;
  color: #555;
  margin-top: 18px;
  margin-right: 29px;
  margin-bottom: 8px;
}

.cart-login-warning a {
  color: #005522;
  font-weight: bold;
  text-decoration: underline;
}

#custom-delete-modal-overlay.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.32);
    opacity: 0;
    display: none;
    transition: opacity 0.25s cubic-bezier(0.6,0.06,0.42,1.1);
    z-index: 2101;
}
#custom-delete-modal-overlay.active { display:block; opacity:1; }

#custom-delete-modal.modal-delete {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 2102;
    opacity: 0;
    transition: opacity 0.24s cubic-bezier(0.55,0,0.1,1);
}
#custom-delete-modal.modal-delete.visible {
    display: flex;
    opacity:1;
}

/* کادر مودال */
.modal-delete-content {

    background: #fff;
    border-radius: 17px;
    padding: 32px 28px 26px 28px;
    min-width: 320px;
    max-width: 540px;
    width: 540; 
    box-shadow: 0 12px 56px #2d473144, 0 2px 6px #c9302c0f;
    font-family: B Yekan, IRANSans, Tahoma;
    animation: modalpop 0.28s cubic-bezier(0.55,0,0.1,1);
    position: relative;
    text-align: center;
    direction: rtl;



}

/* دکمه ضربدر */
.close-button#close-delete-modal-btn {
    position: absolute;
    top: 13px;
    left: 16px;
    font-size: 15px;
    color: #b7b7b7;
    cursor: pointer;
    transition: color 0.2s;
    z-index:3;
}
.close-button#close-delete-modal-btn:hover { color: #c9302c; }

/* انیمیشن پاپ! */
@keyframes modalpop {
    0% { transform: translateY(-42px) scale(0.85); opacity: 0;}
    90% { transform: translateY(9px) scale(1.04);}
    100% { transform: translateY(0) scale(1); opacity: 1;}
}

/* دکمه‌ها شکیل و جمع‌وجور */
.modal-action-btn {
    border: none;
    border-radius: 8px !important;
    font-family: B Yekan, IRANSans, Tahoma;
    font-size: 15px;
    padding: 7px 32px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: background 0.19s, box-shadow 0.15s, color 0.15s;
}
#confirm-delete-btn {
    background: #c9302c;
    color: #fff;
}
#confirm-delete-btn:hover { background: #bb2a26; color:#fff; }
#cancel-delete-btn {
    background: #005522;
    color: #fff;
}
#cancel-delete-btn:hover { background: #087850; color: #fff; }

@media (max-width:540px){
    .modal-delete-content{max-width:97vw;padding:24px 4vw 19px 4vw;}
}

.custom-checkout-btn {
    display: block;
    width: 100%;
    background: #39b54a;
    color: #fff;
    padding: 14px 0;
    border: none;
    border-radius: 7px;
    margin-top: 16px;
    font-weight: bold;
    transition: background 0.3s, box-shadow 0.15s;
    box-shadow: 0 2px 4px #0002;
    outline: none;
    font-family: B Yekan, IRANSans, Tahoma !important;
    letter-spacing: 0.2px;
}
.custom-checkout-btn:hover:not(:disabled),
.custom-checkout-btn:focus:not(:disabled) {
    background: #238f2c;
    color: #fff;
    box-shadow: 0 2px 18px #39b54a44;
    cursor: pointer;
}
.custom-checkout-btn:active {
    background: #1f7326;
}
.custom-checkout-btn.disabled,
.custom-checkout-btn[disabled] {
    background: #e7e7e7;
    color: #5f5f5f;
    opacity: 0.75;
    cursor: not-allowed;
    box-shadow: none;
}

/* باکس پرداخت، الهام گرفته از containercolumn1 */
.payment-container-box {
    background: #f5fafd;
    border-radius: 18px;
    box-shadow: 0 2px 14px #e6f4ed59;
    padding: 30px 20px 22px 20px;
    margin: 0 auto 22px auto;
    max-width: 450px;
    border: 1.5px solid #d3e5ce;
    /* فونت هم اعلام شد برای اطمینان */
    font-family: B Yekan, IRANSans, Tahoma;
}
/* تیتر پرداخت */
.payment-container-box h1.page-header {
    margin-top: 0;
    margin-bottom: 32px;
    font-size: 28px;
    color: #005522;
}

/* دکمه پرداخت سبز، شبیه mainbutton */


.cart-login-warning {
    font-size: 17px;
    font-family:B Yekan, IRANSans, Tahoma;
    padding: 18px 14px;
    text-align: center;
    color: #c9302c;
    background: #ffe4e1;
    border-radius: 8px;
    margin: 38px auto 18px auto;
    max-width: 420px;
    border: 1.2px solid #f7cccc;
}

.payment-empty-cart-warning {
    font-size:16px;
    background: #fffbe7;
    color: #f90!important;
    margin: 54px auto 24px auto;
    padding: 18px 18px;
    border-radius: 8px;
    font-family: B Yekan, IRANSans, Tahoma;
    text-align:center;
    max-width: 420px;
    border: 1.3px solid #ffe79b;
}

.table.payment-summary {
    margin-bottom: 30px;
    background: #f5fafd;
    direction: rtl;
    text-align: right;
    vertical-align: middle;
    font-family: B Yekan, IRANSans, Tahoma;
}
.table.payment-summary tr th {
    font-size: 19px;
    text-align:right;
}
.table.payment-summary tr td {
    font-size: 25px;
    color:#101e3d;
    text-align: center;
}

.secure-gateway-container {
    background: #f5fafd;
    border-radius: 18px;
    box-shadow: 0 2px 14px #e6f4ed59;
    padding: 30px 20px 16px 20px;
    margin: 18px auto 18px auto;
    max-width: 430px;
    border: 1.5px solid #d3e5ce;
    font-family: "B Yekan","IRANSans","Tahoma",sans-serif;
}
.secure-gateway-container h1 {
    margin-top: 0;
    margin-bottom: 28px;
    font-size: 25px;
    color: #005522;
    text-align: center;
    letter-spacing:0.3px;
}
.secure-keypad-row {
    display: flex;
    justify-content: center;
    gap: 11px;
    margin-bottom: 9px;
}
.secure-keypad-btn {
    font-family: Tahoma, Arial, sans-serif;
    font-size: 23px;
    width: 44px;
    height: 44px;
    border-radius: 9px;
    background: #e4ece6;
    border: 0.6px solid #cce3d1;
    cursor: pointer;
    transition: background .18s;
    outline: none;
    color: #101e3d;
    box-shadow: 0 2px 8px #bbdfbc17;
}
.secure-keypad-btn:hover { background: #b6d8c8; }
.secure-gateway-form input[type="password"], 
.secure-gateway-form input[type="text"] {
    font-family: Arial, Tahoma;
    font-size: 22px!important;
    width: 100%;
    padding: 8px;
    margin-bottom: 17px;
    border: 1.2px solid #b8d7c4;
    border-radius: 6px;
    box-sizing: border-box;
    background: #fff;
    direction: ltr;
    letter-spacing:2px;
    text-align: left;
}
.secure-gateway-form input[readonly] {
    background:#f2f4f8;
}
.secure-paynote {
    margin-top: 30px;
    border-top: 1px dashed #ccc;
    padding-top: 22px;
    font-size: 13.7px;
    color: #a8901c;
    direction: rtl;
}
.secure-paynote ul { padding-right:18px; padding-left:10px;}
.secure-paynote li {margin-bottom: 8px;}
.secure-warning {
    background:#ffe4e1; color:#c9302c;padding:12px 13px;font-size:15px;border-radius:5px;margin-bottom:16px; border:1.3px solid #f7cccc
}
.secure-gateway-form label {
    display:block; font-size:16px; color:#215e28; margin-bottom:2px; font-family:B Yekan, IRANSans, Tahoma;
    text-align:right;
}
.secure-gateway-form .row2-fields {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}
.secure-gateway-form .row2-fields > div {
    flex: 1;
}
.secure-submit-btn {
    background: #005522;
    color: #fff;
    border-radius: 7px;
    padding: 9px 38px;
    margin: 10px auto 0 auto;
    font-family: B Yekan, IRANSans, Tahoma;
    font-size: 20px;
    box-shadow: 0 2px 12px #bbdfbc21;
    border:none;
    display:block;
    width:100%;
    max-width:270px;
    letter-spacing:0.7px;
    transition: background 0.18s;
}
.secure-submit-btn:hover {
    background: #017a10;
    color:#fff;
}
@media (max-width:600px) {
    .secure-gateway-container {padding: 18px 4vw;}
}

/* --- اسکپ فقط برای فرم درگاه --- */
.gw-payment-center{display:flex;justify-content:center;align-items:flex-start;padding:0px 0;}
.gw-payment-box{
    background:#fff;
    border-radius:16px;
    box-shadow:0 8px 26px #00552213;
    max-width:420px;width:98vw;
    margin:auto;
    padding:28px 20px 24px 18px;
}

.gw-payment-box:hover {
    border: 2px solid #005522; /* کادر سبز رنگ */
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.6); /* سایه دور */
}
.gw-input-wrapper {
  position: relative;
  width: 100%;
  margin-bottom: 1.2em;
}

.gw-field-row {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    gap:9px;
    /*font-family: B Yekan, Tahoma, Arial;*/
}
.gw-label {
    min-width:74px;
    font-size: 14.3px;
    color: #005522;
    font-family: B Yekan, IRANSans, Tahoma;
    text-align: right;
    margin-bottom: 20px;
}
.gw-input {
     box-sizing: border-box;
    flex:1;
    text-align: left;
    background: #f6fefd;
    border:1.5px solid #e2ede0;
    border-radius: 8px;
    font-size:15.2px;
    padding:8px 43px 8px 16px;
   
    transition:.14s;
    box-shadow: 0 2px 7px #0055221a;
    outline:none;
    color:#232;
    letter-spacing:1.1px;
    padding-right: 40px;
}
input.gw-input.numeric {
  font-family: Tahoma, Arial, monospace !important;
}
.gw-input:focus { border: 1px solid #005522; /* کادر سبز رنگ */
    box-shadow: 0 2px 8px rgba(0, 85, 34, 0.6); /* سایه دور */}

/* آیکن کیبورد امن */
.gw-icn-key {
     position: absolute;
  top: 45%;
  right: 11px;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: #e8f5ec;
  border: 1px solid #c2dac3;
  color: #005522;
  border-radius: 7px;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  z-index: 3;
  padding: 0;
}
.gw-icn-key:hover,.gw-icn-key:focus {
    background: #005522; color: #fff; 
}
.gw-keyboard-wrap {display:none;position:absolute;top:40px;right:9px;z-index:15;}

.gw-help-section {
    background:#fffce6;
    box-shadow:0 3px 11px #fdf6dd2f;
    margin-right: 45px;
    padding:17px 23px 14px 12px;
    border-radius:13px;
    font-size:14.2px;
    line-height:2.12;
    color: #865c01;
    border:1px solid #ffeed3;
   margin-top: 15px;
}
.gw-help-section ul {margin:3px 0 0 0; padding-right:22px; list-style:disc;}
.gw-help-section b {color:#bc8014;}

@media (max-width:600px){
    .gw-payment-box{padding:6vw 1vw;}
    .gw-title{font-size:14.8px;}
    .gw-input{font-size:13.5px;}
    .gw-help-section{max-width:99vw;}
}

.gw-captcha-field {
  margin-bottom: 18px;
}
.gw-captcha-label {
  margin-left: 14px;
  min-width: 85px;
  text-align: right;
  font-size: 14px;
  font-family: B Yekan, Tahoma;
}
.gw-captcha-inlinewrap {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 9px;
  flex: 1 1 0%;
}
.gw-captcha-imgbox {
  position:relative;
  display:flex;
  align-items:center;
  background: #f6f7fa;
  border-radius: 9px;
  padding: 0 11px 0 2px;
  height: 41px;
}
.gw-captcha-img {
  height: 31px;
  width: 82px;
  object-fit: contain;
  display: block;
  background:#f6f7fa;
  border-radius:6px;

}
.gw-captcha-audio {
  display:inline-flex;
  align-items:center;
  margin-right:7px;
  margin-left:3px;
  font-size: 14px;
  color: #1baacf;
  vertical-align: middle;
  cursor:pointer;
  text-decoration: none;
  transition: color .14s;
}
.gw-captcha-audio:hover svg path { fill: #696969; }
.gw-captcha-inputbox {
    border: 1.2px solid #d1d5db;
    border-radius: 8px;
    transition: border 0.15s, box-shadow 0.15s;
    display: flex;
    align-items: center;
    background: #fff;
}

.gw-captcha-inputbox:focus-within {
    border: 1.5px solid #005522;
    box-shadow: 0 2px 8px rgba(0, 85, 34, 0.19);
}

/* این کد موجب حذف border مشکی input در حالت فوکوس می‌شود */
.gw-captcha-inputbox input:focus {
    outline: none;
    border: none !important;
    box-shadow: none !important;
    background: #fff !important;
}

.gw-captcha-input {
  border: none;
  outline: none;
  background: transparent;
  font-size: 16px;
  font-family: Tahoma, Arial, monospace !important;
  padding: 0 4px;
  width: 80px;
  text-align: center;
}
.gw-captcha-refresh-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-right: 2px;
  margin-left: 2px;
  display:flex;
  align-items:center;
  height:32px;
}
.gw-captcha-refresh-btn svg { display: block; }
.gw-captcha-refresh-btn:hover svg path,
.gw-captcha-refresh-btn:hover svg circle { 
  stroke: #696969; 
 
}


.pull-left { float: left !important; }
.pull-right { float: right !important;}

.user-menu {
  color: #222 !important;
 
  text-shadow: none !important;
}

/* بک‌گراند با هاله سبز خیلی روشن (اگه می‌خوای فرقش با بقیه navbar بمونه‌ش)، مثل اکسترکت عکس ات */

/* فقط برای اسم کاربر و تاریخ عضویت */
.user-header p {
  color: #222 !important;
}
.user-menu:hover,
.user-menu:focus-within {
  border: 2px solid #005522 !important;
  box-shadow: 0 4px 15px rgba(0, 85, 34, 0.6) !important;
}

/* سطرهای هر منوی کشویی وقتی هاور میشن — مثل سبد خرید */
/* --- هاور سایدبار و منو دسکتاپ و موبایل --- */
.dropdown-menu li:hover,
.dropdown-menu li:focus,
.menu li:hover,
.menu li:focus,
.mobile-navbar-list li a:hover,
.mobile-navbar-list li a:focus {
    background: #f4fff8 !important;
    border-radius: 5px !important;
    border-right: 3px solid #0a905a !important;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19), 0 1px 1.2px #00552214 !important;
    color: #005522 !important;
    transition: border 0.24s, box-shadow 0.24s;
    text-decoration: none !important;
}
ul.top-view li:hover,
ul.top-view li:focus {
    background: #f4fff8 !important;
    border-radius: 5px !important;
    border-right: 3px solid #0a905a !important;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19), 0 1px 1.2px #00552214 !important;
    color: #005522 !important;
    transition: border 0.24s, box-shadow 0.24s;
}
ul.top-view li a:hover,
ul.top-view li a:focus {
    color: #005522 !important;
    text-decoration: none !important;
}



/* نوشته‌ی داخل آیتم های dropdown، خوانایی و سبکی بهتر */
.dropdown-menu li a {
  color: #222 !important;
  font-family: 'B Yekan', IRANSans, Tahoma;
  font-size: 15px;
  background: transparent !important;
  padding: 5px 20px 5px 8px;
  border-radius: 5px;
  display: block;
  transition: background 0.22s, box-shadow 0.22s;
  direction: rtl;
}

.user-btn { 
  font-family: 'B Yekan', Tahoma, Arial, sans-serif !important;
  border-radius: 7px !important;
  padding: 10px 0 !important;
  font-size: 15px !important;
  width: 108px !important;
  display: inline-block;
  text-align: center;
  transition: background 0.22s, color 0.22s, border 0.22s;
}

.user-btn.profile {
  background: #005522 !important;
  color: #fff !important;
  border: none !important;
  margin-left: 6px;
}
.user-btn.profile:hover,
.user-btn.profile:focus {
  background: #696969 !important;
  color: #fff !important;
}

.user-btn.signout {
  background: #e7e7e7 !important;
  color: #222 !important;
  border: none !important;
  margin-right: 6px;
}
.user-btn.signout:hover,
.user-btn.signout:focus {
  background: #b83737 !important;
  color: #fff !important;
}
a.mainbutton, a.mainbutton:visited, a.mainbutton:link, a.mainbutton:hover,
a.btn, a.btn:visited, a.btn:link, a.btn:hover,
.btn, .btn-primary, .btn:visited, .btn:link, .btn:hover {
    color: white !important;
    text-decoration: none !important;
}

.custom-search-group {
  position: relative;
  width: 260px;
  transition: width 0.3s cubic-bezier(.4,2.5,.5,1) !important;
}

.custom-search-group:focus-within {
  width: 340px;
  transition: box-shadow 0.2s, width 0.3s cubic-bezier(.4,2.5,.5,1);
}

#navbar-search-input {
  border-radius: 5px !important;
  border: 2px solid #bbb;
  transition: box-shadow 0.2s, border-color 0.2s, background 0.2s !important;
  box-shadow: none;
  font-family: B Yekan;
  font-size: 15px;
   text-align: right;
    direction: rtl;
}

.custom-search-group:focus-within #navbar-search-input {
  border-color: #357a47;
  background: #f6fff8;
}

.custom-search-btn {
  position: absolute;
  left: 2px;
  top: 2px;
  bottom: 2px;
  display: flex;
  align-items: center;
}

.search-btn {
  background: #005522 !important;
  border: none !important;
  color: #fff !important;
  border-radius: 5px !important;
  width: 38px;
  height: 38px;
  font-size: 18px;
  transition: filter .2s;
}
.custom-search-group:focus-within .search-btn {
  filter: brightness(1.2);
  box-shadow: 0 2px 8px #00552255;
}

#navbar-search-input::placeholder {
  color: #bbb !important;
  opacity: 1;
  font-size: 14px;
}

.result-message-box {
    direction: rtl;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 8px 8px 8px 8px;
    margin-bottom: 17px;
    border-radius: 14px;
    background: #fff;
    border: 1.5px solid #d9eadd; /* سبز روشن‌تر یعنی همرنگ سایت */
    box-shadow: 0 7px 24px 0 #00552222;
    font-family: 'B Yekan', BYekan, Tahoma, Arial, sans-serif;
    font-size: 18px;
    min-height: 44px;
    width: fit-content;
    color: #005522;
    transition: box-shadow .2s;
    margin-right: 20px;
    margin-left: auto;

}

.result-message-box .result-count {
    color: #005522;
    font-weight: bold;
    font-size: 22px;
    margin-left: 10px;
}

.result-message-box .result-label {
    margin-left: 6px;
    color: #005522;
    letter-spacing: 0;
}
.result-message-box .result-keyword {
    color: #005522;
    font-weight: bold;
    margin-right: 6px;
    margin-left: 2px;
    font-size: 16x;
    text-decoration: underline dashed #aad5c4 1.5px; /* یا اگه نمی‌خوای underline باشه بردار */
    letter-spacing: 0;
}
.result-message-box:hover {
transition: border 0.24s, box-shadow 0.24s;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.6); /* سایه دور */}

/* === Footer Final Touches === */
.main-footer {
  background: #003a17; /* سبز تیره */
  color: #fff;
  padding: 60px 0 25px; /* کمی padding بیشتر */
  font-family: 'B Yekan', Tahoma, Arial, sans-serif; /* فونت اصلی متن */
  border-top: 4px solid #696969; /* خط طوسی بالای فوتر */
  direction: rtl; /* جهت کلی راست به چپ */
  text-align: right; /* تراز متن به راست */

}

.footer-row {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: auto;
  gap: 40px;
  padding: 0 20px;
  justify-content: center;
  
}

.footer-about {
  flex: 1;
  min-width: 300px;
  padding-left: 30px;
  border-left: 1.5px solid rgba(255,255,255,0.2); /* کادر بین ستون ها */
}

.footer-links {
  flex: 0.8;
  min-width: 250px;
  padding-right: 30px;
}

/* تیترها: فونت B Titr، سایز بزرگتر، رنگ سبز روشن */
.footer-about h4,
.footer-links h4 {
  font-size: 1.8rem; /* سایز فونت بزرگتر */
  font-family: 'B Titr', 'B Yekan', Tahoma, Arial, sans-serif; /* فونت B Titr */
  margin-bottom: 18px; /* فاصله بیشتر پایین تیتر */
  font-weight: bold;
  color: #f4fff8; /* رنگ سبز بسیار روشن */
}

/* پاراگراف ها */
.footer-about p {
  font-size: 1.2rem; /* سایز فونت متن پاراگراف بزرگتر */
  line-height: 2.1; /* خطوط فاصله دار تر */
  text-align: justify;
  color: #f0f0f0; /* خاکستری روشن */
}

/* لیست لینک ها */
.footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 15px; /* فاصله بیشتر بین آیتم های لینک */
}

.footer-links a {
  display: block;
  background: rgba(255,255,255,0.05);
  padding: 12px 16px; /* padding بیشتر برای لینک */
  border-radius: 8px;
  font-size: 1.15rem; /* سایز فونت لینک ها کمی بزرگتر */
  color: #fff; /* رنگ اصلی لینک */
  text-decoration: none;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
}

/* هاور روی لینک ها */
.footer-links a:hover {
  background: #f4fff8; /* سبز بسیار روشن */
  color: #003a17; /* سبز تیره */
  transform: scale(1.05);
}

/* پایین فوتر */
.footer-bottom {
  text-align: center;
  font-size: 1.05rem; /* سایز فونت پایین فوتر کمی بزرگتر */
  color: #ccc;
  border-top: 1px solid rgba(255,255,255,0.15);
  padding-top: 16px;
  margin-top: 35px;
}

/* تغییرات برای موبایل */
@media (max-width: 768px) {
  .footer-row {
    flex-direction: column-reverse;
    text-align: center;
    gap: 25px;
  }
  .footer-about {
    border-left: none;
    padding-left: 0;
  }
  .footer-links {
    padding-right: 0;
  }
  /* تنظیم مجدد فونت ها برای موبایل */
  .footer-about h4, .footer-links h4 {
    font-size: 1.5rem;
  }
  .footer-about p {
    font-size: 1.1rem;
  }
  .footer-links a {
    font-size: 1.1rem;
  }
}

/* افکت هاور ویژه لینک‌های کشویی (دسته‌ها و آیتم‌های سبد خرید) */
@media (max-width: 800px) {
  /* مخفی کردن بخش‌های دسکتاپ */
  .navbar-header.site-title,
  .navbar-main-links,
  .navbar-custom-menu,
  .navbar .clear,
  [style*="clear:both"] {
    display: none !important;
  }


  /* Navbar موبایل: فقط وسط‌چین و کاملاً بالا */
  .mobile-navbar-list {
    display: flex !important;
    flex-direction: column;
    max-width: 420px;
    position: static !important;
    z-index: 1500;
     border: none !important;
    border-radius: 17px !important;
    box-shadow: 0 6px 22px -2px #0055221c, 0 1px 4px #00552212 !important;
    background: #fff !important;
    margin: 13px auto !important;
    width: 95vw !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body {
    margin: 0 !important;
    background: #f8f8f8 !important;
  }

  /* این راه حل حرفه‌ای: فقط بدنه بعد از ناوبار فاصله می‌گیره */
  body > .container,
  body > .container-fluid,
  body > .main-container,
  body > .body-main-content,
  body > .content {
    margin-top: 65px !important;
        background: #f9f9fa !important; /* باقی بماند */

  }

  .mobile-navbar-logo {
    font-size: 1.2em;
    color: #fff;
    background: #444;
    padding: 27px 19px 14px 9px;
    border-bottom: 2px solid #eee;
    text-align: right;
    font-weight: bold;
  }
  .mobile-navbar-link,
  .mobile-navbar-form {
    width: 100%;
    background: #fff !important;
    color: #222 !important;
    text-align: right;
    padding: 15px 19px;
    border-bottom: 1px solid #eee;
    font-size: 1.1em;
    font-family: B Yekan;
    display: block;
    border-radius: 0 !important;
  }
  .mobile-navbar-form {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 11px 12px;
    background: #fff !important;
  }
  .mobile-navbar-form input[type="text"] {
    flex: 1;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 7px;
    margin: 0;
    padding: 7px 8px;
  }
  .mobile-navbar-form button {
    background: #005522;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 7px 18px;
    font-size: 17px;
  }
  .mobile-navbar-link .fa-shopping-cart {
    color: #005522;
    margin-left: 7px;
  }
}

@media (min-width: 801px) {
  .mobile-navbar-list {
    display: none !important;
  }
}

@media (max-width: 800px) {
  nav.navbar.navbar-static-top {
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
  }
  header.main-header {
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }
}


@media (max-width: 480px) {
  .modal, .login-modal, .signup-modal {
    width: 99vw !important;         /* تقریباً تمام عرض موبایل */
    min-width: 0 !important;        /* اگر خیلی کوچک شد، یهویی به چپ و راست نره */
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 100vh !important;        /* تمام ارتفاع موبایل */
    padding: 0 !important;
    border-radius: 12px !important;
    box-sizing: border-box;
    overflow: auto !important;       /* اگر کل فرم خیلی بلند بود اسکرول بشه */
  }

 /* مودال ثبت‌نام و ورود — فول‌عرض در موبایل */
  .modal-content, .login-modal .modal-content, .signup-modal .modal-content {
    width: 98vw !important;          /* عرض نزدیک به کل صفحه */
    min-width: 0 !important;
    max-width: 100vw !important;
    margin: 4vw auto !important;
    padding: 16px 2vw 16px 2vw !important; /* فضا از کناره‌ها برای زیبایی */
    border-radius: 14px !important;
    box-sizing: border-box;
    overflow-y: auto !important;      /* اسکرول داخلی برای فرم */
    max-height: 97vh !important;      /* از قاب پایین نزنه بیرون */
  }



  .modal form, .login-modal form, .signup-modal form  {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
  }

  .modal input, .login-modal input, .signup-modal input {
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    font-size: 16px !important;
    box-sizing: border-box;
    margin-bottom: 12px !important;
    border-radius: 7px !important;
    padding: 10px 42px 10px 10px !important;   /* فضای کافی برای آیکون سمت راست */
  }

  .input-group {
    flex-direction: row !important;
    align-items: center;
    gap: 0 !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    position: relative;   /* مهم برای قرار گرفتن آیکون کنار اینپوت */
  }

  .input-group .form-control {
    flex: 1;
    font-size: 16px !important;
    height: 43px !important;
    min-width: 0;
    padding: 9px 12px !important;
    margin: 0 !important;
  }

  /* محل دقیق آیکون - مثلا FontAwesome */
  .input-group .btn, .input-group .input-group-append {
    position: absolute;
    right: 8px;
    top: 7px;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    font-size: 18px !important;
    background: none !important;
    color: #555 !important;
    border: none !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
  }
  /* بستن دکمه ایکس (close) */
  .close-button {
    font-size: 28px !important;
    right: 8px !important;
    top: 8px !important;
  }
}

@media (min-width: 800px) {
  .navbar > .container {
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    display: block !important;
    width: 1170px !important;
    max-width: calc(100% - 30px) !important;
    box-sizing: border-box;
  }
}

@media (max-width: 480px) {
  .btn, .btn-center-content {
    width: 80px;

  }
}
.col-sm-3 {
    margin-top: 15px;
}

@media (max-width: 700px) {
  .containerabout {
    flex-direction: column !important;
    align-items: center;
  }
  .column-left-about, .column-right-about {
    width: 94vw !important;
    max-width: 98vw;
    border-radius: 10px;
    min-width: unset;
  }
  .column-image-about {
    max-width: 160px;
    margin: 0 auto 9px auto;
  }
}
.mobile-navbar-list .mobile-navbar-link:hover,
.mobile-navbar-list .mobile-navbar-link:focus {
    background: #f4fff8 !important;
    border-radius: 5px !important;
    border-right: 3px solid #0a905a !important;
    color: #005522 !important;
    box-shadow: 0 4px 15px rgba(0,85,34,.14),0 1px 1.2px #00552214 !important;
    transition: border 0.24s, box-shadow 0.24s;
    text-decoration: none !important;
}

@media (max-width: 700px) {
    .containercolumn1 {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        box-shadow: none !important;
        background: none !important;
    }

    .buttons {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;    /* دو ستونه */
        gap: 14px 12px !important;                   /* فاصله بین دکمه‌ها */
        justify-content: center !important;
        width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .mainbutton {
        width: 100% !important;
        min-width: 0 !important;         /* این خیلی مهمه! */
        max-width: unset !important;     /* خیلی مهم */
        margin: 0 !important;
        margin-bottom: 5px !important;
        font-size: 15px !important;
        box-sizing: border-box !important;
        padding: 13px 0 !important;
        border-radius: 8px !important;
        display: block !important;
        justify-self: stretch !important;
    }
    .mainbutton a {
        width: 100%;
        display: block;
        color: white !important;
        text-align: center;
        font-size: 15px !important;
    }
}

@media (max-width: 800px) {
  .image-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 auto !important;         /* کانتینر وسط */
    width: 100% !important;            /* اطمینان پر کردن عرض */
    box-sizing: border-box !important;
  }
  .image-item {
    width: 200px !important;
    max-width: 95vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 800px) {

  .one-column-row {
    width: 100% !important;
    max-width: 370px !important;
    margin: 0 auto 26px auto !important;
    display: flex !important;
    justify-content: center !important;
    padding: 0 !important;
    float: none !important;
  }

  .containerq {
    width: 100% !important;
    max-width: 330px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    padding: 14px 8px 16px 8px !important;
    border-radius: 16px !important;
    background: #fff !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    box-shadow: 0 1px 7px #eee7 !important;
  }

  .fields {
    width: 100% !important;
    padding: 10px 0 11px 0 !important;
    background: #f9f9f9 !important;
    border: 1px solid #005522 !important;
    border-radius: 5px !important;
    margin-bottom: 15px !important;
    box-sizing: border-box !important;
  }
  .fields .field {
    display: block !important;
    width: 100% !important;
    float: none !important;
    text-align: right !important;
    margin: 0 0 7px 0 !important;
    padding: 0 !important;
    font-size: 14.5px !important;
    line-height: 1.38 !important;
    color: #222 !important;
    font-family: 'B yekan', Yekan, Tahoma;
    letter-spacing: -0.1px;
  }
  .fields .field strong {
    margin-left: 7px !important;
    color: #186d39 !important;
    font-size: 14.2px !important;
    font-weight: bold !important;
    letter-spacing: 0 !important;
  }

  .containerq .form-inline {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 5px !important;
  }
  .containerq .form-group {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .containerq .btn.btn-flat,
  .containerq .btn {
    display: block !important;
    width: 95% !important;
    max-width: 300px !important;
    min-width: 120px !important;
    margin: 0 auto !important;
    font-size: 15.5px !important;
    height: 41px !important;
    border-radius: 9px !important;
    padding: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .containerq a {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}


@media (max-width: 700px) {

  .cart-main-wrapper table.table thead {
    display: none !important;
  }

  .cart-main-wrapper table.table tr {
    display: block !important;
    background: #fff !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 1px 5px rgba(0,0,0,0.05) !important;
    border: 1px solid #f2f2f2 !important;
  }

  .cart-main-wrapper table.table td {
    display: block !important;
    border: none !important;
    padding: 3px 0 !important;
    text-align: right !important;
    line-height: 1.5 !important;
  }

  /* نوع کالا */
  .cart-main-wrapper table.table td:nth-child(1) {
    font-size: 12px !important;
    color: #777 !important;
    font-weight: normal !important;
  }

  /* نام کالا */
  .cart-main-wrapper table.table td:nth-child(2) {
    font-size: 14px !important;
    font-weight: bold !important;
    color: #222 !important;
    margin-bottom: 6px !important;
  }

  /* قیمت + حذف در یک ردیف */
  .cart-main-wrapper table.table td:nth-child(3),
  .cart-main-wrapper table.table td:nth-child(4) {
    display: inline-flex !important;
    vertical-align: middle !important;
    align-items: center !important;
    border: none !important;
    background: none !important;
    padding: 0 !important;
  }
/* این کد را به انتهای فایل CSS اضافه کن تا استایل‌های قبلی را برای دکمه ارسال خنثی کند */
#commentForm .btn.btn-flat {
    display: inline-block !important; /* به جای block، از inline-block استفاده کن */
    width: auto !important;          /* عرض را خودکار کن تا فقط اندازه دکمه باشد */
    min-width: 0 !important;         /* محدودیت‌های اجباری قبلی را بردار */
    max-width: none !important;
    margin: 0 5px 0 0 !important;    /* فقط مارجین لازم را بگذار */
    height: 38px !important;         /* هماهنگ با فیلد متن */
    border-radius: 0 !important;     /* طبق دیزاین اولیه */
}
#commentForm button.btn.btn-success.btn-flat {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
}

  /* ظرف مشترک برای قیمت و حذف */
  .cart-main-wrapper table.table td:nth-child(3) {
    width: auto !important;
    font-size: 14px !important;
    color: #005522 !important;
    font-weight: bold !important;
    margin-right: 0 !important;
  }
  .cart-main-wrapper table.table td:nth-child(4) {
    margin-right: auto !important; /* می‌زنه حذف بیفته سمت چپ */
  }
  .cart-main-wrapper table.table td:nth-child(4) i {
    font-size: 18px !important;
    color: #dc3545 !important;
  }

  /* ردیف مجموع */
  .cart-main-wrapper table.table tfoot tr {
    display: flex !important;
    justify-content: space-between !important;
    background: #e6f4ec !important;
    border-radius: 8px !important;
    padding: 10px !important;
    box-shadow: none !important;
    margin-top: 8px !important;
  }
  .cart-main-wrapper table.table tfoot td {
    display: inline-block !important;
    font-size: 15px !important;
    font-weight: bold !important;
    border: none !important;
    background: none !important;
    color: #222 !important;
  }

  /* دکمه پرداخت */
  .cart-main-wrapper .mainbutton {
    width: 100% !important;
    display: block !important;
    margin-top: 14px !important;
    font-size: 15px !important;
    border-radius: 8px !important;
  }
}



@media (min-width: 800px) {
  /* آیتم‌های منوی راست (navbar-nav): */
  .navbar-main-links ul.navbar-nav {
    padding-right: 0px !important; /* فاصله "خانه" از راست navbar */
  }
  .navbar-main-links ul.navbar-nav > li {
    margin-left: 0px !important;
    /* اگر فاصله زیاد شد، مقدارش رو کم کن یا زیادتر */
  }

  /* فقط اولین آیتم (آخرین لی در ساختار rtl) از راست با بدنه تراز شه: */
  .navbar-main-links ul.navbar-nav > li:last-child {
    margin-right: 0 !important;
  }

  /* فرم جستجو (search) از آیتم کناریش فاصله بگیره */
  .navbar-form.navbar-left {
    margin-left: 34px !important;
  }

  /* اگر آیکون سبد خرید داری: */
  .navbar-custom-menu {
    margin-left: 35px !important;
  }

  /* فاصله لوگو از سمت چپ زیاد بشه: */
  .site-title {
    margin-left: 5px !important;
  }
}

/* حرکت دادن لینک "خانه" به سمت راست */
/* حرکت دادن لینک "خانه" به سمت راست */
.navbar-nav > li:first-child {
    margin-right: 0px !important;
}



/* فقط دکمه داخل فرم checkout */
#checkout-form button.mainbutton {
    display: block;
    width: 100% !important; /* کشیدن تا لبه‌های جدول */
    margin-right: 0 !important;   /* حذف فاصله اضافی راست/چپ */
    border-radius: 6px;     /* هم‌راستا با گوشه‌های جدول */
    text-align: center;
    margin-top: 5px;
    margin-left: 0 !important;
}

#loginModal,
#signupModal {
    display: none !important;
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.4);
    z-index: 3000;
    display: flex;
    justify-content: center;
    align-items: center;
}

#loginModal.show,
#signupModal.show {
    display: flex !important;
}

.modal-content {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 auto !important;
    background: #fff !important;
    border-radius: 8px !important;
    padding: 20px !important;
    width: 90% !important;
    max-width: 500px !important;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2) !important;
}

@media (max-width: 480px) {
  .modal, .login-modal, .signup-modal {
    width: 99vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 100vh !important;
    padding: 0 !important;
    border-radius: 12px !important;
    box-sizing: border-box;
    overflow: auto !important;
  }

  .modal-content, .login-modal .modal-content, .signup-modal .modal-content,.forgot-modal .modal-content {
    width: 98vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    margin: 4vw auto !important;
    padding: 16px 2vw !important;
    border-radius: 14px !important;
    box-sizing: border-box;
    overflow-y: auto !important;
    max-height: 97vh !important;
  }
}

.no-strike {
    text-decoration: none !important; /* حذف underline و خط وسط */
}

@media (max-width: 768px) {

    /* ستون ها رو کامل پهن کن */
    .col-sm-9 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* کانتینر اصلی */
    .gw-payment-center {
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
        max-width: 100% !important;
    }

    /* همه کادرها هم‌اندازه و بدون مارجین اضافی */
    .gw-payment-box,
    .gw-captcha-inlinewrap,
    .gw-help-section {
        width: 100% !important;
        margin: 0 0 10px 0 !important;
        padding: 12px !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }

    /* پس‌زمینه */
    .gw-payment-box {
        background: #fff !important;
    }

    .gw-help-section {
        background: #fff8e1 !important;
        text-align: justify !important;
    }

    /* --- کپچا دو ردیفه --- */
    .gw-captcha-inlinewrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px;
        background: #fafafa !important;
        border: 1.5px solid #ccc !important;
    }

    /* ردیف اول */
    .gw-captcha-top {
        display: flex !important;
        align-items: center;
        gap: 6px;
    }

    .gw-captcha-img {
        max-width: 100%;
        max-height: 40px;
        height: auto;
        border-radius: 4px;
        flex-shrink: 0;
    }

    .gw-captcha-audio {
        flex-shrink: 0;
    }

    /* ردیف دوم */
    .gw-captcha-bottom {
        display: flex !important;
        align-items: center;
        gap: 6px;
    }

    .gw-captcha-input {
        flex: 1;
        font-size: 15px;
        padding: 6px 8px;
        box-sizing: border-box;
    }

    .gw-captcha-refresh-btn {
        flex-shrink: 0;
        padding: 0 6px;
    }
}

.row {
    font-family: B Yekan, IRANSans, Tahoma;
}

.chapters-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    direction: rtl;
    margin-top: 20px;
    align-items: center; /* وسط‌چین کردن آیتم‌ها */
}

.chapter-item {
    font-family: 'B Yekan';
    padding: 10px 15px;
    background-color: #f9f9f9;
    color: #222;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 6px;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 100%;
    max-width: 500px; /* محدود کردن عرض */
    text-align: right;
}

.chapter-item:hover {
    background-color: #e6f4ec; /* سبز خیلی روشن */
    border-color: #0a905a;
    color: #0a905a;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.video-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.video-card {
    background: #f4fff8;
    border: 1px solid #aad5c4;
    border-radius: 8px;
    width: calc(33% - 10px);
    padding: 10px;
    text-align: center;
}
.video-card img.thumb {
    width: 100%;
    border-radius: 5px;
}
.video-card h4 {
    color: #005522;
    margin-top: 5px;
}
.video-card p {
    font-size: 0.9em;
    color: #333;
}
.video-list {display:flex;flex-wrap:wrap;gap:12px;}
.video-card {
    display:flex;
    flex-direction:row-reverse;
    align-items:center; /* متن وسط‌چین عمودی */
    width:100%;
    max-width:100%;
    border:1px solid #eee;
    border-radius:8px;
    background:#fff;
    padding:8px;
    transition:all .25s ease;
    box-shadow:0 2px 4px rgba(0,0,0,0.05);
}
.video-card img {
    width:140px;
    height:100px;
    object-fit:cover;
    border-radius:4px;
    flex-shrink:0;
    margin-left:15px; /* فاصله بیشتر بین عکس و متن */
}
.video-body {
    flex:1;
    padding:0 10px;
    text-align:right;
    display:flex;
    flex-direction:column;
    justify-content:center; /* وسط‌چین عمودی متن */
}

.video-title {font-family:B Yekan;font-size:15px;font-weight:600;color:#198754;margin-bottom:4px;}
.video-desc {font-family:B Yekan;font-size:13px;color:#555;}
.video-meta{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:7px;padding:4px 9px;border-radius:999px;background:#edf8f1;color:#286344;font-size:11px;line-height:1.6;white-space:normal}
@media(max-width:768px){
    .video-card {flex-direction:column;align-items:center;text-align:center;}
    .video-card img{width:100%;height:auto;}
    .video-body{text-align:center;padding:5px 0;}
}




        .player-wrap {
    background:#fff;
    border:2px solid #198754;
    padding:3px;
    border-radius:8px;
    text-align:center;
    max-width:500px;
    width:100%;
    margin:20px auto;
    display:block;
}



        .player-title {
            font-family: B Yekan;
            font-size: 18px;
            margin-bottom: 8px;
            color: #198754;
        }
        .player {
            position: relative;
            width: 100%;
            aspect-ratio: 16/9;
            background: #000;
        }
        .player video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .video-ctrls {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 6px;
            margin: 10px 0;
        }
        .btn-v {padding:6px 10px;border-radius:6px;font-family:B Yekan;border:none;font-size:13px;white-space:nowrap;}
        .btn-download {background:#198754;color:#fff;}
        .btn-save {background:#f0f0f0;}
        .btn-like {background:#ffe2e2;color:#d62828;}
        .btn-share {background:#e7f1ff;color:#0d6efd;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px;}
        .dropdown {position:relative;}
        .dropdown-content {
            display:none;
            position:absolute;
            right:0;
            background:#fff;
            min-width:120px;
            border-radius:6px;
            box-shadow:0 2px 8px rgba(0,0,0,0.15);
            z-index:1;
            overflow:hidden;
        }
        .dropdown:hover .dropdown-content {display:block;}
        .dropdown-content a {
            display:block;
            padding:7px 10px;
            font-family:B Yekan;
            font-size:13px;
            color:#198754;
            text-decoration:none;
            background:#fff;
        }
        .dropdown-content a:hover {
            background: #f4fff8 !important;
            border-radius: 5px !important;
            border-right: 3px solid #0a905a !important;
            box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19), 0 1px 1.2px #00552214 !important;
            color: #005522 !important;
            transition: border 0.24s, box-shadow 0.24s;
        }
        @media (max-width: 768px) {
            .btn-share span {display: none;}
        }

        
        /* پس‌زمینه تیره برای مودال */
#custom-delete-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
    display: none;
    z-index: 1000;
}

/* جعبه مودال */
#custom-delete-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    padding: 20px;
    text-align: center;
    width: 300px;
    font-family: 'B Yekan', sans-serif;
    display: none;
    z-index: 1001;
}

/* متن مودال */
#custom-delete-modal p {
    font-size: 16px;
    margin-bottom: 20px;
}

/* دکمه‌ها */
#custom-delete-modal .btn {
    padding: 8px 16px;
    font-size: 14px;
    border: none;
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
    margin: 0 5px;
    transition: background 0.2s ease;
}

#custom-delete-modal .btn-confirm {
    background: #FF0000;
}

#custom-delete-modal .btn-confirm:hover {
    background: #c9302c;
}

#custom-delete-modal .btn-cancel {
    background: #005522;
}

#custom-delete-modal .btn-cancel:hover {
    background: #449d44;
}

/* وقتی مودال فعال شد */
#custom-delete-modal-overlay.active {
    display: block;
}

#custom-delete-modal.visible {
    display: block;
}

.product-box {
    border: 1px solid #ccc;
    padding: 10px;
    margin-bottom: 15px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    transition: all 0.3s ease;
}
.product-box:hover {
    border: 2px solid #005522;
    box-shadow: 0 4px 15px rgba(0,85,34,0.6);
}
.product-info { font-family: 'B Yekan'; font-size: 14px; }
.product-meta { margin-right: 10px; color: #666; font-size: 13px; }

.btn-green { padding: 5px 10px; color: #fff !important; border-radius: 4px; background:#007A33; border:none; }
.btn-green:hover { background:#005522; }

.stepbystep-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 10px 0 25px;
}
.stepbystep-item {
    width: calc(25% - 15px);
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 8px;
    text-align: center;
    transition: all 0.3s ease;
}
.stepbystep-item:hover {
    border: 2px solid #005522;
    box-shadow: 0 4px 15px rgba(0,85,34,0.6);
}
.stepbystep-item img { width: 100%; height: 180px; object-fit: cover; }

@media (max-width:768px){
    .stepbystep-item{ width: calc(50% - 10px);}
    .product-actions { width: 100%; text-align: left; margin-top: 5px; }
    .btn.btn-danger { width: 100%; }
}
@media (max-width:480px){
    .stepbystep-item{ width:100%;}
    .product-box { flex-direction: column; align-items: flex-start; }
    .product-actions { width: 100%; text-align: left; margin-top: 5px; }
    .btn.btn-danger { width: 100%; }
}
/* وسط‌چین کردن مودال در Bootstrap 3 */
#roleModal .modal-dialog {
    margin-top: 0;
    top: 50%;
    transform: translateY(-50%);
    position: relative;
}

#roleModal .modal-content {
    border-radius: 12px;
    border: none;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
    font-family: 'B Yekan', Tahoma, sans-serif;
}

/* هدر مودال */
#roleModal .modal-header {
    border-bottom: none;
    text-align: center;
    background-color: #f8f8f8;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}
#roleModal .modal-title {
    font-family: 'B Titr', Tahoma, serif;
    font-size: 22px;
    color: #005522;
}

/* متن داخل مودال */
#roleModal .modal-body p {
    font-family: 'B Yekan', Tahoma, sans-serif;
    font-size: 16px;
    color: #444;
    margin-bottom: 20px;
}

/* استفاده از استایل دکمه اصلی سایت */
#roleModal .btn-lg.mainbutton {
    width: 100%;
    font-family: 'B Yekan', Tahoma, sans-serif;
    font-size: 16px;
    padding: 12px;
    background-color: #005522;
    border: none;
    border-radius: 8px;
    transition: all 0.25s ease;
    color: #fff;
}

/* افکت هاور دکمه */
#roleModal .btn-lg.mainbutton:hover {
    background-color: #006b2f;
    box-shadow: 0 6px 14px rgba(0, 85, 34, 0.55);
    transform: translateY(-2px);
}

/* افکت هاور جعبه مودال */
#roleModal .modal-content:hover {
    box-shadow: 0 16px 32px rgba(0, 85, 34, 0.6);
    border: 1px solid #005522;
}
#roleModal .btn-group-vertical > .btn {
    border-radius: 8px !important;
    margin: 0 0 10px 0 !important;
    display: block;
    width: 100%;
}
#roleModal .btn-group-vertical > .btn:last-child {
    margin-bottom: 0 !important;
}
.role-buttons .mainbutton {
    display: block;
    width: 100%;
    margin-bottom: 10px;
}
.role-buttons .mainbutton:last-child {
    margin-bottom: 0;
}
/* اصلاح پیام خطای فرم لاگین */




.teacher-form-container {
    display: flex;
    justify-content: center; /* وسط‌چین افقی */
     margin-bottom: 20px;
}

.teacher-form-box {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 25px 30px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    display: inline-block;        /* عرض بر اساس محتوا */
    width: auto !important;
    height: auto !important;
    max-width: 100%;              /* جلوگیری از اسکرول بیخودی */
}


.teacher-form-box:hover  {
  background: #f4fff8 !important;
    border-radius: 5px !important;
    border: 2px solid #0a905a !important;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19), 0 1px 1.2px #00552214 !important;
    color: #005522 !important;
}


/* گروه فیلد */
.teacher-form .form-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 15px;
    direction: rtl;
    text-align: right;
}

/* لیبل */
.teacher-form label {
      display: block;
    margin-bottom: 6px;
    font-weight: bold;
    text-align: right;
    color: #444;
}

/* ورودی‌ها و سلکت و تکست‌اریا */
.teacher-form input[type="text"],
.teacher-form input[type="number"],
.teacher-form input[type="email"],
.teacher-form input[type="file"],
.teacher-form select,
.teacher-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    height: 40px !important;
    border-radius: 5px;
    border: 1px solid #ccc;
    padding: 8px 10px;
    font-size: 14px;
    box-sizing: border-box !important;
    transition: all 0.3s ease;
    text-align: right;
    direction: rtl;
    display: block;
    margin-right: 0 !important;
}


.teacher-form .select2-container--default .select2-selection--single {
    height: 40px !important;
    display: flex;
    align-items: center;
}




/* placeholder */
.teacher-form input::placeholder,
.teacher-form textarea::placeholder {
    text-align: right;
    direction: rtl;
}

/* بیوگرافی */
.teacher-form textarea {
    height: 160px !important;
    resize: vertical;
}

/* فوکوس و هاور */
.teacher-form input:focus,
.teacher-form select:focus,
.teacher-form textarea:focus {
    border-color: #005522 !important; 
    box-shadow: 0 0 5px rgba(0, 85, 34, 0.3) !important;
    outline: none !important;
}

/* دکمه */
.teacher-form .mainbutton {
    background-color: #005522;
    border: none;
    border-radius: 6px;
    font-family: 'B Yekan';
    padding: 10px 25px;
    font-size: 15px;
    cursor: pointer;
    color: white !important;
    display: block;
    margin: 20px auto 0;
    width: auto;
}

.teacher-form .mainbutton:hover {
    background-color: #007732;
}



/* مرکز کردن باکس کل فرم */
.teacher-form-wrapper {
    display: flex;
    justify-content: center;     /* وسط‌چین افقی */
    align-items: flex-start;     /* بالا بچسبه (یا center برای وسط عمودی) */
    min-height: calc(100vh - 100px); /* تمام ارتفاع صفحه منهای هدر */
    padding-top: 30px;
    background-color: transparent;
}

.mainbutton.sample-question-btn:hover,
.mainbutton:hover {
    background-color:#696969 !important;

}
/* ===== فونت عمومی برای لیست‌ها و سلکت‌ها ===== */
.select2-container--default .select2-results__option,
.dropdown-menu > li > a,
#province,
#city {
    font-family: 'B Yekan', IRANSans, Tahoma, sans-serif !important;
    font-size: 14px;
}

/* ===== هاور منوی دسته‌ها ===== */
.dropdown-menu > li > a:hover,
.dropdown-menu > a:hover {
    background: #f4fff8 !important;
    border-radius: 5px !important;
    border-right: 3px solid #0a905a !important;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19),
                0 1px 1.2px #00552214 !important;
    color: #005522 !important;
    text-decoration: none !important;
    transition: border 0.24s, box-shadow 0.24s;
}

.teacher-form input:focus,
.teacher-form select:focus,
.teacher-form textarea:focus {
    background-color: #fff !important;
    box-shadow: none !important;
    border-color: #ccc !important;
    outline: none !important;
}

/* ===== هاور روی Select ساده ===== */
select#province:hover,
select#city:hover {
    background: #f4fff8;
    border-radius: 5px;
    border-right: 3px solid #0a905a;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19), 
                0 1px 1.2px #00552214;
    color: #005522;
    transition: border 0.24s, box-shadow 0.24s;
}

/* ===== هاور آیتم‌های Select2 ===== */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #f4fff8 !important;
    border-radius: 5px !important;
    border-right: 3px solid #0a905a !important;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19),
                0 1px 1.2px #00552214 !important;
    color: #005522 !important;
    transition: border 0.24s, box-shadow 0.24s;
}

/* ===== ارتفاع Select2 هم‌اندازه اینپوت ===== */
.select2-container--default .select2-selection--single {
    height: 38px !important;              /* ارتفاع یکسان با input بوت‌استرپ */
    padding: 6px 12px !important;
    line-height: 1.42857143 !important;    /* هماهنگی متن عمودی */

}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important;
    padding-right: 0 !important;
    line-height: 1.42857143 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px !important;               /* فلش وسط بیفته */
}

/* ===== حذف Outline و Border آبی از Select2 ===== */
.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--multiple:focus {
    outline: none !important;
    border-color: #ccc !important;
    box-shadow: none !important;
    width: 100% !important;
}

/* ===== حذف کادر آبی از input جستجوی Select2 ===== */
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    outline: none !important;
    border-color: #ccc !important;
    box-shadow: none !important;
}

/* ===== استایل کلی Dropdown باز شده Select2 ===== */
.select2-container--default .select2-dropdown {
    background: #ecf4f1 !important; /* سبز-طوسی ملایم */
    border: 1px solid #0a905a !important; /* ضخیم و سبز هماهنگ */
    border-radius: 6px !important;
    box-shadow: 0 8px 20px rgba(0, 85, 34, 0.25) !important;
}

/* ===== هاور روی کل Dropdown ===== */
.select2-container--default .select2-dropdown:hover {
    border-color: #067747 !important;
    box-shadow: 0 8px 26px rgba(0, 85, 34, 0.35) !important;
}

/* ===== جلوگیری از تغییر مرز پایین هنگام باز بودن لیست ===== */
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
    border-bottom-color: #ccc !important;
}
/* روز انتخاب شده یا در محدوده انتخاب */
.pwt-datepicker td.selected,
.pwt-datepicker td.pwt-selected,
.pwt-datepicker td.selected:hover,
.pwt-datepicker td.pwt-selected:hover {
    background-color: #28a745 !important; /* سبز تیره */
    border-color: #28a745 !important;
    color: #fff !important;
}

/* هاور روی روزهای عادی */
.pwt-datepicker td:hover {
    background-color: #a5d6a7 !important; /* سبز روشن */
    border-color: #2e7d32 !important;
    color: #000 !important;
}

/* روز امروز */
.pdp-day.pdp-today {
    background-color: #c8e6c9 !important; /* سبز خیلی روشن */
    border: 1px solid #2e7d32 !important;
    color: #000 !important;
}

/* ترنزیشن نرم برای رنگ */
.pwt-datepicker td {
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* بازنویسی کامل استایل انتخاب شده */
.datepicker-plot-area .datepicker-day-view .table-days td.selected span,
.datepicker-plot-area .datepicker-year-view .year-item.selected,
.datepicker-month-view .month-item.selected {
    background-color: #696969 !important; /* سبز تیره */
    color: #fff !important;
    border: none !important;
}

/* هاور روی هر روز */
.datepicker-plot-area .datepicker-day-view .table-days td:hover span {
    background: #f4fff8 !important;
border: 1px solid #005522 !important;
    color: #000 !important;
}

/* رنگ روز امروز وقتی انتخاب نیست */
.datepicker-plot-area .datepicker-day-view .table-days td.today span {
    background-color: #005522 !important; /* خاکستری ملایم‌تر */
    color: #fff !important;
    border: none !important;
}
/* برای همه ورودی‌ها */
input.error,
select.error,
textarea.error,
input[type="file"].error,
input[type="number"].error {
    border: 1px solid red !important;
    box-shadow: none !important;
    outline: none !important;
}

/* برای select2 */
.select2-selection.error {
    border: 1px solid red !important;
}

/* حذف اسپینر اعداد */
input[type="number"].error::-webkit-inner-spin-button,
input[type="number"].error::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"].error {
    -moz-appearance: textfield;
}

/* واکنش‌گرا */
@media (max-width: 768px) {
    .teacher-form input,
    .teacher-form select,
    .teacher-form textarea {
        max-width: 100% !important;
    }
}


.subject-row {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 5px;
}



.hidden-field {
    display: none !important;
}


@media (max-width: 576px) {
    .subject-row {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
         margin-bottom: 20px; 
    }

    /* تمام عرض برای پایه و رشته */
    .grade-select,
    .major-input {
        flex: 1 1 100%;
    }


    /* پیدا کردن ورودی درس و دکمه بعدش */
    .subject-input {
        flex: 1;
        min-width: 0;
    }

    .subject-input + .add-subject {
        flex: 0 0 42px;
        height: 42px;
        padding: 0;
        font-size: 20px;
        text-align: center;
    }

    /* قرار دادن input و دکمه کنار هم حتی اگر HTMLشون wrap شده */
    .subject-input,
    .subject-input + .add-subject {
        display: inline-flex;
        vertical-align: middle;
    }
     .add-subject {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 42px;
        height: 42px;
        padding: 0;
        font-size: 20px;
        line-height: 1;
    }



    .teacher-form .select2-dropdown {
        width: 100% !important;
        left: 0 !important;
        right: 0 !important;
    }
}


/* دسکتاپ */
@media (min-width: 992px) {
    .teacher-form .select2-container {
        min-width: 180px !important;
    }
}

/* موبایل */
@media (max-width: 576px) {
    .teacher-form .select2-container,
    .teacher-form .select2-dropdown {
        width: 100% !important;
        min-width: unset !important;
        max-width: 100% !important;
        left: 0 !important;
        right: 0 !important;
    }
}


/* ✅ استایل ویژه برای فرم پروفایل معلم */
.teacher-profile-form {
    max-width: 700px;
    margin: 40px auto; /* قرار گرفتن در وسط صفحه */
    background-color: #f9f9f9;
    border: 2px solid #ddd;
    border-radius: 10px;
    padding: 25px 30px;
    font-family: 'B Yekan', Tahoma;
    box-shadow: 0 0 12px rgba(0, 85, 34, 0.15);
}

.teacher-profile-form h3 {
    text-align: center;
    margin-bottom: 25px;
    color: #005522;
    font-weight: bold;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 15px;
}

.form-row label {
    width: 100%;
    text-align: right;
    margin-bottom: 8px;
    font-weight: bold;
    color: #333;
}

.form-row input[type="text"], 
.form-row select, 
.form-row textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
    font-family: 'B Yekan';
}

.form-row input:focus, 
.form-row select:focus, 
.form-row textarea:focus {
    border-color: #005522;
    box-shadow: 0 0 6px rgba(0,85,34,0.3);
    outline: none;
}

.form-row.half {
    width: 48%; /* دو ستون در یک ردیف */
}

.submit-row {
    text-align: center;
    margin-top: 25px;
}

.submit-row input[type="submit"] {
    background-color: #005522;
    color: white;
    border: none;
    border-radius: 7px;
    padding: 10px 30px;
    font-size: 16px;
    font-family: 'B Yekan';
    cursor: pointer;
}

.submit-row input[type="submit"]:hover {
    background-color: #696969;
}

/* ✅ ویژه برای dropdown استان و شهر */
.select-location {
    display: flex;
    gap: 10px;
}

.select-location select {
    flex: 1;
}

/* ====== ساختار کلی صفحه ====== */
.teachers-page {
  direction: rtl;
  font-family: 'Vazirmatn', sans-serif;
  background-color: #f8f9f8;
  color: #333;
  padding: 20px 0;
}

/* ====== کانتینر اصلی ====== */
.teachers-container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 25px;
  box-sizing: border-box;
}

/* ====== فیلترها ====== */
.filter-bar {
  display: flex;
  flex-direction: row-reverse; /* راست‌چین و کنار هم */
  justify-content: flex-start;
  align-items: flex-end;
  gap: 25px;
  width: 100%;
  padding: 0 20px;
  margin-bottom: 25px;
  box-sizing: border-box;
}

.filter-bar form {
  display: flex;
  flex-direction: row-reverse;
  gap: 25px;
  align-items: flex-end;
}

.filter-bar .form-group {
  flex: 1;
  min-width: 200px;
  display: flex;
  flex-direction: column;
}

/* ====== لیبل ====== */
.filter-bar label {
  font-size: 15px;
  color: #1f4f2b;
  margin-bottom: 6px;
  font-weight: 600;
  text-align: right;
}

/* ====== سلکت‌ها (DropDownها) ====== */
.filter-bar select {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 12px 10px; /* افزایش padding برای بلندی */
  font-size: 15px;
  height: 50px; /* ارتفاع بیشتر برای نمایش کامل نوشته */
  width: 100%;
  background-color: #fff;
  color: #333;
  text-align: right;
  transition: 0.2s;
}

.filter-bar select:focus {
  border-color: #1f4f2b;
  outline: none;
}

.teachers-grid {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 25px !important;
  margin-top: 20px !important;
  margin-bottom: 40px;
  margin-right: 30px !important;
}

.teacher-card {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 12px;
  width: 100%;
   padding: 25px 30px !important;
  gap: 22px !important;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08) !important;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  transition: all 0.3s ease;
   margin-bottom: 25px !important;  /* فاصله بین کارت‌ها */
  margin-right: 25px !important;   /* فاصله از سایدبار */
}
@media (min-width: 992px) {
  .teacher-card {
    margin-right: 30px !important;
  }
}

.teacher-card:hover {
  border-color: #1f4f2b;
  box-shadow: 0 4px 14px rgba(31, 79, 43, 0.2);
}


/* تصویر معلم */
.teacher-photo img {
  width: 95px;
  height: 95px;
  border-radius: 50%;
  border: 2px solid #1f4f2b;
  object-fit: cover;
}

/* اطلاعات معلم */
.teacher-info {
  flex: 1;
  text-align: right;
}

.teacher-info .teacher-name {
  font-size: 16px;
  font-weight: 700;
  color: #1f4f2b;
  margin-bottom: 5px;
}

.teacher-info .teacher-subjects,
.teacher-info .teacher-city,
.teacher-info .teacher-price {
  font-size: 14px;
  color: #555;
  margin-bottom: 3px;
}

/* دکمه‌ها */
.teacher-actions {
  margin-top: 10px;
}

.teacher-actions button {
  background-color: #1f4f2b;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 14px;
  transition: background-color 0.3s ease;
}

.teacher-actions button:hover {
  background-color: #276c3d;
}

/* ====== واکنش‌گرا ====== */
@media (max-width: 768px) {
  .filter-bar {
    flex-direction: column;
    gap: 15px;
  }

  .filter-bar form {
    flex-direction: column;
    gap: 15px;
  }

  .teacher-card {
    flex-direction: column;
    text-align: center;
  }

  .teacher-photo img {
    width: 85px;
    height: 85px;
  }
}


input.error, select.error, textarea.error {
    border-color: #b32121 !important;
    background-color: #fff2f2 !important;
}

@media (max-width: 768px) {
  .filter-form div {
    width: 100% !important;
  }

  .filter-form {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .filter-form select {
    width: 100% !important;
    margin-bottom: 10px;
  }
}
/* صفحه معلم */
.teacher-page-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 25px;
  margin-top: 20px;
}

/* کارت معلم */
.teacher-card {
  width: 100%;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 20px 25px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: all .25s ease;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.teacher-card:hover {
  box-shadow: 0 8px 20px rgba(31,79,43,0.25);
  transform: translateY(-3px);
}
.teacher-photo img {
  width: 100px; height: 100px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #1f4f2b22;
}
.teacher-info {
  flex: 1;
  text-align: right;
  margin-right: 20px;
}
.teacher-name {
  font-size: 19px;
  font-weight: bold;
  color: #1f4f2b;
  margin-bottom: 8px;
}
.teacher-price {
  font-size: 16px;
  color: #555;
}

/* باکس شرایط */
.teacher-terms-box {
  background: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 25px;
  font-family: 'B Yekan';
  color: #333;
  width: 100%;
}
.teacher-terms-box h4 {
  color: #1f4f2b;
  font-weight: bold;
  margin-bottom: 15px;
}

/* پذیرش شرایط */
.accept-box {
  text-align: center;
  width: 100%;
  font-family: 'B Yekan';
  margin-top: 10px;
}
.accept-label {
  display: block;
  font-size: 16px;
  color: #444;
  margin-bottom: 10px;
}
.accept-label.accepted { color: #1f5e2b; }

.accept-checkbox {
  margin-left: 6px;
  transform: scale(1.2);
}
.pay-btn {
  background-color: #f2f2f2 !important;   /* طوسی خیلی کمرنگ - هماهنگ با سایت */
  border: none !important;
  padding: 10px 40px !important;
  border-radius: 8px !important;
  font-size: 17px !important;
  font-family: 'B Yekan';
  color: #1f4f2b !important;              /* سبز تیره تم سایت */
  transition: 0.25s all ease;
  cursor: pointer;
}

/* حالت hover کاملاً هماهنگ با پالت اصلی سایت */
.pay-btn:hover:enabled {
  background-color: #1f4f2b !important;    /* سبز اصلی سایت */
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(31,79,43,0.35);
}

/* حالت غیرفعال (از مین‌باتن وام گرفته شده) */
.pay-btn:disabled {
  background-color: #696969 !important;
  color: #e3e3e3 !important;
  cursor: not-allowed;
  box-shadow: none !important;
}


.teacher-warning-box {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  background: #e9f5ee;       /* سبز خیلی کمرنگ */
  border: 2px solid #1f4f2b; /* سبز اصلی نیک‌اندیش */
  color: #1f4f2b;
  padding: 18px 28px;
  border-radius: 12px;
  font-size: 17px;
  text-align: center;
  opacity: 0;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  transition: all 0.35s ease;
  z-index: 99999;
     font-family: 'B Yekan', IRANSans, Tahoma, sans-serif !important;
}

.teacher-warning-box.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* موبایل */
@media (max-width: 768px){
  .teacher-warning-box {
    width: calc(100% - 40px);
    font-size: 16px;
       font-family: 'B Yekan', IRANSans, Tahoma, sans-serif !important;
  }
}

/* ریسپانسیو */
@media (max-width:768px){
  .teacher-card {
    flex-direction: column;
    text-align: center;
  }
  .teacher-photo img { width: 85px; height: 85px; }
  .teacher-info { margin-right: 0; margin-top: 10px; }
  .teacher-terms-box, .accept-box { padding: 18px; }
   .teacher-contact-wrapper {
    flex-direction: column !important;
  }
  #payBtn {
    width: 100% !important;
    display: block !important;
    margin: 12px 0 0 0 !important;
    font-size: 16px !important;
    padding: 12px 0 !important;
    border-radius: 8px !important;
  }
  #acceptLabel {
    display: block !important;
    text-align: center !important;
    margin-bottom: 6px !important;
  }
}

.pay-btn-custom {
    width: 320px; /* عرض نه خیلی زیاد و نه خیلی کم */
    max-width: 100%;
    height: 50px;
    background-color: #696969; /* رنگ خاکستری در حالت غیرفعال */
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-family: 'B Yekan', Tahoma;
    cursor: not-allowed;
    transition: all 0.3s ease;
}

.pay-btn-custom:enabled {
    background-color: #005522; /* رنگ سبز در حالت فعال */
    cursor: pointer;
}

.pay-btn-custom:enabled:hover {
    background-color: #00441b; /* سبز تیره‌تر در حالت هاور */
}

/* === کارت و شرایط تماس معلم === */
.teacher-contact-wrapper .teacher-card,
.teacher-contact-wrapper .teacher-terms-box {
  transition: all 0.3s ease;
  border-radius: 8px;
}

.teacher-contact-wrapper .teacher-card:hover,
.teacher-contact-wrapper .teacher-terms-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.1);
}

/* افکت hover برای accept-box (چک‌باکس و دکمه) */
.teacher-contact-wrapper .accept-box:hover {
  transform: scale(1.01);
  transition: all 0.25s ease;
}

/* واکنش‌گرا در موبایل */
@media (max-width: 768px) {
  .teacher-contact-wrapper .accept-box button {
    width: 100%;
    padding: 12px 0;
    font-size: 16px;
  }
}
/* === کارت و شرایط تماس معلم === */
.teacher-contact-wrapper .teacher-card,
.teacher-contact-wrapper .teacher-terms-box {
  transition: all 0.3s ease;
  border-radius: 8px;
}

.teacher-contact-wrapper .teacher-card:hover,
.teacher-contact-wrapper .teacher-terms-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.1);
}

/* افکت hover برای accept-box (چک‌باکس و دکمه) */
.teacher-contact-wrapper .accept-box:hover {
  transform: scale(1.01);
  transition: all 0.25s ease;
}
/* === کارت معلم === */
.teacher-main-card {
    border-radius: 5px !important;
    border: 2px solid #0a905a !important;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19), 0 1px 1.2px #00552214 !important;
    color: #005522 !important;
    padding: 18px 20px;
    margin-top: 20px;
    transition: all .25s ease;
}

.teacher-main-card:hover {
        background: #f4fff8 !important;

    transform: translateY(-3px);
    box-shadow: 0 6px 22px rgba(0, 85, 34, 0.25), 0 1px 1.2px #00552230 !important;
}

/* متن‌ها مرتب و justify */
.teacher-main-card p,
.teacher-main-card span,
.teacher-main-card div {
    text-align: justify;
    text-justify: inter-word;
}


/* === باکس شرایط === */
.teacher-terms-box {
    border-radius: 5px !important;
    border: 2px solid #0a905a !important;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19), 0 1px 1.2px #00552214 !important;
    color: #005522 !important;
    padding: 25px;
    margin-top: 30px;
    transition: all .25s ease;
}

.teacher-terms-box:hover {
        background: #f4fff8 !important;

    transform: translateY(-3px);
    box-shadow: 0 6px 22px rgba(0, 85, 34, 0.25), 0 1px 1.2px #00552230 !important;
}

/* متن شرایط */
.teacher-terms-box p,
.teacher-terms-box div {
    text-align: justify;
    color: #005522;
}

.teacher-terms-box h4 {
    font-weight: bold;
    color: #0a905a !important;
}


.teacher-phone-box {
    margin-top: 20px;
    padding: 18px;
    background: #e5f7ea;
    border: 2px solid #2d6a4f;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    direction: rtl;
}

.teacher-phone-icon {
    font-size: 26px;
    color: #2d6a4f;
}

.teacher-phone-text {
    font-size: 19px;
    font-weight: bold;
    color: #1b4332;
}

/* استایل باکس پیدا نشدن معلم */
.alert-teacher-notfound,
.alert-studentrequest-notfound {
    padding: 20px;
    background: #ffecec;
    border: 1px solid #ff9d9d;
    border-radius: 10px;
    color: #b90000;
}

/* باکس "هیچ درخواستی نیست" */
.no-requests-box {
    text-align: center;
    padding: 25px;
    background: #fff3f3;
    border: 1px solid #dc3545;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.no-requests-box h4 {
    color: #dc3545;
    font-family: 'B Yekan';
}

/* باکس اصلی درخواست‌ها */
.teacher-requests-container {
    margin-top: 20px;
}

.teacher-requests-box {
    padding: 10px;
}

/* کارت درخواست‌ها - با تم سایت شما */
.request-card {
    background: #f4fff8 !important; 
    border: 2px solid #0a905a !important;
    border-radius: 8px !important;
    padding: 18px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19), 
                0 1px 1.2px #00552214 !important;
    color: #1f4f2b !important;
    font-family: 'B Yekan';
    transition: 0.25s ease-in-out;
    width: 60%; /* عرض مثل قبل */
 direction: rtl !important;
    text-align: right !important;}


/* موبایل → عرض زیاد بشه، کارت بهتر دیده بشه */
@media (max-width: 576px) {
    .request-card {
        width: 95% !important;  /* یا 100% اگر خواستی */
        padding: 16px !important;
    }
}
/* هاور با تم سبز */
.request-card:hover {
    background: #e8fff1 !important;
    border-color: #0a905a !important;
    box-shadow: 0 6px 18px rgba(0, 85, 34, 0.25) !important;
}

/* لینک داخل کارت – سبز تیره سایت */
.request-card a {
    color: #005522 !important;
    text-decoration: none !important;
    font-weight: bold;
}

/* لینک در حالت هاور */
.request-card a:hover {
    color: #1f4f2b !important;
    text-decoration: underline !important;
}

/* تنظیم فاصله متون */
.request-card div {
    margin-bottom: 4px;
}


/* نوع کلاس */
.class-type-box {
    margin-top: 8px;
    padding: 6px 10px;
    border-radius: 6px;
    background: #eef7ff;
    color: #005522;
    font-size: 14px;
}

/* باکس تایید شده */
.approved-box {
    background: #eafaf0;
    color: #005522;
    border: 1px solid #0a905a44;
    padding: 10px;
    border-radius: 8px;
}

/* فرم تایید */
.approve-form {
    margin-top: 10px;
}



/* کارت درخواست جدید – زیبا و حرفه‌ای */
/* ===========================
   WRAPPER + CARD
   =========================== */
/* ======================================================
   WRAPPER
   ====================================================== */
.request-card-wrapper {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    justify-content: center !important; /* کارت در وسط */
    align-items: center !important;     /* کارت در وسط */
}


/* ======================================================
   CARD
   ====================================================== */
.request-card {
    background: #f4fff8 !important; 
    border: 2px solid #0a905a !important;
    border-radius: 10px !important;
    padding: 18px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.19), 0 1px 1.2px #00552214 !important;
    color: #1f4f2b !important;
    font-family: 'B Yekan';
    transition: 0.25s ease-in-out;
    width: 60%;
    direction: rtl !important;
    text-align: right !important;

    display: flex;
    gap: 20px;
}

.request-card:hover {
    background: #e8fff1 !important;
    box-shadow: 0 6px 18px rgba(0, 85, 34, 0.25) !important;
}

/* ======================================================
   IMAGE
   ====================================================== */
.request-img {
    width: 110px;
    height: 110px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid #cde7d6;
}

/* ======================================================
   INFO
   ====================================================== */
.request-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.info-row {
    display: flex;
    justify-content: flex-start;
    gap: 6px;
}

.info-title {
    font-weight: bold;
    color: #005522;
    white-space: nowrap;
}


.info-value {
    word-break: break-word; 
    display: block; /* تغییر از inline-block به block برای تاثیر بهتر br */
    line-height: 1.8;
    color: #333;
}


/* ======================================================
   STATUS + PHONE BOX
   ====================================================== */
.status-waiting-payment {
    color: #d9534f;
}

.status-payment-success {
    color: #f57c00;
    font-size: 14PX;
    font-weight: bold;
    border: 2px solid #f57c00;
    padding: 5px 5px;
    border-radius: 8px;
    display: inline-block;
    text-align: center !important;
}

.teacher-phone-box {
    margin-top: 10px;
    padding: 10px;
    border: 2px solid #f57c00;
    border-radius: 8px;
    color: #f57c00;
    font-size: 18px;
    font-weight: bold;
    background: #fff3e0;
}

/* ======================================================
   RESPONSIVE → MOBILE FIX (THE REAL FIX)
   ====================================================== */
@media (max-width: 768px) {



    .request-img {
        justify-content: center;
        width: 95px;
        height: 95px;
        margin-bottom: 10px;
    }

    .request-info {
        align-items: flex-start;
        width: 100%;
    }

    .info-row {
        justify-content: flex-end;
    }

    .request-card-wrapper {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important; /* چسبیده به راست */
        width: 100% !important;
    }

    /* خود کارت در موبایل کشیده می‌شود به راست */
    .request-card {
        width: 95% !important;       /* باعث می‌شود وسط نباشد */
        margin-right: 0 !important;  /* جلوگیری از وسط‌چینی */
        margin-left: auto !important;/* کارت از سمت راست align می‌شود */
        text-align: right !important;
        flex-direction: column !important;
        align-items: flex-end !important;
    }


}

/* ======================================================
   TEACHER REQUEST CARD (برای صفحه معلم‌ها)
   ====================================================== */
/* کارت معلم همان استایل کارت دانش‌آموز را می‌گیرد */
.teacher-request-wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

.teacher-request-wrapper .request-card {
    width: 500px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 18px !important;
}

/* دکمه تایید وسط کارت */
.teacher-request-wrapper .approve-form {
    width: 100%;
    display: flex;
    justify-content: center;
}

.teacher-request-wrapper .approve-btn {
    margin-top: 15px !important;
    padding: 10px 35px !important;
}
.request-button-row {
    width: 100%;
    margin-top: 5px;
    display: flex;
    justify-content: center;
}

/* ================================
   SITE MODAL POPUP – MATCH THEME
   ================================ */

.site-popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

/* خود کارت */
.site-popup {
    width: 92%;
    max-width: 420px;
    background: #f4fff8;
    border: 2px solid #0a905a;
    border-radius: 14px;
    padding: 26px 24px;
    text-align: center;
    box-shadow: 0 6px 22px rgba(0, 85, 34, 0.35);
    font-family: 'B Yekan';
    animation: popupScale .22s ease-out;
    transition: all .25s ease;
}

/* هاور کارت مثل بقیه کارت‌ها */
.site-popup:hover {
    background: #e8fff1;
    box-shadow: 0 8px 26px rgba(0, 85, 34, 0.45);
    transform: translateY(-3px);
}

/* خط سبز بالا */
.site-popup.success {
    border-top: 4px solid #0a905a;
}

/* آیکن */
.popup-icon {
    font-size: 40px;
    margin-bottom: 10px;
}

/* تیتر */
.popup-title {
    font-size: 18px;
    font-weight: bold;
    color: #005522;
    margin-bottom: 6px;
}

/* متن */
.popup-text {
    font-size: 14px;
    color: #1f4f2b;
    line-height: 1.9;
    margin-bottom: 18px;
    font-family: 'B Yekan';

}

/* دکمه – دقیقاً با تم سایت */
.popup-btn {
    background: #005522;
    color: #fff !important;
    border: none;
    border-radius: 7px;
    padding: 9px 26px;
    font-family: 'B Yekan';
    font-size: 14px;
    cursor: pointer;
    transition: all .25s ease;
}

/* هاور دکمه = هاور mainbutton */
.popup-btn:hover {
    background: #696969;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    transform: translateY(-1px);
}

/* انیمیشن بازشدن */
@keyframes popupScale {
    from {
        transform: scale(.92);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}
/* ======================================================
   CHAT PAGE – FINAL (matched with request-card style)
   ====================================================== */
/* =======================================================
   FINAL CHAT STYLE – NIM-ANDISH
======================================================= */

/* ================= کارت اصلی ================= */
.chat-main-card {
    background: linear-gradient(180deg, #ffffff, #f6fff9);
    border: 1px solid #005522;
    border-radius: 18px;
    padding: 24px;

    width: 100%;
    margin-bottom: 24px;

    /* افزایش فاصله از سایدبار */
    margin-right: 22px;   /* فقط همین مقدار اضافه شد */

    box-shadow:
        0 14px 38px rgba(0, 85, 34, 0.35),
        0 2px 6px rgba(0, 0, 0, 0.08);

    transition: all 0.35s ease;
}

.chat-main-card:hover {
    transform: translateY(-2px);
    box-shadow:
        0 20px 48px rgba(0, 85, 34, 0.45),
        0 4px 10px rgba(0, 0, 0, 0.12);
}

/* ================= باکس پیام‌ها ================= */
.chat-messages-box {
    background: linear-gradient(180deg, #f4fff8, #ecf7f1);
    border: 2px solid #005522;
    border-radius: 16px;
    padding: 20px;
    height: 440px;
    overflow-y: auto;
    margin-bottom: 20px;

    box-shadow:
        inset 0 0 16px rgba(0, 85, 34, 0.18),
        0 6px 22px rgba(0, 0, 0, 0.15);
}

/* ================= حالت بدون پیام ================= */
.chat-empty {
    text-align: center;
    color: #666;
    font-size: 14px;
    padding: 60px 0;
}

/* ================= سطر پیام ================= */
.chat-row {
 display: flex;
    margin-bottom: 8px;
}

.chat-row.me { text-align: left;
    justify-content: flex-start;
 }
.chat-row.other {     justify-content: flex-end;
}

/* ================= حباب پیام ================= */
.chat-message-bubble {
    display: inline-block;
    line-height: 1.55;
    background: #ffffff;
    border: 1px solid #005522;
    font-size: 14px;
    word-break: break-word;
    box-shadow:
        0 6px 18px rgba(0, 85, 34, 0.35),
        inset 0 0 0 1px rgba(255,255,255,0.6);

    transition: transform 0.25s ease;
        max-width: 75%;
    padding: 8px 12px;
    border-radius: 14px;
}

/* hover نرم */
.chat-message-bubble:hover {
    transform: scale(1.015);
}

/* ================= فرم ارسال ================= */
.chat-send-form {
    margin-top: 6px;
}
.chat-row.me .chat-message-bubble {
    background: #e6f4ef; /* سبز خیلی ملایم */
    color: #204d3b;
    border-bottom-left-radius: 4px;
}
.chat-row.other .chat-message-bubble {
    background: #ffffff;
    border: 1px solid #ddd;
    color: #333;
    border-bottom-right-radius: 4px;
}
/* اسکرول تمیز */
.chat-messages-box::-webkit-scrollbar { width: 7px; }
.chat-messages-box::-webkit-scrollbar-thumb { background: #005522; border-radius: 10px; }
.chat-messages-box::-webkit-scrollbar-track { background: #eaf5ef; border-radius: 10px; }

/* ---- FIX SPECIFIC BUTTON: فعالسازی کلاس آنلاین ---- */

.request-button-row form button.mainbutton {
    width: 100% !important;
    max-width: 300px !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 12px 25px !important;
    white-space: nowrap !important;
    background-color: #005522 !important;
    border-radius: 7px !important;
    border: none !important;
}

/* ===== تیتر بخش ===== */
.chat-page h4 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 14px;
    color: #0a4b2a;
}

/* ===== کارت جلسات ===== */
.session-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    margin-bottom: 8px;
    background: #f8fff9;
    border: 1px solid #d7f0df;
    border-radius: 8px;
    transition: all 0.2s ease;
    gap: 10px;
}

.session-row:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.06);
    transform: translateY(-1px);
}

/* ===== متن مبلغ ===== */
.session-row span {
    font-size: 14.5px;
    font-weight: 600;
    color: #1d3c2a;
}

/* ===== پرداخت شده ===== */
.session-row .paid {
    font-size: 13px;
    color: #1e8f4d;
    font-weight: bold;
}

/* ===== فرم ثبت جلسه ===== */
.add-session-form {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 14px;
}

.add-session-form input {
    height: 38px;
    padding: 0 10px;
    border-radius: 6px;
    border: 1px solid #cdded4;
    font-size: 14px;
}

/* ===== دکمه ثبت جلسه ===== */
.session-submit {
    background: linear-gradient(135deg, #0a8f4c, #0fb36d);
    color: #fff;
    padding: 8px 16px;
    font-size: 14px;
    border-radius: 6px;
    border: none;
    transition: all 0.25s ease;
}

.session-submit:hover {
    background: linear-gradient(135deg, #087d42, #0a9e5e);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    transform: translateY(-1px);
}

/* ===== دکمه تایید توافق ===== */
.confirm-btn {
    font-size: 13px;
    padding: 5px 12px;
    border-radius: 5px;
}

.pay-btn {
    background: #ff9800 !important;
    color: #fff !important;
    font-weight: 700;
    display: inline-block;
    padding: 6px 14px;
    border-radius: 6px;
    opacity: 1 !important;
}


.paid-label {
    display: inline-block;
    background: #e8f5e9;
    color: #2e7d32;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
}

.session-row a.mainbutton {
    padding: 4px 10px;
    font-size: 12px;
    border-radius: 4px;
}

.pay-btn,
.pay-btn:visited,
.pay-btn:hover,
.pay-btn:active {
    background-color: #ff9800 !important;
    color: #fff !important;
}

@media (max-width: 768px) {
    .session-row {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .session-row span {
        font-size: 15px;
    }

    .session-row .mainbutton,
    .session-row .pay-btn {
        width: 100%;
        padding: 12px 0;
        font-size: 16px;
        border-radius: 10px;
    }

     .chat-main-card {
        padding: 12px;
    }

    .chat-messages-box {
        max-height: 300px;
    }

    textarea.fields {
        font-size: 14px;
    }
}


/* =========================
   CHAT PAGE – CLEAN & MINIMAL
   ========================= */

.chat-page{
direction: rtl;
font-family: B Yekan;
color:#222;
}

/* کارت اصلی */
.chat-main-card{
background:#ffffff;
border-radius:14px;
padding:16px 18px;
margin-bottom:16px;
box-shadow:0 4px 18px rgba(0,0,0,.04);
}

/* کارت جلسات */
.sessions-card{
margin-top:22px;
}

/* باکس پیام‌ها */
.chat-messages-box{
max-height:320px;
overflow-y:auto;
padding:8px 8px;
}

/* ردیف پیام */
.chat-row{
margin-bottom:10px;
line-height:1.6;
}

.chat-row.me{text-align:left;}
.chat-row.other{text-align:right;}

/* حباب پیام */
.chat-message-bubble{
display:inline-block;
max-width:78%;
padding:7px 14px;
border-radius:18px;
font-size:14px;
background:#f3f5f6;
color:#333;
word-wrap:break-word;
}

/* پیام خودم */
.chat-row.me .chat-message-bubble{
background:#e7f2ff;
border-bottom-left-radius:6px;
}

/* پیام طرف مقابل */
.chat-row.other .chat-message-bubble{
background:#eafaf1;
border-bottom-right-radius:6px;
}

/* عنوان جلسات */
.sessions-title{
margin-bottom:14px;
font-size:15px;
color:#005522;
font-weight:600;
}

.session-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 12px;
    border-bottom: 1px dashed #eee;
box-shadow:0 6px 22px rgba(0,85,34,.35);
}

.session-info{
    flex: 1;
    font-size: 14px;
}

.session-info .hours{
    color:#666;
    font-size:13px;
    margin-right:6px;
}

.session-info .pending{
    color:#cc5500;
    font-size:12px;
    margin-right:6px;
}

.session-status{
    flex: 0 0 auto;
}

.session-actions{
    gap: 6px;
    align-items: center;
}

/* =========================
   MEET LINK ROW
   ========================= */
/* =========================
   MEET LINK ROW
========================= */
.meet-link-row{
margin-top:8px;
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
direction:rtl;
}

/* حذف آیکن‌های ناخواسته */
.meet-link-row i,
.meet-link-row svg{
display:none !important;
}

/* لینک ساده ورود (غیردکمه‌ای) */
.class-entry-link{
font-size:13px;
font-weight:500;
color:#0a905a;
text-decoration:none;
line-height:1.6;
cursor:pointer;
transition:color .15s ease;
}

.class-entry-link:hover{
color:#06704a;
text-decoration:underline;
}

/* =========================
   ADD SESSION FORM
========================= */
.add-session-form{
display:flex;
align-items:center;
gap:10px;
margin-top:14px;
flex-wrap:wrap;
direction:rtl;
}

/* =========================
   POPUP DESCRIPTION
========================= */
.meet-desc{
font-size:13px;
line-height:1.9;
color:#555;
margin-bottom:14px;
text-align:right;
}

/* =========================
   ENTER CLASS (TEXT STYLE)
========================= */
.enter-class-btn{
display:inline-flex;
align-items:center;
gap:6px;
font-size:13px;
font-weight:600;
font-family:B Yekan,Tahoma;
color:#0a905a !important;
background:#e6f7ef;
border:1px solid #bdebd6;
border-radius:8px;
padding:4px 10px;
text-decoration:none !important;
cursor:pointer;
transition:all .15s ease;
white-space:nowrap;
}

.enter-class-btn:hover{
background:#d2f2e1;
border-color:#9edcbc;
color:#06704a !important;
}


/* آیکن غیرفعال */
.enter-icon{
display:none;
}

/* =========================
   POPUP OVERLAY
========================= */
.meet-popup-overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,.55);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
}

/* =========================
   POPUP BOX
========================= */
.meet-popup{
width:92%;
max-width:420px;
background:#f4fff8;
border:2px solid #0a905a;
border-radius:14px;
padding:22px;
box-shadow:0 6px 22px rgba(0,85,34,.35);
animation:meetPopupScale .2s ease-out;
direction:rtl;
font-family:B Yekan,Tahoma;
}

/* انیمیشن امن */
@keyframes meetPopupScale{
from{transform:scale(.95);opacity:0}
to{transform:scale(1);opacity:1}
}

/* =========================
   MOBILE FIX
========================= */
@media (max-width:600px){
.meet-link-row{
align-items:flex-start;
}
.enter-class-btn{
font-size:12.5px;
}
}
/* ===== Unified Small Action Buttons ===== */
.enter-class-text,
.edit-link-text {
    all: unset; /* ✅ حذف پیش‌فرض a و button */
    box-sizing: border-box;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
        margin: 0 auto 6px auto;   /* ✅ فاصله چپ و راست */

    min-width: 110px;      /* ✅ کلید حل مشکل */
    height: 34px;          /* ✅ ارتفاع برابر */
    padding: 0 14px;

    border: 1.5px dashed #0a905a;
    border-radius: 8px;

    font-family: 'B Yekan', Tahoma;
    font-size: 13.5px;
    font-weight: bold;
    line-height: 1;

    color: #005522 !important;
    background-color: #f4fff8;

    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;

    transition: all 0.25s ease;
}

/* hover */
.enter-class-text:hover,
.edit-link-text:hover {
    background-color: #e8fff1;
    border-color: #005522;
    color: #003d19;
    box-shadow: 0 3px 10px rgba(0, 85, 34, 0.25);
    transform: translateY(-1px);
}

/* آیکن */
.enter-class-text i,
.edit-link-text i,
.enter-class-text svg,
.edit-link-text svg {
    font-size: 15px;
}



/* =====================================
   HARD RESET – CHAT PAGE (MOBILE ONLY)
/* =====================================
   MOBILE CHAT FIX (FINAL – REPLACEMENT)
===================================== */
@media (max-width:768px){

/* حذف فاصله‌های اضافی بوت‌استرپ */
.chat-page .row{
  margin-left:0 !important;
  margin-right:0 !important;
}

.chat-page [class*="col-"]{
  padding-left:0 !important;
  padding-right:0 !important;
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
}

/* کارت‌ها */
.chat-page .chat-main-card{
  width:100% !important;
  margin:10px 0 !important;
  padding:12px !important;
  box-sizing:border-box;
}

/* ================= جلسات ================= */

/* هر سطر جلسه */
.chat-page .session-row{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:8px !important;
  padding:10px !important;
  margin-bottom:10px;
}

/* متن قیمت / ساعت */
.chat-page .session-row > div:first-child{
  width:100%;
  font-size:14px;
  line-height:1.8;
}

/* دکمه‌ها داخل هر جلسه */
.chat-page .session-row a,
.chat-page .session-row button{
  width:100% !important;
  margin:4px 0 7px 0 !important;
  text-align:center;
}

/* ================= فرم افزودن جلسه ================= */

/* خود فرم */
.chat-page form[action="save_session.php"]{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:8px !important;
}



/* دکمه فعالسازی */
.chat-page .session-submit,
.chat-page form[action="save_session.php"] button{
  width:100% !important;
  padding:12px !important;
  font-size:14.5px;
  border-radius:12px;
}

/* ================= دکمه فعالسازی اصلی ================= */

.chat-page .request-button-row{
  width:100% !important;
  display:block !important;
  margin:12px 0 !important;
  padding:0 !important;
}

.chat-page .request-button-row .mainbutton{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:12px !important;
  font-size:14.5px;
  border-radius:12px;
  text-align:center;
}

/* جلوگیری از اسکرول افقی */
.chat-page{
  overflow-x:hidden;
}

}

.chat-page form[action="save_session.php"]{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.chat-page form[action="save_session.php"] input[type="number"]{
    width: 200px !important;
    padding: 10px 12px;
    border-radius: 8px;
    box-sizing: border-box;
    border: 1px solid #005522;
}



@media (max-width:768px){
  .chat-page form[action="save_session.php"] input[type="number"]{
      width: 100% !important;
  }
}

input[name="meet_link"]{
    margin-bottom: 12px;
}

/* ===================================
   CHAT MESSAGE TEXTAREA – FINAL FIX
   mobile + desktop (OVERRIDE SAFE)
=================================== */

.chat-page form.chat-send-form textarea.fields{
    padding:14px 16px !important;      /* ✅ موبایل + دسکتاپ */
    font-size:14px !important;
    line-height:1.9;

    border:1.5px solid #005522 !important;
    border-radius:12px !important;

    background:#fff !important;
    color:#222 !important;
    box-sizing:border-box;
}

/* فوکوس */
.chat-page form.chat-send-form textarea.fields:focus{
    outline:none !important;
    border-color:#0a905a !important;
    box-shadow:0 0 0 2px rgba(0,85,34,.15) !important;
}

/* ✅ OVERRIDE قطعی برای کارت تأیید کلاس */
label.checkbox-like {
    all: unset;                     /* 👈 کل استایل قبلی رو می‌شکنه */
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px 10px 44px;
    border: 2px dashed #005522;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14.5px;
    line-height: 1.6;
    background: #f4fff8;
    color: #005522;
    box-sizing: border-box;
}

/* ✅ کارت‌های تصمیم برگزاری کلاس */
label.decision-card {
    font-size: 13.5px !important; /* کاهش اندازه فونت متن اصلی */
    line-height: 1.7; /* تنظیم خطوط برای فشرده‌تر شدن */
    padding: 10px 15px; /* افزایش padding برای بزرگتر شدن ناحیه کلیک */
    border-radius: 8px;
    transition: all 0.3s ease;
    border: 2px solid #eee; /* حاشیه پیش‌فرض ملایم */
    display: block; 
}
/* مربع تیک */
label.checkbox-like::before {
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 2px solid #005522;
    border-radius: 4px;
    background: #fff;
}

/* علامت تیک */
label.checkbox-like::after {
    content: "✓";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-55%);
    font-size: 15px;
    font-weight: bold;
    color: transparent;
}

/* وقتی چک شده */
input.complete-checkbox:checked + label.checkbox-like {
    background: #005522;
    color: #fff;
    border-style: solid;
}

input.complete-checkbox:checked + label.checkbox-like::before {
    background: #fff;
    border-color: #fff;
}

input.complete-checkbox:checked + label.checkbox-like::after {
    color: #005522;
}


/* === اصلاح استایل رادیو دکمه تصمیم‌گیری جلسه === */

/* استایل برای رادیو دکمه در حالت کلی (مخفی کردن دکمه اصلی) */
.decision-card input[type="radio"] {
    /* این خط برای مخفی کردن ظاهر پیش‌فرض مرورگر است */
    appearance: none; 
    -webkit-appearance: none;
    width: 22px; /* افزایش عرض دکمه کلی */
    height: 22px; /* افزایش ارتفاع دکمه کلی */
    border-radius: 50%;
    margin-left: 10px !important; /* فاصله بیشتر از متن */
    border: 2px solid #ccc;
    cursor: pointer;
    position: relative;
    transition: border-color 0.2s;
}

/* استایل برای دایره در حالت عادی */
.decision-card input[type="radio"]:not(:checked) {
    border-color: #aaa;
}

/* استایل برای دایره در حالت انتخاب شده (CHECKED) */
.decision-card input[type="radio"]:checked {
    border-color: #005522; /* تغییر رنگ حاشیه به سبز */
}

/* ساختن نقطه داخلی سبز رنگ */
.decision-card input[type="radio"]:checked::after {
    content: '';
    display: block;
    width: 14px; /* اندازه بزرگتر نقطه داخلی */
    height: 14px; /* اندازه بزرگتر نقطه داخلی */
    border-radius: 50%;
    background: #005522; /* رنگ اصلی سبز */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}



/* برای حفظ ظاهر کلاس‌های موفقیت و شکست (علامت تیک و ضربدر) */
.decision-card input[type="radio"]:checked + label {
    background-color: rgba(0, 85, 34, 0.05); /* پس‌زمینه خیلی کمرنگ */
}


/* ===========================
   🟩 Modal: Bank Info Popup
   =========================== */
/*
.bank-card-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.4);
  z-index: 100000; 
  justify-content: center;
  align-items: center;
}


.bank-card-modal.show {
  display: flex;
}


.bank-card-modal-content {
  background: #fff;
  padding: 25px;
  border-radius: 10px;
  width: 90%;
  max-width: 420px;
  direction: rtl;
  text-align: right;
  font-family: 'B Yekan', IRANSans, Tahoma;
  box-shadow: 0 6px 25px rgba(0,0,0,0.25);
  animation: fadeInScale 0.3s ease-out;
}

@keyframes fadeInScale {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

.close-bank-card-modal {
  float: left;
  font-size: 22px;
  font-weight: bold;
  color: #444;
  cursor: pointer;
  transition: color 0.2s ease;
}

.close-bank-card-modal:hover {
  color: #005522;
}

.bank-card-modal-title {
  color: #005522;
  text-align: center;
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: bold;
}

.bank-form-msg {
  text-align: center;
  color: green;
  margin-bottom: 10px;
}

.teacher-bank-form .form-group {
  margin-bottom: 12px;
}

.teacher-bank-form label {
  display: block;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #333;
}

.bank-input {
  width: 100%;
  height: 38px;
  border-radius: 6px;
  border: 1px solid #aaa;
  padding: 8px 10px;
  font-size: 14px;
  outline: none;
  box-sizing: border-box;
  transition: all 0.25s ease-in-out;
}

.bank-input:focus {
  border-color: #005522;
  box-shadow: 0 0 6px rgba(0,85,34,0.25);
}

.bank-submit-btn {
  width: 100%;
  margin-top: 10px;
  font-size: 16px;
}
*/


.teacher-warning-box {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.95);
  color: #1f4f2b;


  font-size: 16px;
  font-family: 'B Yekan', IRANSans, Tahoma;

  text-decoration: none;
  cursor: pointer;

  opacity: 0;
  transition: all 0.3s ease;
  z-index: 99999;


    background-color: #e8fbea !important; /* اصلاح رنگ پس زمینه */
    border: 1px solid #82b392 !important; /* اصلاح رنگ حاشیه */
    padding: 15px !important;
    border-radius: 8px !important;
    direction: rtl !important;
    text-align: right !important;
    color: #005522 !important; /* اصلاح رنگ لینک */


}

/* حالت نمایش */
.teacher-warning-box.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* hover */
.teacher-warning-box:hover {
  background: #dff6e7;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}

.teacher-warning-link {
    color: #005522 !important; /* اصلاح رنگ لینک */
    text-decoration: none !important;
}

.teacher-warning-link:hover {
    text-decoration: underline !important;
}
/*
#bankForm {
    
    width: 90%;
    margin: 0 auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    direction: rtl;
    text-align: right;
    z-index: 10000;
}


#bankForm h3 {
    font-family: 'B Yekan', IRANSans, Tahoma;
    font-size: 18px;
    color: #005522;
    margin-bottom: 15px;
    text-align: center;
}


#bankForm label {
    display: block;
    margin-bottom: 8px;
    font-family: 'B Yekan', IRANSans, Tahoma;
    font-size: 16px;
    color: #005522;
}

#bankForm input[type="text"],
#bankForm input[type="email"] {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-family: 'B Yekan', IRANSans, Tahoma;
    font-size: 16px;
    direction: rtl;
    text-align: right;
}


#bankForm button[type="submit"] {
    background-color: #005522;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 12px 25px;
    font-family: 'B Yekan', IRANSans, Tahoma;
    font-size: 18px;
    cursor: pointer;
    display: block;
    margin: 5px auto;
    width: 200px;
}

#bankForm button[type="submit"]:hover {
    background-color: #696969;
}


#bankForm .error-message {
    color: red;
    font-size: 14px;
    margin-top: 5px;
}
.bank-inline-box {
    display: none;
    margin-top: 14px;
    direction: rtl;
}

.bank-inline-box .modal-content {
    background: #ffffff;
    border-radius: 14px;
    padding: 20px;
    max-width: 480px;
    border: 1.5px solid #d3e5ce;
    box-shadow: 0 6px 22px rgba(0, 85, 34, 0.18);
    font-family: B Yekan, IRANSans, Tahoma;
}
#bankMessage.callout {
    margin-bottom: 10px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.6;
}
*//* ===========================
   🟩 Bank Card Modal (FINAL)
   =========================== */
/* ریشه مودال – container اصلی تمام صفحه */
.bank-card-modal {
        font-family: B Yekan, IRANSans, Tahoma;

  display: none;
  position: fixed;
  inset: 0;
  z-index: 100000;
}

.bank-card-modal.show {
  display: block;
}

/* overlay */
.bank-card-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 0;
}

/* ✅ سنتر واقعی بدون flex */
.bank-card-modal__content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  padding: 25px;
  border-radius: 14px;
  width: 90%;
  max-width: 420px;
  z-index: 1;
}


/* سربرگ (عنوان و × بستن) */
.bank-card-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.bank-card-modal__header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: bold;
  color: #005522;
}

/* دکمه بستن */
.bank-card-modal__close {
  background: none;
  border: none;
  font-size: 22px;
  font-weight: bold;
  cursor: pointer;
  color: #444;
}

.bank-card-modal__close:hover {
  color: #005522;
}

/* کنترل فیلدهای فرم */
.bank-form-group {
  margin-bottom: 12px;
}

.bank-form-group input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 14px;
}

.bank-form-group input:focus {
  outline: none;
  border-color: #005522;
  box-shadow: 0 0 6px rgba(0,85,34,.25);
}

/* دکمه ثبت */
.bank-submit-btn {
  width: 100%;
  margin-top: 10px;
  padding: 11px;
  font-size: 15px;
  background: #005522;
  color: #fff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}

.bank-submit-btn:hover {
  background: #007a33;
}

/* افکت بازشدن */
@keyframes fadeInScale {
  from { opacity: 0; transform: scale(0.9); }
  to   { opacity: 1; transform: scale(1); }
}
.bank-card-modal__header h3 {
    font-family: 'B Yekan', 'BYekan', IRANSans, Tahoma;
    font-weight: normal;
}
.site-popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 9999;

    /* ✅ این سه خط مهم‌اند */
    display: flex;
    align-items: center;
    justify-content: center;
}
/* عنوان فراموشی رمز */
/* مودال فراموشی رمز */
#forgotModal .modal-content{
    width:380px;
    margin:8% auto;
    padding:25px 25px 20px 25px;
    border-radius:6px;
    background:#fff;
    direction:rtl;
}

/* عنوان */
.forgot-title{
    font-family:"B Titr", B Yekan, Tahoma;
    font-size:20px;
    text-align:center;
    margin-bottom:20px;
}

/* گروه اینپوت */
.forgot-group{
    position:relative;
    margin-bottom:20px;
}


.forgot-icon{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    color:#777;
    z-index:2;
}

.forgot-input{
       height:40px;
    padding-right:35px;
    padding-left:10px;
    font-family: 'B Yekan', 'BYekan', IRANSans, Tahoma;
    font-size:14px;
    box-sizing:border-box;
    width:100%;
    text-align:right;
}

/* دکمه ارسال */
.forgot-btn{
display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px; /* فاصله بین آیکون و متن */
    width: 25%; /* برای btn-block */
}

.forgot-btn:hover{
    background:#09572b;
}

/* لینک بازگشت */
.back-login{
    text-align:center;
    margin-top:15px;
}

.back-login a{
    font-family:"B Titr";
    font-size:13px;
    color:#0b6b35;
    text-decoration:none;
}

#forgotModal .modal-content{
    width:380px;
    padding:25px 25px 20px 25px;
    border-radius:6px;
    background:#fff;
    direction:rtl;
        margin:30vh auto !important;
            font-family: 'B Yekan', 'BYekan', IRANSans, Tahoma;


}

#forgotModal .input-group{
    width:100%;
    direction:ltr;   /* ترتیب گروه بوت‌استرپ درست بماند */
        font-family: 'B Yekan', 'BYekan', IRANSans, Tahoma;

}

#forgotModal .form-control{
    direction:rtl;
    text-align:right;
        font-family: 'B Yekan', 'BYekan', IRANSans, Tahoma;

}

#forgotModal .input-group-addon{
        order:-1;

    background:#fff;
    border-left:0;
    border-right:1px solid #ccc;
}

/* فرم ارسال تیکت – راست چین */
.ticket-form-rtl {
    direction: rtl;
    text-align: right;
}

.ticket-form-rtl label {
    float: right;
    text-align: right;
}

.ticket-form-rtl input.form-control,
.ticket-form-rtl textarea.form-control,
.ticket-form-rtl button {
    direction: rtl;
    text-align: right;
}

/* برای اینکه placeholder هم راست‌چین شود */
.ticket-form-rtl input::placeholder,
.ticket-form-rtl textarea::placeholder {
    text-align: right;
}


.ticket-view{
direction: rtl;
font-family: BYekan, Tahoma;
}

.ticket-view .ticket-user-message{
background:#f5f5f5;
border:1px solid #ddd;
padding:12px;
border-radius:5px;
margin-bottom:10px;
}

.ticket-view .ticket-admin-reply{
 background:#f4fff8;
    border:1px solid #28a745;
    border-radius:8px;
color:#2e7d32;
padding:15px;
border-radius:4px;
margin-bottom: 10px;
}

.ticket-view .ticket-waiting{
background:#fff8e1;
border:1px solid #ffe082;
padding:12px;
border-radius:5px;
}

@media (max-width:768px){

.table{
font-size:12px;
}

.table td,
.table th{
padding:6px;
}

.btn-xs{
padding:3px 6px;
font-size:11px;
}

}

.ticket-buttons{
margin-top:20px;
display:flex;
gap:10px;
flex-wrap:wrap;
}

.ticket-buttons .btn{
padding:8px 16px;
font-size:14px;
border-radius:6px;
}

.btn-secondary{
background:#6c757d;
color:#fff;
border:none;
}

.btn-secondary:hover{
background:#5a6268;
}

.yekan-font{
font-family:"BYekan","B Yekan","IRANYekan","Vazirmatn";
}




/* ===============================
   جدول تراکنش حرفه‌ای - نسخه پرمیوم
   =============================== */

.pro-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
    direction: rtl !important;
}

.pro-table thead th {
    background: #f4f6f9;
    padding: 14px 10px;
    font-weight: 700;
    font-size: 13px;
    border-radius: 8px 8px 0 0;
    text-align: center;
    color:#333;
}

/* ردیف‌ها حالت کارت‌مانند */
.pro-table tbody tr {
    background: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,0.05);
    border-radius: 10px;
    overflow: hidden;
    transition: .2s;
}

.pro-table tbody tr:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 25px rgba(0,0,0,0.09);
}

.pro-table tbody td {
    padding: 14px 12px !important;
    font-size: 14px;
    vertical-align: middle;
    text-align: center;
}

/* ستون تاریخ */
.pro-table td:nth-child(1) {
    width: 110px !important;
    text-align: right !important;
}

.date-box {
    background: #eef7ff;
    padding: 6px 10px;
    border-radius: 6px;
    color: #0056b3;
    font-weight: 600;
}

/* ستون کد */
.pro-table td:nth-child(2) {
    width: 150px !important;
}

.code-box {
    background: #f5f5f5;
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 600;
}

/* ستون مبلغ */
.pro-table td:nth-child(3) {
    width: 130px !important;
}

.price-box {
    background: #e8fff3;
    color: #0f834d;
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 700;
}

/* ستون جزئیات */
.details-col {
    width: auto !important;
    text-align: right !important;
}


/* دکمه مشاهده جزئیات */
.btn-view {
    background: #0a7d35;
    color: #fff;
    padding: 7px 18px;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    transition: .2s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor:pointer;
}

.btn-view:hover {
    background: #06642a;
}

.profile-section-title {
     font-family:BYekan, B Yekan ,"B Titr", Tahoma;
    font-size:18px;
    text-align:center;
    margin-bottom:20px;   
}


/* راهنمای تعاملی صفحه اصلی */
#guideMascot {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 330px;
    margin-top: 122px !important;
    perspective: 900px;
}

.about-person-card{background:linear-gradient(180deg,#f7fff9 0,#fff 34%);border-color:#cde3d4!important;border-radius:22px;overflow:hidden;box-shadow:0 15px 38px rgba(0,85,34,.10)}
.about-person-photo{display:block;width:200px!important;height:200px!important;max-width:calc(100vw - 70px)!important;aspect-ratio:1/1;object-fit:cover;object-position:center 26%;border-radius:50%!important;margin:18px auto 24px;border:7px solid #fff;outline:2px solid #c7e3d1;box-shadow:0 14px 35px rgba(8,67,36,.18)}
.about-leftdescription{background:#fff!important;border-radius:18px;margin:0 14px 18px!important;padding:22px 24px!important;box-shadow:0 8px 24px rgba(24,55,43,.06)}
.about-person-title{font-family:"B Titr","B Yekan",Tahoma,sans-serif;font-size:27px;color:#173c29;text-align:right;margin:0;display:inline}
.about-person-title:after{content:" | ";color:#d7a53d;font-family:Tahoma;font-size:20px}
.about-person-subtitle{font-family:"B Yekan",Tahoma,sans-serif!important;display:inline;color:#637268;font-size:13px;line-height:1.9;margin:0!important;white-space:normal!important}
.about-section-title{font-family:"B Titr","B Yekan",Tahoma,sans-serif;font-size:23px;color:#173c29;border:0;padding:18px 0 9px;margin:12px 0 8px;border-bottom:1px solid #e7eee9}
@media(max-width:767px){.about-leftdescription{margin:0 8px 14px!important;padding:18px!important}.about-person-title,.about-person-subtitle{display:block;text-align:center!important}.about-person-title:after{display:none}.about-section-title{text-align:right}}

#guideChar {
    display: block;
    width: 230px;
    max-width: 100%;
    height: auto;
    margin: 0 auto !important;
    overflow: visible;
    transform-origin: 50% 55%;
    animation: mascotBreathing 4.8s cubic-bezier(.45, 0, .55, 1) infinite;
    will-change: transform;
}

#guideHead {
    transform-origin: 160px 205px;
    transition: transform .16s cubic-bezier(.22, .8, .36, 1);
    will-change: transform;
}

#mascotBody {
    transform-origin: 160px 300px;
    animation: mascotTorso 4.8s ease-in-out infinite;
}

.mascot-arm path,
.mascot-arm circle {
    transition: d .24s cubic-bezier(.22, .8, .36, 1), cx .24s ease, cy .24s ease;
}

#armL {
    transform-origin: 198px 270px;
    animation: mascotWave 3.7s ease-in-out infinite;
}

#armR { transform-origin: 122px 270px; }
#legL { transform-origin: 143px 379px; animation: mascotLegLeft 4.8s ease-in-out infinite; }
#legR { transform-origin: 177px 379px; animation: mascotLegRight 4.8s ease-in-out infinite; }
#mascotGroundShadow { transform-origin: center; animation: mascotShadow 4.8s ease-in-out infinite; }

@keyframes mascotBreathing {
    0%, 100% { transform: translateY(0) rotate(-.4deg); }
    45% { transform: translateY(-7px) rotate(.5deg); }
    70% { transform: translateY(-3px) rotate(0); }
}

@keyframes mascotTorso {
    0%, 100% { transform: scale(1, 1); }
    45% { transform: scale(1.012, 1.02); }
}

@keyframes mascotWave {
    0%, 58%, 100% { transform: rotate(0deg); }
    66% { transform: rotate(-9deg); }
    73% { transform: rotate(7deg); }
    80% { transform: rotate(-7deg); }
    87% { transform: rotate(4deg); }
}

@keyframes mascotLegLeft { 0%,100% { transform: rotate(0) } 50% { transform: rotate(1.7deg) } }
@keyframes mascotLegRight { 0%,100% { transform: rotate(0) } 50% { transform: rotate(-1.7deg) } }
@keyframes mascotShadow { 0%,100% { transform: scaleX(1); opacity: .12 } 45% { transform: scaleX(.86); opacity: .08 } }

#guideBubble {
    font-family: "BYekan","B Yekan",Tahoma;
    color: #264437;
    background: rgba(255,255,255,.96);
    padding: 12px 18px;
    border-radius: 16px;
    border: 1px solid rgba(0, 101, 46, .16);
    box-shadow: 0 10px 28px rgba(0,55,25,.12);
    width: 245px;
    min-height: 46px;
    font-size: 15px;
    line-height: 1.75;
    text-align: center;
    direction: rtl;
    cursor: default;
    position: absolute;
    top: 78%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    transition: transform .3s ease, opacity .2s ease, box-shadow .3s ease;
}

#guideBubble.is-speaking {
    transform: translateX(-50%) translateY(-4px) scale(1.025);
    box-shadow: 0 14px 34px rgba(0,85,34,.17);
}

#guideBubble::after {
    content: "";
    position: absolute;
    top: -9px;
    left: 50%;
    width: 17px;
    height: 17px;
    background: #fff;
    border-top: 1px solid rgba(0,101,46,.16);
    border-left: 1px solid rgba(0,101,46,.16);
    transform: translateX(-50%) rotate(45deg);
}

#mouthNormal.talk { opacity: 0; }
#mouthOpen.talk { animation: mouthTalk .32s ease-in-out infinite alternate; }

#guideChar.is-excited #browL { transform: translateY(-4px) rotate(-4deg); transform-origin: 120px 80px; }
#guideChar.is-excited #browR { transform: translateY(-4px) rotate(4deg); transform-origin: 200px 80px; }
#browL, #browR { transition: transform .22s ease; }

@keyframes mouthTalk {
    from { opacity: .65; transform: scaleY(.75); transform-origin: 160px 170px; }
    to { opacity: 1; transform: scaleY(1.08); transform-origin: 160px 170px; }
}

@media (max-width: 767px) {
    #guideMascot { margin-top: 35px !important; min-height: 320px; }
    #guideChar { width: 205px; }
    #guideBubble { width: min(245px, 90vw); top: 75%; }
}

@media (prefers-reduced-motion: reduce) {
    #guideChar, #mascotBody, #armL, #legL, #legR, #mascotGroundShadow { animation: none !important; }
    #guideHead, .mascot-arm path, .mascot-arm circle { transition-duration: .01ms !important; }
}
.col-sm-6.text-center{
    margin-top:50px !important;
}




/* بخش خدمات */

.services-section{
    margin-top:60px;
    direction:rtl;
}

/* عنوان */

.section-title{
    font-size:22px;
    font-weight:bold;
    color:#005522;
    margin-bottom:20px;
    font-family: "BYekan","B Yekan",Tahoma;


}

/* کانتینر باکس ها */

.services-container{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    width:100%;
}

/* کارت */

.service-card{
    background:#ffffff;
    border:1px solid #dcdcdc;
    border-radius:10px;
    padding:22px;
    transition:all .25s ease;
    box-shadow:0 2px 6px rgba(0,0,0,0.08);
    min-height:220px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

/* عنوان کارت */

.service-card h3{
    font-size:18px;
    color:#005522;
    margin-bottom:10px;
        font-family: 'B Yekan', BYekan, Tahoma, Arial, sans-serif;


}

/* متن */

.service-card p{
    font-size:14px;
    line-height:1.9;
    color:#333;
    text-align:justify;
}

/* دکمه */

.service-btn{
    display:inline-block;
    margin-top:15px;
    padding:8px 16px;
    background:#ffffff;
    border:1px solid #005522;
    color:#005522;
    border-radius:6px;
    text-decoration:none;
    font-size:14px;
    transition:all .25s;
justify-content:center;
align-items:center;
text-align:center;
}

/* هاور کارت */

.service-card:hover{
    border-color:#005522;
    box-shadow:0 6px 16px rgba(0,0,0,0.15);
    transform:translateY(-4px);
}

/* هاور دکمه */

.service-card:hover .service-btn{
    background:#005522;
    color:#ffffff;
}

/* تبلت */

@media (max-width:1100px){
    .services-container{
        grid-template-columns:repeat(2,1fr);
    }
}

/* موبایل */

@media (max-width:768px){
    .services-container{
        grid-template-columns:1fr;
    }
}


.navbar-form{
    position: relative;
}

.custom-search-group{
    width:180px;
    transition: width .4s;
}

.custom-search-group:focus-within{
    position:relative;
    right:auto;
    width:240px;
    z-index:1000;
}





.comments-section{
        font-family: "BYekan","B Yekan",Tahoma;

margin-top:50px;
padding:20px;
direction:rtl;
max-width:800px;
margin-left:auto;
margin-right:auto;
    text-align:right;
    direction:rtl;

}

.comments-title{
 font-size:22px;
    font-weight:bold;
    color:#005522;
    margin-bottom:20px;
    font-family: "BYekan","B Yekan",Tahoma;

}

.comment-card{
        font-family: "BYekan","B Yekan",Tahoma;

background:#ffffff;
border-radius:14px;
padding:20px;
margin-bottom:18px;
box-shadow:0 6px 18px rgba(0,0,0,0.08);
border:1px solid #eee;
transition:0.3s;
    text-align:right;
    direction:rtl;

}

.comment-card:hover{
transform:translateY(-4px);
box-shadow:0 10px 22px rgba(0,0,0,0.12);
}

.comment-header{
display:flex;
align-items:center;
gap:12px;
margin-bottom:12px;
}

.comment-avatar{
width:40px;
height:40px;
background:#0b7a3e;
color:white;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
font-size:16px;
}

.comment-user-info{
text-align:right;
}

.comment-user{
font-weight:700;
color:#0b7a3e;
font-size:15px;
}

.comment-date{
font-size:12px;
color:#888;
}

.comment-text{
font-size:14px;
line-height:1.9;
color:#333;
text-align:right;
margin-top:10px;
}

.admin-reply{
margin-top:15px;
padding:12px;
background:#f1f8f4;
border-right:4px solid #0b7a3e;
border-radius:8px;
font-size:14px;
text-align:right;
direction:rtl;
}


#cardnum{
direction:ltr !important;
text-align:center;
letter-spacing:3px;
font-family:Tahoma,Arial,monospace;
}

#expdate{
direction:ltr !important;
text-align:center;
}


.site-message{
background:#f4fff8;
border-right:3px solid #0a905a;
color:#005522;
padding:10px 15px;
border-radius:5px;
box-shadow:0 4px 15px rgba(0,85,34,0.19);
margin-top:10px;
transition:all 0.3s;
}
.remove-item {
    color:#e74c3c;
    font-size: 20px;
    cursor: pointer;
    font-weight: bold;
    display: inline-block;
    padding: 5px;
    line-height: 1;
    transition: color 0.2s ease-in-out;
}

.remove-item:hover {
    color:#c0392b;
    text-decoration: none;
}


@media (max-width: 768px) {
    /* مخفی کردن هدر جدول */
    #tbody-parent table thead {
        display: none;
    }

    #tbody tr {
        display: block;
        border: 1px solid #e1e1e1;
        border-radius: 12px;
        margin-bottom: 15px;
        padding: 10px;
        background: #fff;
        box-shadow: 0 2px 5px rgba(0,0,0,0.05);
        position: relative;
    }

    #tbody td {
        display: block;
        text-align: right !important;
        border: none !important;
        padding: 5px 0 !important;
        width: 100% !important;
    }

    /* شماره ردیف */
    #tbody td:first-child {
        font-weight: bold;
        color: #888;
        font-size: 12px;
        border-bottom: 1px transition #eee !important;
        margin-bottom: 5px;
    }

    /* نام محصول */
    #tbody td:nth-child(2) {
        font-size: 15px;
        font-weight: bold;
        color: #333;
        margin-bottom: 8px;
    }

    /* قیمت */
    #tbody td:nth-child(3) {
        color: #27ae60;
        font-size: 16px;
    }
    #tbody td:nth-child(3)::after {
        content: " تومان";
        font-size: 12px;
    }

    /* دکمه حذف */
    #tbody td:last-child {
        position: absolute;
        top: 10px;
        left: 10px;
        width: auto !important;
    }
    
    .remove-item {
        background: #ffeded;
        color: #e74c3c;
        padding: 5px 10px;
        border-radius: 50%;
        cursor: pointer;
    }

    /* استایل فوتر (مجموع) */
    tfoot tr {
        display: block;
        border: none;
        background: #f9f9f9 !important;
        border-radius: 10px;
        padding: 15px;
    }
    tfoot td {
        display: block;
        width: 100% !important;
        text-align: center !important;
        font-size: 18px !important;
    }
}

#cartMessage{
position:fixed;
top:20px;
left:50%;
transform:translateX(-50%);
background:#28a745;
color:#fff;
padding:12px 22px;
border-radius:8px;
display:none;
z-index:9999;
font-family:tahoma;
box-shadow:0 4px 15px rgba(0,0,0,0.2);
}
.dropdown-submenu{
position:relative;
}

.dropdown-submenu>.dropdown-menu{
top:0;
right:100%;
left:auto;
margin-top:-1px;
display:none;
}

.dropdown-submenu:hover>.dropdown-menu{
display:block;
}

/* ۱. تنظیمات عمومی جدول - حذف محدودیت‌های سخت‌گیرانه */
.mydownload-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 12px !important;
    background: transparent !important;
    table-layout: auto !important; /* اجازه به مرورگر برای تنظیم هوشمند عرض */
}

.mydownload-table tr {
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
    border-radius: 12px !important;
}

.mydownload-table td, .mydownload-table th {
    padding: 12px 8px !important;
    vertical-align: middle !important;
    text-align: center !important;
    border: none !important;
}

/* ۲. تنظیم دقیق ستون‌ها برای باز شدن فضای عنوان */
.mydownload-table th:nth-child(1), .mydownload-table td:nth-child(1) { width: 40px !important; } /* ردیف */
.mydownload-table th:nth-child(2), .mydownload-table td:nth-child(2) { width: 100px !important; } /* نوع */
.mydownload-table th:nth-child(3), .mydownload-table td:nth-child(3) { text-align: right !important; } /* عنوان - بازترین حالت */
.mydownload-table th:nth-child(4), .mydownload-table td:nth-child(4) { width: 100px !important; white-space: nowrap; } /* تاریخ */
.mydownload-table th:nth-child(5), .mydownload-table td:nth-child(5) { width: 170px !important; } /* دکمه */

/* ۳. استایل دکمه‌ها (بدون تغییر در ظاهر مورد تایید شما) */
.mydownload-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 155px !important;
    height: 40px !important;
    background-color: #005522 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-decoration: none !important;
}

.mydownload-btn:hover { background-color: #696969 !important; color: #fff !important; }
.mydownload-btn i { margin-left: 8px; }

/* ۴. اصلاح ناوبار (بدون تغییر در ظاهر مورد تایید شما) */
.user-footer { padding: 15px !important; }
.user-footer .download-btn {
    display: block !important; width: 100% !important; margin-bottom: 12px !important;
    padding: 10px !important; background-color: #f1fcf4 !important;
    color: #005522 !important; border: 1.5px solid #005522 !important;
    border-radius: 8px !important; text-align: center !important; font-weight: bold !important;
}
/* استایل هاور برای لینک منوی موبایل */
/* استایل اختصاصی هاور برای دکمه دانلودهای من در منوی پروفایل */
.user-footer .user-btn.download-btn:hover {
    background-color: #696969 !important;
    color: #ffffff !important;
    border-color: #696969 !important;
}

/* ۵. حل مشکل موبایل (تصویر دوم شما) */
@media screen and (max-width: 768px) {
    .mydownload-table thead { display: none !important; } /* حذف سرتیتر برای جا باز شدن */
    
    .mydownload-table, .mydownload-table tbody, .mydownload-table tr, .mydownload-table td {
        display: block !important;
        width: 100% !important;
    }

    .mydownload-table tr {
        margin-bottom: 20px !important;
        padding: 10px !important;
        border: 1px solid #eee !important;
    }

    .mydownload-table td {
        text-align: right !important;
        padding: 8px 10px !important;
        position: relative;
        display: flex !important;
        justify-content: space-between;
        align-items: center;
    }

    /* اضافه کردن عنوان ستون در کنار محتوا در موبایل */
    .mydownload-table td:nth-child(1):before { content: "ردیف:"; font-weight: bold; }
    .mydownload-table td:nth-child(2):before { content: "نوع:"; font-weight: bold; }
    .mydownload-table td:nth-child(3):before { content: "عنوان:"; font-weight: bold; }
    .mydownload-table td:nth-child(4):before { content: "تاریخ:"; font-weight: bold; }
    
    .mydownload-table td:last-child {
        justify-content: center !important;
        border-top: 1px solid #f5f5f5;
        margin-top: 10px;
    }
}

/* پیام هشدار چت */
.illegal-chat-alert{
    background:#fff2f2;
    border:1px solid #ffcfcf;
    color:#d93025;
    padding:12px;
    border-radius:8px;
    margin-bottom:12px;
    font-size:13px;
    display:flex;
    align-items:center;
    gap:8px;
    animation:illegalShake 0.4s;
}

.illegal-icon{
    font-size:18px;
}

.illegal-text strong{
    display:block;
    margin-bottom:3px;
}

/* انیمیشن تکان */
@keyframes illegalShake{
    0%{transform:translateX(0)}
    25%{transform:translateX(4px)}
    50%{transform:translateX(-4px)}
    75%{transform:translateX(4px)}
    100%{transform:translateX(0)}
}

/* هشدار هنگام تایپ */
.chat-warning{
    color:#d93025;
    font-size:12px;
    margin-top:4px;
    display:none;
}

.chat-warning.show{
    display:block;
}

.chat-input-warning{
    border-color:#d93025 !important;
    background:#fff5f5 !important;
}
/* استایل کلی برای دروس */
.teacher-subjects {
    font-size: 14px;
}

.subject-item {
    display: block; /* باعث می‌شود هر درس حتماً در یک خط جدید باشد */
    padding: 2px 0;
    color: #444;
}

/* تنظیمات مخصوص موبایل */
@media (max-width: 768px) {
    .teacher-card {
        display: flex;
        flex-direction: column; /* عکس بالا، متن پایین */
        align-items: center;
        text-align: center !important;
    }
    
    .teacher-photo {
        float: none !important;
        margin: 0 0 15px 0 !important;
    }
    
    .teacher-info {
        width: 100%;
    }

    .teacher-name {
        margin-bottom: 10px;
        font-size: 19px;
    }
}

.cart-notification {
    visibility: hidden;
    min-width: 280px;
    background-color: #28a745; /* سبز سبد خرید */
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 15px;
    position: fixed;
    z-index: 10000;
    left: 50%;
    top: 30px;
    transform: translateX(-50%);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    font-weight: bold;
    direction: rtl;
}
.cart-notification.show {
    visibility: visible;
    -webkit-animation: fadein 0.5s, fadeout 0.5s 3.5s;
    animation: fadein 0.5s, fadeout 0.5s 3.5s;
}
@-webkit-keyframes fadein { from {top: 0; opacity: 0;} to {top: 30px; opacity: 1;} }
@keyframes fadein { from {top: 0; opacity: 0;} to {top: 30px; opacity: 1;} }
@-webkit-keyframes fadeout { from {top: 30px; opacity: 1;} to {top: 0; opacity: 0;} }
@keyframes fadeout { from {top: 30px; opacity: 1;} to {top: 0; opacity: 0;} }

/* --- بخش اختصاصی صفحه جستجو (جلوگیری از تداخل) --- */
/* --- بخش پایه و مشترک جستجو (حفظ شده از قبل) --- */
/* =========================
   تنظیم رنگ های اصلی سایت
========================= */

:root{
    --site-red:#d60000;
    --site-green:#005522;
}

/* =========================
   کارت نتایج جستجو
========================= */

.search-page-container .search-card{
    background:#f8f9fa;
    border:1px solid #ddd;
    margin-bottom:20px;
    border-radius:6px;
    overflow:hidden;
    transition:all .3s ease;
}

.search-page-container .search-card:hover{
    transform:translateY(-3px);
    box-shadow:0 6px 15px rgba(0,0,0,.08);
}

/* =========================
   نوار اطلاعات
========================= */

.search-page-container .info-bar{
    display:flex;
    flex-wrap:wrap;
    flex-direction:row-reverse;
    gap:15px;
    padding:12px 15px;
    background:#fff;
    border-bottom:1px solid #eee;
}

.search-page-container .info-bar div{
    font-size:13px;
    color:#333;
    font-family:'B Yekan',sans-serif;
}

.search-page-container .info-bar b{
    color:#005522;
    margin-left:3px;
}

/* =========================
   دکمه ها
========================= */

.search-page-container .action-bar{
    display:flex;
    direction:ltr;
    justify-content:flex-start;
    padding:10px 15px;
    gap:10px;

}

.search-page-container .btn-search-action {
    direction: rtl;
    height: 45px;
    min-width: 155px;
    padding: 0 24px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    font-size: 14px;
    font-weight: bold;
    font-family: 'B Yekan', sans-serif;

    border: none;
    border-radius: 6px;

    cursor: pointer;
    text-decoration: none;
    line-height: 45px;

    transition: all .25s ease;
    box-sizing: border-box;
}

/* دکمه دانلود */

.search-page-container .btn-download-red{
    background:var(--site-red);
    color:#fff;
}

.search-page-container .btn-download-red:hover{
    background:#696969;
    transform:translateY(-2px);
}

/* دکمه خرید */

.search-page-container .btn-buy-green{
    background:var(--site-green);
    color:#fff;
}

.search-page-container .btn-buy-green:hover{
    background:#696969;
    transform:translateY(-2px);
}

/* دکمه جزئیات */

.search-page-container .btn-detail-dark{
    background:var(--site-red);
    color:#fff;
}

.search-page-container .btn-detail-dark:hover{
    background:#696969;
}


/* =========================
   لیبل نوع گام به گام
========================= */

.search-page-container .type-label{
    color:var(--site-red);
    font-weight:bold;
}

/* =========================
   کارت گام به گام
========================= */

.search-page-container .step-card-body{
    display:flex;
    flex-direction:row-reverse;
    gap:15px;
    padding:15px;
    background:#fff;
    align-items:center;
}

.search-page-container .step-card-image{
    width:140px;
    height:140px;
    min-width:140px;
    border-radius:10px;
    overflow:hidden;
    border:1px solid #eee;
}

.search-page-container .step-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.search-page-container .step-card-content{
    flex:1;
}

/* =========================
   کارت استاد
========================= */

.search-page-container .teacher-card-custom{
    background:#fff;
    font-family:'B Yekan',sans-serif;
    border-radius:10px;
    border:1px solid #e0e0e0;
    padding:20px;
    margin-bottom:20px;
    display:flex;
    flex-direction:row-reverse;
    align-items:center;
    gap:20px;
    position:relative;
    transition:.3s;
}

.search-page-container .teacher-card-custom:hover{
    box-shadow:0 6px 18px rgba(0,0,0,.08);
    transform:translateY(-3px);
}

.teacher-card-custom .t-img-container{
    width:140px;
    height:140px;
    min-width:140px;
    border-radius:10px;
    overflow:hidden;
    border:1px solid #eee;
}

.teacher-card-custom .t-img-container img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.teacher-card-custom .t-content{
    flex:1;
    padding-right:25px;
    text-align:right;
}

.teacher-card-custom .t-content h3{
    margin:0 0 10px 0;
    color:var(--site-red);
    font-size:18px;
}

/* باکس لایک استاد */

.search-page-container .teacher-like-box{
    position:absolute;
    top:12px;
    left:12px;
    background:#fff;
    border-radius:18px;
    padding:4px 10px;
    display:flex;
    align-items:center;
    gap:6px;
    border:1px solid #eee;
    box-shadow:0 2px 5px rgba(0,0,0,.06);
    font-size:12px;
}

.search-page-container .teacher-like-box i{
    color:var(--site-red);
}

.search-page-container .teacher-action-row{
    display:flex;
    gap:10px;
    margin-top:15px;
    flex-wrap:wrap;
}

/* =========================
   کارت ویدیو
========================= */

.video-desc-container{
    display:flex;
    flex-direction:row-reverse;
    align-items:flex-start;
    padding:15px;
    background:#fff;
    gap:15px;
}

.video-thumb-small{
    width:150px;
    height:100px;
    min-width:150px;
    overflow:hidden;
    border-radius:6px;
    border:1px solid #eee;
}

.video-thumb-small img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.video-text-content{
    flex:1;
    text-align:right;
    font-size:13px;
    color:#555;
    line-height:1.8;
}

/* =========================
   ریسپانسیو موبایل
========================= */

@media (max-width:768px){

    .search-page-container .action-bar{
        flex-direction:column;
        direction:rtl;
        padding:10px;
    }

 
    .search-page-container .info-bar{
        flex-direction:column;
        align-items:flex-end;
        gap:8px;
    }

    .teacher-card-custom{
        flex-direction:column;
        text-align:center;
    }

    .teacher-card-custom .t-content{
        padding-right:0;
        margin-top:15px;
    }

    .video-desc-container{
        flex-direction:column;
        align-items:center;
    }

    .video-thumb-small{
        width:100%;
        height:auto;
    }

}

/* =========================
   QANDA MODULE (isolated)
   ========================= */

.qanda-container{
    direction: rtl;
    text-align: right;
}

.qanda-box-top{
    border-top:3px solid #006430 !important;
}

.qanda-header-green{
    background:#006430 !important;
    color:#fff !important;
}

.qanda-best-label{
    background:#f39c12;
    color:#fff;
    padding:4px 10px;
    border-radius:3px;
    font-size:12px;
}

.qanda-like-btn{
    border:1px solid #006430;
    color:#006430;
    background:#fff;
}

.qanda-like-btn:hover{
    background:#006430;
    color:#fff;
}

.qanda-answer-text{
    background:#f9f9f9;
}

.qanda-input-rtl{
    direction:rtl;
    text-align:right;
}
    /* اصلاح دکمه‌ها فقط در موبایل */
@media (max-width:768px){

.qanda-btn-group{
float:none !important;
display:flex;
gap:8px;
}

.qanda-btn-group .btn{
flex:1;
}

.qanda-like-btn{
width:100%;
margin-top:5px;
}

}

/* اصلاح دکمه در موبایل */
@media (max-width: 768px) {
    .qanda-main-btn {
        display: block !important;
        width: 100% !important;
        white-space: normal !important; /* این ویژگی باعث می‌شود متن شکسته شود و از دکمه بیرون نزند */
        text-align: center;
        padding: 12px 10px !important;
        font-size: 14px !important;
        margin-bottom: 20px !important;
        height: auto !important; /* ارتفاع دکمه با متن هماهنگ شود */
    }
    
    /* اطمینان از اینکه ستون‌ها در موبایل زیر هم می‌افتند */
    .col-xs-12 {
        width: 100% !important;
        float: none !important;
    }
}

/* اصلاح تراز متن در دسکتاپ برای سایدبار */
@media (min-width: 769px) {
    .pull-right { float: right !important; }
    .pull-left { float: left !important; }
}
.like-btn:hover {
    transform: scale(1.2);
    background-color: #fff !important;
}
.like-btn:active {
    transform: scale(0.9);
}
/* رفع تداخل احتمالی فونت در اعداد لایک */
.like-btn span {
    line-height: 1;
}

/* پیشنهاد تغییر مکان */
.like-container {
    position: absolute;
    bottom: 8px; /* تغییر از بالا به پایین */
    right: 8px;
    z-index: 10;
}
/* ==============================
BOOKLET LIST
==============================*/

.booklet-list{
direction:rtl;
font-family:'B Yekan',Tahoma;
}

.booklet-item{

display:flex;
gap:20px;

background:#fff;
border:1px solid #e5e5e5;
border-right:5px solid #006430;

padding:18px;
margin-bottom:18px;

border-radius:6px;

transition:all .25s;
}

.booklet-item:hover{
box-shadow:0 3px 10px rgba(0,0,0,.08);
}

.booklet-cover img{

width:120px;
height:160px;

object-fit:cover;

border-radius:4px;
border:1px solid #eee;
}

.booklet-info{
flex:1;
text-align:right;
}

.booklet-title{

font-size:18px;
font-weight:bold;
margin-bottom:8px;
color:#333;
}

.booklet-meta{

font-size:13px;
color:#666;

display:flex;
flex-wrap:wrap;

gap:12px;
margin-bottom:10px;
}

.booklet-meta span b{
color:#006430;
}

.booklet-desc{

font-size:14px;
line-height:1.9;
color:#555;
margin-bottom:10px;
}

.booklet-price{

font-size:15px;
font-weight:bold;
margin-bottom:12px;
}

.booklet-price.free{
color:#e53935;
}

.booklet-price.paid{
color:#006430;
}

.booklet-actions button,
.booklet-actions a{

padding:7px 22px;
border-radius:40px;

font-size:14px;
border:none;
cursor:pointer;
}
/* دکمه خرید - سبز تیره */
.booklet-buy {
    background: #006430 !important;
    transition: all 0.3s ease;
}
.booklet-buy:hover {
    background: #004d25 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.3) !important;
}

/* دکمه رایگان - قرمز */
.booklet-free {
    background: #e53935 !important;
    transition: all 0.3s ease;
}
.booklet-free:hover {
    background: #c62828 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.3) !important;
    color: #fff !important;
}


/* ==============================
CART PAGE
==============================*/

.cart-main-wrapper{
direction:rtl;
font-family:'B Yekan',Tahoma;
}

.table>thead>tr>th{
text-align:center;
}

#tbody tr td:nth-child(2){
text-align:right;
}

.cart-alert{
margin-top:10px;
}

.payment-summary{

font-family:'B Yekan';
text-align:center;
}

.payment-summary th{

text-align:center;
background:#f5f5f5;
}

.payment-summary td{
font-size:18px;
}

.payment-empty-cart-warning{

text-align:center;
padding:20px;
background:#fff3cd;
border-radius:6px;
}

.cart-login-warning{

font-family:'B Yekan';
border:1px solid #ffd4d4;
}
   .btn-custom-booklet {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        height: 42px !important;
        border-radius: 5px !important;
        font-family: 'B Yekan', Tahoma !important;
        font-weight: 900 !important; /* بسیار ضخیم مشابه ایندکس */
        font-size: 15px !important;
        text-decoration: none !important;
        padding: 0 20px !important;
        border: none !important;
        color: #ffffff !important;
        text-shadow: 1px 1px 2px rgba(0,0,0,0.5) !important; /* سایه متن برای وضوح */
        box-shadow: 0 3px 6px rgba(0,0,0,0.2) !important; /* برجستگی دکمه */
        transition: all 0.3s ease !important;
        cursor: pointer;
    }

    /* رنگ سبز درخواستی شما */
    .btn-green-new {
        background-color: #005522 !important;
    }

    /* رنگ قرمز برای رایگان */
    .btn-red-new {
        background-color: #e53935 !important;
    }

    /* حالت هاور درخواستی شما (696969) */
    .btn-custom-booklet:hover {
        background-color: #696969 !important;
        transform: translateY(-2px) !important;
        color: #fff !important;
    }
      .btn-custom-teacher {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        height: 42px !important;
        border-radius: 6px !important;
        font-family: 'B Yekan', Tahoma !important;
        font-weight: 900 !important; /* فوق ضخیم مشابه ایندکس */
        font-size: 15px !important;
        padding: 0 25px !important;
        border: none !important;
        color: #ffffff !important;
        text-shadow: 1px 1px 2px rgba(0,0,0,0.5) !important; /* سایه متن برای وضوح بالا */
        box-shadow: 0 3px 6px rgba(0,0,0,0.2) !important; /* عمق دکمه */
        transition: all 0.3s ease !important;
        cursor: pointer;
        text-decoration: none !important;
    }

    /* رنگ سبز درخواستی شما برای دکمه حضوری */
    .btn-green-teacher {
        background-color: #005522 !important;
    }

    /* رنگ آبی برای دکمه آنلاین (هماهنگ با تم اینفو) */
    .btn-online-teacher {
        background-color: #005522 !important;
    }

    /* حالت هاور (Hover) خاکستری درخواستی شما */
    .btn-custom-teacher:hover {
        background-color: #696969 !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 5px 10px rgba(0,0,0,0.3) !important;
        color: #fff !important;
    }

    /* تنظیم فاصله در موبایل */
    @media (max-width: 768px) {
        .action-buttons {
            width: 100%;
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }
    }




    /* =========================
   QUIZ LIST PAGE
========================= */
/* =========================
   QUIZ SYSTEM - MODERN GREEN THEME
========================= */

/* Header & General */
.quiz-page-header { font-family: 'B Yekan', Tahoma; color: #005522; border-bottom: 2px solid #005522; padding-bottom: 10px; margin-bottom: 25px; font-size: 26px; font-weight: 700; display: flex; align-items: center; }
.quiz-page-header i { margin-left: 10px; }

/* Quiz Banner (Title Box) */
.quiz-banner { background: linear-gradient(135deg, #005522 0%, #0a7a35 100%); color: white; padding: 30px; border-radius: 15px; margin-bottom: 30px; box-shadow: 0 4px 15px rgba(0,85,34,0.2); }
.quiz-banner h2 { font-family: 'B Yekan'; margin: 0 0 10px 0; font-weight: bold; }
.quiz-banner p { opacity: 0.9; margin: 0; font-size: 15px; }

/* Question Box */
.question-box {
    background: #ffffff;
    border: 2px solid #edf4ef;
    border-radius: 20px;
    padding: 30px 32px;
    margin-bottom: 34px;
    position: relative;
    transition: all 0.35s ease;
    box-shadow: 0 6px 18px rgba(0, 85, 34, 0.07);
    direction: rtl;
    overflow: visible;
                font-family: "BYekan","B Yekan",Tahoma;

}

.question-box:hover {
    border-color: #005522;
    transform: translateY(-5px);
    box-shadow: 0 10px 28px rgba(0, 85, 34, 0.28);
}

.question-box::before {
    content: "";
    position: absolute;
    right: 0;
    top: 26px;
    width: 5px;
    height: calc(100% - 52px);
    background: #005522;
    border-radius: 20px 0 0 20px;
    opacity: 0.95;
}

.question-box::after {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 17px;
    border: 1px solid rgba(0, 85, 34, 0.05);
    pointer-events: none;
}

.q-number {
    position: absolute;
    right: -18px;
    top: -18px;
    background: linear-gradient(135deg, #005522, #087a35);
    color: #ffffff;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 19px;
    box-shadow: 0 8px 18px rgba(0, 85, 34, 0.38);
    transform: rotate(-8deg);
    z-index: 3;
}

.question-box:hover .q-number {
    transform: rotate(0deg) scale(1.05);
    box-shadow: 0 10px 24px rgba(0, 85, 34, 0.5);
}

.question-text {
    font-weight: bold;
    line-height: 2;
    margin-bottom: 28px;
    color: #263238;
    font-size: 17px;
    padding-right: 24px;
    padding-left: 8px;
            font-family: "BYekan","B Yekan",Tahoma;

}

/* Options */



/* Action Buttons */
.btn-quiz-submit { background: #005522; color: #fff; padding: 15px 50px; font-size: 18px; border-radius: 50px; border: none; font-family: 'B Yekan'; transition: 0.3s; box-shadow: 0 5px 15px rgba(0,85,34,0.3); }
.btn-quiz-submit:hover { background: #003d1a; color: #fff; transform: scale(1.05); }

/* List Cards */
.quiz-card { background: #fff; border-radius: 16px; padding: 20px; margin-bottom: 18px; border: 1px solid #e2efe6; transition: all .3s ease; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 4px 12px rgba(0,85,34,0.08); position: relative; direction: rtl; }
.quiz-card:before { content: ""; position: absolute; right: 0; top: 0; width: 5px; height: 100%; background: #005522; border-radius: 0 16px 16px 0; }
.quiz-card:hover { transform: translateY(-5px); box-shadow: 0 16px 30px rgba(0,85,34,0.18); border-color: #005522; }
.quiz-title { margin: 0 0 8px 0; font-family: 'B Yekan'; color: #005522; font-size: 20px; font-weight: 700; }
.quiz-meta { font-size: 13px; color: #666; }
.quiz-meta span { margin-left: 15px; display: inline-flex; align-items: center; }
.quiz-meta i { margin-left: 6px; color: #005522; }
.quiz-badge { padding: 5px 12px; border-radius: 30px; font-size: 12px; font-weight: bold; }
.badge-free { background: #e9f7ef; color: #005522; border: 1px solid #cde9d7; }
.badge-premium { background: #fff6df; color: #8a5a00; border: 1px solid #f1d389; }
.btn-quiz-start { background: #005522; color: #fff; border-radius: 10px; padding: 10px 22px; font-family: 'B Yekan'; transition: .3s; border: none; text-decoration: none; }
.btn-quiz-start:hover { background: #003d1a; color: #fff; box-shadow: 0 6px 16px rgba(0,85,34,.3); }





@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.btn-check-answer {
    background-color: #005522;
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 8px;
    margin-top: 10px;
    cursor: pointer;
    font-family: 'B Yekan';
    transition: 0.3s;
}

.btn-check-answer:hover {
    background-color: #003d1a;
}
.payment-fail-page {
        direction: rtl;
        min-height: 520px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 40px 15px;
        font-family: inherit;
    }

    .payment-fail-card {
        width: 100%;
        max-width: 650px;
        background: #ffffff;
        border-radius: 22px;
        box-shadow: 0 15px 45px rgba(0, 0, 0, 0.10);
        overflow: hidden;
        text-align: center;
        position: relative;
    }

    .payment-fail-card::before {
        content: "";
        display: block;
        height: 7px;
        background: linear-gradient(90deg, #e74c3c, #ff7675, #f39c12);
    }

    .payment-fail-content {
        padding: 45px 35px 38px;
    }

    .payment-fail-icon-wrap {
        width: 105px;
        height: 105px;
        margin: 0 auto 22px;
        border-radius: 50%;
        background: rgba(231, 76, 60, 0.10);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .payment-fail-icon {
        color: #e74c3c;
        font-size: 72px;
        line-height: 1;
    }

    .payment-fail-title {
        margin: 0 0 14px;
        color: #2c3e50;
        font-size: 28px;
        font-weight: 800;
    }

    .payment-fail-message {
        color: #666;
        font-size: 16px;
        line-height: 2;
        margin: 0 auto 22px;
        max-width: 520px;
    }

    .payment-warning-box {
        background: #fff8e1;
        color: #7a5a00;
        border: 1px solid #ffe08a;
        border-radius: 14px;
        padding: 16px 18px;
        font-size: 14px;
        line-height: 2;
        margin: 25px auto;
        max-width: 540px;
    }

    .payment-warning-box i {
        margin-left: 6px;
        color: #f39c12;
    }

    .payment-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
        margin-top: 30px;
    }

    .payment-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-width: 165px;
        min-height: 46px;
        padding: 12px 22px;
        border-radius: 999px;
        font-size: 15px;
        font-weight: 700;
        text-decoration: none !important;
        transition: all 0.2s ease;
        border: none;
        outline: none;
        white-space: nowrap;
    }

    .payment-btn:hover,
    .payment-btn:focus {
        transform: translateY(-2px);
        text-decoration: none !important;
    }

    .payment-btn-retry {
        background: #27ae60;
        color: #fff !important;
        box-shadow: 0 8px 18px rgba(39, 174, 96, 0.25);
    }

    .payment-btn-retry:hover {
        background: #219653;
        color: #fff !important;
    }

    .payment-btn-back {
        background: #f39c12;
        color: #fff !important;
        box-shadow: 0 8px 18px rgba(243, 156, 18, 0.25);
    }

    .payment-btn-back:hover {
        background: #e08e0b;
        color: #fff !important;
    }

    .payment-btn-home {
        background: #ecf0f1;
        color: #34495e !important;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
    }

    .payment-btn-home:hover {
        background: #dfe6e9;
        color: #2c3e50 !important;
    }

    .payment-help-text {
        margin-top: 25px;
        color: #999;
        font-size: 13px;
        line-height: 1.9;
    }

    @media (max-width: 576px) {
        .payment-fail-page {
            padding: 25px 10px;
            align-items: flex-start;
        }

        .payment-fail-content {
            padding: 35px 20px 30px;
        }

        .payment-fail-icon-wrap {
            width: 88px;
            height: 88px;
            margin-bottom: 18px;
        }

        .payment-fail-icon {
            font-size: 60px;
        }

        .payment-fail-title {
            font-size: 23px;
        }

        .payment-fail-message {
            font-size: 15px;
        }

        .payment-actions {
            flex-direction: column;
            gap: 10px;
        }

        .payment-btn {
            width: 100%;
            min-width: unset;
        }
    }


    .quiz-breadcrumb{
    direction: rtl;
    background: #ffffff;
    border-right: 4px solid #008542;
    padding: 12px 18px;
    margin: 10px 0 25px 0;
    border-radius: 8px;
    font-family: 'B Yekan', Tahoma, Arial;
    font-size: 15px;
    color: #333;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.quiz-breadcrumb span{
    color: #006b35;
    font-weight: bold;
}

.quiz-breadcrumb strong{
    color: #999;
    margin: 0 8px;
}




.quiz-info {
    flex: 1;
}

.quiz-action {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 140px;
    position: relative;
    z-index: 5;
}


.quiz-btn-login {
    background: #005522;
}

.quiz-btn-buy {
    background: #005522;
}

.quiz-btn-start {
    background: #005522;
}

.quiz-btn:hover {
    opacity: 0.9;
    color: #fff !important;
}


/* اصلاح دکمه برای موبایل */
@media (max-width: 768px) {
    .btn-success {
        width: 100%; /* دکمه در موبایل تمام‌عرض شود تا راحت‌تر لمس شود */
        padding: 15px !important;
        font-size: 18px !important;
    }
    
    .question-box {
        padding: 20px 15px; /* کاهش فاصله داخلی باکس برای فضای بیشتر متن */
    }

    /* جلوگیری از بیرون زدن دکمه یا متن از کادر */
    .content-wrapper {
        padding-left: 10px;
        padding-right: 10px;
    }
}
/* کارت آزمون آنلاین */
/* ================================
   Search Quiz Cards
================================ */
/* --- Quiz Card UI --- */
.quiz-card-custom {
    background: #fff;
    border: 1px solid #dce4e8;
    border-radius: 15px;
    margin-bottom: 30px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.06);
    font-family: 'B Yekan', Tahoma, sans-serif;
    direction: rtl;
    overflow: hidden;
}

.quiz-card-header {
    display: flex;
    justify-content: space-between;
    padding: 20px;
    background: #fcfcfc;
    border-bottom: 1px solid #f1f4f6;
}

.quiz-title {
    font-size: 21px;
    font-weight: bold;
    color: #1a1a1a;
    margin: 0 0 10px 0;
}

.quiz-meta { font-size: 13px; color: #777; }
.quiz-meta i { color: #005522; margin-left: 4px; }
.quiz-meta span { margin-left: 15px; }

/* Price Box in Header */
.quiz-header-left { text-align: left; }
.price-tag-box {
    background: #fff5f5;
    border: 1px dashed #e74c3c;
    padding: 5px 12px;
    border-radius: 8px;
    margin-bottom: 5px;
}
.p-label { font-size: 11px; color: #e74c3c; display: block; }
.p-value { font-size: 18px; font-weight: bold; color: #c0392b; }

.badge-premium-text { color: #d35400; font-size: 11px; font-weight: bold; }
.badge-free-green {
    background: #005522;
    color: #fff;
    padding: 6px 15px;
    border-radius: 50px;
    font-size: 12px;
}

/* Body & Options */
.quiz-card-body { padding: 25px 20px; }
.quiz-question-text {
    font-size: 17px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #2c3e50;
}
.q-icon {
    background: #005522;
    color: #fff;
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    margin-left: 10px;
}

.quiz-options-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.quiz-opt-item {
    background: #f8fafb;
    border: 1px solid #e1e8ed;
    padding: 15px;
    border-radius: 10px;
    cursor: pointer;
    transition: 0.3s;
    font-size: 14px;
}
.quiz-opt-item:hover { border-color: #005522; background: #f0f7f2; }

/* Answer States */
.quiz-opt-item.is-correct-ans { background: #d4edda !important; border-color: #28a745 !important; color: #155724; }
.quiz-opt-item.is-wrong-ans { background: #f8d7da !important; border-color: #dc3545 !important; color: #721c24; }

.quiz-ans-feedback {
    margin-top: 20px;
    padding: 15px;
    border-radius: 10px;
    display: none;
    line-height: 1.8;
}

.quiz-card-footer {
    padding: 15px 20px;
    background: #f9fafb;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.btn-quiz-full {
    text-decoration: none !important;
    padding: 12px 30px;
    border-radius: 10px;
    font-weight: bold;
    font-size: 15px;
    border: none;
    cursor: pointer;
    transition: 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.btn-green-dark { background: #005522; color: #fff !important; }
.btn-orange { background: #e67e22; color: #fff !important; }
.btn-quiz-full:hover { opacity: 0.9; transform: translateY(-2px); }

.access-text {
    font-size: 13px;
    font-weight: bold;
    white-space: nowrap;
}

.access-text.unlocked { color: #005522; }
.access-text.locked { color: #e67e22; }
@media (max-width: 768px) {
    .quiz-options-grid { grid-template-columns: 1fr; }
    .quiz-card-header { flex-direction: column; gap: 15px; }
    .quiz-header-left { text-align: right; }

    .quiz-card-footer {
        flex-direction: column-reverse; /* دکمه بالا قرار بگیرد، متن پایین */
        text-align: center;
        padding: 20px;
    }
    .btn-quiz-full {
        width: 100%; /* دکمه در موبایل تمام عرض شود */
        justify-content: center;
    }
    .access-text {
        margin-bottom: 5px;
    }
}



/* Success Page Custom Styles */
.success-wrapper {
    background: #fff;
    border-radius: 20px;
    padding: 60px 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    border: 1px solid #f0f0f0;
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

.success-icon-box {
    width: 100px;
    height: 100px;
    background: #eafaf1;
    color: #2ecc71;
    font-size: 50px;
    line-height: 100px;
    border-radius: 50%;
    margin: 0 auto 25px;
    display: block;
    animation: scaleIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}






/* ===================================================
   QUIZ UI - MODERN GREEN THEME
   =================================================== */

.quiz-page-header,
.quiz-title,
.quiz-meta,
.quiz-btn,
.option-item,
.btn-check-answer,
.btn-quiz-submit,
.quiz-result-box,
.result-stat-card,
#timer {
    font-family: 'B Yekan', Tahoma, sans-serif !important;
}

/* ===================================================
   QUIZ CARD
   =================================================== */

.quiz-card{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    background:#fff;
    border:1px solid #e5efe8;
    border-radius:18px;

    padding:22px;
    margin-bottom:20px;

    transition:all .28s ease;

    box-shadow:
    0 4px 12px rgba(0,85,34,.05);
}

.quiz-card::before{
    content:"";
    position:absolute;
    top:0;
    right:0;

    width:5px;
    height:100%;

    background:#005522;
    border-radius:0 18px 18px 0;
}

.quiz-card:hover{
    transform:translateY(-4px);

    border-color:#005522;

    box-shadow:
    0 14px 30px rgba(0,85,34,.14);
}

.quiz-title{
    margin:0 0 10px;
    font-size:20px;
    font-weight:700;
    color:#005522;
}

.quiz-meta{
    display:flex;
    flex-wrap:wrap;
    gap:12px;

    color:#666;
    font-size:13px;
}

.quiz-meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}

.quiz-meta i{
    color:#005522;
}

/* ===================================================
   BADGES
   =================================================== */

.quiz-badge{
    padding:6px 14px;
    border-radius:30px;
    font-size:12px;
    font-weight:bold;
}

.badge-free{
    background:#ecfdf3;
    color:#006b35;
    border:1px solid #ccebd7;
}

.badge-premium{
    background:#fff8e6;
    color:#8a5a00;
    border:1px solid #f4d489;
}

/* ===================================================
   BUTTONS
   =================================================== */

.quiz-btn,
.btn-quiz-submit,
.btn-check-answer{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    border:none;
    outline:none;
    text-decoration:none;

    background:linear-gradient(135deg,#005522,#007a33);
    color:#fff !important;

    border-radius:12px;

    cursor:pointer;

    transition:all .25s ease;

    box-shadow:
    0 6px 18px rgba(0,85,34,.22);
}

/* دکمه شروع آزمون */
.quiz-btn{
    padding:11px 24px;
    font-size:14px;
    min-width:130px;
}

/* دکمه اتمام آزمون */
.btn-quiz-submit{
    padding:15px 48px;
    font-size:18px;
    border-radius:50px;
}

/* دکمه بررسی پاسخ */
.btn-check-answer{
    padding:9px 22px;
    margin-top:12px;
    font-size:14px;
}

.quiz-btn:hover,
.btn-quiz-submit:hover,
.btn-check-answer:hover{
    background:linear-gradient(135deg,#003d1a,#005522);

    transform:
    translateY(-2px);

    box-shadow:
    0 12px 24px rgba(0,85,34,.30);
}

/* ===================================================
   OPTION ITEMS
   =================================================== */

.option-item{

    position:relative;

    display:flex;
    align-items:center;

    min-height:64px;

    padding:
    16px 58px 16px 20px;

    margin-bottom:15px;

    background:#fff;

    border:2px solid #edf2ee;
    border-radius:16px;

    cursor:pointer;

    color:#333;
    font-size:15px;

    transition:all .22s ease;

    box-shadow:
    0 4px 10px rgba(0,85,34,.04);
}

/* hover */

.option-item:hover{
    border-color:#005522;

    background:#f8fcf9;

    transform:translateX(-4px);

    box-shadow:
    0 10px 20px rgba(0,85,34,.12);
}

/* radio */

.option-item input{
    position:absolute;

    right:18px;
    top:50%;

    transform:translateY(-50%);

    width:20px;
    height:20px;

    accent-color:#005522;

    cursor:pointer;
}

/* dot */

.option-item::before{

    content:"";

    position:absolute;

    left:18px;
    top:50%;

    width:10px;
    height:10px;

    border-radius:50%;

    background:#005522;

    opacity:0;

    transform:
    translateY(-50%)
    scale(0);

    transition:all .25s ease;
}

.option-item:hover::before{
    opacity:1;

    transform:
    translateY(-50%)
    scale(1);
}

/* selected */

.option-item.selected{
    border-color:#005522;

    background:
    linear-gradient(
    90deg,
    rgba(0,85,34,.08),
    #fff
    );

    color:#005522;

    box-shadow:
    0 10px 24px rgba(0,85,34,.18);
}

.option-item.selected::before{
    opacity:1;

    transform:
    translateY(-50%)
    scale(1.15);
}

/* ===================================================
   CORRECT / WRONG STATES
   =================================================== */

.option-item.correct-opt{

    background:#f0fdf4 !important;

    border-color:#22c55e !important;

    color:#166534;

    box-shadow:
    0 8px 20px rgba(34,197,94,.14);
}

.option-item.wrong-opt{

    background:#fef2f2 !important;

    border-color:#ef4444 !important;

    color:#991b1b;

    box-shadow:
    0 8px 20px rgba(239,68,68,.14);
}

/* icon */

.feedback-icon{

    position:absolute;

    left:18px;
    top:50%;

    transform:translateY(-50%);

    width:24px;
    height:24px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;
    font-size:12px;

    animation:popIn .25s ease;
}

.correct-opt .feedback-icon{
    background:#22c55e;
}

.wrong-opt .feedback-icon{
    background:#ef4444;
}

/* ===================================================
   TIMER
   =================================================== */

#timer{

    position:fixed;

    top:90px;
    left:24px;

    z-index:9999;

    padding:12px 22px;

    border-radius:40px;

    background:
    linear-gradient(
    135deg,
    #005522,
    #007a33
    );

    color:#fff;

    font-size:15px;
    font-weight:bold;

    box-shadow:
    0 10px 25px rgba(0,85,34,.22);

    border:1px solid rgba(255,255,255,.12);
}

/* ===================================================
   MODERN DIALOG MODAL (مودال پیام و هشدارهای اختصاصی نیک‌اندیش)
   =================================================== */
.custom-modal-backdrop {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(5px);
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
}
.custom-modal-box {
    background: #fff;
    width: 95%;
    max-width: 440px;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 85, 34, 0.15);
    border: 1px solid #e2efe5;
    padding: 30px;
    text-align: center;
    direction: rtl;
    font-family: 'BYekan', 'B Yekan', Tahoma, sans-serif !important;
    transform: scale(0.9);
    transition: transform 0.3s ease;
}
.custom-modal-backdrop.active {
    display: flex;
}
.custom-modal-backdrop.active .custom-modal-box {
    transform: scale(1);
}
.custom-modal-icon {
    font-size: 50px;
    margin-bottom: 15px;
}
.custom-modal-icon.warning { color: #ff9800; }
.custom-modal-icon.success { color: #005522; }
.custom-modal-icon.error { color: #ef4444; }

.custom-modal-title {
    font-size: 20px;
    font-weight: bold;
    color: #1e293b;
    margin-top: 0;
    margin-bottom: 10px;
}
.custom-modal-text {
    font-size: 14px;
    color: #64748b;
    line-height: 1.8;
    margin-bottom: 20px;
}
.custom-modal-footer {
    display: flex;
    justify-content: center;
    gap: 10px;
}
.custom-modal-btn {
    padding: 8px 24px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    font-family: 'BYekan', Tahoma, sans-serif;
}
.custom-modal-btn-confirm {
    background: #005522;
    color: #fff;
}
.custom-modal-btn-confirm:hover {
    background: #003d1a;
}
.custom-modal-btn-cancel {
    background: #f1f5f9;
    color: #64748b;
}
.custom-modal-btn-cancel:hover {
    background: #e2e8f0;
}

/* ===================================================
   RESULT CARD & STATS UI (کارنامه نهایی آزمون)
   =================================================== */
.quiz-result-box {
    background: #ffffff;
    border: 2px solid #005522;
    border-radius: 20px;
    padding: 30px;
    margin-top: 40px;
    box-shadow: 0 10px 30px rgba(0, 85, 34, 0.08);
    direction: rtl;
}
.result-header {
    text-align: center;
    border-bottom: 2px dashed #e2efe5;
    padding-bottom: 15px;
    margin-bottom: 20px;
}
.result-header h3 {
    color: #005522;
    font-weight: 800;
    font-size: 22px;
    margin: 0;
}
.result-stat-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-top: 15px;
}
.result-stat-card {
    background: #fcfdfe;
    border: 1px solid #edf2ee;
    border-radius: 14px;
    padding: 18px 8px;
    text-align: center;
}
.result-stat-card.percent-card {
    background: #f0fdf4;
    border-color: #bbf7d0;
}
.stat-val {
    display: block;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 5px;
    color: #1e293b;
}
.percent-card .stat-val {
    color: #005522;
}
.stat-lbl {
    font-size: 12px;
    color: #64748b;
    font-weight: bold;
}
.explanation-box {
    margin-top: 15px;
    padding: 15px 20px;
    background: #f8fafc;
    border-right: 4px solid #005522;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.7;
    color: #334155;
}


/* باکس هشدار ورود با فاصله از بالا و فونت یکان */
.quiz-login-alert {
    background: #ffffff;
    border-right: 6px solid #ff6b1b; /* سبز مطابق تم اصلی */
    padding: 20px 30px;
    border-radius: 12px;
    margin: 25px 0 35px 0; /* فاصله از ناوبار و محتوای پایین */
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    direction: rtl;
    font-family: 'B Yekan', 'Tahoma', sans-serif !important;
}

.alert-content {
    display: flex;
    align-items: center;
}

.alert-icon {
    background: #eafaf1; /* سبز بسیار روشن برای پس‌زمینه آیکون */
    width: 55px;
    height: 55px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    color: #ff6b1b;
    font-size: 28px;
    border: 1px solid #d4edda;
}

.alert-text h4 {
    margin: 0 0 8px 0;
    color: #2c3e50;
    font-weight: bold;
    font-size: 18px;
    font-family: 'B Yekan', 'Tahoma', sans-serif !important;
}

.alert-text p {
    margin: 0;
    color: #5a6c7d;
    font-size: 14px;
    font-family: 'B Yekan', 'Tahoma', sans-serif !important;
}

/* دکمه با رنگ متمایز (نارنجی/آجری) و هاور حرفه‌ای */
.alert-btn {
    background: #ff6b1b !important; /* رنگ نارنجی متمایز از تم سبز */
    color: #fff !important;
    border-radius: 10px;
    padding: 12px 28px;
    font-weight: bold;
    font-size: 15px;
    text-decoration: none !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: none;
    display: inline-block;
    font-family: 'B Yekan', 'Tahoma', sans-serif !important;
    box-shadow: 0 4px 12px rgba(255, 107, 27, 0.3);
}

.alert-btn:hover {
    background: #e65a00;
    box-shadow: 0 6px 20px rgba(255, 107, 27, 0.4);
    transform: scale(1.05); /* یک بزرگنمایی کوچک در هاور */
}

/* --- استایل‌های بهینه‌سازی شده برای موبایل --- */
@media (max-width: 768px) {
    .quiz-login-alert {
        flex-direction: column !important; /* چیدمان زیر هم */
        align-items: center !important;
        text-align: center !important;
        padding: 20px 15px !important; /* پدینگ کمتر برای جایگیری بهتر */
        gap: 15px; /* ایجاد فاصله مناسب بین متن و دکمه */
    }

    .alert-content {
        flex-direction: column !important; /* قرارگیری آیکون بالای متن */
        align-items: center !important;
        text-align: center !important;
    }

    .alert-icon {
        margin-left: 0 !important; /* حذف فاصله سمت راست آیکون */
        margin-bottom: 12px !important; /* ایجاد فاصله زیر آیکون */
    }

    .alert-text h4 {
        font-size: 16px !important;
    }

    .alert-text p {
        font-size: 13px !important;
        line-height: 1.6;
    }

    .alert-btn {
        width: 100% !important; /* دکمه عریض‌تر برای لمس راحت‌تر در موبایل */
        text-align: center !important;
        padding: 12px 20px !important;
        box-sizing: border-box;
        border-radius: 8px !important;
    }
}


.quiz-beauty-modal {
    display: none; /* پیش‌فرض مخفی */
    position: fixed;
    z-index: 999999 !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(30, 30, 40, 0.6) !important; /* پس‌زمینه تیره ملایم */
    backdrop-filter: blur(4px); /* افکت تار شدن پشت مودال (بسیار مدرن) */
}

.quiz-beauty-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #ffffff;
    padding: 30px;
    border-radius: 20px; /* لبه‌های کاملاً گرد و نرم */
    width: 90%;
    max-width: 420px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2); /* سایه عمیق و زیبا */
    text-align: center;
    font-family: 'BYekan', Tahoma, sans-serif !important;
    direction: rtl;
    animation: quizModalShow 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); /* انیمیشن نرم باز شدن */
}

@keyframes quizModalShow {
    from {
        transform: translate(-50%, -50%) scale(0.85);
        opacity: 0;
    }
    to {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
}

.quiz-beauty-close {
    position: absolute;
    top: 15px;
    left: 20px;
    color: #bbb;
    font-size: 26px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.2s;
    line-height: 1;
}

.quiz-beauty-close:hover {
    color: #e74c3c;
}

.quiz-beauty-icon {
    font-size: 55px;
    color: #e74c3c; /* رنگ قرمز خطای شیک */
    margin-bottom: 15px;
    display: inline-block;
    animation: bounceIcon 1s ease;
}

@keyframes bounceIcon {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

#quizModalTitle {
    font-size: 22px;
    font-weight: bold;
    color: #2c3e50;
    margin: 0 0 12px 0;
}

#quizModalText {
    font-size: 15px;
    color: #7f8c8d;
    line-height: 1.6;
    margin-bottom: 25px;
}

.quiz-beauty-btn {
    background: linear-gradient(135deg, #e74c3c, #c0392b); /* دکمه قرمز گرادینت */
    color: #fff;
    border: none;
    padding: 10px 35px;
    font-size: 15px;
    font-weight: bold;
    border-radius: 50px; /* دکمه کپسولی فوق‌العاده مدرن */
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(231, 76, 60, 0.3);
    transition: all 0.2s;
    font-family: inherit;
    outline: none;
    display: inline-block;
}

.quiz-beauty-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 20px rgba(231, 76, 60, 0.4);
    color: #fff;
}

.quiz-beauty-btn:active {
    transform: translateY(1px);
}

 /* =========================================================
   کدهای راست‌چین و بهینه‌شده بازارچه (Shop)
========================================================= */
/* تنظیمات پایه */
.shop-page {
    direction: rtl !important;
    text-align: right !important;
    background: #eef2f8;
}

.shop-page .content-wrapper {
    padding-top: 20px;
}

/* عنوان بازارچه */
.shop-page .shop-page-title {
    font-size: 20px;
    font-weight: bold;
    color: #1f3a2e;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'B Titr', Tahoma, sans-serif;
}

.shop-page .shop-page-title i {
    color: #005522;
}

/* فیلتر دسته‌بندی */
.shop-page .category-filter-box {
    background: #fff;
    border: 1px solid #e5e9ef;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 20px;
}

.shop-page .category-filter-box select {
    width: 100%;
    height: 40px;
    border: 1px solid #d7dde5;
    border-radius: 8px;
    padding: 0 10px;
    font-family: 'B Yekan', Tahoma, sans-serif;
    outline: none;
    background: #fff;
}

/* گرید محصولات */
.shop-page .product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    align-items: stretch;
    margin-top: 10px;
}

/* کارت محصول */
.shop-page .product-card {
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 15px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: all 0.25s ease-in-out;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    font-family: 'B Yekan', Tahoma, sans-serif !important;
}

.shop-page .product-card:hover {
    border: 2px solid #005522;
    box-shadow: 0 4px 15px rgba(0, 85, 34, 0.6);
}

/* رسانه */
.shop-page .product-media {
    width: 100%;
    height: 200px !important;
    min-height: 200px !important;
    overflow: hidden;
    background: #000;
    position: relative;
    flex: 0 0 200px;
}

.shop-page .product-media img,
.shop-page .product-media video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    border: 0;
}

/* بدنه کارت */
.shop-page .product-body {
    padding: 14px 15px 10px 15px;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.shop-page .product-title {
    font-family: 'B Titr', Tahoma, sans-serif !important;
    font-size: 17px;
    line-height: 1.5;
    color: #1a1a1a;
    margin: 0 0 8px 0;
}

.shop-page .product-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.7;
    margin: 0 0 12px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 45px;
}

.shop-page .seller-profile-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.shop-page .seller-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 32px;
    border: 1px solid #e6e6e6;
}

.shop-page .seller-name {
    font-size: 12px;
    color: #555;
}

/* فوتر کارت */
.shop-page .product-footer {
    margin-top: auto;
    padding-top: 8px;
}

.shop-page .product-price {
    font-size: 15px;
    font-weight: bold;
    color: #005522;
    display: block;
}

.shop-page .product-price.free {
    color: #d93030;
}

/* دکمه‌ها */
.shop-page .product-actions {
    display: flex;
    gap: 8px;
    padding: 0 15px 15px 15px;
    margin-top: auto;
}

.shop-page .btn-action {
    height: 40px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: none;
    transition: all 0.2s ease-in-out;
    white-space: nowrap;
}

.shop-page .btn-add-cart { flex: 2; background-color: #005522; color: #fff; }
.shop-page .btn-add-cart:hover { background-color: #696969; }

.shop-page .btn-chat { flex: 1; background-color: #f5f5f5; color: #005522; border: 1px solid #dcdcdc; }
.shop-page .btn-chat:hover { background-color: #e9e9e9; }

/* دکمه لایک اصلاح شده */
.shop-page .btn-like-prod {
    flex: 0 0 auto;
    min-width: 52px;
    height: 40px;
    padding: 0 10px;
    background-color: #ffffff;
    color: #999999;
    border: 1px solid #cccccc;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.shop-page .btn-like-prod:hover { background-color: #f8f8f8; border-color: #bdbdbd; color: #d93030; }

.shop-page .btn-like-prod.liked {
    background-color: #ffe6e6;
    color: #d93030;
    border-color: #f5b0b0;
    box-shadow: 0 2px 5px rgba(217, 48, 48, 0.2);
}

.shop-page .like-counter {
    font-size: 12px;
    font-family: Arial, sans-serif;
    font-weight: bold;
}

/* پیام خطا */
.shop-page .empty-products {
    background: #fff;
    border: 1px dashed #d7dde5;
    border-radius: 12px;
    padding: 30px 15px;
    text-align: center;
    color: #666;
    margin-top: 15px;
}

/* ریسپانسیو */
@media (max-width: 992px) {
    .shop-page .product-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
}

@media (max-width: 576px) {
    .shop-page .product-grid { grid-template-columns: 1fr; }
    .shop-page .product-media { height: 180px !important; flex-basis: 180px; }
    .shop-page .product-actions { flex-wrap: wrap; gap: 5px; }
    .shop-page .btn-add-cart { flex: 1 1 100%; order: 1; }
    .shop-page .btn-chat { flex: 1; order: 2; }
    .shop-page .btn-like-prod { flex: 0 0 50px; order: 3; }
}

/* ==========================================================================
   بخش اختصاصی مدیریت محصولات فروشنده (seller-products.php)
   ========================================================================== */
.seller-prod-wrapper {
    direction: rtl;
    font-family: 'B Yekan', 'Tahoma', sans-serif !important;
    background-color: #f9fbf9;
}
.seller-prod-wrapper * {
    font-family: 'B Yekan', 'Tahoma', sans-serif !important;
}

/* کارت‌ها */
.seller-prod-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    padding: 25px;
    margin-bottom: 25px;
    border-top: 4px solid #005522;
}

/* هدر بالای صفحه و بخش دکمه‌ها */
.seller-prod-top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    background: #fff;
    padding: 15px 20px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02);
}
.seller-prod-top-title {
    font-weight: bold;
    color: #005522;
    margin: 0;
    font-size: 20px;
}
.seller-prod-top-actions {
    display: flex;
    gap: 10px;
}

/* استایل دکمه‌های اصلی و سازمانی با هاور داینامیک */
.seller-prod-btn-primary {
    background-color: #005522 !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 13.5px;
    border-radius: 6px;
    padding: 8px 18px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: bold;
    transition: all 0.25s ease;
    text-decoration: none !important;
}
.seller-prod-btn-primary:hover, .seller-prod-btn-primary:focus {
    background-color: #696969 !important;
    color: #ffffff !important;
}

.seller-prod-btn-default {
    background-color: #ffffff !important;
    color: #333333 !important;
    border: 1px solid #cccccc !important;
    font-size: 13.5px;
    border-radius: 6px;
    padding: 8px 18px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: bold;
    transition: all 0.25s ease;
    text-decoration: none !important;
}
.seller-prod-btn-default:hover, .seller-prod-btn-default:focus {
    background-color: #f5f5f5 !important;
    border-color: #999999 !important;
    color: #000000 !important;
}

/* استایل‌های جدول دسکتاپ */
.seller-prod-table th {
    background-color: #ebf7ee !important;
    color: #005522 !important;
    text-align: center;
    vertical-align: middle !important;
    border: none !important;
    padding: 14px 10px !important;
    font-size: 14px;
    font-weight: bold;
}
.seller-prod-table td {
    text-align: center;
    vertical-align: middle !important;
    padding: 14px 10px !important;
    font-size: 13.5px;
    color: #333;
}
.seller-prod-table-border {
    border: 1px solid #ebf7ee;
}
.seller-prod-thumb {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid #eef2ef;
}
.seller-prod-badge {
    background-color: #ebf7ee;
    color: #005522;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: bold;
}
.seller-prod-price {
    color: #2e7d32;
    font-weight: bold;
}
.seller-prod-date {
    font-size: 12px;
    color: #777;
}

/* دکمه حذف دسکتاپ */
.seller-prod-btn-delete {
    background-color: #fce8e6;
    color: #a8201a;
    border: 1px solid #f5c2c0;
    padding: 8px 16px;
    font-size: 13px;
    border-radius: 6px;
    transition: all 0.2s ease-in-out;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none !important;
    cursor: pointer;
    font-weight: bold;
}
.seller-prod-btn-delete:hover {
    background-color: #a8201a;
    color: #ffffff;
    border-color: #a8201a;
}

/* فرم استایل پیشرفته */
.seller-prod-form-group label {
    font-weight: bold;
    color: #444;
    margin-bottom: 8px;
    display: inline-block;
}
.seller-prod-control {
    border-radius: 8px;
    border: 1px solid #ced4da;
    padding: 8px 12px;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.seller-prod-control:focus {
    border-color: #005522;
    box-shadow: 0 0 0 0.2rem rgba(0, 85, 34, 0.1);
}
.seller-prod-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 25px;
}

/* استایل‌های مودال اختصاصی حذف */
.seller-prod-modal-overlay {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(3px);
}
.seller-prod-modal-box {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 25px;
    border-radius: 12px;
    width: 90%;
    max-width: 420px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    border-top: 4px solid #d9534f;
    direction: rtl;
}
.seller-prod-modal-icon {
    font-size: 45px;
    color: #d9534f;
    margin-bottom: 12px;
}
.seller-prod-modal-title {
    margin-top: 0;
    font-weight: bold;
    color: #333;
    margin-bottom: 8px;
    font-size: 18px;
}
.seller-prod-modal-text {
    color: #666;
    font-size: 13px;
    margin-bottom: 25px;
    line-height: 1.6;
}
.seller-prod-modal-footer {
    display: flex;
    gap: 10px;
    justify-content: center;
}
.seller-prod-btn-confirm-delete {
    background-color: #d9534f !important;
    color: #ffffff !important;
    padding: 10px 20px;
    flex: 1;
    border-radius: 6px;
    font-size: 14px;
    text-decoration: none;
    display: inline-block;
    border: none !important;
    font-weight: bold;
    transition: background-color 0.2s ease;
}
.seller-prod-btn-confirm-delete:hover {
    background-color: #c9302c !important;
}
.seller-prod-btn-cancel-delete {
    background-color: #f5f5f5 !important;
    color: #333333 !important;
    border: 1px solid #cccccc !important;
    padding: 10px 20px;
    flex: 1;
    border-radius: 6px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s ease;
}
.seller-prod-btn-cancel-delete:hover {
    background-color: #e6e6e6 !important;
    border-color: #adadad !important;
    color: #000000 !important;
}

/* ==========================================
   ریسبانسیو ویژه موبایل و تبلت
   ========================================== */
@media (max-width: 767px) {
    .seller-prod-card {
        padding: 15px;
    }
    .seller-prod-top-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 15px;
    }
    .seller-prod-top-title {
        width: 100%;
        text-align: right;
    }
    .seller-prod-top-actions {
        width: 100%;
        flex-direction: column;
        display: flex;
        gap: 8px;
    }
    .seller-prod-top-actions .btn, 
    .seller-prod-top-actions .seller-prod-btn-primary, 
    .seller-prod-top-actions .seller-prod-btn-default {
        width: 100% !important;
        text-align: center;
        padding: 10px 0 !important;
        display: block;
        justify-content: center;
    }
    .seller-prod-desktop-table {
        display: none !important;
    }
    .seller-prod-mobile-container {
        display: block !important;
    }
    .seller-prod-mobile-card {
        background: #ffffff;
        border: 1px solid #ebf7ee;
        border-radius: 12px;
        padding: 12px;
        margin-bottom: 15px;
        display: flex;
        align-items: center;
        gap: 12px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.03);
        position: relative;
    }
    .seller-prod-mobile-thumb {
        width: 75px;
        height: 75px;
        border-radius: 10px;
        object-fit: cover;
        border: 1px solid #e2ebd9;
        flex-shrink: 0;
    }
    .seller-prod-mobile-info {
        flex-grow: 1;
        text-align: right;
    }
    .seller-prod-mobile-title {
        font-size: 14px;
        font-weight: bold;
        color: #222;
        margin: 0 0 6px 0;
        line-height: 1.5;
    }
    .seller-prod-mobile-cat {
        font-size: 11px;
        color: #005522;
        background-color: #ebf7ee;
        padding: 2px 8px;
        border-radius: 12px;
        display: inline-block;
        margin-bottom: 6px;
    }
    .seller-prod-mobile-price {
        font-size: 13px;
        color: #2e7d32;
        font-weight: bold;
        margin: 0;
    }
    .seller-prod-mobile-btn-delete {
        background-color: #fce8e6;
        color: #a8201a;
        border: 1px solid #f5c2c0;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        transition: all 0.2s;
    }
    .seller-prod-mobile-btn-delete:active, .seller-prod-mobile-btn-delete:hover {
        background-color: #a8201a;
        color: #ffffff;
        border-color: #a8201a;
    }
    .seller-prod-form-actions {
        flex-direction: column-reverse;
        gap: 10px;
        width: 100%;
    }
    .seller-prod-form-actions .btn {
        width: 100% !important;
        margin: 0 !important;
        padding: 12px !important;
        font-size: 15px;
        border-radius: 8px;
    }
}

@media (min-width: 768px) {
    .seller-prod-mobile-container {
        display: none !important;
    }
    .seller-prod-desktop-table {
        display: table !important;
    }
}


/* استایل کارت پروفایل و جدول تراکنش‌ها */
.profile-card {
    background: #fff;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 25px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    border: 1px solid #eaeaea;
    font-family: 'Yekan', 'B Yekan', Tahoma, sans-serif;
}

.profile-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.profile-avatar img {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 4px solid #005522;
    object-fit: cover;
}

.profile-info h3 { font-size: 20px; font-weight: 700; color: #333; margin: 0;    font-family: 'Yekan', 'B Yekan', Tahoma, sans-serif;}

/* استایل جدول تراکنش‌ها - نسخه دسکتاپ */
.pro-table { width: 100%; border-collapse: collapse; }
.pro-table th { background: #f8f9fa; padding: 12px; border-bottom: 2px solid #ddd; text-align: center; }
.pro-table td { padding: 12px; border-bottom: 1px solid #eee; text-align: center; }

.profile-action-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

.profile-action-btns .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px; /* فاصله مناسب بین آیکون و متن دکمه */
    border-radius: 8px !important;
    padding: 10px 20px !important;
    font-size: 13px !important;
    font-weight: bold;
    border: none !important;
    transition: all 0.2s ease-in-out;
}

.profile-action-btns .btn-success {
    background-color: #005522 !important;
    color: #fff !important;
}

.profile-action-btns .btn-success:hover {
    background-color: #696969 !important;
}

.profile-action-btns .btn-info {
    background-color: #005522 !important;
    color: #fff !important;
}

.profile-action-btns .btn-info:hover {
    background-color: #696969 !important;
}

/* واکنش‌گرایی موبایل - کارت‌محور */
@media (max-width: 768px) {
    
    .pro-table thead { display: none; }
    .pro-table, .pro-table tbody, .pro-table tr, .pro-table td { display: block; width: 100% !important; }
    .pro-table tr { background: #fff; border: 1px solid #edf0f3; border-radius: 14px; margin-bottom: 14px; padding: 14px; }
    .pro-table td { text-align: right !important; padding: 8px 0 !important; display: flex; justify-content: space-between; align-items: center; }
    .pro-table td::before { content: attr(data-label); font-weight: bold; color: #7a7a7a; }
    .pro-table td.details-td { display: block; padding-top: 10px !important; }

     .profile-action-btns {
        display: flex !important;
        flex-direction: column !important; /* چیدمان عمودی و ستونی دکمه‌ها */
        width: 100% !important;
        gap: 10px !important;
        margin-top: 15px;
    }
 .profile-header {
        flex-direction: column !important; /* قرارگیری آواتار بالا و متن‌ها پایین */
        text-align: center !important;
        align-items: center !important;
        gap: 15px !important;
    }

    .profile-avatar {
        margin: 0 auto;
    }
    .profile-action-btns .btn {
        width: 100% !important; /* کشیده شدن دکمه‌ها به اندازه کل عرض کارت جهت زیبایی */
        padding: 12px 16px !important; /* افزایش ارتفاع دکمه برای لمس راحت‌تر در موبایل */
        justify-content: center !important;
    }
}
/* این کد را به انتهای فایل CSS اضافه کن تا استایل‌های قبلی را برای دکمه ارسال خنثی کند */
#commentForm .btn.btn-flat {
    display: inline-block !important; /* به جای block، از inline-block استفاده کن */
    width: auto !important;          /* عرض را خودکار کن تا فقط اندازه دکمه باشد */
    min-width: 0 !important;         /* محدودیت‌های اجباری قبلی را بردار */
    max-width: none !important;
    margin: 0 5px 0 0 !important;    /* فقط مارجین لازم را بگذار */
    height: 38px !important;         /* هماهنگ با فیلد متن */
    border-radius: 0 !important;     /* طبق دیزاین اولیه */
}
#commentForm button.btn.btn-success.btn-flat {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
}
/* --- تنظیمات اختصاصی مودال بازارچه --- */

/* 1. دکمه خریدار: رنگ اصلی خاکستری */
#shopRoleModal .btn-lg.mainbutton.shop-buyer {
    background-color: #005522 !important;
}

/* 2. افکت هاور دکمه فروشنده (دقیقاً مثل مودال کلاس) */
#shopRoleModal #btnShopSeller:hover {
    background-color: #696969 !important; /* رنگ سبز تیره تر هنگام هاور */
    box-shadow: 0 6px 14px rgba(0, 85, 34, 0.55) !important; /* شدو سبز قوی */
    transform: translateY(-2px);
}

/* 3. افکت هاور دکمه خریدار (خاکستری میماند اما شدو سبز میگیرد) */
#shopRoleModal .btn-lg.mainbutton.shop-buyer:hover {
    background-color: #696969 !important; /* کمی تیره تر برای حس کلیک */
    box-shadow: 0 6px 14px rgba(0, 85, 34, 0.55) !important; /* همان شدو سبز معروف */
    transform: translateY(-2px);
}

/* 4. اصلاح فونت پیام نارنجی */
#shopRoleAlertBox .alert {
    font-family: 'B Yekan', Tahoma !important;
    text-align: right;
    direction: rtl;
}

#shopRoleModal p {
    font-family: 'B Yekan', Tahoma !important;
  
}
/* هماهنگ‌سازی تایتل بازارچه با مودال کلاس */
#shopRoleModal .modal-title {
    font-family: 'B Titr', Tahoma, serif !important;
    font-size: 22px !important;
    color: #005522 !important;
    text-align: center; /* برای وسط‌چین شدن مشابه عکس */
    width: 100%;
    display: block;
}

/* هماهنگی هدر بازارچه (حذف خط زیر هدر و رنگ پس‌زمینه) */
#shopRoleModal .modal-header {
    border-bottom: none !important;
    background-color: #f8f8f8 !important;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}


/* کانتینر اصلی عملیات */
.seller-ops-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    direction: rtl;
    flex-wrap: nowrap; /* جلوگیری از شکستن در دسکتاپ */
}

/* دکمه پرداخت هزینه */
.seller-pay-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 30px;
    padding: 0 10px;
    border-radius: 6px;
    background: #27ae60;
    color: #fff !important;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none !important;
    white-space: nowrap;
}

/* استایل وضعیت‌ها */
.seller-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 30px;
    padding: 0 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: bold;
    white-space: nowrap;
}
.seller-status-pending { background: #fff4e5; color: #b7791f; border: 1px solid #fbd38d; }
.seller-status-active { background: #f0fff4; color: #276749; border: 1px solid #9ae6b4; }

.seller-delete-btn {
    width: 30px;
    height: 30px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eb2f06;
    color: #fff !important;
    padding: 0;
    line-height: 1;
    border: none;
    transition: all 0.3s ease;
}

.seller-delete-btn:hover {
    background: #c0392b;
    transform: scale(1.1);
}
/* اصلاحات موبایل */
@media (max-width: 768px) {
    .seller-ops-wrap {
        display: flex;
        gap: 10px;
        align-items: center;
        width: 100%;
        justify-content: flex-start;
    }
    .seller-prod-mobile-actions {
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid #eee;
    }
}
.coming-soon-btn {
    position: relative;
    overflow: hidden;
    /* پس‌زمینه تیره متالیک شیک برای خوانایی ۱۰۰٪ متن سفید */
    background: linear-gradient(135deg, #374151 0%, #1f2937 100%) !important; 
    border: 1px solid #4b5563 !important;
    color: #ffffff !important; /* متن سفید کاملاً خوانا */
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
}

/* آیکون‌ها هم سفید و درخشان شوند */
.coming-soon-btn i {
    color: #ffffff !important;
}

/* افکت هاور (طلایی شدن) */
.coming-soon-btn:hover {
    background: linear-gradient(135deg, #ffd54f 0%, #ffb300 100%) !important;
    color: #4e342e !important;
    border-color: #ffa000 !important;
}
.coming-soon-btn:hover i,
.coming-soon-btn:hover .coming-soon-chip {
    color: #4e342e !important;
}

.coming-soon-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-right: 8px;
    padding: 2px 10px;
    font-size: 10px;
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.15) !important; 
    color: #ffffff !important;
    font-weight: bold;
}

/* افکت درخشش براق (Shine) */
.coming-soon-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transform: skewX(-20deg);
    animation: comingSoonShine 3s infinite;
}

@keyframes comingSoonShine {
    0% { left: -150%; }
    30%, 100% { left: 150%; }
}

/* انیمیشن ضربان ملایم */
@keyframes comingSoonPulse {
    0% { box-shadow: 0 0 0 0 rgba(75, 85, 99, 0.5); }
    70% { box-shadow: 0 0 0 10px rgba(75, 85, 99, 0); }
    100% { box-shadow: 0 0 0 0 rgba(75, 85, 99, 0); }
}

.coming-soon-btn {
    animation: comingSoonPulse 2s infinite;
}
.visit-stats-card {
    direction: rtl;
    margin: 18px 0;
    padding: 16px;
    border: 1px solid rgba(0, 101, 46, 0.14);
    border-radius: 14px;
    background: linear-gradient(145deg, #ffffff 0%, #f0faf4 100%);
    box-shadow: 0 8px 24px rgba(0, 55, 25, 0.08);
    font-family: B Yekan, Tahoma, sans-serif;
}

.video-body,.video-body a,.video-title,.video-meta,.video-desc,
.video-search-card,.video-search-card .info-bar,.video-search-card .video-desc-container,.video-search-card .video-text-content{
    direction:rtl !important;
    text-align:right !important;
}
.video-desc-container.has-no-description{justify-content:flex-start}

.visit-stats-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 13px;
    color: #00652e;
}

.visit-stats-heading h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
}

.visit-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.visit-stat {
    min-width: 0;
    padding: 12px 6px;
    text-align: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.86);
}

.visit-stat strong,
.visit-stat span {
    display: block;
}

.visit-stat strong {
    color: #005c2a;
    font-size: 18px;
    line-height: 1.4;
}

.visit-stat span {
    margin-top: 3px;
    color: #4e5f55;
    font-size: 11px;
}

.visit-stat-online {
    grid-column: 1 / -1;
    position: relative;
}

.visit-stat-online::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: 5px;
    border-radius: 50%;
    background: #19b765;
    box-shadow: 0 0 0 4px rgba(25, 183, 101, 0.13);
}

@media (max-width: 991px) {
    .visit-stats-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .visit-stat-online {
        grid-column: auto;
    }
}

@media (max-width: 480px) {
    .visit-stats-card {
        padding: 13px 10px;
    }

    .visit-stat strong {
        font-size: 16px;
    }
}
.nik-ad-shell {
    width: 100%;
    padding: 18px 15px 0;
    background: #e9edf2;
    direction: rtl;
}

.nik-ad-slider {
    position: relative;
    width: min(1140px, 100%);
    height: 260px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 22px;
    background: #07532c;
    box-shadow: 0 16px 40px rgba(0, 50, 24, .18);
    isolation: isolate;
}

.nik-ad-track, .nik-ad-slide { position: absolute; inset: 0; }
.nik-ad-slide {
    visibility: hidden;
    opacity: 0;
    transform: scale(1.025);
    transition: opacity .65s ease, transform .8s cubic-bezier(.2,.75,.3,1), visibility .65s;
    background: linear-gradient(120deg, var(--ad-theme), #071f17);
}
.nik-ad-slide.is-active { visibility: visible; opacity: 1; transform: scale(1); z-index: 2; }
.nik-ad-media, .nik-ad-media img { width: 100%; height: 100%; display: block; }
.nik-ad-media img { object-fit: cover; }
.nik-ad-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,22,14,.18), rgba(4,22,14,.88) 76%); }
.nik-ad-content { position: relative; z-index: 2; width: min(610px, 76%); padding: 34px 48px; color: #fff; }
.nik-ad-label { display: inline-flex; padding: 5px 12px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(255,255,255,.12); font: 12px "B Yekan",Tahoma; backdrop-filter: blur(6px); }
.nik-ad-content h2 { margin: 12px 0 7px; color: #fff; font: 700 28px/1.45 "B Yekan",Tahoma; }
.nik-ad-content p { margin: 0 0 17px; color: rgba(255,255,255,.87); font: 15px/1.85 "B Yekan",Tahoma; }
.nik-ad-cta { display: inline-flex; align-items: center; gap: 9px; padding: 9px 18px; border-radius: 10px; color: #064523 !important; background: #fff; font: 700 14px "B Yekan",Tahoma; transition: transform .25s ease, box-shadow .25s ease; }
.nik-ad-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.2); }
.nik-ad-art { position: absolute; inset: 0; overflow: hidden; color: rgba(255,255,255,.14); font: 700 62px Georgia; }
.nik-ad-art span { position: absolute; animation: adFloat 6s ease-in-out infinite; }
.nik-ad-art span:nth-child(1) { left: 10%; top: 14%; }
.nik-ad-art span:nth-child(2) { left: 31%; bottom: 13%; animation-delay: -1.4s; }
.nik-ad-art span:nth-child(3) { left: 45%; top: 12%; animation-delay: -2.6s; }
.nik-ad-art span:nth-child(4) { left: 56%; bottom: 7%; font-size: 46px; animation-delay: -3.7s; }
.nik-ad-nav { position: absolute; z-index: 5; top: 50%; width: 40px; height: 40px; margin-top: -20px; border: 0; border-radius: 50%; color: #fff; background: rgba(0,0,0,.27); backdrop-filter: blur(6px); transition: background .2s, transform .2s; }
.nik-ad-nav:hover { background: rgba(0,0,0,.48); transform: scale(1.08); }
.nik-ad-prev { right: 16px; }
.nik-ad-next { left: 16px; }
.nik-ad-dots { position: absolute; z-index: 5; left: 50%; bottom: 15px; display: flex; gap: 7px; transform: translateX(-50%); }
.nik-ad-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.45); transition: width .25s, background .25s; }
.nik-ad-dot.is-active { width: 24px; background: #fff; }
.nik-ad-progress { position: absolute; z-index: 5; right: 0; bottom: 0; width: 100%; height: 3px; background: rgba(255,255,255,.12); }
.nik-ad-progress span { display: block; width: 0; height: 100%; background: #fff; animation: adProgress 6s linear infinite; }
.nik-ad-slider.is-paused .nik-ad-progress span { animation-play-state: paused; }

@keyframes adProgress { to { width: 100%; } }
@keyframes adFloat { 0%,100% { transform: translateY(0) rotate(-3deg) } 50% { transform: translateY(-14px) rotate(4deg) } }

@media (max-width: 767px) {
    .nik-ad-shell { padding: 10px 10px 0; }
    .nik-ad-slider { height: 310px; border-radius: 17px; }
    .nik-ad-overlay { background: linear-gradient(0deg, rgba(4,22,14,.94), rgba(4,22,14,.22)); }
    .nik-ad-content { position: absolute; right: 0; bottom: 12px; width: 100%; padding: 28px 24px 35px; }
    .nik-ad-content h2 { font-size: 22px; }
    .nik-ad-content p { font-size: 13px; line-height: 1.7; }
    .nik-ad-nav { width: 35px; height: 35px; }
    .nik-ad-prev { right: 9px; }
    .nik-ad-next { left: 9px; }
}

@media (prefers-reduced-motion: reduce) {
    .nik-ad-slide { transition: opacity .15s linear; transform: none; }
    .nik-ad-art span, .nik-ad-progress span { animation: none !important; }
}
.site-sidebar {
    display: block;
    margin-top: 28px;
}
.site-sidebar .visit-stats-card { margin-top: 0; margin-bottom: 18px; }
@media (max-width: 767px) { .site-sidebar { margin-top: 22px; } }
.ad-request-page { direction: rtl; font-family: "B Yekan",Tahoma; }
.ad-request-hero { margin: 20px 0; padding: 32px; border-radius: 20px; color:#fff; background:linear-gradient(120deg,#00652e,#123b2a); }
.ad-request-hero h1 { color:#fff; font-size:28px; }
.ad-request-grid { display:grid; grid-template-columns:2fr 1fr; gap:22px; align-items:start; }
.ad-request-form,.ad-spec-card { padding:24px; border-radius:16px; background:#fff; box-shadow:0 8px 28px rgba(0,50,24,.09); }
.ad-request-form label { display:block; margin:13px 0 6px; }
.ad-request-history { margin-top:24px; padding:22px; border-radius:16px; background:#fff; box-shadow:0 8px 28px rgba(0,50,24,.09); }
.ad-request-history h2 { margin:0 0 16px; color:#005522; font-size:22px; }
.ad-history-item { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(180px,1fr) minmax(150px,.8fr); align-items:center; gap:14px; padding:16px; margin-top:10px; border:1px solid #dce9e1; border-radius:14px; background:#fbfdfc; }
.ad-history-item > div { display:flex; flex-direction:column; gap:5px; }
.ad-history-item small { color:#68766e; }
.ad-history-item .mainbutton { margin:0; white-space:nowrap; }
.ad-status-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;list-style:none;margin:2px 0 0;padding:0;counter-reset:adstep}
.ad-status-steps li{position:relative;padding:9px 30px 9px 8px;border-radius:9px;background:#eef2f0;color:#68766e;font-size:13px;counter-increment:adstep}
.ad-status-steps li:before{content:counter(adstep);position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#cbd6d0;color:#fff;font-size:11px}
.ad-status-steps li.is-current{background:#fff7df;color:#805b00;box-shadow:inset 0 0 0 1px #efd483}
.ad-status-steps li.is-current:before{background:#d89c00}
.ad-status-steps li.is-done{background:#e5f7ec;color:#00652e}
.ad-status-steps li.is-done:before{content:'✓';background:#079447}
.ad-payment-continue{grid-column:1/-1;justify-self:end;text-decoration:none!important}
.ad-review-note,.ad-rejected-note{grid-column:1/-1;padding:10px 12px;border-radius:9px;font-size:13px}
.ad-review-note{background:#fff7df;color:#805b00}.ad-rejected-note{background:#fff0f0;color:#a52c2c}
.ad-design-choice { display:flex; gap:22px; margin:8px 0 18px; }
.ad-spec-card li { margin:10px 0; }
@media(max-width:767px){.ad-request-grid{grid-template-columns:1fr}.ad-request-hero{padding:22px}.ad-request-hero h1{font-size:23px}.ad-request-history{padding:14px}.ad-history-item{grid-template-columns:1fr;align-items:stretch}.ad-status-steps{grid-template-columns:1fr 1fr}.ad-payment-continue{width:100%;text-align:center;justify-self:stretch}}

/* زبان بصری مشترک فروشگاه محتوای آموزشی */
.nik-catalog-page,
.cart-main-wrapper { direction: rtl; font-family: "B Yekan", Tahoma, sans-serif; }
.nik-page-hero {
    position: relative; overflow: hidden; margin: 6px 0 26px; padding: 28px 30px;
    border: 1px solid rgba(0,101,46,.12); border-radius: 22px;
    background: radial-gradient(circle at 12% 20%,rgba(40,190,105,.16),transparent 28%),linear-gradient(135deg,#fff,#eef9f2);
    box-shadow: 0 14px 38px rgba(0,68,31,.09);
}
.nik-page-hero:after { content:"∑  π  √"; position:absolute; left:24px; top:12px; color:rgba(0,101,46,.07); font:700 58px Georgia; direction:ltr; }
.nik-page-hero h1 { position:relative; z-index:1; margin:7px 0; color:#073e22; font:700 27px/1.5 "B Titr","B Yekan",Tahoma; }
.nik-page-hero p { position:relative; z-index:1; max-width:680px; margin:0; color:#50645a; font-size:14px; line-height:1.9; }
.nik-eyebrow { position:relative; z-index:1; display:inline-flex; padding:5px 11px; border-radius:999px; color:#00652e; background:#dff5e8; font-size:11px; font-weight:700; }
.nik-page-hero--compact { margin-top:0; padding:23px 26px; }

/* ابتدای فهرست ویدئو باید کاملاً پایین‌تر از ناوبار ثابت دیده شود. */
.video-list-page .nik-catalog-page { padding-top: 26px !important; }
@media (max-width: 800px) {
  .video-list-page .nik-catalog-page { padding-top: 18px !important; }
}

/* فاصله امن محتوا از ناوبار ثابت در تمام صفحات. */
.content-wrapper {
  padding-top: 18px !important;
}

/* در موبایل، محتوای اصلی همیشه پیش از سایدبار و فوتر نمایش داده شود. */
@media (max-width: 767px) {
  .content-wrapper { padding-top: 12px !important; }
  .content > .row {
    display: flex !important;
    flex-direction: column !important;
  }
  .content > .row > .site-sidebar-column {
    order: 99 !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin-top: 22px !important;
  }
  .content > .row > :not(.site-sidebar-column) {
    order: 1;
  }
}

.nik-product-card,.booklet-item,.nik-sample-card {
    position:relative; border:1px solid #e2ece6 !important; border-radius:18px !important;
    background:#fff !important; box-shadow:0 9px 28px rgba(20,52,35,.07) !important;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.nik-product-card:hover,.booklet-item:hover,.nik-sample-card:hover { transform:translateY(-3px); border-color:#b9d9c6 !important; box-shadow:0 16px 38px rgba(20,70,42,.12) !important; }
.nik-product-card { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 15px; padding:20px 22px; }
.nik-product-card--featured { border-right:5px solid #0b8b48 !important; background:linear-gradient(120deg,#fff,#f1fbf5) !important; }
.nik-product-card .product-info { color:#33483d; line-height:1.9; }
.nik-product-card .btn-green,.booklet-actions button { border:0; border-radius:11px !important; padding:11px 17px !important; color:#fff; background:linear-gradient(135deg,#058541,#005c2b) !important; box-shadow:0 7px 16px rgba(0,101,46,.2); white-space:nowrap; }
.nik-chapter-section { display:block; margin:0 0 28px; padding:0 0 4px; border-bottom:1px dashed #cbdcd2; }
.nik-unavailable { display:inline-flex; align-items:center; gap:7px; padding:9px 13px; border-radius:10px; color:#875f17; background:#fff8e8; border:1px solid #f2dfb1; font-size:12px; }
.stepbystep-gallery { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin:14px 0 24px; }
.stepbystep-item { overflow:hidden; border:1px solid #e5ece8; border-radius:16px; background:#fff; box-shadow:0 7px 20px rgba(14,55,31,.06); }
.stepbystep-item img { width:100%; height:150px; object-fit:cover; background:#f3f7f5; }
.stepbystep-title { min-height:70px; padding:12px 14px; color:#254235; line-height:1.7; }
.stepbystep-item .btn { display:flex; align-items:center; justify-content:center; width:calc(100% - 20px); margin:0 10px 12px !important; border:0 !important; border-radius:10px !important; padding:10px !important; background:#e43f3f !important; font-size:13px !important; }

.booklet-item { display:grid !important; grid-template-columns:150px 1fr; gap:20px; margin-bottom:18px; padding:18px !important; overflow:hidden; }
.booklet-cover img { width:150px; height:190px; border-radius:12px; object-fit:cover; background:#f3f6f4; }
.booklet-title { color:#073e22 !important; font-size:19px !important; font-weight:700; }
.booklet-meta { display:flex; flex-wrap:wrap; gap:9px; margin:10px 0; }
.booklet-meta span { padding:5px 10px; border-radius:8px; background:#f0f6f2; color:#4a6054; }
.booklet-price { display:inline-flex; margin-top:10px; padding:6px 12px; border-radius:999px; font-weight:700; }
.booklet-price.free { color:#08723b; background:#e4f7ec; }.booklet-price.paid { color:#8b5b00; background:#fff3d8; }

.nik-sample-card { min-height:100%; overflow:hidden; padding:0 !important; }
.nik-sample-card .image-fields-container { padding:18px 18px 10px; }
.nik-sample-card .field { display:flex; gap:8px; padding:7px 0; border-bottom:1px dashed #edf1ee; line-height:1.7; }
.nik-sample-card .field:last-child { border-bottom:0; }
.nik-sample-card .product-actions { display:flex; flex-wrap:wrap; gap:8px; padding:14px; border-top:1px solid #edf1ee; background:#f8fbf9; }
.nik-sample-card .product-actions .form-group { margin:0 !important; }
.nik-sample-card .product-actions .btn { border:0 !important; border-radius:9px !important; padding:9px 12px !important; font-size:12px !important; }

.nik-cart-panel { overflow:hidden; border:0 !important; border-radius:20px !important; box-shadow:0 14px 38px rgba(0,58,26,.09) !important; }
.nik-cart-panel .box-body { padding:20px !important; }
.nik-cart-table-wrap { overflow-x:auto; border:1px solid #e3ece7; border-radius:14px; }
.nik-cart-table { margin:0 !important; border-collapse:separate !important; border-spacing:0; }
.nik-cart-table thead th { padding:15px 12px !important; border:0 !important; color:#fff; background:#075d30; font-weight:700; }
.nik-cart-table tbody td { vertical-align:middle !important; padding:15px 12px !important; border:0 !important; border-bottom:1px solid #edf2ef !important; }
.nik-cart-table tbody tr:hover { background:#f5faf7; }
.nik-cart-table tfoot td { padding:16px !important; border:0 !important; color:#064527; background:#eaf6ef !important; }
.nik-checkout-button { width:100% !important; margin-top:16px !important; padding:14px !important; border:0 !important; border-radius:12px !important; color:#fff !important; background:linear-gradient(135deg,#078b48,#005729) !important; box-shadow:0 10px 22px rgba(0,101,46,.22); font:700 17px "B Yekan",Tahoma !important; }

@media(max-width:767px){
  .nik-page-hero{padding:21px 18px;border-radius:17px}.nik-page-hero h1{font-size:22px}.nik-page-hero:after{font-size:36px}
  .nik-product-card{align-items:stretch;flex-direction:column}.nik-product-card .btn-green{width:100%}
  .stepbystep-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.booklet-item{grid-template-columns:92px 1fr;gap:13px;padding:13px !important}.booklet-cover img{width:92px;height:125px}
  .nik-cart-table thead{display:none}.nik-cart-table,.nik-cart-table tbody,.nik-cart-table tr,.nik-cart-table td{display:block;width:100%}.nik-cart-table tbody tr{padding:10px;border-bottom:8px solid #eef4f0}.nik-cart-table tbody td{text-align:right !important;border:0 !important}.nik-cart-table tbody td:before{content:attr(data-label);display:block;color:#718077;font-size:10px}
}
@media(max-width:480px){.stepbystep-gallery{grid-template-columns:1fr}.booklet-item{grid-template-columns:1fr}.booklet-cover img{width:100%;height:190px}}

/* پیش‌نمایش خوانای تصاویر جزوه، نمونه سؤال و گام‌به‌گام */
.js-content-preview { cursor:zoom-in; }
.content-preview-trigger { position:relative; }
.content-preview-trigger:after {
  content:"\f00e"; position:absolute; left:8px; bottom:8px; z-index:2;
  display:grid; place-items:center; width:30px; height:30px; border-radius:50%;
  color:#fff; background:rgba(0,70,34,.78); box-shadow:0 3px 10px rgba(0,0,0,.2);
  font:14px/1 FontAwesome; pointer-events:none;
}
.content-image-preview {
  position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center;
  padding:18px; opacity:0; visibility:hidden; background:transparent;
  transition:opacity .18s ease,visibility .18s ease;
  pointer-events:none;
}
.content-image-preview.is-visible { opacity:1; visibility:visible; }
.content-image-preview.is-pinned { pointer-events:auto; cursor:zoom-out; }
.content-image-preview__figure { margin:0; max-width:min(900px,94vw); text-align:center; }
.content-image-preview__close {
  position:fixed; top:18px; right:18px; z-index:2; display:grid; place-items:center;
  width:44px; height:44px; padding:0; border:2px solid #fff; border-radius:50%;
  color:#fff; background:#075d30; box-shadow:0 7px 22px rgba(0,0,0,.3);
  font:700 28px/1 Arial,sans-serif; cursor:pointer;
}
.content-image-preview__image {
  display:block; width:auto; height:90vh; max-width:94vw; max-height:90vh; margin:auto;
  border:5px solid #fff; border-radius:12px; object-fit:contain; background:#fff;
  box-shadow:0 16px 55px rgba(0,0,0,.42),0 0 0 1px rgba(0,70,34,.2);
}
.content-image-preview__caption { display:inline-block; margin-top:8px; padding:5px 13px; border-radius:999px; color:#fff; background:rgba(0,70,34,.9); box-shadow:0 4px 14px rgba(0,0,0,.2); font:700 14px/1.8 "B Yekan",Tahoma,sans-serif; }
.content-image-preview__hint { display:block; color:#d7e8de; font-size:11px; font-weight:normal; }
@media(max-width:767px){
  .content-image-preview { padding:10px; }
  .content-image-preview__image { width:auto; height:86vh; max-width:96vw; max-height:86vh; border-width:3px; }
  .content-image-preview__close { top:10px; right:10px; }
}
@media(prefers-reduced-motion:reduce){.content-image-preview{transition:none}}
.nik-test-gateway{min-height:100vh;display:grid;place-items:center;padding:22px;direction:rtl;font-family:"B Yekan",Tahoma;background:radial-gradient(circle at top,#e2f7eb,#edf1f4 55%)}
.nik-test-gateway__card{width:min(520px,100%);padding:34px;border:1px solid #dce8e1;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(0,63,29,.14);text-align:center}
.nik-test-gateway__icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 15px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#13a45b,#005d2c);font-size:29px;transform:rotate(-5deg)}
.nik-test-gateway__card h1{margin:13px 0 8px;color:#073e22;font:700 27px "B Titr","B Yekan",Tahoma}.nik-test-gateway__card p{color:#5d6d64;line-height:1.9}
.nik-test-gateway__amount{display:flex;align-items:center;justify-content:space-between;margin:22px 0;padding:16px 18px;border-radius:14px;background:#f0f8f3;color:#28503a}.nik-test-gateway__amount small{font-size:12px}.nik-test-gateway__amount strong{color:#00652e;font-size:20px}
.nik-test-gateway__actions{display:grid;gap:10px}.nik-test-gateway__actions a{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:11px;color:#fff!important;font-weight:700}.nik-test-success{background:linear-gradient(135deg,#0c9850,#00612e)}.nik-test-cancel{background:#6d7671}.nik-test-gateway__warning{margin-top:18px;padding:10px;border-radius:9px;color:#8a6518;background:#fff8e7;font-size:11px}

/* اصلاحات یکپارچه تجربه کاربری و موبایل */
.main-header{position:sticky!important;top:0;z-index:1050}.navbar-static-top{position:sticky!important;top:0;z-index:1050;box-shadow:0 5px 18px rgba(0,0,0,.12)}
.mainbutton,.service-btn,.chapter-item,.video-card a,.btn-v,.btn-share,.nik-ad-cta{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease!important}
.mainbutton>a,.mainbutton a,.service-btn>a,.service-btn a{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%;color:inherit!important;pointer-events:auto}
a.mainbutton,.mainbutton,.service-btn,.chapter-item{cursor:pointer;touch-action:manipulation}
.mainbutton:hover,.mainbutton:focus,.service-btn:hover,.service-btn:focus,.nik-checkout-button:hover,.nik-checkout-button:focus{background:#696969!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(48,48,48,.23)!important;outline:0}
.nik-sample-card:hover{transform:translateY(-4px) scale(1.005);box-shadow:0 18px 42px rgba(0,72,34,.14)!important}
.nik-cart-table thead th{color:#fff!important}.nik-cart-table thead th *{color:#fff!important}
.visit-stats-heading h3{font-family:'B Titr','B Yekan',Tahoma!important;font-weight:400!important}
.quiz-result-box,.quiz-result-box *,.quiz-final-stats,.quiz-final-stats *{font-family:'B Yekan',Tahoma,sans-serif!important}.quiz-result-box h3{font-family:'B Titr','B Yekan',Tahoma!important}

.chapters-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px!important;align-items:stretch!important}
.chapter-item{display:grid!important;grid-template-columns:46px 1fr 20px;align-items:center;gap:13px;width:100%!important;max-width:none!important;min-height:76px;padding:13px 15px!important;border:1px solid #dfebe4!important;border-radius:15px!important;background:#fff!important;box-shadow:0 7px 22px rgba(0,59,27,.06);color:#234335!important}
.chapter-item:hover{border-color:#72bd91!important;background:linear-gradient(135deg,#fff,#edf9f2)!important;transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,82,38,.13)}
.chapter-number{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#0b9850,#005a2a);font-size:18px;font-weight:700}.chapter-item strong,.chapter-item small{display:block}.chapter-item strong{font-size:15px}.chapter-item small{margin-top:3px;color:#697a70;font-size:12px}.chapter-item>i{color:#0a8546;font-size:18px}

.video-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px!important}.video-card{display:block!important;width:auto!important;max-width:none!important;padding:0!important;overflow:hidden;border:1px solid #e0eae4!important;border-radius:17px!important;background:#fff!important;box-shadow:0 9px 28px rgba(0,58,27,.08)!important;text-align:right!important}.video-card:hover{transform:translateY(-4px);box-shadow:0 17px 38px rgba(0,70,33,.15)!important}.video-card-media{position:relative;display:block!important;width:100%!important;height:155px;overflow:hidden;background:linear-gradient(135deg,#e8f5ed,#d6eadf)}.video-card-media img{display:block;width:100%!important;height:100%!important;margin:0!important;border-radius:0!important;object-fit:cover;transition:transform .35s ease}.video-card:hover img{transform:scale(1.055)}.video-card-media>i{position:absolute;inset:50% auto auto 50%;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:rgba(0,75,35,.85);transform:translate(-50%,-50%);box-shadow:0 6px 18px rgba(0,0,0,.25)}.video-access-badge{position:absolute;top:10px;right:10px;padding:4px 9px;border-radius:999px;color:#fff;font-size:10px}.video-access-badge.is-free{background:#0a9950}.video-access-badge.is-premium{background:#b77a10}.video-body{display:block!important;padding:14px!important;text-align:right!important}.video-body>a{display:block;text-decoration:none}.video-title{color:#123d28!important;font-weight:700;font-size:15px!important;line-height:1.8;overflow-wrap:anywhere}.video-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px;color:#66776d;line-height:1.8;min-height:3.6em}
.premium-video-gate{padding:38px 24px;text-align:center;color:#fff;background:radial-gradient(circle at top,#194e36,#071b12);border-radius:14px}.premium-video-gate>i{font-size:38px;color:#82e2aa}.premium-video-gate h2{margin:12px 0 8px;color:#fff;font-size:21px}.premium-video-gate p{max-width:560px;margin:0 auto 20px;color:#d3e8dc;line-height:1.9}

/* عرض قبلی کارت‌های صفحه به علت CSS قدیمی به چند پیکسل می‌رسید */
.stepbystep-gallery .stepbystep-item{display:flex!important;flex-direction:column!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important}.stepbystep-gallery .stepbystep-item img{display:block!important;width:100%!important;min-width:100%!important;height:165px!important}.stepbystep-gallery .stepbystep-title{width:100%!important;white-space:normal!important}.stepbystep-gallery .stepbystep-item .btn{white-space:normal!important;min-height:40px}

@media(max-width:767px){
  body{font-size:13px}.content{padding:14px 10px!important}.content-wrapper>.container{padding-left:8px!important;padding-right:8px!important}
  .nik-sample-card{margin:0 4px 18px!important;border-radius:15px!important}.nik-sample-card .image-fields-container{padding:12px!important}.nik-sample-card .field{display:grid!important;grid-template-columns:auto 1fr;gap:6px;padding:6px 0}.nik-sample-card .product-actions{display:grid!important;grid-template-columns:1fr;padding:10px!important}.nik-sample-card .product-actions .form-group,.nik-sample-card .product-actions .btn{width:100%!important;margin:0!important}.one-column-row{padding-left:5px!important;padding-right:5px!important}
  .chapters-list{grid-template-columns:1fr!important}.chapter-item{min-height:68px;padding:11px!important}
  .video-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}.video-card-media{height:125px}.video-body{padding:11px!important}
  .stepbystep-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}.stepbystep-gallery .stepbystep-item img{height:145px!important}
  .nik-cart-table thead th{color:#fff!important}
}
@media(max-width:480px){.video-list{grid-template-columns:1fr!important}.stepbystep-gallery{grid-template-columns:1fr!important}.stepbystep-gallery .stepbystep-item img{height:190px!important}.premium-video-gate{padding:27px 17px}}
@media(max-width:767px){.chat-page>.row{display:flex;flex-direction:column}.chat-page .shop-chat-content-column{order:1;float:none!important;left:auto!important;right:auto!important;width:100%!important}.chat-page .shop-chat-sidebar-column{order:2;float:none!important;left:auto!important;right:auto!important;width:100%!important;margin-top:22px}}

/* Footer: keep every column inside narrow mobile viewports. */
.main-footer,.main-footer *{box-sizing:border-box}
.main-footer{width:100%;max-width:100%;overflow:hidden}
.main-footer>.container{width:100%!important;max-width:1200px!important;margin:0 auto!important;padding-left:20px!important;padding-right:20px!important}
.main-footer .footer-row{width:100%;max-width:100%;min-width:0}
.main-footer .footer-box{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.main-footer .footer-about p{max-width:100%;white-space:normal;text-align:right}
.main-footer .footer-bottom{width:100%;padding-left:12px;padding-right:12px;line-height:1.9}
@media(max-width:768px){
  .main-footer{padding:34px 0 18px!important}
  .main-footer>.container{padding-left:14px!important;padding-right:14px!important}
  .main-footer .footer-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important;padding:0!important;margin:0!important}
  .main-footer .footer-about,.main-footer .footer-links{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important}
  .main-footer .footer-about p{font-size:14px!important;line-height:2!important;text-align:right!important;margin:0!important}
  .main-footer .footer-about h4,.main-footer .footer-links h4{font-size:20px!important;text-align:center;margin:0 0 16px!important}
  .main-footer .footer-links ul{width:100%;margin:0!important;padding:0!important}
  .main-footer .footer-links a{width:100%;font-size:14px!important;padding:12px!important;text-align:center}
  .main-footer .footer-bottom{font-size:13px!important;margin-top:26px!important}
}
@media(max-width:380px){
  .main-footer>.container{padding-left:10px!important;padding-right:10px!important}
  .main-footer .footer-about p{font-size:13px!important;line-height:1.95!important}
}

.creator-hero,.creator-panel,.creator-balance{direction:rtl;border:1px solid #dfebe4;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(0,62,29,.08)}
.creator-hero{margin-bottom:18px;padding:26px;background:linear-gradient(135deg,#f1fbf5,#fff)}.creator-hero span{color:#08723b;font-weight:700}.creator-hero h1{margin:8px 0;color:#073e22;font:700 27px 'B Titr','B Yekan',Tahoma}.creator-hero p{color:#566d60;line-height:1.9}
.creator-balance{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;padding:14px}.creator-balance>div{text-align:center;padding:13px;border-radius:13px;background:#f2f8f5}.creator-balance b,.creator-balance small{display:block}.creator-balance b{color:#06723b;font-size:20px}.creator-balance small{margin-top:5px;color:#65766c}
.creator-payout{text-align:left;margin-bottom:18px}.creator-panel{margin-bottom:20px;padding:22px}.creator-panel h2{margin-top:0;color:#073e22;font:700 21px 'B Titr','B Yekan',Tahoma}.creator-form label{display:block;margin:13px 0 6px}.creator-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}.creator-terms{padding:13px;border-radius:10px;background:#fff8e8;line-height:1.9}.creator-form>.mainbutton,.creator-payout .mainbutton{border:0;border-radius:10px;padding:11px 18px;color:#fff;background:#00652e}
.creator-submissions article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-bottom:1px solid #edf2ef}.creator-submissions article small{display:block;margin-top:5px;color:#687a70}.creator-submissions article>span{padding:5px 10px;border-radius:999px;white-space:nowrap;background:#eef4f1}.creator-submissions .status-published{color:#08723b;background:#e0f6e9}.creator-submissions .status-rejected{color:#a22424;background:#fde8e8}.creator-submissions .status-changes_requested{color:#855b00;background:#fff2d4}
@media(max-width:767px){.creator-balance{grid-template-columns:1fr}.creator-form-grid{grid-template-columns:1fr}.creator-panel{padding:15px}.creator-submissions article{align-items:flex-start;flex-direction:column}}
@media(max-width:800px){
  .main-header{position:sticky!important;top:0!important;background:#444!important;padding:0!important;z-index:1100!important}
  .mobile-navbar-list{position:relative!important;width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;box-shadow:0 5px 18px rgba(0,0,0,.16)!important;overflow:visible!important}
  .mobile-navbar-logo{display:flex!important;align-items:center;justify-content:space-between;min-height:58px;padding:10px 16px!important;border:0!important;background:#444!important}.mobile-navbar-logo a{color:#fff!important}
  .mobile-navbar-logo>a:first-child{flex:1;min-width:0}.mobile-user-summary{display:flex!important;align-items:center;gap:6px;max-width:42%;margin:0 8px;text-decoration:none!important;font-size:12px;font-weight:700}.mobile-user-summary img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.8)}.mobile-user-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-nav-toggle{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;background:#075c30;font-size:18px}
  .mobile-navbar-list>.mobile-navbar-link,.mobile-navbar-list>.mobile-navbar-form,.mobile-navbar-list>div:not(.mobile-navbar-logo){display:none!important}
  .mobile-navbar-list.is-open>.mobile-navbar-link,.mobile-navbar-list.is-open>.mobile-navbar-form,.mobile-navbar-list.is-open>div:not(.mobile-navbar-logo){display:flex!important}
  .mobile-navbar-list.is-open{max-height:calc(100vh - 10px);overflow-y:auto!important}.mobile-navbar-list.is-open>.mobile-navbar-link{min-height:46px;align-items:center;padding:11px 17px!important;font-size:13px!important}
  nav.navbar.navbar-static-top{position:static!important}.content-wrapper{padding-top:0!important}
}
@media(min-width:801px){.mobile-nav-toggle{display:none!important}}

/* Grade selector: valid full-surface links, centered on desktop and compact on mobile. */
.paye-main-column{float:left!important}
.paye-selector-shell{width:min(720px,100%);margin:22px auto 36px;padding:0 8px;direction:rtl}
.paye-selector-shell>.carousel,.paye-selector-shell .buttons{width:100%;margin-inline:auto}
.paye-selector-shell .buttons{display:grid!important;grid-template-columns:repeat(2,minmax(220px,1fr));gap:24px 68px;align-items:start}
.paye-selector-shell .carousel-inner{position:static!important;width:100%!important;overflow:visible!important}
.paye-selector-shell .containercolumn1{display:grid!important;width:100%!important;gap:7px;padding:10px!important;border:1px solid #d8e2dc;border-radius:15px;background:rgba(255,255,255,.62);box-shadow:0 8px 24px rgba(0,62,29,.055)}
.paye-selector-shell button.mainbutton{display:block!important;width:100%!important;min-height:45px;margin:0!important;padding:0!important;border:0!important;border-radius:9px!important;overflow:hidden}
.paye-selector-shell button.mainbutton>a{min-height:45px;padding:10px 16px!important;text-decoration:none!important}
.paye-grade-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:24px 68px;align-items:start}
.paye-grade-group{display:grid;gap:7px;padding:10px;border:1px solid #d8e2dc;border-radius:15px;background:rgba(255,255,255,.62);box-shadow:0 8px 24px rgba(0,62,29,.055)}
a.paye-grade-link{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:45px;margin:0!important;padding:10px 16px!important;border:0!important;border-radius:9px!important;color:#fff!important;background:#00652e;text-align:center;text-decoration:none!important;font-weight:700;line-height:1.55;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease!important}
a.paye-grade-link:hover,a.paye-grade-link:focus{color:#fff!important;background:#696969!important;transform:translateY(-2px);box-shadow:0 9px 20px rgba(40,40,40,.2)!important;outline:0}
@media(max-width:767px){
  .paye-main-column{float:none!important;width:100%!important}.paye-selector-shell{margin-top:14px;padding:0 3px}.paye-selector-shell .buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.paye-selector-shell .containercolumn1{gap:7px;padding:0!important;border:0;background:transparent;box-shadow:none}.paye-selector-shell button.mainbutton,.paye-selector-shell button.mainbutton>a{min-height:55px}.paye-selector-shell button.mainbutton>a{padding:9px 7px!important;font-size:13px}.paye-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.paye-grade-group{gap:7px;padding:0;border:0;background:transparent;box-shadow:none}a.paye-grade-link{min-height:55px;padding:9px 7px!important;font-size:13px}
}

/* Nested legacy links: make the whole control clickable, not only its text. */
button.mainbutton:has(>a[href]){padding:0!important;overflow:hidden}
button.mainbutton:has(>a[href])>a[href]{min-height:44px;padding:10px 18px!important;text-decoration:none!important}

/* Informational/disabled controls must stay readable on hover. */
.nik-sample-card .btn.disabled,
.nik-sample-card .btn.disabled:hover,
.nik-sample-card .btn[disabled],
.nik-sample-card .btn[disabled]:hover{
  opacity:1!important;color:#fff!important;background:#599574!important;
  transform:none!important;box-shadow:none!important;cursor:not-allowed!important;
}
.field-error {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: #c62828;
    font-size: 12px;
    line-height: 1.8;
}

.birth-date-selects {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

select.form-control:focus,
.custom-select-degree:focus,
.profile-select:focus {
    border-color: #35b779 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(53, 183, 121, .16) !important;
}

select.form-control option:checked,
.custom-select-degree option:checked,
.profile-select option:checked {
    color: #064f2b;
    background: #dff7e9 linear-gradient(0deg, #dff7e9 0%, #dff7e9 100%);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected="true"] {
    color: #064f2b !important;
    background-color: #dff7e9 !important;
}

@media (max-width: 520px) {
    .birth-date-selects { grid-template-columns: 1fr; }
}
.bank-card-insight { min-height: 24px; margin-top: 6px; font-size: 12px; color: #52645a; }
.bank-card-insight.is-valid { color: #08783e; }
.bank-card-insight.is-invalid { color: #c62828; }
.video-creator-entry {
    margin-top: 10px;
    background: #e7f8ee !important;
    color: #075c32 !important;
    border: 1px solid #8ad0a8 !important;
}
.video-creator-entry:hover,
.video-creator-entry:focus {
    background: #d5f2e1 !important;
    color: #034b27 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,85,34,.15);
}
.teacher-bank-locked {
    display: flex; align-items: center; gap: 12px; margin-top: 12px; padding: 14px;
    border: 1px dashed #9bcbb0; border-radius: 12px; background: #f3fbf6; color: #245c3c;
}
.teacher-bank-locked i { font-size: 22px; color: #579671; }
.teacher-bank-locked b, .teacher-bank-locked small { display: block; }
.teacher-bank-locked small { margin-top: 4px; color: #637a6c; line-height: 1.8; }

/* Select سبز یکپارچه در تمام بخش کاربری */
.select2-container { max-width: 100%; direction: rtl; }
.select2-container--default .select2-selection--single {
    min-height: 40px; border: 1px solid #c9d8cf !important; border-radius: 8px !important;
    background: #fff !important; transition: border-color .18s, box-shadow .18s;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    min-height: 38px; padding: 7px 12px 7px 34px !important; color: #173a29 !important; line-height: 24px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 38px !important; left: 8px !important; right: auto !important; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: #35b779 !important; box-shadow: 0 0 0 3px rgba(53,183,121,.16) !important;
}
.select2-dropdown { border: 1px solid #8bcfac !important; border-radius: 9px !important; overflow: hidden; box-shadow: 0 12px 30px rgba(0,75,35,.14) !important; }
.select2-results__options { scrollbar-color: #72b991 #eef8f2; }
.select2-container--default .select2-results__option { padding: 8px 12px !important; color: #173a29 !important; background:#fff !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { color:#064f2b !important; background:#dff7e9 !important; }
.select2-container--default .select2-results__option[aria-selected="true"] { color:#fff !important; background:#168552 !important; }
.select2-search--dropdown { padding:8px !important; background:#f4fbf7; }
.select2-search--dropdown .select2-search__field { border:1px solid #9acdb0 !important; border-radius:7px; outline:0; }
.select2-search--dropdown .select2-search__field:focus { border-color:#168552 !important; box-shadow:0 0 0 3px rgba(22,133,82,.13); }

/* ناوبار ثابت سراسری؛ این قوانین عمداً در انتهای فایل قرار دارند تا قوانین قدیمی را خنثی کنند. */
body { padding-top: 82px !important; }
.main-header,
nav.navbar.navbar-static-top {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 10050 !important;
    margin: 0 !important;
    box-shadow: 0 5px 18px rgba(0,0,0,.16) !important;
}
.content-wrapper { padding-top: 0 !important; }

/* نسبت‌های کوچک‌تر و لطیف‌تر کاراکتر مشترک */
#guideMascot { min-height: 292px !important; position:relative; --look-x:0px; --look-y:0px; }
#guideChar { display:block!important; width:190px !important; filter:drop-shadow(0 13px 13px rgba(0,75,35,.13)); }
#guideMascotImage{display:block;width:210px;height:auto;margin:0 auto;filter:drop-shadow(0 16px 18px rgba(0,61,29,.15));transform-origin:50% 88%;animation:nikMascotAlive 3.2s cubic-bezier(.45,0,.55,1) infinite;transition:filter .35s ease;will-change:transform;--mascot-tilt:0deg;--mascot-shift-x:0px;--mascot-shift-y:0px}
#guideMascot:hover #guideMascotImage{filter:drop-shadow(0 20px 22px rgba(0,61,29,.2));animation-duration:2.15s}
#guideMascotImage~#guideChar{display:block!important}
/* Hard cleanup for stale mascot overlays kept by an already-open browser tab. */
#guideMascot .nik-mascot-face,#guideMascot .nik-mascot-wave,#guideMascot .nik-eye,#guideMascot .nik-mouth{display:none!important;visibility:hidden!important;opacity:0!important}
@keyframes nikMascotAlive{
  0%,100%{transform:translate(var(--mascot-shift-x),var(--mascot-shift-y)) rotate(calc(var(--mascot-tilt) - 1.4deg)) scale(1)}
  25%{transform:translate(calc(var(--mascot-shift-x) - 3px),calc(var(--mascot-shift-y) - 10px)) rotate(calc(var(--mascot-tilt) + 1deg)) scale(1.012)}
  52%{transform:translate(calc(var(--mascot-shift-x) + 3px),calc(var(--mascot-shift-y) - 4px)) rotate(calc(var(--mascot-tilt) + 1.8deg)) scale(.995)}
  76%{transform:translate(var(--mascot-shift-x),calc(var(--mascot-shift-y) - 12px)) rotate(calc(var(--mascot-tilt) - .6deg)) scale(1.015)}
}
#guideMascot.is-reacting #guideMascotImage{animation:nikMascotReact .72s ease-in-out 2}
#guideMascot.is-speaking #guideBubble{animation:nikBubbleTalk .32s ease-in-out infinite alternate;border-color:#91d3ac;box-shadow:0 14px 30px rgba(0,85,34,.17)}
@keyframes nikMascotReact{0%,100%{transform:translateY(0) rotate(-1deg)}40%{transform:translateY(-15px) rotate(3deg) scale(1.025)}70%{transform:translateY(-6px) rotate(-2deg)}}
@keyframes nikBubbleTalk{from{transform:translateY(0) scale(1)}to{transform:translateY(-2px) scale(1.018)}}
#guideBubble { width: 220px !important; padding: 10px 14px !important; font-size: 13px !important; top: 76% !important; }

@media (max-width: 800px) {
    body { padding-top: 66px !important; }
    .main-header { position: fixed !important; top:0 !important; right:0 !important; left:0 !important; }
    .mobile-navbar-list {
        position: fixed !important; top:0 !important; right:0 !important; left:0 !important;
        width:100% !important; z-index:10060 !important; margin:0 !important;
    }
    .mobile-navbar-list.is-open { max-height:100vh !important; overflow-y:auto !important; }
    nav.navbar.navbar-static-top { position: fixed !important; top:0 !important; }
    #guideChar { width: 170px !important; }
    #guideMascotImage{width:190px}
    #guideMascot { min-height: 275px !important; }
}
@media(prefers-reduced-motion:reduce){#guideMascotImage{animation:none!important}}

/* نسخه اختصاصی و نرم‌تر کاراکتر کدنویسی‌شده نیک‌اندیش */
#guideChar #guideHead>path:first-child{fill:#fff8f3!important;stroke:#315c49!important;stroke-width:5!important}
#guideChar #mascotBody>path:first-child{fill:#eefaf3!important;stroke:#315c49!important;stroke-width:5!important}
#guideChar #mascotBody>path:nth-child(2){stroke:#62bd89!important}
#guideChar .mascot-arm path,#guideChar .mascot-leg path,#guideChar #legL path,#guideChar #legR path{stroke:#315c49!important}
#guideChar .mascot-arm circle{fill:#fff8f3!important;stroke:#315c49!important}
#guideChar #guideHead>ellipse{fill:#ffb5c8!important;opacity:.5!important}
#guideChar #pupilL ellipse,#guideChar #pupilR ellipse{fill:#70431f!important;stroke:#3b2417;stroke-width:2px}
#guideChar #pupilL circle,#guideChar #pupilR circle{fill:#fff!important;r:3.2px}
#guideChar #browL path,#guideChar #browR path{stroke:#735143!important;stroke-width:3.4!important}
#guideChar #mouthNormal{stroke:#8d4c58!important;stroke-width:3.5!important}
#guideChar #mouthOpen{fill:#e97891!important;stroke:#7a4650!important;stroke-width:3.5!important}
#guideChar:hover{filter:drop-shadow(0 17px 17px rgba(0,85,39,.18))}
.mascot-hair-back{fill:#704a38;stroke:#4d3026;stroke-width:4}.mascot-fringe{fill:#79513d;stroke:#4d3026;stroke-width:4;stroke-linejoin:round}.mascot-side-lock{fill:none;stroke:#4d3026;stroke-width:7;stroke-linecap:round}
.mascot-dress{fill:#168052;stroke:#315c49;stroke-width:5;stroke-linejoin:round}.mascot-collar{fill:#fff8e9;stroke:#315c49;stroke-width:3.5;stroke-linejoin:round}.mascot-bow{fill:#ff9eb9;stroke:#7e4c5c;stroke-width:3}.mascot-dress-line{fill:none;stroke:#72c99a;stroke-width:4;stroke-linecap:round}
#guideChar #mascotBody>circle{fill:#ffd36f!important;stroke:#8a6723;stroke-width:2}
/* حذف هم‌پوشانی تزئینات آزمایشی؛ یک سر و یک بدن اصلی حفظ می‌شود. */
#guideChar .mascot-hair-back,#guideChar .mascot-fringe,#guideChar .mascot-side-lock,#guideChar .mascot-dress{display:none!important}
#guideChar #mascotBody>path:first-child{fill:#e9f8ef!important}
#guideChar .mascot-collar{fill:#fff8e9!important}.mascot-bow{fill:#f39ab4!important}.mascot-dress-line{stroke:#62bd89!important}

/* Professional interactive digital guide */
.nik-digital-guide{position:relative;display:flex;flex-direction:column;align-items:center;min-height:330px;perspective:900px}
.nik-digital-guide #guideChar{width:205px!important;filter:drop-shadow(0 16px 22px rgba(5,63,43,.14));animation:nikGuideFloat 5.2s cubic-bezier(.45,0,.55,1) infinite!important}
.nik-digital-guide #guideHead{transform-origin:160px 205px}
.nik-digital-guide #mascotBody>path:first-child{fill:url(#guideCoreGradient)!important;stroke:#052f20!important;stroke-width:5!important}
.nik-digital-guide .guide-arm path{stroke:#083f2c!important;stroke-width:12!important}
.nik-digital-guide .guide-arm circle{fill:#42bd83!important;stroke:#083f2c!important}
.nik-digital-guide #pupilL circle:first-child,.nik-digital-guide #pupilR circle:first-child{fill:#123b2b!important;stroke:none!important}
.nik-digital-guide #mouthNormal{stroke:#49665a!important}.nik-digital-guide #mouthOpen{fill:#42bd83!important;stroke:#083f2c!important}
.nik-digital-guide .guide-orbit--outer{transform-origin:160px 203px;animation:nikGuideOrbit 18s linear infinite}
.nik-digital-guide .guide-orbit--inner{transform-origin:160px 203px;animation:nikGuideOrbitReverse 14s linear infinite}
.nik-digital-guide #armL{transform-origin:207px 265px;animation:nikGuideSignal 5.5s ease-in-out infinite}
@keyframes nikGuideFloat{0%,100%{transform:translateY(0) rotate(-.25deg)}45%{transform:translateY(-8px) rotate(.35deg)}72%{transform:translateY(-3px)}}
@keyframes nikGuideOrbit{to{transform:rotate(360deg)}}
@keyframes nikGuideOrbitReverse{to{transform:rotate(-360deg)}}
@keyframes nikGuideSignal{0%,67%,100%{transform:rotate(0)}74%{transform:rotate(-5deg)}82%{transform:rotate(4deg)}90%{transform:rotate(-2deg)}}
.nik-digital-guide #guideBubble{font-size:14px;color:#203f33;border-radius:14px;border-color:rgba(11,107,67,.18);box-shadow:0 12px 30px rgba(5,63,43,.11)}
@media(max-width:767px){.nik-digital-guide #guideChar{width:178px!important}.nik-digital-guide{min-height:295px}}
@media(prefers-reduced-motion:reduce){.nik-digital-guide #guideChar,.nik-digital-guide .guide-orbit,.nik-digital-guide #armL{animation:none!important}}

/* Minimal interactive expression — intentionally not a mascot */
#guideMascot.nik-expression-guide{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:265px;margin-top:28px!important}
.nik-expression-guide #guideChar{display:block;width:230px!important;height:auto;margin:0 auto!important;overflow:visible;filter:none!important;animation:nikExpressionFloat 5.6s ease-in-out infinite!important;transform-origin:50% 58%}
.nik-expression-guide #guideHead{transform-origin:160px 110px;transition:transform .18s cubic-bezier(.22,.8,.36,1)}
#guideChar #pupilL circle:first-child,#guideChar #pupilR circle:first-child{fill:#163d2e!important;stroke:#0b6b43!important;stroke-width:2px!important;r:12px!important}
#guideChar #pupilL circle:last-child,#guideChar #pupilR circle:last-child{fill:#fff!important;stroke:none!important;r:3.5px!important}
.nik-expression-guide #pupilL,.nik-expression-guide #pupilR{transition:transform .09s cubic-bezier(.2,.8,.3,1);will-change:transform}
.nik-expression-guide #mouthNormal{stroke:#315c49!important;stroke-width:6!important}.nik-expression-guide #mouthOpen{fill:#42bd83!important;stroke:#315c49!important}
.nik-expression-guide #browL,.nik-expression-guide #browR{transition:transform .22s ease}
.nik-expression-guide #blinkL,.nik-expression-guide #blinkR{transition:opacity .045s linear}
.nik-expression-guide #guideChar.is-winking #browL{transform:translateY(3px) rotate(5deg);transform-origin:105px 55px}
.nik-expression-guide #guideChar.is-winking #browR{transform:translateY(-3px) rotate(3deg);transform-origin:215px 55px}
.nik-expression-guide #guideChar.is-excited #browL{transform:translateY(-5px) rotate(-3deg);transform-origin:105px 55px}
.nik-expression-guide #guideChar.is-excited #browR{transform:translateY(-5px) rotate(3deg);transform-origin:215px 55px}
.nik-expression-guide #guideBubble{position:relative;top:auto;left:auto;transform:none;margin-top:-4px;width:min(270px,90vw);font-size:14px;border-radius:14px;color:#244638;box-shadow:0 10px 26px rgba(5,63,43,.1)}
.nik-expression-guide #guideBubble.is-speaking{transform:translateY(-3px) scale(1.015)}
.nik-expression-guide #guideBubble::after{display:none}
.nik-expression-guide #mouthOpen.talk{animation:mouthTalk .32s ease-in-out infinite alternate}
@keyframes nikExpressionFloat{0%,100%{transform:translateY(0)}48%{transform:translateY(-5px)}72%{transform:translateY(-2px)}}
@media(max-width:767px){#guideMascot.nik-expression-guide{min-height:240px;margin-top:12px!important}.nik-expression-guide #guideChar{width:205px!important}.nik-expression-guide #guideBubble{font-size:13px}}
@media(prefers-reduced-motion:reduce){.nik-expression-guide #guideChar{animation:none!important}}

/* Teachers directory visual system */
body.page-teacher_list .maintitle,.teacher-directory-title{font-family:'B Titr','B Yekan',Tahoma;color:#075b31;text-align:right;margin:8px 0 20px}
#teacherList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#teacherList .teacher-card{margin:0!important;padding:18px!important;border:1px solid #dce9e1!important;border-radius:18px!important;background:linear-gradient(145deg,#fff,#f8fcfa)!important;box-shadow:0 10px 28px rgba(0,68,31,.08)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
#teacherList .teacher-card:hover{transform:translateY(-4px);border-color:#9bcdb0!important;box-shadow:0 17px 36px rgba(0,68,31,.14)!important}
#teacherList .teacher-photo{float:none!important;width:112px!important;height:112px!important;margin:0 auto 14px!important}
#teacherList .teacher-photo img{width:112px!important;height:112px!important;object-fit:cover;border:4px solid #e1f3e8;border-radius:50%!important;box-shadow:0 8px 20px rgba(0,80,37,.14)}
.filter-form{padding:16px!important;border:1px solid #dce9e1;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(0,60,28,.06)}
.disclaimer-box{border:1px solid #dce9e1!important;border-right:5px solid #08743b!important;border-radius:14px!important;background:#f4fbf7!important}
@media(max-width:767px){#teacherList{grid-template-columns:1fr}.ad-request-page>.row>[class*="col-"]{padding-left:8px!important;padding-right:8px!important}}

/* Live search shared by desktop and mobile navigation. */
.nik-live-search{position:relative;display:block;min-width:0}.custom-search-group>.nik-live-search{display:table-cell;vertical-align:middle}.nik-live-search>input{width:100%}
.nik-live-search-results{display:none;position:absolute;top:calc(100% + 7px);right:0;z-index:11050;width:min(390px,calc(100vw - 28px));max-height:370px;overflow:auto;padding:7px;border:1px solid #b9d9c6;border-radius:13px;background:#fff;box-shadow:0 18px 42px rgba(0,52,25,.2);direction:rtl}
.nik-live-search-results.is-open{display:block}.nik-live-search-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:9px 11px;border-radius:9px;color:#173a29!important;text-decoration:none!important;transition:background-color .16s,transform .16s}.nik-live-search-item+.nik-live-search-item{border-top:1px solid #edf3ef}.nik-live-search-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.nik-live-search-item small{flex:0 0 auto;padding:4px 8px;border-radius:999px;color:#08723b;background:#e8f7ee;font-size:10px}.nik-live-search-item:hover,.nik-live-search-item:focus,.nik-live-search-item.is-active{color:#064f2b!important;background:#dff7e9;transform:translateX(-2px);outline:0}.nik-live-search-empty{padding:15px 10px;color:#697b70;text-align:center}

/* Safe mobile spacing: main content only, sidebar geometry stays intact. */
@media(max-width:767px){
  .content-wrapper>.container{padding-right:14px!important;padding-left:14px!important}
  .content>.row>[class*="col-"]:not(.site-sidebar){padding-right:8px!important;padding-left:8px!important}
  .one-column-row{padding-right:7px!important;padding-left:7px!important}
  .nik-sample-card{margin-right:0!important;margin-left:0!important}
  .nik-sample-card .image-fields-container{padding:16px!important}
  .nik-sample-card .product-actions{padding:13px!important;gap:8px!important}
  .nik-live-search{width:100%}.nik-live-search-results{position:fixed;top:64px;right:14px;left:14px;width:auto;max-height:calc(100vh - 84px)}
}

/* مودال‌های ورود در موبایل باید همیشه بالاتر از منوی بازشونده باشند. */
#overlay {
  z-index: 10200 !important;
}

/* نوار دسکتاپ: عنوان، منو، جستجو و حساب کاربری در یک ردیف بمانند. */
@media (min-width: 1200px) {
  .main-header .navbar > .container {
    min-height: 74px;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .navbar-header.site-title {
    margin-left: 14px !important;
  }

  .navbar-header.site-title > a.site-title {
    font-size: 1.85rem !important;
  }

  .navbar-main-links ul.navbar-nav > li > a {
    padding-left: 10px !important;
    padding-right: 10px !important;
    white-space: nowrap;
  }

  .navbar-form.navbar-left {
    margin-left: 12px !important;
    margin-right: 8px !important;
  }

  .navbar-custom-menu {
    margin-left: 0 !important;
  }
}

/* چیدمان اصلی دسکتاپ: همان ساختار شناور قبلی، بدون پرش هنگام جستجو. */
@media (min-width: 1200px) {
  .main-header .navbar > .container {
    display: block !important;
    width: calc(100% - 48px) !important;
    max-width: 1360px !important;
    min-height: 74px;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .main-header .navbar-header.site-title {
    float: left !important;
    margin: 0 0 0 10px !important;
  }

  .main-header .navbar-custom-menu {
    float: left !important;
    margin: 0 10px 0 0 !important;
  }

  .main-header .navbar-main-links {
    float: right !important;
  }

  .main-header .navbar-main-links .navbar-collapse {
    float: left !important;
    display: block !important;
    padding: 0 !important;
  }

  .main-header .navbar-main-links .navbar-nav,
  .main-header .navbar-custom-menu .navbar-nav {
    float: left !important;
    display: block !important;
    margin: 0 0 0 18px !important;
  }

  .main-header .navbar-custom-menu .navbar-nav {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .main-header .navbar-main-links .navbar-nav > li,
  .main-header .navbar-custom-menu .navbar-nav > li {
    float: left !important;
  }

  .main-header .navbar-form.navbar-left {
    float: left !important;
    margin: 8px 12px 8px 8px !important;
  }

  .main-header .custom-search-group {
    width: 180px;
  }

  .main-header .custom-search-group:focus-within {
    position: relative !important;
    right: auto !important;
    width: 180px !important;
  }
}

/* آرایش نهایی دسکتاپ: عنوان/حساب/جستجو چپ و لینک‌های اصلی راست. */
@media (min-width: 1200px) {
  .main-header .navbar > .container {
    display: flex !important;
    flex-direction: row !important;
    direction: ltr !important;
    align-items: center;
    width: 1170px !important;
    max-width: calc(100% - 30px) !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .main-header .navbar-header.site-title {
    order: 1;
    float: none !important;
    flex: 0 0 auto;
  }

  .main-header .navbar-custom-menu {
    order: 2;
    float: none !important;
    flex: 0 0 auto;
    direction: rtl;
    margin: 0 0 0 18px !important;
  }

  .main-header .navbar-main-links {
    order: 3;
    float: none !important;
    flex: 1 1 auto;
    min-width: 0;
  }

  .main-header .navbar-main-links .navbar-collapse {
    float: none !important;
    display: flex !important;
    flex-direction: row !important;
    direction: ltr;
    align-items: center;
    width: 100%;
  }

  .main-header .navbar-form.navbar-left {
    order: 1;
    float: none !important;
    flex: 0 0 180px;
    margin: 8px 0 8px 10px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .main-header .navbar-main-links ul.navbar-nav {
    order: 2;
    float: none !important;
    display: flex !important;
    flex-direction: row !important;
    direction: ltr;
    margin-left: auto !important;
  }
}

#loginModal.show,
#signupModal.show,
#forgotModal.show,
#loginModal.in,
#signupModal.in,
#forgotModal.in {
  z-index: 10250 !important;
}

@media (max-width: 800px) {
  #loginModal.show,
  #signupModal.show,
  #forgotModal.show,
  #loginModal.in,
  #signupModal.in,
  #forgotModal.in {
    display: flex !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 12px !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-y: auto !important;
  }

  #loginModal .modal-content,
  #signupModal .modal-content,
  #forgotModal .modal-content {
    width: min(94vw, 500px) !important;
    max-height: calc(100dvh - 24px) !important;
    margin: auto !important;
    overflow-y: auto !important;
  }
}
/* Educational news */
/* Article links must remain readable independently of global white-link rules. */
.page-news-detail .nik-news-article .nik-news-content a,
.page-news-detail .nik-news-article .nik-news-content a:link,
.page-news-detail .nik-news-article .nik-news-content a:visited {
    color: #075985 !important;
    -webkit-text-fill-color: #075985 !important;
    text-decoration: underline !important;
    text-underline-offset: .2em;
    overflow-wrap: anywhere;
}
.page-news-detail .nik-news-article .nik-news-content a:hover,
.page-news-detail .nik-news-article .nik-news-content a:focus {
    color: #064e3b !important;
    -webkit-text-fill-color: #064e3b !important;
    background-color: #e9f7ef;
}
.page-news-detail .nik-news-article .nik-news-content a:focus-visible {
    outline: 2px solid #075985;
    outline-offset: 3px;
    border-radius: 2px;
}
.nik-news-page{padding-top:28px}.nik-news-hero{position:relative;overflow:hidden;padding:34px;border:1px solid #d8e9df;border-radius:24px;background:linear-gradient(135deg,#f0fbf5 0%,#fff 58%,#eef4ff 100%);box-shadow:0 15px 40px rgba(0,70,32,.07);margin-bottom:20px}.nik-news-hero:after{content:'خبر';position:absolute;left:24px;top:8px;color:rgba(0,85,34,.05);font:bold 90px 'B Titr','B Yekan'}.nik-news-hero>span,.home-news-heading span{color:#08743b;font-size:13px;font-weight:bold}.nik-news-hero h1{margin:7px 0 10px;color:#173a29;font:32px 'B Titr','B Yekan'}.nik-news-hero p{max-width:650px;color:#566c60;line-height:1.9}.nik-news-hero form{position:relative;z-index:1;display:flex;max-width:640px;margin-top:18px}.nik-news-hero input{flex:1;min-width:0;border:1px solid #bfd8c9;border-left:0;border-radius:0 12px 12px 0;padding:13px}.nik-news-hero button{border:0;border-radius:12px 0 0 12px;padding:0 20px;background:#005522;color:#fff}.nik-news-categories{display:flex;gap:8px;overflow:auto;padding:4px 0 16px}.nik-news-categories a{white-space:nowrap;border:1px solid #cee0d5;border-radius:999px;padding:8px 14px;color:#365847;background:#fff}.nik-news-categories a.active,.nik-news-categories a:hover{background:#005522;color:#fff}.nik-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.nik-news-card{overflow:hidden;border:1px solid #dbe8e0;border-radius:19px;background:#fff;box-shadow:0 10px 28px rgba(0,61,29,.06);transition:.2s}.nik-news-card:hover{transform:translateY(-4px);box-shadow:0 17px 36px rgba(0,61,29,.12)}.nik-news-image{display:block;height:190px;background:linear-gradient(135deg,#dff5e8,#eef3ff)}.nik-news-image img{width:100%;height:100%;object-fit:cover}.nik-news-image span{display:flex;height:100%;align-items:center;justify-content:center;color:#08743b;font-size:50px}.nik-news-card-body{padding:17px}.nik-news-badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#e8f7ee;color:#08743b;font-size:11px}.nik-news-card h2{font:20px 'B Titr','B Yekan';line-height:1.7;margin:10px 0}.nik-news-card h2 a{color:#173a29}.nik-news-card p{height:55px;overflow:hidden;color:#66776e;line-height:1.8;font-size:13px}.nik-news-card footer{display:flex;justify-content:space-between;border-top:1px solid #edf2ef;padding-top:12px;color:#7b8981;font-size:12px}.nik-news-card footer a{color:#08743b;font-weight:bold}.nik-news-empty{text-align:center;padding:50px;border:1px dashed #c8dbcf;border-radius:18px;background:#fff}.nik-news-empty i{font-size:36px;color:#87ae98}.nik-pagination{display:flex;justify-content:center;gap:7px;padding:25px}.nik-pagination a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cfe0d6;border-radius:10px;background:#fff;color:#27543c}.nik-pagination a.active{background:#005522;color:#fff}.nik-news-article{margin-top:28px;padding:30px;border:1px solid #dae8df;border-radius:22px;background:#fff;box-shadow:0 12px 35px rgba(0,60,28,.07)}.nik-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;color:#74827a;font-size:12px}.nik-breadcrumb a{color:#537060}.nik-news-article header h1{font:34px/1.7 'B Titr','B Yekan';color:#173a29;margin:13px 0}.nik-news-meta{display:flex;flex-wrap:wrap;gap:15px;color:#718078;font-size:12px}.nik-news-article figure{margin:24px 0}.nik-news-article figure img{width:100%;max-height:470px;object-fit:cover;border-radius:17px}.nik-news-article figcaption{margin-top:6px;color:#7a877f;font-size:11px}.nik-news-lead{padding:17px;border-right:4px solid #08743b;border-radius:10px;background:#f1faf5;color:#345747;font-size:16px;line-height:2}.nik-news-content{font-size:15px;line-height:2.2;color:#293d33}.nik-news-content h2,.nik-news-content h3{color:#075522;font-family:'B Titr','B Yekan';margin-top:30px}.nik-news-content img{max-width:100%;height:auto;border-radius:12px}.nik-news-content table{width:100%;border-collapse:collapse}.nik-news-content th,.nik-news-content td{border:1px solid #dce6e0;padding:9px}.nik-news-content blockquote{border-right:4px solid #6b64c9;background:#f5f3ff;border-left:0}.nik-official-action{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0;padding:18px;border-radius:15px;background:linear-gradient(120deg,#e7f7ed,#f3f0ff)}.nik-official-action small{display:block;margin-top:5px;color:#617368}.nik-official-action a{flex:0 0 auto;padding:11px 16px;border-radius:9px;background:#005522;color:#fff}.nik-news-source{padding:16px;border:1px solid #d9e5dd;border-radius:13px;background:#fafcfb}.nik-news-source p{margin:7px 0}.nik-news-source a{color:#08743b}.nik-related-news{margin:20px 0}.nik-related-news h2{font-family:'B Titr','B Yekan';color:#173a29}.nik-related-news>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.nik-related-news a{overflow:hidden;border:1px solid #dbe8e0;border-radius:13px;background:#fff;color:#274a38}.nik-related-news img{width:100%;height:105px;object-fit:cover}.nik-related-news strong{display:block;padding:12px}.nik-news-notfound{max-width:700px;margin:100px auto;padding:50px;text-align:center}.home-news-section{margin:28px 0;padding:22px;border:1px solid #dbe8e0;border-radius:20px;background:#fff}.home-news-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.home-news-heading h2{margin:4px 0 0;font:26px 'B Titr','B Yekan';color:#173a29}.home-news-heading>a{color:#08743b}.home-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.home-news-grid article{overflow:hidden;border:1px solid #e0e9e3;border-radius:14px;background:#fbfdfc}.home-news-thumb{display:grid;place-items:center;height:105px;background:#edf8f2;color:#08743b;font-size:34px}.home-news-thumb img{width:100%;height:100%;object-fit:cover}.home-news-grid article>div{padding:11px}.home-news-grid time{font-size:10px;color:#79877f}.home-news-grid h3{font-size:14px;line-height:1.8;margin:5px 0}.home-news-grid h3 a{color:#234633}.home-news-grid p{height:38px;overflow:hidden;font-size:11px;color:#748078;line-height:1.7}@media(max-width:767px){.nik-news-hero{padding:24px 18px}.nik-news-hero h1,.nik-news-article header h1{font-size:26px}.nik-news-grid{grid-template-columns:1fr}.nik-news-article{padding:20px 15px}.nik-official-action{align-items:stretch;flex-direction:column}.nik-official-action a{text-align:center}.nik-related-news>div,.home-news-grid{grid-template-columns:1fr}.home-news-grid article{display:grid;grid-template-columns:115px 1fr}.home-news-thumb{height:100%}}
