/* Catalog-only refinements keep the shared Horizon identity and image framing. */
body[data-page="courses"] #courses{padding-block:48px 72px}
body[data-page="courses"] #courses .breadcrumb{margin-bottom:26px;font-size:13px}
body[data-page="courses"] #courses .section-heading{align-items:center;margin-bottom:28px}
body[data-page="courses"] #courses h1{font-size:clamp(27px,3vw,40px);color:var(--primary);line-height:1.65;letter-spacing:-1px}
body[data-page="courses"] .catalog-intro{max-width:660px;margin-top:12px;font-size:16px;line-height:2;color:var(--text-secondary)}
body[data-page="courses"] #course-filters{display:flex;flex-direction:column;gap:20px;padding:22px;background:var(--pearl);border:1px solid var(--border);border-radius:22px;margin-bottom:28px}
body[data-page="courses"] #course-filters .filter-tabs{grid-template-columns:minmax(130px,.55fr) repeat(2,minmax(0,1fr));padding:0;border:0;background:transparent;gap:10px}
body[data-page="courses"] #course-filters .filter{min-height:76px;padding:12px 20px;background:var(--surface);border-color:var(--border);font-size:15px;line-height:1.9;border-radius:12px;color:var(--primary);text-align:center;overflow-wrap:normal}
body[data-page="courses"] #course-filters .filter:hover{background:var(--surface-soft);border-color:var(--border-control)}
body[data-page="courses"] #course-filters .filter.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary);box-shadow:0 3px 10px rgba(25,59,53,.09)}
body[data-page="courses"] #course-filters .filter.active:before{content:none}
body[data-page="courses"] .catalog-discovery{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-top:16px;border-top:1px solid var(--border)}
body[data-page="courses"] #course-filters .catalog-search{width:100%;max-width:380px;min-width:0}
body[data-page="courses"] #course-filters .catalog-search input{background:var(--surface);border-color:var(--border-control);min-height:48px}
body[data-page="courses"] .catalog-result-count{font-size:14px;color:var(--text-secondary);padding-block:12px;white-space:nowrap;min-height:48px}
body[data-page="courses"] #course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:none;margin-inline:0}
body[data-page="courses"] #course-grid>.course-card{display:flex;flex-direction:column;min-width:0;box-shadow:0 4px 18px rgba(64,57,41,.025);border-radius:20px}
body[data-page="courses"] #course-grid>.course-card:hover{box-shadow:0 10px 28px rgba(25,59,53,.07);border-color:var(--border-control)}
body[data-page="courses"] #course-grid>.course-card .card-image-wrap.course-cover-frame{display:block;aspect-ratio:3/2;min-height:0;align-self:stretch;width:auto;margin:7px 7px 0;border-radius:14px;flex-shrink:0}
body[data-page="courses"] #course-grid>.course-card .card-image-wrap.course-cover-frame img{height:100%;max-height:none;object-fit:cover}
body[data-page="courses"] #course-grid .card-body{padding:20px;min-width:0}
body[data-page="courses"] #course-grid .card-badge{inset-inline-start:12px;top:12px;background:var(--glass-fill);border-color:var(--glass-border);font-size:11px;border-radius:6px;padding:3px 9px}
body[data-page="courses"] #course-grid .card-category{font-size:12px;line-height:1.9;color:var(--text-secondary);margin-bottom:9px}
body[data-page="courses"] #course-grid .card-title{font-size:20px;line-height:1.85;min-height:0;color:var(--primary);overflow-wrap:anywhere}
body[data-page="courses"] #course-grid .card-title a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px}
body[data-page="courses"] #course-grid .card-subtitle{font-size:14px;line-height:1.95;min-height:0;margin-top:7px}
body[data-page="courses"] #course-grid .course-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding-block:12px;margin:0}
body[data-page="courses"] #course-grid .course-facts .fact-wide{grid-column:1/-1}
body[data-page="courses"] #course-grid .course-facts dt{font-size:12px}
body[data-page="courses"] #course-grid .course-facts dd{font-size:14px;line-height:1.9;overflow-wrap:anywhere}
body[data-page="courses"] #course-grid .course-certificates{margin-block:14px 6px}
body[data-page="courses"] #course-grid .registration-status{font-size:12px;line-height:1.9;padding-bottom:16px}
body[data-page="courses"] #course-grid .card-bottom{display:flex;flex-direction:column;align-items:stretch;gap:15px;padding-top:15px}
body[data-page="courses"] #course-grid .card-bottom>div{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
body[data-page="courses"] #course-grid .fee-label{font-size:12px;margin:0}
body[data-page="courses"] #course-grid .price{font-size:19px}
body[data-page="courses"] #course-grid .card-detail{flex:none;width:100%;background:var(--primary);color:var(--on-primary);border-color:var(--primary);font-size:14px;min-height:48px;padding:11px 15px}
body[data-page="courses"] #course-grid .card-detail:hover{background:var(--primary-hover)}
body[data-page="courses"] #course-grid .card-detail:active{background:var(--primary-active)}
body[data-page="courses"] #course-grid>.empty-state{grid-column:1/-1;padding:38px 24px;background:var(--surface);border:1px solid var(--border);border-radius:18px;text-align:center}
body[data-page="courses"] #course-grid:has(>.course-card:only-child){grid-template-columns:minmax(0,1fr);max-width:420px;margin-inline:auto}
body[data-page="courses"] #course-grid:has(>.course-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin-inline:auto}
body[data-page="courses"] .catalog-note{max-width:900px;font-size:13px;margin-top:26px}
@media(max-width:1100px){
 body[data-page="courses"] #course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-page="courses"] #course-filters .filter-tabs{grid-template-columns:minmax(100px,.45fr) repeat(2,minmax(0,1fr))}
 body[data-page="courses"] #course-filters .filter{padding-inline:12px;font-size:14px}
}
@media(max-width:700px){
 body[data-page="courses"] #courses{padding-block:30px 48px}
 body[data-page="courses"] #courses .breadcrumb{margin-bottom:20px}
 body[data-page="courses"] #courses .section-heading{align-items:flex-start;gap:12px;margin-bottom:22px}
 body[data-page="courses"] .catalog-intro{font-size:14px;margin-top:10px}
 body[data-page="courses"] #courses .section-heading>.text-link{font-size:14px}
 body[data-page="courses"] #course-filters{padding:14px;gap:16px;border-radius:18px;margin-bottom:22px}
 body[data-page="courses"] #course-filters .filter-tabs{grid-template-columns:minmax(0,1fr);gap:8px}
 body[data-page="courses"] #course-filters .filter{min-height:52px;padding:11px 14px;font-size:14px}
 body[data-page="courses"] .catalog-discovery{align-items:stretch;flex-direction:column;gap:4px;padding-top:14px}
 body[data-page="courses"] #course-filters .catalog-search{max-width:none}
 body[data-page="courses"] .catalog-result-count{padding-block:6px;min-height:0;font-size:13px}
 body[data-page="courses"] #course-grid,body[data-page="courses"] #course-grid:has(>.course-card:nth-child(2):last-child){grid-template-columns:minmax(0,1fr);max-width:460px;margin-inline:auto;gap:22px}
 body[data-page="courses"] #course-grid .card-title{min-height:0;font-size:21px}
 body[data-page="courses"] #course-grid .card-subtitle{min-height:0}
}
