/* ===================================
   FRONTEND GLOBAL STYLES
   Shared components across frontend pages
   =================================== */

/* global styles */
:root {
    /* --primary-color: #165D31; */
    --primary-color: #1d5f31;
    --primary-color-hover: #1a7346;
    --secondary-color: #EEFFF4;
    --card-bg: #ffffff;
    --card-border: #4db8e8;
    --card-border-stripe: #e84dbd;
    --content-bg: linear-gradient(135deg, #fffde7 0%, #e8f5e9 50%, #b2dfdb 100%);
    --text-primary: #2c2c2c;
    --text-secondary: #666666;
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.15);
    --border-radius: 16px;
    --spacing-sm: 12px;
    --spacing-md: 20px;
    --spacing-lg: 32px;
}

/* Import Alexandria font from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Alexandria:wght@300;400;500;600;700&display=swap');

@font-face {
    font-family: 'ALSALAM-Heavy';
    src: url('/assets/fonts/ALSALAM-Heavy.woff2') format('woff2'),
         url('/assets/fonts/ALSALAM-Heavy.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* *:not(i):not(img):not(svg):not([class*="fa"]) {
  font-family: 'Alexandria', sans-serif !important;
} */

/* الخط الأساسي لكل العناصر - مع استثناء الأسئلة والإجابات */
*:not(i):not(img):not(svg):not([class*="fa"]):not([class*="fc"]):not([class*="ki"]):not([class*="icon"]):not(.question-text):not(.question-text *):not(.answer-text):not(.answer-text *):not(.katex *) {
    font-family: 'Alexandria', sans-serif !important;
}

.ar-digits {
    font-family: 'ALSALAM-Heavy', sans-serif !important;
}

.app-main {
    padding-inline: 24px !important;
}

.custom_bg {
    background: linear-gradient(180deg, #eefff459 0%, #F4FF00 10000%);
    background-color: #F9F9FB;
    backdrop-filter: blur(500px)
}

.custom_btn {
    width: 204px;
    height: 44px;
    padding: 11px 16px;
    border-radius: 100px;
}

.curriculum-name{
    color: var(--primary-color);
    line-height: normal !important;
}

/* Tab Switcher Component */
.tab-switcher-container {
    width: fit-content;
    padding: 4px;
    background: white;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tab-switcher-item {
    min-width: 120px;
    padding: 5px 16px;
    border-radius: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tab-switcher-item-text {
    text-align: center;
    color: var(--Gray-600, #525252);
    font-size: 14px;
    font-family: Alexandria, sans-serif;
    font-weight: 300;
    line-height: 22px;
    word-wrap: break-word;
    transition: all 0.3s ease;
}

.tab-switcher-item.active {
    background: var(--Primary-600, #165D31);
}

.tab-switcher-item.active .tab-switcher-item-text {
    color: white;
    font-weight: 400;
}

.tab-switcher-item:hover:not(.active) {
    background: var(--Gray-50, #FAFAFA);
}

/* Search Bar Component */
.search-bar-container {
    width: 100%;
    padding: 9px 16px;
    background: white;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    /* border: 1px solid var(--Gray-200, #E5E5E5); */
}

.search-bar-input {
    border: none;
    outline: none;
    background: transparent;
    text-align: start;
    color: var(--Gray-900, #1F1F1F);
    font-size: 14px;
    font-family: Alexandria, sans-serif;
    font-weight: 300;
    line-height: 22px;
    width: 100%;
}

.search-bar-input::placeholder {
    text-align: start;
    color: var(--Gray-500, #737373);
    font-size: 14px;
    font-family: Alexandria, sans-serif;
    font-weight: 300;
    line-height: 22px;
}

.search-bar-icon {
    width: 20px;
    height: 20px;
    color: var(--Gray-400, #A3A3A3);
    flex-shrink: 0;
}

.alert.alert-success{
    display: flex !important;
    justify-content: space-between !important;
}

/* Meeting Card Component - Matching Dashboard Cards */
.meeting-card-container {
    padding: 16px;
    background: white;
    border-radius: 20px;
    /* border: 0.5px solid var(--Gray-200, #E5E5E5); */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
    height: 100%;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
}

.meeting-card-container:hover {
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.meeting-card-inner {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.meeting-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.meeting-card-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.meeting-card-instructor-wrapper {
    display: flex;
    align-items: center;
    gap: 4px;
}

.meeting-card-instructor-avatar {
    width: 32px;
    height: 32px;
    border-radius: 9999px;
    object-fit: cover;
}

.meeting-card-meta-wrapper {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.meeting-card-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.meeting-card-meta-icon {
    width: 16px;
    height: 16px;
}

.meeting-card-meta-divider {
    width: 1px;
    height: 16px;
    background: var(--Gray-200, #E5E5E5);
}

.meeting-card-divider {
    width: 100%;
    height: 0.5px;
    background: var(--Gray-200, #E5E5E5);
}

.meeting-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.meeting-card-participants-wrapper {
    display: flex;
    flex-direction: column;
}

.meeting-card-participants-avatars {
    display: flex;
    margin: 0 8px;
}

.meeting-card-participant-avatar {
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    border: 1px white solid;
    margin-inline-start: -8px;
    object-fit: cover;
}

.meeting-card-participant-avatar:last-child {
    margin-inline-start: 0;
}

.meeting-card-participants-count {
    display: flex;
    align-items: center;
    gap: 4px;
}

.meeting-card-button {
    padding: 9px 24px;
    background: var(--Primary-600, #165D31);
    border-radius: 100px;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}

.global-btn-style {
    padding: 12px 24px;
    background: var(--Primary-600, #165D31);
    color: white !important;
    border-radius: 100px;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;

    i {
        color: white !important;
    }

    &:hover {
        background: var(--Primary-700, #134a26);
    }
}

.global-input-style {
    height: 45px !important;
    background: white;
    border-radius: 100px;
    border: 1px solid #E5E5E5;
    color: #1F1F1F;
    font-size: 14px;
    font-family: Alexandria;
    font-weight: 300;
    text-align: start;
}

textarea.global-input-style {
    height: unset !important;
    border-radius: 16px;

}

.left_side{
    margin-inline-start: 20px !important;
}

.main-hero-section-parent{
    flex-wrap:nowrap;
    gap:20px;
}

.main-green-card{
    height: 486px;
    width: 486px;
}

.faq-parent-div{
    flex-wrap:nowrap;
    margin-block: 100px;
    gap: 20px;
}

.slider-btn a{
    min-width: 160px;
    height: 48px;
    background: #fff;
    color: #165D31;
    border: #165D31 solid 1px;
    font-size: 16px;
    padding: 9px 32px;
    border-radius: 100px;
    font-weight: 400;
    line-height: 24px;
    transition: all 0.3s ease;
}
.slider-btn a.white{
    min-width: 160px;
    height: 48px;
    background: #fff;
    color: #165D31;
    border: #165D31 solid 1px;
    font-size: 16px;
    padding: 9px 32px;
    border-radius: 100px;
    font-weight: 400;
    line-height: 24px;
    transition: all 0.3s ease;
}

.header-title {
    padding-bottom: 8px;
    margin-bottom: 20px;
}

.meeting-card-button:hover {
    background: var(--Primary-700, #134a26);
}

/* Badge Component */
.meeting-badge {
    padding: 6px 12px;
    border-radius: 100px;
}

.meeting-badge-free {
    background: var(--Success-50, #ECFDF5);
}

.meeting-badge-paid {
    background: var(--Yellow-Shades-25, #FFFBEB);
}

/* Pagination Component */
.pagination-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    padding: 24px 0;
}

.pagination-item {
    width: 48px;
    height: 48px;
    padding: 10px;
    background: white;
    border-radius: 32px;
    border: 0.5px solid var(--Gray-200, #E5E5E5);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.pagination-item:hover:not(.active):not(.disabled) {
    background: var(--Gray-50, #FAFAFA);
    border-color: var(--Primary-600, #165D31);
}

.pagination-item.active {
    background: var(--Primary-600, #165D31);
    border: none;
}

.pagination-item.disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.pagination-item-text {
    color: var(--Gray-400, #A3A3A3);
    font-size: 14px;
    font-family: Alexandria, sans-serif;
    font-weight: 400;
    line-height: 22px;
}

.pagination-item.active .pagination-item-text {
    color: white;
}

.pagination-dots {
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--Gray-400, #A3A3A3);
    font-size: 13px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
}

.pagination-arrow-icon {
    width: 20px;
    height: 20px;
    color: var(--Gray-500, #737373);
}

/* Mobile Course Tabs */
.mobile-tabs-container {
    background: white;
    border-radius: 20px;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.mobile-course-tabs {
    border-bottom: 2px solid #F0F0F0;
    display: flex;
    justify-content: space-around;
    padding: 0;
    margin: 0;
}

.mobile-course-tabs .nav-item {
    flex: 1;
    text-align: center;
}

.mobile-course-tabs .nav-link {
    border: none;
    background: transparent;
    color: #999999;
    font-size: 14px;
    font-weight: 500;
    padding: 16px 12px;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
    width: 100%;
    border-radius: 0;
}

.mobile-course-tabs .nav-link:hover {
    color: #165D31;
    background: transparent;
}

.mobile-course-tabs .nav-link.active {
    color: #165D31;
    border-bottom-color: #165D31;
    background: transparent;
    font-weight: 600;
}

.mobile-course-tab-content {
    padding: 20px;
}

.mobile-course-tab-content .tab-pane {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mobile-course-tab-content .overview-section,
.mobile-course-tab-content .custom_accordion,
.mobile-course-tab-content .teacher-card {
    box-shadow: none;
    padding: 0;
}


/* Empty State */
.empty-state {
    width: 100%;
    padding: 60px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.empty-state-icon {
    width: 64px;
    height: 64px;
    color: var(--Gray-300, #D4D4D8);
}

.empty-state-text {
    text-align: center;
    color: var(--Gray-500, #737373);
    font-size: 16px;
    font-family: Alexandria, sans-serif;
    font-weight: 400;
    line-height: 24px;
}

.main_bg_color {
    background-color: var(--primary-color);
}

.main_color {
    color: var(--primary-color);
}

/* .shared_title {
    font-size: 18px;
    color: var(--primary-color);
    line-height: 28px;
} */
.shared_title {
    color: var(--primary-color);
    border: 1px solid #1d5f316e;
    width: fit-content;
    border-radius: 24px;
    padding: 8px 16px;
    margin-inline: auto;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    transition: all 0.2s ease;
    &:hover{
        background-color:var(--primary-color);
        border-color: #1d5f31; 
        color: #fff;
    }
}

.courses-balets-content{
    margin-top: 60px;
}

.cities-content{
    margin-top: 60px;
}

.courses-balet-title{
    font-size: 22px;
    text-align: center;
    font-weight: 400;
    color: var(--primary-color);
    margin-bottom: 32px;
}

.city-video{
    width: 100%;
    overflow: hidden;
    border-radius: 24px;
    background-color: #000;
    box-shadow: 0 20px 50px rgba(18, 73, 39, 0.12);
}

.city-video__media{
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.cities-map{
    position: relative;
    min-height: 470px;
    max-width: 540px;
    margin: 0 auto;
}

.city-region{
    position: absolute;
    padding: 0;
    border: 1px solid #b7e7c8;
    background: #eef9f0;
    color: var(--primary-color);
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    box-shadow: 0 10px 24px rgba(18, 73, 39, 0.06);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    text-align: center;
    border-radius: 10px;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.city-region:hover{
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(18, 73, 39, 0.1);
}

.city-region.is-active{
    background: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
    box-shadow: 0 18px 36px rgba(29, 95, 49, 0.22);
}

.city-region__emoji{
    font-size: 18px;
    line-height: 1;
}

.city-region__label{
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
}

.city-region--north {
    top: -25px;
    left: 132px;
    width: 220px;
    height: 116px;
    /* clip-path: polygon(18% 4%, 100% 0%, 88% 100%, 0% 100%); */
    transform: rotate(-6deg);
}

.city-region--north:hover,
.city-region--north.is-active{
    transform: rotate(-6deg) translateY(-4px);
}

.city-region--west {
    top: 129px;
    left: -9px;
    width: 178px;
    height: 176px;
    /* clip-path: polygon(0% 10%, 100% 0%, 100% 82%, 20% 100%); */
    transform: rotate(-6deg);
}

.city-region--west:hover,
.city-region--west.is-active{
    transform: rotate(-9deg) translateY(-4px);
}

.city-region--center {
    top: 100px;
    left: 185px;
    width: 154px;
    height: 206px;
    z-index: 3;
    /* clip-path: polygon(2% 0%, 100% 0%, 100% 96%, 20% 100%); */
    transform: rotate(-6deg);
}

.city-region--center:hover,
.city-region--center.is-active{
    transform: rotate(-5deg) translateY(-4px);
}

.city-region--east {
    top: 92px;
    right: 2px;
    width: 176px;
    height: 176px;
    /* clip-path: polygon(0% 4%, 88% 0%, 100% 86%, 0% 100%); */
    transform: rotate(-7deg);
}

.city-region--east:hover,
.city-region--east.is-active{
    transform: rotate(-8deg) translateY(-4px);
}

.city-region--south {
    bottom: 4px;
    left: 132px;
    width: 230px;
    height: 142px;
    /* clip-path: polygon(0% 0%, 100% 0%, 78% 100%, 12% 94%); */
    transform: rotate(-6deg);
}

.city-region--south:hover,
.city-region--south.is-active{
    transform: rotate(-6deg) translateY(-4px);
}

@media (max-width: 991.98px){
    .cities-map{
        min-height: 420px;
        max-width: 440px;
    }

    .city-region__label{
        font-size: 16px;
    }

    .city-region--north{
        left: 106px;
        width: 190px;
        height: 104px;
    }

    .city-region--west{
        left: 20px;
        width: 160px;
        height: 160px;
    }

    .city-region--center{
        left: 150px;
        width: 140px;
        height: 186px;
    }

    .city-region--east{
        right: 18px;
        width: 160px;
        height: 160px;
    }

    .city-region--south{
        left: 108px;
        width: 200px;
        height: 128px;
    }
}

@media (max-width: 767.98px){
    .cities-map{
        min-height: auto;
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .city-region,
    .city-region--north,
    .city-region--west,
    .city-region--center,
    .city-region--east,
    .city-region--south{
        position: static;
        width: 100%;
        min-height: 110px;
        transform: none;
        clip-path: none;
        border-radius: 20px;
    }

    .city-region:hover,
    .city-region.is-active,
    .city-region--north:hover,
    .city-region--north.is-active,
    .city-region--west:hover,
    .city-region--west.is-active,
    .city-region--center:hover,
    .city-region--center.is-active,
    .city-region--east:hover,
    .city-region--east.is-active,
    .city-region--south:hover,
    .city-region--south.is-active{
        transform: none;
    }
}

.courses-balet{
    border: 1px solid #1d5f3152;
    border-radius: 24px;
    padding: 8px;
    transition: all 0.3s ease;
}

.courses-balet:hover{
    box-shadow: 1px 1px 9px #003f094d;
}

.subject-pills-container{
    width: 100%;
}

.shared_subtitle {
    color: #1F1F1F;
    font-weight: 600;
    font-size: 40px;
    line-height: 56px;
}

.special_word {
    display: inline-block;
    width: fit-content;
    position: relative;
}

.special_word::after {
    content: url('/assets/figma_assets/landing_assets/special_line.svg');
    display: inline-block;
    width: 100%;
    position: absolute;
    /* top: 70%; */
    bottom: -35px;
    left: 0;
    overflow: hidden;
}

/* CSS */
.join-box {
    background: white;
    position: absolute;
    z-index: 2;
    width: fit-content;
    min-height: 74px;
    bottom: -50px;
    left: 0;
    border-radius: 16px;
    padding: 8px 16px;
}

.avatar-group {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.avatar-group img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #fff;
    object-fit: cover;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.25);
    margin-left: -10px;
    /* التداخل بين الصور */
    transition: transform 0.2s ease;
}

.course_card_item {
    position: relative;
    border-radius: 20px;
    border: 1px solid #e5e5e5ad;
    background-color: #fff !important;
    padding: 4px 4px 16px 4px;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: 0.3s;
}
.balet_course_item {
    background-color: #fff;
    position: relative;
    border-radius: 20px;
    padding: 8px;
    margin-bottom: 8px;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: 0.3s;
    &:hover{
        box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.288) !important;
    }
}

.balet_course_img{
    object-fit: cover;
    object-position: top;
}

.course_card_image {
    width: 100%;
    height: fit-content;
    max-height: 480px;
    border-radius: 16px;
    overflow: hidden;
}

.course_card_image img {
    width: 100%;
    height: 100%;
    /* object-fit: cover; */
}

.course_content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 15px 10px 10px;
    flex-grow: 1;
}

.course_balet_content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px;
    flex-grow: 1;
}

.course-meta{
    display: flex;
    gap: 12px;
    font-size: 15px;
    font-weight: 300;
    margin-top: 2px;
    padding-bottom: 6px;
    border-bottom: 1px solid #0000001c;
}

.course-teacher{
    font-size: 15px;
    font-weight: 300;
    display:flex;
    align-items: center;
    gap: 8px;
}

.course-teacher img{
    width: 24px;
    height: 24px;
    border-radius: 50%;
}

.course-starting{
    display: flex;
    justify-content: space-between;
    color: var(--primary-color);
    font-size: 15px;
    font-weight: 400;
    padding-inline: 4px;
    padding-block: 6px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
        &:hover{
        background-color:#0047151c;
    }
}

.course_title {
    color: #292929;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 0;
    min-height:50px;
}

.discover_btn {
    background-color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white !important;
    padding: 12px 16px;
    border: none;
    border-radius: 100px;
    font-size: 16px;
    cursor: pointer;
    margin: 0 auto;
    width: fit-content;
}

.discover_btn:hover {
    background-color: #114927;
    transition: 0.2s;
    color: white;
}


/* Click motion indicator on inactive category tab */
.category-toggle,
.category-toggle .period-option {
    overflow: visible !important;
}
.category-toggle .period-option {
    position: relative;
}
.category-toggle .click-motion {
    position: absolute;
    top: 94%;
    left: 30%;
    /* width: 50px; */
    /* height: 50px; */
    transform: translate(-50%, -50%);
    pointer-events: none;
    display: block;
    line-height: 0;
    opacity: 1;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 5;
}
.category-toggle .click-motion img {
    display: block;
    width: auto;
    max-width: none;
}
.category-toggle .click-motion.is-hidden {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.6);
}



/* Video section player */
.qaff-video-wrapper {
    position: relative;
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 20px 60px rgba(7, 31, 17, 0.18);
    aspect-ratio: 16 / 9;
}
.qaff-video-wrapper .qaff-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
}

/* Thumbnail + play button */
.qaff-video-thumbnail {
    cursor: pointer;
    outline-offset: 4px;
}
.qaff-video-thumbnail:focus-visible {
    outline: 3px solid var(--primary-color);
}
.qaff-poster-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.qaff-play-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.22);
    transition: background 0.25s ease;
}
.qaff-video-thumbnail:hover .qaff-play-overlay {
    background: rgba(0, 0, 0, 0.42);
}
.qaff-play-btn {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.35);
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.qaff-video-thumbnail:hover .qaff-play-btn {
    transform: scale(1.12);
    background: #fff;
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.45);
}
.qaff-play-btn svg {
    width: 44px;
    height: 44px;
    fill: var(--primary-color);
    /* margin-inline-start: 4px; */
}

/* Video modal */
.qaff-video-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.qaff-video-modal[hidden] {
    display: none;
}
.qaff-video-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.88);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.qaff-video-modal-content {
    position: relative;
    width: 100%;
    max-width: 920px;
    z-index: 1;
}
.qaff-video-modal-close {
    position: absolute;
    top: -46px;
    inset-inline-end: 0;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease;
}
.qaff-video-modal-close:hover {
    background: rgba(255, 255, 255, 0.28);
    transform: scale(1.08);
}
.qaff-video-modal-close svg {
    width: 20px;
    height: 20px;
    fill: #fff;
}
.qaff-video-modal-player {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
}
.qaff-video-modal-player video {
    width: 100%;
    height: 100%;
    display: block;
}

@media (max-width: 576px) {
    .qaff-video-wrapper,
    .qaff-video-modal-player {
        border-radius: 12px;
    }
    .qaff-play-btn {
        width: 58px;
        height: 58px;
    }
    /* .qaff-play-btn svg {
        width: 24px;
        height: 24px;
    } */
    .qaff-video-modal-close {
        top: -40px;
    }
}


/* testimonial */
.testimonial_card_item {
    width: 100%;
    /* max-width: 350px; */
    background-color: var(--primary-color);
    color: #fff;
    border-radius: 20px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    margin: 0 auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    border: 1px solid #E5E5E5;
    min-height: 250px;
    max-height: 350px;
}

.testimonial_text {
    font-size: 16px;
    line-height: 24px;
    color: #fff;
    margin-bottom: 0;
    font-weight: 300;
}

.student_info {
    display: flex;
    gap: 12px;
    align-items: center;
}

.student_image {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid #fff;
}

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

.student_info_text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.student_name {
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    line-height: 22px;
    margin-bottom: 0;
}

.student_title {
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    font-weight: 300;

}

/* Testimonial Swiper Styles */
.testimonial-swiper {
    padding: 20px 0 40px;
    margin-top: 60px;
}

.testimonial-swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
}

.testimonial-swiper .rbt-swiper-pagination {
    position: relative;
    bottom: 0;
    margin-top: 30px;
}

.testimonial-swiper .rbt-swiper-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: #D1D1D1;
    opacity: 1;
    margin: 0 5px;
}

.testimonial-swiper .rbt-swiper-pagination .swiper-pagination-bullet-active {
    background-color: var(--primary-color);
    transform: scale(1.2);
}

/* Additional global utility classes */
.text-primary {
    color: var(--primary-color) !important;
}

.text-secondary {
    color: var(--secondary-color) !important;
}

.text-success {
    color: var(--success-color) !important;
}

.text-warning {
    color: var(--warning-color) !important;
}

.text-danger {
    color: var(--danger-color) !important;
}

.text-muted {
    color: #737373 !important;
}

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

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

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

/* Spacing utilities */
.mb-1 {
    margin-bottom: 0.25rem !important;
}

.mb-2 {
    margin-bottom: 0.5rem !important;
}

.mb-3 {
    margin-bottom: 1rem !important;
}

.mb-4 {
    margin-bottom: 1.5rem !important;
}

.mb-5 {
    margin-bottom: 3rem !important;
}

.mt-1 {
    margin-top: 0.25rem !important;
}

.mt-2 {
    margin-top: 0.5rem !important;
}

.mt-3 {
    margin-top: 1rem !important;
}

.mt-4 {
    margin-top: 1.5rem !important;
}

.mt-5 {
    margin-top: 3rem !important;
}

/* Flexbox utilities */
.d-flex {
    display: flex !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.align-items-center {
    align-items: center !important;
}

/* Padding utilities */
.p-1 {
    padding: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.p-3 {
    padding: 1rem !important;
}

.p-4 {
    padding: 1.5rem !important;
}

.p-5 {
    padding: 3rem !important;
}

.py-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}

.py-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

/* Border utilities */
.rounded {
    border-radius: 0.375rem !important;
}

.rounded-circle {
    border-radius: 50% !important;
}

.border {
    border: 1px solid var(--border-color) !important;
}

/* Text alignment */
.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.text-left {
    text-align: left !important;
}

/* Responsive helpers */
.hidden-xs {
    display: none !important;
}



/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeIn 0.6s ease-out;
}

/* Course carousel styles */
.swiper.course-activation {
    padding: 20px 0;
}

.swiper.course-activation .swiper-slide {
    height: auto;
}

.setting-sidebar-wrapper {
    padding-left: var(--bs-gutter-x) !important;
}

.setting-nav-item {
    color: var(--Gray-900, #1F1F1F) !important;
}

.setting-nav-item-active {
    color: var(--primary-color, #165D31) !important;
    background-color: var(--Primary-25, #EEFFF4) !important;
}

.setting-nav-item:hover {
    background-color: #f9f9f9c0 !important;
}

.setting-nav-item-delete:hover {
    background-color: #ffc9c996 !important;
}

.custom_accordion {
    background-color: white;
    border-radius: 20px;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.custom_accordion h2 {
    margin-bottom: 0;
    color: #1F1F1F;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    padding: 16px 20px;
}

/* تصميم عنصر الأكورديون */
.accordion-item {
    border-bottom: 1px solid #F5F5F5;
}

.accordion-item:last-child {
    border-bottom: none;
}

.accordion-header {
    width: 100%;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    cursor: pointer;
    text-align: start;
    transition: background-color 0.3s;
}

.accordion-header:hover {
    background-color: #F9F9F9;
}

.accordion-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lesson-number {
    color: #1F1F1F;
    font-size: 16px;
    font-weight: 600;
}

.lesson-name {
    color: #1F1F1F;
    font-size: 16px;
    font-weight: 500;
}

.accordion-meta {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lesson-count {
    color: #666666;
    font-size: 14px;
}

.arrow-icon {
    color: #999999;
    font-size: 12px;
    transition: transform 0.3s;
}

.accordion-header.active .arrow-icon {
    transform: rotate(180deg);
}

/* محتوى الأكورديون */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.accordion-content.active {
    max-height: 1000px;
    /* Increased to accommodate more content */
}

/* Ensure smooth transition for accordion items */
.accordion-content ul {
    transition: opacity 0.3s ease;
    opacity: 0;
}

.accordion-content.active ul {
    opacity: 1;
}

.accordion-content ul {
    list-style: none;
    padding: 0;
    margin: 10px 0;
}

/* عناصر الدروس */
.lesson-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 20px;
    background-color: #FAFAFA;
    margin: 0 16px 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.lesson-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

.lesson-item:hover {
    background-color: #F0F0F0;
}

.lesson-item-inner {
    display: flex;
    align-items: center;
    gap: 5px;
}

.lesson-item:last-child {
    margin-bottom: 16px;
}

.play-icon {
    color: #4CAF50;
    font-size: 12px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #E8F5E9;
    border-radius: 50%;
    padding-right: 2px;
}

.quiz-icon {
    color: #FF9800;
    font-size: 14px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lesson-text {
    flex: 1;
    color: #1F1F1F;
    font-size: 14px;
    text-align: start;
}

.lesson-duration {
    color: #999999;
    font-size: 13px;
}

.quiz-item {
    background-color: #FFF8F0;
}

.quiz-item:hover {
    background-color: #FFF0E0;
}


/* بطاقة المعلم */
.teacher-card {
    background-color: white;
    border-radius: 20px;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-bottom: 20px;
}

.teacher-card .card-title {
    margin-bottom: 0;
    color: #1F1F1F;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    padding: 16px 20px;
    border-bottom: 1px solid #E5E5E5;
}

.teacher-info {
    padding: 24px 20px;
    text-align: center;
}

/* صورة المعلم */
.teacher-avatar {
    width: 80px;
    height: 80px;
    margin: 0 auto 16px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #E3F2FD 0%, #BBDEFB 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.teacher-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* اسم المعلم */
.teacher-name {
    color: #1F1F1F;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 4px 0;
}

.teacher-role {
    color: #666666;
    font-size: 14px;
    margin: 0 0 16px 0;
}

/* إحصائيات المعلم */
.teacher-stats {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #F5F5F5;
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #666666;
    font-size: 14px;
}

.stat-icon {
    font-size: 16px;
    color: #999999;
}

/* نبذة عن المعلم */
.teacher-bio {
    color: #666666;
    font-size: 14px;
    line-height: 22px;
    text-align: start;
    margin: 0;
    direction: rtl;
}

.read-more {
    color: #2196F3;
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
}

.read-more:hover {
    text-decoration: underline;
}

/* قسم نظرة عامة */
.overview-section {
    background-color: white;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-bottom: 20px;
}

.section-title {
    color: #1F1F1F;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 16px 0;
    text-align: start;
}

.overview-description {
    color: #666666;
    font-size: 14px;
    line-height: 24px;
    text-align: start;
    margin: 0 0 24px 0;
    direction: rtl;
}

.home-description{
    max-width: 625px;
    color: #666666;
    font-size: 18px;
    line-height: 1.8;
}

.Main-Heading-h1{
    max-width: 625px; 
    font-weight: 600; 
    font-size: 56px; 
    line-height: 100px; 
}

.title-description{
    color: #333333;
    font-size: 16px;
    font-weight: 300;
    display: inline-block;
    margin-top: 20px;
}

.partner-title{
    color: #333333;
    font-size: 18px;
    font-weight: 500;
    display: inline-block;
    margin-block: 20px 0;
}

.why_Choose_us_img{
    width: 100%;
    height:100%;
    object-fit: contain;
    object-position: bottom;
}

/* شبكة معلومات الدورة */
.course-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #F0F0F0;
}

.meta-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    background-color: #FAFAFA;
    border-radius: 12px;
}

.meta-content {
    display: flex;
    align-items: center;
    gap: 5px;
    text-align: start;
    flex: 1;
}

.meta-label {
    color: #999999;
    font-size: 13px;
    margin-bottom: 0;
}

.meta-value {
    color: #1F1F1F;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 0;
}

/* مميزات الدورة */
.features-title {
    color: #1F1F1F;
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 16px 0;
    text-align: start;
}

.features-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    text-align: start;
    direction: rtl;
}

.feature-item:last-child {
    margin-bottom: 0;
}

.check-icon {
    color: #4CAF50;
    font-size: 18px;
    font-weight: bold;
    flex-shrink: 0;
    margin-top: 2px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #E8F5E9;
    border-radius: 50%;
}

.feature-item span {
    color: #666666;
    font-size: 14px;
    line-height: 22px;
    flex: 1;
}

/* course card */
.course-card {
    background: var(--card-bg);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    max-width: 520px;
    margin: 0 auto;
    position: relative;
    border: 4px dashed var(--card-border);
}

/* 3D Visual Section */
.card-visual {
    background: var(--content-bg);
    padding: var(--spacing-lg);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-md);
    min-height: 200px;
    position: relative;
}

.shape-3d {
    width: 80px;
    height: 80px;
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.2));
    transition: transform 0.3s ease;
}

.shape-3d:hover {
    transform: translateY(-8px);
}

/* Content Section */
.card-content {
    background: #f8f5f8;
    padding: var(--spacing-md);
    border-top: 3px dashed var(--card-border-stripe);
}

.card-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-md);
    text-align: start;
    font-family: 'Cairo', 'Tajawal', sans-serif;
    line-height: 1.4;
}

/* Metadata */
.card-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
    color: var(--text-secondary);
    font-size: 14px;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.meta-icon {
    width: 20px;
    opacity: 0.7;
}

/* Primary Button */
.btn-primary {
    width: 100%;
    padding: 16px 24px;
    background: var(--primary-color);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(27, 94, 63, 0.3);
    font-family: inherit;
}

.btn-primary:hover {
    background: #155030;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(27, 94, 63, 0.4);
}

.btn-primary:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(27, 94, 63, 0.3);
}

.submitBtn:disabled {
    color: #fff !important;
}

/* Corner Markers */
.corner-marker {
    position: absolute;
    width: 24px;
    height: 24px;
    background: var(--card-border);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    border-radius: 4px;
    z-index: 10;
}

.corner-marker.top-left {
    top: 8px;
    left: 8px;
}

.corner-marker.bottom-left {
    bottom: 8px;
    left: 8px;
}

.corner-marker.bottom-right {
    bottom: 8px;
    right: 8px;
}


.meeting-card-button {
    padding: 12px 24px;
    background: var(--Primary-600, #165D31);
    border-radius: 100px;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}



.meeting-card-button-booked {
    padding: 9px 24px;
    background: var(--Gray-100, #F5F5F5);
    border-radius: 100px;
    border: none;
    cursor: default;
}

.meeting-card-button-text {
    color: white;
    font-size: 14px;
    font-family: Alexandria, sans-serif;
    font-weight: 400;
    line-height: 22px;
    text-align: center;
}

.meeting-card-button-text-booked {
    color: var(--Gray-600, #525252);
    font-size: 14px;
    font-family: Alexandria, sans-serif;
    font-weight: 400;
    line-height: 22px;
    text-align: center;
    display: flex;
    align-items: center;
    gap: 8px;
}







.meeting-countdown-booking {
    text-align: center;
    color: var(--Primary-600, #165D31);
    font-size: 20px;
    font-family: Alexandria;
    font-weight: 400;
    line-height: 32px;
    word-wrap: break-word;
}

/* Empty State */
.empty-state {
    width: 100%;
    padding: 60px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

/* handle phone number seector list (for iti package) */

#phone_number_input,
#phone_number {
    padding-right: 14px !important;
}

.iti {
    width: 100% !important;
}

.iti__flag-container {
    right: auto !important;
    left: 0 !important;
}

.iti__selected-flag {
    border-radius: 100px 0 0 100px !important;
}


.iti__country-list {
    left: 0 !important;
}





/* Start Quiz Card */
.start_quiz_card {
    border-radius: 40px;
    padding: 48px;
    background-color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;
    max-width: 600px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    position: relative;
}

/* Quiz Icon */
.quiz_vector {
    margin-bottom: -15px;
    position: absolute;
    bottom: 100%;
}

.quiz_vector img {
    width: 100%;
    height: auto;
}

/* Quiz Card Header */
.quiz_card_header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* gap: 8px; */
}

.quiz_card_header h5 {
    font-size: 24px;
    font-weight: 400;
    color: #1F1F1F;
    line-height: 36px;
    text-align: center;
}

.difficulty_badge {
    background-color: #10B981;
    color: white;
    padding: 4px 16px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 400;
}

/* Quiz Card Body */
.quiz_card_body {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    border-radius: 16px;
    width: 100%;
}

.quiz_card_body div p {
    margin-bottom: 0;
}

.quiz_card_body div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.quiz_card_body div .item_key {
    font-size: 14px;
    font-weight: 300;
    color: #737373;
    line-height: 22px;
}

.quiz_card_body div .item_value {
    font-size: 16px;
    font-weight: 400;
    color: #1F1F1F;
    line-height: 24px;
}

/* Quiz Instructions */
.quiz_instructions {
    background-color: #F6FCF9;
    border: 1px solid #C8EFD4;
    border-radius: 16px;
    padding: 24px;
    width: 100%;
}

.instructions_header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.instructions_header h6 {
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    color: var(--primary-color);
    margin: 0;
}

.instructions_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.instructions_list li {
    font-size: 12px;
    font-weight: 300;
    color: black;
    line-height: 16px;
    padding-right: 20px;
    position: relative;
}

.instructions_list li::before {
    content: "•";
    position: absolute;
    right: 0;
    color: var(--primary-color);
    font-weight: bold;
}

/* Start Button */
.start_quiz_btn {
    background-color: var(--primary-color);
    color: white;
    border: none;
    border-radius: 100px;
    padding: 11px 20px;
    font-size: 14px;
    font-weight: 500;
    width: 100%;
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.start_quiz_btn:hover {
    background-color: var(--primary-color-hover);
}

/* Proposal 1: Green outline */
.start_quiz_btn.start_quiz_btn_outline {
    background-color: transparent;
    color: var(--primary-color, #165D31);
    border: 2px solid var(--primary-color, #165D31);
}

.start_quiz_btn.start_quiz_btn_outline:hover {
    background-color: var(--primary-color, #165D31);
    color: white;
}

.hero-leaderboard {
    margin-inline-end: 24px !important;
    background-color: #165D31;
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}

.add-test-button {
    background-color: #165d31 !important;
    font-size: 14px;
    margin-bottom: 12px
}

.menu-icon {
    width: 20px !important;
    height: 20px !important;
    margin-inline-end: 8px !important;
}


.custom-menu-link {
    width: 100% !important;
    flex: unset !important;
    padding-inline: 0 !important;
}

/* Menu item hover effects */
.menu-item:hover {
    background-color: var(--Gray-50, #FAFAFA) !important;
    cursor: pointer;
}


.head-subjects-div:hover {
    background-color: var(--Primary-25, #eaf3ed) !important;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border-radius: 16px;
}

.sidebar-item:hover {
    background-color: var(--Primary-25, #eaf3ed) !important;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border-radius: 16px;
}

.menu-item a {
    color: var(--Gray-600, #525252) !important;
    text-decoration: none !important;
    font-size: 14px;
    font-family: Alexandria;
    font-weight: 400;
    line-height: 22px;
}


.footer-item :hover {
    background-color: var(--Primary-25, #eaf3ed) !important;
    cursor: pointer;
    border-radius: 16px;
    transition: all 0.3s ease;
}

.fc-header-toolbar {
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--Gray-200, #e5e5e5ab) !important;
}

.fc .fc-scrollgrid.fc-scrollgrid-liquid {
    border-radius: 20px !important;
    overflow: hidden !important;
}

.fc .fc-col-header-cell {
    padding-block: 16px !important;
}

.fc .fc-col-header-cell .fc-col-header-cell-cushion {
    font-weight: 300 !important;
}

thead {
    background-color: #f7f7f74a !important;
}

.fc .fc-listMonth-view,
.fc .fc-listWeek-view,
.fc .fc-listDay-view,
.fc .fc-daygrid,
.fc .fc-dayGridMonth-view,
.fc .fc-view {
    border-radius: 20px !important;
    overflow: hidden !important;
}


.fc-toolbar-chunk>div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fc-toolbar-title {
    display: inline-block !important;
    font-weight: 500 !important;
    margin-inline: 16px !important;
}

.fc .fc-button.fc-prev-button,
.fc .fc-button.fc-next-button {
    width: 32px !important;
    height: 32px !important;
    padding: 4px !important;
    background: white !important;
    border-radius: 16px !important;
    border: 1px var(--Gray-200, #E5E5E5) solid !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    cursor: pointer !important;
    margin-inline: 4px !important;
}

.fc .fc-button-primary .fc-icon {
    margin-bottom: 0 !important;
}

.fc-button-group {
    padding: 4px !important;
    background: #f3f3f3 !important;
    border-radius: 100px !important;
}



.fc .fc-button-group .fc-button.fc-button-primary {
    background-color: unset !important;
    padding: 9px 20px !important;
    min-width: 85px !important;
}

.fc .fc-button-group>.fc-button.fc-button-active {
    min-width: 85px !important;
    padding: 9px 20px !important;
    border-radius: 100px !important;
    background-color: #fff !important;
}

/* .fc-daygrid-day-frame.fc-scrollgrid-sync-inner{
      display: flex;
      justify-content: end;
      align-items: end;
    } */

.fc .fc-daygrid-dot-event {
    background-color: #ECFDF5 !important;
}

.fc .fc-timegrid-slot {
    height: 50px !important;
}

.arrow-to-right {
    transform: rotate(270deg);
}

.arrow-to-left {
    transform: rotate(90deg);
}

.arrow-to-right-pagination {
    transform: rotate(0deg);
}

.arrow-to-left-pagination {
    transform: rotate(180deg);
}

.close-icon {
    position: absolute;
    left: 32px;
    top: 32px;
    z-index: 10;
}

.Enhanced-close-button {

    right: unset !important;
    left: 15px !important;
}

iframe.modal-phone-code {
    width: 650px !important;
    height: 600px !important;
}

.mfp-iframe-holder .mfp-close {
    right: auto !important;
    left: 50px !important;
}

.rbt-progress-parent {
    left: 30px !important;
    right: auto !important;
}

.footer-non-signin {
    margin-top: 50px !important;
}

.plans-section {
    background: linear-gradient(to bottom, transparent 20%, rgb(39 147 84 / 12%) 65%, transparent 100%);
}

.navbar-notification-icon i {
    color: #1F1F1F !important;
    font-size: 20px !important;
}

.copy-icon {
    color: var(--primary-color) !important;
}


.status-badge {
display: inline-block;
padding: 4px 10px;
font-size: 12px;
font-weight: 500;
line-height: 1;
border-radius: 12px;
white-space: nowrap;
}

/* Success */
.status-badge-light-success {
  background-color: #e8fff3; /* success-light */
  color: #50cd89;            /* success */
}

/* Danger */
.status-badge-light-danger {
  background-color: #fff5f8; /* danger-light */
  color: #f1416c;            /* danger */
}

/* Warning */
.status-badge-light-warning {
  background-color: #fff8dd; /* warning-light */
  color: #ffc700;            /* warning */
}

/* Dark (Light Background) */
.status-badge-light-dark {
  background-color: #f5f8fa; /* light */
  color: #181c32;            /* dark / inverse */
}

.menu-sub-dropdown{
    background-color: white !important;
}

#closeQuizContainer{
    border: 1px solid #165D31;
    border-radius: 100px;
    padding: 8px;
    cursor: pointer;
}

#closeQuizContainer:hover{
    background: #F0F7F3;
    border-color: #124126;
    color: #124126;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(22, 93, 49, 0.15);
}

.display-explanation-image{
    width: 100% !important;
    max-width: unset !important;
    justify-content: center !important;
}

.display-explanation-image .modal-content {
    width: 65% !important;
}



/*=============================== ltr direction css ========================= */

[dir="ltr"] {
    .setting-sidebar-wrapper {
        padding-left: 0 !important;
        padding-right: var(--bs-gutter-x) !important;
    }

    .Student-Illustration {
        transform: rotateY(180deg) !important;
    }

    .arrow-to-right {
        transform: rotate(90deg);
    }

    .arrow-to-left {
        transform: rotate(270deg);
    }

    .arrow-to-right-pagination {
        transform: rotate(180deg);
    }

    .arrow-to-left-pagination {
        transform: rotate(0deg);
    }

    .close-icon {
        left: unset !important;
        right: 32px !important;
    }


    .Enhanced-close-button {

        right: 15px !important;
        left: unset !important;
    }

    .rbt-progress-parent {
        right: 30px !important;
        left: auto !important;
    }

}

/* ############################### media queries ############################### */

/* Responsive Styles */
@media (max-width: 1400px) {
    .home-description{
        max-width: 500px;
        font-size: 17px;
    }
    .main-green-card{
        height: 400px;
        width: 400px;
    }
}

@media (max-width: 1200px) {
    .app-main {
        padding-inline: 20px;
    }

    .meeting-countdown-booking {
        font-size: 18px;
    }

    .fc-toolbar-title {
        font-size: 1.5rem !important;
        margin-inline-end: 12px !important;
    }

    .fc .fc-button-group .fc-button.fc-button-primary {
        background-color: unset !important;
        padding: 4px 12px !important;
        min-width: 60px !important;
    }

    .fc .fc-button-group>.fc-button.fc-button-active {
        min-width: 60px !important;
        padding: 4px 12px !important;
        border-radius: 100px !important;
        background-color: #fff !important;
    }



}

@media (max-width: 768px) {
    .tab-switcher-item {
        min-width: 80px;
        padding: 5px 8px;
    }

    .tab-switcher-item-text {
        font-size: 12px;
        line-height: 18px;
    }

    .meeting-card {
        padding: 12px;
        gap: 12px;
    }

    .meeting-card-title {
        font-size: 14px;
        line-height: 22px;
    }

    .meeting-card-description {
        font-size: 13px;
        line-height: 20px;
    }

    .meeting-card-footer {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .meeting-card-button {
        width: 100%;
    }

    .meeting-countdown-booking {
        font-size: 16px;
    }

    .pagination-item {
        width: 40px;
        height: 40px;
    }

    .pagination-container {
        gap: 8px;
    }

    .mobile-course-tabs .nav-link {
        font-size: 13px;
        padding: 14px 8px;
    }

    .fc .fc-toolbar {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .fc .fc-toolbar {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .fc-header-toolbar .fc-toolbar-chunk {
        margin-bottom: 0 !important;
    }

    .fc-toolbar-title {
        padding-block: 24px !important;
    }

    ul.menu {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .footer-item {
        margin-block: 0 !important;
        padding-block: 0 !important;
    }

    iframe.modal-phone-code {
        width: 100% !important;
    }

    .footer-non-signin {
        margin-top: 20px !important;
    }

    .quiz-sub-container{
    flex-wrap: wrap !important;
    gap: 4px !important;
    }

    /* .btn-quiz-start{
        margin-inline: auto !important;
    } */

}

@media (max-width: 576px) {
    .tab-switcher-container {
        padding: 6px;
        gap: 2px;
    }

    .tab-switcher-item {
        min-width: 70px;
        padding: 4px 6px;
    }

    .tab-switcher-item-text {
        font-size: 11px;
        line-height: 16px;
    }

    .search-bar-container {
        padding: 8px 12px;
    }

    .search-bar-input,
    .search-bar-input::placeholder {
        font-size: 13px;
    }

    .meeting-card-meta {
        flex-direction: column;
        align-items: flex-end;
    }

    .mobile-text-center {
        text-align: center !important;
    }

    .menu {
        flex-wrap: wrap;
        justify-content: center;
        /* align-items: center; */
    }

    .mobile-course-tabs .nav-link {
        font-size: 12px;
        padding: 12px 6px;
    }

    .mobile-course-tab-content {
        padding: 16px;
    }

    .copy-btn {
        padding-inline: 0px !important;
        font-size: 12px !important;
        width: fit-content !important;
    }

    .copy-btn img {
        width: 16px !important;
        height: 16px !important;
    }

    #referralLink {
        padding-inline: 8px !important;
        font-size: 12px !important;
    }

    .footer-item {
        margin-block: 0 !important;
        padding-block: 0 !important
    }
}

@media (min-width: 768px) {
    .hidden-xs {
        display: block !important;
    }
}


@media (max-width: 992px) {
    .setting-sidebar-wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* #kt_app_wrapper {
        height: 100% !important;
    } */

    [dir="ltr"] {
        .setting-sidebar-wrapper {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }
    }

    .gap-24px-mobile {
        gap: 24px !important;
    }

    .main-hero-section-parent{
    flex-wrap:wrap;
    justify-content: center !important;
    gap:50px;
    }

    .Main-Heading-h1{
    max-width: 100%; 
    text-align:center;
    }
    .home-description{
        max-width: 100%;
        text-align:center;
    }
    .slider-btn{
        justify-content:center !important;
    }
    .slider-btn a{
        font-size: 14px !important;
        padding: 9px 16px !important;
    }
    .verified-from-div{
        justify-content:center !important;
    }
    .faq-parent-div{
        flex-wrap:wrap;
        margin-block: 60px;
        gap: 20px;
    }
    .left_side{
        margin-inline-start: 0 !important;
    }

    .course-meta{
        flex-wrap:wrap !important;
    }
    .why-choose-use-parent-div{
        gap:20px;
    }
    .courses-balets-content{
    margin-top: 40px;
    gap:50px;
    }

    .display-explanation-image .modal-content {
    width: 95% !important;
    }

    .modal-dialog {
        margin-inline: 0px !important;
        max-width: 100%;
        margin-block: 30px !important;
    }

}


@media (max-width: 767px) {
    .course_image {
        height: 200px;
    }

    .shared_subtitle {
        font-size: 24px;
        line-height: 32px;
    }

    .testimonial_card_item {
        max-width: 100%;
        padding: 20px;
        height: 100%;
    }

    .testimonial_text {
        font-size: 14px;
        line-height: 22px;
    }

    .student_name {
        font-size: 14px;
    }

    .student_title {
        font-size: 12px;
    }

    .hide-mobile {
        display: none !important;
    }
}

/* تحسينات للموبايل */
@media (max-width: 768px) {
    .teacher-card {
        border-radius: 16px;
    }

    .teacher-avatar {
        width: 70px;
        height: 70px;
    }

    .teacher-name {
        font-size: 16px;
    }

    .teacher-stats {
        gap: 16px;
    }
}

/* تحسينات للموبايل */
@media (max-width: 768px) {
    .overview-section {
        padding: 20px;
        border-radius: 16px;
    }

    .course-meta-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .course-meta{
        font-size: 12px;
    }

    .meta-item {
        padding: 10px;
    }

    .section-title {
        font-size: 16px;
    }

    .overview-description {
        font-size: 13px;
        line-height: 22px;
    }

    .feature-item span {
        font-size: 13px;
        line-height: 20px;
    }

    /* .modal-dialog {
        max-width: 100%;
        margin-inline: 20px !important;
        margin-block: 30px !important;
    } */
}

@media (max-width: 576px) {
    .meta-icon {
        font-size: 20px;
    }

    .meta-label {
        font-size: 12px;
    }

    .meta-value {
        font-size: 14px;
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .start_quiz_card {
        padding: 32px 24px;
        gap: 24px;
    }

    .quiz_card_body {
        flex-direction: column;
        gap: 16px;
    }

    .quiz_card_body .separator {
        width: 100%;
        height: 1px;
    }

    .hero-leaderboard {
        margin-inline-end: 0 !important;
        margin-bottom: 24px !important;
    }

    .help-center-card {
        padding: 12px !important;
    }

    #help-center-cover {
        padding: 12px !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .img-help-center {
        width: 50% !important;
    }

}

/* =========================
   USER MENU SIDEBAR
   ========================= */

/* User Menu Sidebar Overlay */
.user-menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.user-menu-overlay.active {
    display: block;
    opacity: 1;
}

/* User Menu Sidebar */
.user-menu-sidebar {
    position: fixed;
    top: 0;
    width: 300px;
    height: 100vh;
    background: white;
    z-index: 999;
    transition: transform 0.3s ease;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 24px 16px;
    box-shadow: -4px 0 12px rgba(0, 0, 0, 0.15);
}

.bg-light-green {
    background: var(--Primary-25, #EEFFF4);
}

.side-inner-item {
    padding: 12px 16px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.side-item-selected {
    background-color: var(--Primary-25, #EEFFF4);
}

/* RTL (Arabic) - sidebar comes from RIGHT */
html[dir="rtl"] .user-menu-sidebar {
    left: 0;
    right: auto;
    transform: translateX(-100%);
}

/* LTR (English) - sidebar comes from LEFT */
html[dir="ltr"] .user-menu-sidebar {
    right: 0;
    left: auto;
    transform: translateX(100%);
    box-shadow: 4px 0 12px rgba(0, 0, 0, 0.15);
}

/* Show user menu sidebar when active */
.user-menu-sidebar.active {
    transform: translateX(0) !important;
}

/* User Menu Close Button */
.user-menu-close {
    width: 32px;
    height: 32px;
    padding: 6px;
    background: var(--Gray-100, #F5F5F5);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

/* User Menu Content */
.user-menu-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0;
}

/* Flip icons in RTL (Right-to-Left) direction */
[dir="ltr"] {

    .flip-on-rtl,
    .fa-angle-left,
    .fa-angle-right,
    .fa-chevron-left,
    .fa-chevron-right,
    .fa-arrow-left,
    .fa-arrow-right {
        transform: scaleX(-1);
    }
}

/* Hide user menu sidebar on desktop (992px and above) */
@media (min-width: 992px) {

    .user-menu-sidebar,
    .user-menu-overlay {
        display: none !important;
    }
}

@media (min-width:1200px) {
    .subject-pills-container{
    width: 70%;
    margin-inline: auto;
    }
}

/* Show user menu sidebar only on mobile (below 992px) */
@media (max-width: 991px) {

    /* Hide the original dropdown menu on mobile */
    .navbar-container .menu-sub-dropdown[data-kt-menu="true"]:not(.notification-dropdown) {
        display: none !important;
    }
}

/* ===================================
   HIDE NAVBAR/SIDEBAR PAGES STYLES
   Remove top margin from pages that hide header and sidebar
   =================================== */

/* Desktop: Override framework margin-top on pages without navbar/sidebar */
@media (min-width: 992px) {
    body.hide-navbar-sidebar[data-kt-app-header-fixed=true] .app-wrapper {
        margin-top: 0 !important;
    }

    /* Also override when toolbar is sticky or fixed */
    body.hide-navbar-sidebar[data-kt-app-header-fixed=true][data-kt-app-toolbar-sticky=on] .app-wrapper {
        margin-top: 0 !important;
    }

    body.hide-navbar-sidebar[data-kt-app-header-fixed=true][data-kt-app-toolbar-fixed=true] .app-wrapper {
        margin-top: 0 !important;
    }
}

/* Mobile: Override framework margin-top on pages without navbar/sidebar */
@media (max-width: 991.98px) {
    body.hide-navbar-sidebar[data-kt-app-header-fixed-mobile=true] .app-wrapper {
        margin-top: 0 !important;
    }

    /* Also override when toolbar is sticky */
    body.hide-navbar-sidebar[data-kt-app-header-fixed-mobile=true][data-kt-app-toolbar-sticky=on] .app-wrapper {
        margin-top: 0 !important;
    }
}
