.catalog-hero{padding:65px 0 30px;max-width:780px}.catalog-hero h1{font-size:clamp(34px,5vw,60px);letter-spacing:-1.8px;line-height:1.1}.catalog-hero p{max-width:630px;font-size:18px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:26px 0}.catalog-card{border:1px solid var(--line);border-radius:18px;background:white;padding:28px;display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.catalog-card h3{margin:18px 0 8px}.catalog-card .subtitle{color:var(--ink);font-weight:600;margin-bottom:12px}.catalog-card .button{margin-top:auto;align-self:flex-start}.catalog-card p{font-size:15px}.catalog-card .card-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.catalog-card:nth-child(3n+1){border-top:5px solid var(--blue)}.catalog-card:nth-child(3n+2){border-top:5px solid var(--yellow)}.catalog-card:nth-child(3n){border-top:5px solid #97b6a7}.catalog-pill{display:inline-flex;align-self:flex-start;gap:8px;border-radius:99px;background:var(--soft);color:var(--ink);padding:5px 12px;font-size:12px;font-weight:700}.catalog-filters{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0}.catalog-filters label{display:grid;gap:5px;font-size:14px;font-weight:700;flex:1;min-width:170px}.catalog-filters input,.catalog-filters select{width:100%;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:11px}.catalog-empty{border:1px dashed var(--line);background:var(--soft);padding:32px;border-radius:16px;margin:24px 0}.catalog-empty h3{margin:0 0 10px}.catalog-detail{max-width:860px;margin:35px auto 65px}.catalog-detail h1{font-size:clamp(34px,5vw,55px)}.catalog-detail h2{font-size:27px}.catalog-details{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0}.catalog-details div{border:1px solid var(--line);padding:18px;border-radius:12px;background:white}.catalog-details dt{font-weight:bold}.catalog-details dd{margin:5px 0 0;color:var(--muted);white-space:pre-line}.catalog-detail li{margin:8px 0}.catalog-inquiry{background:var(--soft);padding:28px;border-radius:16px;margin:30px 0}.catalog-inquiry textarea{display:block;width:100%;padding:12px;margin:15px 0;border:1px solid var(--line);border-radius:9px}.catalog-inquiry small{display:block;margin:12px 0}.catalog-footer{margin-top:60px;padding:30px 0;border-top:1px solid var(--line)}.catalog-promo{padding-block:56px}.catalog-promo .section-heading{align-items:center}.catalog-promo .section-heading a{flex-shrink:0}.catalog-status{min-height:1.5em;color:var(--muted)}.catalog-error{color:#9d2929}.catalog-page .header-inner{height:auto;min-height:90px;padding-block:18px;flex-wrap:wrap}.catalog-page .header nav{flex-wrap:wrap;gap:20px}.catalog-page .header nav [aria-current=page]{text-decoration:underline;text-underline-offset:6px}.catalog-admin{width:min(1150px,calc(100% - 36px));margin:30px auto}.catalog-admin header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.catalog-admin h1{font-size:32px;margin:8px 0}.catalog-admin .editor-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:25px}.catalog-admin .editor-menu{display:flex;flex-direction:column;gap:10px;align-self:start}.catalog-admin .editor-menu button{padding:12px;text-align:left;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}.catalog-admin .editor-menu button[aria-pressed=true]{border-color:var(--blue);background:var(--soft)}.catalog-admin .editor-menu small{display:block}.catalog-admin fieldset{border:0;min-width:0;margin:0;padding:0}.catalog-admin .editor-panel{padding:25px;background:white;border:1px solid var(--line);border-radius:15px}.catalog-admin .editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.catalog-admin .editor-fields label{display:grid;gap:5px;font-weight:600;font-size:14px}.catalog-admin .editor-fields input,.catalog-admin .editor-fields textarea,.catalog-admin .editor-fields select{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:white}.catalog-admin .editor-fields .wide{grid-column:1/-1}.catalog-admin .editor-fields .check{display:flex;align-items:start;gap:12px;padding:14px;background:var(--soft);border-radius:10px}.catalog-admin .editor-fields .check input{width:20px;flex-shrink:0;margin-top:5px}.catalog-admin .admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.catalog-admin .editor-notice{padding:14px;border:1px solid var(--line);background:var(--soft);border-radius:10px;margin:16px 0}.catalog-admin .editor-notice.error{background:#fff1f0;color:#902525}.catalog-admin button:disabled{opacity:.5;cursor:wait}.catalog-admin .button{gap:8px;padding:11px 16px}.catalog-admin .editor-menu hr{border:0;border-top:1px solid var(--line);width:100%;margin:10px 0}
@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-admin .editor-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:640px){.catalog-grid,.catalog-details,.catalog-admin .editor-layout,.catalog-admin .editor-fields{grid-template-columns:1fr}.catalog-card{padding:23px}.catalog-hero{padding-top:38px}.catalog-admin .editor-menu{max-height:280px;overflow:auto}.catalog-page .header-inner{width:calc(100% - 32px)}.catalog-page .header nav{display:flex;width:100%;gap:14px;font-size:13px}.catalog-promo .section-heading{display:block}.catalog-promo .section-heading a{margin-top:14px}.catalog-inquiry{padding:20px}}
.course-facts{margin:4px 0 24px;padding-block:14px;border-block:1px solid var(--line);font-size:14px}
.course-facts:empty{display:none}.course-facts div{display:flex;justify-content:space-between;gap:16px;padding:5px 0}.course-facts dt{color:var(--muted)}.course-facts dd{margin:0;font-weight:700;text-align:end;overflow-wrap:anywhere}
.join-steps{padding:32px;margin:42px 0;border:1px solid var(--line);border-radius:18px;background:var(--soft);scroll-margin-top:110px}
.join-steps h2{font-size:30px;margin:8px 0 22px}.join-steps ol{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;padding:0;list-style:none;counter-reset:join}
.join-steps li{position:relative;padding-inline-start:44px;counter-increment:join;margin:0}.join-steps li:before{content:counter(join);position:absolute;inset-inline-start:0;top:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:white;font-weight:700}
.join-steps h3{font-size:18px;margin:0 0 8px}.join-steps p{font-size:15px;margin:0}.join-steps .join-note{padding-block:18px;margin-top:15px;border-top:1px solid var(--line);color:var(--muted)}
.course-review{padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:12px;margin:20px 0}.course-review h3{font-size:18px;margin:0 0 10px}.course-review p,.course-review ul,.course-review small{font-size:14px}.course-review ul{columns:2}.course-review summary{font-weight:700;cursor:pointer}.course-review details small{display:block;margin-top:10px}.course-review details p{margin-top:12px}
[dir=rtl] .catalog-admin .editor-menu button{text-align:right}
@media(max-width:640px){.join-steps{padding:22px}.join-steps ol{grid-template-columns:1fr;gap:24px}.course-review ul{columns:1}}

/* Course cover images; retain existing card text and layout. */
.catalog-card .course-cover{display:block;flex-shrink:0;width:calc(100% + 56px);max-width:none;height:auto;aspect-ratio:3/2;object-fit:cover;margin-block:-28px 22px;margin-inline:-28px;border-radius:13px 13px 0 0}
@media(max-width:640px){.catalog-card .course-cover{width:calc(100% + 46px);margin-block-start:-23px;margin-inline:-23px}}
