.university-search { margin: 0 0 28px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); }
.university-search label { display: block; margin-bottom: 10px; font-weight: 750; }
.university-search-row { display: flex; gap: 12px; }
.university-search input { flex: 1; min-width: 0; width: 100%; padding: 12px; border: 1px solid var(--control-border); border-radius: 8px; background: var(--field); color: var(--text); font-size: 1rem; }
.university-search p, .source-date { color: var(--muted); font-size: .9rem; }
.university-card { padding: clamp(18px, 4vw, 30px); margin-bottom: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); scroll-margin-top: 110px; }
.university-card h2 { margin-top: 0; font-size: clamp(1.3rem, 3vw, 1.8rem); }
.university-card h3 { margin: 22px 0 8px; font-size: 1.05rem; }
.university-card p { max-width: 80ch; line-height: 1.75; }
.university-actions { display: flex; flex-wrap: wrap; gap: 14px 28px; }
.university-card a, .university-search a { overflow-wrap: anywhere; }
[hidden] { display: none !important; }
@media (max-width: 600px) { .university-search-row { flex-direction: column; } .university-search { padding: 18px; } }
/* Keep the larger directory compact while preserving every entry in the HTML. */
.university-card { padding: 0; margin-bottom: 12px; }
.university-card summary { cursor: pointer; padding: 18px 22px; border-radius: 16px; }
.university-card summary h2 { display: inline; font-size: 1.12rem; line-height: 1.5; margin: 0; }
.university-country { display: block; margin: 4px 0 0 20px; color: var(--muted); font-size: .88rem; }
.university-content { padding: 0 clamp(18px,4vw,30px) 22px; }
.university-search select { max-width: 100%; padding: 12px; border: 1px solid var(--control-border); border-radius: 8px; background: var(--field); color: var(--text); font-size: 1rem; }
.university-search #universityCount { margin-block: 16px; }
.university-card summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.university-card:target { border-color: var(--blue); }
@media (max-width: 600px) { .university-search select { width: 100%; } .university-card summary { padding: 16px; } }
