/* ======================
   Vazir Font


@font-face {
    font-family: "Vazir";
    src: url("/static/fonts/vazir/Vazir-Thin.woff2") format("woff2");
    font-weight: 100;
}

@font-face {
    font-family: "Vazir";
    src: url("/static/fonts/vazir/Vazir-Light.woff2") format("woff2");
    font-weight: 300;
}

@font-face {
    font-family: "Vazir";
    src: url("/static/fonts/vazir/Vazir-Regular.woff2") format("woff2");
    font-weight: 400;
}

@font-face {
    font-family: "Vazir";
    src: url("/static/fonts/vazir/Vazir-Medium.woff2") format("woff2");
    font-weight: 500;
}

@font-face {
    font-family: "Vazir";
    src: url("/static/fonts/vazir/Vazir-Bold.woff2") format("woff2");
    font-weight: 700;
}

@font-face {
    font-family: "Vazir";
    src: url("/static/fonts/vazir/Vazir-Black.woff2") format("woff2");
    font-weight: 900;
}
====================== */

@font-face {
    font-family: "IRANSans";
    src: url("/static/fonts/IRANSansWeb.woff2") format("woff2"),
         url("/static/fonts/IRANSansWeb.woff") format("woff"),
         url("/static/fonts/IRANSansWeb.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* ======================
   Base Styles
====================== */

body {
    font-family: "IRANSans", sans-serif;
    background: #f8f9fa;
    direction: rtl;
}
*{
    font-family: "IRANSans", sans-serif;
}

/* ======================
   Typography
====================== */

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
}

p {
    line-height: 1.9;
}


/* ======================
   Navbar
====================== */

.navbar-brand {
    font-weight: 700;
}

.nav-link {
    font-weight: 500;
}


/* ======================
   Cards
====================== */

.card {
    border: none;
    border-radius: 12px;
}

.card:hover {
    transform: translateY(-3px);
    transition: 0.2s;
}


/* ======================
   Buttons
====================== */

.btn {
    border-radius: 8px;
    font-weight: 500;
}


/* ======================
   Course Image
====================== */

.card-img-top {
    height: 180px;
    object-fit: cover;
}


/* ======================
   Badge Skills
====================== */

.badge {
    font-weight: 400;
    padding: 8px 12px;
}
.teacher-avatar {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    object-fit: cover;
}

.academy-logo {
    background: #f1f1f1;
    width: 120px;
    height: 120px;
    border-radius: 12px;
    object-fit: cover;
}

.teacher-avatar {
    height: 200px;
    object-fit: cover;
}
/* Make header clean + centered */
.navbar {
    border-bottom: 1px solid #eee;
}

/* Search bar styling */
.navbar .form-control {
    height: 48px;
    border-radius: 30px;
    font-size: 15px;
}

/* On focus */
.navbar .form-control:focus {
    box-shadow: none;
    border-color: #0d6efd;
}

/* Icons */
.navbar i {
    cursor: pointer;
}

/*menu*/
/* overlay */
#megaOverlay{
    position: fixed;
    inset:0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(3px);
    opacity:0;
    visibility:hidden;
    transition:0.3s;
    z-index:998;
}

#megaOverlay.active{
    opacity:1;
    visibility:visible;
}

/* menu container */

#megaMenu{
    position:fixed;
    top:0;
    right:-420px;
    width:380px;
    height:100%;
    background:#fff;
    z-index:999;
    transition:0.35s;
    border-radius:20px 0 0 20px;
    box-shadow:-10px 0 40px rgba(0,0,0,0.2);
    display:flex;
    flex-direction:column;
}

#megaMenu.active{
    right:0;
}

/* header */

.mega-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px;
    border-bottom:1px solid #eee;
}

.mega-title{
    font-size:20px;
    font-weight:700;
    color:#0f766e;
}

#megaClose{
    border:none;
    background:#f3f4f6;
    width:40px;
    height:40px;
    border-radius:50%;
}

/* body */

.mega-body{
    overflow-y:auto;
    padding:10px 0;
}

/* category */

.mega-category{
    border-bottom:1px solid #f1f1f1;
}

.mega-category-title{
    padding:16px 20px;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    font-weight:500;
}

/* submenu */

.mega-submenu{
    display:none;
    padding:0 25px 15px;
}

.mega-submenu a{
    display:block;
    padding:8px 0;
    color:#444;
    text-decoration:none;
}

/* open state */

.mega-category.active .mega-submenu{
    display:block;
}

/* mobile */

@media (max-width:768px){

    #megaMenu{
        width:100%;
        border-radius:0;
    }

}

.mega-close-btn{
border: none;
background: transparent;
cursor: pointer;
padding: 6px;
border-radius: 8px;
transition: background .2s;
}

.mega-close-btn:hover{
background: rgba(0,0,0,0.05);
}

.mega-close-btn img{
width: 20px;
height: 20px;
opacity: .8;
}

/*banner*/
.hero-slider{
max-height:300px;
border-radius:20px;
overflow:hidden;
}

.hero-slider img{
height:100%;
width:100%;
object-fit:cover;
}

.carousel-control-prev-icon,.carousel-control-next-icon{

border-radius:50%;
padding:18px;
}

@media (max-width:768px){

.hero-img{
height:140px;
}

}

@media (max-width:480px){

.hero-img{
height:120px;
}

}

/*category home*/
.category-card{
border:solid 1px #ddd ;
border-radius:16px;
padding:25px 10px;
transition:all .25s;
text-decoration:none;
color:#333;
display:block;
}

.category-card:hover{
background:#ffffff;
transform:translateY(-4px);
box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.category-icon{
font-size:36px;
margin-bottom:10px;
color:#0d6efd;
}

.category-title{
font-size:14px;
font-weight:500;
}


/*academy - details page*/
.nav-tabs .nav-link { color: #666; font-weight: 500; border: none; }
.nav-tabs .nav-link.active { color: #0d6efd; border-bottom: 2px solid #0d6efd; background: transparent; }
.card { border-radius: 15px; }

/*home page*/

.header-navbar {
background: #f8f9fa;
border-bottom: 1px solid #eee;
}

.logo-placeholder {
width: 32px;
height: 32px;
background: #4f46e5;
border-radius: 50%;
}

.nav-link {
color: #333;
font-size: 14px;
}

.nav-link:hover {
color: #4f46e5;
}

.header-icons {
font-size: 5px;
margin-left: 15px;
cursor: pointer;
}

.landing-banner {
height: 120px;
background: #f3f4f6;
display: flex;
align-items: center;
justify-content: center;
}

.job-search-section {
margin-top: -35px;
}

.search-box {
background: #fff;
border-radius: 12px;
padding: 20px;
}

.search-box .form-control,
.search-box .form-select {
height: 48px;
font-size: 14px;
}

.search-box .input-group-text {
border-left: 0;
}

.search-box .form-control {
border-right: 0;
}

.btn-primary {
background: #4f46e5;
border: none;
}

.btn-primary:hover {
background: #4338ca;
}

.academy-card {
border: 1px solid #ddd;
border-radius: 16px;
padding: 20px;
transition: 0.2s;
background: #fff;
position: relative;
height: 100%;
}

.academy-card:hover {
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.academy-logo {
width: 120px;
height: 120px;
border-radius: 8px;
object-fit: cover;
}

.badge-urgent {
background: #fce4ec;
color: #c2185b;
font-size: 12px;
padding: 4px 10px;
border-radius: 20px;
font-weight: 600;
}


.apply-btn {
background: #22c55e;
border: none;
color: white;
padding: 6px 20px;
border-radius: 8px;
font-size: 14px;
}

.apply-btn:hover {
background: #16a34a;
}

.favorite-icon {
position: absolute;
right: 16px;
top: 16px;
font-size: 20px;
cursor: pointer;
}
/* search tabs*/
/* light blue background similar to reference */
.bg-light-blue {
  background-color: #f1f5ff;
}

/* remove default bootstrap tab styles */
.custom-tabs .nav-link {
  border: 0;
  border-radius: 0.5rem;
  color: #1f2937;
  padding: 0.5rem 1rem;
  white-space: nowrap;
  transition: all 0.2s ease;
}

/* hover effect */
.custom-tabs .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.6);
}

/* active tab */
.custom-tabs .nav-link.active {
  background-color: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  font-weight: 600;
}

/* hide scrollbar (optional) */
.custom-tabs {
  scrollbar-width: none;
}
.custom-tabs::-webkit-scrollbar {
  display: none;
}

.icon-sm {
  width: 16px;
  height: 16px;
  opacity: 0.7;
}
