/* Course catalog (/courses), ported from the LMS catalog. */
#su-catalog{--navy:#111111;--blue:#cc0000;--light:#f3f3f3;--line:#d9d9d9;color:#161616;font-family:system-ui,"Segoe UI",Arial,sans-serif}
#su-catalog *{box-sizing:border-box}
#su-catalog .su-head{background:linear-gradient(120deg,#000,#222 70%,#8a0000);color:#fff;border-radius:10px;padding:22px 26px;margin-bottom:16px}
#su-catalog .su-head h2{margin:0 0 6px;font-size:1.6rem;color:#fff}
#su-catalog .su-head p{margin:0;opacity:.9}
#su-catalog .su-controls{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:18px}
#su-catalog #su-q{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font-size:1rem;margin-bottom:10px}
#su-catalog .su-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
#su-catalog .su-filters button{border:1px solid var(--blue);background:#fff;color:var(--blue);border-radius:16px;padding:5px 12px;font-size:.85rem;cursor:pointer}
#su-catalog .su-topics button{border-color:#777;color:#333;font-size:.8rem}
#su-catalog .su-filters button.on{background:var(--blue);color:#fff}
#su-catalog .su-filters button.su-more{font-weight:700;min-width:44px;background:#111;color:#fff;border-color:#111}
#su-catalog .su-filters button.su-more:hover{background:var(--blue);border-color:var(--blue)}
#su-catalog .su-group{margin-bottom:28px}
#su-catalog .su-group h3{margin:0;color:var(--navy);font-size:1.3rem;border-left:5px solid var(--blue);padding-left:10px}
#su-catalog .su-group .blurb{margin:4px 0 12px 15px;color:#444}
#su-catalog .su-lvl{display:inline-block;background:#eceff3;color:#444;font-size:.72rem;font-weight:600;border-radius:10px;padding:2px 8px;margin-left:8px;vertical-align:middle}
#su-catalog .su-group h3+.su-grid,#su-catalog .su-group .blurb+.su-grid{margin-top:12px}
#su-catalog .su-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
#su-catalog .su-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:8px;padding:14px;display:flex;flex-direction:column}
#su-catalog .su-card.review{border:2px solid #cc0000;border-top:8px solid #cc0000;background:#fff3f3}
#su-catalog .su-card.review .su-btn{background:#cc0000}
#su-catalog .su-card.review .su-btn:hover{background:#111}
#su-catalog .su-card.soon{border-top-color:#999;background:#fafafa}
#su-catalog .su-btn.off{background:#999;pointer-events:none}
#su-catalog .su-code{font-weight:700;color:var(--blue);font-size:.85rem;letter-spacing:.04em}
#su-catalog .su-tag{display:inline-block;background:#cc0000;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;border-radius:3px;padding:3px 9px;margin-left:8px;box-shadow:0 0 0 2px #111;vertical-align:middle}
#su-catalog .su-card h4{margin:6px 0;font-size:1rem;color:var(--navy);line-height:1.3}
#su-catalog .su-card p{margin:0 0 10px;font-size:.88rem;color:#333;flex:1}
#su-catalog .su-meta{font-size:.78rem;color:#666;margin-bottom:2px}
#su-catalog .su-btn{margin-top:10px;display:inline-block;text-align:center;background:var(--navy);color:#fff!important;text-decoration:none;border-radius:6px;padding:8px}
#su-catalog .su-btn:hover{background:var(--blue)}
#su-catalog #su-empty{padding:20px;text-align:center;color:#666}

#su-catalog #su-jump{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:6px;background:#111;border-bottom:3px solid #cc0000;border-radius:8px;padding:8px 10px;margin:0 0 18px;flex-wrap:wrap;row-gap:6px}
#su-catalog #su-jump .su-jl{color:#fff;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin-right:4px}
#su-catalog #su-jump a{flex:0 0 auto;color:#fff!important;text-decoration:none;border:1px solid #cc0000;border-radius:16px;padding:5px 12px;font-size:.85rem;background:#222}
#su-catalog #su-jump a:hover,#su-catalog #su-jump a:focus{background:#cc0000;outline:none}
#su-catalog #su-jump a.su-top{margin-left:auto;background:#cc0000;font-weight:700}
#su-catalog .su-group h3{scroll-margin-top:var(--su-off,70px)}
@media (max-width:600px){#su-catalog #su-jump{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;padding:6px 8px}#su-catalog #su-jump a{padding:6px 11px}}
#su-catalog .su-tags{margin:4px 0 8px}#su-catalog .su-tags span{display:inline-block;font-size:.7rem;background:#efefef;color:#333;border-radius:10px;padding:2px 8px;margin:2px 4px 2px 0}


#su-catalog .su-filters button:focus-visible,#su-catalog #su-q:focus-visible,#su-catalog .su-btn:focus-visible{outline:3px solid #cc0000;outline-offset:2px}
#su-catalog{max-width:1200px;margin:0 auto;padding:32px 20px 64px}
#su-catalog .su-search-form{display:flex;gap:8px}
#su-catalog .su-search-form button{border:0;border-radius:6px;background:#cc0000;color:#fff;padding:0 18px;font-weight:600;cursor:pointer;margin-bottom:8px}
.su-js #su-catalog .su-search-form button{display:none}
#su-catalog .su-head h1{margin:0 0 6px;font-size:1.6rem;color:#fff;line-height:1.2}
