 *{
    margin: 0;
    padding: 0%;
    box-sizing: border-box;
}

:root {
    --primary: #1a5f7a;
    --secondary: #57cc99;
    --accent: #ff9a3c;
    --light: #f8f9fa;
    --dark: #2d3436;
    --gray: #6c757d;
    --border: #eaecf0;
}

body {
    font-family: "Inter", sans-serif;
    line-height: 1.6;
    color: var(--dark);
    overflow-x: hidden;
}
/* =========================================================
   PRIMARY SUBJECTS
========================================================= */

.primary-courses-section {
    position: relative;
    padding: 110px 0;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 5% 10%,
            rgba(87,204,153,0.18),
            transparent 23%
        ),
        radial-gradient(
            circle at 95% 10%,
            rgba(255,154,60,0.18),
            transparent 23%
        ),
        radial-gradient(
            circle at 85% 90%,
            rgba(132,94,194,0.14),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #eefaff,
            #ffffff,
            #f5fff9
        );
}


/* ================= HEADING ================= */

.primary-heading {
    max-width: 750px;
    margin: 0 auto 70px;
    text-align: center;
}

.primary-heading span {
    display: inline-block;

    padding: 8px 17px;

    border-radius: 50px;

    background: rgba(255,154,60,0.12);

    color: #f07800;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.primary-heading h2 {
    margin: 12px 0;

    font-size: 42px;

    color: #1a5f7a;

    font-weight: 900;
}

.primary-heading p {
    color: #6c757d;

    font-size: 15px;

    line-height: 1.8;
}


/* ================= GRID ================= */

.primary-courses-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 25px;
}


/* ================= CARD ================= */

.primary-course-card {
    position: relative;

    padding: 30px 22px;

    text-align: center;

    background: rgba(255,255,255,0.96);

    border-radius: 22px;

    border: 1px solid rgba(0,0,0,0.05);

    box-shadow:
        0 10px 30px rgba(26,95,122,0.07);

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}

.primary-course-card:hover {
    transform: translateY(-10px);

    box-shadow:
        0 22px 42px rgba(26,95,122,0.13);
}


/* ================= ICON ================= */

.primary-icon {
    width: 72px;
    height: 72px;

    margin: 0 auto 20px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 20px;

    color: #ffffff;

    font-size: 25px;

    box-shadow:
        0 10px 22px rgba(0,0,0,0.10);

    transition: 0.4s;
}

.primary-course-card:hover .primary-icon {
    transform: rotate(8deg) scale(1.08);
}


/* ================= ICON COLOURS ================= */

.primary-icon.english {
    background: linear-gradient(135deg,#ff6b6b,#ff9a3c);
}

.primary-icon.mathematics {
    background: linear-gradient(135deg,#168aad,#57cc99);
}

.primary-icon.language {
    background: linear-gradient(135deg,#845ec2,#5f27cd);
}

.primary-icon.science {
    background: linear-gradient(135deg,#00b894,#57cc99);
}

.primary-icon.physical {
    background: linear-gradient(135deg,#00b894,#168aad);
}

.primary-icon.religion {
    background: linear-gradient(135deg,#5f27cd,#845ec2);
}

.primary-icon.history {
    background: linear-gradient(135deg,#ff9a3c,#ff6b6b);
}

.primary-icon.citizenship {
    background: linear-gradient(135deg,#168aad,#57cc99);
}

.primary-icon.arts {
    background: linear-gradient(135deg,#ff6b6b,#ff9a3c);
}

.primary-icon.digital {
    background: linear-gradient(135deg,#1a5f7a,#168aad);
}

.primary-icon.vocational {
    background: linear-gradient(135deg,#57cc99,#00b894);
}

.primary-icon.french {
    background: linear-gradient(135deg,#845ec2,#a66cff);
}

.primary-icon.arabic {
    background: linear-gradient(135deg,#ff9a3c,#ff6b6b);
}


/* ================= TEXT ================= */

.primary-course-card h3 {
    color: #2d3436;

    font-size: 18px;

    font-weight: 800;

    line-height: 1.35;

    margin-bottom: 10px;
}

.primary-course-card p {
    color: #6c757d;

    font-size: 13px;

    line-height: 1.7;

    margin: 0;
}


/* ================= LABELS ================= */

.primary-level,
.optional-label {
    display: inline-block;

    margin-top: 15px;

    padding: 5px 10px;

    border-radius: 50px;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1px;
}

.primary-level {
    color: #168aad;

    background: rgba(22,138,173,0.10);
}

.optional-label {
    color: #f07800;

    background: rgba(255,154,60,0.12);
}


/* ================= RESPONSIVE ================= */

@media (max-width: 1050px) {

    .primary-courses-grid {
        grid-template-columns: repeat(3,1fr);
    }

}

@media (max-width: 800px) {

    .primary-courses-grid {
        grid-template-columns: repeat(2,1fr);
    }

}

@media (max-width: 550px) {

    .primary-courses-section {
        padding: 75px 0;
    }

    .primary-heading h2 {
        font-size: 31px;
    }

    .primary-courses-grid {
        grid-template-columns: 1fr;
    }

}