/* ================= HERO SECTION ================= */

.hero-section{
    position:relative;
    padding:30px 0;
    background:#fff;
    overflow:hidden;
}

.hero-bg-dots{
    position:absolute;
    inset:0;
    background-image:radial-gradient(#ddd 1px, transparent 1px);
    background-size:14px 14px;
    opacity:.6;
    z-index:0;
}

.hero-container{
    max-width:1200px;
    margin:auto;
    padding:0 16px; /* ✅ MOBILE SIDE SPACE */
    position:relative;
    z-index:2;
}

.hero-slide{
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:60px;
}
.hero-slide.active{
    display:flex;
}

.hero-left{width:55%;}
.hero-right{width:45%;}

.hero-badge{
    padding:8px 18px;
    border-radius:6px;
    background:linear-gradient(90deg,#ffb703,#ffd166);
    font-weight:600;
}

.hero-title{
    margin-top:20px;
    font-size:52px;
    font-weight:800;
    line-height:1.15;
}

.hero-desc{
    border-radius:20px;
    margin:20px 0;
    font-size:17px;
    background:#2f2fff;
    color:#fff;
    padding:10px 14px;
    display:inline-block;
}

.hero-btn{
    margin-top:30px;
    padding:14px 36px;
    background:#2f2fff;
    color:#fff;
    border-radius:6px;
    text-decoration:none;
    font-weight:600;
}

.hero-image-wrap{
    position:relative;
}

.hero-image-wrap img{
    width:100%;
    border-radius:18px;
}

/* FLOATING CARDS */
.float-card{
    position:absolute;
    background:#fff;
    padding:14px;
    border-radius:12px;
    box-shadow:0 15px 30px rgba(0,0,0,.15);
}

.rating-card{
    top:20px;
    right:-20px;
    text-align:center;
}

.stars{color:#fcbf49;}

.video-card{
    left:10px; /* ✅ FIXED */
    top:50%;
    transform:translateY(-50%);
    
    gap:10px;
}

.hero-testimonial-card{
    bottom:-24px;
    right:-30px;
    width:240px;
}
/* HERO MOBILE */
@media(max-width:991px){
    .hero-testimonial-card{
        bottom:-27px;
        right:-5px;
        width:240px;
    }
    .rating-card {
            top: -44px;
        right: -10px;
    }
    .hero-slide{
        flex-direction:column;
        text-align:center;
    }
    .hero-left,.hero-right{
        width:100%;
    }
    .hero-title{
        font-size:36px;
    }
}

@media(max-width:576px){
    .video-card{
        left:10px;
        top:auto;
        bottom:120px;
        transform:none;
    }
}

/* ================= HOME COURSES ================= */

.home-courses{
    padding:80px 0;
    background:#fff;
}

.home-courses-container{
    max-width:1200px;
    margin:auto;
    padding:0 16px; /* ✅ LEFT–RIGHT MARGIN FOR MOBILE */
}

.home-courses-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:40px;
}

.home-courses-head h2{
    font-size:34px;
    font-weight:800;
}

.explore-btn{
    padding:10px 22px;
    border:4px solid #2f2fff;
    color:#2f2fff;
    text-decoration:none;
    border-radius:6px;
    font-weight:600;
}

/* GRID */
.home-course-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* HIDE 4th COURSE ON DESKTOP */
.home-course-card:nth-child(4){
    display:none;
}

/* CARD */
.home-course-card{
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 15px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.home-course-card:hover{
    transform:translateY(-6px);
}

.course-thumb img{
    width:100%;
    height:190px;
    object-fit:cover;
}

.course-body{
    padding:20px;
}

.course-body h3{
    font-size:18px;
    font-weight:700;
}

.course-rating{
    color:#fcbf49;
    font-size:14px;
}

.course-rating span{
    color:#777;
}

.course-body p{
    font-size:14px;
    margin:12px 0;
}

.course-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.price{
    font-weight:700;
}

.price del{
    color:#aaa;
    margin-left:6px;
}



/* TABLET */
@media(max-width:991px){
    .home-course-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

/* MOBILE → 4 COURSES (2x2) */
@media(max-width:576px){
    .home-course-grid{
        grid-template-columns:repeat(2,1fr);
        gap:14px;
    }

    .home-courses-head h2{    font-size: 25px;
    font-weight: 800;}

    .explore-btn{padding: 1px 5px;}

    .home-course-card:nth-child(4){
        display:block;
    }

    .course-body h3{
        font-size:14px;
    }

    .course-body p{
        font-size:12px;
    }

    .course-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
    }
}
/* ================= HOME CTA (FIXED) ================= */

.home-cta{
    background:#0c132a;
    color:#fff;
    overflow:hidden;
}

/* ================= CTA TOP (FIXED) ================= */

.cta-top{
    background:linear-gradient(90deg,#4a1cff,#2f2fff);
    padding:12px 16px;
}

.cta-top-inner{
    max-width:1200px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}

/* LEFT TITLE */
.cta-title{
    font-size:42px;
    font-weight:800;
    line-height:1.2;
    max-width:420px;
}

/* RIGHT STATS */
.cta-stats{
    display:flex;
    gap:80px;
}

.cta-stats div{
    text-align:center;
}

.cta-stats strong{
    font-size:36px;
    font-weight:800;
    display:block;
}

.cta-stats span{
    font-size:16px;
    opacity:.9;
}

/* ================= TOP MOBILE ================= */

@media(max-width:991px){
    .cta-top-inner{
        flex-direction:column;
        text-align:center;
    }

    .cta-stats{
        gap:30px;
        flex-wrap:wrap;
        justify-content:center;
    }
}

/* BOTTOM AREA */
.cta-bottom{
    max-width:1200px;
    margin:auto;
    padding:75px 16px;
    display:flex;
    align-items:center;
    gap:150px;
    position:relative;
}

/* IMAGE WRAPPER */
.cta-images{
    position:relative;
    width:45%;
    min-height:420px;
}

/* LEFT IMAGE (CARD) */
.img-left{
    width: 260px;
    height: 332px;
    object-fit: cover;
    border-radius: 24px;
    position: absolute;
    left: 0;
    top: 151px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .35);
}

/* CENTER IMAGE (PERFECT CIRCLE) */
.img-center{
    width:320px;
    height:320px;
    object-fit:cover;
    border-radius:50%;
    position:absolute;
    left:180px;
    top:0;
    border:10px solid #0c132a;
    background:#fff;
}

/* RIGHT CONTENT */
.cta-content{
    margin-top: 50px;
    width:55%;
}

.cta-content h2{
    font-size:44px;
    font-weight:800;
}

.cta-content p{
    margin:18px 0 32px;
    font-size:16px;
    line-height:1.6;
    opacity:.9;
}

.cta-btn{
    background:#facc15;
    color:#000;
    padding:14px 36px;
    border-radius:8px;
    font-weight:700;
    text-decoration:none;
    display:inline-block;
}

/* ================= MOBILE FIX ================= */

@media(max-width:991px){
    .cta-bottom{
        flex-direction:column;
        text-align:center;
        gap:40px;
    }

    .cta-images{
        width:100%;
        min-height:360px;
    }

    .img-left{
        position: relative;
        top: 50px;
        left: -50px;
        margin: auto;
    }

    .img-center {
        position: relative;
        left: 34px;
        margin: 20px auto 0;
    }

    .cta-content{
        width:100%;
    }
}
/* ================= PROGRAMS SECTION ================= */

.home-programs{
    padding:90px 0;
    background:#fff;
}

.programs-container{
    max-width:1200px;
    margin:auto;
    padding:0 16px;
}

.programs-head h2{
    text-align:center;
    font-size:36px;
    font-weight:800;
    margin-bottom:50px;
}

/* ===== DESKTOP SLIDER ===== */

.programs-slider-wrapper{
    position:relative;
}

.programs-slider{
    display:flex;
    gap:24px;                 /* 🔥 smaller, balanced gap */
    overflow:hidden;
    scroll-behavior:smooth;
}

.program-card{
    width:270px;              /* 🔥 FIXED CARD WIDTH */
    background:#fff;
    border-radius:18px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    overflow:hidden;
    flex-shrink:0;
}


.program-card img{
    width:100%;
    height:190px;
    object-fit:cover;
}

.program-body{
    padding:18px;
}



.program-body h3{
    font-size:17px;
    font-weight:700;
    margin:8px 0;
}

.program-body p{
    font-size:14px;
    color:#555;
}

.read-more{
    display:inline-block;
    margin-top:10px;
    color:#2f2fff;
    font-weight:600;
    text-decoration:none;
}

/* SLIDER BUTTONS */
.prog-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    border-radius:50%;
    border:none;
    background:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,.2);
    font-size:26px;
    cursor:pointer;
    z-index:5;
}
/* .program-body{
    min-height:170px;
} */

.prog-btn.prev{ left:-20px; }
.prog-btn.next{ right:-20px; }

/* ===== MOBILE LIST ===== */

.program-card.mobile{
    display:flex;
    gap:12px;
    margin-bottom:16px;
}

.program-card.mobile img{
    width:90px;
    height:90px;
    border-radius:12px;
}

/* ===== VISIBILITY CONTROL ===== */

.desktop-only{ display:block; }
.mobile-only{ display:none; }

@media(max-width:991px){
    .desktop-only{ display:none; }
    .mobile-only{ display:block; }
}
/* ===== PROGRAMS MOBILE FIX ===== */
@media(max-width:991px){

    /* mobile list cards full width */
    .program-card{
        width:100%;
    }

    .program-card.mobile{
        display:flex;
        gap:14px;
        align-items:center;
        margin-bottom:16px;
    }

    .program-card.mobile img{
        width:80px;
        height:80px;
        border-radius:12px;
        object-fit:cover;
    }

    .program-card.mobile .program-body{
        padding:0;
    }

    .program-card.mobile h3{
        font-size:15px;
        line-height:1.3;
    }
}
/* ================= PROGRAMS MOBILE FINAL FIX ================= */
@media(max-width:991px){

    /* container spacing */
    .home-programs{
        padding:50px 0;
    }

    /* mobile card */
    .program-card{
        width:100%;
        border-radius:14px;
    }

    .program-card.mobile{
        display:flex;
        align-items:flex-start;
        gap:14px;
        padding:12px;
        margin-bottom:14px;
        box-shadow:0 8px 20px rgba(0,0,0,.08);
    }

    .program-card.mobile img{
        width:72px;
        height:72px;
        border-radius:10px;
        object-fit:cover;
        flex-shrink:0;
    }

    .program-card.mobile .program-body{
        padding:0;
        min-height:auto;   /* 🔥 MOST IMPORTANT */
    }

    .program-card.mobile .program-class{
        font-size:12px;
    }

    .program-card.mobile h3{
        font-size:15px;
        line-height:1.3;
        margin:4px 0 6px;
    }

    .program-card.mobile .read-more{
        font-size:13px;
        margin-top:4px;
        display:inline-block;
    }
}
/* ===== ADVANTAGE SECTION ===== */
.advantage-section {
    padding: 80px 20px;
    background: #ffffff;
}

.advantage-container {
    max-width: 1200px;
    margin: auto;
    text-align: center;
}

.advantage-title {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 60px;
    color: #222;
}

.advantage-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.advantage-card {
    padding: 20px;
}

.advantage-img {
    width: 300px;
    height: 300px;
    margin: auto;
    border-radius: 50%;
    background: #f5f7ff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.advantage-img img {
    width: 251px;
    max-width: 100%;
}

.advantage-card h3 {
    margin-top: 25px;
    font-size: 22px;
    font-weight: 600;
    color: #111;
}

.advantage-card p {
    margin-top: 10px;
    font-size: 15px;
    color: #555;
    line-height: 1.6;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
    .advantage-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .advantage-grid {
        grid-template-columns: 1fr;
    }

    .advantage-title {
        font-size: 28px;
    }
}
/* ===== BECOME INSTRUCTOR SECTION ===== */

.become-instructor{
    padding:90px 0;
    background:#f9faff;
}

.instructor-container{
    max-width:1200px;
    margin:auto;
    padding:0 16px;
    display:flex;
    align-items:center;
    gap:80px;
}

/* LEFT */
.instructor-left{
    width:55%;
}

.instructor-left h2{
    font-size:42px;
    font-weight:800;
    margin-bottom:12px;
}

.instructor-left .subtitle{
    font-size:16px;
    color:#555;
    margin-bottom:40px;
    max-width:520px;
}

.instructor-features{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.feature-box{
    display:flex;
    gap:16px;
    background:#fff;
    padding:18px 20px;
    border-radius:14px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.feature-box .icon{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#2f2fff;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
}

.feature-box h4{
    font-size:17px;
    font-weight:700;
    margin-bottom:4px;
}

.feature-box p{
    font-size:14px;
    color:#666;
}

.instructor-btn{
    display:inline-block;
    margin-top:36px;
    padding:14px 36px;
    background:#2f2fff;
    color:#fff;
    border-radius:8px;
    text-decoration:none;
    font-weight:700;
}

/* RIGHT */
.instructor-right{
    width:45%;
    text-align:center;
}

.instructor-right img{
    width:100%;
    max-width:510px;
}

/* ===== RESPONSIVE ===== */

@media(max-width:991px){
    .instructor-container{
        flex-direction:column;
        text-align:center;
        gap:50px;
    }

    .instructor-left,
    .instructor-right{
        width:100%;
    }

    .feature-box{
        text-align:left;
    }
}

@media(max-width:576px){
    .instructor-left h2{
        font-size:30px;
    }
}
/* ===== GRADIENT IMAGE EFFECT ===== */

.gradient-image-wrap{
    position: relative;
    display: inline-block;
    z-index: 1;
}

/* 🔥 GRADIENT BACKGROUND SHAPE */
.gradient-image-wrap::before{
    content:"";
    position:absolute;
    width:380px;
    height:380px;
    border-radius:50%;
    background: #fff;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:-2;
    filter: blur(40px);
    opacity:.85;
}

/* 🔥 SOFT SHADOW GLOW */
.gradient-image-wrap::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    box-shadow: -1px 0px 100px rgb(0 0 86 / 35%);
    z-index:-1;
}

/* IMAGE ITSELF */
.gradient-image-wrap img{
    width:500px;
    height:500px;
    position:relative;
    z-index:2;
}

/* ===== RESPONSIVE ===== */
@media(max-width:576px){
    .gradient-image-wrap::before{
        width:300px;
        height:300px;
    }

    .gradient-image-wrap img{
        width:280px;
        height: unset;
    }
}
/* ===== INSTRUCTOR BENEFITS ===== */

.instructor-benefits{
    padding:20px 0;
    background:#ffffff;
}

.benefits-container{
    max-width:1200px;
    margin:auto;
    padding:0 16px;
}

/* HEAD */
.benefits-head{
    max-width:720px;
    margin-bottom:60px;
}

.benefits-tag{
    font-size:13px;
    font-weight:700;
    color:#777;
    letter-spacing:1px;
}

.benefits-head h2{
    margin:14px 0;
    font-size:44px;
    font-weight:800;
    line-height:1.2;
}

.benefits-head p{
    font-size:16px;
    color:#555;
}

/* GRID */
.benefits-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* CARD */
.benefit-card{
    background:#fff;
    border-radius:18px;
    padding:30px 26px 34px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    text-align:center;
}

.benefit-card h3{
    font-size:20px;
    font-weight:700;
    margin-top:22px;
}

.benefit-card p{
    font-size:14px;
    color:#666;
    margin-top:10px;
    line-height:1.6;
}

/* IMAGE AREA */
.benefit-image{
    position:relative;
    width:100%;
    height:260px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

/* BLUE ABSTRACT BACKGROUND */
.blue-bg::before{
    content:"";
    position:absolute;
    width:220px;
    height:240px;
    background:#2f2fff;
    border-radius:50%;
    z-index:0;
}

.benefit-image img{
    left: 0%;
    top: -4%;
    position:relative;
    z-index:1;
    max-height:220px;
}

/* ===== RESPONSIVE ===== */

@media(max-width:991px){
    .benefits-grid{
        grid-template-columns:1fr 1fr;
    }

    .benefits-head h2{
        font-size:34px;
    }
}

@media(max-width:576px){
    .benefits-grid{
        grid-template-columns:1fr;
    }

    .benefit-image{
        height:220px;
    }
}

/* testimonial  */
.testimonial-section{
    padding:80px 5%;
    text-align:center;
    background:#fff;
}

.testimonial-section h2{
    font-size:32px;
    margin-bottom:50px;
}

.testimonial-wrapper{
    overflow:hidden;
    max-width:900px;
    margin:auto;
}

.testimonial-slider{
    display:flex;
    transition:transform 0.6s ease-in-out;
}



.testimonial-img img{
    width:100px;
    height:100px;
    border-radius:50%;
    object-fit:cover;
    margin-bottom:20px;
}

.testimonial-msg{
    font-size:16px;
    color:#555;
    margin-bottom:15px;
}





.testimonial-nav{
    margin-top:30px;
}

.testimonial-nav button{
    border:none;
    background:#6a1b9a;
    color:#fff;
    padding:10px 18px;
    font-size:20px;
    border-radius:50%;
    margin:0 10px;
    cursor:pointer;
}

.testimonial-nav button:disabled{
    opacity:0.4;
    cursor:not-allowed;
}
.byjus-testimonial{
    padding:80px 0;
    text-align:center;
    background:#fff;
}

.byjus-testimonial h2{
    font-size:32px;
    margin-bottom:60px;
}

.byjus-slider-wrapper{
    position:relative;
    max-width:1100px;
    margin:auto;
    overflow:hidden;
}

.byjus-slider{
    display:flex;
    gap:40px;
    transition:transform .6s ease;
    will-change:transform;
}


/* .byjus-card{
    min-width:300px;
    max-width:300px;
    opacity:.4;
    transform:scale(.85);
    transition:.6s;
} */
/* .byjus-card{
    will-change: transform;
} */

.byjus-card{
    min-width:275px;
    max-width:300px;
    opacity:.4;
    transform:scale(.85);
    transition:transform .6s ease;
    will-change: transform;
}

.byjus-card.active{
    opacity:1;
    transform:scale(1);
}

.avatar{
    width:120px;
    height:120px;
    margin:auto;
    border-radius:50%;
    background:#f3c1e8;
    display:flex;
    align-items:center;
    justify-content:center;
}

.avatar img{
    width:100px;
    height:100px;
    border-radius:50%;
    object-fit:cover;
}

.msg{
    margin:20px 0;
    color:#555;
    font-size:15px;
}

.byjus-card h4{
    margin:0;
    font-size:16px;
}

.byjus-card span{
    font-size:13px;
    color:#777;
}

.nav-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:10;
    border:none;
    background:#a855f7;
    color:#fff;
    width:42px;
    height:42px;
    border-radius:50%;
    font-size:22px;
    cursor:pointer;
}

.nav-btn.left{left:0}
.nav-btn.right{right:0}

.nav-btn:disabled{
    opacity:.3;
    cursor:not-allowed;
}
.nav-btn{
    z-index: 10;
    pointer-events: auto;
}

/* .byjus-slider{
    pointer-events: none;
} */

.byjus-card{
    pointer-events: auto;
}
@media(max-width:768px){
    .byjus-slider-wrapper{
        padding:0 37px;
    }

    .nav-btn.left{ left:5px; }
    .nav-btn.right{ right:5px; }
}
/* .byjus-slider-wrapper{
    touch-action: pan-y;
} */
@media(max-width:768px){
    .nav-btn{
        top:50%;
    }
    .nav-btn.left{ left:8px; }
    .nav-btn.right{ right:8px; }
}
/* ===== TRUST STATS (TESTIMONIAL BELOW) ===== */

.trust-stats{
    max-width:1100px;
    margin:30px auto 60px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:40px;
    text-align:center;
}

.trust-item h3{
    font-size:30px;
    font-weight:800;
    color:#7c3aed;   /* purple tone */
    margin:10px 0 4px;
}

.trust-item p{
    font-size:15px;
    color:#444;
}

.trust-icon{
    font-size:36px;
    margin-bottom:6px;
}

/* ===== MOBILE ===== */
@media(max-width:768px){
    .trust-stats{
        grid-template-columns:repeat(2,1fr);
        gap:30px;
    }

    .trust-item h3{
        font-size:24px;
    }
}
.trust-stats{
    border-bottom:1px solid #eee;
    padding-bottom:40px;
}
/* ================= HOME BLOG SECTION ================= */

.home-blogs{
    padding:90px 0;
    background:#f9faff;
}

.blogs-container{
    max-width:1200px;
    margin:auto;
    padding:0 16px;
}

.blogs-head{
    text-align:center;
    max-width:700px;
    margin:0 auto 60px;
}

.blogs-head h2{
    font-size:36px;
    font-weight:800;
}

.blogs-head p{
    margin-top:10px;
    font-size:16px;
    color:#555;
}

.blogs-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* BLOG CARD */
.blog-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.3s;
}

.blog-card:hover{
    transform:translateY(-6px);
}

.blog-thumb img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.blog-body{
    padding:22px;
}

.blog-date{
    font-size:13px;
    color:#7c3aed;
    font-weight:600;
}

.blog-body h3{
    margin:10px 0;
    font-size:18px;
    font-weight:700;
    line-height:1.4;
}

.blog-body p{
    font-size:14px;
    color:#555;
    line-height:1.6;
}

.blog-read{
    display:inline-block;
    margin-top:14px;
    font-weight:700;
    color:#2f2fff;
    text-decoration:none;
}

/* ===== RESPONSIVE ===== */

@media(max-width:991px){
    .blogs-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:576px){
    .blogs-grid{
        grid-template-columns:1fr;
    }

    .blogs-head h2{
        font-size:28px;
    }
}
/* ===== COURSE MODAL ===== */

.course-modal{
    position:fixed;
    inset:0;
    display:none;
    z-index:9999;
}

.course-modal.active{
    display:block;
}

.modal-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.6);
}

.modal-box{
    position:relative;
    max-width:700px;
    background:#fff;
    border-radius:16px;
    margin:5% auto;
    overflow:hidden;
    animation:popup .3s ease;
}

@keyframes popup{
    from{transform:scale(.9);opacity:0}
    to{transform:scale(1);opacity:1}
}

.modal-box img{
    width:100%;
    height:280px;
    object-fit:cover;
}

.modal-content{
    padding:24px;
}

.modal-content h2{
    font-size:26px;
    font-weight:800;
}

.modal-rating{
    color:#fcbf49;
    margin:8px 0;
}

.modal-price{
    font-size:22px;
    font-weight:800;
    margin:14px 0;
}

.modal-price del{
    font-size:16px;
    color:#aaa;
    margin-left:8px;
}

.enroll-btn{
    width:100%;
    padding:14px;
    background:#2f2fff;
    color:#fff;
    border:none;
    border-radius:8px;
    font-weight:700;
    font-size:16px;
    cursor:pointer;
}

.modal-close{
    position:absolute;
    top:14px;
    right:14px;
    background:#fff;
    border:none;
    font-size:22px;
    cursor:pointer;
    border-radius:50%;
    width:36px;
    height:36px;
}
/* ===== LOGIN REQUIRED POPUP ===== */

.login-required-modal{
    position:fixed;
    inset:0;
    display:none;
    z-index:10000;
}

.login-required-modal.active{
    display:block;
}

.login-modal-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.55);
}

.login-modal-box{
    position:relative;
    max-width:420px;
    background:#fff;
    border-radius:16px;
    padding:30px 26px;
    margin:12% auto;
    text-align:center;
    animation:loginPop .35s ease;
}

@keyframes loginPop{
    from{ transform:scale(.9); opacity:0 }
    to{ transform:scale(1); opacity:1 }
}

.login-modal-box h3{
    font-size:22px;
    font-weight:800;
    margin-bottom:10px;
}

.login-modal-box p{
    font-size:15px;
    color:#555;
    line-height:1.6;
}

.login-modal-actions{
    margin-top:22px;
    display:flex;
    gap:12px;
    justify-content:center;
}

.login-btn-primary{
    padding:10px 22px;
    background:#2f2fff;
    color:#fff;
    border-radius:8px;
    font-weight:700;
    text-decoration:none;
}

.login-btn-secondary{
    padding:10px 22px;
    background:#f1f1f1;
    border:none;
    border-radius:8px;
    font-weight:600;
    cursor:pointer;
}
.home-course-card{
    position:relative;
}

.course-badge.enrolled{
    position:absolute;
    top:12px;
    left:12px;
    background:#16a34a;
    color:#fff;
    padding:6px 14px;
    font-size:12px;
    font-weight:700;
    border-radius:999px;
    z-index:5;
}
