/* ================== */
/* == 1. Font Definitions == */
/* ================== */

@font-face {
  font-family: 'IranSans';
  src: url('../fonts/iransans/woff2/IRANSansWeb.woff2') format('woff2'),
       url('../fonts/iransans/woff/IRANSansWeb.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'IRANSansWeb_Bold';
  src: url('../fonts/iransans/ttf/IRANSansWeb_Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'IRANSansWeb_Light';
  src: url('../fonts/iransans/ttf/IRANSansWeb_Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "bootstrap-icons";
  src: url("../app/bootstrap-icons-1.10.5/font/fonts/bootstrap-icons.woff2") format("woff2"),
       url("../app/bootstrap-icons-1.10.5/font/fonts/bootstrap-icons.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

.bi {
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: inline-block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


#refresh-captcha i.bi {
  font-size: 1.8rem;
  line-height: 1;
}

#refresh-captcha {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px; /* ثابت بمونه */
  padding: 0 14px;
}

/* باقی استایل‌ها همون‌هایی هستن که قبلاً دادی و همین‌جا در فایل باقی می‌مونن. */

/* == 2. Global Styles == */
/* ================== */

body, input, textarea, button {
    font-family: 'IranSans', Tahoma, sans-serif;
}

.font1 {
    font-family: 'IranSans', Tahoma, sans-serif;
    font-size: 12px;
}


/* Background تمام سکشن‌ها */
.bg-custom {
    background-color: #E7E7E7;
}

/* تنظیمات بدنه سایت */
body {
    background-color: #E7E7E7;
    margin: 0;
    padding-top: 40px; /* برای منوی fixed بالایی */
}

/* ================== */
/* == 3. Menu / Navbar == */
/* ================== */

.menu-link {
    position: relative;
    text-decoration: none;
    color: black;
    font-size: 16px;
    padding-bottom: 0px;
    transition: color 0.3s ease;
    display: inline-block;
}

.menu-link:hover {
    color: #750a0a;
}

.menu-link::after {
    content: '';
    position: absolute;
    left: 0;
    width: 0%;
    bottom: 0px;
    height: 2px;
    background-color: #750a0a;
    transition: width 0.3s ease;
}

.menu-link:hover::after {
    width: 100%;
}

.navbar-expand-lg .navbar-nav {
    align-items: center;
    height: 40px;
    gap: 1.5rem;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding: 0 15px;
    line-height: 40px;
}

/* ================== */
/* == 4. Hero Section == */
/* ================== */

.hero-section {
    padding-top: 100px;
    padding-bottom: 100px;
}

.hero-title {
    font-family: 'IRANSansWeb_Bold', sans-serif;
    animation: fadeInUp 1s ease-out forwards;
    opacity: 0;
    transform: translateY(20px);
    text-align: right;
    direction: rtl;
}

.hero-subtitle {
    color: #555;

    margin: auto;
    animation: fadeInUp 1.5s ease-out forwards;
    opacity: 0;
    transform: translateY(20px);
    text-align: right;
    direction: rtl;
}

.hero-description {
    margin-bottom: 1rem;
    line-height: 1.6;
        text-align: right;
    direction: rtl;
}

.list-unstyled{
    text-align: right;
    direction: rtl;
}

.hero-btn {
    background-color: rgb(19, 117, 42);
    color: white;
    border: none;
    transition: all 0.3s ease;
    padding: 14px 30px;
    font-size: 1.1rem;
    border-radius: 8px;
    box-shadow: 0 8px 12px rgb(19, 117, 42,0.1);
}

.hero-btn:hover {
    background-color: rgba(19, 117, 42,0.6);
    box-shadow: 0 6px 16px rgba(19, 117, 42, 0.2);
    transform: translateY(-3px);
}

.logo-hero {
    animation: zoomIn 1s ease-out forwards;
    opacity: 0;
    transform: scale(0.8);
}

.hero-image {
    max-width: 100%;
    border-radius: 20px;
    transition: transform 0.3s ease;
}

.hero-image:hover {
    transform: scale(1.02);
}

.hero-section hr.border-bottom {
    height: 2px;
    background-color: #535353;
    margin-top: 0;
    margin-bottom: 0;
}

/* انیمیشن ظاهر شدن متن از سمت راست */
.animate-fade-in {
    opacity: 0;
    transform: translateX(150px); /* تغییر از +50px به -50px */
    animation: fadeInFromRight 2s ease-out forwards;
}

/* انیمیشن‌ها */
@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes zoomIn {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes fadeInFromRight {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ================== */
/* == 5. Cards & Course Items == */
/* ================== */

.card-title {
    text-align: center !important;
    font-weight: bold !important;
    color: #2c2c2c !important;
}

.card.bg-course {
    background-color: rgba(40, 167, 69, 0.05);
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card.bg-course:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(40, 167, 69, 0.2);
}

/* ================== */
/* == 6. Contact Form == */
/* ================== */

#captcha-img {
    height: 40px;
    border: 1px solid #ccc;
    transition: transform 0.3s ease;
}

.alert-danger {
    background-color: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
    padding: 10px 15px;
    border-radius: 4px;
    margin-bottom: 15px;
}

/* ================== */
/* == 7. Animations == */
/* ================== */

@keyframes fadeInFromRight {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ================== */
/* == 8. Utilities & Misc == */
/* ================== */

/* استایل iframe */
.map-frame {
    transition: transform 0.3s ease;
}

.map-frame:hover {
    transform: scale(1.01);
}


#online-users-box {
    position: fixed;
    bottom: 20px;
    left: 20px;
    background-color: rgba(0, 112, 7,0.8);
    color: white;
    padding: 12px 20px; /* افزایش عرض داخلی */
    width: 200px; /* تعیین عرض باکس */
    height:60px;
    border-radius: 8px;
    font-size: 14px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
    text-align: center; /* تنظیم متن وسط */
}

.whatsapp-float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999;
    background-color: transparent;
}