/* Single-choice filters: visible categories, native keyboard behavior. */
html[data-ui-theme] #main .xd-choice-filters { display:flex;flex-wrap:wrap;align-items:center;gap:16px;width:100%; }
html[data-ui-theme] #main .xd-choice-filters > :is(input,.v2-event-search-label) { flex:1 0 100%;width:100%;max-width:560px;min-height:44px; }
html[data-ui-theme] #main .xd-choice-group { display:block;flex:1 0 100%;width:100%;min-width:0;margin:0;padding:0;border:0;grid-column:1/-1; }
html[data-ui-theme] #main .xd-choice-group legend { display:block;float:none;padding:0;margin:0 0 7px;color:var(--ink,#26384c);font-size:13px;font-weight:600; }
html[data-ui-theme] #main .xd-choice-options { display:flex;flex-wrap:wrap;gap:6px; }
html[data-ui-theme] #main .xd-choice-options label { position:relative;display:inline-flex;min-width:0;margin:0;padding:0;cursor:pointer; }
html[data-ui-theme] #main .xd-choice-options input { position:absolute;width:1px;min-width:0;max-width:1px;height:1px;min-height:0;padding:0;border:0;margin:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap; }
html[data-ui-theme] #main .vl-catalog-topics { display:none; }
html[data-ui-theme] #main .xd-choice-options span { display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 15px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted,#5b6c80);font-size:13px;line-height:1.6;transition:background 160ms ease,color 160ms ease,border-color 160ms ease; }
html[data-ui-theme] #main .xd-choice-options label:hover span { background:color-mix(in srgb,var(--action) 6%,white);color:var(--action); }
html[data-ui-theme] #main .xd-choice-options input:checked + span { color:var(--action);background:color-mix(in srgb,var(--action) 9%,white);border-color:color-mix(in srgb,var(--action) 24%,white);font-weight:600; }
html[data-ui-theme] #main .xd-choice-options input:focus-visible + span { outline:2px solid var(--action);outline-offset:2px; }
html[data-ui-theme] #main .xd-choice-group select[hidden],html[data-ui-theme] #main label[hidden] { display:none!important; }
html[data-ui-theme] #main .v2-course-extra-grid { display:grid;grid-template-columns:1fr;gap:20px; }
html[data-ui-theme] #main .v2-course-extra-field { min-width:0; }
html[data-ui-theme] #main .xd-filter-reset { padding:8px 0;min-height:44px;border:0;background:transparent;color:var(--action);font:inherit;font-size:13px;cursor:pointer; }
/* Course hierarchy: metadata, one-line title, teacher, then price and action. */
html[data-ui-theme] #main #course-grid .card { overflow:hidden;transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease; }
html[data-ui-theme] #main #course-grid .card-image { width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;transition:filter 220ms ease; }
html[data-ui-theme] #main #course-grid .card-body { min-width:0;padding:18px 18px 16px;display:flex;flex-direction:column;gap:0; }
html[data-ui-theme] #main #course-grid .card-meta { display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0 0 10px;font-size:12px;line-height:1.6;color:var(--muted,#5b6c80); }
html[data-ui-theme] #main #course-grid .card-meta .status { margin:0;border-radius:3px;padding:3px 6px;font-size:11px;line-height:1.5;white-space:nowrap; }
html[data-ui-theme] #main #course-grid h3 { display:block;min-width:0;margin:0;font-size:17px;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600; }
html[data-ui-theme] #main #course-grid h3 a { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
html[data-ui-theme] #main #course-grid .card-footer { display:flex;flex-direction:column;align-items:stretch;justify-content:initial;gap:13px;min-width:0;padding:0;margin:12px 0 0;border:0; }
html[data-ui-theme] #main #course-grid .card-footer > span { font-size:12px;color:var(--muted,#5b6c80);line-height:1.7;white-space:normal; }
html[data-ui-theme] #main #course-grid .card-footer > a { display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:44px;padding-top:10px;border-top:1px solid var(--line,#e0e6ed);text-decoration:none; }
html[data-ui-theme] #main #course-grid .cp-course-price { color:var(--ink,#26384c);font-size:18px;font-weight:600;line-height:1.5;white-space:nowrap; }
html[data-ui-theme] #main #course-grid .cp-course-action { font-size:12px;line-height:1.6;white-space:nowrap;color:var(--action); }
@media(hover:hover) {
  html[data-ui-theme] #main #course-grid .card:hover { transform:translateY(-5px);box-shadow:0 12px 26px #1b324616;border-color:color-mix(in srgb,var(--action) 28%,white); }
  html[data-ui-theme] #main #course-grid .card:hover .card-image { filter:brightness(1.04); }
}
html[data-ui-theme] #main #course-grid .card:focus-within { box-shadow:0 0 0 2px color-mix(in srgb,var(--action) 40%,transparent); }
@media(max-width:640px) {
  html[data-ui-theme] #main .xd-choice-options span { padding-inline:12px; }
  html[data-ui-theme] #main #course-grid .card-body { padding:16px; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-ui-theme] #main :is(#course-grid .card,#course-grid .card-image,.xd-choice-options span) { transition:none; }
  html[data-ui-theme] #main #course-grid .card:hover { transform:none; }
}
