/* A compact, ordered course catalogue; the existing #home address is retained. */
.lesson-catalog{max-width:1120px;margin:0 auto;min-width:0}
.catalog-heading p{display:flex;flex-wrap:wrap;gap:4px 8px}
.catalog-resume{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 24px;border:1px solid #dcd3ec;border-left:4px solid var(--purple);border-radius:14px;background:#fff;padding:22px 26px;margin-bottom:28px}
.catalog-resume-copy>p{font-size:14px;color:var(--muted);margin:0 0 6px}
.catalog-resume h2{font-size:22px;line-height:1.35;font-weight:600;letter-spacing:-.3px}
.catalog-resume>.btn{white-space:nowrap}
.catalog-progress{grid-column:1/-1;display:flex;align-items:center;gap:16px;color:var(--muted);font-size:13px;border-top:1px solid var(--line);padding-top:16px}
.catalog-progress>span{white-space:nowrap}
.catalog-progress progress{display:block;flex:1;min-width:0;width:auto;height:5px;border:0;border-radius:6px;overflow:hidden;appearance:none;background:#ece8f2;color:var(--purple)}
.catalog-progress progress::-webkit-progress-bar{background:#ece8f2;border-radius:6px}
.catalog-progress progress::-webkit-progress-value{background:var(--purple);border-radius:6px}
.catalog-progress progress::-moz-progress-bar{background:var(--purple);border-radius:6px}
.catalog-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;margin-bottom:16px}
.catalog-list-heading h2{font-size:21px;line-height:1.4;letter-spacing:-.3px}
.catalog-list-heading p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;list-style:none;padding:0;margin:0}
.catalog-grid>li{display:flex;min-width:0}
.catalog-card{display:flex;flex-direction:column;width:100%;min-width:0;min-height:232px;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink)}
.catalog-card.is-recommended{border-color:#b7a3da}
a.catalog-card:hover{border-color:var(--purple);background:#fcfaff}
a.catalog-card:hover .catalog-card-action{text-decoration:underline;text-underline-offset:4px}
.catalog-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;min-height:20px}
.catalog-number{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.catalog-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1.4;color:var(--muted)}
.catalog-status.is-done{color:var(--green)}
.catalog-card h3{font-size:20px;font-weight:600;line-height:1.35;letter-spacing:-.25px;margin:0 0 10px}
.catalog-card>p{font-size:15px;line-height:1.55;color:var(--muted);margin:0 0 20px}
.catalog-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;font-size:13px;color:var(--muted)}
.catalog-card-action{display:inline-flex;align-items:center;gap:8px;color:var(--purple-dark);font-size:14px;font-weight:500}
.catalog-card.is-unavailable{background:#f9f8fa}
.catalog-card.is-unavailable .catalog-card-action{color:var(--muted)}
.ah-course-actions{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;margin-top:19px}
.ah-course-actions .ah-course-action{margin:0}
.ah-all-lessons{display:inline-flex;align-items:center;min-height:46px;font-size:14px;color:#fff;text-decoration:underline;text-underline-offset:4px}
.ah-all-lessons:hover{color:#e2d4ff}
@media(max-width:1100px){
 .catalog-resume{padding:20px}
 .catalog-resume h2{font-size:20px}
 .catalog-list-heading{align-items:flex-start;flex-direction:column;gap:5px}
}
@media(max-width:750px){
 .catalog-resume{grid-template-columns:1fr}
 .catalog-resume>.btn{justify-self:start}
}
@media(max-width:650px){
 .catalog-grid{grid-template-columns:1fr;gap:14px}
 .catalog-heading p{font-size:14px!important}
 .catalog-resume{padding:20px 18px;gap:16px;margin-bottom:24px}
 .catalog-resume>.btn{justify-self:stretch}
 .catalog-progress{gap:10px;font-size:12px}
 .catalog-card{min-height:210px;padding:20px}
 .catalog-card h3{font-size:20px}
 .catalog-card-top{margin-bottom:12px}
 .catalog-card>p{font-size:15px}
}
