/* Compact filters with separate selected and keyboard-focus states. */
.oc-site #dates{--oc-schedule-muted:oklch(84% .025 260);--oc-filter-control-border:oklch(63% .025 260)}
.oc-site #dates #online-schedule-panel{margin-top:2rem}
.oc-site #dates .oc-filter-shell{background:var(--oc-paper);color:var(--oc-ink);border:1px solid var(--oc-border);border-radius:6px;padding:24px 24px 0}
.oc-site #dates .oc-filter-groups{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px}
.oc-site #dates .oc-filter-group{margin:0;padding:0;min-width:0;border:0}
.oc-site #dates .oc-filter-group legend{float:none;margin-bottom:12px;padding:0;color:var(--oc-ink);font-size:15px;line-height:1.4;font-weight:650;letter-spacing:0;text-transform:none}
.oc-site #dates .oc-filter-options{display:flex;flex-wrap:wrap;gap:8px;font-size:.875rem}
.oc-site #dates .oc-filter-option{position:relative;display:block;cursor:pointer}
.oc-site #dates .oc-filter-input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.oc-site #dates .oc-filter-choice{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px 12px;border:1px solid var(--oc-filter-control-border);border-radius:4px;background:transparent;color:var(--oc-ink);font-size:.875rem;font-weight:550;line-height:1.35;transition:border-color 160ms ease-out}
.oc-site #dates .oc-filter-label{white-space:nowrap}
.oc-site #dates .oc-filter-indicator{display:grid;place-items:center;flex:0 0 16px;width:16px;height:16px;border:1px solid var(--oc-muted);border-radius:50%}
.oc-site #dates .oc-filter-indicator svg{width:11px;height:11px;opacity:0}
.oc-site #dates .oc-filter-logo{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px}
.oc-site #dates .oc-filter-logo img{display:block;width:20px;height:20px;object-fit:contain;border-radius:2px}
.oc-site #dates .oc-filter-logo svg{width:18px;height:18px}
.oc-site #dates .oc-filter-input:checked+.oc-filter-choice{color:var(--oc-paper);background:var(--oc-ink);border-color:var(--oc-ink)}
.oc-site #dates .oc-filter-input:checked+.oc-filter-choice .oc-filter-indicator{background:var(--oc-highlight);border-color:var(--oc-highlight);color:var(--oc-ink)}
.oc-site #dates .oc-filter-input:checked+.oc-filter-choice .oc-filter-indicator svg{opacity:1}
.oc-site #dates .oc-filter-input:focus-visible+.oc-filter-choice{outline:2px solid var(--oc-action);outline-offset:3px}
@media(hover:hover){
 .oc-site #dates .oc-filter-input:not(:checked):hover+.oc-filter-choice{background:var(--oc-wash);border-color:var(--oc-muted)}
 .oc-site #dates .oc-filter-input:checked:hover+.oc-filter-choice{background:var(--oc-muted)}
}
.oc-site #dates .oc-filter-input:active+.oc-filter-choice{border-color:var(--oc-action)}
.oc-site #dates .oc-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;margin-top:20px;padding:8px 0;border-top:1px solid var(--oc-border)}
.oc-site #dates .oc-session-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:0;color:var(--oc-muted);font-size:14px;line-height:1.5}
.oc-site #dates .oc-online-label{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--oc-ink)}
.oc-site #dates .oc-online-label svg{width:17px;height:17px}
.oc-site #dates .oc-filter-reset{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;flex:0 0 auto;padding:8px 4px;border:0;border-radius:3px;background:transparent;color:var(--oc-action);font:inherit;font-size:14px;font-weight:650;cursor:pointer}
.oc-site #dates .oc-filter-reset svg{width:16px;height:16px}
.oc-site #dates .oc-filter-reset:hover:not([aria-disabled="true"]){text-decoration:underline;text-underline-offset:4px}
.oc-site #dates .oc-filter-reset[aria-disabled="true"]{color:var(--oc-muted);opacity:1;cursor:default}
.oc-site #dates .oc-results-bar{margin:22px 0 0;min-height:24px}
.oc-site #dates [data-results-summary]{margin:0;max-width:none;color:var(--oc-schedule-muted);font-size:14px;line-height:1.6}
.oc-site #dates [data-results-summary] strong{color:var(--oc-paper);font-weight:650}
.oc-site #dates [data-dated-results]{margin-top:22px}
.oc-site #dates [data-month-count],.oc-site #dates [data-remaining-count]{color:var(--oc-schedule-muted)}
.oc-site #dates [data-empty-results]{margin-top:22px;padding:32px;border:1px solid var(--oc-border);background:var(--oc-paper)}
.oc-site #dates [data-empty-title]{font-size:24px}
.oc-site #dates .oc-empty-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px}
.oc-site #dates .oc-empty-actions .oc-filter-reset{padding-inline:20px;border:1px solid var(--oc-ink);color:var(--oc-ink)}
.oc-site #dates .oc-empty-contact{display:inline-flex;align-items:center;min-height:44px;color:var(--oc-action);font-size:14px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:999px){.oc-site #dates .oc-filter-groups{grid-template-columns:1fr;gap:20px}}
@media(max-width:639px){
 .oc-site #dates .oc-filter-shell{padding:18px 16px 0}
 .oc-site #dates .oc-filter-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5em),1fr))}
 .oc-site #dates .oc-platform-filter .oc-filter-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,5em),1fr))}
 .oc-site #dates .oc-filter-choice{min-height:50px;height:100%;padding:10px 8px}
 .oc-site #dates .oc-industry-filter .oc-filter-choice{justify-content:flex-start}
 .oc-site #dates .oc-industry-filter .oc-filter-label{white-space:normal;overflow-wrap:anywhere}
 .oc-site #dates .oc-platform-filter .oc-filter-logo{display:none}
 .oc-site #dates .oc-platform-filter .oc-filter-label{white-space:normal;text-align:center}
 .oc-site #dates .oc-filter-footer{align-items:flex-start;gap:6px 12px;margin-top:18px;padding-block:8px}
 .oc-site #dates .oc-session-meta{display:block;padding-top:6px}
 .oc-site #dates .oc-online-label{display:flex;margin-bottom:2px}
 .oc-site #dates .oc-session-hours{display:block;font-size:14px}
 .oc-site #dates .oc-filter-reset{padding-inline:0}
 .oc-site #dates .oc-filter-reset>svg{display:none}
 .oc-site #dates [data-empty-results]{padding:24px 20px}
 .oc-site #dates .oc-empty-actions{gap:8px 16px}
}
@media(max-width:379px){
 .oc-site #dates .oc-filter-footer{flex-wrap:wrap}
 .oc-site #dates .oc-session-meta{width:100%}
 .oc-site #dates .oc-filter-indicator{width:14px;height:14px;flex-basis:14px}
 .oc-site #dates .oc-filter-choice{gap:5px;padding-inline:6px}
}
@media(prefers-reduced-motion:reduce){.oc-site #dates .oc-filter-choice{transition:none}}
@media(forced-colors:active){
 .oc-site #dates .oc-filter-input:checked+.oc-filter-choice{border:2px solid Highlight}
 .oc-site #dates .oc-filter-input:focus-visible+.oc-filter-choice{outline-color:Highlight}
}

/* OnlineCourse platform selectors: open marks, horizontal capsules, explicit selection. */
.oc-site #dates .oc-platform-filter .oc-filter-options{display:flex;flex-wrap:wrap;gap:8px}
.oc-site #dates .oc-platform-filter .oc-filter-choice{
 min-height:60px;height:100%;justify-content:flex-start;gap:8px;padding:10px 14px;
 border:1px solid var(--oc-border);border-radius:999px;background:var(--oc-wash);
 color:var(--oc-ink);font-size:13px;font-weight:600;
 transition:background 160ms ease-out,border-color 160ms ease-out
}
.oc-site #dates .oc-platform-filter .oc-filter-logo{display:grid;width:30px;height:30px;flex:0 0 30px;background:transparent}
.oc-site #dates .oc-platform-filter .oc-filter-logo img{width:24px;height:24px;border-radius:0}
.oc-site #dates .oc-platform-filter .oc-filter-logo .oc-learning-mind{width:30px;height:30px}
.oc-site #dates .oc-platform-filter .oc-filter-label{white-space:nowrap;text-align:left}
.oc-site #dates .oc-platform-check{display:grid;place-items:center;flex:0 0 16px;width:16px;height:16px;margin-left:2px;border-radius:50%;border:1px solid var(--oc-filter-control-border);color:var(--oc-ink)}
.oc-site #dates .oc-platform-check svg{width:12px;height:12px;opacity:0}
.oc-site #dates .oc-platform-filter .oc-filter-input:checked+.oc-filter-choice{
 background:var(--oc-paper);color:var(--oc-ink);border-color:var(--oc-ink);box-shadow:inset 0 0 0 1px var(--oc-ink)
}
.oc-site #dates .oc-platform-filter .oc-filter-input:checked+.oc-filter-choice .oc-platform-check{background:var(--oc-highlight);border-color:var(--oc-highlight)}
.oc-site #dates .oc-platform-filter .oc-filter-input:checked+.oc-filter-choice .oc-platform-check svg{opacity:1}
.oc-site #dates .oc-platform-filter .oc-filter-input:focus-visible+.oc-filter-choice{outline:3px solid var(--oc-action);outline-offset:4px}
@media(hover:hover){
 .oc-site #dates .oc-platform-filter .oc-filter-input:hover+.oc-filter-choice{background:var(--oc-paper);border-color:var(--oc-ink)}
}
@media(max-width:1279px){.oc-site #dates .oc-filter-groups{grid-template-columns:1fr;gap:20px}}
@media(max-width:639px){
 .oc-site #dates .oc-platform-filter .oc-filter-options{display:grid;grid-template-columns:1fr;gap:8px}
 .oc-site #dates .oc-platform-filter .oc-filter-choice{min-height:56px;padding:10px 16px;font-size:14px;gap:12px}
 .oc-site #dates .oc-platform-filter .oc-platform-check{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.oc-site #dates .oc-platform-filter .oc-filter-choice{transition:none}}
@media(forced-colors:active){
 .oc-site #dates .oc-platform-filter .oc-filter-input:checked+.oc-filter-choice{outline:2px solid Highlight;outline-offset:-2px}
 .oc-site #dates .oc-platform-filter .oc-filter-input:focus-visible+.oc-filter-choice{outline:3px solid Highlight;outline-offset:4px}
 .oc-site #dates .oc-platform-check{border-color:ButtonText}
}
