


/*==================================================
    ORBIT COURSE CARD
    PART 1 - GRID, CARD & IMAGE
==================================================*/

/*==============================
COURSE GRID
==============================*/

.orbit-course-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:40px;
    align-items:stretch;

}

/*==============================
COURSE CARD
==============================*/

.orbit-course-card{

    display:flex;
    flex-direction:column;

    height:100%;

    background:#ffffff;

    border:1px solid #e5e7eb;

    border-radius:22px;

    overflow:hidden;

    text-decoration:none;

    transition:.35s ease;

    box-shadow:0 15px 40px rgba(2,6,23,.08);

}

.orbit-course-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(37,99,235,.18);

}

/*==============================
IMAGE
==============================*/

.course-image{

    position:relative;

    height:230px;

    overflow:hidden;

}

.course-image img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    transition:.5s;

}

.orbit-course-card:hover .course-image img{

    transform:scale(1.08);

}

/*==============================
CATEGORY
==============================*/

.course-category{

    position:absolute;

    left:18px;

    top:18px;

    padding:7px 15px;

    border-radius:50px;

    background:#2563EB;

    color:#ffffff;

    font-size:13px;

    font-weight:600;

}

/*==============================
RIBBON
==============================*/

.course-ribbon{

    position:absolute;

    top:18px;

    right:-42px;

    width:170px;

    text-align:center;

    background:#ff9800;

    color:#ffffff;

    padding:8px 0;

    font-size:12px;

    font-weight:700;

    transform:rotate(45deg);

    z-index:20;

}




















/*==================================================
    ORBIT COURSE CARD
    PART 2 - CONTENT
==================================================*/

/*==============================
CONTENT
==============================*/

.course-content{

    display:flex;
    flex-direction:column;
    flex:1;

    padding:26px;

}

/*==============================
TITLE
==============================*/

.course-title{

    display:flex;
    align-items:center;
    gap:12px;

    margin:0 0 15px;

    font-size:22px;
    font-weight:700;
    line-height:1.35;

    color:#0f172a;

}

.course-title span{

    flex:1;

}

/*==============================
ICON
==============================*/

.course-icon{

    width:44px;
    height:44px;

    object-fit:contain;

    flex-shrink:0;

}

/*==============================
DESCRIPTION
==============================*/

.course-content p{

    color:#64748b;

    font-size:15px;

    line-height:1.8;

    margin:0 0 22px;

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

}

/*==============================
META
==============================*/

.course-meta{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:22px;

}

.course-meta span{

    display:inline-flex;

    align-items:center;

    gap:6px;

    padding:8px 14px;

    border-radius:10px;

    background:#f8fafc;

    color:#334155;

    font-size:13px;

    font-weight:500;

}

/*==============================
PRICE
==============================*/

.course-price{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:24px;

}

.course-price strong{

    font-size:30px;

    font-weight:800;

    color:#2563EB;

}

.course-price del{

    font-size:17px;

    color:#94a3b8;

}

/*==============================
BUTTON
==============================*/

.course-button{

    margin-top:auto;

    width:100%;

    padding:15px 20px;

    border-radius:14px;

    text-align:center;

    font-size:15px;

    font-weight:700;

    color:#ffffff;

    background:linear-gradient(135deg,#2563EB,#7C3AED);

    transition:.35s ease;

}

.orbit-course-card:hover .course-button{

    transform:translateY(-2px);

    box-shadow:0 12px 30px rgba(37,99,235,.25);

}










/*==================================================
    ORBIT COURSE CARD
    PART 3 - STYLES & RESPONSIVE
==================================================*/


/*==============================
PREMIUM CARD
==============================*/

.is-premium{

    border:2px solid transparent;

    background:
        linear-gradient(#ffffff,#ffffff) padding-box,
        linear-gradient(135deg,#2563EB,#7C3AED) border-box;

}


/*==============================
FEATURED CARD
==============================*/

.is-featured{

    box-shadow:0 25px 60px rgba(37,99,235,.18);

}


/*==============================
FOCUS ACCESSIBILITY
==============================*/

.orbit-course-card:focus{

    outline:none;

}

.orbit-course-card:focus-visible{

    outline:3px solid rgba(37,99,235,.25);

    outline-offset:4px;

}


/*==============================
SMOOTH TRANSITIONS
==============================*/

.orbit-course-card,
.course-image img,
.course-button{

    transition:all .35s ease;

}


/*==============================
TABLET
==============================*/

@media (max-width:1024px){

    .orbit-course-grid{

        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:24px;

    }

    .course-content{

        padding:22px;

    }

    .course-title{

        font-size:20px;

    }

}


/*==============================
MOBILE
==============================*/

@media (max-width:767px){

    .orbit-course-grid{

        grid-template-columns:1fr;

        gap:20px;

    }

    .course-image{

        height:220px;

    }

    .course-content{

        padding:20px;

    }

    .course-title{

        font-size:19px;

    }

    .course-price strong{

        font-size:26px;

    }

    .course-button{

        padding:14px 18px;

    }

}


/*==============================
SMALL MOBILE
==============================*/

@media (max-width:480px){

    .course-image{

        height:200px;

    }

    .course-meta{

        gap:8px;

    }

    .course-meta span{

        font-size:12px;

        padding:7px 12px;

    }

    .course-title{

        font-size:18px;

    }

}
