.course-catalog{
    --um-blue:#00274C;
    --um-maize:#FFCB05;

    /* Minimal gray for hairlines only */
    --hairline: rgba(0,0,0,.10);
}

/* Card: white, clean, left institutional rule */
.course-catalog .course-card{
    background:#fff;
    border: 1px solid var(--hairline);
    border-left: 4px solid var(--um-blue);
    border-radius: 0;
    padding: 1.25rem 1.5rem 1.4rem;
    height: 100%;
}

/* Alternate left rule color to match the example image */
.course-catalog .row.g-4 > div:nth-child(even) .course-card{
    border-left-color: var(--um-maize);
}

/* Institutional heading underline */
.course-catalog .inst-heading--card::after{
    content:"";
    display:block;
    height:3px;
    width:7rem;
    max-width:100%;
    background: var(--um-maize);
    margin-top:.4rem;
}

/* Title/link: clear, accessible */
.course-catalog .inst-heading--card a{
    color: var(--um-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
    letter-spacing: .01em;
}

.course-catalog .inst-heading--card a:hover,
.course-catalog .inst-heading--card a:focus{
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Course meta: definition list grid */
.course-catalog .course-meta{
    display:grid;
    grid-template-columns: 8.5rem 1fr;
    gap: .5rem 1rem;
    margin: 1rem 0 0;
    font-size: 0.95rem;
}

.course-catalog .course-meta dt{
    font-weight: 700;
}

.course-catalog .course-meta dd{
    margin: 0;
}

.course-catalog .course-meta__na{
    color: #555; /* small, readable “not listed”; limited gray */
}

/* Link */
.course-catalog .course-card__link{
    color: var(--um-blue);
    font-weight: 650;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
}

.course-catalog .course-card__link:hover,
.course-catalog .course-card__link:focus{
    border-bottom-color: var(--um-maize);
}

/* Keyboard focus: strong and obvious */
.course-catalog a:focus-visible{
    outline: 2px solid var(--um-maize);
    outline-offset: 3px;
}
