.al-catalog{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:2rem;align-items:start}
.al-sidebar{padding:1.25rem;background:#f6f6f6;border-radius:8px}
.al-filters{display:grid;gap:1rem}
.al-filters h2{font-size:1.25rem;margin:0}
.al-filters label{display:grid;gap:.35rem;font-weight:600}
.al-filters select,.al-filters button{width:100%;min-height:40px}
.al-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}
.al-card-media{position:relative}
.al-card-ages{position:absolute;top:.65rem;left:.65rem;display:flex;flex-wrap:wrap;gap:.35rem;max-width:44%;pointer-events:none}
.al-card-age{padding:.25rem .5rem;border-radius:4px;background:#22334a;color:#fff;font-size:.75rem;line-height:1.2;font-weight:600;overflow-wrap:anywhere}
.al-card-media .al-card-tags{max-width:44%}
.al-instructor{display:flex;gap:1.25rem;align-items:flex-start}
.al-instructor-photo{flex-shrink:0;width:120px;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%}
.al-instructor-info{min-width:0}
.al-instructor-name{margin:0 0 .5rem}
.al-instructor-bio{overflow-wrap:anywhere}
.al-completion{margin-top:.75rem}
.al-completion-button{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.5rem .7rem;background:#f5f5f5;color:#333;border:1px solid #bbb;border-radius:6px;text-align:start;cursor:pointer;font-size:.875rem}
.al-completion-button.is-complete{background:#e3f4e9;color:#17562e;border-color:#6ba981}
.al-completion-icon{font-size:1.25rem;line-height:1}
.al-completion-status{display:block;font-size:.8rem}
.al-completion-button:disabled{opacity:.6;cursor:wait}
@media(max-width:700px){.al-instructor{flex-direction:column}}
.al-card-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.al-card-tags{position:absolute;top:.65rem;right:.65rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;max-width:calc(100% - 1.3rem);pointer-events:none}
.al-card-tag{display:inline-block;padding:.25rem .5rem;border-radius:4px;background:#fff;color:#222;font-size:.75rem;font-weight:600;line-height:1.2;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.al-card-title{margin:.6rem 0}
.al-card p{margin:.35rem 0}
.al-filter-button{cursor:pointer}
.al-catalog .al-filter-toggle{display:none}
.al-filter-reset{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;font-size:.875rem}
.al-filter-status{font-size:.875rem;margin:.5rem 0 0}
.al-count{margin:0 0 1rem}
.al-pages{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem}
.al-pages a{display:inline-block;padding:.3rem .7rem;border:1px solid currentColor;border-radius:4px}
.al-loading .al-results{opacity:.5;pointer-events:none}
.al-video{margin-top:1.5rem}
.al-video-player{width:100%;max-width:100%;margin:0 auto;background:#000;overflow:hidden}
.al-video-player > video,.al-video-embed iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border:0}
.al-video-player .al-video{margin:0}
.al-video-player .wp-video{max-width:100%;width:100%!important}
.al-resources-heading{margin:0 0 .75rem}
.al-resource-list{display:grid;gap:1rem;list-style:none;margin:0;padding:0}
.al-resource{padding:1rem;border:1px solid #ddd;border-radius:8px;min-width:0}
.al-resource-title{margin:.5rem 0;overflow-wrap:anywhere}
.al-resource-type{font-size:.875rem;margin:.25rem 0 .75rem}
.al-resource-preview{display:block;width:240px;max-width:100%;height:auto}
.al-resource-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.al-resource-button{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .85rem;border:1px solid currentColor;border-radius:4px;text-decoration:none}
.al-materials-heading{margin:0 0 .75rem}
.al-materials-list{list-style:decimal outside;margin:0;padding-inline-start:1.75rem}
.al-materials-list li{display:list-item;overflow-wrap:anywhere}
.al-materials-list li + li{margin-top:.5rem}
.al-video iframe,.al-video video{max-width:100%}
.al-video-notice{padding:1rem;border-left:4px solid #d49a32;background:#fff8e8}
@media(max-width:700px){
 .al-catalog{grid-template-columns:1fr;gap:1rem}
 .al-sidebar{padding:.75rem;min-width:0}
 .al-catalog .al-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:.5rem .65rem;background:transparent;color:inherit;border:1px solid currentColor;border-radius:6px;font:inherit;font-weight:600;text-align:left;cursor:pointer}
 .al-filter-toggle::after{content:'+';font-size:1.25rem;margin-left:.5rem}
 .al-filter-toggle[aria-expanded="true"]::after{content:'−'}
 .al-catalog[data-al-initialized] .al-filters{margin-top:.75rem}
 .al-catalog[data-al-initialized].al-filters-collapsed .al-filters{display:none}
 .al-catalog[data-al-initialized] .al-filters h2{display:none}
 .al-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .5rem}
 .al-filters label{min-width:0;font-size:.8125rem;gap:.25rem}
 .al-filters select{width:100%;min-width:0;min-height:44px;font-size:16px;padding:.4rem .3rem}
 .al-filter-wide,.al-filters h2,.al-filter-button,.al-filter-reset{grid-column:1 / -1}
 .al-filters button{min-height:44px}
 .al-filter-reset{padding:.25rem}
}
@media(min-width:701px){.al-catalog .al-filter-toggle{display:none!important}}
.al-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.al-related-card{min-width:0;overflow-wrap:anywhere}
.al-related-image{display:block}.al-related-image img{display:block;width:100%;height:220px;object-fit:cover}
.al-related-title{margin:12px 0 8px}.al-related-title a{color:inherit}
.al-video-player.al-video-access{box-sizing:border-box;padding:40px 24px;background:#f3f3f3;color:#222;text-align:center}
.al-video-access-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.al-video-access-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;background:#333;color:#fff;border-radius:6px;text-decoration:none}
@media(max-width:1024px){.al-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.al-related-grid{grid-template-columns:minmax(0,1fr)}}
