/* filter.css: the course tabs over the list of escape rooms (filter.js), on the
   rooms page and the teacher dashboard. */
.ef { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 24px; margin: 28px 0 0; border-bottom: 1px solid var(--border); }
.ef-tabs { display: flex; gap: 4px; min-width: 0; max-width: 100%; overflow-x: auto; scrollbar-width: none; margin-bottom: -1px; }
.ef-tabs::-webkit-scrollbar { display: none; }
.ef-tab { flex: 0 0 auto; min-height: 48px; padding: 10px 14px; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--text-muted);
  font-family: var(--font-body); font-size: 16px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.ef-tab:hover { color: var(--ink); }
.ef-tab[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--accent); }
.ef-tab:focus-visible, .ef-search input:focus-visible, .ef-da input:focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-offset); }
.ef-search { flex: 1 1 200px; min-width: 0; max-width: 300px; margin: 0 0 8px auto; }
.ef-search input { width: 100%; min-height: 44px; padding: 8px 14px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink);
  font-family: var(--font-body); font-size: 15px; }
.ef-search input::placeholder { color: var(--text-faint); }
.ef-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ef-bar2 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; min-height: 12px; }
.ef-da { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 6px; font-size: 15px; font-weight: 600; color: var(--ink); cursor: pointer; }
.ef-da[hidden] { display: none; }
.ef-da input { width: 20px; height: 20px; accent-color: var(--accent); cursor: pointer; }
.ef-count { font-size: 14px; color: var(--text-muted); margin: 6px 0 0; }
.ef-count:empty { display: none; }
.ef-count button { min-height: 44px; padding: 0 6px; border: 0; background: none; color: var(--accent); font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ef-empty { margin: 20px 0; padding: 24px; border: 1px dashed var(--border-strong); border-radius: var(--radius-md); color: var(--text-muted); font-size: 15px; }
@media (max-width: 599px) { .ef-search { flex-basis: 100%; max-width: none; margin-left: 0; order: -1; } }
