/*
=========================================
Khatm Online v0.2
=========================================
*/

*{
    box-sizing:border-box;
}

.ko-container{
    max-width:1200px;
    margin:0 auto;
    padding:0 15px;
}

/*==================================
Grid Section
==================================*/

.ko-grid-section{

    margin:60px auto;

}

.ko-grid{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(140px,1fr));

    gap:18px;

    margin-top:30px;

}

/*==================================
Card
==================================*/

.ko-card{

    background:#fff;

    border-radius:18px;

    padding:22px 12px;

    text-align:center;

    cursor:pointer;

    border:2px solid #edf0ef;

    transition:.30s;

    box-shadow:0 8px 25px rgba(0,0,0,.06);

    position:relative;

    overflow:hidden;

}

.ko-card:before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:4px;

    background:#0c8a4d;

    transform:scaleX(0);

    transition:.3s;

}

.ko-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.ko-card:hover:before{

    transform:scaleX(1);

}

/*==================================
Number
==================================*/

.ko-number{

    font-size:17px;

    font-weight:700;

    color:#0c8a4d;

    margin-bottom:10px;

}

/*==================================
Range
==================================*/

.ko-range{

    font-size:13px;

    line-height:24px;

    color:#666;

    margin-bottom:15px;

    min-height:48px;

}

/*==================================
Status
==================================*/

.ko-status{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:90px;

    padding:8px 14px;

    border-radius:40px;

    font-size:12px;

    font-weight:700;

}

/*==================================
Free
==================================*/

.ko-card.free .ko-status{

    background:#eaf8ef;

    color:#0c8a4d;

}

/*==================================
Progress
==================================*/

.ko-card.progress .ko-status{

    background:#fff4dc;

    color:#c88400;

}

/*==================================
Completed
==================================*/

.ko-card.completed{

    opacity:.75;

}

.ko-card.completed .ko-status{

    background:#ffe8e8;

    color:#d32f2f;

}

/*==================================
Loading
==================================*/

.ko-loading{

    padding:70px;

    text-align:center;

    font-size:18px;

    color:#0c8a4d;

    font-weight:bold;

}

.ko-loading:after{

    content:"";

    display:block;

    width:45px;

    height:45px;

    border:4px solid #ddd;

    border-top-color:#0c8a4d;

    border-radius:50%;

    margin:25px auto 0;

    animation:ko-spin .9s linear infinite;

}

@keyframes ko-spin{

    to{

        transform:rotate(360deg);

    }

}

/*==================================
Error
==================================*/

.ko-error{

    padding:50px;

    text-align:center;

    color:#d32f2f;

    font-weight:bold;

}
/*==================================
Modal
==================================*/

#ko-modal{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.55);

    display:none;

    justify-content:center;

    align-items:center;

    z-index:999999;

    backdrop-filter:blur(5px);

    animation:koFade .25s ease;

}

@keyframes koFade{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

/*==================================
Modal Box
==================================*/

.ko-modal-box{

    width:100%;

    max-width:470px;

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 25px 60px rgba(0,0,0,.18);

    animation:koPop .25s ease;

}

@keyframes koPop{

    from{

        transform:translateY(25px) scale(.96);

        opacity:0;

    }

    to{

        transform:translateY(0) scale(1);

        opacity:1;

    }

}

/*==================================
Header
==================================*/

.ko-modal-header{

    background:linear-gradient(135deg,#0c8a4d,#08713f);

    color:#fff;

    padding:18px 22px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.ko-modal-header h3{

    margin:0;

    font-size:20px;

    font-weight:700;

}

#ko-close{

    width:36px;

    height:36px;

    border-radius:50%;

    border:none;

    cursor:pointer;

    background:rgba(255,255,255,.15);

    color:#fff;

    font-size:20px;

    transition:.2s;

}

#ko-close:hover{

    background:#fff;

    color:#0c8a4d;

}

/*==================================
Body
==================================*/

.ko-modal-body{

    padding:28px;

}

/*==================================
Form
==================================*/

#ko-form{

    display:flex;

    flex-direction:column;

    gap:18px;

}

#ko-form label{

    display:block;

    margin-bottom:8px;

    font-weight:700;

    color:#444;

    font-size:14px;

}

#ko-form input{

    width:100%;

    height:48px;

    border:1px solid #ddd;

    border-radius:12px;

    padding:0 15px;

    font-size:15px;

    transition:.2s;

    outline:none;

}

#ko-form input:focus{

    border-color:#0c8a4d;

    box-shadow:0 0 0 4px rgba(12,138,77,.08);

}

/*==================================
Buttons
==================================*/

.ko-actions{

    display:flex;

    gap:12px;

    margin-top:10px;

}

.ko-btn{

    flex:1;

    height:48px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    font-size:15px;

    font-weight:700;

    transition:.25s;

}

.ko-btn-primary{

    background:#0c8a4d;

    color:#fff;

}

.ko-btn-primary:hover{

    background:#08713f;

}

.ko-btn-secondary{

    background:#f2f2f2;

    color:#444;

}

.ko-btn-secondary:hover{

    background:#e2e2e2;

}

/*==================================
Responsive
==================================*/

@media(max-width:768px){

    .ko-modal-box{

        width:94%;

        margin:20px;

    }

    .ko-modal-body{

        padding:20px;

    }

    .ko-actions{

        flex-direction:column;

    }

}