/*==================================================
        گروه آموزشی وکلای مشاور
        Version 1.0 Premium
==================================================*/

/*==============================
            Reset
==============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    direction:rtl;
    font-family:IRANSans,Tahoma,sans-serif;
    background:#090909;
    color:#ffffff;
    overflow-x:hidden;
    line-height:1.8;
}

/*==============================
        Container
==============================*/

.app{

    width:100%;
    max-width:760px;
    margin:auto;
    padding:15px;

}

/*==============================
        Header
==============================*/

.header{

    margin-top:15px;
    margin-bottom:25px;

    border-radius:24px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,215,0,.20);

    backdrop-filter:blur(20px);

    padding:20px;

    box-shadow:
    0 10px 40px rgba(0,0,0,.40);

}

/*==============================
        Header Top
==============================*/

.headerTop{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:18px;

}

.headerItem{

    background:#171717;

    color:#FFD700;

    padding:10px 15px;

    border-radius:14px;

    font-size:13px;

    border:1px solid rgba(255,215,0,.15);

}

/*==============================
        Logo
==============================*/

.logoArea{

    text-align:center;

}

.logoImage{

    width:110px;

    height:110px;

    object-fit:contain;

    margin-bottom:12px;

}

.logoArea h1{

    font-family:IranNastaliq;

    color:#FFD700;

    font-size:42px;

    font-weight:normal;

    margin-bottom:8px;

}

.logoArea p{

    color:#dddddd;

    font-size:15px;

}

/*==============================
        Dashboard
==============================*/

.dashboardCards{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:15px;

    margin-bottom:25px;

}

.card{

    background:#161616;

    border-radius:18px;

    border:1px solid rgba(255,215,0,.18);

    text-align:center;

    padding:18px;

    transition:.30s;

}

.card:hover{

    transform:translateY(-4px);

    border-color:#FFD700;

}

.cardNumber{

    font-size:28px;

    font-weight:bold;

    color:#FFD700;

    margin-bottom:8px;

}

.cardTitle{

    font-size:14px;

    color:#eeeeee;

}
/*==============================
        Section Title
==============================*/

.sectionHeader{

    margin-bottom:15px;

}

.sectionHeader h2{

    color:#FFD700;

    font-size:22px;

    margin-bottom:6px;

}

.sectionHeader span{

    color:#bbbbbb;

    font-size:13px;

}

/*==============================
        Course Slider
==============================*/

.courseSection{

    margin-bottom:25px;

}

.courseSlider{

    display:flex;

    gap:12px;

    overflow-x:auto;

    padding-bottom:10px;

    scrollbar-width:none;

}

.courseSlider::-webkit-scrollbar{

    display:none;

}

.courseButton{

    flex:0 0 auto;

    background:#181818;

    color:#FFD700;

    border:1px solid rgba(255,215,0,.20);

    border-radius:18px;

    padding:14px 22px;

    font-size:15px;

    cursor:pointer;

    transition:.30s;

}

.courseButton:hover{

    background:#FFD700;

    color:#111;

}

.courseButton.active{

    background:#FFD700;

    color:#111;

    font-weight:bold;

    box-shadow:0 0 18px rgba(255,215,0,.35);

}

/*==============================
        Lesson Viewer
==============================*/

.lessonViewer{

    background:#151515;

    border:1px solid rgba(255,215,0,.15);

    border-radius:22px;

    padding:18px;

    margin-bottom:25px;

}

.viewerHeader{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;

}

.viewerHeader h2{

    color:#FFD700;

    font-size:21px;

}

.viewerHeader span{

    color:#cccccc;

    font-size:13px;

}

.loadingBox{

    text-align:center;

    color:#bbbbbb;

    padding:35px 10px;

}

.emptyState{

    text-align:center;

    padding:45px 20px;

}

.emptyIcon{

    font-size:55px;

    margin-bottom:15px;

}

.emptyState h2{

    color:#FFD700;

    margin-bottom:10px;

}

.emptyState p{

    color:#bbbbbb;

    font-size:14px;

}
/*==============================
        Lesson Card
==============================*/

.lessonCard{

    background:#161616;

    border:1px solid rgba(255,215,0,.15);

    border-radius:18px;

    padding:18px;

    margin-bottom:15px;

    transition:.30s;

}

.lessonCard:hover{

    border-color:#FFD700;

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(0,0,0,.35);

}

.lessonTitle{

    color:#FFD700;

    font-size:18px;

    margin-bottom:15px;

    font-weight:bold;

}

.lessonActions{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}

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

.actionButton{

    flex:1;

    min-width:150px;

    border:none;

    border-radius:14px;

    padding:14px;

    cursor:pointer;

    font-size:14px;

    transition:.30s;

    text-decoration:none;

    text-align:center;

    font-weight:bold;

}

.audioButton{

    background:#FFD700;

    color:#111111;

}

.audioButton:hover{

    background:#ffea66;

}

.pdfButton{

    background:#0f3d91;

    color:#ffffff;

}

.pdfButton:hover{

    background:#1957c0;

}

.answerButton{

    background:#1b8f45;

    color:#ffffff;

}

.answerButton:hover{

    background:#23b356;

}

/*==============================
        Audio Player
==============================*/

.audioSection{

    background:#161616;

    border-radius:20px;

    border:1px solid rgba(255,215,0,.15);

    padding:18px;

    margin-top:20px;

    margin-bottom:20px;

}

.audioSection h2{

    color:#FFD700;

    margin-bottom:15px;

}

#audioPlayer{

    width:100%;

    border-radius:12px;

}

/*==============================
        Files Section
==============================*/

.filesSection{

    display:flex;

    gap:15px;

    margin-bottom:25px;

}

.fileButton{

    flex:1;

    text-align:center;

    text-decoration:none;

    background:#202020;

    color:#FFD700;

    padding:16px;

    border-radius:16px;

    border:1px solid rgba(255,215,0,.20);

    transition:.30s;

    cursor:pointer;

}

.fileButton:hover{

    background:#FFD700;

    color:#111111;

}
/*==============================
        Answer Modal
==============================*/

.modal{

    display:none;

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.82);

    z-index:9999;

    padding:20px;

    overflow:auto;

}

.modalContent{

    width:100%;

    max-width:760px;

    margin:40px auto;

    background:#151515;

    border:1px solid rgba(255,215,0,.18);

    border-radius:22px;

    overflow:hidden;

    animation:modalShow .35s ease;

}

.modalHeader{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 20px;

    background:#1c1c1c;

    border-bottom:1px solid rgba(255,215,0,.15);

}

.modalHeader h2{

    color:#FFD700;

    font-size:20px;

}

.closeButton{

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    background:#FFD700;

    color:#111;

    font-size:20px;

    font-weight:bold;

}

.modalBody{

    padding:22px;

    color:#eeeeee;

    line-height:2.2;

    font-size:15px;

}

/*==============================
        Footer
==============================*/

.footer{

    text-align:center;

    margin:35px 0 20px;

    color:#999999;

}

.footerLogo{

    color:#FFD700;

    font-size:22px;

    margin-bottom:8px;

}

.footerText{

    font-size:13px;

}

/*==============================
        Back To Top
==============================*/

.backTop{

    position:fixed;

    left:20px;

    bottom:20px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    background:#FFD700;

    color:#111;

    font-size:24px;

    box-shadow:0 10px 25px rgba(0,0,0,.35);

    display:none;

    transition:.30s;

}

.backTop:hover{

    transform:translateY(-5px);

}

/*==============================
        Animations
==============================*/

@keyframes modalShow{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==============================
        Responsive
==============================*/

@media(max-width:768px){

.dashboardCards{

grid-template-columns:1fr;

}

.headerTop{

flex-direction:column;

}

.lessonActions{

flex-direction:column;

}

.filesSection{

flex-direction:column;

}

.logoArea h1{

font-size:34px;

}

}
/*==============================
        Scrollbar
==============================*/

::-webkit-scrollbar{

    width:8px;

    height:8px;

}

::-webkit-scrollbar-track{

    background:#111111;

}

::-webkit-scrollbar-thumb{

    background:#FFD700;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#ffeb66;

}

/*==============================
        Selection
==============================*/

::selection{

    background:#FFD700;

    color:#111111;

}

/*==============================
        Focus
==============================*/

button:focus,
a:focus{

    outline:none;

}

/*==============================
        Click Effect
==============================*/

.courseButton,
.actionButton,
.fileButton,
.closeButton,
.backTop{

    transition:
    background .30s,
    color .30s,
    transform .20s,
    box-shadow .30s;

}

.courseButton:active,
.actionButton:active,
.fileButton:active,
.closeButton:active,
.backTop:active{

    transform:scale(.96);

}

/*==============================
        Fade Animation
==============================*/

.fadeIn{

    animation:fadeIn .35s ease;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(15px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==============================
        Loading
==============================*/

.loadingBox{

    color:#FFD700;

    font-size:16px;

    animation:pulse 1.2s infinite;

}

@keyframes pulse{

    0%{

        opacity:.3;

    }

    50%{

        opacity:1;

    }

    100%{

        opacity:.3;

    }

}
