/* ==========================
   COURSES SECTION
========================== */

.courses {
       position:relative;
    overflow:hidden;
    padding:6rem 8%;

    background:
        linear-gradient(135deg,
            #f8fbff 0%,
            #eef5ff 55%,
            #ffffff 100%);
}

.courses::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;

    background:
        radial-gradient(circle at 15% 20%, rgba(59,130,246,.08), transparent 30%),
        radial-gradient(circle at 85% 15%, rgba(96,165,250,.08), transparent 30%),
        radial-gradient(circle at 50% 90%, rgba(147,197,253,.05), transparent 35%);
}





 .fut {
    background:linear-gradient(90deg,#2563eb,#60a5fa);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.section-title {
     position:relative;
    z-index:2;

    text-align:center;
    font-size:clamp(2rem,4vw,3rem);
    font-weight:800;
    color:#0f172a;
    margin-bottom:4rem;
}

/* ==========================
   GRID
========================== */

.course-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

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



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

    border-color:#3b82f6;

    box-shadow:
        0 20px 45px rgba(59,130,246,.18);
}

/* ==========================
   IMAGE
========================== */
.course-card {
    position:relative;
    z-index:2;
    display:block;
    text-decoration:none;
    color:inherit;

    background:rgba(255,255,255,.82);
    backdrop-filter:blur(14px);

    border:1.2px solid rgba(59,130,246,.12);

    border-radius:15px;
    overflow:hidden;

    box-shadow:
        0 20px 45px rgba(15,23,42,.06);

    border-color:#3b82f6;
    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}

.course-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;

    width:100%;
    height:4px;

    background:
        linear-gradient(90deg,#2563eb,#60a5fa);

    transform:scaleX(0);
    transform-origin:left;

    transition:.4s;
}

.course-card:hover::before{
    transform:scaleX(1);
}







.course-card:visited {
    color: inherit;
}

.course-card img {
    width:100%;
    height:220px;
    display: block;
    border-radius:10px;
    object-fit:cover;

    transition:
        transform .8s cubic-bezier(.22,1,.36,1);
}


.course-card:hover img {
    
    transform:scale(1.06);
}

/* ==========================
   CONTENT
========================== */

.course-content {
    padding: 1.8rem;
    text-align: center;
}

.course-content h3 {
    color:#0f172a;
    font-size:1.35rem;
    font-weight:700;
    margin-bottom:1rem;
}

.course-content p{
    color:#64748b;
    line-height:1.7;
}
/* ==========================
   BUTTON
========================== */

.btn-primary {
     background:linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    );

    color:#fff;

    border-radius:12px;

    box-shadow:
        0 10px 24px rgba(37,99,235,.25);

    transition:.35s;
}

.btn-primary:hover {
       background:linear-gradient(
        135deg,
        #1d4ed8,
        #2563eb
    );

    transform:translateY(-4px);

    box-shadow:
        0 15px 30px rgba(37,99,235,.35);
}

/* ==========================
   CTA
========================== */

.courses-cta {
    text-align: center;
    margin-top: 4rem;
}

.courses-cta .btn {
    background:
        linear-gradient(135deg,#2563eb,#60a5fa);

    border-radius:999px;

    box-shadow:
        0 10px 30px rgba(37,99,235,.25);
}

.courses-cta .btn:hover {
 transform:translateY(-5px);

    box-shadow:
        0 18px 35px rgba(37,99,235,.35);
}

/* ==========================
   EMPTY
========================== */

.empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 4rem;
    border: 2px dashed #cbd5e1;
    border-radius: 20px;
    color: #64748b;
}

/* ==========================
   MOBILE
========================== */

@media (max-width:768px) {

    .courses {
        padding: 4rem 1.5rem;
    }

    .course-grid {
        gap: 1.5rem;
    }

    .course-card img {
        height: 210px;
    }

    .course-content {
        padding: 1.5rem;
    }

    .section-title {
        margin-bottom: 3rem;
    }
}
