.curriculum-section{
    width:100%;
    padding:25px 0 30px;
    background:#ffffff;
}

.curriculum-title{
    width:100%;
    max-width:1250px;
    margin:0 auto 20px;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
}

.curriculum-title span{
    width:32px;
    height:2px;
    background:#F58220;
    position:relative;
}

.curriculum-title span:first-child::after{
    content:"";
    position:absolute;
    right:-2px;
    top:-3px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#F58220;
}

.curriculum-title span:last-child::before{
    content:"";
    position:absolute;
    left:-2px;
    top:-3px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#F58220;
}

.curriculum-title h2{
    margin:0;
    font-size:28px;
    font-weight:700;
    line-height:1.2;
    color:#111827;
    white-space:nowrap;
}

.curriculum-container{
    width:100%;
    max-width:1250px;
    margin:0 auto;
    padding:0 20px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.curriculum-card{
    position:relative;
    background:#ffffff;
    border:1px solid #eeeeee;
    border-radius:10px;
    padding:15px 16px 12px;
    min-height:285px;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.curriculum-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg,#0F5132,#F58220);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .35s ease;
}

.curriculum-card:hover{
    transform:translateY(-8px);
    border-color:#0F5132;
    box-shadow:0 15px 35px rgba(15,81,50,.13),0 5px 12px rgba(0,0,0,.06);
}

.curriculum-card:hover::before{
    transform:scaleX(1);
}

.curriculum-part{
    width:max-content;
    padding:8px 15px;
    margin-bottom:11px;
    border-radius:6px;
    font-size:13px;
    font-weight:700;
    line-height:1;
    color:#ffffff;
}

.curriculum-part.green{
    background:#0F5132;
}

.curriculum-part.orange{
    background:#F58220;
}

.curriculum-card h3{
    margin:0 0 14px;
    font-size:18px;
    font-weight:700;
    line-height:1.2;
    color:#111827;
}

.curriculum-card ul{
    margin:0;
    padding:0;
    list-style:none;
    width:100%;
}

.curriculum-card ul li{
    position:relative;
    margin-bottom:9px;
    padding-left:20px;
    font-size:18px;
    font-weight:500;
    line-height:1.45;
    color:#333333;
    text-align:left;
}

.curriculum-card ul li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:1px;
    width:13px;
    height:13px;
    border-radius:50%;
    background:#0F5132;
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:8px;
    font-weight:700;
    line-height:13px;
}

.curriculum-logos{
    margin-top:auto;
    min-height:55px;
    padding:12px 2px 0;
    display:flex;
    align-items:flex-end;
    justify-content:space-around;
    gap:12px;
    color:#0F5132;
    font-size:30px;
}

.curriculum-logos span{
    font-size:20px;
    font-weight:500;
    color:#222222;
}

.curriculum-logos strong{
    font-size:21px;
    font-weight:700;
    color:#222222;
}

.curriculum-logos .mysql{
    font-size:16px;
    font-weight:600;
    color:#1683A5;
}

.curriculum-logos i{
    transition:all .3s ease;
}

.curriculum-card:hover .curriculum-logos i{
    transform:scale(1.1);
}

.curriculum-card:first-child .curriculum-logos i{
    width:52px;
    height:42px;
    border-radius:5px;
    background:#0F5132;
    color:#F58220;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
}

.curriculum-card:nth-child(4) .curriculum-logos{
    display:flex;
    align-items:flex-end;
    justify-content:space-around;
    gap:12px;
    font-size:30px;
}

.curriculum-card:nth-child(4) .curriculum-logos .fa-cube{
    color:#0F5132;
    font-size:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.curriculum-card:nth-child(4) .curriculum-logos .fa-github{
    color:#111111;
    font-size:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

@media(max-width:1200px){

    .curriculum-container{
        max-width:1100px;
        grid-template-columns:repeat(2,1fr);
        gap:14px;
    }

    .curriculum-card{
        min-height:280px;
    }

    .curriculum-title h2{
        font-size:27px;
    }
}

@media (max-width:991.98px){

    .curriculum-container{
        grid-template-columns:repeat(2,1fr);
        gap:16px;
    }

}

/* ===========================
   COURSE CURRICULUM - MOBILE
=========================== */

/* ===========================
   CURRICULUM MOBILE
=========================== */

@media (max-width:575.98px){

    .curriculum-section{
        padding:28px 0;
    }

    .curriculum-title{
        padding:0 15px;
        margin-bottom:18px;
    }

    .curriculum-title h2{
        font-size:21px;
        text-align:center;
        white-space:normal;
        line-height:1.3;
    }

    .curriculum-container{
        grid-template-columns:1fr;
        gap:12px;
        padding:0 15px;
    }

    .curriculum-card{
        min-height:auto;
        padding:14px;
        border-radius:10px;
    }

    .curriculum-part{
        padding:6px 10px;
        font-size:10px;
        margin-bottom:10px;
        border-radius:5px;
    }

    .curriculum-card h3{
        font-size:16px;
        margin-bottom:10px;
        line-height:1.25;
    }

    .curriculum-card ul li{
        font-size:13px;
        line-height:1.45;
        margin-bottom:6px;
        padding-left:18px;
    }

    .curriculum-card ul li::before{
        width:12px;
        height:12px;
        font-size:7px;
        line-height:12px;
        top:3px;
    }

    .curriculum-logos{
        margin-top:14px;
        padding-top:8px;
        min-height:auto;
        gap:10px;
        justify-content:space-evenly;
        font-size:20px;
    }

    .curriculum-logos span{
        font-size:13px;
    }

    .curriculum-logos strong{
        font-size:14px;
    }

    .curriculum-logos .mysql{
        font-size:12px;
    }

    .curriculum-card:first-child .curriculum-logos i{
        width:34px;
        height:30px;
        font-size:17px;
    }

    .curriculum-card:nth-child(4) .curriculum-logos .fa-cube,
    .curriculum-card:nth-child(4) .curriculum-logos .fa-github{
        font-size:20px;
    }

}

@media(max-width:400px){

    .curriculum-title h2{
        font-size:20px;
    }

    .curriculum-card h3{
        font-size:16px;
    }

    .curriculum-card ul li{
        font-size:18px;
    }

    .curriculum-card ul li::before{
        width:12px;
        height:12px;
        font-size:7px;
    }
}

/* ===========================
   TRACK LABELS + TECH LOGOS
=========================== */

.curriculum-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:11px;
}

.curriculum-head .curriculum-part{
    margin-bottom:0;
}

.curriculum-track{
    font-size:12px;
    font-weight:700;
    letter-spacing:.4px;
    text-transform:uppercase;
    color:#0F5132;
    background:#EAF3EE;
    border:1px solid #CFE4D8;
    border-radius:20px;
    padding:5px 11px;
    line-height:1;
    white-space:nowrap;
}

.curriculum-card:nth-child(even) .curriculum-track{
    color:#B95C0A;
    background:#FEF1E3;
    border-color:#F8D9B6;
}

.curriculum-logos img{
    width:auto;
    height:38px;
    max-width:48px;
    object-fit:contain;
    transition:transform .3s ease;
}

.curriculum-card:hover .curriculum-logos img{
    transform:scale(1.12);
}

@media (max-width:575.98px){
    .curriculum-logos img{
        height:32px;
    }
    .curriculum-track{
        font-size:11px;
        padding:5px 9px;
    }
}
