/* =========================
   Programs Container
========================= */
.programs_container{
    width:100%;
    max-width:1700px;
    margin:auto;

    display:grid;
    grid-template-columns:repeat(4, minmax(260px, 320px));
    justify-content:center;

    gap:35px;
    padding:40px 25px;
}

/* =========================
   Program Card
========================= */
.program_card{
    background:linear-gradient(145deg,#ffffff,#f3f3f3);

    border-radius:28px;

    padding:35px 25px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:25px;

    min-height:320px;

    border:2px solid rgba(0,0,0,0.04);

    box-shadow:
        0 10px 30px rgba(0,0,0,0.08),
        0 3px 10px rgba(0,0,0,0.05);

    transition:0.35s ease;

    cursor:pointer;

    position:relative;

    overflow:hidden;
}

/* Top Glow */
.program_card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:6px;

    background:var(--color-primary);
}

/* Hover */
.program_card:hover{
    transform:translateY(-8px) scale(1.02);

    box-shadow:
        0 20px 45px rgba(0,0,0,0.15),
        0 10px 20px rgba(0,146,69,0.15);

    border-color:rgba(0,146,69,0.15);
}

/* =========================
   Logo
========================= */
.program_logo{
    width:100%;
    height:180px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.program_logo img{
    width:auto;
    max-width:100%;
    max-height:160px;

    object-fit:contain;

    transition:0.3s ease;
}

.program_card:hover .program_logo img{
    transform:scale(1.08);
}

/* =========================
   Program Name
========================= */
.program_name{
    font-size:24px;
    font-weight:700;

    color:var(--color-dark);

    text-align:center;

    letter-spacing:0.5px;
}

/* =========================
   Tablet
========================= */
@media(max-width:1300px){

    .programs_container{
        grid-template-columns:repeat(3, minmax(240px, 320px));
    }

}

/* =========================
   Mobile
========================= */
@media(max-width:768px){

    .programs_container{
        grid-template-columns:repeat(2, minmax(150px, 1fr));

        gap:18px;

        padding:20px 15px;
    }

    .program_card{
        min-height:240px;

        padding:20px 15px;

        border-radius:22px;
    }

    .program_logo{
        height:120px;
    }

    .program_logo img{
        max-height:100px;
    }

    .program_name{
        font-size:18px;
    }

}