/* Root variables for custom colors */
:root {
    --indigo-700: #4338ca;
    --indigo-800: #3730a3;
    --green-600: #16a34a;
    --green-700: #15803d;
    --gray-100: #f3f4f6;
    --gray-600: #4b5563;
    --white: #ffffff;
    --cyan-700: #0e7490;
    --lime-700: #65a30d;
    --gray-700: #374151;
    --blue-700: #1d4ed8;
    --red-700: #b91c1c;
    --orange-700: #c2410c;
    --purple-700: #6b21a8;
    --teal-700: #0f766e;
    --pink-700: #be185d;
    --yellow-700: #a16207;
}

/* Subjects List Section */
#subjects-list {
    background-color: var(--gray-100);
    padding: 1.5rem;
    box-sizing: border-box;
}

#subjects-list h2 {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--indigo-800);
    text-align: center;
    margin-bottom: 2rem;
}

/* Grid for subject cards */
#subjects-list .grid {
    display: grid;
    gap: 1.5rem;
}

/* Subject card styling */
.subject-card {
    background-color: var(--white);
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.subject-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2);
}

/* Subject card heading */
.subject-card h3 {
    font-size: 1.25rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem;
}

/* Color classes for subject headings */
.subject-card h3.text-cyan-700 { color: var(--cyan-700); }
.subject-card h3.text-lime-700 { color: var(--lime-700); }
.subject-card h3.text-gray-700 { color: var(--gray-700); }
.subject-card h3.text-blue-700 { color: var(--blue-700); }
.subject-card h3.text-red-700 { color: var(--red-700); }
.subject-card h3.text-orange-700 { color: var(--orange-700); }
.subject-card h3.text-purple-700 { color: var(--purple-700); }
.subject-card h3.text-teal-700 { color: var(--teal-700); }
.subject-card h3.text-indigo-700 { color: var(--indigo-700); }
.subject-card h3.text-pink-700 { color: var(--pink-700); }
.subject-card h3.text-yellow-700 { color: var(--yellow-700); }

.subject-card h3 span {
    font-size: 1.5rem;
    margin-right: 0.5rem;
}

/* Image styling */
.subject-card .full-width-img {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: cover;
    margin-bottom: 1rem;
    filter: none; /* Ensure no blur */
}

/* Paragraph styling */
.subject-card p {
    color: var(--gray-600);
    font-size: 1rem;
    margin-bottom: 1rem;
}

/* Download button styling */
.subject-card a {
    background-color: var(--green-600);
    color: var(--white);
    font-weight: 700;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    display: inline-block;
    width: 100%;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.subject-card a:hover {
    background-color: var(--green-700);
    transform: scale(1.05);
}

/* Download button group for multiple mediums */
.download-btn-group {
    display: grid;
    gap: 0.5rem;
}

.download-btn-group a {
    background-color: var(--indigo-700);
    color: var(--white);
    font-weight: 600;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.download-btn-group a:hover {
    background-color: var(--indigo-800);
    transform: scale(1.05);
}

/* Accessibility for links */
.subject-card a:focus,
.download-btn-group a:focus {
    outline: 2px solid var(--indigo-700);
    outline-offset: 2px;
}

/* Font Awesome icons */
.subject-card i.fas {
    display: inline-flex;
    align-items: center;
}

/* Responsive Design */
@media (min-width: 640px) {
    #subjects-list {
        padding: 3rem;
    }

    #subjects-list .grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .subject-card {
        padding: 1.5rem;
    }

    .download-btn-group {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    #subjects-list .grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .subject-card {
        padding: 2rem;
    }

    .download-btn-group {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 639px) {
    #subjects-list {
        padding: 1rem;
    }

    #subjects-list h2 {
        font-size: 1.25rem;
    }

    #subjects-list .grid {
        grid-template-columns: 1fr;
    }

    .subject-card {
        padding: 1rem;
    }

    .subject-card h3 {
        font-size: 1.125rem;
    }

    .subject-card p {
        font-size: 0.875rem;
    }

    .download-btn-group {
        grid-template-columns: 1fr;
    }

    .download-btn-group a {
        font-size: 0.875rem;
        padding: 0.5rem;
    }
}