.hero-search-wrap{position:relative;max-width:720px;margin-inline:auto;text-align:left;z-index:3}
.hero-search-wrap .hero-search{max-width:none}
.course-suggestions{position:absolute;top:calc(100% + 10px);inset-inline:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;z-index:5}
.course-suggestions.suggestions-above{top:auto;bottom:calc(100% + 10px)}
.course-suggestions[hidden],.live-search-feedback[hidden],.suggestion-fallback[hidden]{display:none}
.suggestion-fallback{margin:10px 0 0;font-size:13px;line-height:1.6;color:var(--ink)}
.suggestion-status{font-size:12px;line-height:1.5;color:var(--muted);padding:15px 20px;margin:0;border-bottom:1px solid var(--line)}
.course-suggestions ul{list-style:none;padding:0;margin:0;max-height:350px;overflow:auto;overscroll-behavior:contain}
.course-suggestions li{margin:0;padding:0}
.course-suggestions [role=option]{display:grid;gap:5px;padding:14px 20px;text-decoration:none;border-bottom:1px solid var(--line);color:var(--ink)}
.course-suggestions [role=option]:hover,.course-suggestions [role=option][aria-selected=true]{background:var(--mint)}
.course-suggestions strong{font-size:14px;font-weight:500;line-height:1.45}
.course-suggestions [role=option] span{font-size:11px;line-height:1.5;color:var(--muted)}
.suggestions-all{display:block;padding:14px 20px;font-size:12px;font-weight:500;color:var(--ink);text-decoration:none;background:var(--pale)}
.suggestions-all:hover{text-decoration:underline}
.live-search-hint{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:10px}
[data-course-finder] .filter-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
[data-course-finder] .filter-grid>div{min-width:0}
[data-course-finder] .filter-grid select{width:100%;min-width:0}
.course-refinements{margin-top:20px}
.course-refinements>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:13px 0;font-size:13px;font-weight:500;border-top:1px solid var(--line)}
.course-refinements>summary::-webkit-details-marker{display:none}
.course-refinements>summary:after{content:'+';font-size:19px;margin-left:auto;font-weight:400}
.course-refinements[open]>summary:after{content:'−'}
.refinement-count{font-size:10px;color:var(--muted);font-weight:400}
.search-enhanced [data-apply-filters]{display:none}
.search-enhanced .filter-footer{margin-top:18px}
.live-search-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 18px;margin:0 0 20px;background:var(--mint);border-radius:12px;font-size:13px}
.live-search-feedback.search-error{background:var(--pale);border:1px solid var(--line)}
.live-search-feedback button{border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer}
[data-course-finder][aria-busy=true] .course-list{opacity:.55;transition:opacity .15s ease}
[data-course-finder] #results-count{scroll-margin-top:24px}
[data-course-finder] #results-count:focus{outline:2px solid var(--blue);outline-offset:6px;border-radius:3px}
@media(min-width:601px){.course-refinements>summary{display:none}}
@media(max-width:1100px){[data-course-finder] .filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){
  .hero-search-wrap .hero-search input[type=search],
  [data-course-finder] .filters input[type=search],
  [data-course-finder] .filter-grid select{font-size:16px;line-height:1.5;min-height:50px}
  .hero-search-wrap .hero-search input[type=search]{padding:12px}
  .hero-search-wrap .hero-search .button,
  [data-course-finder] .search-input-row .button{font-size:14px;min-height:48px}
  [data-course-finder] nav.route-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0}
  [data-course-finder] .route-tabs a.route-tab{min-height:48px;min-width:0;padding:10px 9px;font-size:13px;line-height:1.4;justify-content:center;gap:7px;text-align:center}
  [data-course-finder] .route-tabs a.route-tab-all{grid-column:1/-1}
  [data-course-finder] .route-tabs a.route-tab>span{font-size:12px;line-height:1.4;flex-shrink:0;font-variant-numeric:tabular-nums}
  [data-course-finder] .filters{padding:18px;margin-bottom:22px}
  [data-course-finder] .search-field{margin-bottom:0}
  [data-course-finder] .search-field>label,[data-course-finder] .filter-grid label{font-size:13px;font-weight:500;line-height:1.5}
  [data-course-finder] .search-input-row{gap:10px}
  [data-course-finder] .live-search-hint{font-size:12px;line-height:1.55;margin-top:12px}
  [data-course-finder] .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  [data-course-finder] .filter-subject,[data-course-finder] .filter-mode,[data-course-finder] .filter-campus{grid-column:1/-1}
  [data-course-finder] .filter-grid select{padding-inline:10px}
  .course-refinements{margin-top:16px}
  .course-refinements>summary{min-height:52px;font-size:14px;gap:8px;padding:13px 0}
  .refinement-count{font-size:12px;white-space:nowrap}
  .course-refinements[open] .filter-grid{padding-top:12px}
  .course-refinements:not([open]){margin-bottom:-6px}
  [data-course-finder] .filter-footer{gap:8px;margin-top:14px}
  [data-course-finder] .filter-footer>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
  [data-course-finder] .filter-footer small{font-size:11px;line-height:1.6;margin-left:0}
  [data-course-finder] .results-toolbar{align-items:flex-start;flex-direction:column;gap:3px;font-size:13px;margin-bottom:18px}
  [data-course-finder] .results-toolbar p{margin-bottom:0}
  [data-course-finder] .results-toolbar>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
  .course-suggestions{border-radius:16px}
  .course-suggestions ul{max-height:280px;-webkit-overflow-scrolling:touch}
  .course-suggestions [role=option],.suggestion-status,.suggestions-all{padding:13px 15px}
  .course-suggestions [role=option]{min-height:64px;gap:6px}
  .course-suggestions strong{font-size:14px;line-height:1.45;overflow-wrap:anywhere}
  .course-suggestions [role=option] span,.suggestion-status{font-size:12px;line-height:1.5}
  .suggestions-all{font-size:13px;min-height:48px}
  .live-search-feedback{font-size:13px;line-height:1.55}
  .live-search-feedback button,.live-search-feedback a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:360px){
  [data-course-finder] .route-tabs a.route-tab:not(.route-tab-all){flex-direction:column;gap:3px;min-height:65px}
  [data-course-finder] .filters{padding:15px}
  [data-course-finder] .filter-grid select{padding-inline:8px}
}
@media(prefers-reduced-motion:reduce){[data-course-finder][aria-busy=true] .course-list{transition:none}}
