* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--kenz-color-page);
    color: var(--kenz-color-text);
    font-family: var(--kenz-font-body);
    font-size: var(--kenz-text-md);
    line-height: 1.75;
}
body.admin-bar .kenz-site-header { top: 32px; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button, select { font: inherit; }

.kenz-skip-link {
    position: fixed;
    inset-block-start: var(--kenz-space-2);
    inset-inline-start: var(--kenz-space-2);
    z-index: 1000;
    padding: var(--kenz-space-3) var(--kenz-space-4);
    border-radius: var(--kenz-control-radius);
    background: var(--kenz-color-primary);
    color: var(--kenz-white);
    transform: translateY(-160%);
}
.kenz-skip-link:focus { transform: translateY(0); }
.kenz-catalog-shell { min-height: 100vh; overflow: clip; }
.kenz-site-header {
    position: sticky;
    inset-block-start: 0;
    z-index: 20;
    display: flex;
    min-height: var(--kenz-header-height);
    align-items: center;
    justify-content: space-between;
    gap: var(--kenz-space-4);
    padding: var(--kenz-space-3) max(var(--kenz-space-5), calc((100vw - var(--kenz-content-width)) / 2));
    border-block-end: var(--kenz-line-thin) solid var(--kenz-color-border);
    background: var(--kenz-color-header);
}
.kenz-brand { display: inline-flex; align-items: center; }
.kenz-brand img { width: auto; height: var(--kenz-brand-logo-height); }
.kenz-header-actions, .kenz-account-link { display: flex; align-items: center; }
.kenz-header-actions { gap: var(--kenz-space-5); }
.kenz-account-link, .kenz-back-link {
    font-size: var(--kenz-text-sm);
    font-weight: 600;
    text-decoration: none;
}
.kenz-account-link {
    display: inline-flex;
    align-items: center;
    gap: var(--kenz-space-2);
    color: var(--kenz-text-heading);
    background: var(--kenz-color-surface);
    border: var(--kenz-line-thin) solid var(--kenz-purple-400);
    padding: 0.375rem 0.875rem;
    border-radius: var(--kenz-control-radius);
    font-family: var(--kenz-font-display);
    font-size: var(--kenz-text-sm);
    font-weight: 700;
    text-decoration: none;
    transition: all var(--kenz-duration-fast) var(--kenz-ease-out);
}
.kenz-account-link:hover {
    background: var(--kenz-purple-100);
    border-color: var(--kenz-color-primary);
}
.kenz-back-link { color: var(--kenz-color-text-muted); }
.kenz-icon { width: var(--kenz-icon-size); height: var(--kenz-icon-size); flex: 0 0 auto; }
.kenz-catalog-main {
    width: min(100% - (2 * var(--kenz-space-5)), var(--kenz-content-width));
    margin-inline: auto;
    padding-block: var(--kenz-space-12) var(--kenz-space-20);
}
.kenz-catalog-intro { display: grid; gap: var(--kenz-space-10); }
.kenz-intro-copy { max-width: var(--kenz-reading-width); text-wrap: balance; }
.kenz-intro-copy h1, .kenz-system-state h1 {
    max-width: var(--kenz-headline-width);
    margin: 0;
    color: var(--kenz-text-heading);
    font-family: var(--kenz-font-display);
    font-size: clamp(2.1rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: -0.025em;
}
.kenz-intro-copy p, .kenz-system-state p {
    max-width: var(--kenz-copy-width);
    margin: var(--kenz-space-4) 0 0;
    color: var(--kenz-color-text-muted);
    font-size: var(--kenz-text-lg);
}

/* ── Type Filter Tabs ───────────────────────────────────────── */
.kenz-catalog-filter-card {
    display: grid;
    gap: var(--kenz-space-4);
    width: 100%;
}
.kenz-catalog-filter-card { padding: var(--kenz-space-3); border-radius: var(--kenz-card-radius); background: var(--kenz-color-primary-soft); }
.kenz-type-nav-wrap {
    width: 100%;
}
.kenz-type-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--kenz-space-2);
    align-items: center;
    padding: var(--kenz-space-2);
    background: var(--kenz-color-surface);
    border: var(--kenz-line-thin) solid var(--kenz-purple-400);
    border-radius: var(--kenz-card-radius);
}
.kenz-type-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--kenz-control-height);
    padding: var(--kenz-space-2) var(--kenz-space-3);
    border-radius: var(--kenz-control-radius);
    border: var(--kenz-line-thin) solid transparent;
    color: var(--kenz-color-primary);
    font-family: var(--kenz-font-display);
    font-size: var(--kenz-text-sm);
    font-weight: 700;
    text-decoration: none;
    transition: all var(--kenz-duration-fast) var(--kenz-ease-out);
}
.kenz-type-nav a:hover {
    background: var(--kenz-purple-100);
    color: var(--kenz-purple-900);
}
.kenz-type-nav a:nth-child(2):not(.is-active) { color: var(--kenz-color-accent-text); }
.kenz-type-nav a:nth-child(3):not(.is-active) { color: var(--kenz-color-support); }
.kenz-type-nav a:nth-child(4):not(.is-active) { color: var(--kenz-color-highlight); }
.kenz-type-nav a:nth-child(5):not(.is-active) { color: var(--kenz-color-primary); }
.kenz-type-nav a:nth-child(2):not(.is-active):hover { background: var(--kenz-color-accent-soft); color: var(--kenz-color-accent-text); }
.kenz-type-nav a:nth-child(3):not(.is-active):hover { background: var(--kenz-color-support-soft); color: var(--kenz-color-primary); }
.kenz-type-nav a:nth-child(4):not(.is-active):hover { background: var(--kenz-color-highlight-soft); color: var(--kenz-color-primary); }
.kenz-type-nav a.is-active {
    background: var(--kenz-color-primary);
    border-color: var(--kenz-color-primary);
    color: var(--kenz-white);
}
.kenz-type-nav a:first-child { grid-column: 1 / -1; }

.kenz-path-picker { display: grid; gap: var(--kenz-space-3); }
.kenz-stage-step, .kenz-topic-step {
    min-width: 0;
    padding: var(--kenz-space-5);
    border: var(--kenz-line-thin) solid var(--kenz-purple-400);
    border-radius: var(--kenz-card-radius);
    background: var(--kenz-color-surface);
    box-shadow: 0 2px 10px var(--kenz-color-primary-alpha-04);
}
.kenz-step-heading {
    display: flex;
    align-items: center;
    gap: var(--kenz-space-3);
    margin-block-end: var(--kenz-space-4);
    color: var(--kenz-color-primary);
    font-family: var(--kenz-font-display);
    font-size: var(--kenz-text-lg);
    font-weight: 700;
}
.kenz-step-number {
    display: grid;
    width: var(--kenz-step-number-size);
    height: var(--kenz-step-number-size);
    place-items: center;
    border-radius: var(--kenz-chip-radius);
    background: var(--kenz-gold-400);
    color: var(--kenz-color-primary);
    font-size: var(--kenz-text-sm);
}
.kenz-select-wrap { position: relative; }
.kenz-select-wrap::after {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: var(--kenz-space-4);
    width: var(--kenz-select-marker-size);
    height: var(--kenz-select-marker-size);
    border-inline-end: var(--kenz-select-marker-line) solid var(--kenz-color-primary);
    border-block-end: var(--kenz-select-marker-line) solid var(--kenz-color-primary);
    content: "";
    pointer-events: none;
    transform: translateY(-70%) rotate(45deg);
}
.kenz-select-wrap select {
    display: block !important;
    width: 100% !important;
    min-height: var(--kenz-control-height) !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding: var(--kenz-space-3) var(--kenz-space-4) !important;
    padding-inline-end: var(--kenz-space-10) !important;
    border: var(--kenz-line-thin) solid var(--kenz-purple-400) !important;
    border-radius: var(--kenz-control-radius) !important;
    background: var(--kenz-color-page) !important;
    color: var(--kenz-color-primary) !important;
    font-weight: 600 !important;
    font-family: var(--kenz-font-body) !important;
    font-size: var(--kenz-text-sm) !important;
    cursor: pointer !important;
}
.kenz-stage-step .kenz-select-wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--kenz-space-2); align-items: center; }
.kenz-stage-step .kenz-select-wrap::after { display: none; }
.kenz-stage-step .kenz-select-wrap select { padding-inline-end: var(--kenz-space-4) !important; }
.kenz-stage-step .kenz-select-wrap--single-age { display: block; width: 100%; }
.kenz-course-meta { gap: var(--kenz-space-1); color: var(--kenz-color-text-muted) !important; border-color: var(--kenz-color-border) !important; background: var(--kenz-color-surface-soft); text-decoration: none; }
.kenz-course-meta b { color: var(--kenz-color-text-muted); font-weight: 700; }
.kenz-course-card-presenters { display: flex; align-items: center; min-height: 2.25rem; margin-block: var(--kenz-space-1); }
.kenz-course-presenter-avatar { display: grid; width: 2.25rem; height: 2.25rem; overflow: hidden; place-items: center; border: 2px solid var(--kenz-color-surface); border-radius: 50%; background: var(--kenz-color-primary-soft); color: var(--kenz-color-primary); font-size: var(--kenz-text-sm); font-weight: 800; }
.kenz-course-presenter-avatar + .kenz-course-presenter-avatar { margin-inline-start: -0.625rem; }
.kenz-course-presenter-avatar img { width: 100%; height: 100%; object-fit: cover; }
.kenz-course-presenter-name { margin-inline-start: var(--kenz-space-2); color: var(--kenz-color-text-muted); font-size: var(--kenz-text-sm); font-weight: 700; }
.kenz-course-load-more-wrap { display: grid; place-items: center; margin-block-start: var(--kenz-space-10); }
.kenz-course-load-more { min-width: 12rem; min-height: var(--kenz-control-height); border: var(--kenz-line-thin) solid var(--kenz-color-primary); border-radius: var(--kenz-control-radius); background: var(--kenz-color-surface); color: var(--kenz-color-primary); font-family: var(--kenz-font-display); font-weight: 700; cursor: pointer; }
.kenz-course-load-more:hover { background: var(--kenz-color-primary-soft); }
.kenz-course-load-more:disabled { opacity: .6; cursor: wait; }
.kenz-filter-submit-wrap {
    width: 100%;
}
.kenz-filter-btn {
    width: 100%;
    min-height: var(--kenz-control-height);
    padding: var(--kenz-space-3) var(--kenz-space-5);
    border: 0;
    border-radius: var(--kenz-control-radius);
    background: var(--kenz-color-primary);
    color: var(--kenz-white);
    font-family: var(--kenz-font-display);
    font-size: var(--kenz-text-md);
    cursor: pointer;
    font-weight: 700;
    box-shadow: 0 4px 14px var(--kenz-color-primary-alpha-20);
    transition: background var(--kenz-duration-fast) var(--kenz-ease-out), transform var(--kenz-duration-fast) var(--kenz-ease-out), box-shadow var(--kenz-duration-fast) var(--kenz-ease-out);
}
.kenz-filter-btn:hover { background: var(--kenz-color-primary-hover); box-shadow: 0 6px 18px var(--kenz-color-primary-alpha-30); }
.kenz-filter-btn:active { transform: translateY(1px); }
.kenz-path-picker.is-loading { opacity: 0.68; }
.kenz-topic-rail {
    display: flex;
    max-width: 100%;
    gap: var(--kenz-space-2);
    padding-block-end: var(--kenz-space-2);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}
.kenz-topic-rail a, .kenz-course-terms span, .kenz-course-terms a { border-radius: var(--kenz-chip-radius); white-space: nowrap; }
.kenz-topic-rail a {
    flex: 0 0 auto;
    padding: var(--kenz-space-2) var(--kenz-space-4);
    border: var(--kenz-line-thin) solid var(--kenz-color-border-strong);
    color: var(--kenz-color-text-muted);
    font-size: var(--kenz-text-sm);
    font-weight: 600;
    text-decoration: none;
    transition: border-color var(--kenz-duration-fast) var(--kenz-ease-out), color var(--kenz-duration-fast) var(--kenz-ease-out), background var(--kenz-duration-fast) var(--kenz-ease-out);
}
.kenz-topic-rail a:hover { border-color: var(--kenz-color-accent); color: var(--kenz-color-accent-hover); }
.kenz-topic-rail a.is-active { border-color: var(--kenz-color-primary); background: var(--kenz-color-primary); color: var(--kenz-white); }
.kenz-results {
    margin-block-start: var(--kenz-section-gap);
    scroll-margin-block-start: calc(var(--kenz-header-height) + var(--kenz-space-5));
}
.kenz-results-summary {
    display: grid;
    gap: var(--kenz-space-4);
    align-items: center;
    padding: var(--kenz-space-5);
    border-radius: var(--kenz-card-radius);
    background: var(--kenz-color-primary-soft);
}
.kenz-results-summary p { margin: 0; color: var(--kenz-color-text-muted); font-size: var(--kenz-text-sm); }
.kenz-results-summary h2 {
    margin: var(--kenz-space-1) 0 0;
    color: var(--kenz-color-primary);
    font-family: var(--kenz-font-display);
    font-size: var(--kenz-text-xl);
    line-height: 1.35;
}
.kenz-results-count { display: flex; align-items: baseline; gap: var(--kenz-space-2); color: var(--kenz-color-primary); }
.kenz-results-count strong { font-family: var(--kenz-font-display); font-size: var(--kenz-text-2xl); line-height: 1; }
.kenz-reset-link, .kenz-course-link {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: var(--kenz-space-2);
    color: var(--kenz-color-accent-hover);
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: var(--kenz-space-1);
}
.kenz-course-shelf { margin-block-start: var(--kenz-space-12); }
.kenz-course-shelf__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--kenz-space-5); margin-block-end: var(--kenz-space-5); }
.kenz-course-shelf__heading > h3 {
    position: relative;
    margin: 0;
    color: var(--kenz-color-primary);
    font-family: var(--kenz-font-display);
    font-size: var(--kenz-text-2xl);
    line-height: 1.25;
}
.kenz-course-shelf__heading > h3::before {
    display: inline-block;
    width: var(--kenz-shelf-accent-width);
    height: var(--kenz-shelf-accent-height);
    margin-inline-end: var(--kenz-space-3);
    border-radius: var(--kenz-chip-radius);
    background: var(--kenz-color-highlight);
    content: "";
    vertical-align: -0.12em;
}
.kenz-lead-course, .kenz-course-row {
    display: grid;
    min-width: 0;
    overflow: hidden;
    border-radius: var(--kenz-card-radius);
    background: var(--kenz-color-surface);
}
.kenz-lead-course { border: var(--kenz-card-border); box-shadow: var(--kenz-shadow-lead); }
.kenz-course-row { border: var(--kenz-card-border); }
.kenz-course-row { transition: transform var(--kenz-duration-fast) var(--kenz-ease-out), box-shadow var(--kenz-duration-fast) var(--kenz-ease-out); }
@media (hover: hover) and (pointer: fine) { .kenz-course-row:hover { box-shadow: var(--kenz-shadow-lead); transform: translateY(-0.25rem); } .kenz-course-row:hover .kenz-course-media img { transform: scale(var(--kenz-media-hover-scale)); } }
.kenz-course-media {
    display: block;
    min-height: 13rem;
    overflow: hidden;
    background: var(--kenz-color-surface-soft);
}
.kenz-course-media img {
    width: 100%;
    height: 100%;
    aspect-ratio: var(--kenz-media-aspect);
    object-fit: contain;
    transition: transform var(--kenz-media-duration) var(--kenz-ease-out);
}
.kenz-lead-course:hover .kenz-course-media img { transform: scale(var(--kenz-media-hover-scale)); }
.kenz-media-fallback { display: grid; min-height: 100%; place-items: center; color: var(--kenz-purple-700); }
.kenz-media-fallback .kenz-icon { width: var(--kenz-fallback-icon-size); height: var(--kenz-fallback-icon-size); }
.kenz-course-content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: var(--kenz-space-6);
}
.kenz-course-content h4 {
    margin: 0;
    color: var(--kenz-color-text);
    font-family: var(--kenz-font-display);
    font-size: var(--kenz-text-xl);
    line-height: 1.45;
}
.kenz-course-content h4 a { text-decoration: none; }
.kenz-course-content h4 a:hover {
    text-decoration: underline;
    text-decoration-color: var(--kenz-color-accent);
    text-decoration-thickness: 2px;
    text-underline-offset: var(--kenz-space-2);
}
.kenz-course-content > p { margin: var(--kenz-space-3) 0 0; color: var(--kenz-color-text-muted); }
.kenz-course-terms { display: flex; flex-wrap: wrap; gap: var(--kenz-space-2); margin-block-start: var(--kenz-space-5); }
.kenz-course-terms span {
    padding: var(--kenz-space-1) var(--kenz-space-3);
    border: var(--kenz-line-thin) solid var(--kenz-purple-400);
    color: var(--kenz-color-primary);
    font-size: var(--kenz-text-xs);
    font-weight: 600;
}
.kenz-course-link { margin-block-start: auto; padding-block-start: var(--kenz-space-5); }
.kenz-course-link .kenz-icon { transform: scaleX(-1); }
.kenz-course-offer {
    display: grid;
    width: 100%;
    gap: var(--kenz-space-3);
    margin-block-start: auto;
    padding-block-start: var(--kenz-space-3);
}
.kenz-course-card-presenters { margin-block-start: var(--kenz-space-5); margin-block-end: 0; }
.kenz-catalog-sort { display: flex; align-items: center; justify-content: flex-start; gap: var(--kenz-space-2); margin-inline-start: auto; }
.kenz-catalog-sort label { color: var(--kenz-color-text-muted); font-size: var(--kenz-text-sm); font-weight: 700; white-space: nowrap; }
.kenz-catalog-sort select { min-height: 2.5rem; padding: var(--kenz-space-2) var(--kenz-space-3); border: var(--kenz-line-thin) solid var(--kenz-color-border-strong); border-radius: var(--kenz-control-radius); background: var(--kenz-color-surface); color: var(--kenz-color-primary); font-size: var(--kenz-text-sm); }
.kenz-catalog-sort button { min-height: 2.5rem; padding: var(--kenz-space-2) var(--kenz-space-4); border: 0; border-radius: var(--kenz-control-radius); background: var(--kenz-color-accent); color: var(--kenz-white); font-weight: 700; cursor: pointer; }
.kenz-catalog-sort button:hover { background: var(--kenz-color-accent-hover); }
.kenz-course-price {
    color: var(--kenz-color-primary);
    direction: ltr;
    font-family: var(--kenz-font-display);
    font-size: var(--kenz-text-xl);
    font-weight: 800;
    line-height: 1.2;
    text-align: end;
}
.kenz-course-price del {
    display: block;
    margin-block-end: var(--kenz-space-1);
    color: var(--kenz-color-accent);
    font-family: var(--kenz-font-body);
    font-size: var(--kenz-text-sm);
    font-weight: 600;
    text-decoration-thickness: 1px;
}
.kenz-course-price ins {
    color: var(--kenz-color-primary);
    font-size: var(--kenz-text-2xl);
    text-decoration: none;
}
.kenz-course-actions { display: flex; flex-wrap: wrap; gap: var(--kenz-space-2); width: 100%; }
.kenz-course-enrolled-badge {
    display: inline-flex;
    align-items: center;
    font-family: var(--kenz-font-body);
    font-size: var(--kenz-text-xs);
    font-weight: 700;
    color: var(--kenz-purple-900);
    background: var(--kenz-purple-100);
    padding: 0.25rem 0.625rem;
    border-radius: var(--kenz-control-radius);
    width: fit-content;
    margin-inline-start: auto;
}
.kenz-button-enrolled {
    width: 100% !important;
    flex: 1 1 100% !important;
    background: var(--kenz-color-primary) !important;
    color: var(--kenz-white) !important;
}
.kenz-button-enrolled:hover {
    background: var(--kenz-color-primary) !important;
}
.kenz-button {
    display: inline-flex;
    min-height: var(--kenz-control-height);
    flex: 1 1 9rem;
    align-items: center;
    justify-content: center;
    padding: var(--kenz-space-2) var(--kenz-space-4);
    border: var(--kenz-line-thin) solid transparent;
    border-radius: var(--kenz-control-radius);
    font-size: var(--kenz-text-sm);
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background var(--kenz-duration-fast) var(--kenz-ease-out), border-color var(--kenz-duration-fast) var(--kenz-ease-out), color var(--kenz-duration-fast) var(--kenz-ease-out), transform var(--kenz-duration-fast) var(--kenz-ease-out);
}
.kenz-button:active { transform: translateY(1px); }
.kenz-button-primary { background: var(--kenz-button-commerce-bg); border-color: var(--kenz-gold-600); color: var(--kenz-button-commerce-text); }
.kenz-button-primary:hover { background: var(--kenz-button-commerce-bg-hover); }
.kenz-button-secondary { border-color: var(--kenz-button-secondary-border); background: var(--kenz-button-secondary-bg); color: var(--kenz-button-secondary-text); }
.kenz-button-secondary:hover { background: var(--kenz-button-secondary-bg-hover); }
.kenz-course-list { display: grid; gap: var(--kenz-space-4); }
.kenz-course-row {
    display: flex;
    flex-direction: column;
}
.kenz-course-row .kenz-course-media {
    height: auto;
    min-height: 0;
    padding: 0;
    aspect-ratio: var(--kenz-course-card-media-aspect);
    background: var(--kenz-color-surface-soft);
}
.kenz-course-row .kenz-course-media img {
    display: block;
    width: 100%;
    height: 100% !important;
    aspect-ratio: auto;
    object-fit: contain;
}
.kenz-course-row .kenz-course-content { flex: 1 1 auto; }
.kenz-course-row .kenz-course-content h4 { font-size: var(--kenz-text-lg); }
.kenz-course-row .kenz-course-content h4 { font-size: var(--kenz-text-xl); }
.kenz-course-type { color: var(--kenz-color-highlight) !important; font-size: var(--kenz-text-xs); font-weight: 700; margin: 0 0 var(--kenz-space-2) !important; }
.kenz-course-terms a { padding: var(--kenz-space-1) var(--kenz-space-3); border: var(--kenz-line-thin) solid var(--kenz-purple-400); color: var(--kenz-color-primary); font-size: var(--kenz-text-xs); font-weight: 600; text-decoration: none; }
.kenz-course-terms a:hover, .kenz-course-terms a:focus-visible { background: var(--kenz-color-primary-soft); border-color: var(--kenz-color-primary); }
.kenz-course-details-link { align-self: flex-start; color: var(--kenz-color-primary); font-size: var(--kenz-text-sm); font-weight: 700; margin-top: var(--kenz-space-2); text-decoration: none; }
.kenz-course-details-link span { display: inline-block; transition: transform var(--kenz-duration-fast) var(--kenz-ease-out); }
.kenz-course-details-link:hover span, .kenz-course-details-link:focus-visible span { transform: translateX(-.25rem); }
.kenz-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--kenz-space-3);
    margin-block-start: var(--kenz-space-10);
    padding-block-start: var(--kenz-space-5);
    border-block-start: var(--kenz-line-thin) solid var(--kenz-color-border);
    color: var(--kenz-color-text-muted);
    font-size: var(--kenz-text-sm);
}
.kenz-pagination a { color: var(--kenz-color-primary); font-weight: 700; }
.kenz-empty-state, .kenz-system-state {
    max-width: var(--kenz-reading-width);
    margin-inline: auto;
    padding: var(--kenz-space-10) var(--kenz-space-6);
    text-align: center;
}
.kenz-empty-icon {
    display: grid;
    width: var(--kenz-empty-icon-size);
    height: var(--kenz-empty-icon-size);
    margin-inline: auto;
    place-items: center;
    border-radius: var(--kenz-chip-radius);
    background: var(--kenz-color-accent-soft);
    color: var(--kenz-color-accent-hover);
}
.kenz-empty-state h3 {
    margin: var(--kenz-space-5) 0 0;
    color: var(--kenz-color-primary);
    font-family: var(--kenz-font-display);
    font-size: var(--kenz-text-2xl);
}
.kenz-empty-state p { color: var(--kenz-color-text-muted); }
.kenz-empty-state a {
    display: inline-flex;
    min-height: var(--kenz-control-height);
    align-items: center;
    margin-block-start: var(--kenz-space-3);
    padding-inline: var(--kenz-space-6);
    border-radius: var(--kenz-control-radius);
    background: var(--kenz-color-primary);
    color: var(--kenz-white);
    font-weight: 700;
    text-decoration: none;
}
.kenz-preview-footer {
    padding: var(--kenz-space-8) var(--kenz-space-5);
    border-block-start: var(--kenz-line-thin) solid var(--kenz-color-border);
    color: var(--kenz-color-text-muted);
    font-size: var(--kenz-text-sm);
    text-align: center;
}
:where(a, button, select):focus-visible { outline: var(--kenz-focus-width) solid var(--kenz-color-focus); outline-offset: var(--kenz-focus-width); }

@media (min-width: 48rem) {
    .kenz-catalog-main { padding-block-start: var(--kenz-space-16); }
    .kenz-type-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .kenz-type-nav a:first-child { grid-column: auto; }
    .kenz-path-picker { grid-template-columns: 1fr 1fr; }
    .kenz-filter-submit-wrap { grid-column: 1 / -1; }
    .kenz-results-summary { grid-template-columns: minmax(0, 1fr) auto auto; padding: var(--kenz-space-6); }
    .kenz-lead-course { grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1.1fr); }
}
@media (min-width: 64rem) {
    .kenz-catalog-intro { grid-template-columns: minmax(18rem, 0.62fr) minmax(0, 1.38fr); align-items: end; }
    .kenz-course-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 48rem) {
    body.admin-bar .kenz-site-header { top: 46px; }
    .kenz-site-header { padding: 0.625rem 1rem !important; }
    .kenz-back-link { display: none; }
    .kenz-brand img { height: var(--kenz-brand-logo-height-mobile); }
    .kenz-account-link { padding: 0.3125rem 0.625rem; font-size: var(--kenz-text-xs); }
}
@media (max-width: 47.99rem) {
    .kenz-course-shelf__heading { align-items: stretch; flex-direction: column; gap: var(--kenz-space-3); }
    .kenz-catalog-sort { align-items: stretch; margin-inline-start: 0; }
    .kenz-catalog-sort label { align-self: center; }
    .kenz-catalog-sort select { flex: 1; }
    .kenz-course-details-link { align-items: center; border: var(--kenz-line-thin) solid var(--kenz-color-primary); border-radius: var(--kenz-control-radius); display: inline-flex; justify-content: center; min-height: var(--kenz-control-height); padding: var(--kenz-space-2) var(--kenz-space-4); width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
