.alm-catalog { background:#f6f9fc; color:#19344d; }
body.alm-page.alm-page-courses .alm-catalog .alm-catalog-intro { padding:48px 0 30px !important; background:#fff; }
.alm-catalog-intro .alm-kicker { color:#57748e; margin-bottom:14px; }
.alm-catalog-intro h1 { margin:0 0 16px; color:#082f63; font-family:var(--alm-sans); font-size:clamp(34px,4vw,52px); line-height:1.12; letter-spacing:-.045em; }
.alm-catalog-intro__text { max-width:62ch; margin:0; color:#5a7185; font-size:16px; line-height:1.65; }
body.alm-page.alm-page-courses .alm-catalog .alm-catalog-section { padding:32px 0 64px !important; }
.alm-catalog-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:14px; }
.alm-catalog-filters[open] { grid-column:1 / -1; }
.alm-catalog-search { display:flex; gap:12px; align-items:center; width:100%; min-height:56px; padding:0 18px; border:1px solid #cddce8; border-radius:14px; background:#fff; }
.alm-catalog-search svg { flex:0 0 20px; width:20px; height:20px; fill:none; stroke:#6a8298; stroke-width:1.8; }
.alm-catalog-search input[type=search] { width:100%; min-width:0; min-height:54px; padding:0; border:0; background:transparent; color:#19344d; font-size:15px; }
.alm-catalog-search input[type=search]:focus,.alm-catalog-search input[type=search]:focus-visible { outline:none !important; box-shadow:none !important; }
.alm-catalog-search:focus-within { border-color:#114a8a; box-shadow:0 0 0 3px rgba(17,74,138,.1); }
.alm-catalog summary { list-style:none; cursor:pointer; }
.alm-catalog summary::-webkit-details-marker { display:none; }
.alm-catalog-filters > summary { display:flex; align-items:center; gap:12px; width:fit-content; min-height:44px; padding:8px 14px; border:1px solid #d3e0eb; border-radius:10px; background:#fff; color:#264f74; font-size:13px; font-weight:700; }
.alm-catalog summary > span { font-size:20px; line-height:1; }
.alm-catalog details[open] > summary > span { transform:rotate(45deg); }
.alm-catalog-filters__fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:14px; padding:20px; border:1px solid #d9e4ed; border-radius:14px; background:#edf3f8; }
.alm-catalog-filters__fields label { display:grid; gap:8px; color:#5a7185; font-size:12px; font-weight:650; }
.alm-catalog-filters__fields select { width:100%; min-width:0; min-height:46px; border:1px solid #cad9e5; border-radius:10px; background:#fff; color:#19344d; font-size:14px; }
.alm-catalog-summary { display:flex; align-items:center; justify-content:space-between; min-height:56px; gap:16px; }
.alm-catalog-summary p { margin:0; color:#687f91; font-size:12px; }
.alm-catalog-summary button { border:0; padding:8px 0; background:transparent; color:#114a8a; font-size:12px; font-weight:700; cursor:pointer; }
.alm-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:20px; }
.alm-catalog-card { display:flex; flex-direction:column; padding:28px; border:1px solid #dbe5ee; border-radius:20px; background:#fff; box-shadow:0 8px 24px rgba(8,47,99,.035); }
.alm-catalog-card__head { display:flex; align-items:center; gap:16px; }
.alm-catalog-code { display:grid; flex:0 0 52px; width:52px; height:52px; place-items:center; border-radius:15px; background:#eaf1fa; color:#114a8a; font-size:17px; font-weight:850; }
.alm-catalog-card:nth-child(4n+2) .alm-catalog-code { background:#e6f3ee; color:#287364; }
.alm-catalog-card:nth-child(4n+3) .alm-catalog-code { background:#f0ecfa; color:#75549e; }
.alm-catalog-card:nth-child(4n+4) .alm-catalog-code { background:#fff3d6; color:#966b20; }
.alm-catalog-card h2 { margin:0 0 5px; color:#082f63; font-family:var(--alm-sans); font-size:24px; line-height:1.2; letter-spacing:-.025em; }
.alm-catalog-native { margin:0; color:#7f92a2; font-size:12px; }
.alm-catalog-tags { display:flex; flex-wrap:wrap; gap:7px; margin:20px 0 14px; }
.alm-catalog-tags span { padding:5px 9px; border-radius:7px; background:#f1f5f9; color:#58728a; font-size:10px; font-weight:650; }
.alm-catalog-tags .alm-catalog-status--open { background:#e8f6ed; color:#2a7150; }
.alm-catalog-tags .alm-catalog-status--closed { background:#f9edf0; color:#985866; }
.alm-catalog-tags .alm-catalog-featured { background:#fff4cc; color:#826710; }
.alm-catalog-description { min-height:48px; margin:0 0 20px; color:#5f7588; font-size:14px; line-height:1.65; }
.alm-catalog-details { border-top:1px solid #e5edf3; }
.alm-catalog-details > summary { display:flex; justify-content:space-between; align-items:center; min-height:48px; color:#4b6984; font-size:13px; font-weight:700; }
.alm-catalog-details dl { display:grid; gap:12px; margin:0 0 18px; padding:18px; border-radius:12px; background:#f5f8fb; }
.alm-catalog-details dl > div { display:grid; grid-template-columns:85px minmax(0,1fr); gap:12px; }
.alm-catalog-details dt { color:#6c8193; font-size:12px; }
.alm-catalog-details dd { margin:0; color:#294d6b; font-size:13px; line-height:1.5; }
.alm-catalog-compare { display:flex; align-items:center; gap:9px; margin-bottom:18px; color:#5d768c; font-size:12px; cursor:pointer; }
.alm-catalog-compare input { width:18px; height:18px; accent-color:#114a8a; }
.alm-catalog-enroll { display:inline-flex; gap:10px; align-items:center; align-self:flex-start; min-height:44px; margin-top:8px; padding:10px 16px; border-radius:10px; background:#082f63; color:#fff; font-size:13px; font-weight:750; text-decoration:none; }
.alm-catalog-enroll:hover { background:#164e88; color:#fff; }
.alm-catalog-guidance { display:flex; justify-content:space-between; align-items:center; gap:28px; margin-top:36px; padding:32px; border:1px solid #d6e4ef; border-radius:20px; background:#eaf2fa; }
.alm-catalog-guidance h2 { margin:0 0 8px; color:#082f63; font-family:var(--alm-sans); font-size:25px; letter-spacing:-.03em; }
.alm-catalog-guidance p { max-width:60ch; margin:0; color:#5d758b; font-size:14px; line-height:1.6; }
.alm-catalog-guidance a { display:inline-flex; flex-shrink:0; align-items:center; gap:10px; min-height:46px; padding:12px 18px; border-radius:10px; background:#f8cb0b; color:#082f63; font-size:13px; font-weight:750; text-decoration:none; }
.alm-catalog-empty { padding:32px; border:1px dashed #b4c7d7; border-radius:18px; background:#fff; text-align:center; color:#5b748b; }
.alm-catalog-empty button { padding:10px 16px; border:0; border-radius:9px; background:#082f63; color:#fff; cursor:pointer; }
.alm-catalog-compare-bar { position:fixed; z-index:100; bottom:24px; left:50%; display:flex; align-items:center; gap:16px; max-width:calc(100% - 40px); padding:14px 18px; border:1px solid #2d5884; border-radius:16px; background:#082f63; color:#fff; box-shadow:0 12px 35px rgba(8,47,99,.25); transform:translateX(-50%); font-size:12px; }
.alm-catalog-compare-bar button { padding:10px 12px; border:0; border-radius:9px; background:#f8cb0b; color:#082f63; font-size:12px; font-weight:750; cursor:pointer; }
.alm-catalog-compare-bar > div { min-width:180px; }
.alm-catalog-compare-bar small { display:block; max-width:32ch; margin-top:5px; color:#b7cde1; font-size:11px; line-height:1.4; }
.alm-catalog-compare-bar button:disabled { opacity:.55; cursor:default; }
.alm-catalog-compare-bar [data-catalog-clear-selection] { background:transparent; color:#fff; text-decoration:underline; }
.alm-catalog-dialog { width:min(960px,calc(100% - 32px)); max-height:85vh; padding:28px; border:0; border-radius:20px; background:#fff; color:#19344d; }
.alm-catalog-dialog::backdrop { background:rgba(5,28,60,.6); }
.alm-catalog-dialog__head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.alm-catalog-dialog__head h2 { margin:0 0 8px; color:#082f63; font-family:var(--alm-sans); font-size:26px; }
.alm-catalog-dialog__head p { color:#667e93; font-size:13px; }
.alm-catalog-dialog__head button { border:1px solid #cedeea; border-radius:8px; background:#f5f8fc; color:#114a8a; font-size:12px; padding:10px; cursor:pointer; }
.alm-catalog-table { overflow-x:auto; }
.alm-catalog-table table { width:100%; min-width:580px; border-collapse:collapse; font-size:13px; }
.alm-catalog-table td,.alm-catalog-table th { padding:18px; border:1px solid #dce6ef; text-align:left; vertical-align:top; }
.alm-catalog-table th { background:#f2f6fa; color:#315777; }
.alm-catalog-table th strong { display:block; margin-bottom:14px; }
.alm-catalog-table a { color:#114a8a; font-size:12px; font-weight:750; }
.alm-catalog [hidden] { display:none !important; }
@media (max-width:760px) {
	body.alm-page.alm-page-courses .alm-catalog .alm-catalog-intro { padding:30px 0 24px !important; }
	body.alm-page.alm-page-courses .alm-catalog .alm-catalog-section { padding-top:24px !important; }
	.alm-catalog-intro__text { font-size:14px; }
	.alm-catalog-tools { display:flex; flex-direction:column; }
	.alm-catalog-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
	.alm-catalog-card { padding:24px; }
	.alm-catalog-card h2 { font-size:22px; }
	.alm-catalog-filters__fields { grid-template-columns:minmax(0,1fr); }
	.alm-catalog-description { min-height:0; }
	.alm-catalog-guidance { flex-direction:column; align-items:flex-start; padding:24px; }
	.alm-catalog-compare-bar { bottom:90px; width:calc(100% - 32px); flex-wrap:wrap; gap:10px; }
	.alm-catalog-dialog { padding:20px; }
	.alm-catalog-dialog__head { flex-direction:column; gap:8px; }
}
