/*==================================================
  MUNNEXT COMPONENTS v1.0
  Premium Reusable UI Components
==================================================*/


/*==================================
  PREMIUM CARD
==================================*/

.premium-card{
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.45);
    border-radius:24px;
    padding:30px;
    position:relative;
    overflow:hidden;
    transition:.35s ease;
    box-shadow:0 15px 40px rgba(13,71,161,.10);
}

.premium-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(13,71,161,.18);

}

.premium-card::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:80%;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );

    transition:.8s;

}

.premium-card:hover::before{

    left:130%;

}


/*==================================
  ACHIEVEMENT CARD
==================================*/

.achievement-card{

    background:linear-gradient(
        135deg,
        #ffffff,
        #f7fbff
    );

    border-radius:24px;

    padding:30px;

    text-align:center;

    transition:.35s;

    box-shadow:0 12px 35px rgba(13,71,161,.08);

    border-top:5px solid var(--accent);

}

.achievement-card:hover{

    transform:translateY(-10px);

}

.achievement-icon{

    width:90px;

    height:90px;

    margin:auto;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:42px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-light)
    );

    color:#fff;

    margin-bottom:20px;

}


/*==================================
  HALL OF FAME WINNER CARD
==================================*/

.winner-card{

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:0 18px 45px rgba(13,71,161,.12);

    transition:.35s;

}

.winner-card:hover{

    transform:translateY(-12px);

}

.winner-cover{

    height:110px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-light)
    );

}

.winner-avatar{

    width:120px;

    height:120px;

    border-radius:50%;

    object-fit:cover;

    border:6px solid #fff;

    margin:-60px auto 20px;

    display:block;

}

.winner-body{

    padding:25px;

    text-align:center;

}


/*==================================
  BADGE
==================================*/

.badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    border-radius:999px;

    font-size:.85rem;

    font-weight:700;

    background:linear-gradient(
        135deg,
        var(--accent),
        #FFE082
    );

    color:#222;

}


/*==================================
  XP WIDGET
==================================*/

.xp-widget{

    background:#fff;

    border-radius:22px;

    padding:25px;

    box-shadow:0 10px 30px rgba(13,71,161,.08);

}

.xp-widget h3{

    margin-bottom:15px;

}

.xp-bar{

    width:100%;

    height:12px;

    border-radius:999px;

    overflow:hidden;

    background:#e8eef9;

}

.xp-progress{

    width:70%;

    height:100%;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        #00C853,
        #69F0AE
    );

}


/*==================================
  MUNCOINS
==================================*/

.coin-widget{

    background:linear-gradient(
        135deg,
        #FFF8E1,
        #ffffff
    );

    border-radius:22px;

    text-align:center;

    padding:30px;

    box-shadow:0 12px 30px rgba(255,193,7,.15);

}

.coin-value{

    font-size:3rem;

    font-weight:800;

    color:#F9A825;

}

.coin-label{

    color:#777;

    margin-top:10px;

}/*==================================================
  COURSE CARD
==================================================*/

.course-card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(13,71,161,.10);
    transition:.35s;
    display:flex;
    flex-direction:column;
}

.course-card:hover{
    transform:translateY(-12px);
    box-shadow:0 25px 60px rgba(13,71,161,.18);
}

.course-image{
    height:220px;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:4rem;
    color:#fff;
}

.course-content{
    padding:28px;
    flex:1;
}

.course-meta{
    display:flex;
    justify-content:space-between;
    margin:20px 0;
    font-size:.9rem;
    color:var(--text-light);
}


/*==================================================
  PRICING CARD
==================================================*/

.pricing-card{
    background:#fff;
    border-radius:28px;
    padding:40px 30px;
    text-align:center;
    box-shadow:0 15px 45px rgba(13,71,161,.10);
    transition:.35s;
    position:relative;
}

.pricing-card:hover{
    transform:translateY(-12px);
}

.pricing-card.featured{
    border:3px solid var(--accent);
}

.price{
    font-size:3rem;
    font-weight:800;
    color:var(--primary);
    margin:20px 0;
}

.pricing-card ul{
    margin:25px 0;
}

.pricing-card ul li{
    padding:10px 0;
    color:var(--text-light);
}


/*==================================================
  TESTIMONIAL CARD
==================================================*/

.testimonial-card{
    background:#fff;
    border-radius:24px;
    padding:30px;
    box-shadow:0 15px 40px rgba(13,71,161,.10);
    position:relative;
}

.testimonial-card::before{
    content:"★★★★★";
    color:var(--accent);
    font-size:1.1rem;
    display:block;
    margin-bottom:15px;
}

.testimonial-user{
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:25px;
}

.testimonial-user img{
    width:60px;
    height:60px;
    border-radius:50%;
    object-fit:cover;
}


/*==================================================
  NOTICE CARD
==================================================*/

.notice-card{
    background:#fff;
    border-left:6px solid var(--accent);
    padding:25px;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(13,71,161,.08);
    transition:.3s;
}

.notice-card:hover{
    transform:translateX(6px);
}


/*==================================================
  GALLERY CARD
==================================================*/

.gallery-card{
    overflow:hidden;
    border-radius:20px;
    box-shadow:0 12px 30px rgba(13,71,161,.10);
}

.gallery-card img{
    width:100%;
    display:block;
    transition:.45s;
}

.gallery-card:hover img{
    transform:scale(1.08);
}


/*==================================================
  BLOG CARD
==================================================*/

.blog-card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(13,71,161,.10);
    transition:.35s;
}

.blog-card:hover{
    transform:translateY(-10px);
}

.blog-image{
    height:220px;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
}

.blog-content{
    padding:28px;
}

.blog-date{
    font-size:.85rem;
    color:var(--text-light);
    margin-bottom:12px;
}/*==================================================
  MUNNEXT COMPONENTS v1.0
  PART 3
==================================================*/


/*==================================
  LEADERBOARD CARD
==================================*/

.leaderboard{

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(13,71,161,.10);

}

.leaderboard-header{

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-light)
    );

    color:#fff;

    padding:22px 30px;

}

.leaderboard-item{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:18px 25px;

    border-bottom:1px solid #eef2f7;

    transition:.3s;

}

.leaderboard-item:hover{

    background:#F8FBFF;

}

.rank{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    background:var(--accent);

    color:#222;

}



/*==================================
  CHALLENGE CARD
==================================*/

.challenge-card{

    background:linear-gradient(
        135deg,
        #ffffff,
        #F8FBFF
    );

    border-radius:26px;

    padding:30px;

    position:relative;

    overflow:hidden;

    transition:.35s;

    box-shadow:0 15px 40px rgba(13,71,161,.10);

}

.challenge-card:hover{

    transform:translateY(-10px);

}

.challenge-level{

    position:absolute;

    top:18px;

    right:18px;

    padding:8px 15px;

    border-radius:999px;

    background:var(--accent);

    font-size:.8rem;

    font-weight:700;

}

.challenge-reward{

    margin-top:18px;

    color:var(--primary);

    font-weight:700;

}



/*==================================
  TIMELINE
==================================*/

.timeline{

    position:relative;

    margin:40px 0;

    padding-left:35px;

}

.timeline::before{

    content:"";

    position:absolute;

    left:10px;

    top:0;

    width:4px;

    height:100%;

    background:var(--primary-light);

    border-radius:999px;

}

.timeline-item{

    position:relative;

    margin-bottom:35px;

}

.timeline-item::before{

    content:"";

    position:absolute;

    left:-32px;

    top:6px;

    width:18px;

    height:18px;

    border-radius:50%;

    background:var(--accent);

    border:4px solid #fff;

    box-shadow:0 0 0 3px var(--primary);

}



/*==================================
  FAQ ACCORDION
==================================*/

.faq-item{

    background:#fff;

    border-radius:18px;

    margin-bottom:18px;

    box-shadow:0 10px 30px rgba(13,71,161,.08);

    overflow:hidden;

}

.faq-question{

    padding:22px;

    cursor:pointer;

    font-weight:600;

}

.faq-answer{

    display:none;

    padding:0 22px 22px;

    color:var(--text-light);

}



/*==================================
  ALERT BOXES
==================================*/

.alert{

    padding:18px 24px;

    border-radius:18px;

    margin:20px 0;

    font-weight:500;

}

.alert-success{

    background:#E8F5E9;

    color:#1B5E20;

    border-left:5px solid #00C853;

}

.alert-warning{

    background:#FFF8E1;

    color:#8D6E00;

    border-left:5px solid var(--accent);

}

.alert-danger{

    background:#FFEBEE;

    color:#B71C1C;

    border-left:5px solid var(--danger);

}



/*==================================
  PROGRESS RING PLACEHOLDER
==================================*/

.progress-ring{

    width:140px;

    height:140px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    font-size:2rem;

    font-weight:700;

    background:conic-gradient(

        var(--primary) 75%,

        #E6ECF7 0

    );

    color:var(--primary);

}



/*==================================
  LOADING SKELETON
==================================*/

.skeleton{

    border-radius:18px;

    background:linear-gradient(

        90deg,

        #eceff4,

        #f8fbff,

        #eceff4

    );

    background-size:300%;

    animation:skeletonLoading 1.6s infinite;

}

@keyframes skeletonLoading{

    0%{

        background-position:100% 0;

    }

    100%{

        background-position:-100% 0;

    }

}
