/* Catalog-only styles: no changes to classroom, application or member layouts. */
.course-catalog { color:#18313d; }
.course-catalog main { overflow-wrap:anywhere; }
.course-catalog .catalog-overview { padding:64px 0; background:#fff; }
.course-catalog .catalog-overview__inner { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.course-catalog .catalog-kicker { color:#0d5575; font-size:12px; font-weight:800; letter-spacing:.12em; }
.course-catalog .catalog-intro h2 { margin:16px 0 20px; font-size:clamp(32px,3.4vw,46px); line-height:1.3; letter-spacing:-.035em; }
.course-catalog .catalog-intro p { margin:0; color:#475569; font-size:17px; line-height:1.7; }
.course-catalog .catalog-paths { display:grid; gap:14px; min-width:0; }
.course-catalog .catalog-path { display:flex; align-items:center; gap:20px; padding:24px; border:1px solid #a2b5bf; border-radius:16px; color:#18313d; background:#f8fafb; text-decoration:none; }
.course-catalog a.catalog-path:hover { border-color:#0d5575; background:#eaf2f5; }
.course-catalog .catalog-path__number { flex-shrink:0; color:#0d5575; font-size:27px; font-weight:750; }
.course-catalog .catalog-path strong { display:block; margin-bottom:7px; font-size:20px; line-height:1.4; }
.course-catalog .catalog-path p,.course-catalog .catalog-path strong+span { display:block; margin:0; color:#475569; font-size:16px; line-height:1.6; }
.course-catalog .catalog-path>span:last-child:not(:first-child) { margin-left:auto; }
.course-catalog .catalog-online-guide { padding:32px; border:1px solid #a2b5bf; border-radius:20px; background:#f1f6f8; }
.course-catalog .catalog-play { display:grid; place-items:center; width:56px; height:56px; margin-bottom:22px; border-radius:16px; color:#fff; background:#0d5575; font-size:20px; }
.course-catalog .catalog-online-guide strong { font-size:22px; line-height:1.5; }
.course-catalog .catalog-online-guide p { margin:12px 0 18px; font-size:16px; line-height:1.7; color:#475569; }
.course-catalog .catalog-online-guide a,.course-catalog .catalog-help a { color:#0d5575; text-decoration:underline; text-underline-offset:4px; font-size:16px; line-height:1.6; }
.course-catalog .catalog-list { padding:0 0 72px; background:#fff; }
.course-catalog .catalog-tabs { display:flex; flex-wrap:wrap; gap:8px; padding:16px 0 28px; border-bottom:1px solid #c6d2d9; }
.course-catalog .catalog-tabs a { display:flex; align-items:center; min-height:48px; padding:10px 20px; border:1px solid #758c98; border-radius:8px; color:#334b58; font-size:16px; font-weight:700; line-height:1.5; text-decoration:none; }
.course-catalog .catalog-tabs a[aria-current] { border-color:#18313d; background:#18313d; color:white; box-shadow:inset 0 -3px 0 #a6d9ef; }
.course-catalog .catalog-tabs a:hover { border-color:#0d5575; background:#eaf2f5; color:#18313d; }
.course-catalog .catalog-tabs a[aria-current]:hover { background:#0d5575; color:#fff; }
.course-catalog .catalog-list__heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin:32px 0 20px; }
.course-catalog .catalog-list__heading h2 { margin:0; font-size:26px; line-height:1.45; letter-spacing:-.02em; }
.course-catalog #courseResultCount { margin:0; color:#475569; font-size:16px; line-height:1.6; }
.course-catalog .catalog-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,250px); gap:16px; margin-bottom:28px; }
.course-catalog .catalog-filters>div { display:grid; gap:8px; min-width:0; }
.course-catalog .catalog-filters label { font-size:16px; font-weight:700; }
.course-catalog .catalog-filters input,.course-catalog .catalog-filters select { width:100%; min-width:0; min-height:48px; padding:10px 12px; border:1px solid #758c98; border-radius:8px; background:#fff; color:#18313d; font:inherit; font-size:16px; }
.course-catalog .catalog-filters input::placeholder { color:#5b6d79; opacity:1; }
.course-catalog .catalog-badges { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.course-catalog .catalog-mode { color:#334b58; font-size:14px; font-weight:650; line-height:1.6; }
.course-catalog .badge { color:#225648; background:#e5f3ee; }
.course-catalog .card { min-width:0; }
.course-catalog .card .body>p { color:#475569; font-size:16px; line-height:1.65; }
.course-catalog .card .meta { font-size:16px; color:#475569; line-height:1.6; }
.course-catalog .card .more { display:inline-flex; min-height:44px; align-items:center; color:#0d5575; text-decoration:underline; text-underline-offset:4px; }
.course-catalog .catalog-empty { grid-column:1 / -1; padding:52px 24px; border:1px solid #c6d2d9; border-radius:16px; text-align:center; background:#f8fafb; }
.course-catalog .catalog-empty__icon { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 20px; border:1px solid #758c98; border-radius:14px; color:#0d5575; font-size:20px; }
.course-catalog .catalog-empty h3 { margin:0 0 12px; color:#18313d; font-size:24px; line-height:1.45; }
.course-catalog .catalog-empty p { max-width:550px; margin:0 auto; color:#475569; font-size:16px; line-height:1.7; }
.course-catalog .catalog-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; max-width:100%; margin-top:24px; padding:12px 22px; border:1px solid #0d5575; border-radius:8px; background:#0d5575; color:#fff; font:inherit; font-size:16px; font-weight:700; line-height:1.5; text-decoration:none; cursor:pointer; }
.course-catalog .catalog-button:hover { background:#18313d; color:#fff; }
.course-catalog .catalog-help { margin:28px 0 0; color:#475569; font-size:16px; line-height:1.8; }
.course-catalog .catalog-platform-note { margin-top:24px; padding:24px; border-left:4px solid #0d5575; border-radius:0 12px 12px 0; background:#f1f6f8; color:#18313d; font-size:16px; line-height:1.7; }
.course-catalog .catalog-platform-note p { margin:8px 0; color:#475569; }
.course-catalog .catalog-platform-note a { display:inline-flex; align-items:center; min-height:44px; color:#0d5575; text-decoration:underline; text-underline-offset:4px; }
.course-catalog .catalog-external-visual { position:relative; display:flex; flex-direction:column; justify-content:space-between; height:210px; padding:26px; overflow:hidden; background:#eaf2f5; color:#18313d; }
.course-catalog .catalog-external-visual>span { font-size:11px; font-weight:800; letter-spacing:.1em; }
.course-catalog .catalog-external-visual>b { font-size:42px; line-height:1.2; letter-spacing:-.035em; font-weight:750; }
.course-catalog .catalog-external-visual>i { position:absolute; right:22px; bottom:24px; display:grid; place-items:center; width:42px; height:42px; border:1px solid #758c98; border-radius:50%; color:#0d5575; font-size:15px; font-style:normal; }
.course-catalog .catalog-external-visual[data-field="탄소중립"] { background:#e7f1ea; }
.course-catalog .catalog-external-visual[data-field="강사양성"] { background:#f4eee6; }
.course-catalog .catalog-external-visual[data-field="AI 자격과정"] { background:#ececf8; }
.course-catalog .catalog-error { padding:24px; }
.course-catalog .catalog-unavailable { display:inline-flex; align-items:center; min-height:44px; color:#526773; font-size:16px; font-weight:700; }
.course-catalog .catalog-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.course-catalog main :is(a,button,input,select):focus-visible { outline:3px solid #145fad; outline-offset:4px; }
@media(max-width:1024px) {
  .course-catalog .catalog-overview__inner { gap:32px; }
  .course-catalog .catalog-path { padding:20px; gap:16px; }
}
@media(max-width:767px) {
  .course-catalog .catalog-overview { padding:36px 0; }
  .course-catalog .catalog-overview__inner { grid-template-columns:1fr; gap:28px; }
  .course-catalog .catalog-intro p { font-size:16px; }
  .course-catalog .catalog-online-guide { padding:24px; }
  .course-catalog .catalog-filters { grid-template-columns:1fr; }
  .course-catalog .catalog-tabs { gap:8px; }
  .course-catalog .catalog-tabs a { flex:1 1 auto; justify-content:center; padding:10px 12px; }
  .course-catalog .catalog-empty { padding:36px 20px; }
  .course-catalog .catalog-list__heading h2 { font-size:24px; }
}
